/* ===================== SUPER LIMPAC — SHARED STYLES ===================== */
:root{
  --ink:#081a35;
  --teal-900:#00337a;
  --teal-800:#0055c8;
  --teal-700:#0072fe;
  --teal-tint:#e8f2ff;
  --red:#ff2a2a;
  --red-dark:#d81616;
  --paper:#f7f8fa;
  --paper-2:#eaf0f8;
  --line: rgba(8,26,53,0.12);
  --line-dark: rgba(232,242,255,0.16);
  --max: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4, .eyebrow, .nav a, .btn, .stat-num, .logo-word{
  font-family:'Barlow Condensed', sans-serif;
}
h1,h2,h3,h4{margin:0 0 .4em 0; font-weight:700; letter-spacing:.2px; line-height:1.05;}
p{margin:0 0 1em 0;}
a{color:inherit;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
.eyebrow{
  text-transform:uppercase; letter-spacing:2.5px; font-weight:600; font-size:14px;
  color:var(--red); display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--red); display:inline-block;}
:focus-visible{outline:3px solid var(--red); outline-offset:3px;}

/* ---------- HEADER ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(8,26,53,0.94);
  backdrop-filter: blur(6px);
  color:#f4f6f5;
  border-bottom:1px solid var(--line-dark);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:20px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit;}
.brand-mark{
  width:36px; height:36px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-family:'Barlow Condensed', sans-serif; font-weight:800; font-size:20px; color:#fff;
  flex:none; overflow:hidden;
}
.brand-mark img{width:100%; height:100%; object-fit:contain;}
.brand-text{line-height:1.1;}
.logo-word{font-size:20px; font-weight:700; letter-spacing:.5px;}
.logo-tag{font-size:11px; color:#a8c4e6; text-transform:uppercase; letter-spacing:1.5px;}
nav.links{display:flex; gap:26px; align-items:center;}
nav.links a{
  font-family:'Barlow Condensed', sans-serif; font-weight:600; font-size:17px; letter-spacing:.4px;
  text-decoration:none; color:#e7ebea; padding:4px 2px; border-bottom:2px solid transparent;
}
nav.links a:hover, nav.links a.active{border-bottom-color:var(--red);}
.btn{
  font-family:'Barlow Condensed', sans-serif; font-weight:700; font-size:17px; letter-spacing:.5px;
  text-decoration:none; padding:11px 22px; border-radius:3px; display:inline-block;
  border:2px solid transparent; cursor:pointer;
  transition:transform .15s ease, background .2s ease, color .2s ease;
}
.btn-primary{background:var(--teal-700); color:#fff;}
.btn-primary:hover{background:var(--teal-800); transform:translateY(-1px);}
.btn-ghost{border-color:#f4f6f5; color:#f4f6f5; background:transparent;}
.btn-ghost:hover{background:#f4f6f5; color:var(--ink);}
.btn-dark{border-color:var(--ink); color:var(--ink); background:transparent;}
.btn-dark:hover{background:var(--ink); color:#fff;}
.menu-toggle{display:none; background:none; border:none; color:#fff; font-size:28px; cursor:pointer;}

/* ---------- HERO (home) ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(255,42,42,0.18), transparent 60%),
    linear-gradient(160deg, rgba(0,51,122,0.94), rgba(0,85,200,0.90) 55%, rgba(0,114,254,0.82)),
    url('../super_images/team-group-instore.webp') center 30%/cover no-repeat;
  color:#f4f7f6; overflow:hidden; padding:96px 0 70px;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background-image: repeating-linear-gradient(115deg, rgba(255,255,255,0.045) 0px, rgba(255,255,255,0.045) 2px, transparent 2px, transparent 34px);
  pointer-events:none;
}
.hero-inner{position:relative; z-index:2; display:grid; grid-template-columns: 1.15fr .85fr; gap:50px; align-items:end;}
.hero h1{font-size:clamp(40px, 5.6vw, 72px); font-weight:800; letter-spacing:.2px; margin-bottom:.25em;}
.hero h1 em{font-style:normal; color:#a8d2ff;}
.hero-lede{font-size:19px; max-width:46ch; color:#dfeae8;}
.hero-ctas{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
.hero-stats{display:grid; grid-template-columns:repeat(2,1fr); gap:18px 24px; border-left:2px solid rgba(255,255,255,0.2); padding-left:28px;}
.stat-num{font-size:38px; font-weight:800; color:#fff; line-height:1; display:flex; align-items:baseline; gap:4px;}
.stat-num small{font-size:16px; font-weight:600; color:#a8d2ff;}
.stat-label{font-size:13.5px; color:#c6d6d3; margin-top:6px; letter-spacing:.2px;}

/* ---------- PAGE HERO (inner pages) ---------- */
.page-hero{
  position:relative;
  background:linear-gradient(160deg, var(--teal-900), var(--teal-800) 65%, var(--teal-700));
  color:#f4f7f6; padding:64px 0 56px; overflow:hidden;
}
.page-hero::after{
  content:""; position:absolute; inset:0;
  background-image: repeating-linear-gradient(115deg, rgba(255,255,255,0.045) 0px, rgba(255,255,255,0.045) 2px, transparent 2px, transparent 34px);
  pointer-events:none;
}
.page-hero-inner{position:relative; z-index:2;}
.breadcrumb{font-size:13px; color:#a8d2ff; margin-bottom:14px; letter-spacing:.3px;}
.breadcrumb a{text-decoration:none; color:#a8d2ff;}
.breadcrumb a:hover{text-decoration:underline;}
.page-hero h1{font-size:clamp(34px,4.6vw,54px);}
.page-hero p{max-width:60ch; color:#dfeae8; font-size:17px;}

/* ---------- SECTION GENERIC ---------- */
section{padding:88px 0;}
.section-head{max-width:660px; margin-bottom:44px;}
.section-head h2{font-size:clamp(30px,3.6vw,44px);}
.alt{background:var(--paper-2);}
.dark{background:var(--ink); color:#f2f5f4;}
.dark .eyebrow{color:#a8d2ff;}
.dark .eyebrow::before{background:#a8d2ff;}

/* ---------- ABOUT ---------- */
.about-grid{display:grid; grid-template-columns: 1fr 1fr; gap:56px; align-items:start;}
.about-copy p{font-size:17px; color:#31403e;}
.pillars{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.pillar{background:#fff; border:1px solid var(--line); border-radius:6px; padding:20px 20px 18px; border-top:3px solid var(--teal-700);}
.pillar h4{font-size:20px; margin-bottom:6px; letter-spacing:.3px;}
.pillar p{font-size:14.5px; color:#4b5957; margin:0;}
.pillar.mission{border-top-color:var(--red);}

.split-media{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.split-media.reverse{direction:rtl;}
.split-media.reverse > *{direction:ltr;}
.media-frame{border-radius:10px; overflow:hidden; box-shadow:0 24px 50px -22px rgba(8,26,53,0.35);}
.media-frame img{width:100%; height:100%; object-fit:cover; display:block;}

/* ---------- BEFORE/AFTER SIGNATURE ---------- */
.reveal-section{background:var(--teal-900); color:#eef5f4;}
.reveal-layout{display:grid; grid-template-columns: .9fr 1.1fr; gap:50px; align-items:center;}
.reveal-copy p{color:#cfe1de; font-size:16.5px;}
.reveal-frame{position:relative; aspect-ratio: 4/3; border-radius:10px; overflow:hidden; box-shadow:0 30px 60px -20px rgba(0,0,0,0.55); border:1px solid rgba(255,255,255,0.15); user-select:none;}
.layer{position:absolute; inset:0;}
.layer-before{background:repeating-conic-gradient(#7a746b 0% 25%, #6d675f 0% 50%) 0 0/40px 40px, linear-gradient(0deg, rgba(0,0,0,0.35), rgba(0,0,0,0.35)); filter:saturate(.5) contrast(.95) brightness(.8);}
.layer-before::before{content:"ANTES"; position:absolute; top:16px; left:16px; font-family:'Barlow Condensed'; font-weight:700; letter-spacing:2px; font-size:14px; background:rgba(0,0,0,0.55); color:#fff; padding:5px 12px; border-radius:3px;}
.layer-before .grime{position:absolute; inset:0; background-image: radial-gradient(circle at 20% 30%, rgba(30,25,20,0.55) 0, transparent 12%), radial-gradient(circle at 70% 60%, rgba(30,25,20,0.5) 0, transparent 14%), radial-gradient(circle at 40% 80%, rgba(30,25,20,0.45) 0, transparent 10%), radial-gradient(circle at 85% 20%, rgba(30,25,20,0.5) 0, transparent 10%);}
.layer-after{background:repeating-conic-gradient(#e9f3f1 0% 25%, #dcece9 0% 50%) 0 0/40px 40px; box-shadow: inset 0 0 60px rgba(11,79,92,0.15);}
.layer-after::before{content:"DEPOIS"; position:absolute; top:16px; right:16px; font-family:'Barlow Condensed'; font-weight:700; letter-spacing:2px; font-size:14px; background:rgba(11,79,92,0.85); color:#fff; padding:5px 12px; border-radius:3px;}
.layer-after .shine{position:absolute; inset:0; background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,0.55) 50%, transparent 60%); mix-blend-mode:overlay;}
.clip-wrap{clip-path: inset(0 50% 0 0);}
.handle{position:absolute; top:0; bottom:0; left:50%; width:0; z-index:5; transform:translateX(-50%); pointer-events:none;}
.handle::before{content:""; position:absolute; top:0; bottom:0; left:0; width:3px; background:#fff; box-shadow:0 0 0 1px rgba(0,0,0,0.15);}
.handle-grip{position:absolute; top:50%; left:0; transform:translate(-50%,-50%); width:46px; height:46px; border-radius:50%; background:#fff; color:var(--teal-900); display:flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 6px 18px rgba(0,0,0,0.3); pointer-events:none;}
.reveal-slider{-webkit-appearance:none; appearance:none; position:absolute; inset:0; width:100%; height:100%; margin:0; background:transparent; cursor:ew-resize; z-index:10;}
.reveal-slider::-webkit-slider-thumb{-webkit-appearance:none; width:46px; height:46px; opacity:0;}
.reveal-slider::-moz-range-thumb{width:46px; height:46px; opacity:0; border:none;}
.reveal-hint{font-size:13px; color:#a9c4c0; margin-top:14px; text-align:center; letter-spacing:.3px;}

/* ---------- SERVICES ---------- */
.services-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:22px;}
.service-card{background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px 24px 22px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.service-card:hover{transform:translateY(-4px); box-shadow:0 18px 34px -18px rgba(0,85,200,0.35); border-color:var(--teal-700);}
.service-icon{width:46px; height:46px; border-radius:8px; margin-bottom:16px; background:var(--teal-tint); display:flex; align-items:center; justify-content:center; color:var(--teal-800);}
.service-card h3{font-size:22px; margin-bottom:8px;}
.service-card ul{margin:0; padding-left:18px; font-size:14.5px; color:#43524f;}
.service-card li{margin-bottom:4px;}
.service-card.featured{background:var(--teal-900); color:#eef5f4; border-color:var(--teal-900);}
.service-card.featured .service-icon{background:rgba(255,255,255,0.12); color:#fff;}
.service-card.featured ul{color:#cfe1de;}
.service-card.featured:hover{box-shadow:0 18px 34px -18px rgba(0,0,0,0.5);}
.service-card a.card-link{color:var(--teal-700); font-weight:600; font-size:14px; text-decoration:none; display:inline-block; margin-top:10px;}
.service-card.featured a.card-link{color:#a8d2ff;}
.service-card a.card-link:hover{text-decoration:underline;}

/* ---------- SERVICE DETAIL BLOCKS (services page) ---------- */
.service-detail{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; padding:64px 0; border-bottom:1px solid var(--line);}
.service-detail:last-child{border-bottom:none;}
.service-detail.reverse .media-frame{order:2;}
.service-detail .eyebrow{margin-bottom:10px;}
.service-detail h2{font-size:clamp(26px,3vw,36px);}
.service-gallery{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.service-gallery img{border-radius:8px; height:100%; object-fit:cover; box-shadow:0 16px 34px -18px rgba(8,26,53,0.3);}
.service-gallery .tall{grid-row: span 2;}

/* ---------- GALLERY GRID (general) ---------- */
.gallery-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:150px; gap:12px;
}
.gallery-grid figure{margin:0; overflow:hidden; border-radius:8px; position:relative;}
.gallery-grid img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
.gallery-grid figure:hover img{transform:scale(1.06);}
.gallery-grid .big{grid-column:span 2; grid-row:span 2;}
.gallery-grid figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:8px 10px;
  font-size:12px; color:#fff; background:linear-gradient(0deg, rgba(0,0,0,0.6), transparent);
}

/* ---------- VALUE PROPS ---------- */
.value-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:8px; overflow:hidden;}
.value-item{background:var(--paper); padding:26px 24px;}
.value-item h4{font-size:19px; margin-bottom:6px; display:flex; align-items:center; gap:10px;}
.value-item h4 .num{color:var(--red); font-size:15px; font-weight:700;}
.value-item p{font-size:14px; color:#4b5957; margin:0;}

/* ---------- COVERAGE ---------- */
.coverage-layout{display:grid; grid-template-columns: .95fr 1.05fr; gap:50px; align-items:center;}
.province-list{display:grid; grid-template-columns:repeat(3,1fr); gap:14px 20px;}
.province{display:flex; align-items:center; gap:10px; padding:12px 14px; background:#fff; border:1px solid var(--line); border-radius:6px; font-size:15.5px; font-weight:600;}
.province .dot{width:9px; height:9px; border-radius:50%; background:var(--teal-700); flex:none;}
.province.hq{border-color:var(--teal-700); background:var(--teal-tint);}
.province.hq .dot{background:var(--teal-800);}
.coverage-copy p{font-size:16.5px; color:#31403e;}
.hq-badge{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--teal-800); text-transform:uppercase; letter-spacing:1px; margin-top:6px;}

/* ---------- CLIENTS ---------- */
.clients-strip{display:flex; flex-wrap:wrap; gap:14px;}
.client-badge{font-family:'Barlow Condensed', sans-serif; font-weight:700; font-size:19px; letter-spacing:.3px; padding:14px 22px; border:1px solid var(--line); border-radius:6px; background:#fff; color:#243230;}
.client-logo-box{background:#fff; border:1px solid var(--line); border-radius:6px; padding:16px 22px; display:flex; align-items:center; justify-content:center; height:78px; flex:1 1 160px;}
.client-logo-box img{max-width:100%; max-height:100%; object-fit:contain;}

/* ---------- STATS / CHARTS (about, clients) ---------- */
.chart-card{background:#fff; border:1px solid var(--line); border-radius:8px; padding:28px;}
.bar-chart{display:flex; align-items:flex-end; gap:26px; height:200px; margin-top:20px;}
.bar-col{display:flex; flex-direction:column; align-items:center; justify-content:flex-end; flex:1; height:100%;}
.bar{width:100%; max-width:64px; background:linear-gradient(180deg, var(--teal-700), var(--teal-900)); border-radius:6px 6px 0 0; position:relative;}
.bar .bar-value{position:absolute; top:-24px; left:0; right:0; text-align:center; font-weight:700; font-size:14px; color:var(--teal-900);}
.bar-year{margin-top:10px; font-size:13px; color:#5a6866; font-weight:600;}
.pie-wrap{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.pie{width:180px; height:180px; border-radius:50%; flex:none;}
.pie-legend{list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:14px;}
.pie-legend li{display:flex; align-items:center; gap:8px;}
.pie-legend .swatch{width:12px; height:12px; border-radius:3px; flex:none;}

/* ---------- TEAM ---------- */
.team-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:24px;}
.team-card{background:#fff; border:1px solid var(--line); border-radius:10px; padding:26px; text-align:center;}
.team-avatar{width:96px; height:96px; border-radius:50%; overflow:hidden; margin:0 auto 16px; border:3px solid var(--teal-tint);}
.team-avatar img{width:100%; height:100%; object-fit:cover;}
.team-card h4{font-size:20px; margin-bottom:2px;}
.team-role{font-size:13px; color:var(--red); text-transform:uppercase; letter-spacing:1px; font-weight:700;}

/* ---------- QUOTE / CONTACT FORM ---------- */
.quote-section{background:linear-gradient(160deg, var(--teal-900), var(--teal-800)); color:#f4f7f6;}
.quote-layout{display:grid; grid-template-columns: .85fr 1.15fr; gap:56px; align-items:start;}
.quote-copy p{color:#d6e6e3; font-size:16.5px;}
.quote-perks{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px;}
.quote-perks li{display:flex; gap:10px; font-size:15px; color:#e7f1ef;}
.quote-perks li::before{content:"✓"; color:#a8d2ff; font-weight:700;}
form.quote-form{background:#fff; color:var(--ink); border-radius:10px; padding:30px; box-shadow:0 30px 60px -25px rgba(0,0,0,0.5);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; margin-bottom:6px; color:#42504e;}
.field input, .field select, .field textarea{width:100%; padding:11px 12px; border:1.5px solid #d7ddd9; border-radius:5px; font-family:'Inter'; font-size:15px; background:#fbfbf9; color:var(--ink);}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--teal-700); background:#fff;}
.field textarea{resize:vertical; min-height:90px;}
.form-note{font-size:12.5px; color:#697a77; margin-top:4px;}
.form-submit{width:100%; text-align:center; font-size:19px; padding:14px;}
.form-success{display:none; background:var(--teal-tint); border:1px solid var(--teal-700); color:var(--teal-900); padding:16px; border-radius:6px; font-size:14.5px; margin-top:14px;}

/* contact details grid */
.contact-info-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:10px;}
.contact-info-card{background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px;}
.contact-info-card h4{font-size:16px; margin-bottom:8px; color:var(--teal-800);}
.contact-info-card p{font-size:14.5px; color:#43524f; margin:0;}
.map-frame{border-radius:10px; overflow:hidden; border:1px solid var(--line);}

/* ---------- CTA BAND ---------- */
.cta-band{background:var(--ink); color:#fff; text-align:center; padding:64px 0;}
.cta-band h2{font-size:clamp(28px,3.4vw,40px); margin-bottom:16px;}
.cta-band .btn{margin-top:6px;}

/* ---------- FOOTER ---------- */
footer{background:var(--ink); color:#c7d2cf; padding:56px 0 26px;}
.footer-grid{display:grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap:40px;}
.footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.footer-brand .brand-mark{width:34px; height:34px;}
.footer-brand span{font-family:'Barlow Condensed'; font-weight:700; font-size:18px; color:#fff;}
footer h5{font-family:'Barlow Condensed'; color:#fff; font-size:17px; letter-spacing:.5px; margin-bottom:14px; text-transform:uppercase;}
footer a{text-decoration:none; color:#c7d2cf;}
footer a:hover{color:#fff;}
.footer-links{list-style:none; padding:0; margin:0; display:grid; gap:9px; font-size:14.5px;}
.footer-bottom{border-top:1px solid var(--line-dark); margin-top:44px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:#8fa19d;}

/* ---------- LANGUAGE SWITCH ---------- */
.lang-switch{
  display:flex; align-items:center; border:1.5px solid rgba(232,242,255,0.35); border-radius:20px;
  overflow:hidden; flex:none;
}
.lang-btn{
  background:none; border:none; color:#c7d2cf; font-family:'Barlow Condensed'; font-weight:700;
  font-size:13px; letter-spacing:.5px; padding:6px 12px; cursor:pointer; transition:background .15s ease, color .15s ease;
}
.lang-btn.active{background:var(--red); color:#fff;}
.lang-btn:not(.active):hover{color:#fff;}

/* ---------- CART ICON (nav) ---------- */
.nav-cart{
  position:relative; display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; color:#f4f6f5; text-decoration:none;
  background:rgba(255,255,255,0.08); flex:none;
}
.nav-cart:hover{background:rgba(255,255,255,0.16);}
.nav-cart svg{width:19px; height:19px;}
.cart-badge{
  position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 4px;
  border-radius:9px; background:var(--red); color:#fff; font-size:11px; font-weight:700;
  display:none; align-items:center; justify-content:center; font-family:'Inter';
}

/* ---------- TOAST ---------- */
.sl-toast{
  position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px);
  background:var(--ink); color:#fff; padding:12px 22px; border-radius:30px; font-size:14.5px;
  box-shadow:0 14px 30px -12px rgba(0,0,0,0.5); opacity:0; pointer-events:none; z-index:200;
  transition:opacity .25s ease, transform .25s ease;
}
.sl-toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* ---------- PRODUCTS PAGE ---------- */
.category-filters{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px;}
.filter-chip{
  font-family:'Barlow Condensed'; font-weight:600; font-size:15px; letter-spacing:.3px;
  padding:9px 18px; border-radius:20px; border:1.5px solid var(--line); background:#fff; color:#43524f;
  cursor:pointer; transition:all .15s ease;
}
.filter-chip.active, .filter-chip:hover{background:var(--teal-700); border-color:var(--teal-700); color:#fff;}
.product-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:22px;}
.product-card{
  background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease;
}
.product-card:hover{transform:translateY(-4px); box-shadow:0 18px 34px -18px rgba(0,85,200,0.3);}
.product-card .product-cat{
  position:absolute; margin:12px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  background:rgba(8,26,53,0.75); color:#fff; padding:4px 10px; border-radius:12px;
}
.product-media{position:relative;background:var(--teal-tint);height:250px;min-height:250px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.product-media img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;padding:22px;}
.product-body{padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1;}
.product-name{font-family:'Barlow Condensed'; font-weight:700; font-size:19px; line-height:1.2; margin:0;}
.product-desc{font-size:13.5px; color:#5a6866; margin:0; flex:1;}
.product-price{font-family:'Barlow Condensed'; font-weight:800; font-size:22px; color:var(--teal-800);}
.product-actions{display:flex; align-items:center; gap:8px; margin-top:6px;}
.qty-stepper{display:flex; align-items:center; border:1.5px solid var(--line); border-radius:6px; overflow:hidden;}
.qty-stepper button{
  background:var(--paper-2); border:none; width:30px; height:34px; font-size:16px; cursor:pointer; color:var(--ink);
}
.qty-stepper input{width:38px; height:34px; border:none; text-align:center; font-family:'Inter'; font-size:14px;}
.btn-add-cart{
  flex:1; background:var(--teal-700); color:#fff; border:none; border-radius:6px; padding:9px 10px;
  font-family:'Barlow Condensed'; font-weight:700; font-size:15px; letter-spacing:.3px; cursor:pointer;
  transition:background .15s ease;
}
.btn-add-cart:hover{background:var(--teal-800);}
.btn-add-cart.added{background:#2f9e52;}
.product-card-link{color:inherit; text-decoration:none; display:block;width:100%;height:100%;}
.product-name a{color:inherit; text-decoration:none;}
.product-name a:hover{color:var(--teal-700);}
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;min-height:440px;}
.product-detail-media{background:var(--teal-tint);border-radius:12px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;}
.product-detail-media img{width:100%;height:100%;object-fit:contain;padding:36px;}
.product-gallery{min-width:0;}
.product-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px;margin-top:12px;}
.product-thumb{height:78px;border:2px solid transparent;border-radius:8px;background:var(--teal-tint);padding:5px;cursor:pointer;overflow:hidden;}
.product-thumb.active,.product-thumb:hover{border-color:var(--teal-700);}
.product-thumb img{width:100%;height:100%;object-fit:contain;}
.product-detail-copy h2{font-size:clamp(30px,4vw,48px);}
.product-detail-description{font-size:17px;color:#4b5957;line-height:1.75;}
.product-detail-price{font-family:'Barlow Condensed';font-size:36px;font-weight:800;color:var(--teal-800);margin:20px 0 8px;}
.product-detail-note{font-size:14px;color:#697a77;}
.product-detail-actions{display:flex;gap:12px;margin:24px 0;max-width:480px;}
.product-detail-actions .qty-stepper button,.product-detail-actions .qty-stepper input{height:46px;}
.product-detail-actions .btn-add-cart{font-size:17px;}
.product-back-link{color:var(--teal-800);font-weight:600;text-decoration:none;}
.product-not-found{text-align:center;grid-column:1/-1;padding:50px 0;}
@media(max-width:760px){.product-detail{grid-template-columns:1fr;gap:32px}.product-detail-actions{flex-direction:column}.product-detail-actions .qty-stepper{width:max-content}}

/* ---------- FEATURED PRODUCTS (home) ---------- */
.featured-products-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:20px;}

/* ---------- CART TABLE (quote form) ---------- */
.cart-table{border:1px solid var(--line); border-radius:8px; overflow:hidden; margin-bottom:18px;}
.cart-row{display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line); background:#fbfbf9;}
.cart-row:last-child{border-bottom:none;}
.cart-row img{width:42px; height:42px; object-fit:contain; background:var(--teal-tint); border-radius:5px; padding:4px; flex:none;}
.cart-row-info{flex:1; min-width:0;}
.cart-row-name{font-size:14px; font-weight:600; color:var(--ink); line-height:1.2;}
.cart-row-price{font-size:12.5px; color:#697a77;}
.cart-qty{width:52px; padding:6px; border:1.5px solid var(--line); border-radius:5px; text-align:center; font-size:13px;}
.cart-remove{background:none; border:none; color:var(--red); font-size:20px; cursor:pointer; line-height:1; padding:4px;}
.cart-total-row{display:flex; justify-content:space-between; padding:12px 14px; background:var(--teal-tint); font-size:15px; color:var(--teal-900);}
.cart-empty-note{font-size:14px; color:#697a77; background:var(--paper-2); border-radius:8px; padding:16px; margin-bottom:18px;}
.cart-empty-note a{color:var(--teal-800); font-weight:600;}

/* ---------- ADMIN PANEL ---------- */
.admin-shell{background:var(--paper); min-height:100vh;}
.admin-topbar{background:var(--ink); color:#fff; padding:16px 0;}
.admin-topbar .wrap{display:flex; align-items:center; justify-content:space-between;}
.admin-table{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden;}
.admin-table th, .admin-table td{padding:12px 14px; text-align:left; font-size:14px; border-bottom:1px solid var(--line);}
.admin-table th{background:var(--paper-2); font-family:'Barlow Condensed'; letter-spacing:.4px; text-transform:uppercase; font-size:12.5px; color:#5a6866;}
.admin-table img{width:36px; height:36px; object-fit:contain; background:var(--teal-tint); border-radius:5px; padding:3px;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-form-card{background:#fff; border:1px solid var(--line); border-radius:10px; padding:26px;}
.admin-badge{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; padding:3px 9px; border-radius:10px;}
.admin-badge.base{background:var(--teal-tint); color:var(--teal-800);}
.admin-badge.custom{background:#fde7e7; color:var(--red-dark);}
.admin-note{background:var(--teal-tint); border:1px solid var(--teal-700); border-radius:8px; padding:16px 18px; font-size:14px; color:var(--teal-900); margin-bottom:24px;}
.admin-danger-btn{background:var(--red); color:#fff; border:none; border-radius:5px; padding:6px 12px; font-size:13px; cursor:pointer; font-family:'Barlow Condensed'; font-weight:700;}
.admin-edit-btn{background:var(--paper-2); color:var(--ink); border:1px solid var(--line); border-radius:5px; padding:6px 12px; font-size:13px; cursor:pointer; font-family:'Barlow Condensed'; font-weight:700; margin-right:6px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px){
  nav.links{display:none;}
  .menu-toggle{display:block;}
  .hero-inner, .about-grid, .reveal-layout, .coverage-layout, .quote-layout,
  .split-media, .service-detail, .service-gallery{grid-template-columns:1fr;}
  .service-detail.reverse .media-frame{order:0;}
  .hero-stats{border-left:none; padding-left:0; border-top:2px solid rgba(255,255,255,.2); padding-top:20px;}
  .value-grid{grid-template-columns:1fr 1fr;}
  .province-list{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:130px;}
  .gallery-grid .big{grid-column:span 2; grid-row:span 1;}
  .product-grid, .featured-products-grid{grid-template-columns:repeat(2,1fr);}
  .lang-switch{order:3;}
}
@media (max-width: 560px){
  section{padding:64px 0;}
  .value-grid{grid-template-columns:1fr;}
  .province-list{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid, .featured-products-grid{grid-template-columns:1fr 1fr;}
}
