/* ==========================================================================
   PrintSimply — site.css
   Hand-authored stylesheet. No vendor/theme code. Reproduces the look of
   Kevin's Shopify "Ignite" configuration from config/settings_data.json.
   ========================================================================== */

/* ---- Fonts (self-hosted, open licences) ---------------------------------- */
@font-face{font-family:'Noto Sans Display';font-style:normal;font-weight:500;font-display:swap;
  src:url('/fonts/notosansdisplay-500.woff2') format('woff2'),url('/fonts/notosansdisplay-500.woff') format('woff');}
@font-face{font-family:'Noto Sans Display';font-style:normal;font-weight:600;font-display:swap;
  src:url('/fonts/notosansdisplay-600.woff2') format('woff2'),url('/fonts/notosansdisplay-600.woff') format('woff');}
@font-face{font-family:'Noto Sans Display';font-style:normal;font-weight:700;font-display:swap;
  src:url('/fonts/notosansdisplay-700.woff2') format('woff2'),url('/fonts/notosansdisplay-700.woff') format('woff');}
@font-face{font-family:'Noto Sans Display';font-style:italic;font-weight:600;font-display:swap;
  src:url('/fonts/notosansdisplay-600i.woff2') format('woff2'),url('/fonts/notosansdisplay-600i.woff') format('woff');}
@font-face{font-family:'Noto Sans Display';font-style:italic;font-weight:700;font-display:swap;
  src:url('/fonts/notosansdisplay-700i.woff2') format('woff2'),url('/fonts/notosansdisplay-700i.woff') format('woff');}
/* Lato — Shopify uses weight 500 (Lato Medium); Google/OFL ships 400/700, so
   we map 500 to the 400 file to avoid faux-bold. */
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;
  src:url('/fonts/lato-400.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:500;font-display:swap;
  src:url('/fonts/lato-400.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;
  src:url('/fonts/lato-700.woff2') format('woff2');}

/* ---- Design tokens (from settings_data.json "current") ------------------- */
:root{
  --font-heading:'Noto Sans Display',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-nav:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-article:'Times New Roman',Times,serif;

  --bg:#f8f9fa;          /* scheme-1 page background */
  --white:#ffffff;        /* scheme-2 cards/header  */
  --ink:#121212;          /* primary text/heading    */
  --body:#191919;
  --muted:#3c4043;
  --line:#e4e7ea;

  --blue:#2277c7;         /* brand blue: announcement + trust bar */
  --blue-link:#1c70be;    /* nav / links */
  --blue-deep:#1a5ab3;
  --green:#1c70be;        /* accent = BRAND BLUE (Simon corrected #121: brand is blue, not green) */
  --green-dk:#155a97;
  --dark:#121212;         /* scheme-3 ribbon */

  --r-box:16px;--r-card:8px;--r-btn:4px;--r-media:20px;--r-input:6px;
  --page:1360px;
  --sp:60px;              /* spacing_sections */
  --hspace:24px;
}

/* ---- Reset / base ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font-body);color:var(--body);background:var(--bg);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--blue-link);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:600;color:var(--ink);
  letter-spacing:-0.03em;line-height:1.15;margin:0 0 .5em;}
h1{font-size:clamp(2.2rem,4.5vw,3.6rem);}
h2{font-size:clamp(1.9rem,3.4vw,2.9rem);}
h3{font-size:1.5rem;}
p{margin:0 0 1rem;}
em{font-style:italic;}
.container{max-width:var(--page);margin:0 auto;padding:0 var(--hspace);}
.section{padding:var(--sp) 0;}
.accent{color:var(--green);}
.tcenter{text-align:center;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* ---- Buttons ------------------------------------------------------------ */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-body);
  font-weight:700;text-transform:uppercase;letter-spacing:-.01em;font-size:.9rem;
  padding:.85em 1.6em;border-radius:var(--r-btn);border:1px solid transparent;
  cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
  text-decoration:none;line-height:1;}
.btn:hover{transform:scale(1.04);text-decoration:none;}
.btn--primary{background:var(--green);color:#fff;}
.btn--primary:hover{background:var(--green-dk);color:#fff;}
.btn--blue{background:var(--blue-link);color:#fff;}
.btn--blue:hover{background:var(--blue-deep);color:#fff;}
.btn--secondary{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--secondary:hover{background:var(--ink);color:#fff;}
.btn--light{background:#fff;color:var(--ink);}
.btn--link{background:none;padding:0;color:var(--ink);text-transform:none;font-weight:700;
  border:0;letter-spacing:-.01em;}
.btn--link:hover{transform:none;color:var(--green);text-decoration:none;}
.btn .arrow{transition:transform .15s ease;}
.btn:hover .arrow{transform:translateX(3px);}

/* ---- Announcement bar --------------------------------------------------- */
.announce{background:var(--blue);color:#fff;font-size:.82rem;letter-spacing:.02em;}
.announce .container{display:flex;align-items:center;justify-content:center;gap:1rem;
  min-height:38px;position:relative;}
.announce a{color:#fff;text-decoration:underline;position:absolute;right:var(--hspace);
  display:inline-flex;align-items:center;gap:.35em;font-size:.8rem;}

/* ---- Header (two rows: top bar + centered nav) -------------------------- */
.site-header{background:var(--white);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 var(--line);}
.header-top{border-bottom:1px solid var(--line);}
.header-top .container{display:flex;align-items:center;gap:1.5rem;min-height:78px;}
.logo img{width:120px;height:auto;}
.header-search{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-input);
  overflow:hidden;background:#fff;flex:1;max-width:660px;margin:0 auto;}
.header-search select{border:0;border-right:1px solid var(--line);background:#f4f6f8;padding:0 .7em;
  font-size:.88rem;color:var(--muted);outline:none;cursor:pointer;font-family:var(--font-body);}
.header-search input{border:0;padding:.7em .9em;font-size:.92rem;outline:none;flex:1;font-family:var(--font-body);}
.header-search button{border:0;background:var(--blue-link);color:#fff;padding:0 1em;cursor:pointer;display:flex;align-items:center;}
.header-actions{display:flex;align-items:center;gap:.9rem;margin-left:auto;}
.cta-quote{display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--green);color:#fff;border-radius:var(--r-btn);padding:.55em 1.2em;line-height:1.2;
  font-weight:700;text-align:center;white-space:nowrap;}
.cta-quote:hover{background:var(--green-dk);color:#fff;text-decoration:none;}
.cta-quote .cta-top{font-size:.72rem;text-transform:uppercase;letter-spacing:.02em;}
.cta-quote .cta-phone{font-size:1.02rem;font-family:var(--font-heading);font-weight:700;}
.icon-btn{color:var(--ink);display:flex;align-items:center;}
.icon-btn:hover{color:var(--blue-link);}
.header-nav .container{display:flex;justify-content:center;}
.main-nav{display:flex;gap:1.8rem;padding:.6rem 0;font-family:var(--font-nav);font-weight:500;
  font-size:1.05rem;letter-spacing:-.01em;}
.main-nav a{color:var(--ink);padding:.3em 0;position:relative;}
.main-nav a:hover{color:var(--blue-link);text-decoration:none;}
.main-nav a.is-active{color:var(--blue-link);}
.main-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue-link);}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;color:var(--ink);}
/* gradient heading (theme scheme-2 accent: blue -> green) */
.grad{background-image:linear-gradient(360deg,#1390d6 11%,#1fc66c 84%);background-clip:text;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#1390d6;}

/* ---- Trust bar (icons-with-text) --------------------------------------- */
.trustbar{background:var(--blue);color:#fff;}
.trustbar .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;}
.trust-item{display:flex;align-items:flex-start;gap:.9rem;padding:1.15rem .5rem;position:relative;}
.trust-item:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:rgba(255,255,255,.25);}
.trust-item .ti-icon{flex:0 0 auto;width:38px;height:38px;color:#fff;opacity:.95;}
.trust-item h4{color:#fff;font-size:1rem;margin:0 0 .1em;letter-spacing:-.01em;}
.trust-item p{margin:0;font-size:.86rem;opacity:.92;line-height:1.3;}

/* ---- Rich text hero ----------------------------------------------------- */
.hero-rich{padding:calc(var(--sp)*1.1) 0;text-align:center;}
.hero-rich h1{max-width:18ch;margin:0 auto;line-height:1.18;}
.hero-rich .accent{font-style:normal;color:var(--green);}
.hero-rich .hl-your{font-style:normal;color:#8946af;} /* #121 hero "your"=purple, sampled from original */
.hero-rich .hl-ours{font-style:normal;color:#6a5bb9;} /* #121 hero "ours"=blue, sampled from original */

/* ---- Slideshow ---------------------------------------------------------- */
.slideshow{position:relative;}
.slides{position:relative;height:540px;border-radius:var(--r-media);overflow:hidden;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;display:flex;
  align-items:center;justify-content:center;}
.slide.is-active{opacity:1;z-index:2;}
.slide img.slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.slide-box{position:relative;z-index:3;background:rgba(255,255,255,.96);border-radius:var(--r-box);
  padding:2.2rem 2.4rem;max-width:520px;margin:0 1.5rem;box-shadow:0 10px 40px rgba(0,0,0,.15);text-align:center;}
.slide-box h2{margin:0 0 .6rem;font-size:2rem;}
.slide-box p{margin:0 0 1.2rem;color:var(--muted);}
.slide--left{justify-content:flex-start;}
.slide--left .slide-box{margin-left:6%;}
.slide-nav{position:absolute;bottom:16px;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:1rem;}
.slide-dots{display:flex;gap:.5rem;}
.slide-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.6);cursor:pointer;padding:0;}
.slide-dots button.is-active{background:#fff;}
.slide-counter{color:#fff;font-size:.85rem;text-shadow:0 1px 3px rgba(0,0,0,.5);font-variant-numeric:tabular-nums;}

/* ---- Ribbon banner ------------------------------------------------------ */
.ribbon-wrap{padding:var(--sp) 0;}
.ribbon{background:var(--dark);color:#fff;border-radius:var(--r-box);padding:2.6rem 2rem;
  display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;position:relative;overflow:hidden;}
.ribbon h3{color:#fff;font-size:1.9rem;margin:0;}
.ribbon p{margin:.1rem 0;font-size:1.1rem;}
.ribbon .ribbon-sub{opacity:.85;}
.ribbon-code{margin-top:1rem;display:inline-flex;align-items:center;gap:.6rem;background:#008dfe;color:#fff;
  border-radius:var(--r-btn);padding:.7em 1.3em;font-weight:700;letter-spacing:.04em;}
.ribbon-code b{font-size:1.15rem;}
.ribbon-close{position:absolute;top:12px;right:14px;background:none;border:0;color:rgba(255,255,255,.7);
  font-size:1.3rem;cursor:pointer;line-height:1;}
.ribbon-close:hover{color:#fff;}
.ribbon .btn{margin-top:1rem;}

/* ---- Stats -------------------------------------------------------------- */
.stats{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stats .sec-head{text-align:center;margin-bottom:2.4rem;}
.stats .sec-head h2{margin-bottom:.3rem;}
.stats .sec-head p{color:var(--muted);}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:center;}
.stat-caption{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.2rem;}
.stat-number{font-family:var(--font-heading);font-weight:700;font-size:clamp(3rem,6vw,5rem);line-height:1;
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.stat-1{background-image:linear-gradient(276deg,#ffe431,#f99520 59%);}
.stat-2{background-image:linear-gradient(238deg,#f977ff 8%,#ba36ff 69%);}
.stat-3{background-image:linear-gradient(106deg,#57f7ff 6%,#21f9ef 68%);}
.stat-title{font-family:var(--font-heading);font-weight:600;font-size:1.3rem;color:var(--ink);margin-top:.3rem;}

/* ---- Image with collapsible content (category accordion) --------------- */
.icc{padding:var(--sp) 0;}
.icc-head{max-width:640px;margin-bottom:2rem;}
.icc-head h2{margin-bottom:.5rem;}
.icc-head p{color:var(--muted);}
.icc-grid{display:grid;grid-template-columns:1fr 42%;gap:2.5rem;align-items:stretch;}
.icc-media{border-radius:var(--r-media);overflow:hidden;min-height:420px;background:#eef1f4;position:relative;order:2;}
.icc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;}
.icc-media img.is-active{opacity:1;}
.accordion{order:1;}
.acc-row{border-bottom:1px solid var(--line);}
.acc-row:first-child{border-top:1px solid var(--line);}
.acc-btn{width:100%;background:none;border:0;display:flex;align-items:center;gap:.9rem;
  padding:1.3rem .2rem;cursor:pointer;text-align:left;font-family:var(--font-heading);
  font-weight:600;font-size:1.3rem;color:var(--ink);letter-spacing:-.02em;}
.acc-btn .acc-ico{width:26px;height:26px;flex:0 0 auto;color:var(--green);}
.acc-btn .acc-plus{margin-left:auto;font-size:1.4rem;color:var(--muted);transition:transform .25s ease;}
.acc-row.is-open .acc-plus{transform:rotate(45deg);}
.acc-content{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-content .inner{padding:0 .2rem 1.4rem 3.5rem;color:var(--muted);}
.acc-row.is-open .acc-content{max-height:320px;}

/* ---- Section heading (shared) ------------------------------------------ */
.sec-head-l{margin-bottom:2rem;}
.sec-head-l h2{margin-bottom:.4rem;}
.sec-head-l p{color:var(--muted);margin:0;}

/* ---- Gallery ------------------------------------------------------------ */
.gallery{border-top:1px solid var(--line);}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;grid-auto-rows:220px;}
.gallery-grid .g-item{overflow:hidden;border-radius:var(--r-card);}
.gallery-grid .g-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery-grid .g-item:hover img{transform:scale(1.06);}
.g-item.g-big{grid-column:span 2;grid-row:span 2;}

/* ---- Testimonials ------------------------------------------------------- */
.testimonials{background:var(--bg);}
.testi-head{text-align:center;margin-bottom:2.4rem;}
.testi-head p{color:var(--muted);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.testi-card{background:#fff;border-radius:var(--r-card);padding:2rem;box-shadow:0 6px 24px rgba(0,0,0,.07);
  display:flex;flex-direction:column;}
.testi-stars{color:#f5e121;font-size:1.15rem;letter-spacing:.1em;margin-bottom:.9rem;}
.testi-card h3{font-size:1.2rem;margin-bottom:.7rem;}
.testi-card .quote{color:var(--muted);flex:1;margin-bottom:1.2rem;}
.testi-author{font-weight:700;color:var(--ink);}
.testi-author span{display:block;font-weight:400;color:var(--muted);font-size:.9rem;}

/* ---- Footer ------------------------------------------------------------- */
.site-footer{background:#0f1113;color:#c7cbd0;padding:var(--sp) 0 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:2.5rem;padding-bottom:2.5rem;}
.site-footer h4{color:#fff;font-size:1.15rem;margin-bottom:1rem;}
.site-footer p{color:#9aa0a6;margin:0 0 .5rem;}
.footer-brand .fb-logo{background:#fff;border-radius:8px;padding:.6rem .8rem;display:inline-block;margin-bottom:1rem;}
.footer-brand .fb-logo img{width:150px;}
.footer-links a{display:block;color:#c7cbd0;padding:.3rem 0;}
.footer-links a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.3rem 0;font-size:.85rem;color:#8a9095;}

/* ---- Breadcrumbs -------------------------------------------------------- */
.breadcrumbs{padding:1.1rem 0;font-size:.85rem;color:var(--muted);border-bottom:1px solid var(--line);background:#fff;}
.breadcrumbs a{color:var(--muted);}
.breadcrumbs a:hover{color:var(--blue-link);}
.breadcrumbs span{margin:0 .5em;opacity:.5;}

/* ---- Page header -------------------------------------------------------- */
.page-hero{text-align:center;padding:calc(var(--sp)*.9) 0 calc(var(--sp)*.6);}
.page-hero h1{margin-bottom:.4rem;}
.page-hero p{color:var(--muted);max-width:60ch;margin:0 auto;}
.page-body{padding:0 0 var(--sp);}
.prose{max-width:760px;margin:0 auto;}
.prose h2{margin-top:2rem;}
.prose a{color:var(--blue-link);}

/* ---- Collection / product grid ----------------------------------------- */
.catalog-intro{text-align:center;padding:var(--sp) 0 1rem;}
.catalog-intro h2{margin-bottom:.5rem;font-size:clamp(2rem,4vw,3rem);}
.catalog-intro p{color:var(--muted);max-width:60ch;margin:0 auto;}
.catalog-banner{position:relative;border-radius:var(--r-media);overflow:hidden;margin-bottom:2rem;height:190px;}
.catalog-banner img{width:100%;height:100%;object-fit:cover;}
.catalog-banner span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:var(--font-heading);font-weight:700;font-size:2.6rem;letter-spacing:-.02em;
  text-shadow:0 2px 12px rgba(0,0,0,.45);background:rgba(0,0,0,.12);}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:2rem 0 var(--sp);}
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;
  display:flex;flex-direction:column;text-align:center;transition:box-shadow .2s ease,transform .2s ease;}
.product-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.09);transform:translateY(-3px);}
.pc-media{aspect-ratio:1/1;background:linear-gradient(135deg,#eef4fb,#eaf6ee);display:flex;
  align-items:center;justify-content:center;padding:1.5rem;}
.pc-media img{max-height:82%;width:auto;opacity:.9;}
.product-card .pc-body{padding:1.2rem 1rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.product-card h3{font-size:1.1rem;margin:0;color:var(--ink);}
.product-card .pc-desc{color:var(--muted);font-size:.88rem;flex:1;}
.product-card .quote-only{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);font-weight:700;}
.product-card .btn{margin-top:.4rem;align-self:center;}

/* ---- Product detail ----------------------------------------------------- */
.product{padding:var(--sp) 0;}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.product-media{border-radius:var(--r-media);overflow:hidden;background:linear-gradient(135deg,#eef4fb,#eaf6ee);
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:3rem;}
.product-media img{max-height:70%;width:auto;}
.product-info h1{font-size:2.4rem;margin-bottom:.4rem;}
.product-info .p-quote-label{display:inline-block;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--green);font-weight:700;margin-bottom:1rem;}
.product-info .p-desc{font-size:1.1rem;color:var(--muted);margin-bottom:1.5rem;}
.product-info ul{color:var(--muted);margin:0 0 1.5rem;padding-left:1.2rem;}
.product-info ul li{margin-bottom:.4rem;}
.p-cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.p-note{font-size:.85rem;color:var(--muted);margin-top:1.2rem;}

/* ---- Multicolumn (contact support cards) ------------------------------- */
.multicol{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.mc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:1.8rem;text-align:center;}
.mc-card h3{font-size:1.2rem;margin-bottom:.6rem;}
.mc-card p{color:var(--muted);margin-bottom:1rem;}

/* ---- Forms (quote + contact) ------------------------------------------- */
.form-section{padding:var(--sp) 0;}
.form-split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch;}
.form-media{border-radius:var(--r-media);overflow:hidden;min-height:100%;}
.form-media img{width:100%;height:100%;object-fit:cover;}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-box);padding:2.4rem;}
.form-card h2{margin-bottom:.3rem;}
.form-card .form-intro{color:var(--muted);margin-bottom:1.6rem;}
.field{margin-bottom:1.1rem;}
.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:var(--ink);}
.field .req{color:#d23;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-input);
  padding:.75em .9em;font-size:1rem;font-family:var(--font-body);background:#fff;color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--green);border-color:var(--green);}
.field textarea{min-height:130px;resize:vertical;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form-note{font-size:.85rem;color:var(--muted);margin-top:1rem;}
.form-status{display:none;margin-top:1rem;padding:1rem 1.2rem;border-radius:var(--r-input);font-size:.95rem;}
.form-status.ok{display:block;background:#e7f6ec;color:#0a5a24;border:1px solid #b7e2c4;}
.form-status.err{display:block;background:#fdecec;color:#a11;border:1px solid #f3c2c2;}

/* ---- Empty state (blog) ------------------------------------------------- */
.empty-state{text-align:center;padding:calc(var(--sp)*1.2) 0;color:var(--muted);}
.empty-state .es-ico{font-size:3rem;margin-bottom:1rem;}

/* ---- Collapsible content (brands / faq) -------------------------------- */
.collapse-group{max-width:820px;margin:0 auto;}
.collapse-group .cg-title{font-family:var(--font-heading);font-style:italic;font-size:1.6rem;margin:2rem 0 1rem;color:var(--ink);}
.faq-sub{font-family:var(--font-heading);font-weight:600;font-size:1.15rem;margin:1.6rem 0 .5rem;color:var(--green);}
.brand-cols{columns:2;column-gap:2rem;}
.brand-cols p{margin:.2rem 0;}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:1100px){
  .icc-grid{grid-template-columns:1fr;}
  .icc-media{min-height:320px;order:0;}
  .product-grid,.gallery-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  .main-nav,.header-search{display:none;}
  .header-nav{border:0;}
  .nav-toggle{display:flex;order:-1;}
  .main-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;
    padding:1rem var(--hspace);gap:.5rem;border-bottom:1px solid var(--line);box-shadow:0 10px 20px rgba(0,0,0,.08);z-index:60;}
  .trustbar .grid{grid-template-columns:repeat(2,1fr);}
  .trust-item:nth-child(2)::after{display:none;}
  .stats-grid,.testi-grid,.multicol{grid-template-columns:1fr;}
  .product-layout,.form-split{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:2rem;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}
  .field-row{grid-template-columns:1fr;}
  .slides{height:460px;}
}
@media (max-width:560px){
  .product-grid,.gallery-grid,.brand-cols{grid-template-columns:1fr;columns:1;}
  .cta-quote .cta-top{display:none;}
  .header-actions{gap:.5rem;}
}
