<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hook'D on Fish – Luxury Service Builder</title>
<style>
body{
font-family:Arial, sans-serif;
background:#000;
color:#fff;
margin:0;
}
.container{max-width:1200px;margin:auto;padding:30px;}
h1,h2,h3{color:#d4af37;}
.card{
background:#111;
border:1px solid #8b0000;
border-radius:12px;
padding:25px;
margin-bottom:25px;
box-shadow:0 0 20px rgba(212,175,55,0.15);
}
.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:20px;
}
.plan{
border:2px solid #8b0000;
border-radius:10px;
padding:18px;
cursor:pointer;
transition:0.3s;
background:#0a0a0a;
}
.plan:hover{border-color:#d4af37;}
.plan.active{
border-color:#d4af37;
background:#1a1a1a;
}
.plan ul{
padding-left:18px;
font-size:0.9em;
line-height:1.4em;
}
.plan.coming{
pointer-events:none;
opacity:0.85;
}
.plan.coming h3 { opacity: 0.85; }
.plan.coming p { opacity: 0.5; }
.marine-art{
background:linear-gradient(135deg,#001f3f,#004466);
border:2px solid #00bfff;
}
.amano-art{
background:linear-gradient(135deg,#0f2a0f,#1f3f1f);
border:2px solid #3cb371;
}
/* ADDONS */
.addon-row{
display:flex;
align-items:center;
justify-content:space-between;
padding:12px 0;
border-bottom:1px solid #222;
}
.addon-left{
display:flex;
align-items:center;
gap:12px;
}
.addon-row input[type="checkbox"]{
width:18px;
height:18px;
}
/* PRO CARE */
.procare-box{
display:flex;
align-items:center;
justify-content:space-between;
padding:20px;
border:2px solid #d4af37;
border-radius:10px;
background:#1a1a1a;
}
.procare-left{
display:flex;
align-items:center;
gap:15px;
}
.procare-box input[type="checkbox"]{
width:28px;
height:28px;
}
.procare-title{
font-weight:bold;
font-size:1.2em;
color:#d4af37;
}
.total{
font-size:2em;
font-weight:bold;
color:#d4af37;
}
button{
background:#8b0000;
color:#fff;
border:none;
padding:12px 18px;
border-radius:6px;
cursor:pointer;
}
button:hover{
background:#d4af37;
color:#000;
}
input, textarea{
padding:8px;
width:100%;
margin-bottom:10px;
background:#000;
color:#fff;
border:1px solid #8b0000;
}
.contact{
text-align:center;
margin-top:40px;
font-size:1.1em;
}
.small-note{
font-size:0.85em;
opacity:0.8;
}
</style>
</head>
<body>
<div class="container">
<h1>Hook'D on Fish – Luxury Aquarium Service Packages</h1>
<div class="card">
<h2>Select Your Service Plan</h2>
<div class="grid" id="plans"></div>
</div>
<div class="card">
<h2>Add-ons</h2>
<div id="addons"></div>
</div>
<div class="card">
<h2>Upgrade Options</h2>
<div id="procareSection"></div>
<p class="small-note">
MTS Therapy Pack is already weekly. Large systems may require custom pricing (T&C Apply).
</p>
</div>
<div class="card">
<h2>Total Investment</h2>
<div class="total" id="total">$0.00</div>
</div>
<div class="card">
<h2>Submit Service Request</h2>
<form id="serviceForm" action="mailto:hookdonfish@outlook.com" method="POST" enctype="text/plain">
<input type="text" name="Client Name" placeholder="Full Name" required>
<input type="email" name="Email" placeholder="Email Address" required>
<input type="text" name="Phone" placeholder="Phone Number">
<textarea name="Selected Package Details" id="summary" hidden></textarea>
<button type="submit">Submit for Processing</button>
</form>
</div>
<div class="contact">
📞 Contact: 0417 443 546
</div>
</div>
<script>
const plansData=[
{
id:'basic',
name:'Base Beginner',
price:95,
details:[
'Tank Size: Up to 255L (~3×2×1.5 ft)',
'Service Frequency: 1× Monthly + substrate clean',
'Dry Goods Discount: 0%',
'Livestock Discount: 0%',
'Medication Discount: 5%',
'Bonus Points: 0'
]
},
{
id:'clean',
name:'Clean & Keen',
price:155,
details:[
'Tank Size: Up to 566L (~5×2×2 ft)',
'Service Frequency: 1× Monthly + substrate clean',
'Dry Goods Discount: 5%',
'Livestock Discount: 5%',
'Medication Discount: 10%',
'Bonus Points: 500'
]
},
{
id:'premium',
name:'Premium Keeper',
price:300,
details:[
'Tank Size: Up to 680L (~6×2×2 ft)',
'Service Frequency: 1× Bi-Monthly + 1 substrate clean',
'Dry Goods Discount: 10%',
'Livestock Discount: 10%',
'Medication Discount: 15%',
'Bonus Points: 1000'
]
},
{
id:'ocean',
name:'Ocean Master',
price:420,
details:[
'Tank Size: Up to 906L (~8×2×2 ft)',
'Service Frequency: 1× Bi-Monthly + 1 substrate clean',
'Dry Goods Discount: 15%',
'Livestock Discount: 15%',
'Medication Discount: 20%',
'Bonus Points: 2000'
]
},
{
id:'mts',
name:'M.T.S Therapy Pack',
price:550,
details:[
'Tank Size: Unlimited / Custom',
'Service Frequency: Weekly + Full Care',
'Dry Goods Discount: 20%',
'Livestock Discount: 20%',
'Medication Discount: 25%',
'Bonus Points: 3000'
],
displayPrice:"Starting From $550"
},
{
id:'marine',
name:'Marine Cuisine – Coming Soon 🐠🌊',
coming:true,
class:'marine-art'
},
{
id:'amano',
name:'Amano-Inspired Plant Care – Coming Soon 🌿',
coming:true,
class:'amano-art'
}
];
const addonsData=[
{ id:'water', name:'Additional Water Change', price:65 },
{ id:'deep', name:'Additional Deep Substrate Clean', price:65 },
{ id:'emergency', name:'Emergency Call-Out Fund (T&C Apply)', price:45 },
{ id:'video', name:'Aquarium Video Monitoring', price:60 },
{ id:'failsafe', name:'Fail-Safe Equipment Hire Cover', price:20 },
{ id:'moving', name:'Aquarium Tank Moving Service Cover', price:45 }
];
const weeklyRules={basic:4,clean:4,premium:2,ocean:2,mts:1};
let selectedPlan=null;
let selectedAddons=new Set();
let proCareEnabled=false;
function renderPlans(){
const container=document.getElementById('plans');
plansData.forEach(plan=>{
const div=document.createElement('div');
div.className='plan';
if(plan.coming){
div.classList.add('coming');
if(plan.class) div.classList.add(plan.class);
}
let html=`<h3>${plan.name}</h3>`;
if(!plan.coming){
html+=`<p><strong>${plan.displayPrice || `$${plan.price}`} / month</strong></p>
<ul>${plan.details.map(d=>`<li>${d}</li>`).join('')}</ul>`;
}
div.innerHTML=html;
if(!plan.coming){
div.addEventListener('click',()=>{
document.querySelectorAll('.plan').forEach(p=>p.classList.remove('active'));
div.classList.add('active');
selectedPlan=plan;
renderProCare();
updateTotal();
});
}
container.appendChild(div);
});
}
function renderAddons(){
const container=document.getElementById('addons');
addonsData.forEach(addon=>{
const row=document.createElement('div');
row.className='addon-row';
row.innerHTML=`
<div class="addon-left">
<input type="checkbox" data-id="${addon.id}">
<span>${addon.name}</span>
</div>
<span>$${addon.price}/month</span>
`;
row.querySelector('input').addEventListener('change',e=>{
if(e.target.checked) selectedAddons.add(addon.id);
else selectedAddons.delete(addon.id);
updateTotal();
});
container.appendChild(row);
});
}
function renderProCare(){
const container=document.getElementById('procareSection');
container.innerHTML='';
proCareEnabled=false;
if(!selectedPlan) return;
if(selectedPlan.id==='mts'){
container.innerHTML='<strong>Weekly PRO-CARE Included</strong>';
proCareEnabled=true;
return;
}
container.innerHTML=`
<div class="procare-box">
<div class="procare-left">
<input type="checkbox" id="procareToggle">
<div>
<div class="procare-title">Weekly PRO-CARE Upgrade Package</div>
<div>Enhanced weekly servicing for maximum stability & priority care</div>
</div>
</div>
</div>
`;
document.getElementById('procareToggle').addEventListener('change',e=>{
proCareEnabled=e.target.checked;
updateTotal();
});
}
function updateTotal(){
let total=0;
if(selectedPlan){
let base=selectedPlan.price;
if(proCareEnabled) base*=weeklyRules[selectedPlan.id];
total+=base;
}
selectedAddons.forEach(id=>{
const addon=addonsData.find(a=>a.id===id);
if(addon) total+=addon.price;
});
document.getElementById('total').textContent=`$${total.toFixed(2)}`;
document.getElementById('summary').value=
`Plan: ${selectedPlan?selectedPlan.name:'None'}
Weekly PRO-CARE: ${proCareEnabled?'Yes':'No'}
Add-ons: ${[...selectedAddons].join(', ')||'None'}
Total: $${total.toFixed(2)}`;
}
// Form validation
document.getElementById('serviceForm').addEventListener('submit', e=>{
if(!selectedPlan){
e.preventDefault();
alert('Please select a service plan before submitting.');
}
});
renderPlans();
renderAddons();
</script>
</body>
</html>