@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;1,700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --navy:      #0d1b2a;
  --teal:      #1a7f7f;
  --teal-l:    #34a0a4;
  --teal-pale: #e8f4f4;
  --amber:     #f59e0b;
  --amber-pale:#fff8e7;
  --white:     #ffffff;
  --off:       #f8f9fb;
  --g50:       #f1f3f6;
  --g200:      #d1d5db;
  --g400:      #9ca3af;
  --g500:      #6b7280;
  --g700:      #374151;
  --shadow-sm: 0 2px 10px rgba(0,0,0,0.06);
  --shadow-md: 0 8px 30px rgba(0,0,0,0.10);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.14);
  --r:         14px;
  --r-sm:      8px;
  --ff-h:      'Playfair Display', serif;
  --ff-b:      'DM Sans', sans-serif;
  --t:         all 0.3s ease;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--ff-b); color: var(--navy); background: var(--white); overflow-x: hidden; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { text-decoration: none; }

/* ── SECTION ATOMS ── */
.sectionLabel { display: inline-flex; align-items: center; gap: 8px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal); margin-bottom: 12px; }
.sectionLabel::before { content:''; display:block; width:24px; height:2px; background:var(--teal); border-radius:2px; }
.sectionTitle { font-family:var(--ff-h); font-size:clamp(1.75rem,3.5vw,2.7rem); font-weight:700; color:var(--navy); line-height:1.2; margin-bottom:14px; }
.sectionTitle em { font-style:italic; color:var(--teal); }
.sectionDesc { font-size:0.97rem; color:var(--g500); line-height:1.7; max-width:580px; margin-bottom:28px; }
.sectionSubDesc { font-size:0.93rem; color:var(--g500); max-width:520px; margin:0 auto 36px; }
.sectionHeader { margin-bottom:16px; }

/* ── BUTTONS ── */
.btnPrimary { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; background:var(--teal); color:#fff; font-family:var(--ff-b); font-weight:600; font-size:0.93rem; border-radius:var(--r-sm); border:2px solid var(--teal); transition:var(--t); cursor:pointer; }
.btnPrimary:hover { background:var(--navy); border-color:var(--navy); color:#fff; transform:translateY(-2px); box-shadow:0 8px 20px rgba(26,127,127,.3); }
.btnOutline { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; background:transparent; color:var(--navy); font-family:var(--ff-b); font-weight:600; font-size:0.93rem; border-radius:var(--r-sm); border:2px solid var(--navy); transition:var(--t); cursor:pointer; }
.btnOutline:hover { background:var(--navy); color:#fff; transform:translateY(-2px); }
.btnOutlineWhite { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; background:transparent; color:#fff; font-family:var(--ff-b); font-weight:600; font-size:0.93rem; border-radius:var(--r-sm); border:2px solid rgba(255,255,255,0.45); transition:var(--t); cursor:pointer; }
.btnOutlineWhite:hover { background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }
.btnOutlineTeal { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; background:transparent; color:var(--teal); font-family:var(--ff-b); font-weight:600; font-size:0.93rem; border-radius:var(--r-sm); border:2px solid var(--teal); transition:var(--t); cursor:pointer; }
.btnOutlineTeal:hover { background:var(--teal); color:#fff; }
.btnAmber { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; background:var(--amber); color:var(--navy); font-family:var(--ff-b); font-weight:600; font-size:0.93rem; border-radius:var(--r-sm); border:2px solid var(--amber); transition:var(--t); cursor:pointer; }
.btnAmber:hover { background:#d97706; border-color:#d97706; color:#fff; transform:translateY(-2px); }
.btnOutlineAmber { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; background:transparent; color:var(--amber); font-family:var(--ff-b); font-weight:600; font-size:0.93rem; border-radius:var(--r-sm); border:2px solid var(--amber); transition:var(--t); cursor:pointer; }
.btnOutlineAmber:hover { background:var(--amber); color:var(--navy); }
.btnOutlineLight { display:inline-flex; align-items:center; gap:8px; padding:12px 26px; background:transparent; color:#fff; font-family:var(--ff-b); font-weight:600; font-size:0.93rem; border-radius:var(--r-sm); border:2px solid rgba(255,255,255,.45); transition:var(--t); cursor:pointer; }
.btnOutlineLight:hover { background:rgba(255,255,255,.14); border-color:#fff; color:#fff; }
.btnLg { padding:15px 34px; font-size:1rem; }
.w-100 { width:100%; }
.justify-content-center { justify-content:center; }

/* ── NAVBAR ── */
#mainHeader { position:fixed; top:0; left:0; right:0; z-index:1000; transition:var(--t); }
#mainHeader.scrolled { background:var(--white); box-shadow:var(--shadow-sm); }
.navbar { padding:16px 0; background:transparent; }
/*.navbar-brand img { height:58px; width:auto; object-fit:contain; }*/
.navbar-brand img{height:clamp(55px,5vw,90px);width:auto;object-fit:contain;}
.navbar-nav .nav-link { font-family:var(--ff-b); font-size:0.88rem; font-weight:500; color:#fff !important; padding:6px 14px !important; transition:var(--t); position:relative; }
#mainHeader.scrolled .navbar-nav .nav-link { color:var(--navy) !important; }
.navbar-nav .nav-link::after { content:''; position:absolute; bottom:0; left:14px; right:14px; height:2px; background:var(--teal); transform:scaleX(0); transition:var(--t); }
.navbar-nav .nav-link:hover::after { transform:scaleX(1); }
.nav-cta { background:var(--teal) !important; color:#fff !important; border-radius:var(--r-sm) !important; padding:9px 20px !important; font-weight:600 !important; }
.nav-cta:hover { background:var(--navy) !important; }
.nav-cta::after { display:none !important; }
.navbar-toggler { border:none; background:none; padding:6px; display:flex; flex-direction:column; gap:5px; }
.toggler-bar { display:block; width:24px; height:2px; background:#fff; border-radius:2px; transition:var(--t); }
#mainHeader.scrolled .toggler-bar { background:var(--navy); }

/* ── HERO ── */
.heroSection { position:relative; background:var(--navy); min-height:100vh; display:flex; flex-direction:column; overflow:hidden; }
.heroBg { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.heroBgOrb { position:absolute; border-radius:50%; filter:blur(80px); }
.orb1 { width:600px; height:600px; top:-150px; right:-100px; background:radial-gradient(circle, rgba(26,127,127,.25) 0%, transparent 70%); }
.orb2 { width:400px; height:400px; bottom:-80px; left:-80px; background:radial-gradient(circle, rgba(52,160,164,.15) 0%, transparent 70%); }
.orb3 { width:300px; height:300px; top:50%; left:40%; background:radial-gradient(circle, rgba(245,158,11,.06) 0%, transparent 70%); }
.heroBgGrid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:55px 55px; }
.heroContainer { flex:1; display:flex; align-items:center; padding-top:108px; padding-bottom:60px; }
.heroText { color:#fff; }
.heroTag { display:inline-flex; align-items:center; gap:8px; font-size:0.78rem; font-weight:500; color:rgba(255,255,255,.65); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:100px; padding:6px 16px; margin-bottom:22px; letter-spacing:.04em; }
.tagDot { width:7px; height:7px; border-radius:50%; background:var(--teal-l); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{box-shadow:0 0 6px var(--teal-l)} 50%{box-shadow:0 0 16px var(--teal-l)} }
.heroText h1 { font-family:var(--ff-h); font-size:clamp(2.1rem,4.5vw,3.7rem); font-weight:800; line-height:1.14; color:#fff; margin-bottom:22px; }
.heroText h1 em { font-style:italic; color:var(--teal-l); }
.heroDesc { font-size:1rem; color:rgba(255,255,255,.62); line-height:1.7; max-width:470px; margin-bottom:32px; }
.heroStats { display:flex; align-items:center; gap:24px; margin-bottom:36px; flex-wrap:wrap; }
.stat { text-align:center; }
.stat .statNum { font-family:var(--ff-h); font-size:1.95rem; font-weight:800; color:#fff; }
.stat span { color:var(--teal-l); font-size:1.3rem; font-weight:700; }
.stat p { font-size:0.73rem; color:rgba(255,255,255,.48); margin:0; margin-top:2px; }
.statDivider { width:1px; height:38px; background:rgba(255,255,255,.14); }
.heroBtns { display:flex; flex-wrap:wrap; gap:12px; }

/* Hero Visual */
.heroVisual { position:relative; }
.heroImgMain { position:relative; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-lg); }
.heroImg { width:100%; height:420px; object-fit:cover; transition:transform .6s ease; }
.heroImgMain:hover .heroImg { transform:scale(1.04); }
.heroImgBadge { position:absolute; bottom:18px; left:18px; background:rgba(255,255,255,.94); backdrop-filter:blur(8px); border-radius:100px; padding:7px 16px; font-size:0.8rem; font-weight:600; color:var(--navy); display:flex; align-items:center; gap:6px; box-shadow:var(--shadow-md); }
.heroImgBadge svg { color:var(--teal); }
.heroMiniCards { display:flex; gap:10px; margin-top:12px; }
.heroMiniCard { flex:1; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-sm); padding:12px 14px; display:flex; align-items:center; gap:10px; backdrop-filter:blur(6px); transition:var(--t); }
.heroMiniCard:hover { background:rgba(255,255,255,.12); }
.miniCardIcon { width:38px; height:38px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hospColor { background:rgba(26,127,127,.3); color:var(--teal-l); }
.schoolColor { background:rgba(245,158,11,.2); color:var(--amber); }
.heroMiniCard strong { display:block; font-size:0.85rem; font-weight:600; color:#fff; }
.heroMiniCard span { font-size:0.72rem; color:rgba(255,255,255,.5); }

/* Trust Bar */
.trustBar { background:rgba(255,255,255,.05); border-top:1px solid rgba(255,255,255,.07); padding:16px 0; }
.trustBarInner { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px; }
.trustItem { display:flex; align-items:center; gap:7px; font-size:0.82rem; font-weight:500; color:rgba(255,255,255,.7); }
.trustItem svg { color:var(--teal-l); }
.trustDot { width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.18); }

/* ── ABOUT ── */
.aboutSection { padding:100px 0; }
.aboutImgGrid { display:flex; gap:14px; align-items:stretch; }
.aboutImgMain { position:relative; flex:1; }
.aboutImg { width:100%; height:400px; object-fit:cover; border-radius:var(--r); box-shadow:var(--shadow-md); }
.aboutEstBadge { position:absolute; bottom:18px; right:-14px; background:var(--navy); color:#fff; padding:12px 18px; border-radius:var(--r-sm); font-size:0.82rem; font-weight:500; box-shadow:var(--shadow-md); line-height:1.2; }
.aboutEstBadge strong { font-family:var(--ff-h); font-size:1.4rem; display:block; color:var(--teal-l); }
.aboutImgStack { display:flex; flex-direction:column; gap:14px; flex:0 0 130px; }
.aboutImgSm { width:100%; height:190px; object-fit:cover; border-radius:var(--r-sm); box-shadow:var(--shadow-sm); transition:var(--t); }
.aboutImgSm:hover { transform:scale(1.04); }
.aboutGrid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.aboutCard { background:var(--off); border-radius:var(--r-sm); padding:16px 18px; border-left:3px solid var(--teal); transition:var(--t); }
.aboutCard:hover { background:var(--teal-pale); transform:translateX(4px); }
.aboutCardIcon { width:38px; height:38px; background:var(--teal-pale); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--teal); margin-bottom:10px; }
.aboutCard h6 { font-weight:600; font-size:0.87rem; color:var(--navy); margin-bottom:4px; }
.aboutCard p { font-size:0.8rem; color:var(--g500); margin:0; line-height:1.5; }

/* ── PRODUCTS ── */
.productsSection { padding:100px 0; background:var(--off); }
.productFilters { margin-bottom:16px; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.filterBtn { padding:10px 22px; border:2px solid var(--g200); background:var(--white); color:var(--g700); font-family:var(--ff-b); font-size:0.86rem; font-weight:600; border-radius:100px; cursor:pointer; transition:var(--t); }
.filterBtn:hover { border-color:var(--teal); color:var(--teal); }
.filterBtn.active { background:var(--navy); border-color:var(--navy); color:#fff; }
.subFilterWrap { text-align:center; margin-bottom:30px; min-height:10px; }
.subFilterBtn { padding:7px 16px; border:1.5px solid var(--g200); background:var(--white); color:var(--g500); font-family:var(--ff-b); font-size:0.8rem; font-weight:600; border-radius:100px; cursor:pointer; transition:var(--t); margin:4px; }
.subFilterBtn:hover, .subFilterBtn.active { border-color:var(--teal-l); color:var(--teal); background:var(--teal-pale); }

/* Product Card */
.productCard { background:var(--white); border-radius:var(--r); overflow:hidden; border:1px solid var(--g200); transition:var(--t); display:flex; flex-direction:column; height:100%; position:relative; }
.productCard:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
.productImageWrap { position:relative; background:var(--off); height:200px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.productImageWrap img { max-height:168px; max-width:88%; object-fit:contain; transition:transform .4s ease; }
/*.productCard:hover .productImageWrap img { transform:scale(1.08); }*/
.productBadge { position:absolute; top:10px; left:10px; font-size:0.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:4px 10px; border-radius:100px; color:#fff; }
.hospitalBadge { background:var(--teal); }
.schoolBadge { background:var(--amber); color:var(--navy); }
.subCatTag { position:absolute; top:10px; right:10px; font-size:0.63rem; font-weight:600; padding:3px 9px; border-radius:100px; background:rgba(13,27,42,.7); color:rgba(255,255,255,.85); backdrop-filter:blur(4px); }
.productInfo { padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; }
.productInfo h5 { font-size:0.88rem; font-weight:700; color:var(--navy); margin-bottom:4px; line-height:1.35; }
.productCode { font-size:0.72rem; font-weight:600; color:var(--teal); letter-spacing:.04em; margin-bottom:6px; }
.productInfo p { font-size:0.8rem; color:var(--g500); flex-grow:1; margin-bottom:12px; line-height:1.5; }
.productDimBadge { font-size:0.72rem; background:var(--off); color:var(--g500); padding:3px 8px; border-radius:4px; display:inline-block; margin-bottom:12px; font-weight:500; }
.productButtons { display:flex; gap:8px; }
.viewBtn { flex:1; padding:9px; background:var(--navy); color:#fff; border:none; border-radius:var(--r-sm); font-family:var(--ff-b); font-size:0.8rem; font-weight:600; cursor:pointer; transition:var(--t); }
.viewBtn:hover { background:var(--teal); }
.enquireBtn { flex:1; padding:9px; background:var(--teal); color:#fff; border:none; border-radius:var(--r-sm); font-family:var(--ff-b); font-size:0.8rem; font-weight:600; cursor:pointer; transition:var(--t); text-align:center; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.enquireBtn:hover { background:#0f6b6b; color:#fff; }

/* ── CATALOG SECTION ── */
.catalogSection { padding:100px 0; background:var(--white); }
.catalogCard { border-radius:var(--r); border:1px solid var(--g200); background:var(--white); padding:32px; height:100%; transition:var(--t); position:relative; overflow:hidden; }
.catalogCard::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; }
.catalogHospital::before { background:linear-gradient(90deg, var(--teal), var(--teal-l)); }
.catalogSchool::before { background:linear-gradient(90deg, var(--amber), #fcd34d); }
.catalogCard:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.catalogCardTop { display:flex; gap:18px; margin-bottom:24px; }
.catalogIcon { width:64px; height:64px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hospCat { background:var(--teal-pale); color:var(--teal); }
.schoolCat { background:var(--amber-pale); color:var(--amber); }
.catalogMeta h4 { font-family:var(--ff-h); font-size:1.2rem; font-weight:700; color:var(--navy); margin-bottom:8px; line-height:1.25; }
.catalogMeta p { font-size:0.84rem; color:var(--g500); line-height:1.6; margin:0; }
.catalogTypeBadge { display:inline-block; font-size:0.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:3px 10px; border-radius:100px; color:#fff; margin-bottom:8px; }
.hospBadge { background:var(--teal); }
.schoolBadge { background:var(--amber); color:var(--navy); }
.catalogStats { display:flex; gap:0; border:1px solid var(--g200); border-radius:var(--r-sm); overflow:hidden; margin-bottom:24px; }
.cStat { flex:1; padding:14px; text-align:center; border-right:1px solid var(--g200); }
.cStat:last-child { border-right:none; }
.cStat strong { display:block; font-family:var(--ff-h); font-size:1.4rem; font-weight:700; color:var(--navy); }
.cStat span { font-size:0.75rem; color:var(--g400); }
.catalogActions { display:flex; flex-direction:column; }
.catalogNote { font-size:0.82rem; color:var(--g400); }
.catalogNote code { background:var(--off); padding:2px 6px; border-radius:4px; font-size:0.78rem; color:var(--teal); }

/* ── REVIEWS SECTION ── */
.reviewsSection { padding:100px 0; background:var(--off); }
.reviewCard { background:#fff; border-radius:var(--r); padding:28px; box-shadow:var(--shadow-sm); transition:var(--t); height:100%; }
.reviewCard:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.reviewStars { color:var(--amber); font-size:1.1rem; margin-bottom:16px; }
.reviewText { font-size:0.9rem; color:var(--g700); line-height:1.6; margin-bottom:20px; font-style:italic; }
.reviewAuthor strong { font-weight:600; color:var(--navy); font-size:0.9rem; }
.reviewAuthor span { font-size:0.8rem; color:var(--g500); }

/* ── CTA ── */
.ctaSection { padding:80px 0; background:var(--off); }
.ctaBanner { background:var(--navy); border-radius:20px; padding:56px 60px; display:flex; align-items:center; justify-content:space-between; gap:36px; position:relative; overflow:hidden; }
.ctaBgShape { position:absolute; top:-100px; right:-100px; width:350px; height:350px; border-radius:50%; background:rgba(26,127,127,.12); pointer-events:none; }
.ctaContent h2 { font-family:var(--ff-h); font-size:clamp(1.5rem,3vw,2.3rem); font-weight:700; color:#fff; line-height:1.25; margin-bottom:10px; }
.ctaContent h2 em { font-style:italic; color:var(--teal-l); }
.ctaContent p { font-size:0.93rem; color:rgba(255,255,255,.58); margin:0; max-width:400px; }
.ctaActions { display:flex; flex-wrap:wrap; gap:12px; flex-shrink:0; }

/* ── FOOTER ── */
footer#footer { background:var(--navy); }
.footerTop { padding:72px 0 56px; }
.footerLogo { height:95px; width:auto; object-fit:contain; margin-bottom:20px; filter:brightness(0) invert(1); padding:8px; border-radius:8px; margin-top: -20px; transition:var(--t); }
.footerLogo:hover { opacity:1; background:rgba(255,255,255,.1); transform:scale(1.02); }
.footerAbout { font-size:0.83rem; color:rgba(255,255,255,.48); line-height:1.65; margin-bottom:12px; max-width:300px; }
.footerAddress { font-size:0.8rem; color:rgba(255,255,255,.4); line-height:1.7; margin-bottom:18px; }
.footerSocials { display:flex; gap:10px; }
.footerSocials a { width:36px; height:36px; border-radius:8px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.55); transition:var(--t); }
.footerSocials a:hover { background:var(--teal); border-color:var(--teal); color:#fff; transform:translateY(-2px); }
.footerHeading { font-size:0.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
.footerLinks { list-style:none; padding:0; }
.footerLinks li { margin-bottom:9px; }
.footerLinks a { font-size:0.83rem; color:rgba(255,255,255,.48); transition:var(--t); display:inline-block; }
.footerLinks a:hover { color:var(--teal-l); transform:translateX(4px); }
.footerBottom { border-top:1px solid rgba(255,255,255,.07); padding:20px 0; text-align:center; }
.footerBottom p { font-size:0.78rem; color:rgba(255,255,255,.28); margin:0; }

/* ── MODAL ── */
.modalCustom { border:none; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-lg); }
.modalHeader { background:var(--navy); padding:20px 26px; border-bottom:none; display:flex; align-items:flex-start; justify-content:space-between; }
.modalCatBadge { display:inline-block; font-size:0.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:3px 10px; border-radius:100px; color:#fff; margin-bottom:6px; }
.modalCatBadge.h { background:var(--teal); }
.modalCatBadge.s { background:var(--amber); color:var(--navy); }
.modalProductTitle { font-family:var(--ff-h); font-size:1.18rem; font-weight:700; color:#fff; margin:0 0 4px; line-height:1.25; }
.modalSubCat { font-size:0.73rem; color:rgba(255,255,255,.45); font-weight:500; }
.btnModalClose { width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,.1); border:none; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--t); flex-shrink:0; margin-top:4px; }
.btnModalClose:hover { background:rgba(255,255,255,.2); }
.modalBody { padding:28px; background:#fff; }
.modalImgWrap { background:var(--off); border-radius:var(--r-sm); padding:20px; display:flex; align-items:center; justify-content:center; min-height:220px; }
.modalProductImg { max-height:200px; max-width:100%; object-fit:contain; }
.modalDesc { font-size:0.9rem; color:var(--g500); line-height:1.7; margin-bottom:18px; }
.modalSpecsWrap { margin-bottom:18px; }
.modalSpecsTitle { font-size:0.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; }
.specsTable { width:100%; border-collapse:collapse; border-radius:var(--r-sm); overflow:hidden; font-size:0.83rem; }
.specsTable tr:nth-child(odd) td:first-child { background:var(--off); }
.specsTable td { padding:9px 14px; border-bottom:1px solid var(--g200); vertical-align:top; }
.specsTable td:first-child { font-weight:600; color:var(--navy); white-space:nowrap; width:40%; background:var(--off); }
.specsTable td:last-child { color:var(--g700); }
.modalFeaturesWrap { margin-bottom:16px; }
.featuresTitle { font-size:0.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; }
.featuresList { list-style:none; padding:0; }
.featuresList li { font-size:0.83rem; color:var(--g700); padding:4px 0; padding-left:18px; position:relative; line-height:1.5; }
.featuresList li::before { content:'▸'; position:absolute; left:0; color:var(--teal); font-size:0.75rem; top:5px; }
.modalAccessoriesWrap {}
.accessoriesTitle { font-size:0.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--amber); margin-bottom:10px; }
.accessoriesList { display:flex; flex-wrap:wrap; gap:6px; }
.accessoryChip { display:inline-flex; align-items:center; gap:5px; background:var(--amber-pale); border:1px solid #fde68a; color:var(--g700); font-size:0.78rem; font-weight:500; padding:5px 12px; border-radius:100px; }
.accessoryChip::before { content:'⭑'; color:var(--amber); font-size:0.7rem; }

/* ── CATALOG STATUS ── */
.catalogStatus {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--r-sm);
  background: var(--off);
  margin-bottom: 16px;
  font-size: 0.8rem;
  font-weight: 500;
}
.statusDot {
  width: 9px; height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}
.statusDot.checking { background: var(--amber); animation: blink 1s infinite; }
.statusDot.found    { background: #4ade80; }
.statusDot.missing  { background: #f87171; }
.statusText.found   { color: #16a34a; }
.statusText.missing { color: #dc2626; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ── PDF VIEWER MODAL ── */
.pdfViewerModal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.pdfViewerModal.open {
  opacity: 1;
  pointer-events: all;
}
.pdfViewerOverlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(6px);
  cursor: pointer;
}
.pdfViewerBox {
  position: relative;
  z-index: 2;
  background: var(--navy);
  border-radius: 16px;
  width: min(94vw, 1100px);
  height: min(92vh, 850px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
  transform: scale(0.96);
  transition: transform 0.3s ease;
}
.pdfViewerModal.open .pdfViewerBox {
  transform: scale(1);
}
.pdfViewerHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.08);
  flex-shrink: 0;
  gap: 12px;
}
.pdfViewerTitle {
  font-family: var(--ff-h);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pdfViewerActions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.pdfViewerBtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.8);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-sm);
  font-size: 0.78rem;
  font-weight: 600;
  font-family: var(--ff-b);
  cursor: pointer;
  transition: var(--t);
  white-space: nowrap;
}
.pdfViewerBtn:hover { background: rgba(255,255,255,.15); color: #fff; }
.pdfDlBtn { background: var(--teal); border-color: var(--teal); color: #fff; }
.pdfDlBtn:hover { background: #0f6b6b; }
.pdfViewerClose {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.7);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--t);
  flex-shrink: 0;
}
.pdfViewerClose:hover { background: rgba(239,68,68,.3); color: #fff; border-color: transparent; }
.pdfViewerBody {
  flex: 1;
  position: relative;
  overflow: hidden;
}
.pdfViewerBody iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
.pdfLoading {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--navy);
  gap: 16px;
  z-index: 2;
}
.pdfLoading p { color: rgba(255,255,255,.5); font-size: 0.9rem; }
.pdfLoadingSpinner {
  width: 40px; height: 40px;
  border: 3px solid rgba(255,255,255,.1);
  border-top-color: var(--teal);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 575.98px) {
  .pdfViewerBox { width: 100vw; height: 100vh; border-radius: 0; }
  .pdfViewerBtn span { display: none; }
  .pdfViewerBtn { padding: 7px 10px; }
}

/* ── SCROLL TO TOP ── */
#scrollTopBtn {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 999;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--teal);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(26,127,127,.45);
  opacity: 0;
  transform: translateY(20px) scale(0.85);
  transition: opacity 0.35s ease, transform 0.35s ease, background 0.2s;
  pointer-events: none;
}
#scrollTopBtn.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
#scrollTopBtn:hover {
  background: var(--navy);
  box-shadow: 0 6px 24px rgba(13,27,42,.4);
  transform: translateY(-3px) scale(1.05);
}
@media (max-width: 575.98px) {
  #scrollTopBtn { bottom: 20px; right: 20px; width: 44px; height: 44px; }
}

/* ── IMAGE LIGHTBOX ── */
.imgLightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.imgLightbox.open {
  opacity: 1;
  pointer-events: all;
}
.lightboxOverlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.92);
  backdrop-filter: blur(8px);
  cursor: zoom-out;
}
.lightboxContent {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 90vw;
  max-height: 90vh;
  gap: 12px;
}
.lightboxClose {
  position: absolute;
  top: -44px;
  right: 0;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--t);
}
.lightboxClose:hover { background: rgba(255,255,255,.25); }
.lightboxImgWrap {
  background: rgba(255,255,255,.05);
  border-radius: var(--r);
  padding: 20px;
  overflow: hidden;
  cursor: zoom-in;
}
#lightboxImg {
  max-width: min(80vw, 700px);
  max-height: 70vh;
  object-fit: contain;
  border-radius: 8px;
  display: block;
  transition: transform 0.3s ease;
  transform-origin: center center;
}
#lightboxImg.zoomed { transform: scale(2); cursor: zoom-out; }
.lightboxCaption {
  font-family: var(--ff-b);
  font-size: 0.9rem;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  text-align: center;
  max-width: 600px;
}
.lightboxHint {
  font-size: 0.75rem;
  color: rgba(255,255,255,.38);
  text-align: center;
}

/* Modal zoom button */
.modalImgWrap { position: relative; }
.modalZoomBtn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: var(--r-sm);
  padding: 6px 12px;
  font-size: 0.75rem;
  font-weight: 600;
  font-family: var(--ff-b);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  opacity: 0.85;
  transition: var(--t);
}
.modalZoomBtn:hover { opacity: 1; background: var(--teal); }

/* ── TV / 4K / LARGE SCREEN (1600px+) ── */
@media (min-width: 1600px) {
  .container { max-width: 1480px; }
  .heroText h1 { font-size: 4.2rem; }
  .heroDesc { font-size: 1.1rem; max-width: 560px; }
  .heroImg { height: 520px; }
  .sectionTitle { font-size: 3.2rem; }
  .navbar-brand img { height: 72px; }
  .productCard .productImageWrap { height: 240px; }
  .productImageWrap img { max-height: 200px; }
  .sectionDesc { font-size: 1.08rem; }
  .aboutCard h6 { font-size: 1rem; }
  .aboutCard p { font-size: 0.9rem; }
  .catalogCard { padding: 40px; }
  .catalogMeta h4 { font-size: 1.4rem; }
  .footerAbout { font-size: 0.92rem; }
}

@media (min-width: 2000px) {
  .container { max-width: 1800px; }
  .heroText h1 { font-size: 5rem; }
  .heroImg { height: 620px; }
  .sectionTitle { font-size: 3.8rem; }
  body { font-size: 1.05rem; }
  .productInfo h5 { font-size: 1rem; }
  .productInfo p { font-size: 0.9rem; }
  .filterBtn { padding: 12px 28px; font-size: 0.95rem; }
  .heroStats .stat .statNum { font-size: 2.4rem; }
  #scrollTopBtn { width: 58px; height: 58px; bottom: 40px; right: 40px; }
}

@media (min-width: 2560px) {
  .container { max-width: 2200px; }
  .heroText h1 { font-size: 6rem; }
  .heroImg { height: 750px; }
  .navbar-brand img { height: 90px; }
  .sectionTitle { font-size: 4.5rem; }
  body { font-size: 1.2rem; }
  .productCard .productImageWrap { height: 300px; }
  .productImageWrap img { max-height: 260px; }
}
@media(max-width:991.98px) {
  .heroContainer { padding-top:88px; }
  .heroText h1 { font-size:2.1rem; }
  .heroImg { height:320px; }
  .heroMiniCards { display:none; }
  .ctaBanner { flex-direction:column; text-align:center; padding:44px 32px; }
  .ctaContent p { margin:0 auto 20px; }
  .ctaActions { justify-content:center; }
  .aboutImgGrid { display:none; }
}
@media(max-width:767.98px) {
  .aboutSection, .productsSection, .reviewsSection, .catalogSection, .ctaSection { padding:70px 0; }
  .trustBarInner { justify-content:flex-start; padding:0 12px; gap:10px; }
  .trustDot { display:none; }
  .heroStats { gap:14px; justify-content:center; }
  .ctaBanner { padding:32px 22px; border-radius:14px; }
  .catalogCard { padding:24px; }
  .aboutGrid { grid-template-columns:1fr; }
}
@media(max-width:575.98px) {
  .navbar-nav { text-align:center; padding:18px; background:var(--white); border-radius:var(--r); margin-top:10px; box-shadow:var(--shadow-md); }
  .navbar-nav .nav-link { color:var(--navy) !important; }
  .heroText h1 { font-size:1.85rem; }
  .heroBtns { flex-direction:column; }
  .heroBtns .btnPrimary, .heroBtns .btnOutlineWhite { justify-content:center; }
  .ctaActions { flex-direction:column; width:100%; }
  .ctaActions a { justify-content:center; }
  .catalogCardTop { flex-direction:column; gap:12px; }
  .catalogStats .cStat { padding:10px 6px; }
    /* ── FOOTER MOBILE FIX ── */
  .col-6 .footerLinks a { 
    font-size: 0.8rem; 
    white-space: normal; 
    word-break: break-word; 
  }
}
