/* ==========================================================================
   INNEY — single product page
   Class prefix: soa-product__ (page-scoped, built on top of main.css tokens)
   ========================================================================== */

.soa-product__back-row{padding:22px var(--pad-x) 0;}
.soa-product__back{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--soa-ink-soft);}

.soa-product__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);align-items:start;padding:clamp(28px,4vw,48px) var(--pad-x) var(--pad-y);}

.soa-product__media{position:sticky;top:108px;aspect-ratio:4/5;overflow:hidden;background:var(--soa-bg-card);}
.soa-product__img{width:100%;height:100%;object-fit:cover;}

.soa-product__info{display:flex;flex-direction:column;gap:22px;}

.soa-product__eyebrow{margin-bottom:0;}

.soa-product__title{font-size:clamp(46px,5.4vw,84px);line-height:.96;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.soa-product__tifinagh{font-family:var(--font-tifinagh);font-size:.5em;color:var(--soa-accent);}

.soa-product__meaning{font-family:var(--font-serif);font-style:italic;font-size:clamp(19px,1.7vw,25px);color:var(--soa-accent-dark);line-height:1.4;}

.soa-product__infobar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0;border-top:1px solid rgba(var(--soa-line-rgb),.16);border-bottom:1px solid rgba(var(--soa-line-rgb),.16);}
.soa-product__badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soa-dark-fg);background:var(--soa-accent-dark);padding:9px 16px;}
.soa-product__price{display:flex;align-items:baseline;gap:6px;}
.soa-product__price .soa-price-request{font-family:var(--font-serif);font-size:24px;color:var(--soa-ink);}
.soa-product__price-label{color:var(--soa-muted);text-transform:uppercase;letter-spacing:.14em;font-size:11px;}

.soa-product__desc{font-size:clamp(15px,1.1vw,17px);line-height:1.75;color:var(--soa-ink-soft);}
.soa-product__desc p{margin:0 0 1em;}
.soa-product__desc p:last-child{margin-bottom:0;}

.soa-product__ctas{display:flex;flex-wrap:wrap;gap:14px;}

.soa-product__note{background:var(--soa-bg-alt);padding:22px 24px;}
.soa-product__note-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soa-accent-dark);margin:0 0 8px;}
.soa-product__note-text{font-size:14px;line-height:1.65;color:var(--soa-ink-soft);margin:0;}

.soa-product__specs-title,
.soa-product__palette-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soa-muted);margin:0 0 14px;}

.soa-product__specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}
.soa-product__spec-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid rgba(var(--soa-line-rgb),.14);}
.soa-product__spec-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--soa-muted);}
.soa-product__spec-value{font-size:14px;color:var(--soa-ink);text-align:right;}

.soa-product__palette-row{display:flex;gap:18px;flex-wrap:wrap;}
.soa-product__swatch{display:flex;flex-direction:column;align-items:center;gap:8px;}
.soa-product__swatch-color{display:block;width:38px;height:38px;border:1px solid rgba(var(--soa-line-rgb),.2);}
.soa-product__swatch-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--soa-muted);text-align:center;}

@media (max-width:900px){
  .soa-product__grid{grid-template-columns:1fr;}
  .soa-product__media{position:relative;top:auto;}
  .soa-product__specs-grid{grid-template-columns:1fr;}
}

/* ── story ── */
.soa-product__story-inner{max-width:980px;margin:0 auto;text-align:center;}
.soa-product__story-text{font-family:var(--font-serif);font-style:italic;font-size:clamp(22px,2.6vw,34px);line-height:1.5;color:var(--soa-ink);margin-top:18px;}

/* ── related ── */
.soa-product__related-head{margin-bottom:clamp(28px,4vw,48px);}
.soa-product__related-title{font-size:clamp(28px,3.4vw,48px);}

/* ── made-to-measure block ── */
.soa-product__custom{margin-top:18px;border:1px solid rgba(var(--soa-line-rgb),.24);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.soa-product__custom-body{flex:1;min-width:220px;}
.soa-product__custom-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soa-accent);margin:0 0 9px;}
.soa-product__custom-text{font-size:13.5px;line-height:1.7;color:var(--soa-ink-softer);margin:0;max-width:44ch;}
.soa-product__custom .soa-btn{white-space:nowrap;}
