/*
Theme Name: Mamma Mia Spritz Hero 3.9.3 (Full)
Theme URI: https://mammamiaspritz.fr
Author: Ben + AI
Description: Thème MMS complet : héro wahou pleine largeur, header calligraphié, contenus centrés, Caravane, Événements, Tarifs instagrammables (cartes vitrées + motif agrumes). Version 3.9.3 avec ajustements demandés.
Version: 3.9.3
Text Domain: mammamiaspritz-hero-393-full
*/

:root{ --orange:#ff6f2c; --orange2:#ff7a3f; --ink:#1f140e; --wrap:1180px; }

*{box-sizing:border-box}
html,body{margin:0}
body{font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:var(--ink)}

/* Fond orangeraie global + teinte douce */
body::before{ content:""; position: fixed; inset:0; z-index:-2; background: url('assets/img/hero-orangeraie.jpg') center/cover no-repeat; }
body::after{ content:""; position: fixed; inset:0; z-index:-1; background: linear-gradient(180deg, rgba(255,111,44,.08), rgba(255,111,44,.18)); }

/* Header */
.site-header{ position:fixed; top:0; left:0; right:0; z-index:99999; background:transparent; backdrop-filter: blur(6px); }
.admin-bar .site-header{ top:32px !important; }
.header-inner{ max-width:var(--wrap); margin:0 auto; padding:10px 16px 6px; display:grid; grid-template-columns: 1fr auto; align-items:end; gap:16px; }
.brand{ display:flex; align-items:center; gap:14px; }
.custom-logo{ max-height:58px !important; width:auto; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,.12) }
.brand-title{ color:#fff; font-family:"Playfair Display","Georgia",serif; font-style:italic; font-weight:800; font-size: clamp(28px,4.4vw,50px); line-height:1; transform: translateY(4px); }
.brand-sub{ grid-column: 1 / -1; display:flex; align-items:center; justify-content:flex-start; gap:28px; padding-top:6px; flex-wrap:wrap }
.primary-menu{ display:flex; list-style:none; margin:0; padding:0; gap:28px; flex-wrap:wrap }
.primary-menu > li > a{ color:#fff; text-decoration:none; font-family:"Playfair Display",serif; font-style:italic; font-weight:700; font-size: clamp(15px,1.6vw,20px); border-bottom:2px solid transparent; padding-bottom:4px; transition:.15s }
.primary-menu > li > a:hover{ border-color:#fff }

/* Phone icon */
.header-phone{ color:#fff; font-weight:900; display:flex; align-items:center; gap:10px; font-size: clamp(15px,1.6vw,20px) }
.header-phone .icon{ width:22px; height:22px; display:inline-block; background: no-repeat center/contain url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.11.37 2.31.57 3.58.57a1 1 0 0 1 1 1v3.49a1 1 0 0 1-1 1C12.4 21 3 11.6 3 1.99a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.27.2 2.47.57 3.58a1 1 0 0 1-.25 1.01l-2.2 2.21z\"/></svg>'); }

/* Header scroll */
.scrolled .site-header{ background: linear-gradient(180deg,var(--orange) 0%, var(--orange2) 100%); box-shadow:0 10px 24px rgba(0,0,0,.12) }
.scrolled .brand-title,
.scrolled .primary-menu > li > a,
.scrolled .header-phone { color:#fff !important; }
.scrolled .primary-menu > li > a:hover{ border-color:#fff }

/* Spacer pages internes */
body{ --headerH: 170px; }
body:not(.home) .site-spacer{ height: calc(var(--headerH) + 14px); }
@media (max-width: 700px){ body{ --headerH: 190px; } }

/* Containers & cartes */
.wrapper{ max-width:var(--wrap); margin:0 auto; padding:0 16px }
.card{ background:#fff; border:3px solid var(--ink); border-radius:22px; padding: clamp(16px,2vw,28px); box-shadow:0 12px 0 #1f140e10; margin:28px 0 }

/* HERO full-bleed WOW (blanc franc) */
.mms-hero{ position:relative; min-height:86vh; display:flex; align-items:center; justify-content:center; }
.mms-hero .bg{ position:absolute; inset:0; background:url('assets/img/hero-orangeraie.jpg') center/cover no-repeat; filter:saturate(1.05) contrast(1.05) }
.mms-hero .overlay{ position:absolute; inset:0; background:var(--orange); opacity:.34 }
.mms-hero .content{ position:relative; color:#fff; text-align:center; text-shadow:0 10px 28px rgba(0,0,0,.25); padding: clamp(16px,3vw,40px) }
@keyframes mmsFadeUp { from{ opacity:0; transform: translate(-50%, 10px);} to{ opacity:1; transform: translate(-50%,0);} }
.mms-hero .headline.wow{
  position:relative; left:50%; transform:translateX(-50%);
  width:100vw; max-width:100vw; padding:0 clamp(8px,2vw,24px);
  font-family:"Playfair Display","Georgia",serif; font-weight:800;
  font-size: clamp(42px, 8vw, 120px);
  line-height:.95; letter-spacing:.2px;
  background: linear-gradient(180deg, #ffffff, #ffffff);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow: 0 18px 54px rgba(0,0,0,.40);
  -webkit-text-stroke: 0px rgba(0,0,0,0);
  animation: mmsFadeUp .9s cubic-bezier(.2,.7,.2,1) .15s both;
}
.mms-hero .mms-sub{ font-size: clamp(16px,2.2vw,22px); margin:0 0 22px }
.cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap }
.btn{ display:inline-block; border-radius:999px; padding:14px 22px; font-weight:900; text-decoration:none; box-shadow:0 10px 20px rgba(0,0,0,.15); transition:transform .08s, box-shadow .2s, background .2s }
.btn.white{ background:#fff; color:var(--ink); border:3px solid var(--ink) }
.btn.ghost{ background:transparent; color:#fff; border:3px solid #fff }
.btn:hover{ transform:translateY(-1px); box-shadow:0 14px 26px rgba(0,0,0,.22) }

/* Nos Spritz */
.section-nos-spritz h2{ font-family:"Playfair Display",serif; font-weight:800; margin:0 0 6px }
.section-nos-spritz p.lead{ font-weight:700; margin:0 0 12px }
.section-nos-spritz img{ width:100%; border-radius:16px; box-shadow:0 12px 24px rgba(0,0,0,.12); border:3px solid var(--ink) }

/* Événements */
.mms-events{ margin: 24px 0; }
.mms-events-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:18px }
@media (max-width:1000px){ .mms-events-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width:600px){ .mms-events-grid{ grid-template-columns:1fr; } }
.mms-card{ background:#fff; border:3px solid var(--ink); border-radius:18px; padding:18px; text-align:center; box-shadow:0 12px 0 #1f140e10 }
.mms-card h3{ font-family:"Playfair Display",serif; font-weight:800; font-size:20px; margin:10px 0 8px }
.mms-card .emoji{ font-size:28px; }
.mms-card ul{ list-style:none; margin:8px 0 0; padding:0 }
.mms-card li{ margin:6px 0 }

/* Caravane : texte sous la photo pour mobile */
.mms-caravane{ position:relative; border-radius:24px; overflow:hidden; border:3px solid var(--ink); box-shadow:0 16px 0 #1f140e10; margin: 28px 0; background:#fff }
.mms-caravane img{ display:block; width:100%; height:auto }
.mms-caravane .legend{ position:static; margin:0; padding:16px; border-top:3px solid var(--ink); background:#fff }
.mms-caravane .legend .kicker{ display:inline-flex; align-items:center; gap:6px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; font-size:12px; background:#fff; border:2px solid var(--ink); border-radius:999px; padding:6px 10px; margin-bottom:8px; }
.mms-caravane h3{ margin:0 0 6px; font-family:"Playfair Display",serif; font-weight:800; font-style:italic; font-size: clamp(20px,2.4vw,30px) }
.mms-caravane p{ margin:0; font-weight:700; opacity:.9 }
.mms-caravane .legend .btn.white{ background:#1f140e; color:#fff; border-color:#1f140e }
.mms-caravane .legend .btn.white:hover{ background:#000; }

/* Tarifs v2 */
.pricing-wrap{ --gap: clamp(14px,2vw,24px); display:grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: var(--gap); max-width: var(--wrap); margin: 0 auto; position: relative; padding: clamp(10px, 1vw, 14px); }
.pricing-wrap::before{ content:""; position:absolute; inset:-4%; z-index:0; background-image: url('assets/img/citrus-motif.svg'); background-size: 320px 320px; background-repeat: repeat; opacity:.28; filter: saturate(110%); pointer-events:none; }
.pricing-wrap > .price-card{ position: relative; z-index: 1; }
.price-card{ position:relative; overflow:hidden; border-radius: 24px; padding: 22px 22px 26px; background: radial-gradient(120% 120% at 10% -10%, #fff8 0%, #fff 60%), #fff; border: 2px solid #1f140e14; box-shadow: 0 18px 40px rgba(0,0,0,.14); }
.price-card .sticker{ position:absolute; top:16px; right:-12px; background:#1f140e; color:#fff; font-weight:900; border-radius: 999px; padding:10px 18px; transform: rotate(8deg); box-shadow: 0 10px 20px rgba(0,0,0,.25); }
.price-card h3{ margin: 10px 0 6px; font-size: 24px; line-height:1.1; }
.price-card .desc{ opacity:.9; margin: 0 0 10px; font-weight:700 }
.price-card ul{ margin: 10px 0 0 18px; }
.price-card li{ margin: 6px 0; }
.badges{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px }
.badge{ border:2px solid #1f140e20; background:#fff; padding:6px 10px; border-radius:999px; font-weight:900; font-size:12px }
.badge.orange{ background:#fff3e6 } .badge.green{ background:#eef8ef } .badge.pink{ background:#ffeef6 } .badge.yellow{ background:#fffbe5 }
.price-card.surmesure{ background: linear-gradient(135deg, #fff, #fff7f0); border-style:dashed; }

/* About */
.mms-about{ background:#fff; border:3px solid var(--ink); border-radius:22px; padding: clamp(16px,2vw,28px); box-shadow:0 12px 0 #1f140e10; }
.mms-about h1{ font-family:"Playfair Display",serif; font-weight:800; font-style:italic; margin:0 0 8px }
.mms-about .grid{ display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); margin-top:12px }
.mms-about .tile{ background:#FFF7F1; border:3px solid var(--ink); border-radius:16px; padding:14px; font-weight:600 }
.mms-about .tile .e{ font-size:22px; margin-right:6px }
.mms-about .band{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap }
.mms-about .band a{ display:inline-block; border-radius:999px; padding:10px 16px; font-weight:900; text-decoration:none; background:#fff; color:#1f140e; border:3px solid #1f140e }

/* Footer minimal */
.site-footer{ text-align:center; padding:18px; background:#FFE6D3; margin-top:40px }
