/* Sajan Metal — Nov 2026 features: page sections, product filters & tabs, comparison table, client slider, contact, FAQ.
   Uses the theme variables printed by theme_css() so colours follow Settings > Colours & fonts. */
:root{--smw-x-navy:var(--sajan-navy,#002b64);--smw-x-blue:var(--sajan-brand-navy,#174184);--smw-x-red:var(--sajan-cta,#d83824);--smw-x-soft:var(--sajan-soft-blue,#f2f5fb);--smw-x-line:var(--sajan-border,#dfe6f0);--smw-x-text:var(--sajan-charcoal,#1b1f27);--smw-x-radius:16px;--smw-x-shadow:0 10px 30px rgba(0,43,100,.08)}

/* ---------- generic section shell ---------- */
.smw-x-section{padding:clamp(2.5rem,5vw,4.5rem) 0}
.smw-x-theme-light{background:#fff}
.smw-x-theme-soft{background:var(--smw-x-soft)}
.smw-x-theme-dark{background:var(--smw-x-navy);color:#fff}
.smw-x-theme-dark .section-heading,.smw-x-theme-dark h2,.smw-x-theme-dark h3{color:#fff}
.smw-x-head{max-width:760px;margin:0 auto 2rem}
.smw-x-head .section-heading{margin-bottom:.5rem}
.smw-x-intro{color:#5b6475;margin:0 auto}
.smw-x-theme-dark .smw-x-intro{color:rgba(255,255,255,.82)}
.smw-x-center{display:flex;justify-content:center;margin-top:2rem}

/* ---------- strip: trust highlights under the hero ---------- */
.smw-x-strip{padding:1.25rem 0}
.smw-x-strip .smw-x-head{margin-bottom:1rem}
.smw-x-strip-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}
.smw-x-strip-list li{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--smw-x-line);border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(0,43,100,.04)}
.smw-x-strip-list i{font-size:1.35rem;color:var(--smw-x-red);flex:none}
.smw-x-strip-list strong{display:block;color:var(--smw-x-navy);font-size:.95rem;line-height:1.25}
.smw-x-strip-list small{display:block;color:#647084;font-size:.8rem;margin-top:.15rem}
.smw-x-theme-dark .smw-x-strip-list li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.smw-x-theme-dark .smw-x-strip-list strong{color:#fff}

/* ---------- badges: certification chips ---------- */
.smw-x-badges{padding:2rem 0}
.smw-x-badge-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.smw-x-badge-list li{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--smw-x-line);background:#fff;color:var(--smw-x-navy);font-weight:600;font-size:.88rem}
.smw-x-badge-list i{color:var(--smw-x-red)}

/* ---------- cards ---------- */
.smw-x-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--smw-x-line);border-radius:var(--smw-x-radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.smw-x-card:hover{transform:translateY(-3px);box-shadow:var(--smw-x-shadow)}
.smw-x-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--smw-x-soft)}
.smw-x-card-icon{display:inline-grid;place-items:center;width:52px;height:52px;margin:1.4rem 1.4rem 0;border-radius:14px;background:var(--smw-x-soft);color:var(--smw-x-red);font-size:1.45rem}
.smw-x-card-body{padding:1.1rem 1.4rem 1.4rem}
.smw-x-card h3{font-size:1.05rem;font-weight:700;color:var(--smw-x-navy);margin:0 0 .4rem}
.smw-x-card p{color:#5b6475;font-size:.92rem;margin:0}
.smw-x-theme-dark .smw-x-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.smw-x-theme-dark .smw-x-card h3{color:#fff}.smw-x-theme-dark .smw-x-card p{color:rgba(255,255,255,.8)}
.smw-x-more{display:inline-flex;align-items:center;gap:.35rem;margin-top:.75rem;color:var(--smw-x-blue);font-weight:650;font-size:.9rem;text-decoration:none}
.smw-x-more:hover{color:var(--smw-x-red)}

/* ---------- steps: manufacturing process ---------- */
.smw-x-panel{background:var(--smw-x-soft);border-radius:20px;padding:clamp(1.5rem,4vw,2.75rem)}
.smw-x-theme-soft .smw-x-panel{background:#fff}
.smw-x-theme-dark .smw-x-panel{background:rgba(255,255,255,.05)}
.smw-x-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--steps),minmax(0,1fr));gap:1rem;position:relative;counter-reset:none}
.smw-x-steps::before{content:"";position:absolute;left:12%;right:12%;top:28px;border-top:2px dashed var(--smw-x-line)}
.smw-x-steps li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.3rem}
.smw-x-step-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--smw-x-line);color:var(--smw-x-navy);font-size:1.35rem;position:relative;z-index:1}
.smw-x-step-no{color:var(--smw-x-red);font-weight:800;font-size:.78rem;letter-spacing:.08em;margin-top:.35rem}
.smw-x-steps strong{color:var(--smw-x-navy);font-size:.95rem}
.smw-x-steps small{color:#647084;font-size:.82rem;max-width:220px}
.smw-x-theme-dark .smw-x-steps strong{color:#fff}
@media (max-width:767.98px){.smw-x-steps{grid-template-columns:1fr 1fr}.smw-x-steps::before{display:none}}

/* ---------- call-to-action band ---------- */
.smw-x-cta{padding:clamp(2rem,4vw,3.5rem) 0;background:transparent}
.smw-x-cta-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.75rem,4vw,3rem);border-radius:22px;background:linear-gradient(120deg,var(--smw-x-navy),var(--smw-x-blue));color:#fff;box-shadow:var(--smw-x-shadow)}
.smw-x-theme-light .smw-x-cta-box{background:var(--smw-x-soft);color:var(--smw-x-text)}
.smw-x-theme-light .smw-x-cta-box h2{color:var(--smw-x-navy)}
.smw-x-cta-box h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;margin:0 0 .4rem;color:#fff}
.smw-x-cta-box p{margin:0;opacity:.88;max-width:640px}
.smw-x-cta-phone{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;color:inherit;font-weight:700;text-decoration:none}
.smw-x-cta-phone:hover{text-decoration:underline;color:inherit}
.smw-x-cta-action .btn{padding:.8rem 1.6rem;border-radius:999px}

/* ---------- products page: filters + cards ---------- */
.smw-x-pills{gap:.5rem!important}
.smw-x-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;border-radius:999px;border:1px solid var(--smw-x-line);background:#fff;color:var(--smw-x-navy);font-weight:600;font-size:.88rem;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.smw-x-pill span{font-size:.75rem;opacity:.65}
.smw-x-pill:hover{border-color:var(--smw-x-navy)}
.smw-x-pill.is-active{background:var(--smw-x-navy);border-color:var(--smw-x-navy);color:#fff}
.smw-x-product-card{position:relative;border:1px solid var(--smw-x-line)!important;border-radius:var(--smw-x-radius)!important;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;background:#fff}
.smw-x-product-card:hover{transform:translateY(-3px);box-shadow:var(--smw-x-shadow)}
.smw-x-product-card .card-img-top{aspect-ratio:4/3;object-fit:cover;background:var(--smw-x-soft)}
.smw-x-product-card .card-body{padding:1.1rem 1.25rem 1.3rem}
.smw-x-product-card h3{color:var(--smw-x-navy);font-weight:700;margin:.2rem 0 .35rem}
.smw-x-product-card p{color:#5b6475;font-size:.9rem;margin:0}
.smw-x-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--smw-x-red)}
[data-smw-product][hidden]{display:none!important}

/* ---------- product-line pages: tabs + comparison ---------- */
.smw-x-family{display:block}
.smw-x-tablist{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.smw-x-tablist button{border:1px solid var(--smw-x-line);background:#fff;color:var(--smw-x-navy);border-radius:999px;padding:.5rem 1.05rem;font-weight:600;font-size:.88rem;cursor:pointer}
.smw-x-tablist button[aria-selected="true"]{background:var(--smw-x-navy);border-color:var(--smw-x-navy);color:#fff}
.smw-x-tablist button:focus-visible{outline:3px solid rgba(23,65,132,.35);outline-offset:2px}
.smw-x-tabpanel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:center;background:#fff;border:1px solid var(--smw-x-line);border-radius:20px;padding:clamp(1rem,3vw,2rem);box-shadow:var(--smw-x-shadow)}
.smw-x-tabpanel[hidden]{display:none}
.smw-x-tab-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:var(--smw-x-soft)}
.smw-x-tab-body h3{color:var(--smw-x-navy);font-weight:800;font-size:clamp(1.3rem,2.4vw,1.75rem);margin:0 0 .5rem}
.smw-x-tab-body p{color:#5b6475}
.smw-x-checklist{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}
.smw-x-checklist li{display:flex;gap:.55rem;align-items:flex-start;font-size:.94rem}
.smw-x-checklist i{color:var(--smw-x-red);margin-top:.15rem}
.smw-x-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.smw-x-actions .btn{border-radius:999px;padding:.6rem 1.3rem}
@media (max-width:767.98px){.smw-x-tabpanel{grid-template-columns:1fr}}
.smw-x-compare{margin-top:clamp(2rem,5vw,3.5rem)}
.smw-x-compare-title{text-align:center;color:var(--smw-x-navy);font-weight:800;font-size:clamp(1.25rem,2.5vw,1.6rem);margin-bottom:1.25rem}
.smw-x-compare-table,.smw-x-spec-table{background:#fff;border:1px solid var(--smw-x-line);border-radius:14px;overflow:hidden;margin:0;font-size:.9rem}
.smw-x-compare-table thead th{background:var(--smw-x-soft);color:var(--smw-x-navy);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.smw-x-compare-table thead th a{color:inherit;text-decoration:none}
.smw-x-compare-table th[scope="row"],.smw-x-spec-table th{color:var(--smw-x-navy);font-weight:650;white-space:nowrap}
.smw-x-compare-table td,.smw-x-compare-table th,.smw-x-spec-table td,.smw-x-spec-table th{padding:.75rem 1rem;border-color:var(--smw-x-line)}

/* ---------- home: client logo slider ---------- */
.smw-x-clients{background:#fff}
.smw-x-clients-wrap{display:block!important;margin-top:1.75rem}
.smw-x-slider{position:relative;display:flex;align-items:center;gap:.5rem}
.smw-x-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;outline:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.smw-x-viewport::-webkit-scrollbar{display:none}
.smw-x-viewport:focus-visible{outline:3px solid rgba(23,65,132,.35);outline-offset:4px;border-radius:12px}
.smw-x-track{list-style:none;margin:0;padding:.5rem 1rem;display:flex;gap:1rem}
.smw-x-slide{flex:0 0 calc((100% - 4rem)/5);scroll-snap-align:start;min-width:150px}
@media (max-width:991.98px){.smw-x-slide{flex-basis:calc((100% - 2rem)/3)}}
@media (max-width:575.98px){.smw-x-slide{flex-basis:calc((100% - 1rem)/2);min-width:0}}
.smw-x-slide>a,.smw-x-slide>div{display:flex;flex-direction:column;align-items:center;gap:.5rem;height:100%;text-decoration:none;color:var(--smw-x-navy)}
.smw-x-logo{display:grid;place-items:center;width:100%;height:110px;padding:1rem;border:1px solid var(--smw-x-line);border-radius:14px;background:#fff;transition:box-shadow .2s ease,border-color .2s ease}
.smw-x-logo img{max-width:100%;max-height:72px;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .25s ease,opacity .25s ease}
.smw-x-slide:hover .smw-x-logo,.smw-x-slide :focus-visible .smw-x-logo{box-shadow:var(--smw-x-shadow);border-color:#c7d3e6}
.smw-x-slide:hover .smw-x-logo img{filter:none;opacity:1}
.smw-x-logo-text{font-weight:700;font-size:.9rem;text-align:center;line-height:1.25}
.smw-x-logo-name{font-size:.8rem;font-weight:600;text-align:center;line-height:1.25}
.smw-x-nav{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--smw-x-line);background:#fff;color:var(--smw-x-navy);font-size:1.05rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,43,100,.06)}
.smw-x-nav:hover{background:var(--smw-x-navy);color:#fff;border-color:var(--smw-x-navy)}
.smw-x-nav:focus-visible{outline:3px solid rgba(23,65,132,.35);outline-offset:2px}
@media (max-width:575.98px){.smw-x-nav{display:none}}
.smw-x-logo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.smw-x-logo-grid .smw-x-slide{min-width:0}

/* ---------- contact ---------- */
.smw-x-map{border-radius:14px;overflow:hidden;border:1px solid var(--smw-x-line)}
.smw-x-map iframe{border:0}
.smw-x-social{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--smw-x-line);font-size:.85rem;font-weight:600}
.smw-x-social div{display:flex;gap:.4rem}
.smw-x-social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--smw-x-soft);color:var(--smw-x-navy);text-decoration:none}
.smw-x-social a:hover{background:var(--smw-x-navy);color:#fff}

/* ---------- FAQ ---------- */
.smw-x-faq{border:1px solid var(--smw-x-line);border-radius:14px;background:#fff;margin-bottom:.75rem;overflow:hidden}
.smw-x-faq summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.25rem;font-weight:650;color:var(--smw-x-navy);position:relative}
.smw-x-faq summary::-webkit-details-marker{display:none}
.smw-x-faq summary::after{content:"+";position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--smw-x-red)}
.smw-x-faq[open] summary::after{content:"–"}
.smw-x-faq>div{padding:0 1.25rem 1rem;color:#4b5567}
.smw-x-faq[hidden]{display:none}

@media (prefers-reduced-motion:reduce){.smw-x-card,.smw-x-product-card,.smw-x-viewport{transition:none;scroll-behavior:auto}}
/* The old stylesheet forces #home-client-grid into a 3-column grid with !important; the slider needs a plain block. */
#home-client-grid.smw-x-clients-wrap{display:block!important;grid-template-columns:none!important}
@media (max-width:575.98px){.smw-x-strip-list{grid-template-columns:1fr 1fr;gap:.5rem}.smw-x-strip-list li{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.7rem}.smw-x-strip-list small{display:none}}
