/* ==========================================================================
   BIG MOH'S — couche v3 reprise de yumisu — DA des supports du client (28/10)
   Fonds studio de la marque (rose poudré / bleu ciel / crème, crochet du « Y » en relief au sol, rayons de lumière),
   bannière « Yumi. Crêpes & Desserts » en héros, monogramme « Y. », typo Poppins (sous-titre de la bannière),
   vraies photos (studio bleu ciel) en entier. Mécanique de conversion v2 conservée (1 CTA, barre collante, ajout 1 tap).
   ========================================================================== */
:root {
  --y3-cream: #fbf5ec;
  --y3-beige: #f1e2d0;
  --y3-beige-2: #e6cfb6;
  --y3-rose: #f6dcd4;
  --y3-sky: #e0313f;
  --y3-sky-2: #f6d3cf;
  --y3-blue: #c00717;
  --y3-blue-d: #9e0512;
  --y3-ink: #1e1714;      /* sous-titre de la bannière */
  --y3-ink-2: #5d5658;
  --y3-font: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --bm-display: var(--y3-font);
  --bm-head: var(--y3-font);
  --bm-body: var(--y3-font);
  --bm-text: var(--y3-ink);
  --bm-text-2: var(--y3-ink-2);
  --bv-ink: var(--y3-ink);
  --bv-ink-2: var(--y3-ink-2);
  --bv-cream: var(--y3-cream);
  --bv-sky-2: var(--y3-sky-2);
  --font-family: var(--y3-font);
  --font-family-heading: var(--y3-font);
  --font-display: var(--y3-font);
}

body {
  font-family: var(--y3-font);
  color: var(--y3-ink);
  background: linear-gradient(180deg, var(--y3-cream) 0%, #f8eee2 100%) fixed;
}

/* Toute la typo passe en Poppins (Fraunces abandonnée : ne figure sur aucun support) */
h1, h2, h3, h4, .bv-h2, .bv-hero__title, .bv-card__name, .bm-title, .product-title, .category-summary-title,
.catalog-header h1, .order-mode-title, .step-name, .bm-btn, .btn, .footer, .nav-drawer {
  font-family: var(--y3-font) !important;
  font-variation-settings: normal !important;
  font-style: normal;
}
.bv-h2 { font-weight: 700; letter-spacing: -0.025em; font-size: clamp(1.55rem, 6.4vw, 2.35rem); line-height: 1.12; }
.bv-h2 em, .bv-hero__title em { font-style: normal !important; font-weight: 700; color: #c00717; }

/* En-tête crème translucide, bandeau d'état bleu logo adouci */
.header { background: rgba(251, 245, 236, 0.86) !important; }
.status-banner, .restaurant-status-bar, [class*="status-bar"] { background: var(--y3-blue) !important; }

/* ---------- Bandes : fonds studio de la marque, fondus haut/bas (pas de bord franc) ---------- */
.bv-band { position: relative; isolation: isolate; }
.bv-band::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background-size: cover; background-position: center bottom; background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
}
.bv-band--rouge::before { background-image: url("/static/img/bm/bg-rouge-sm.webp"); }
.bv-band--kraft::before { background-image: url("/static/img/bm/bg-kraft-sm.webp"); }
.bv-band--creme::before { background-image: url("/static/img/bm/bg-creme-sm.webp"); }
@media (min-width: 900px) {
  .bv-band--rouge::before { background-image: url("/static/img/bm/bg-rouge.webp"); }
  .bv-band--kraft::before { background-image: url("/static/img/bm/bg-kraft.webp"); }
  .bv-band--creme::before { background-image: url("/static/img/bm/bg-creme.webp"); }
}

/* ---------- Héros : studio crème + bannière produits du client ---------- */
.bv-hero { background: url("/static/img/bm/bg-creme-sm.webp") center bottom / cover no-repeat, var(--y3-beige); }
.bv-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 70px; background: linear-gradient(180deg, rgba(251, 245, 236, 0), var(--y3-cream)); pointer-events: none; }
.bv-hero__inner { padding-top: 1.6rem; padding-bottom: 0; }
.bv-hero__title { font-family: var(--y3-font) !important; font-weight: 700; font-size: clamp(2.1rem, 9.6vw, 3.9rem); line-height: 1.04; letter-spacing: -0.035em; color: var(--y3-ink); }
.bv-hero__title em { display: inline; text-decoration: none; }
.bv-hero__lead { color: var(--y3-ink-2); font-size: 1rem; max-width: 34ch; }
.bv-cta { font-family: var(--y3-font); font-weight: 600; background: var(--y3-blue); }
.bv-trust { color: var(--y3-ink-2); }
.bv-trust svg { stroke: var(--y3-blue); }
.bv-hero__art { position: relative; height: auto; margin: 0.6rem -16px 0; }
.bv-hero__art picture, .bv-hero__art img { display: block; width: 100%; height: auto; }
.bv-hero__art img {
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 100%);
}

/* ---------- Catégories : photos réelles en bulles (le fond bleu studio devient la bulle) ---------- */
.bv-cats { padding-top: 2.4rem; padding-bottom: 2.6rem; }
.bv-cat__disc { overflow: hidden; background: var(--y3-sky-2); box-shadow: 0 10px 22px -14px rgba(30, 23, 20, 0.45); border: 3px solid #fff; }
.bv-cat__disc picture, .bv-cat__disc img { display: block; width: 100%; height: 100%; }
.bv-cat__disc img { object-fit: cover; object-position: center 55%; margin: 0; filter: none; transform: scale(1.45); }
.bv-cat:hover .bv-cat__disc img { transform: scale(1.55); }
.bv-cat strong { font-weight: 600; }
.bv-cat small { color: var(--y3-blue); }

/* ---------- Cartes produit : photo entière arrondie ---------- */
.bv-card { border-radius: 22px; padding: 0.55rem 0.55rem 0.8rem; box-shadow: 0 1px 2px rgba(30, 23, 20, 0.05), 0 14px 30px -20px rgba(30, 23, 20, 0.45); }
.bv-card__disc { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 16px; background: var(--y3-sky-2); margin-bottom: 0.65rem; }
.bv-card__disc picture, .bv-card__disc img { display: block; width: 100%; height: 100%; }
.bv-card__disc img { object-fit: cover; filter: none; transform: scale(1.18); transform-origin: 50% 60%; }
.bv-card:hover .bv-card__disc img { transform: scale(1.26); }
.bv-card__name, .bv-card__desc, .bv-card__foot { padding: 0 0.3rem; }
.bv-card__name { font-weight: 600; font-size: 0.98rem; letter-spacing: -0.01em; }
.bv-price { font-family: var(--y3-font); font-weight: 700; }

/* ---------- Infos : studio crème + monogramme ---------- */
.bv-info { padding-top: 2.6rem; }
.bv-info__card { position: relative; overflow: hidden; background: rgba(255, 255, 255, 0.82); backdrop-filter: blur(6px); }
.bv-info__card > * { position: relative; z-index: 1; }
.bv-mono { position: absolute !important; z-index: 0 !important; right: -26px; bottom: -40px; width: 150px; height: auto; opacity: 0.16; pointer-events: none; }

/* ---------- Carte (catalogue) ---------- */
body.page-catalog .product-card { border-radius: 22px !important; }
body.page-catalog .product-media { border-radius: 16px !important; overflow: hidden !important; background: var(--y3-sky-2) !important; border: 0 !important; }
body.page-catalog .product-media .product-img { object-fit: cover !important; transform: scale(1.22); transform-origin: 50% 58%; transition: transform 0.4s ease; }
body.page-catalog .product-card:hover .product-media .product-img { transform: scale(1.3); }
body.page-catalog .catalog-header h1 { font-weight: 700 !important; letter-spacing: -0.03em !important; }
body.page-catalog .catalog-header h1 span { font-style: normal !important; color: var(--y3-sky) !important; }
body.page-catalog .category-summary-title { font-weight: 700 !important; letter-spacing: -0.02em; }
body.page-catalog .product-title { font-weight: 600 !important; font-size: 1rem !important; }
body.page-catalog .order-mode-option { background: var(--y3-cream) !important; }

/* ---------- Fiche produit : photo entière ---------- */
body.page-product .product-media figure { border-radius: 26px !important; overflow: hidden !important; background: var(--y3-sky-2) !important; box-shadow: 0 18px 40px -26px rgba(30, 23, 20, 0.5) !important; }
body.page-product .product-detail-image { object-fit: cover !important; }
body.page-product .product-title { font-weight: 700 !important; letter-spacing: -0.025em; color: var(--y3-ink) !important; }

/* Pied de page bleu logo */
.footer { background: var(--y3-blue-d) !important; }

@media (min-width: 900px) {
  .bv-hero { background-image: url("/static/img/bm/bg-creme.webp"); }
  .bv-hero__inner { grid-template-columns: 1fr 1fr; min-height: 0; padding: 2.2rem 24px 0; align-items: center; }
  .bv-hero__art { margin: 0; align-self: end; }
  .bv-hero__art img { max-height: 620px; width: auto; margin-left: auto;
    -webkit-mask-image: radial-gradient(closest-side at 50% 55%, #000 62%, transparent 100%); mask-image: radial-gradient(closest-side at 50% 55%, #000 62%, transparent 100%); }
  .bv-mono { width: 240px; right: -20px; bottom: -60px; }
}

body.page-catalog .product-price, .bv-price { white-space: nowrap; }
body.page-catalog .product-title { font-family: var(--y3-font) !important; }
@media (min-width: 900px) { .bv-hero__art img { max-height: 660px; } }
