/*
Theme Name: Sew Pro Gears
Theme URI: https://example.com
Author: Sew Pro Gears
Description: An original WordPress theme for motorcycle clothing, workwear, security wear, and hosiery manufacturers. Catalog custom post type, quote request form, and a swatch-card visual language.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vantloom
*/

:root{
  /* ── Palette inspired by hansamfg.com ────────────────── */
  --canvas:        #F8F9FB;        /* crisp off-white pages          */
  --canvas-deep:   #F0F2F5;        /* subtle alt-section bg          */
  --ink:           #0D1321;        /* near-black navy (dark sections) */
  --ink-soft:      #4A5568;        /* body copy on light             */
  --indigo:        #0D1321;        /* kept as deepest dark           */
  --indigo-light:  #1E3A5F;        /* mid-navy accent                */
  --madder:        #D72638;        /* ── bright red (Hansa CTA red)  */
  --turmeric:      #E8A020;        /* warm amber highlight           */
  --thread-white:  #FFFFFF;        /* pure white                     */
  --thread-white-rgb: 255,255,255; /* rgb triplet of --thread-white, kept in sync by the Customizer */
  --line:          rgba(13,19,33,0.10);
  /* Utility tones */
  --red-dark:      #B01E2C;
  --red-glow:      rgba(215,38,56,0.15);
  --slate:         #1E293B;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:'Poppins',sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Poppins',sans-serif;font-weight:600;margin:0;letter-spacing:-0.01em;}
.mono{font-family:'Poppins',sans-serif;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
a{color:inherit;}
button{font-family:inherit;cursor:pointer;}
img{max-width:100%;display:block;}

/* ---------- ICONS (inline SVG, replaces emoji glyphs) ---------- */
.icon-svg{width:1em;height:1em;flex-shrink:0;}
.topbar-icon .icon-svg{width:18px;height:18px;}
.icon-btn .icon-svg,.menu-toggle .icon-svg{width:20px;height:20px;}
.swatch-icon-btn .icon-svg{width:17px;height:17px;}
.carousel-btn .icon-svg{width:18px;height:18px;}
.bulk-order-cta-links .icon-svg{width:15px;height:15px;}
.hero-arrow .icon-svg{width:16px;height:16px;}
.social-icons .icon-svg{width:16px;height:16px;}

/* ---------- HEADER: contact topbar + dark mainbar ---------- */
.site-header{position:sticky;top:0;z-index:50;}
.site-header.has-header-bg-image .topbar,.site-header.has-header-bg-image .mainbar{background:transparent;}
.site-footer.has-footer-bg-image{background-color:transparent;}
.topbar{background:var(--thread-white);border-bottom:1px solid var(--line);}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--ink);}
.logo-swatch{width:20px;height:26px;background:var(--indigo);clip-path:polygon(0% 5%,10% 0%,20% 5%,30% 0%,40% 5%,50% 0%,60% 5%,70% 0%,80% 5%,90% 0%,100% 5%,100% 95%,90% 100%,80% 95%,70% 100%,60% 95%,50% 100%,40% 95%,30% 100%,20% 95%,10% 100%,0% 95%);}

/* Uploaded custom logo: scales to fit, size adjustable via Customize → Header & Footer Layout */
.custom-logo-link{display:flex;align-items:center;}
.custom-logo-link img{width:auto;height:auto;object-fit:contain;}
.topbar-logo{display:flex;align-items:center;height:78px;}
.topbar-logo .custom-logo-link img{max-height:var(--logo-h-topbar, 38px);max-width:260px;}
.mainbar-logo .custom-logo-link{height:64px;display:flex;align-items:center;}
.mainbar-logo .custom-logo-link img{max-height:var(--logo-h-mainbar, 36px);max-width:260px;}
.footer-logo{display:flex;align-items:center;}
.footer-logo .custom-logo-link img{max-height:var(--logo-h-footer, 42px);max-width:280px;}
.topbar-info{display:flex;gap:34px;}
.topbar-item{display:flex;align-items:center;gap:10px;}
.topbar-icon{width:38px;height:38px;border-radius:50%;background:var(--canvas-deep);color:var(--madder);display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
.topbar-item div{display:flex;flex-direction:column;font-size:0.82rem;line-height:1.35;}
.topbar-item strong{font-family:'Poppins',sans-serif;font-weight:600;font-size:0.92rem;color:var(--ink);}
.topbar-item span{color:var(--ink-soft);}

.mainbar{background:var(--ink);}
.mainbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px;}
.navlinks{display:flex;gap:36px;font-size:var(--nav-font-size, 0.92rem);font-family:var(--nav-font-family, 'Poppins', sans-serif);font-weight:500;list-style:none;margin:0;padding:0;}
.navlinks li{position:relative;}
.navlinks a{text-decoration:none;color:var(--nav-link-color, rgba(var(--thread-white-rgb, 255,255,255),0.82));transition:color .2s;display:flex;align-items:center;gap:5px;padding:22px 0;}
.navlinks a:hover{color:var(--nav-link-hover-color, var(--turmeric));}
.navlinks .menu-item-has-children > a::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;}
.navlinks .sub-menu{list-style:none;margin:0;padding:10px 0;position:absolute;top:100%;left:0;min-width:230px;background:var(--thread-white);border-radius:2px;box-shadow:0 18px 34px rgba(43,35,32,0.22);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:60;}
.navlinks .menu-item-has-children:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.navlinks .sub-menu li{width:100%;}
.navlinks .sub-menu a{color:var(--ink);padding:11px 20px;font-size:0.88rem;font-weight:500;}
.navlinks .sub-menu a:hover{background:var(--canvas-deep);color:var(--indigo);}
.navlinks .sub-menu .menu-item-has-children > a::after{margin-left:auto;}
.mainbar-actions{display:flex;align-items:center;gap:18px;}
.icon-btn{background:none;border:none;color:var(--thread-white);font-size:1.05rem;padding:6px;position:relative;display:flex;}
.cart-icon-btn{text-decoration:none;}
.cart-count{position:absolute;top:-4px;right:-6px;background:var(--turmeric);color:var(--ink);font-size:0.62rem;font-weight:700;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;}
.nav-cta{background:var(--madder);color:var(--thread-white);border:none;padding:10px 20px;border-radius:2px;font-size:0.88rem;font-weight:500;text-decoration:none;display:inline-block;}
.menu-toggle{display:none;background:none;border:none;font-size:1.4rem;color:var(--thread-white);}

/* ---------- SEARCH OVERLAY ---------- */
.search-overlay{position:fixed;inset:0;background:rgba(43,35,32,0.92);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:16vh;opacity:0;transition:opacity .25s ease;}
.search-overlay[hidden]{display:none;}
.search-overlay.is-open{opacity:1;}
.search-overlay-inner{width:90%;max-width:620px;}
.search-overlay-form{display:flex;align-items:center;gap:14px;border-bottom:2px solid rgba(var(--thread-white-rgb, 255,255,255),0.4);padding-bottom:14px;}
.search-overlay-form .icon-svg{width:22px;height:22px;color:var(--thread-white);flex-shrink:0;}
.search-overlay-form input[type="search"]{flex:1;background:none;border:none;outline:none;color:var(--thread-white);font-size:1.4rem;font-family:'Poppins',sans-serif;}
.search-overlay-form input[type="search"]::placeholder{color:rgba(var(--thread-white-rgb, 255,255,255),0.5);}
.search-overlay-close{background:none;border:none;color:var(--thread-white);display:flex;padding:4px;}
.search-overlay-close .icon-svg{width:20px;height:20px;}

/* ---------- MOBILE NAV DRAWER ---------- */
.mobile-nav-overlay{position:fixed;inset:0;background:rgba(43,35,32,0.55);z-index:210;opacity:0;transition:opacity .3s ease;}
.mobile-nav-overlay[hidden]{display:none;}
.mobile-nav-overlay.is-open{opacity:1;}
.mobile-nav{position:fixed;top:0;right:0;bottom:0;width:82%;max-width:340px;background:var(--canvas);z-index:220;box-shadow:-8px 0 28px rgba(0,0,0,0.18);transform:translateX(100%);transition:transform .32s ease;display:flex;flex-direction:column;padding:26px 24px;overflow-y:auto;}
.mobile-nav.is-open{transform:translateX(0);}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}
.mobile-nav-close{background:none;border:none;color:var(--ink);display:flex;padding:4px;}
.mobile-nav-close .icon-svg{width:22px;height:22px;}
.mobile-navlinks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.mobile-navlinks a{display:block;padding:14px 4px;color:var(--ink);text-decoration:none;font-size:var(--nav-font-size, 1.05rem);font-family:var(--nav-font-family, 'Poppins', sans-serif);border-bottom:1px solid var(--line);}
.mobile-navlinks a:hover{color:var(--madder);}
.mobile-nav-foot{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:18px;}
.mobile-nav-foot .btn-primary{text-align:center;}
.mobile-nav-foot .social-icons{justify-content:center;}
.mobile-nav-foot .social-icons a{background:rgba(43,35,32,0.08);color:var(--ink);}
body.mobile-nav-is-open{overflow:hidden;}

/* ---------- Social icon links (shared: header topbar + footer) ---------- */
.social-icons{display:flex;gap:10px;}
.social-icons a{width:34px;height:34px;border-radius:50%;background:rgba(43,35,32,0.08);color:inherit;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;text-decoration:none;}
.social-icons a:hover{background:var(--turmeric);color:var(--ink);}

/* ---------- HEADER STYLE VARIANTS ---------- */
.mainbar-logo{display:none;}
.topbar-social{display:none;}

/* Style 2 — centered logo, stacked nav */
.header-style-2 .topbar-logo{display:none;}
.header-style-2 .topbar-inner{justify-content:center;}
.header-style-2 .mainbar-inner{flex-direction:column;justify-content:center;height:auto;padding:22px 0;gap:14px;}
.header-style-2 .mainbar-logo{display:flex;order:-1;}
.header-style-2 .navlinks{justify-content:center;flex-wrap:wrap;}

/* Style 3 — minimal, single light bar, no topbar */
.header-style-3 .topbar{display:none;}
.header-style-3 .mainbar{background:var(--thread-white);border-bottom:1px solid var(--line);}
.header-style-3 .mainbar-logo{display:flex;}
.header-style-3 .navlinks a{color:var(--ink);}
.header-style-3 .navlinks a:hover{color:var(--madder);}
.header-style-3 .icon-btn,.header-style-3 .menu-toggle{color:var(--ink);}
.header-style-3 .nav-cta{background:transparent;border:1px solid var(--indigo);color:var(--indigo);}
.header-style-3 .nav-cta:hover{background:var(--indigo);color:var(--thread-white);}

/* Style 4 — bold color bar, no topbar */
.header-style-4 .topbar{display:none;}
.header-style-4 .mainbar{background:var(--madder);}
.header-style-4 .mainbar-inner{height:88px;}
.header-style-4 .mainbar-logo{display:flex;}
.header-style-4 .navlinks a{color:rgba(var(--thread-white-rgb, 255,255,255),0.88);}
.header-style-4 .navlinks a:hover{color:var(--thread-white);}
.header-style-4 .nav-cta{background:var(--turmeric);color:var(--ink);}

/* Style 5 — social split (topbar with social icons, light mainbar) */
.header-style-5 .topbar{background:var(--ink);color:var(--thread-white);}
.header-style-5 .topbar-logo{display:none;}
.header-style-5 .topbar-item strong,.header-style-5 .topbar-item span{color:rgba(var(--thread-white-rgb, 255,255,255),0.85);}
.header-style-5 .topbar-icon{background:rgba(var(--thread-white-rgb, 255,255,255),0.12);color:var(--turmeric);}
.header-style-5 .topbar-social{display:flex;}
.header-style-5 .topbar-social a{background:rgba(var(--thread-white-rgb, 255,255,255),0.12);color:var(--thread-white);}
.header-style-5 .mainbar{background:var(--thread-white);}
.header-style-5 .mainbar-logo{display:flex;}
.header-style-5 .navlinks a{color:var(--ink);}
.header-style-5 .navlinks a:hover{color:var(--madder);}
.header-style-5 .icon-btn,.header-style-5 .menu-toggle{color:var(--ink);}

@media (max-width:900px){
  .header-style-2 .mainbar-inner{padding:16px 0;}
}

/* ---------- HERO ---------- */
.hero{padding:90px 0 70px;overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;}
.eyebrow{font-family:'Poppins',sans-serif;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--madder);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--madder);}
.hero h1{font-size:3.4rem;line-height:1.04;letter-spacing:-0.02em;}
.hero h1 em{font-style:italic;color:var(--indigo);}
.hero p{margin-top:22px;font-size:1.08rem;color:var(--ink-soft);max-width:480px;}
.hero-ctas{display:flex;gap:14px;margin-top:34px;}
.btn-primary{background:var(--indigo);color:var(--thread-white);border:none;padding:15px 26px;border-radius:2px;font-weight:500;font-size:0.95rem;transition:background .2s;text-decoration:none;display:inline-block;}
.btn-primary:hover{background:var(--indigo-light);color:var(--thread-white);}
.btn-ghost{background:none;border:1px solid var(--line);padding:15px 24px;border-radius:2px;font-weight:500;font-size:0.95rem;color:var(--ink);text-decoration:none;display:inline-block;}

/* swatch fan (used when no hero image is set) */
.fan{position:relative;height:380px;}
.fan-card{position:absolute;width:190px;height:250px;top:40px;left:calc(50% - 95px);border-radius:2px;box-shadow:0 18px 40px rgba(43,35,32,0.22);transition:transform .35s ease;background-size:cover;background-position:center;}
.fan-card .tag{position:absolute;bottom:14px;left:14px;font-family:'Poppins',sans-serif;font-size:0.68rem;color:rgba(var(--thread-white-rgb, 255,255,255),0.85);}
.fan-card .tag b{display:block;font-size:0.82rem;color:var(--thread-white);font-family:'Poppins',sans-serif;font-weight:600;}
.fan-card:nth-child(1){background-color:var(--indigo);transform:rotate(-16deg) translateX(-90px);}
.fan-card:nth-child(2){background-color:var(--madder);transform:rotate(-4deg) translateX(-20px);z-index:2;}
.fan-card:nth-child(3){background-color:var(--turmeric);transform:rotate(9deg) translateX(60px);z-index:1;}
.fan-card:nth-child(4){background-color:#4C6A4A;transform:rotate(20deg) translateX(120px);}
.fan:hover .fan-card{transform:none;}
.fan:hover .fan-card:nth-child(1){transform:rotate(-22deg) translate(-130px,-10px);}
.fan:hover .fan-card:nth-child(2){transform:rotate(-7deg) translate(-40px,-18px);}
.fan:hover .fan-card:nth-child(3){transform:rotate(8deg) translate(60px,-12px);}
.fan:hover .fan-card:nth-child(4){transform:rotate(20deg) translate(140px,0);}

/* ---------- HERO: full-bleed photo/video variant ---------- */
.hero.has-media{position:relative;padding:0;min-height:640px;display:flex;align-items:center;color:var(--thread-white);}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,35,32,0.55) 0%,rgba(31,45,80,0.72) 100%);}
.hero-inner{position:relative;z-index:2;padding:80px 0;}
.hero.has-media .eyebrow{color:var(--turmeric);}
.hero.has-media .eyebrow::before{background:var(--turmeric);}
.hero.has-media h1{color:var(--thread-white);}
.hero.has-media h1 em{color:var(--turmeric);}
.hero.has-media p{color:rgba(var(--thread-white-rgb, 255,255,255),0.82);}
.hero.has-media .btn-ghost{color:var(--thread-white);border-color:rgba(var(--thread-white-rgb, 255,255,255),0.4);}
.hero.has-media .wrap{grid-template-columns:1fr;max-width:640px;}

/* ---------- HERO: multi-slide banner slider ---------- */
.hero-slider{min-height:640px;}
.hero-slider .hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;z-index:0;display:flex;align-items:center;}
.hero-slider .hero-slide.is-active{opacity:1;visibility:visible;z-index:1;}
.hero-slider .hero-inner{width:100%;}
.hero-slide.no-media-fallback{background:linear-gradient(135deg,var(--indigo) 0%,var(--indigo-light) 55%,var(--madder) 100%);}

.hero-slider-nav{position:absolute;left:0;right:0;bottom:28px;z-index:3;display:flex;align-items:center;justify-content:center;gap:22px;}
.hero-arrow{background:rgba(43,35,32,0.35);border:1px solid rgba(var(--thread-white-rgb, 255,255,255),0.4);color:var(--thread-white);width:38px;height:38px;border-radius:50%;font-size:1.3rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.hero-arrow:hover{background:rgba(43,35,32,0.6);}
.hero-dots{display:flex;gap:10px;}
.hero-dot{width:9px;height:9px;border-radius:50%;background:rgba(var(--thread-white-rgb, 255,255,255),0.4);border:none;padding:0;transition:background .2s,transform .2s;}
.hero-dot:hover{background:rgba(var(--thread-white-rgb, 255,255,255),0.7);}
.hero-dot.is-active{background:var(--turmeric);transform:scale(1.2);}

@media (max-width:640px){
  .hero-slider-nav{bottom:16px;gap:14px;}
  .hero-arrow{width:32px;height:32px;font-size:1.1rem;}
}

/* ---------- SCROLL REVEAL (fade in from left/right) ---------- */
.reveal{opacity:0;transition:opacity .8s ease, transform .8s ease;}
.reveal-left{transform:translateX(-40px);}
.reveal-right{transform:translateX(40px);}
.reveal-up{transform:translateY(30px);}
.reveal.in-view{opacity:1;transform:translate(0,0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- ABOUT US COLLAGE ---------- */
.about-collage-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-collage h2{font-size:2.2rem;margin-top:16px;}
.about-collage-lede{color:var(--ink-soft);margin-top:18px;font-size:1rem;max-width:440px;}
.feature-list{margin-top:34px;}
.feature-item{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--line);}
.feature-item:last-child{border-bottom:1px solid var(--line);}
.feature-icon{width:52px;height:52px;flex-shrink:0;border-radius:2px;background:var(--canvas-deep);display:flex;align-items:center;justify-content:center;color:var(--indigo);}
.feature-icon svg{width:24px;height:24px;}
.feature-item h3{font-size:1.02rem;margin-bottom:6px;}
.feature-item p{color:var(--ink-soft);font-size:0.9rem;margin:0;max-width:360px;}
.about-collage-cta{margin-top:30px;}

.about-collage-visual{position:relative;height:480px;}
.collage-tile{position:absolute;border-radius:2px;background-size:cover;background-position:center;box-shadow:0 12px 30px rgba(43,35,32,0.18);}
.collage-tile-1{width:44%;height:44%;top:0;left:8%;}
.collage-tile-2{width:30%;height:26%;top:0;right:0;}
.collage-tile-3{width:26%;height:34%;top:30%;right:2%;}
.collage-tile-4{width:38%;height:32%;bottom:0;left:0;}
.collage-tile-5{width:26%;height:26%;bottom:6%;right:16%;}
.collage-stat{position:absolute;top:34%;left:38%;background:var(--canvas-deep);padding:26px 30px;border-radius:2px;box-shadow:0 16px 34px rgba(43,35,32,0.2);z-index:3;}
.collage-stat-num{font-family:'Poppins',sans-serif;font-size:2.6rem;font-weight:700;color:var(--madder);line-height:1;}
.collage-stat-label{font-family:'Poppins',sans-serif;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-soft);margin-top:8px;max-width:150px;}

/* ---------- FIBER STRIP ---------- */
.strip{background:var(--ink);color:var(--canvas);padding:16px 0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.strip-track{display:flex;gap:56px;white-space:nowrap;animation:scroll 26s linear infinite;width:max-content;font-family:'Poppins',sans-serif;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;opacity:0.85;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.strip-track span::after{content:'—';margin-left:56px;color:var(--madder);}

/* ---------- SECTION HEADERS ---------- */
section, .section{padding:96px 0;}
.sec-head{max-width:600px;margin-bottom:56px;}
.sec-head .eyebrow{color:var(--indigo);}
.sec-head .eyebrow::before{background:var(--indigo);}
.sec-head h2{font-size:2.3rem;}
.sec-head p{color:var(--ink-soft);margin-top:14px;font-size:1.02rem;}

/* ---------- CATALOG ---------- */
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}

.catalog-carousel{position:relative;}
.carousel-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:14px;-ms-overflow-style:none;scrollbar-width:none;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track .swatch-card{flex:0 0 300px;scroll-snap-align:start;}
.carousel-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
.carousel-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--thread-white);font-size:1.1rem;color:var(--ink);display:flex;align-items:center;justify-content:center;}
.carousel-btn:hover{background:var(--indigo);color:var(--thread-white);border-color:var(--indigo);}

.swatch-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:visible;box-shadow:none;transition:transform .25s,box-shadow .25s;}
.swatch-card:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(38,42,52,0.12);}
.swatch-top-wrap{position:relative;overflow:visible;border-radius:14px 14px 0 0;aspect-ratio:1/1;background:#fff;}
.swatch-top-link{display:block;width:100%;height:100%;}
.swatch-top{width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;transition:transform .4s ease;border-radius:14px 14px 0 0;}
.swatch-card:hover .swatch-top{transform:scale(1.03);}

/* Secondary / back-view floating thumbnail */
.swatch-alt-thumb{position:absolute;top:10px;right:10px;width:30%;max-width:90px;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#fff;background-size:contain;background-position:center;background-repeat:no-repeat;border:1px solid var(--line);box-shadow:0 3px 10px rgba(38,42,52,0.10);z-index:2;}

/* Wishlist + compare icon buttons */
.swatch-icon-btn{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--ink-soft);font-size:0;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,opacity .2s,transform .2s,border-color .2s;position:absolute;right:10px;opacity:0;transform:translateY(-4px);z-index:4;}
.swatch-card:hover .swatch-icon-btn{opacity:1;transform:translateY(0);}
.swatch-wish-btn{top:10px;}
.swatch-top-wrap.has-alt-thumb .swatch-wish-btn{top:44%;}
.swatch-compare-btn{top:52px;}
.swatch-top-wrap.has-alt-thumb .swatch-compare-btn{top:calc(44% + 42px);}
.swatch-icon-btn .icon-svg{width:14px;height:14px;}
.swatch-icon-btn:hover{background:var(--madder);color:#fff;border-color:var(--madder);}
.swatch-icon-btn.is-active{background:var(--madder);color:#fff;border-color:var(--madder);}
.swatch-icon-btn.vantloom-wishlist-btn.is-active svg{fill:currentColor;}
.swatch-icon-btn.vantloom-compare-btn.is-active{background:var(--indigo);border-color:var(--indigo);}

/* Quick view pill */
.swatch-quickview-pill{position:absolute;left:50%;bottom:12px;transform:translate(-50%,8px);background:rgba(38,42,52,0.82);color:#fff;font-size:0.72rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;padding:8px 20px;border-radius:30px;opacity:0;transition:opacity .2s,transform .2s;z-index:3;white-space:nowrap;}
.swatch-card:hover .swatch-quickview-pill{opacity:1;transform:translate(-50%,0);}

/* ---------- Wishlist / Compare floating bar ---------- */
.vantloom-catalog-bar{position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--ink);box-shadow:0 -6px 24px rgba(0,0,0,0.15);}
.vantloom-catalog-bar[hidden]{display:none;}
.vantloom-catalog-bar-inner{display:flex;align-items:center;gap:14px;padding:14px 0;flex-wrap:wrap;}
.vantloom-bar-pill{display:flex;align-items:center;gap:9px;background:rgba(var(--thread-white-rgb, 255,255,255),0.1);border:none;color:var(--thread-white);padding:9px 16px;border-radius:999px;font-size:0.86rem;}
.vantloom-bar-pill .icon-svg{width:16px;height:16px;color:var(--turmeric);}
.vantloom-bar-pill[hidden]{display:none;}
.vantloom-bar-clear{margin-left:auto;background:none;border:none;color:rgba(var(--thread-white-rgb, 255,255,255),0.65);font-size:0.82rem;text-decoration:underline;}
.vantloom-bar-clear:hover{color:var(--thread-white);}

/* ---------- Compare modal ---------- */
.vantloom-compare-modal{position:fixed;inset:0;z-index:250;opacity:0;transition:opacity .25s ease;}
.vantloom-compare-modal[hidden]{display:none;}
.vantloom-compare-modal.is-open{opacity:1;}
.vantloom-compare-modal-overlay{position:absolute;inset:0;background:rgba(43,35,32,0.6);}
.vantloom-compare-modal-panel{position:relative;max-width:820px;margin:8vh auto 0;background:var(--canvas);border-radius:4px;padding:32px;max-height:80vh;overflow-y:auto;}
.vantloom-compare-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.vantloom-compare-modal-head h3{font-family:'Poppins',sans-serif;font-size:1.4rem;margin:0;}
.vantloom-compare-modal-close{background:none;border:none;color:var(--ink);display:flex;padding:4px;}
.vantloom-compare-modal-close .icon-svg{width:20px;height:20px;}
.vantloom-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px;}
.vantloom-compare-item{text-align:center;}
.vantloom-compare-item-img{width:100%;aspect-ratio:1/1;background-size:cover;background-position:center;background-color:var(--indigo);border-radius:4px;margin-bottom:12px;}
.vantloom-compare-item h4{font-size:0.95rem;margin:0 0 6px;}
.vantloom-compare-item-price{color:var(--ink-soft);font-size:0.88rem;margin-bottom:12px;}
.vantloom-compare-item .btn-primary{display:inline-block;font-size:0.82rem;padding:9px 18px;}

.swatch-body{padding:18px 18px 22px;text-align:center;}
.swatch-body h3{font-size:0.95rem;font-weight:600;margin:0 0 10px;font-family:'Poppins',sans-serif;}
.swatch-body h3 a{color:var(--ink);text-decoration:none;}
.swatch-body h3 a:hover{color:var(--madder);}

.swatch-rating{display:flex;justify-content:center;gap:2px;margin-bottom:16px;}
.swatch-rating svg{width:15px;height:15px;}
.swatch-rating svg.is-filled{fill:#f5b301;}
.swatch-rating svg.is-empty{fill:var(--line);}

.swatch-quote-btn{display:inline-block;width:100%;background:var(--ink);color:#fff;font-size:0.85rem;font-weight:700;text-decoration:none;padding:12px 20px;border-radius:30px;transition:background .2s,color .2s;}
.swatch-quote-btn:hover{background:var(--madder);color:#fff;}

/* ---------- WOOCOMMERCE: bulk order CTA ---------- */
.bulk-order-cta{margin-top:26px;padding:22px 24px;background:var(--canvas-deep);border-radius:2px;border-left:3px solid var(--madder);}
.bulk-order-cta-head{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;}
.bulk-order-cta-head strong{font-family:'Poppins',sans-serif;font-size:1.05rem;color:var(--ink);}
.bulk-order-cta-head span{font-size:0.88rem;color:var(--ink-soft);}
.bulk-order-cta-links{display:flex;flex-wrap:wrap;gap:12px;}
.bulk-order-cta-links a{display:inline-flex;align-items:center;gap:6px;background:var(--thread-white);border:1px solid var(--line);padding:9px 16px;border-radius:2px;text-decoration:none;font-size:0.86rem;font-weight:500;color:var(--ink);transition:background .2s,color .2s;}
.bulk-order-cta-links a:hover{background:var(--indigo);color:var(--thread-white);border-color:var(--indigo);}


.swatch-spec{display:flex;gap:16px;margin:14px 0 18px;font-family:'Poppins',sans-serif;font-size:0.72rem;color:var(--ink-soft);border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:12px 0;}
.swatch-spec div b{display:block;color:var(--ink);font-size:0.85rem;}
.swatch-link{font-size:0.86rem;font-weight:500;color:var(--indigo);text-decoration:none;display:inline-flex;align-items:center;gap:6px;}

/* ---------- ABOUT / MILL TICKET ---------- */
.about{background:var(--canvas-deep);}
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.mill-visual{background:var(--indigo);border-radius:2px;height:420px;position:relative;overflow:hidden;background-size:cover;background-position:center;}
.mill-visual .weave{position:absolute;inset:0;opacity:0.18;background-image:repeating-linear-gradient(90deg,var(--canvas) 0 2px,transparent 2px 14px),repeating-linear-gradient(0deg,var(--canvas) 0 2px,transparent 2px 14px);}
.mill-visual .stamp{position:absolute;bottom:26px;left:26px;color:var(--thread-white);font-family:'Poppins',sans-serif;font-size:0.75rem;}
.ticket{background:var(--thread-white);border-radius:2px;padding:8px 0;}
.ticket-row{display:flex;justify-content:space-between;align-items:baseline;padding:22px 30px;border-bottom:1px dashed var(--line);}
.ticket-row:last-child{border-bottom:none;}
.ticket-row .label{font-family:'Poppins',sans-serif;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-soft);}
.ticket-row .value{font-family:'Poppins',sans-serif;font-size:1.9rem;font-weight:600;color:var(--indigo);}

/* ---------- WHY CHOOSE US (full-bleed split, photo left / dark panel right) ---------- */
#why-us.why-us-split{padding:0;}
.why-us-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.why-us-photo{position:relative;background:var(--indigo);background-size:cover;background-position:center;overflow:hidden;}
.why-us-photo .weave{position:absolute;inset:0;opacity:0.15;background-image:repeating-linear-gradient(90deg,var(--canvas) 0 2px,transparent 2px 14px),repeating-linear-gradient(0deg,var(--canvas) 0 2px,transparent 2px 14px);}
.why-us-panel{background:var(--ink);color:var(--thread-white);display:flex;align-items:center;}
.why-us-panel-inner{padding:60px 64px;max-width:560px;}
.why-us-panel .eyebrow{color:var(--turmeric);}
.why-us-panel h2{font-size:2.1rem;color:var(--thread-white);margin-top:14px;line-height:1.15;}
.why-us-panel > .why-us-panel-inner > p{color:rgba(var(--thread-white-rgb, 255,255,255),0.72);margin-top:18px;font-size:0.96rem;}
.skill{margin-top:26px;}
.skill-head{display:flex;justify-content:space-between;font-size:0.92rem;font-weight:600;margin-bottom:8px;color:var(--thread-white);}
.skill-head .pct{font-family:'Poppins',sans-serif;color:var(--turmeric);}
.skill-bar{height:6px;border-radius:4px;background:rgba(var(--thread-white-rgb, 255,255,255),0.18);overflow:hidden;}
.skill-bar-fill{height:100%;width:0%;background:var(--turmeric);border-radius:4px;transition:width 1.2s cubic-bezier(.2,.8,.2,1);}
.skill.in-view .skill-bar-fill{width:var(--target-width);}

/* ---------- SERVICES ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.service-card{background:var(--thread-white);padding:32px 26px;border-radius:2px;box-shadow:0 1px 0 var(--line);}
.service-icon{width:46px;height:46px;border-radius:50%;background:var(--canvas-deep);display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:600;color:var(--indigo);margin-bottom:18px;}
.service-card h3{font-size:1.08rem;margin-bottom:10px;}
.service-card p{color:var(--ink-soft);font-size:0.92rem;margin:0;}

/* ---------- WORKING PROCESS (numbered — order genuinely matters) ---------- */
.process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.process-step{padding:0 20px;position:relative;}
.process-step:not(:last-child)::after{content:'';position:absolute;top:22px;right:-10px;width:20px;height:1px;background:var(--line);}
.process-num{font-family:'Poppins',sans-serif;font-size:0.85rem;color:var(--madder);margin-bottom:14px;}
.process-step h3{font-size:1.05rem;margin-bottom:8px;}
.process-step p{color:var(--ink-soft);font-size:0.9rem;margin:0;}

/* ---------- BENEFITS ---------- */
.benefits-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.benefit-card{text-align:center;padding:20px 14px;}
.benefit-num{font-family:'Poppins',sans-serif;font-size:2rem;font-weight:600;color:var(--indigo);}
.benefit-label{font-family:'Poppins',sans-serif;font-size:0.76rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);margin-top:6px;}

/* ---------- TESTIMONIALS ---------- */
.testi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.tag-card{background:var(--thread-white);padding:30px 26px 26px;border-radius:2px;position:relative;box-shadow:0 1px 0 var(--line);}
.tag-card::before{content:'';position:absolute;top:-9px;left:26px;width:14px;height:14px;border-radius:50%;background:var(--canvas-deep);border:2px solid var(--ink-soft);}
.tag-card p{font-size:0.98rem;color:var(--ink);margin:0 0 20px;}
.tag-person{display:flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-size:0.78rem;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:14px;}
.tag-person b{font-family:'Poppins',sans-serif;color:var(--ink);font-size:0.92rem;}

/* ---------- QUOTE FORM / ORDER TICKET ---------- */
.quote{background:var(--ink);color:var(--canvas);}
.quote .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start;}
.quote h2{color:var(--thread-white);font-size:2.2rem;}
.quote p{color:rgba(var(--thread-white-rgb, 255,255,255),0.7);margin-top:16px;max-width:400px;}
.quote-note{margin-top:36px;font-family:'Poppins',sans-serif;font-size:0.8rem;color:rgba(var(--thread-white-rgb, 255,255,255),0.55);border-left:2px solid var(--madder);padding-left:16px;}
.order-form{background:var(--thread-white);color:var(--ink);border-radius:2px;padding:36px;position:relative;}
.order-form::before{content:'';position:absolute;left:0;right:0;top:78px;border-top:1px dashed var(--line);}
.order-form::after{content:'ORDER — QUOTE REQUEST';position:absolute;top:26px;right:36px;font-family:'Poppins',sans-serif;font-size:0.68rem;letter-spacing:0.1em;color:var(--ink-soft);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;}
.form-row.single{grid-template-columns:1fr;}
.order-form label{display:block;font-family:'Poppins',sans-serif;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);margin-bottom:6px;}
.order-form input,.order-form select,.order-form textarea{width:100%;border:1px solid var(--line);background:var(--canvas);border-radius:2px;padding:11px 12px;font-family:'Poppins',sans-serif;font-size:0.92rem;color:var(--ink);}
.order-form input:focus,.order-form select:focus,.order-form textarea:focus{outline:2px solid var(--indigo);outline-offset:1px;}
.order-form textarea{resize:vertical;min-height:80px;}
.submit-btn{margin-top:26px;width:100%;background:var(--madder);color:var(--thread-white);border:none;padding:15px;border-radius:2px;font-weight:600;font-size:0.95rem;}
.form-success{margin-top:20px;background:#e4efe1;border:1px solid #4C6A4A;color:#2f4a2d;padding:14px 16px;border-radius:2px;font-size:0.9rem;}

/* generic page/post content (so pages/blog still look on-brand) */
.entry-content{padding:96px 0;max-width:760px;margin:0 auto;}
.entry-content h1{font-size:2.4rem;margin-bottom:24px;}
.entry-content img{border-radius:2px;margin:24px 0;}
.entry-content p{color:var(--ink-soft);margin:0 0 18px;}

/* ---------- CAPABILITIES (tabbed showcase) ---------- */
.capabilities{padding-bottom:0;background:var(--canvas-deep);}
.capabilities .sec-head{padding-bottom:8px;}
.cap-outer{display:grid;grid-template-columns:auto auto 1fr auto;align-items:stretch;min-height:420px;border-top:1px solid var(--line);}

.cap-showcase{display:contents;}

.cap-ribbon{background:var(--madder);color:var(--thread-white);width:56px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:18px;padding:24px 0;}
.cap-ribbon-num{font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:700;}
.cap-ribbon-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;}

.cap-image{width:320px;background-size:cover;background-position:center;background-color:var(--indigo);}

.cap-content{padding:48px 56px;display:flex;flex-direction:column;justify-content:center;max-width:480px;}
.cap-eyebrow{color:var(--madder);font-weight:700;font-size:1.05rem;font-family:'Poppins',sans-serif;margin-bottom:14px;transition:opacity .2s;}
.cap-desc{color:var(--ink-soft);line-height:1.7;margin-bottom:24px;transition:opacity .2s;}
.cap-readmore{display:inline-flex;align-items:center;gap:8px;width:fit-content;text-decoration:none;}
.cap-readmore .icon-svg{width:15px;height:15px;}

.cap-tabs{display:flex;border-left:1px solid var(--line);}
.cap-tab{background:none;border:none;border-left:1px solid var(--line);width:44px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:16px;padding:24px 0;cursor:pointer;color:var(--ink-soft);transition:background .2s,color .2s;}
.cap-tab:first-child{border-left:none;}
.cap-tab-num{font-size:0.78rem;font-weight:700;color:var(--ink-soft);}
.cap-tab-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:0.76rem;letter-spacing:0.05em;text-transform:uppercase;white-space:nowrap;}
.cap-tab:hover{background:rgba(43,35,32,0.04);color:var(--ink);}
.cap-tab.is-active{background:var(--ink);color:var(--thread-white);}
.cap-tab.is-active .cap-tab-num,.cap-tab.is-active .cap-tab-label{color:var(--thread-white);}

@media (max-width:900px){
  .cap-outer{grid-template-columns:1fr;min-height:0;}
  .cap-ribbon{flex-direction:row;width:100%;justify-content:flex-start;gap:14px;padding:14px 20px;}
  .cap-ribbon-label{writing-mode:horizontal-tb;transform:none;}
  .cap-image{width:100%;height:220px;}
  .cap-content{padding:32px 24px;max-width:none;}
  .cap-tabs{flex-wrap:wrap;border-left:none;border-top:1px solid var(--line);}
  .cap-tab{flex-direction:row;width:auto;flex:1 1 33%;padding:14px 10px;gap:8px;border-left:1px solid var(--line);border-top:1px solid var(--line);}
  .cap-tab-label{writing-mode:horizontal-tb;transform:none;font-size:0.72rem;}
}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--footer-bg, var(--ink));color:var(--footer-text, rgba(var(--thread-white-rgb, 255,255,255),0.75));padding:64px 0 0;}
.site-footer.site-footer-custom{padding:44px 0;border-top:1px solid var(--line);background:none;color:inherit;}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(var(--thread-white-rgb, 255,255,255),0.12);}
.footer-col h4{font-family:'Poppins',sans-serif;color:var(--footer-heading, var(--thread-white));font-size:1rem;margin:0 0 16px;}
.footer-logo .logo{color:var(--thread-white);}
.footer-about-text{font-size:0.9rem;line-height:1.65;margin:14px 0 18px;max-width:280px;}
.footer-menu,.footer-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer-menu a{color:var(--footer-link, rgba(var(--thread-white-rgb, 255,255,255),0.75));text-decoration:none;font-size:0.9rem;transition:color .2s;}
.footer-menu a:hover{color:var(--footer-link-hover, var(--turmeric));}
.footer-contact-list li{display:flex;align-items:center;gap:10px;font-size:0.88rem;}
.footer-contact-list .icon-svg{width:16px;height:16px;color:var(--turmeric);flex-shrink:0;}
.footer-cta .btn-primary{margin-top:4px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:0.82rem;color:rgba(var(--thread-white-rgb, 255,255,255),0.55);}
.site-footer .social-icons a{background:rgba(var(--thread-white-rgb, 255,255,255),0.1);color:var(--thread-white);}

/* Style 2 — centered, single column */
.footer-style-2 .footer-top{grid-template-columns:1fr;justify-items:center;text-align:center;gap:22px;}
.footer-style-2 .footer-about-text{max-width:480px;}
.footer-style-2 .footer-menu{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:22px;}
.footer-style-2 .footer-contact-list{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:22px;}
.footer-style-2 .footer-cta{display:flex;flex-direction:column;align-items:center;}
.footer-style-2 .footer-bottom{justify-content:center;flex-direction:column;gap:8px;text-align:center;}

/* Style 3 — minimal light bar */
.footer-style-3{background:var(--thread-white);color:var(--ink-soft);padding:0;border-top:1px solid var(--line);}
.footer-style-3 .footer-top{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);}
.footer-style-3 .footer-about-text,.footer-style-3 .footer-contact,.footer-style-3 .footer-cta{display:none;}
.footer-style-3 .footer-links h4{display:none;}
.footer-style-3 .footer-menu{flex-direction:row;gap:22px;}
.footer-style-3 .footer-menu a{color:var(--ink-soft);}
.footer-style-3 .footer-menu a:hover{color:var(--madder);}
.footer-style-3 .footer-logo .logo{color:var(--ink);}
.footer-style-3 .social-icons a{background:var(--canvas-deep);color:var(--ink);}
.footer-style-3 .footer-bottom{color:var(--ink-soft);}

/* Style 4 — bold color block */
.footer-style-4{background:var(--madder);color:rgba(var(--thread-white-rgb, 255,255,255),0.85);}
.footer-style-4 .footer-top{border-bottom-color:rgba(var(--thread-white-rgb, 255,255,255),0.2);}
.footer-style-4 h4{color:var(--thread-white);}
.footer-style-4 .footer-menu a,.footer-style-4 .footer-contact-list li{color:rgba(var(--thread-white-rgb, 255,255,255),0.85);}
.footer-style-4 .footer-contact-list .icon-svg{color:var(--turmeric);}
.footer-style-4 .social-icons a{background:rgba(var(--thread-white-rgb, 255,255,255),0.15);color:var(--thread-white);}
.footer-style-4 .footer-cta .btn-primary{background:var(--turmeric);color:var(--ink);}
.footer-style-4 .footer-bottom{color:rgba(var(--thread-white-rgb, 255,255,255),0.65);border-color:transparent;}

/* Style 5 — wide 4-column, light */
.footer-style-5{background:var(--canvas-deep);color:var(--ink-soft);}
.footer-style-5 .footer-top{border-bottom-color:var(--line);}
.footer-style-5 h4{color:var(--ink);}
.footer-style-5 .footer-menu a{color:var(--ink-soft);}
.footer-style-5 .footer-menu a:hover{color:var(--madder);}
.footer-style-5 .footer-logo .logo{color:var(--ink);}
.footer-style-5 .footer-contact-list .icon-svg{color:var(--madder);}
.footer-style-5 .social-icons a{background:rgba(43,35,32,0.08);color:var(--ink);}
.footer-style-5 .footer-bottom{color:var(--ink-soft);border-color:var(--line);}

@media (max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-style-3 .footer-top{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .footer-style-3 .footer-menu{justify-content:center;flex-wrap:wrap;}
}
@media (max-width:560px){
  .footer-top{grid-template-columns:1fr;text-align:center;}
  .footer-about-text{margin-left:auto;margin-right:auto;}
  .footer-col .social-icons{justify-content:center;}
  .footer-bottom{flex-direction:column;text-align:center;}
}

@media (prefers-reduced-motion: reduce){
  .strip-track{animation:none;}
  .fan-card, .swatch-card{transition:none;}
}

@media (max-width:920px){
  .hero .wrap, .about .wrap, .quote .wrap, .about-collage-inner{grid-template-columns:1fr;}
  .why-us-split{grid-template-columns:1fr;}
  .why-us-photo{height:280px;}
  .why-us-panel-inner{padding:44px 28px;max-width:none;}
  .about-collage-visual{height:340px;margin-top:20px;}
  .collage-stat{left:20%;padding:18px 20px;}
  .collage-stat-num{font-size:2rem;}
  .catalog-grid, .testi-row, .services-grid{grid-template-columns:1fr;}
  .process-row, .benefits-row{grid-template-columns:1fr 1fr;gap:26px;}
  .process-step::after{display:none;}
  .hero h1{font-size:2.3rem;}
  .topbar-info{display:none;}
  .navlinks{display:none;}
  .menu-toggle{display:block;}
  .fan{height:300px;}
  .form-row{grid-template-columns:1fr;}
  .about-intro-inner, .service-detail-inner{grid-template-columns:1fr;}
  .production-row{grid-template-columns:1fr;}
  .production-row.reverse{direction:ltr;}
  .team-grid{grid-template-columns:1fr;}
  .latest-posts-grid{grid-template-columns:1fr;}
  .service-sidebar{position:static;}
}

/* ---------- PAGE BANNER (About Us / Engineering / other inner pages) ---------- */
.page-banner{position:relative;background:var(--ink);background-size:cover;background-position:center;padding:0;color:var(--thread-white);overflow:hidden;}
.page-banner.has-photo{min-height:280px;display:flex;align-items:center;}
.page-banner:not(.has-photo){padding:56px 0;}
.page-banner-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,35,32,0.55),rgba(43,35,32,0.78));}
.page-banner-inner{position:relative;z-index:1;width:100%;}
.page-banner .breadcrumb{font-family:'Poppins',sans-serif;font-size:0.82rem;color:rgba(var(--thread-white-rgb, 255,255,255),0.75);}
.page-banner .breadcrumb a{color:rgba(var(--thread-white-rgb, 255,255,255),0.9);text-decoration:none;}
.page-banner .breadcrumb span{margin:0 8px;}
.page-banner h1{font-size:2.8rem;font-weight:700;color:var(--thread-white);margin-top:10px;}

@media (max-width:640px){
  .page-banner.has-photo{min-height:200px;}
  .page-banner h1{font-size:2rem;}
}

/* ---------- TRADE FAIR BANNER (homepage, links to Exhibitions & Tours) ---------- */
.fair-banner-section{padding-top:0;padding-bottom:0;}
.fair-banner{position:relative;display:block;background-color:var(--ink);background-size:cover;background-position:center;overflow:hidden;text-decoration:none;border-radius:6px;transition:box-shadow .25s,transform .25s;}
.fair-banner:hover{box-shadow:0 10px 30px rgba(43,35,32,0.18);transform:translateY(-2px);}
.fair-banner.no-link{cursor:default;pointer-events:none;}
.fair-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,35,32,0.9),rgba(43,35,32,0.68));}
.fair-banner-inner{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:28px 32px;min-height:120px;}
.fair-ribbon{background:var(--madder);color:var(--thread-white);font-weight:700;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.03em;padding:16px 22px;position:relative;flex-shrink:0;}
.fair-ribbon::after{content:'';position:absolute;right:-14px;top:0;bottom:0;width:0;border-top:28px solid transparent;border-bottom:28px solid transparent;border-left:14px solid var(--madder);}
.fair-heading{color:var(--thread-white);font-size:1.15rem;font-weight:600;max-width:320px;line-height:1.4;}
.fair-logos{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.fair-presenting{color:rgba(var(--thread-white-rgb, 255,255,255),0.7);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;}
.fair-logo{display:flex;align-items:center;justify-content:center;background:var(--thread-white);border-radius:3px;padding:7px 12px;}
.fair-logo img{max-height:22px;width:auto;}
.fair-banner-cta{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--thread-white);font-weight:600;font-size:0.88rem;white-space:nowrap;border:1px solid rgba(var(--thread-white-rgb, 255,255,255),0.4);padding:10px 18px;border-radius:3px;transition:background .2s;}
.fair-banner:hover .fair-banner-cta{background:rgba(var(--thread-white-rgb, 255,255,255),0.12);}
.fair-banner-cta .icon-svg{width:14px;height:14px;}

.fair-banner-custom{display:block;border-radius:6px;overflow:hidden;transition:box-shadow .25s,transform .25s;}
.fair-banner-custom:hover{box-shadow:0 10px 30px rgba(43,35,32,0.18);transform:translateY(-2px);}
.fair-banner-custom img{width:100%;display:block;}

@media (max-width:900px){
  .fair-banner-inner{padding:24px;}
  .fair-banner-cta{margin-left:0;width:100%;justify-content:center;}
}

/* ---------- EXHIBITIONS & TOURS ---------- */
.fair-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;}
.fair-card{display:block;background:var(--thread-white);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s;}
.fair-card:hover{box-shadow:0 8px 24px rgba(43,35,32,0.1);transform:translateY(-2px);}
.fair-card-img{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;background-color:var(--indigo);}
.fair-card-body{padding:20px;}
.fair-card-body h3{font-size:1.05rem;margin-bottom:8px;}
.fair-card-meta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px;}
.fair-card-meta span{display:inline-flex;align-items:center;gap:5px;font-size:0.8rem;color:var(--ink-soft);}
.fair-card-meta .icon-svg{width:13px;height:13px;color:var(--madder);}
.fair-card-body p{color:var(--ink-soft);font-size:0.88rem;line-height:1.6;margin:0 0 14px;}
.fair-card-link{display:inline-flex;align-items:center;gap:6px;font-size:0.85rem;font-weight:600;color:var(--madder);}
.fair-card-link .icon-svg{width:14px;height:14px;}
.fair-archive-pagination{margin-top:40px;text-align:center;}

.fair-single-hero{width:100%;aspect-ratio:21/9;background-size:cover;background-position:center;background-color:var(--indigo);}
.fair-single-grid{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start;}
.fair-single-meta{background:var(--canvas-deep);border-radius:6px;padding:26px;position:sticky;top:100px;}
.fair-single-meta h3{font-size:1rem;margin-bottom:16px;}
.fair-single-meta-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;}
.fair-single-meta-row .icon-svg{width:18px;height:18px;color:var(--madder);flex-shrink:0;margin-top:2px;}
.fair-single-meta-row strong{display:block;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-soft);margin-bottom:2px;}
.fair-single-meta-row span{font-size:0.92rem;}

@media (max-width:900px){
  .fair-single-grid{grid-template-columns:1fr;}
  .fair-single-meta{position:static;}
}

/* ---------- CONTACT PAGE ---------- */
.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.contact-info-card{background:var(--thread-white);border:1px solid var(--line);border-radius:4px;padding:32px 28px;text-align:center;}
.contact-info-icon{width:56px;height:56px;border-radius:50%;background:var(--canvas-deep);color:var(--madder);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.contact-info-icon .icon-svg{width:24px;height:24px;}
.contact-info-card h3{font-size:1.05rem;margin-bottom:6px;}
.contact-info-label{font-family:'Poppins',sans-serif;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-soft);margin-bottom:14px;}
.contact-info-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.contact-info-card ul li{color:var(--ink-soft);font-size:0.92rem;}
.contact-info-card ul a{color:var(--indigo);text-decoration:none;}
.contact-info-card ul a:hover{text-decoration:underline;}

.contact-talk-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.contact-talk-left p{color:var(--ink-soft);margin:16px 0 28px;line-height:1.7;max-width:440px;}
.contact-map{border-radius:4px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/11;}
.contact-map iframe{width:100%;height:100%;border:0;display:block;}
.contact-form-head{font-size:1.15rem;margin-bottom:18px;}

@media (max-width:900px){
  .contact-info-grid{grid-template-columns:1fr;}
  .contact-talk-grid{grid-template-columns:1fr;gap:36px;}
}

/* ---------- ABOUT US PAGE: intro section ---------- */
.about-intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-intro-visual{height:440px;border-radius:2px;background:var(--indigo);background-size:cover;background-position:center;position:relative;overflow:hidden;}
.about-intro-visual .weave{position:absolute;inset:0;opacity:0.15;background-image:repeating-linear-gradient(90deg,var(--canvas) 0 2px,transparent 2px 14px),repeating-linear-gradient(0deg,var(--canvas) 0 2px,transparent 2px 14px);}

/* ---------- BENEFITS TABS ---------- */
.benefits-tab-list{display:flex;gap:10px;margin-bottom:30px;}
.benefits-tab{background:var(--thread-white);border:1px solid var(--line);padding:12px 24px;border-radius:2px;font-weight:500;font-size:0.92rem;color:var(--ink-soft);}
.benefits-tab.active{background:var(--indigo);color:var(--thread-white);border-color:var(--indigo);}
.benefits-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.benefits-list li{background:var(--thread-white);padding:16px 20px;border-radius:2px;font-size:0.92rem;position:relative;padding-left:36px;}
.benefits-list li::before{content:'\2713';position:absolute;left:14px;color:var(--madder);font-weight:700;}

/* ---------- PRODUCTION (alternating image/text rows) ---------- */
.production-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:56px;}
.production-row.reverse{direction:rtl;}
.production-row.reverse > *{direction:ltr;}
.production-visual{height:320px;border-radius:2px;}
.production-row .process-num{font-family:'Poppins',sans-serif;font-size:0.9rem;color:var(--madder);margin-bottom:12px;}
.production-row h3{font-size:1.4rem;margin-bottom:12px;}
.production-row p{color:var(--ink-soft);}

/* ---------- ABOUT PAGE: checklist / text-block sections ---------- */
.about-checklist-section{padding-top:0;}
.about-checklist-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.about-checklist-row.reverse{direction:rtl;}
.about-checklist-row.reverse > *{direction:ltr;}
.about-checklist-visual{height:340px;border-radius:4px;background-size:cover;background-position:center;}
.about-checklist-row h2{font-size:1.6rem;margin-bottom:14px;}
.about-checklist-row > div:last-child > p{color:var(--ink-soft);margin-bottom:20px;line-height:1.7;}
.checklist-grid{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;}
.checklist-grid li{display:flex;align-items:flex-start;gap:10px;font-size:0.92rem;color:var(--ink-soft);}
.checklist-grid .icon-svg{width:18px;height:18px;color:var(--madder);flex-shrink:0;margin-top:1px;}

@media (max-width:900px){
  .about-checklist-row{grid-template-columns:1fr;}
  .about-checklist-row.reverse{direction:ltr;}
  .checklist-grid{grid-template-columns:1fr;}
}

/* ---------- TEAM ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.team-card{text-align:center;}
.team-photo{height:260px;border-radius:2px;margin-bottom:16px;}
.team-card h3{font-size:1.1rem;margin-bottom:4px;}
.team-card p{color:var(--ink-soft);font-size:0.88rem;margin:0;}

/* ---------- LATEST POSTS GRID ---------- */
.latest-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.latest-post-card{display:block;text-decoration:none;color:inherit;background:var(--thread-white);border-radius:2px;overflow:hidden;box-shadow:0 1px 0 var(--line);transition:transform .25s;}
.latest-post-card:hover{transform:translateY(-6px);}
.latest-post-img{height:160px;background-size:cover;background-position:center;}
.latest-post-body{padding:20px;}
.latest-post-date{font-family:'Poppins',sans-serif;font-size:0.75rem;color:var(--madder);}
.latest-post-body h3{font-size:1rem;margin-top:8px;}

/* ---------- ENGINEERING / SERVICE DETAIL PAGE ---------- */
.service-detail-inner{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:start;}
.service-sidebar{position:sticky;top:100px;}
.service-sidebar-list{display:flex;flex-direction:column;background:var(--thread-white);border-radius:2px;overflow:hidden;box-shadow:0 1px 0 var(--line);margin-bottom:22px;}
.service-sidebar-link{padding:15px 20px;text-decoration:none;color:var(--ink);font-size:0.92rem;font-weight:500;border-bottom:1px solid var(--line);transition:background .2s,color .2s;}
.service-sidebar-link:last-child{border-bottom:none;}
.service-sidebar-link:hover{background:var(--canvas-deep);}
.service-sidebar-link.active{background:var(--indigo);color:var(--thread-white);}
.service-sidebar-cta{background:var(--canvas-deep);padding:24px 22px;border-radius:2px;}
.service-sidebar-cta h3{font-size:1.05rem;margin-bottom:8px;}
.service-sidebar-cta p{color:var(--ink-soft);font-size:0.88rem;margin:0 0 16px;}
.service-sidebar-cta .btn-primary{width:100%;text-align:center;box-sizing:border-box;}

.service-main h2{font-size:1.9rem;margin-bottom:16px;}
.service-block{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:50px;}
.service-block.reverse{grid-template-columns:1fr 1fr;}
.service-block.reverse .service-block-visual{order:2;}
.service-block-visual{height:260px;border-radius:2px;position:relative;overflow:hidden;}
.service-block-visual .weave{position:absolute;inset:0;opacity:0.15;background-image:repeating-linear-gradient(90deg,var(--canvas) 0 2px,transparent 2px 14px),repeating-linear-gradient(0deg,var(--canvas) 0 2px,transparent 2px 14px);}
.service-block h3{font-size:1.3rem;margin-bottom:10px;}
.service-block p{color:var(--ink-soft);}

.service-list-block{margin-top:56px;background:var(--canvas-deep);padding:30px 32px;border-radius:2px;}
.service-list-block h3{font-size:1.15rem;margin-bottom:16px;}
.service-check-list{list-style:none;margin:0;padding:0;}
.service-check-list li{padding:10px 0 10px 30px;position:relative;border-top:1px dashed var(--line);font-size:0.94rem;}
.service-check-list li:first-child{border-top:none;}
.service-check-list li::before{content:'\2713';position:absolute;left:0;color:var(--madder);font-weight:700;}

.service-faq{margin-top:56px;}
.service-faq h3{font-size:1.15rem;margin-bottom:18px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-question{width:100%;background:none;border:none;text-align:left;padding:18px 4px;display:flex;justify-content:space-between;align-items:center;font-family:'Poppins',sans-serif;font-size:1rem;font-weight:600;color:var(--ink);}
.faq-toggle{font-size:1.3rem;color:var(--madder);flex-shrink:0;margin-left:16px;}
.faq-answer{padding:0 4px 18px;}
.faq-answer p{color:var(--ink-soft);margin:0;font-size:0.92rem;}


/* =====================================================================
   CERTIFICATIONS SECTION
   ===================================================================== */
.cert-section{background:var(--ink);color:var(--thread-white);padding:88px 0;font-family:'Poppins',sans-serif;}

/* Header */
.cert-header{text-align:center;max-width:680px;margin:0 auto 64px;}
.cert-header .eyebrow{justify-content:center;color:var(--turmeric);}
.cert-title{font-family:'Poppins',sans-serif;font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:700;color:var(--thread-white);margin:0 0 16px;line-height:1.2;letter-spacing:-0.02em;}
.cert-sub{color:rgba(var(--thread-white-rgb, 255,255,255),0.6);font-size:0.93rem;line-height:1.75;margin:0;font-family:'Poppins',sans-serif;}

/* Body layout */
.cert-body{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:start;}

/* Left trust block */
.cert-trust-block{background:rgba(var(--thread-white-rgb, 255,255,255),0.05);border:1px solid rgba(var(--thread-white-rgb, 255,255,255),0.1);border-radius:10px;padding:36px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;position:sticky;top:100px;}
.ce-badge{width:86px;height:86px;background:var(--thread-white);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:18px;flex-shrink:0;}
.ce-badge svg{width:100%;height:auto;color:var(--indigo);}
.cert-trust-label{font-family:'Poppins',sans-serif;font-size:0.88rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--turmeric);margin:0;}
.cert-trust-copy{font-family:'Poppins',sans-serif;font-size:0.8rem;color:rgba(var(--thread-white-rgb, 255,255,255),0.55);line-height:1.7;margin:0;}
.cert-cta{display:inline-block;background:var(--madder);color:var(--thread-white);text-decoration:none;padding:11px 22px;border-radius:2px;font-family:'Poppins',sans-serif;font-size:0.8rem;font-weight:600;margin-top:6px;transition:background .2s;letter-spacing:0.02em;}
.cert-cta:hover{background:#8B2635;}

/* Standards grid */
.cert-standards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}

/* Standard card */
.cert-card{background:rgba(var(--thread-white-rgb, 255,255,255),0.04);border:1px solid rgba(var(--thread-white-rgb, 255,255,255),0.08);border-radius:8px;padding:22px 20px;display:flex;flex-direction:column;gap:10px;transition:background .2s,border-color .2s;}
.cert-card:hover{background:rgba(var(--thread-white-rgb, 255,255,255),0.08);border-color:rgba(var(--thread-white-rgb, 255,255,255),0.18);}
.cert-card--indigo{border-top:3px solid var(--indigo-light);}
.cert-card--madder{border-top:3px solid var(--madder);}
.cert-card--turmeric{border-top:3px solid var(--turmeric);}

.cert-card-top{display:flex;align-items:flex-start;gap:12px;}
.cert-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:rgba(var(--thread-white-rgb, 255,255,255),0.08);color:var(--thread-white);flex-shrink:0;}
.cert-card-icon svg{display:block;}
.cert-card-code{display:block;font-family:'Poppins',sans-serif;font-size:0.95rem;font-weight:700;color:var(--thread-white);line-height:1.15;letter-spacing:-0.01em;}
.cert-card-badge{display:inline-block;background:rgba(var(--thread-white-rgb, 255,255,255),0.08);color:var(--turmeric);font-family:'Poppins',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:2px 8px;border-radius:20px;margin-top:5px;}
.cert-card-name{font-family:'Poppins',sans-serif;font-size:0.8rem;font-weight:600;color:rgba(var(--thread-white-rgb, 255,255,255),0.9);margin:0;line-height:1.4;}
.cert-card-desc{font-family:'Poppins',sans-serif;font-size:0.76rem;color:rgba(var(--thread-white-rgb, 255,255,255),0.5);line-height:1.65;margin:0;}

/* Bottom trust strip */
.cert-strip{display:flex;align-items:center;justify-content:center;margin-top:56px;background:rgba(var(--thread-white-rgb, 255,255,255),0.04);border:1px solid rgba(var(--thread-white-rgb, 255,255,255),0.08);border-radius:8px;padding:24px 32px;flex-wrap:wrap;}
.cert-strip-item{display:flex;align-items:center;gap:14px;flex:1;min-width:160px;font-family:'Poppins',sans-serif;font-size:0.8rem;font-weight:500;color:rgba(var(--thread-white-rgb, 255,255,255),0.8);line-height:1.45;padding:10px 24px;}
.cert-strip-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:rgba(var(--thread-white-rgb, 255,255,255),0.07);color:var(--turmeric);flex-shrink:0;}
.cert-strip-icon svg{display:block;}
.cert-strip-item small{font-family:'Poppins',sans-serif;color:rgba(var(--thread-white-rgb, 255,255,255),0.4);font-size:0.71rem;display:block;margin-top:1px;}
.cert-strip-divider{width:1px;height:44px;background:rgba(var(--thread-white-rgb, 255,255,255),0.1);flex-shrink:0;}

/* Responsive */
@media(max-width:960px){
  .cert-body{grid-template-columns:1fr;}
  .cert-trust-block{position:static;flex-direction:row;text-align:left;align-items:flex-start;}
  .cert-standards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .cert-trust-block{flex-direction:column;align-items:center;text-align:center;}
  .cert-standards{grid-template-columns:1fr;}
  .cert-strip{flex-direction:column;align-items:flex-start;gap:16px;padding:20px;}
  .cert-strip-divider{display:none;}
  .cert-strip-item{padding:8px 0;}
}

/* Page banner alignment variants */
.page-banner-align-left   .page-banner-inner { text-align: left; }
.page-banner-align-center .page-banner-inner { text-align: center; }
.page-banner-align-right  .page-banner-inner { text-align: right; }

.page-banner-align-center .breadcrumb { justify-content: center; }
.page-banner-align-right  .breadcrumb { justify-content: flex-end; }
.page-banner-align-center .page-banner-inner h1,
.page-banner-align-right  .page-banner-inner h1 { margin-left: 0; }

/* =====================================================================
   HANSA-INSPIRED COLOR SYSTEM OVERRIDES
   High-contrast navy / white / red — clean industrial B2B aesthetic
   ===================================================================== */

/* ── Global page background + body text ──────────────────────────────── */
body { background: var(--canvas); color: var(--ink); }

/* ── Topbar: clean white with red accent icons ───────────────────────── */
.topbar { background: var(--thread-white); border-bottom: 2px solid var(--madder); }
.topbar-icon { background: var(--red-glow); color: var(--madder); border-radius: 6px; }
.topbar-item strong { color: var(--ink); }
.topbar-item span   { color: var(--ink-soft); }

/* ── Main nav: deep navy ─────────────────────────────────────────────── */
.mainbar { background: var(--ink); box-shadow: 0 2px 8px rgba(0,0,0,0.25); }
.nav-cta { background: var(--madder); color: var(--thread-white); border-radius: 3px; font-weight: 600; letter-spacing: 0.02em; }
.nav-cta:hover { background: var(--red-dark); color: var(--thread-white); }

/* ── Buttons ─────────────────────────────────────────────────────────── */
.btn-primary { background: var(--madder); color: var(--thread-white); border-radius: 3px; font-weight: 600; letter-spacing: 0.02em; }
.btn-primary:hover { background: var(--red-dark); color: var(--thread-white); }
.btn-ghost { border-color: rgba(13,19,33,0.25); color: var(--ink); border-radius: 3px; }
.btn-ghost:hover { background: var(--ink); color: var(--thread-white); border-color: var(--ink); }

/* ── Hero: ghost button override for dark bg ─────────────────────────── */
.hero.has-media .btn-ghost { color: var(--thread-white); border-color: rgba(var(--thread-white-rgb, 255,255,255),0.5); }
.hero.has-media .btn-ghost:hover { background: var(--thread-white); color: var(--ink); }

/* ── Alternating sections: light bg ─────────────────────────────────── */
section, .section { background: var(--canvas); }
section:nth-child(even), .section:nth-child(even) { background: var(--canvas-deep); }

/* ── Eyebrow label: red not brown ───────────────────────────────────── */
.eyebrow { color: var(--madder); }

/* ── Stat numbers: red ───────────────────────────────────────────────── */
.benefit-num { color: var(--madder); }

/* ── Fan / product cards hover ring ─────────────────────────────────── */
.fan-card:hover { border-color: var(--madder); }

/* ── Benefits bar: dark navy section ────────────────────────────────── */
#benefits { background: var(--ink) !important; }
#benefits .benefit-num   { color: var(--madder); }
#benefits .benefit-label { color: rgba(var(--thread-white-rgb, 255,255,255),0.65); font-weight: 500; }
#benefits .benefit-card  { border-right: 1px solid rgba(var(--thread-white-rgb, 255,255,255),0.08); }
#benefits .benefit-card:last-child { border-right: none; }

/* ── Process section ─────────────────────────────────────────────────── */
#process { background: var(--canvas-deep) !important; }
.process-num { color: var(--madder); }

/* ── Why Choose Us / Mill: dark navy sections ───────────────────────── */
#why-us, #mill { background: var(--ink) !important; color: var(--thread-white); }
#why-us .eyebrow, #mill .eyebrow { color: var(--turmeric); }
#why-us h2, #mill h2 { color: var(--thread-white); }
#why-us p,  #mill p  { color: rgba(var(--thread-white-rgb, 255,255,255),0.7); }

/* ── About collage + Capabilities ───────────────────────────────────── */
#about-collage { background: var(--canvas-deep) !important; }
#capabilities  { background: var(--ink) !important; color: var(--thread-white); }
#capabilities .eyebrow { color: var(--turmeric); }
#capabilities h2 { color: var(--thread-white); }

/* ── Certifications section: keeps dark, red top-accents updated ─────── */
.cert-section { background: var(--ink); }
.cert-card--indigo { border-top-color: var(--indigo-light); }
.cert-card--madder { border-top-color: var(--madder); }
.cert-cta { background: var(--madder); }
.cert-cta:hover { background: var(--red-dark); }

/* ── Fair banner CTA strip ───────────────────────────────────────────── */
#fair-banner { background: var(--madder) !important; }
#fair-banner h2, #fair-banner p { color: var(--thread-white); }
#fair-banner .btn-primary { background: var(--thread-white); color: var(--madder); }
#fair-banner .btn-primary:hover { background: var(--ink); color: var(--thread-white); }
#fair-banner .btn-ghost { border-color: rgba(var(--thread-white-rgb, 255,255,255),0.6); color: var(--thread-white); }

/* ── Page banner (inner pages) ───────────────────────────────────────── */
.page-banner { background: var(--ink); }

/* ── Quote / contact sections ────────────────────────────────────────── */
#quote, #contact { background: var(--canvas-deep) !important; }
#quote h2, #contact h2 { color: var(--ink); }
#quote .eyebrow, #contact .eyebrow { color: var(--madder); }
#quote p, #contact p { color: var(--ink-soft); }
#quote .quote-note, #contact .quote-note { color: var(--ink-soft); }
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus { border-color: var(--madder); box-shadow: 0 0 0 3px var(--red-glow); }

/* ── Catalogue cards ─────────────────────────────────────────────────── */
.catalog-card:hover { box-shadow: 0 8px 32px rgba(215,38,56,0.15); }
.catalog-card .tag   { background: var(--madder); }

/* ── WooCommerce accents ─────────────────────────────────────────────── */
.woo-card:hover { box-shadow: 0 6px 24px var(--red-glow); }
.woo-card-badge { background: var(--madder); }

/* ── Footer ──────────────────────────────────────────────────────────── */
.site-footer { background: var(--footer-bg, #0D1321); border-top: 3px solid var(--madder); }
.site-footer h4, .site-footer .footer-heading { color: var(--footer-heading, var(--thread-white)); }
.site-footer a { color: var(--footer-link, rgba(var(--thread-white-rgb, 255,255,255),0.65)); }
.site-footer a:hover { color: var(--footer-link-hover, var(--madder)); }
.footer-bottom { border-top: 1px solid rgba(var(--thread-white-rgb, 255,255,255),0.08); color: rgba(var(--thread-white-rgb, 255,255,255),0.45); }
.site-footer .social-icons a:hover { background: var(--madder); color: var(--thread-white); }

/* ── Announcement banner ─────────────────────────────────────────────── */
.ann-bar { background: var(--madder) !important; }

/* ── Mobile nav ──────────────────────────────────────────────────────── */
.mobile-nav { background: var(--thread-white); }
.mobile-nav a { color: var(--ink); }
.mobile-nav a:hover { color: var(--madder); }

/* ── Scrollbar accent (Webkit) ───────────────────────────────────────── */
::-webkit-scrollbar-thumb { background: var(--madder); }


/* ── Catalog / Custom Quote contact page ────────────────────────────────── */
.catalog-quote-section{background:var(--canvas);}
.catalog-quote-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start;}
.catalog-quote-heading{font-size:1.9rem;letter-spacing:0.01em;margin:0 0 14px;text-transform:uppercase;}
.catalog-quote-desc{color:var(--ink-soft);max-width:560px;line-height:1.7;margin:0 0 28px;}
.catalog-quote-form{padding:32px;}
.catalog-quote-form::after{content:none;}
.catalog-quote-form::before{content:none;}
.catalog-quote-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234A5568'><path d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%234A5568' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px;}

.catalog-quote-sidebar{display:flex;flex-direction:column;gap:22px;}
.cq-side-card{background:var(--canvas-deep);border:1px solid var(--line);border-radius:2px;padding:24px 26px;}
.cq-side-card h4{font-family:'Poppins',sans-serif;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-soft);margin:0 0 16px;}
.cq-side-card p{color:var(--ink-soft);font-size:0.9rem;line-height:1.6;margin:0 0 14px;}
.cq-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.cq-check-list li{position:relative;padding-left:20px;font-size:0.92rem;color:var(--ink);}
.cq-check-list li::before{content:'—';position:absolute;left:0;color:var(--madder);}
.cq-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.cq-contact-list a{color:var(--ink);text-decoration:none;font-size:0.92rem;}
.cq-contact-list a:hover{color:var(--madder);text-decoration:underline;}
.cq-handbook-link{display:inline-block;color:var(--madder);font-weight:600;font-size:0.88rem;text-decoration:none;letter-spacing:0.02em;text-transform:uppercase;}
.cq-handbook-link:hover{text-decoration:underline;}

@media (max-width:900px){
  .catalog-quote-grid{grid-template-columns:1fr;gap:32px;}
}

/* ── OEM Handbook page ───────────────────────────────────────────────── */
.handbook-intro h1{font-size:2rem;margin:10px 0 18px;letter-spacing:0.01em;}
.handbook-intro p{color:var(--ink-soft);line-height:1.7;font-size:1.02rem;}

.handbook-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.handbook-step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line);}
.handbook-step:last-child{border-bottom:1px solid var(--line);}
.handbook-step-num{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.4rem;color:var(--madder);opacity:0.6;}
.handbook-step h3{margin:0 0 8px;font-size:1.1rem;}
.handbook-step p{margin:0;color:var(--ink-soft);line-height:1.65;font-size:0.94rem;}

.handbook-info-grid{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.handbook-info-card{background:var(--canvas-deep);border:1px solid var(--line);border-radius:2px;padding:26px 28px;}
.handbook-info-card h4{font-family:'Poppins',sans-serif;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-soft);margin:0 0 16px;}
.handbook-info-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.handbook-info-card li{display:flex;justify-content:space-between;gap:12px;font-size:0.92rem;border-bottom:1px dashed var(--line);padding-bottom:8px;}
.handbook-info-card li:last-child{border-bottom:none;padding-bottom:0;}
.handbook-info-card li strong{color:var(--ink);font-weight:600;}
.handbook-info-card li span{color:var(--ink-soft);}

.handbook-cta{background:var(--ink);padding:64px 0;text-align:center;}
.handbook-cta h2{color:var(--thread-white);font-size:1.6rem;max-width:640px;margin:0 auto 26px;line-height:1.4;}

@media (max-width:700px){
  .handbook-info-grid{grid-template-columns:1fr;}
  .handbook-step{grid-template-columns:44px 1fr;}
}
