:root{--ink:#0a2540;--aqua:#0fa3b1;--aqua-d:#0b7f8a;--mist:#e8f4f6;--foam:#f7fbfc;--coral:#f25f4c;--text:#16303f;--muted:#5d7482;--line:#d8e6ea;--r:14px}
*{box-sizing:border-box}
html{overflow-x:hidden}
body{font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:var(--text);background:#fff;line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4,.brand{font-family:'Bricolage Grotesque','DM Sans',sans-serif;letter-spacing:-.02em;color:var(--ink)}
a{color:var(--aqua-d);transition:color .15s ease}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.btn{border-radius:10px;font-weight:600;padding:.65rem 1.25rem;transition:all .15s ease}
.btn-aqua{background:var(--aqua);color:#fff;border:0}.btn-aqua:hover{background:var(--aqua-d);color:#fff}
.btn-coral{background:var(--coral);color:#fff;border:0}.btn-coral:hover{background:#d94a39;color:#fff}
.btn-ink{background:var(--ink);color:#fff;border:0}.btn-ink:hover{background:#06182b;color:#fff}
.topbar{background:var(--ink);color:#cfe3ea;font-size:.85rem;padding:.4rem 0}.topbar a{color:#fff;text-decoration:none}
.navbar{background:#fff;border-bottom:1px solid var(--line);padding:.75rem 0}
.navbar .brand{font-size:1.45rem;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:.5rem}
.brand i{color:var(--aqua)}
.nav-link{font-weight:500;color:var(--text)!important;padding:.5rem .9rem!important;border-radius:8px}.nav-link:hover{color:var(--aqua-d)!important;background:var(--foam)}
.cart-pill{position:relative}.cart-pill .badge{position:absolute;top:-6px;right:-8px;background:var(--coral)}

/* Hero section */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:4.5rem 0 6.5rem}
.hero h1{color:#fff;font-size:clamp(2.1rem,5.5vw,4.2rem);font-weight:800;line-height:1.1;max-width:16ch}
.hero p.lead{color:#b9d3dc;max-width:48ch;font-size:clamp(1.02rem,2.2vw,1.25rem)}
.hero .ripple{position:absolute;right:-120px;top:-120px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(15,163,177,.35);box-shadow:0 0 0 60px rgba(15,163,177,.07),0 0 0 120px rgba(15,163,177,.05),0 0 0 190px rgba(15,163,177,.03);pointer-events:none}
.hero .wave{position:absolute;left:0;bottom:-1px;width:100%;height:54px;display:block;pointer-events:none}
.tds{background:#06182b;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1.5rem;max-width:380px;position:relative;z-index:2;box-shadow:0 12px 32px rgba(0,0,0,.35)}
.tds small{color:#8fb1be}
.tds .row2{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.tds .num{font-family:'Bricolage Grotesque';font-size:clamp(2.6rem,6vw,3.6rem);font-weight:800;line-height:1}
.tds .before{color:#ff8b7c}.tds .after{color:#4fe0ec}
.tds .bar{height:8px;border-radius:8px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:.5rem}
.tds .bar span{display:block;height:100%;border-radius:8px}
.tds .bar .b1{background:#f25f4c;width:90%}.tds .bar .b2{background:#4fe0ec;width:8%}
@media (prefers-reduced-motion:no-preference){.tds .bar .b1{animation:drain 2.6s .4s ease-in-out forwards}@keyframes drain{to{width:8%;background:#4fe0ec}}}

/* Content sections */
.section{padding:4.5rem 0}.section.alt{background:var(--foam)}
.section-title{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:800}
.feat{display:flex;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}
.feat .ic{flex:0 0 46px;height:46px;border-radius:12px;background:var(--mist);color:var(--aqua-d);display:grid;place-items:center;font-size:1.3rem}
.feat h3{font-size:1.1rem;margin:0 0 .15rem}.feat p{margin:0;color:var(--muted);font-size:.95rem}

/* Products card */
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s}
.pcard:hover{border-color:var(--aqua);transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,37,64,.08)}
.pimg{aspect-ratio:4/3;background:linear-gradient(160deg,var(--mist),#fff);display:grid;place-items:center;color:var(--aqua);font-size:3.5rem;overflow:hidden;position:relative}
.pimg img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.pcard:hover .pimg img{transform:scale(1.03)}
.pcard .body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:1.05rem;margin:.25rem 0;line-height:1.35}.pcard h3 a{color:var(--ink)}.pcard h3 a:hover{color:var(--aqua-d)}
.pcard .cat{font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.price{font-family:'Bricolage Grotesque';font-weight:800;font-size:1.35rem;color:var(--ink)}
.gst-note{font-size:.76rem;color:var(--muted)}
.chip{display:inline-block;font-size:.74rem;font-weight:600;padding:.15rem .55rem;border-radius:20px;background:var(--mist);color:var(--aqua-d)}
.chip.warn{background:#fde8e4;color:#b23a2b}

/* Misc components */
.emi-band{background:var(--aqua);color:#fff;border-radius:20px;padding:2.2rem}.emi-band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem)}
.service-list li{padding:.65rem 0;border-bottom:1px dashed var(--line);list-style:none;display:flex;align-items:center}.service-list{padding:0;margin:0}
.service-list i{color:var(--aqua);margin-right:.65rem;font-size:1.1rem;flex-shrink:0}
.footer{background:var(--ink);color:#a9c4cf;padding:3.5rem 0 1.5rem}.footer a{color:#fff;text-decoration:none}.footer a:hover{color:var(--mist)}.footer h5{color:#fff;font-size:1.05rem;font-weight:700}
.wa-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.8rem;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:99;text-decoration:none;transition:transform .15s ease}
.wa-float:hover{color:#fff;transform:scale(1.08);filter:brightness(.95)}
.card-box{border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;background:#fff;box-shadow:0 4px 16px rgba(10,37,64,.03)}
.form-control,.form-select{border-radius:10px;border-color:var(--line);padding:.6rem .8rem}
.form-control:focus,.form-select:focus{border-color:var(--aqua);box-shadow:0 0 0 .2rem rgba(15,163,177,.2)}
.qty{width:84px}
.emi-table td,.emi-table th{padding:.4rem .6rem;font-size:.88rem}
.opt{border:2px solid var(--line);border-radius:12px;padding:.8rem 1rem;cursor:pointer;display:block;transition:all .15s ease}
.opt:hover{border-color:var(--aqua-d)}
.opt:has(input:checked){border-color:var(--aqua);background:var(--mist)}

/* Table touch scrolling */
.table-responsive{-webkit-overflow-scrolling:touch}
.table-responsive table{min-width:480px}
.emi-table table, table.emi-table{min-width:280px}

/* Responsive styles across devices */
@media (max-width: 991.98px){
  .navbar-collapse{background:#fff;border-radius:12px;padding:1rem;margin-top:.75rem;box-shadow:0 8px 24px rgba(10,37,64,.12);border:1px solid var(--line)}
  .navbar-nav{margin-bottom:.75rem}
  .section{padding:3.5rem 0}
  .hero{padding:3.5rem 0 5rem}
  .tds{margin:1.5rem auto 0;max-width:100%}
}

@media (max-width: 767.98px){
  .navbar .brand{font-size:1.2rem;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .section{padding:2.75rem 0}
  .hero{padding:2.75rem 0 4rem}
  .hero .ripple{display:none}
  .hero h1{font-size:clamp(1.85rem,7vw,2.75rem);max-width:100%}
  .hero-buttons{display:flex;flex-direction:column;gap:.6rem}
  .hero-buttons .btn{width:100%;margin-left:0!important}
  .feat{padding:.9rem 0}
  .emi-band{padding:1.5rem}
  .card-box{padding:1.1rem}
  .wa-float{width:50px;height:50px;font-size:1.6rem;bottom:14px;right:14px}
  .prod-actions{flex-direction:column;align-items:stretch}
  .prod-actions .btn,.prod-actions .qty{width:100%}
}

@media (max-width: 575.98px){
  .container{padding-left:.9rem;padding-right:.9rem}
  .section-title{font-size:1.6rem}
  .pcard .body{padding:.75rem}
  .pcard h3{font-size:.92rem;line-height:1.25}
  .price{font-size:1.15rem}
  .gst-note{font-size:.72rem}
  .pcard .btn{font-size:.82rem;padding:.45rem .6rem}
  .chip{font-size:.68rem;padding:.1rem .45rem}
  .qty{width:70px}
  .hero-buttons .btn{font-size:1rem;padding:.6rem 1rem}
  .footer{padding:2.5rem 0 1.25rem}
}

@media (max-width: 380px){
  .navbar .brand{font-size:1.05rem;max-width:62vw}
  .pcard .body{padding:.6rem}
  .price{font-size:1.05rem}
  .pcard .btn{font-size:.75rem;padding:.38rem .45rem}
  .tds{padding:1rem}
  .tds .num{font-size:2.2rem}
}

/* Pagination styles & SVG bounds */
.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.25rem;margin-top:2.2rem;margin-bottom:1.5rem;list-style:none;padding-left:0}
.page-item .page-link{color:var(--ink);border-radius:8px;margin:0 2px;padding:.45rem .85rem;font-weight:600;font-size:.9rem;border:1px solid var(--line);text-decoration:none;background:#fff;transition:all .15s ease}
.page-item.active .page-link{background:var(--aqua);border-color:var(--aqua);color:#fff}
.page-item .page-link:hover{background:var(--mist);color:var(--aqua-d)}
.page-item.disabled .page-link{color:var(--muted);background:#f8fafc;border-color:var(--line)}
svg.w-5,svg.h-5,svg.w-6,svg.h-6,[aria-label*="Pagination"] svg,nav[role="navigation"] svg{max-width:1.25rem!important;max-height:1.25rem!important;width:1.25rem!important;height:1.25rem!important;display:inline-block;vertical-align:middle}
