/* =========================================================
   Shivjee Sah Saw Mill — Shared Stylesheet
   Layout language modeled on hafeleindia.com:
   utility bar -> mega-nav -> hero -> tile grid -> footer sitemap
   ========================================================= */

:root{
  --walnut:      #000000;   /* header / footer / dark surfaces */
  --walnut-2:    #1a1a1a;   /* header hover surface */
  --timber:      #000000;   /* primary brand / buttons */
  --timber-dark: #262626;   /* button hover */
  --amber:       #000000;   /* accent / links / underline */
  --amber-light: #4d4d4d;
  --cream:       #fafafa;   /* page background */
  --paper:       #ffffff;   /* card background */
  --line:        #e2e2e2;   /* hairline borders on cream */
  --ink:         #000000;   /* primary text */
  --ink-soft:    #555555;   /* secondary text */
  --steel:       #333333;

  --font-en: 'Work Sans', 'Segoe UI', Arial, sans-serif;
  --font-hi: 'Noto Sans Devanagari', 'Work Sans', Arial, sans-serif;

  --maxw: 1240px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: var(--font-en);
  background: var(--cream);
  color: var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
html[lang="hi"] body{ font-family: var(--font-hi); }

img{ max-width:100%; display:block; }

/* Reusable uploadable-image overlay: sits on top of the CSS placeholder,
   covers it once a real file loads, and hides itself gracefully if not. */
.img-slot{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.img-slot.contain{ object-fit:contain; background:#fff; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-weight:700; line-height:1.2; }
p{ margin:0; }

.wrap{ width:100%; margin:0; padding:0 40px; box-sizing:border-box; }

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

/* ---------- Header row 1: logo / search / utility icons ---------- */
.header-top{ background:var(--paper); position:sticky; top:0; z-index:100; }
.header-top .wrap{ display:flex; align-items:center; gap:22px; height:78px; }
.brand{ display:flex; flex-direction:column; }
.brand-mark{ font-weight:800; font-size:22px; color:#000; letter-spacing:.2px; font-family: var(--font-hi); }
.brand-sub{ font-size:10.5px; letter-spacing:1.5px; color:var(--ink-soft); margin-top:2px; font-family: var(--font-en); }

.locale-select{ display:flex; align-items:center; gap:6px; font-size:13.5px; color:var(--ink-soft); white-space:nowrap; }
.locale-select svg{ width:16px; height:16px; }

.lang-toggle{
  display:flex; align-items:center; background:var(--cream);
  border:1px solid var(--line); border-radius:20px; padding:2px; gap:2px;
}
.lang-toggle button{
  border:0; background:transparent; color:var(--ink-soft); font-size:12px;
  font-weight:700; padding:5px 11px; border-radius:16px; transition:.2s;
}
.lang-toggle button.active{ background:var(--timber); color:#fff; }

.search-bar{ flex:1; display:flex; height:44px; max-width:640px; position:relative; }
.search-bar input{
  flex:1; border:1px solid var(--line); border-right:0; border-radius:3px 0 0 3px;
  padding:0 16px; font-size:14px; font-family:inherit; background:#fff; min-width:0;
}
.search-bar input:focus{ outline:none; border-color:var(--timber); }
.search-bar button{
  width:52px; border:0; background:var(--timber); color:#fff; border-radius:0 3px 3px 0;
  display:flex; align-items:center; justify-content:center;
}
.search-bar button:hover{ background:var(--timber-dark); }
.search-bar button svg{ width:18px; height:18px; }

/* ---------- Search suggestions dropdown ---------- */
.search-suggest{
  display:none; position:absolute; top:calc(100% + 6px); left:0; right:0;
  background:var(--paper); border:1px solid var(--line); border-radius:4px;
  box-shadow:0 16px 32px rgba(36,22,17,.14); z-index:60; overflow:hidden;
  max-height:360px; overflow-y:auto;
}
.search-suggest.open{ display:block; }
.search-suggest-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:11px 16px; font-size:14px; color:var(--ink); border-bottom:1px solid var(--line);
}
.search-suggest-row:last-child{ border-bottom:0; }
.search-suggest-row:hover{ background:var(--cream); }
.search-suggest-row .ss-name{ font-weight:600; }
.search-suggest-row .ss-cat{ font-size:12px; color:var(--ink-soft); white-space:nowrap; }
.search-suggest-empty{ padding:14px 16px; font-size:13.5px; color:var(--ink-soft); }

.header-utils{ display:flex; align-items:center; gap:22px; margin-left:auto; }
.util-link{ display:flex; flex-direction:column; align-items:center; gap:4px; font-size:12px; color:var(--ink-soft); position:relative; white-space:nowrap; }
.util-link svg{ width:19px; height:19px; color:var(--ink); }
.util-link:hover svg, .util-link:hover{ color:var(--timber); }
.util-badge{
  position:absolute; top:-6px; right:-8px; background:var(--timber); color:#fff;
  font-size:9.5px; font-weight:700; width:15px; height:15px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}

/* ---------- Header row 2: flat tab nav (grey) ---------- */
.header-tabs{ background:var(--cream); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.tabs-row{ display:flex; align-items:center; justify-content:space-between; height:48px; }
.tabs-left{ display:flex; align-items:stretch; height:100%; }
.tabs-left a{
  display:flex; align-items:center; padding:0 20px; font-size:13.5px; font-weight:600;
  color:var(--ink-soft); height:100%;
}
.tabs-left a:hover{ color:var(--timber); }
.tabs-left a.active{ background:var(--timber); color:#fff; }
.tabs-right{ display:flex; align-items:center; gap:22px; }
.tabs-right a{ display:flex; align-items:center; gap:7px; font-size:13.5px; color:var(--ink-soft); font-weight:600; }
.tabs-right a svg{ width:16px; height:16px; }
.tabs-right a:hover{ color:var(--timber); }

/* Mobile nav toggle */
.nav-burger{ display:none; }

/* ---------- Breadcrumb / page header banner ---------- */
.page-banner{
  background:linear-gradient(135deg, var(--walnut) 0%, #262626 100%);
  color:#e8e8e8; padding:52px 0 40px;
}
.breadcrumb{ font-size:13px; color:#b8b8b8; margin-bottom:10px; }
.breadcrumb a{ color:#b8b8b8; } .breadcrumb a:hover{ color:#fff; }
.page-banner h1{ font-size:34px; color:#fff; }
.page-banner p{ margin-top:10px; max-width:640px; color:#c9c9c9; font-size:15.5px; }

/* ---------- Hero layout (home): sidebar + carousel panel ---------- */
.hero-section{ padding:22px 0 0; }
.hero-layout{ display:grid; grid-template-columns:280px 1fr; gap:0; min-height:400px; }

.category-sidebar{ background:var(--walnut); }
.category-sidebar li a{
  display:block; padding:17px 20px; font-size:14.5px; font-weight:600; color:#eeeeee;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.category-sidebar li a:hover{ background:var(--walnut-2); color:#fff; }
.category-sidebar li:last-child a{ border-bottom:0; }

.hero-panel{ position:relative; background:var(--cream); overflow:hidden; }
.hero-slide{
  display:none; height:100%; min-height:400px;
  grid-template-columns:1fr 1fr; align-items:center;
}
.hero-slide.active{ display:grid; }
.hero-text{ padding:0 20px 0 56px; max-width:380px; }
.hero-text .eyebrow-line{ font-size:22px; color:var(--ink); line-height:1.3; }
.hero-text .eyebrow-line b{ display:block; font-weight:800; }
.hero-text .sub{ font-size:15px; color:var(--ink-soft); margin-top:10px; }
.hero-text .btn{ margin-top:22px; }

.hero-image{
  position:relative; height:100%; min-height:400px; overflow:hidden;
  cursor:pointer;
}
.hero-image:active .grain{ transform:scale(1.015); }
.hero-image .grain{ transition:transform .4s ease; }
.hero-image .grain{
  position:absolute; inset:0;
  clip-path:polygon(14% 0, 100% 0, 100% 100%, 0% 100%);
  background:
    repeating-linear-gradient(100deg, #2a2a2a 0 3px, #161616 3px 7px, #363636 7px 10px),
    linear-gradient(160deg,#3a3a3a,#111111);
}
.hero-image .grain::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at 30% 20%, rgba(255,255,255,.18), transparent 60%);
}
.hero-image .accent-line{
  position:absolute; top:0; bottom:0; left:14%; width:4px; background:var(--amber);
  transform:skewX(-15deg); transform-origin:top;
}
.hero-image .wordmark{ position:absolute; top:18px; right:22px; color:#fff; font-weight:800; font-size:15px; letter-spacing:1px; opacity:.9; font-family:var(--font-hi); }

.hero-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:10;
  width:38px; height:38px; border-radius:2px; border:0; background:rgba(60,45,35,.7); color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.hero-arrow:hover{ background:var(--timber); }
.hero-arrow.prev{ left:14px; }
.hero-arrow.next{ right:14px; }
.hero-arrow svg{ width:16px; height:16px; }

.hero-stats{ display:flex; gap:34px; padding:22px 0 0 56px; }
.hero-stats div b{ display:block; font-size:24px; color:var(--ink); }
.hero-stats div span{ font-size:12.5px; color:var(--ink-soft); }

/* ---------- Section shells ---------- */
section{ padding:64px 0; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px; flex-wrap:wrap; }
.section-head h2{ font-size:28px; }
.section-head p{ color:var(--ink-soft); margin-top:8px; max-width:560px; }
.section-link{ font-weight:600; color:var(--timber); border-bottom:2px solid var(--amber); padding-bottom:2px; white-space:nowrap; }
.eyebrow{ color:var(--amber); font-weight:700; font-size:13px; letter-spacing:.3px; margin-bottom:8px; }

.alt{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

/* ---------- Category promo banners (diagonal ribbon, per reference) ---------- */
.promo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.promo-banner{
  position:relative; display:flex; align-items:stretch; height:230px;
  background:#fff; overflow:hidden; border-radius:6px; border:1px solid var(--line);
}
.promo-banner .photo{
  position:absolute; right:0; top:0; bottom:0; width:64%;
}
.promo-banner .ribbon{
  position:absolute; top:-20%; bottom:-20%; left:34%; width:64px;
  background:linear-gradient(115deg, var(--amber-light), var(--amber) 45%, var(--timber));
  transform:skewX(-16deg); box-shadow:0 0 0 6px rgba(255,255,255,.9) inset;
}
.promo-banner .ribbon::after{
  content:""; position:absolute; top:0; left:-38px; width:38px; height:38px;
  background:inherit; clip-path:polygon(100% 0, 100% 100%, 0 0);
}
.promo-banner .content{
  position:relative; z-index:2; padding:0 20px 0 30px; width:38%;
  display:flex; flex-direction:column; justify-content:center; gap:16px;
}
.promo-banner h3{ font-size:23px; line-height:1.25; color:var(--ink); }
.promo-banner h3 span{ display:block; }

/* ---------- Quick-links + social section (below hero) ---------- */
.quicklinks-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:20px; align-items:stretch; }
.ql-box{ background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:26px; }
.ql-box h4{ font-size:13px; letter-spacing:.4px; color:var(--ink-soft); margin-bottom:18px; display:flex; align-items:center; gap:8px; }
.ql-box h4 svg{ width:18px; height:18px; }

.ql-items{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px; }
.ql-item{ display:block; }
.ql-thumb{ position:relative; height:92px; border-radius:4px; overflow:hidden; }
.new-badge{
  position:absolute; top:10px; right:-30px; background:var(--timber); color:#fff;
  font-size:9.5px; font-weight:800; padding:3px 34px; transform:rotate(35deg);
  letter-spacing:.5px; box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.ql-item .label{
  display:block; font-size:13px; font-weight:700; color:var(--timber); margin-top:9px;
  border-top:2px solid var(--amber); padding-top:6px;
}

.social-row-ql{ display:flex; gap:22px; margin-bottom:18px; }
.social-row-ql a{ display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:var(--ink-soft); }
.social-row-ql a svg{ width:19px; height:19px; }
.social-row-ql a:hover{ color:var(--timber); }

.ql-videos{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ql-video .thumb-wrap{ position:relative; height:78px; border-radius:4px; overflow:hidden; }
.play-badge{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
.play-badge span{
  width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.9);
  display:flex; align-items:center; justify-content:center;
}
.play-badge svg{ width:13px; height:13px; color:var(--timber); margin-left:2px; }
.ql-video p{ font-size:12px; color:var(--ink-soft); margin-top:8px; line-height:1.35; }
/* ---------- Product detail page ---------- */
.pdp-hero{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:flex-start; }
.pdp-image{ height:380px; border-radius:6px; position:relative; overflow:hidden; background-color:#1a1a1a; }
.pdp-image::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.6), transparent 45%); }
.pdp-image .wordmark{ position:absolute; bottom:16px; right:18px; color:#fff; font-weight:800; font-size:14px; opacity:.9; font-family:var(--font-hi); z-index:2; }
.pdp-info .hi-name{ font-size:16px; color:var(--ink-soft); font-family:var(--font-hi); margin-top:4px; }
.pdp-info h1{ font-size:30px; margin-top:4px; }
.pdp-info .tagline{ color:var(--timber); font-weight:600; font-size:14.5px; margin-top:10px; }
.pdp-info p.desc{ margin-top:16px; color:var(--ink-soft); font-size:15px; }
.pdp-specs{ margin-top:22px; border-top:1px solid var(--line); }
.pdp-specs div{ display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--line); font-size:14px; }
.pdp-specs div span:first-child{ color:var(--ink-soft); }
.pdp-specs div span:last-child{ font-weight:600; }
.pdp-cta{ display:flex; gap:12px; margin-top:26px; flex-wrap:wrap; }

.feature-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.feature-row div{ text-align:center; padding:22px 14px; background:var(--paper); border:1px solid var(--line); border-radius:6px; }
.feature-row svg{ width:30px; height:30px; color:var(--timber); margin-bottom:12px; }
.feature-row h4{ font-size:14px; margin-bottom:6px; }
.feature-row p{ font-size:12.5px; color:var(--ink-soft); }

@media(max-width:760px){
  .pdp-hero{ grid-template-columns:1fr; }
  .feature-row{ grid-template-columns:1fr 1fr; }
}

/* ---------- FAQ accordion ---------- */
.faq-list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item{ background:var(--paper); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.faq-item summary{
  list-style:none; cursor:pointer; padding:18px 20px; font-weight:600; font-size:15px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+"; font-size:20px; font-weight:400; color:var(--timber); flex:0 0 auto; transition:.2s;
}
.faq-item[open] summary::after{ content:"–"; }
.faq-item .faq-a{ padding:0 20px 18px; color:var(--ink-soft); font-size:14px; line-height:1.6; }

.tile-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.tile{
  background:var(--paper); border:1px solid var(--line); border-radius:6px;
  padding:22px 16px; text-align:left; display:flex; flex-direction:column; gap:14px;
  transition:.18s; min-height:150px; justify-content:space-between;
}
.tile:hover{ border-color:var(--amber); transform:translateY(-3px); box-shadow:0 14px 28px rgba(36,22,17,.1); }
.tile .ico{ width:38px; height:38px; color:var(--timber); }
.tile h3{ font-size:15.5px; }
.tile span{ font-size:12.5px; color:var(--ink-soft); }

/* ---------- Scroll strip (wood species) ---------- */
.strip{ display:flex; gap:18px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x mandatory; }
.strip::-webkit-scrollbar{ height:6px; }
.strip::-webkit-scrollbar-thumb{ background:var(--line); border-radius:6px; }
.wood-card{
  scroll-snap-align:start; flex:0 0 220px; background:var(--paper);
  border:1px solid var(--line); border-radius:6px; overflow:hidden;
}
.wood-card .swatch{ height:120px; position:relative; }
.wood-card .body{ padding:16px; }
.wood-card h3{ font-size:16px; }
.wood-card .hi{ font-size:13px; color:var(--ink-soft); margin-top:2px; font-family:var(--font-hi); }
.wood-card a.more{ display:inline-block; margin-top:10px; font-size:13px; font-weight:600; color:var(--timber); }

/* swatch variety */
.sw-1{ background:linear-gradient(135deg,#3d3d3d,#1a1a1a); }
.sw-2{ background:linear-gradient(135deg,#5a5a5a,#2b2b2b); }
.sw-3{ background:linear-gradient(135deg,#262626,#080808); }
.sw-4{ background:linear-gradient(135deg,#4a4a4a,#222222); }
.sw-5{ background:linear-gradient(135deg,#767676,#404040); }
.sw-6{ background:linear-gradient(135deg,#666666,#333333); }
.sw-7{ background:linear-gradient(135deg,#303030,#0d0d0d); }
.sw-8{ background:linear-gradient(135deg,#868686,#4d4d4d); }

/* ---------- Product / card grid (category pages) ---------- */
.filters{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }
.chip{
  padding:9px 16px; border:1px solid var(--line); border-radius:20px;
  font-size:13.5px; font-weight:600; color:var(--ink-soft); background:var(--paper);
}
.chip.active{ background:var(--timber); color:#fff; border-color:var(--timber); }

.card-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.pcard{ background:var(--paper); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; }
.pcard .thumb{ height:150px; position:relative; }
.pcard .body{ padding:18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.pcard h3{ font-size:15.5px; }
.pcard .hi{ font-size:12.5px; color:var(--ink-soft); font-family:var(--font-hi); }
.pcard p{ font-size:13.5px; color:var(--ink-soft); flex:1; }
.pcard .row{ display:flex; align-items:center; justify-content:space-between; margin-top:6px; }
.pcard a.view{ font-size:13.5px; font-weight:700; color:var(--timber); }
.pcard a.view:hover{ color:var(--amber); }

.thumb-plywood{ background:repeating-linear-gradient(0deg,#bdbdbd 0 6px,#8f8f8f 6px 12px,#5c5c5c 12px 18px); }
.thumb-door{ background:linear-gradient(160deg,#4d4d4d,#1a1a1a); position:relative; }
.thumb-door::after{ content:""; position:absolute; inset:14% 30%; border:3px solid rgba(255,255,255,.35); border-radius:2px; }
.thumb-board{ background:linear-gradient(135deg,#c2c2c2,#7a7a7a); }
.thumb-furn{ background:linear-gradient(135deg,#3d3d3d,#0d0d0d); }
.thumb-sani{ background:linear-gradient(135deg,#d6d6d6,#9a9a9a); }
.thumb-hw{ background:linear-gradient(135deg,#6b6b6b,#2e2e2e); }

/* ---------- Intro / rich text block ---------- */
.intro-block{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.intro-block .stat-list{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px; }
.stat-list div{ border-left:3px solid var(--amber); padding-left:12px; }
.stat-list b{ display:block; font-size:22px; }
.stat-list span{ font-size:12.5px; color:var(--ink-soft); }

/* ---------- Stats bar ---------- */
.stats-bar{ background:var(--timber); color:#fff; }
.stats-bar .wrap{ display:flex; justify-content:space-between; padding:38px 24px; flex-wrap:wrap; gap:24px; }
.stats-bar div{ text-align:center; flex:1; min-width:140px; }
.stats-bar b{ display:block; font-size:30px; }
.stats-bar span{ font-size:13px; color:#cfcfcf; }

/* ---------- Testimonial ---------- */
.testi{ background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:36px; max-width:760px; margin:0 auto; text-align:center; }
.testi p{ font-size:18px; color:var(--ink); }
.testi .who{ margin-top:16px; font-weight:700; }
.testi .who span{ font-weight:400; color:var(--ink-soft); display:block; font-size:13px; }

/* ---------- Blog cards ---------- */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.blog-card{ background:var(--paper); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.blog-card .thumb{ height:170px; background:linear-gradient(135deg,#4d4d4d,#161616); position:relative; }
.blog-card .body{ padding:20px; }
.blog-card .meta{ font-size:12px; color:var(--amber); font-weight:700; margin-bottom:8px; }
.blog-card h3{ font-size:17px; margin-bottom:8px; }
.blog-card p{ font-size:13.5px; color:var(--ink-soft); }
.blog-card a.read{ display:inline-block; margin-top:12px; font-size:13.5px; font-weight:700; color:var(--timber); }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; }
.contact-info .item{ display:flex; gap:14px; margin-bottom:22px; }
.contact-info .item .ico{ width:22px; height:22px; color:var(--timber); flex:0 0 auto; margin-top:2px; }
.contact-info h4{ font-size:15px; margin-bottom:4px; }
.contact-info p{ font-size:14px; color:var(--ink-soft); }
.map-box{ height:200px; border-radius:6px; margin-top:10px; background:
  linear-gradient(0deg, rgba(0,0,0,.08), rgba(0,0,0,.08)),
  repeating-linear-gradient(45deg,#e2e2e2 0 10px,#cfcfcf 10px 20px); }

.form{ background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:32px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--ink-soft); }
.form input, .form select, .form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:4px;
  font-family:inherit; font-size:14px; background:#fafafa;
}
.form textarea{ min-height:110px; resize:vertical; }
.form .full{ grid-column:1/-1; }
.form-status{ font-size:13.5px; padding:0; margin-bottom:0; min-height:0; border-radius:4px; transition:.15s; }
.form-status:not(:empty){ padding:11px 14px; margin-bottom:16px; min-height:auto; }
.form-status.pending{ background:var(--cream); color:var(--ink-soft); }
.form-status.success{ background:#eaf3ea; color:#2f5c33; border:1px solid #cfe4cf; }
.form-status.error{ background:#fbeaea; color:#8a2f2f; border:1px solid #f0caca; }

/* ---------- CTA strip ---------- */
.cta-strip{
  background:linear-gradient(135deg,var(--walnut),#2b2b2b); color:#fff; border-radius:8px;
  padding:46px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.cta-strip h2{ font-size:24px; max-width:480px; }
.cta-strip p{ color:#cfcfcf; margin-top:8px; }

/* ---------- Footer ---------- */
footer{ background:var(--walnut); color:#b8b8b8; padding-top:56px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:32px; padding-bottom:40px; }
.footer-brand .brand-mark{ color:#fff; }
.footer-brand p{ font-size:13.5px; color:#9a9a9a; margin-top:14px; max-width:280px; }
.footer-col h4{ color:#fff; font-size:13.5px; letter-spacing:.4px; margin-bottom:16px; }
.footer-col ul li{ margin-bottom:9px; }
.footer-col ul li a{ font-size:13.5px; color:#b0b0b0; }
.footer-col ul li a:hover{ color:var(--amber-light); }
.social-row{ display:flex; gap:10px; margin-top:18px; }
.social-row a{ width:34px; height:34px; border-radius:50%; border:1px solid #333333; display:flex; align-items:center; justify-content:center; }
.social-row a svg{ width:15px; height:15px; }
.footer-bottom{ border-top:1px solid #2b2b2b; padding:18px 0; font-size:12.5px; display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:18px; }
.footer-bottom a{ color:#b0b0b0; text-decoration:underline; }
.footer-bottom a:hover{ color:#fff; }
.footer-bottom > span:last-child{ margin-left:auto; }

/* ---------- Mobile ---------- */
@media(max-width:980px){
  .hero-layout{ grid-template-columns:1fr; }
  .category-sidebar{ display:flex; flex-wrap:wrap; }
  .category-sidebar li{ flex:1 1 50%; }
  .hero-slide{ grid-template-columns:1fr; }
  .hero-text{ padding:28px 24px 0; max-width:none; }
  .hero-image{ min-height:260px; }
  .hero-stats{ padding:22px 24px 26px; flex-wrap:wrap; }
  .tile-grid{ grid-template-columns:repeat(3,1fr); }
  .card-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .intro-block{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .blog-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:760px){
  .locale-select span{ display:none; }
  .header-top .wrap{ height:auto; padding:14px 16px; flex-wrap:wrap; gap:12px; }
  .search-bar{ order:3; max-width:none; width:100%; }
  .header-utils{ gap:16px; margin-left:0; }
  .util-link span{ display:none; }
  .tabs-left{ overflow-x:auto; }
  .tabs-right a span{ display:none; }
  .nav-burger{ display:flex; width:40px; height:40px; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:4px; background:#fff; }
  .tile-grid{ grid-template-columns:repeat(2,1fr); }
  .card-grid{ grid-template-columns:1fr 1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .hero-text .eyebrow-line{ font-size:19px; }
  .blog-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
}
