/**
 * Build Week Morocco — unique components only. The page is built on the fest
 * design system (.fest-page provides the palette tokens, hero, section bands,
 * Berber dividers, centered-heading flourish, rail and buttons). This file only
 * adds the stats bar, day cards, included grid, callout, founder band and price
 * tiers, styled with the same --f-* tokens so it all reads as one system.
 * Loaded after main.css on .fest-page.bw-page.
 */

.bw-page .bw-narrow{ max-width:820px; margin-inline:auto; }
.bw-page .bw-note{ max-width:660px; margin:1.8rem auto 0; line-height:1.7; color:#8a6f42; font-size:.95rem; }
.bw-page .bw-block{ display:block; width:100%; }
/* Ghost button on light sand bands: give it the terracotta ink instead of white. */
.bw-page .bw-btn-dark{ color:var(--f-terra); border-color:var(--f-terra); }
.bw-page .bw-btn-dark:hover{ background:rgba(177,95,64,.08); color:var(--f-terra); }

/* ---- Positioning pillars (white cards on the sand band) ---------------- */
.bw-page .bw-pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2.4rem; max-width:960px; margin-inline:auto; }
.bw-page .bw-pillar{ background:#fff; border:1px solid rgba(200,154,78,.35); border-radius:18px; padding:1.7rem 1.5rem; text-align:center; box-shadow:0 16px 38px -30px rgba(44,33,23,.55); }
.bw-page .bw-pillar__icon{ font-size:2.1rem; line-height:1; }
.bw-page .bw-pillar__title{ font-family:var(--font-display); font-weight:800; font-size:1.15rem; color:var(--f-teal); margin:.75rem 0 .45rem; }
.bw-page .bw-pillar p{ margin:0; line-height:1.75; color:var(--f-ink); }
@media (max-width:760px){ .bw-page .bw-pillars{ grid-template-columns:1fr; } }

/* ---- Build-with-AI grid (translucent cards on the teal band) ----------- */
.bw-page .bw-ai{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin-top:2.4rem; }
.bw-page .bw-ai__card{ background:rgba(255,255,255,.06); border:1px solid rgba(200,154,78,.4); border-radius:16px; padding:1.5rem 1.5rem; }
.bw-page .bw-ai__icon{ display:block; font-size:1.8rem; line-height:1; }
.bw-page .bw-ai__title{ font-family:var(--font-display); font-weight:800; font-size:1.12rem; color:var(--f-gold); margin:.6rem 0 .5rem; }
.bw-page .bw-ai__card p{ margin:0; line-height:1.75; color:rgba(243,236,217,.9); }
@media (max-width:900px){ .bw-page .bw-ai{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .bw-page .bw-ai{ grid-template-columns:1fr; } }

/* ---- Hero: date line + stats under the fest hero ---------------------- */
.bw-page .bw-hero__meta{ color:rgba(243,236,217,.9); font-weight:600; letter-spacing:.02em; margin:0 0 1.4rem; }
.bw-page .bw-stats{ list-style:none; margin:2rem auto 0; padding:1.3rem 0 0; max-width:640px; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; border-top:1px solid rgba(243,236,217,.28); }
.bw-page .bw-stat{ text-align:center; }
.bw-page .bw-stat__num{ display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(1.5rem,3.6vw,2.1rem); color:var(--f-gold); line-height:1; }
.bw-page .bw-stat__label{ display:block; margin-top:.35rem; font-size:.78rem; font-weight:600; color:rgba(243,236,217,.82); }
@media (max-width:640px){ .bw-page .bw-stats{ grid-template-columns:repeat(2,1fr); gap:1.3rem; } }

/* ---- Day-by-day cards (white cards on the dark band) ------------------- */
.bw-page .bw-days{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem; margin-top:2.2rem; }
.bw-page .bw-day{ background:#fff; border-radius:18px; padding:1.5rem 1.6rem; border-top:5px solid var(--f-terra); box-shadow:0 20px 44px -28px rgba(0,0,0,.7); }
.bw-page .bw-day__head{ display:flex; align-items:center; gap:.9rem; margin-block-end:.7rem; }
.bw-page .bw-day__num{ width:42px; height:42px; flex:none; border-radius:12px; display:grid; place-items:center; background:var(--f-teal); color:#fff; font-family:var(--font-display); font-weight:800; font-size:1.2rem; }
.bw-page .bw-day__date{ display:block; font-size:.78rem; font-weight:700; color:var(--f-camel); letter-spacing:.04em; }
.bw-page .bw-day__title{ font-family:var(--font-display); font-weight:800; font-size:1.15rem; color:var(--f-teal); margin:.1rem 0 0; }
.bw-page .bw-day__body{ line-height:1.8; margin:0; color:var(--f-ink); }
.bw-page .bw-day + .bw-day::before{ content:none; } /* cancel the fest section-divider if it ever cascades */

/* ---- What's included grid --------------------------------------------- */
.bw-page .bw-incl{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; margin-top:2rem; max-width:900px; margin-inline:auto; }
.bw-page .bw-incl__item{ display:flex; gap:.9rem; align-items:flex-start; background:#fff; border:1px solid rgba(200,154,78,.35); border-radius:14px; padding:1.05rem 1.3rem; line-height:1.6; color:var(--f-ink); box-shadow:0 12px 30px -26px rgba(44,33,23,.6); }
.bw-page .bw-incl__icon{ font-size:1.5rem; flex:none; line-height:1; }
@media (max-width:640px){ .bw-page .bw-incl{ grid-template-columns:1fr; } }

/* ---- Who it's for callout --------------------------------------------- */
.bw-page .bw-callout{ background:#fff; border:1px solid rgba(200,154,78,.35); border-inline-start:6px solid var(--f-gold); border-radius:18px; padding:clamp(1.6rem,4vw,2.3rem); box-shadow:0 18px 40px -30px rgba(44,33,23,.55); }
.bw-page .bw-callout .fest-h2{ color:var(--f-teal); }
.bw-page .bw-callout p{ line-height:1.9; margin:0 0 .9rem; color:var(--f-ink); }
.bw-page .bw-callout p:last-child{ margin-bottom:0; }

/* ---- Founder band (on the teal section) ------------------------------- */
.bw-page .bw-why{ display:grid; grid-template-columns:280px 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.bw-page .bw-why__media{ text-align:center; }
.bw-page .bw-why__img{ width:100%; max-width:280px; aspect-ratio:1/1; object-fit:cover; border-radius:20px; box-shadow:0 24px 50px -24px rgba(0,0,0,.7); border:2px solid rgba(200,154,78,.5); }
.bw-page .bw-why__name{ display:block; margin-top:.7rem; color:rgba(243,236,217,.72); font-weight:600; font-size:.85rem; }
.bw-page .bw-why__body .fest-h2{ margin-block-start:.2rem; }
.bw-page .bw-why__body p{ line-height:1.9; }
@media (max-width:720px){ .bw-page .bw-why{ grid-template-columns:1fr; text-align:center; } .bw-page .bw-why__img{ max-width:200px; } }

/* ---- Price tiers ------------------------------------------------------- */
.bw-page .bw-tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; margin-top:2.2rem; max-width:980px; margin-inline:auto; align-items:stretch; }
.bw-page .bw-tier{ position:relative; background:#fff; border:1px solid rgba(200,154,78,.35); border-radius:20px; padding:2rem 1.7rem; display:flex; flex-direction:column; box-shadow:0 18px 44px -30px rgba(44,33,23,.55); }
.bw-page .bw-tier--featured{ border:2px solid var(--f-gold); box-shadow:0 24px 54px -30px rgba(200,154,78,.6); }
.bw-page .bw-tier__flag{ position:absolute; inset-block-start:-14px; inset-inline-end:1.6rem; background:var(--f-gold); color:#3a2b00; font-weight:800; font-size:.75rem; padding:.35rem .9rem; border-radius:999px; }
.bw-page .bw-tier__name{ font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--f-teal); margin:0 0 .3rem; }
.bw-page .bw-tier__price{ font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,5vw,2.6rem); color:var(--f-terra); line-height:1; margin-block:.2rem .6rem; }
.bw-page .bw-tier__desc{ color:var(--f-ink); opacity:.82; line-height:1.7; margin:0 0 1.3rem; flex:1 1 auto; }
@media (max-width:760px){ .bw-page .bw-tiers{ grid-template-columns:1fr; } }

.bw-page .bw-guarantee{ display:flex; gap:1rem; align-items:center; max-width:720px; margin:1.9rem auto 0; background:#F0FBF1; border:1px solid #BEE5C4; border-radius:16px; padding:1.1rem 1.4rem; }
.bw-page .bw-guarantee span{ font-size:1.6rem; }
.bw-page .bw-guarantee p{ margin:0; line-height:1.7; color:#2c2117; }

.bw-page .bw-final{ text-align:center; }
.bw-page .bw-final .fest-hero__cta{ margin-top:1.4rem; }
