/* ============================================================
   Homepage-only styles — Buy Product Boxes Atelier
   Enqueued on the front page only (see functions.php).
   ============================================================ */

/* ---------- HERO with quote form ---------- */
.hero2{ background:linear-gradient(105deg,#1c3328 0%,#274536 55%,#345240 100%); color:#F2ECE1; overflow:hidden; position:relative; }
.hero2::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 10%, rgba(201,168,119,.14), transparent 45%); pointer-events:none; }
.hero2 .wrap{ display:grid; grid-template-columns:1.1fr .9fr; gap:54px; align-items:center; padding:72px 0 78px; position:relative; z-index:1; }
.hero2 .eyebrow{ color:var(--brass-lt); margin-bottom:20px; }
.hero2 h1{ color:#FBF7EF; font-size:clamp(2.7rem,4.8vw,4.3rem); line-height:1.03; }
.hero2 h1 em{ font-style:italic; color:var(--brass-lt); }
.hero2 .lead{ color:#CBD8CE; font-size:1.12rem; max-width:46ch; margin:20px 0 28px; }
.hero2 .cta{ display:flex; gap:14px; flex-wrap:wrap; }
.hero2 .ticks{ display:flex; gap:22px; margin-top:28px; flex-wrap:wrap; }
.hero2 .ticks span{ display:flex; align-items:center; gap:8px; font-size:.88rem; color:#DCE6DE; font-weight:600; }
.hero2 .ticks b{ color:var(--brass-lt); }
/* quote card */
.hero-quote{ background:var(--paper); border-radius:12px; padding:30px 28px; box-shadow:0 30px 70px rgba(0,0,0,.34); border:1px solid rgba(201,168,119,.4); }
.hero-quote .hq-head{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.hero-quote .hq-badge{ background:var(--clay); color:#fff; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:5px 10px; border-radius:3px; }
.hero-quote h3{ font-family:var(--display); font-size:1.7rem; color:var(--ink); margin:0; }
.hero-quote p.sub{ font-size:.88rem; color:var(--muted); margin:4px 0 18px; }
.hq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hq-grid .full{ grid-column:1/-1; }
.hq-grid label{ display:block; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:700; margin-bottom:6px; }
.hq-grid .field{ width:100%; }
.hero-quote .btn{ width:100%; margin-top:16px; }
.hero-quote .note{ text-align:center; font-size:.76rem; color:var(--muted); margin:12px 0 0; }

/* ---------- marquee ---------- */
.marquee{ background:var(--ink); color:var(--canvas); overflow:hidden; }
.marquee .track{ display:flex; gap:46px; padding:15px 0; white-space:nowrap; animation:scrollx 30s linear infinite; }
.marquee span{ font-family:var(--display); font-size:1.02rem; letter-spacing:.04em; opacity:.86; display:flex; align-items:center; gap:46px; }
.marquee span::after{ content:"✦"; color:var(--brass-lt); }
@keyframes scrollx{ to{ transform:translateX(-50%); } }

/* ---------- feature bar ---------- */
.feat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.feat-row .f{ padding:32px 26px; border-right:1px solid var(--line); display:flex; gap:16px; align-items:flex-start; }
.feat-row .f:last-child{ border-right:none; }
.feat-row .f svg{ width:30px; height:30px; color:var(--clay); stroke-width:1.5; flex-shrink:0; }
.feat-row .f h4{ font-family:var(--sans); font-weight:800; font-size:1rem; color:var(--ink); margin:0 0 4px; }
.feat-row .f p{ font-size:.86rem; margin:0; }

/* ---------- promo banners (2-up) ---------- */
.promo-2{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.promo-card{ position:relative; border-radius:10px; overflow:hidden; min-height:300px; display:flex; align-items:center; padding:48px; color:#fff; }
.promo-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.promo-card .ov{ position:absolute; inset:0; }
.promo-card.dark .ov{ background:linear-gradient(100deg, rgba(20,32,26,.9) 25%, rgba(20,32,26,.45) 100%); }
.promo-card.clay .ov{ background:linear-gradient(100deg, rgba(120,52,28,.92) 25%, rgba(120,52,28,.5) 100%); }
.promo-card .pc-in{ position:relative; z-index:2; max-width:62%; }
.promo-card .sub{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--brass-lt); font-weight:800; }
.promo-card h3{ font-family:var(--display); font-size:2.1rem; line-height:1.08; color:#fff; margin:12px 0 18px; }
.promo-card .lnk{ display:inline-flex; align-items:center; gap:9px; font-weight:800; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; border-bottom:2px solid var(--brass); padding-bottom:4px; }

/* ---------- top sale + side promos ---------- */
.topsale{ display:grid; grid-template-columns:1fr 340px; gap:30px; align-items:stretch; }
.topsale .ts-feature{ position:relative; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:34px; color:#fff; min-height:100%; }
.topsale .ts-feature img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.topsale .ts-feature .ov{ position:absolute; inset:0; background:linear-gradient(to top, rgba(20,32,26,.92) 12%, rgba(20,32,26,.25) 70%); }
.topsale .ts-feature .tsf-in{ position:relative; z-index:2; }
.topsale .ts-feature .sub{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--brass-lt); font-weight:800; }
.topsale .ts-feature h3{ font-family:var(--display); font-size:1.9rem; color:#fff; margin:10px 0 16px; }
.ts-pgrid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
/* sale card with drop-in image slot */
.salecard{ background:var(--paper); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:.2s; }
.salecard:hover{ box-shadow:var(--shadow); border-color:var(--brass); }
.salecard .sc-ph{ position:relative; aspect-ratio:1/1; background:#fff; }
.salecard .sc-ph .tag{ position:absolute; top:12px; left:12px; z-index:3; background:var(--clay); color:#fff; font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:5px 11px; border-radius:2px; pointer-events:none; }
.salecard .sc-body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; }
.salecard .sc-body .cat{ font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--clay); font-weight:700; }
.salecard .sc-body h3{ font-family:var(--display); font-size:1.16rem; margin:0; line-height:1.14; }
.salecard .sc-body h3 a{ color:var(--ink); }
.salecard:hover .sc-body h3 a{ color:var(--clay); }
.salecard .foot{ display:flex; align-items:center; justify-content:space-between; margin-top:4px; }
.salecard .price{ font-family:var(--display); font-size:1.04rem; color:var(--ink); }
.salecard .price small{ font-size:.7rem; color:var(--muted); }
.salecard .sc-link{ font-weight:800; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--clay); }

/* ---------- small product columns ---------- */
.mini-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.mini-col h3{ font-family:var(--display); font-size:1.45rem; color:var(--ink); padding-bottom:14px; border-bottom:1px solid var(--line); margin-bottom:8px; }
.mini{ display:flex; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.mini img{ width:78px; height:78px; object-fit:cover; border-radius:6px; background:#fff; flex-shrink:0; }
.mini .mt{ min-width:0; }
.mini .mt .mcat{ font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--clay); font-weight:700; }
.mini .mt h4{ font-family:var(--sans); font-weight:700; font-size:.98rem; color:var(--ink); margin:3px 0 5px; line-height:1.2; }
.mini .mt .mr{ font-size:.78rem; color:var(--star); }
.mini .mt .mp{ font-family:var(--display); font-size:1rem; color:var(--ink); }

/* ---------- process split ---------- */
.split2{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.split2 .img{ border-radius:10px; overflow:hidden; aspect-ratio:5/4; background:#fff; }
.split2 .img img{ width:100%; height:100%; object-fit:cover; }

@media(max-width:980px){
  .hero2 .wrap{ grid-template-columns:1fr; gap:40px; }
  .topsale{ grid-template-columns:1fr; } .topsale .ts-feature{ min-height:260px; }
}
@media(max-width:860px){
  .feat-row{ grid-template-columns:1fr 1fr; } .feat-row .f:nth-child(2){border-right:none;}
  .feat-row .f:nth-child(1),.feat-row .f:nth-child(2){ border-bottom:1px solid var(--line); }
  .promo-2{ grid-template-columns:1fr; } .split2{ grid-template-columns:1fr; }
  .mini-cols{ grid-template-columns:1fr; gap:8px; }
  .mini-col{ margin-bottom:24px; }
}
@media(max-width:560px){
  .feat-row{ grid-template-columns:1fr; } .feat-row .f{ border-right:none; border-bottom:1px solid var(--line); }
  .hq-grid{ grid-template-columns:1fr; } .ts-pgrid{ grid-template-columns:1fr; } .promo-card{ padding:34px; } .promo-card .pc-in{ max-width:100%; }
}
