/* =========================================================
   Commercial Door Closer — B2B industrial design system
   ========================================================= */
:root{
  --ink:#1C2530;
  --steel:#3E4C5E;
  --steel-light:#63758c;
  --brass:#A9722B;
  --brass-dark:#8a5c22;
  --paper:#FAFAF8;
  --paper-alt:#F1EEE7;
  --line:#DAD6CC;
  --amazon:#FF9900;
  --amazon-dark:#e68a00;
  --ok:#3d6b3d;
  --radius:2px;
  --maxw:1180px;
  --font-head:'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:700;
  line-height:1.08;
  margin:0 0 .5em;
  letter-spacing:.2px;
}
h1{font-size:clamp(2.1rem,4.5vw,3.4rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em;max-width:70ch}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section{padding:56px 0}
.section-tight{padding:32px 0}
.bg-alt{background:var(--paper-alt)}
.bg-ink{background:var(--ink);color:#fff}

/* ---------- Skip link ---------- */
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:var(--ink);padding:10px 16px;z-index:200}
.skip-link:focus{left:10px;top:10px}

/* ---------- Top utility bar ---------- */
.utility-bar{
  background:var(--ink);color:#cfd6de;font-size:.82rem;padding:7px 0;
}
.utility-bar .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.utility-bar a{color:#fff;text-decoration:none}
.utility-bar a:hover{text-decoration:underline}
.lang-switch{white-space:nowrap;font-weight:700}
.lang-switch a{text-decoration:underline}

/* ---------- Header ---------- */
header.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}
.brand{font-family:var(--font-head);font-weight:700;font-size:1.55rem;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;line-height:1}
.brand small{font-family:var(--font-body);font-weight:500;font-size:.62rem;letter-spacing:1.5px;color:var(--brass);text-transform:uppercase;margin-top:3px}

nav.main-nav{display:flex;gap:2px}
nav.main-nav a{
  display:block;padding:10px 14px;text-decoration:none;color:var(--ink);
  font-weight:600;font-size:.95rem;border-bottom:2px solid transparent;
}
nav.main-nav a:hover,nav.main-nav a[aria-current="page"]{border-bottom-color:var(--brass);color:var(--brass-dark)}

.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 10px;font-size:1.2rem;cursor:pointer}

.header-cta{display:flex;align-items:center;gap:14px}
.btn-shop{padding:15px 32px;font-size:1.02rem;box-shadow:0 3px 0 var(--brass-dark)}
.btn-shop:hover{box-shadow:0 2px 0 var(--brass-dark);transform:translateY(1px)}

@media (max-width:880px){
  nav.main-nav{
    position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;display:none;
  }
  nav.main-nav.open{display:flex}
  .nav-toggle{display:block}
}
@media (max-width:460px){
  .btn-shop{padding:11px 18px;font-size:.9rem}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;font-weight:700;text-decoration:none;border:1px solid transparent;
  border-radius:var(--radius);font-size:.95rem;cursor:pointer;font-family:var(--font-body);
  line-height:1.1;
}
.btn-brass{background:var(--brass);color:#fff}
.btn-brass:hover{background:var(--brass-dark)}
.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-outline-light{background:transparent;border-color:#fff;color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--ink)}
.btn-amazon{background:var(--amazon);color:#111}
.btn-amazon:hover{background:var(--amazon-dark)}
.btn-block{width:100%}
.btn-sm{padding:9px 16px;font-size:.85rem}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:.82rem;color:var(--steel-light);padding:14px 0}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0;gap:6px}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:6px;color:var(--line)}
.breadcrumb a{text-decoration:none;color:var(--steel)}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb li[aria-current]{color:var(--ink);font-weight:600}

/* ---------- Hero ---------- */
.hero{padding:52px 0 60px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero-eyebrow{color:var(--brass-dark);font-weight:700;font-size:.85rem;margin-bottom:10px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.hero-badge{border:1px solid var(--line);padding:7px 12px;font-size:.82rem;font-weight:600;background:var(--paper-alt)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.hero-img{border:1px solid var(--line);background:var(--paper-alt);padding:10px}
.product-gallery .gallery-main{border:1px solid var(--line);background:var(--paper-alt);padding:10px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-gallery .gallery-main img{width:100%;height:100%;object-fit:contain}
.product-gallery .gallery-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.product-gallery .gallery-thumbs img{
  width:64px;height:64px;object-fit:cover;border:2px solid var(--line);cursor:pointer;background:#fff;
}
.product-gallery .gallery-thumbs img:hover{border-color:var(--steel-light)}
.product-gallery .gallery-thumbs img.active{border-color:var(--brass)}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr}}

/* ---------- Cards / grid ---------- */
.grid{display:grid;gap:26px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:880px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

.card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column}
.card-img{border-bottom:1px solid var(--line);background:var(--paper-alt);aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center}
.card-img img{object-fit:cover;width:100%;height:100%}
.card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-price{font-family:var(--font-head);font-size:1.6rem;color:var(--ink)}
.card-price .was{font-family:var(--font-body);font-size:.9rem;color:var(--steel-light);text-decoration:line-through;margin-right:6px;font-weight:400}
.card-tag{display:inline-block;background:var(--brass);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;align-self:flex-start}
.card-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.card-actions .btn{flex:1}

/* ---------- Spec table ---------- */
table.spec-table{width:100%;border-collapse:collapse;margin:24px 0}
table.spec-table th,table.spec-table td{border:1px solid var(--line);padding:11px 14px;text-align:left;font-size:.94rem}
table.spec-table th{background:var(--paper-alt);width:38%;font-weight:700}

/* ---------- Feature list ---------- */
.feature-list{list-style:none;margin:18px 0;padding:0;display:grid;gap:10px}
.feature-list li{padding-left:26px;position:relative}
.feature-list li::before{content:"—";position:absolute;left:0;color:var(--brass);font-weight:700}

/* ---------- Steps (real sequences only) ---------- */
.steps{counter-reset:step;list-style:none;margin:20px 0;padding:0;display:grid;gap:16px}
.steps li{counter-increment:step;padding-left:44px;position:relative}
.steps li::before{
  content:counter(step);position:absolute;left:0;top:0;width:30px;height:30px;
  background:var(--ink);color:#fff;font-family:var(--font-head);font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:.95rem;
}

/* ---------- Industry tiles ---------- */
.industry-tile{border:1px solid var(--line);background:#fff;padding:22px;text-decoration:none;color:var(--ink);display:block}
.industry-tile:hover{border-color:var(--brass)}
.industry-tile h3{margin-bottom:6px;color:var(--ink)}
.industry-tile span{color:var(--brass-dark);font-weight:700;font-size:.85rem}

/* ---------- CTA banner ---------- */
.cta-banner{background:var(--ink);color:#fff;padding:44px 0;text-align:center}
.cta-banner h2{color:#fff}
.cta-banner .btn-outline{border-color:#fff;color:#fff}
.cta-banner .btn-outline:hover{background:#fff;color:var(--ink)}

/* ---------- Trust strip ---------- */
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-alt)}
.trust-strip .grid{padding:26px 0;text-align:center}
.trust-strip h4{font-size:.95rem;margin-bottom:2px}
.trust-strip p{font-size:.85rem;color:var(--steel);margin:0}

/* ---------- Forms ---------- */
form.contact-form{display:grid;gap:14px;max-width:640px}
form.contact-form label{font-weight:600;font-size:.9rem;display:block;margin-bottom:5px}
form.contact-form input,form.contact-form textarea,form.contact-form select{
  width:100%;padding:12px;border:1px solid var(--line);font-family:var(--font-body);font-size:1rem;background:#fff;
}
form.contact-form textarea{min-height:130px}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink);color:#c9d0d8;padding:50px 0 24px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.footer-grid h5{color:#fff;font-family:var(--font-head);font-size:1.05rem;margin-bottom:14px;letter-spacing:.4px}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-grid a{color:#c9d0d8;text-decoration:none;font-size:.92rem}
.footer-grid a:hover{color:#fff;text-decoration:underline}
.footer-bottom{border-top:1px solid #33404f;margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#93a0ae}
@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* ---------- Utility ---------- */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.text-center{text-align:center}
.mt-0{margin-top:0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
