/* 10.4.1 — Multi-dates (Souccot) : calendrier compact + flèches + panier multi-dates — Snazzy Digital Agency */
.sse-md{font-family:'Jost',system-ui,sans-serif; margin:0 0 18px; --md-gold:#cfb073; --md-ink:#2b1d0f}
.sse-md *{box-sizing:border-box}
.sse-md__head{text-align:center; margin:0 0 12px}
.sse-md__title{font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(22px,3.4vw,30px); color:var(--md-ink); letter-spacing:-.01em}
.sse-md__sub{color:#7a6a55; font-size:13.5px; margin-top:4px}

/* Bandeau panier (dates déjà ajoutées) */
.sse-md__cart{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 12px; padding:10px 14px; border-radius:14px; background:#fff8e8; border:1px solid #eadfcc}
.sse-md__cart-txt{font-size:14px; color:var(--md-ink); display:flex; flex-wrap:wrap; gap:6px; align-items:center}
.sse-md__cart-chip{background:#fff; border:1px solid #e3d5b8; border-radius:999px; padding:4px 10px; font-size:13px}
.sse-md__cart-btn{background:linear-gradient(135deg,#cda45b,#a87d3a); color:#fff !important; text-decoration:none !important; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; padding:10px 16px; border-radius:999px; white-space:nowrap}

/* Calendrier + flèches */
.sse-md__calwrap{position:relative; display:flex; align-items:center; gap:6px}
.sse-md__arrow{
  flex:0 0 40px; width:40px; height:40px; border-radius:50%; border:1px solid #e3d5b8; background:#fff; color:#5a3d14;
  font-size:26px; line-height:1; cursor:pointer; box-shadow:0 4px 14px rgba(60,40,10,.12); transition:opacity .2s, transform .15s; padding:0 0 3px;
}
.sse-md__arrow:hover{transform:scale(1.06); background:#fff8e8}
.sse-md__calwrap.at-start .sse-md__arrow--l, .sse-md__calwrap.at-end .sse-md__arrow--r{opacity:.25; pointer-events:none}
.sse-md__calwrap.no-scroll .sse-md__arrow{display:none}
.sse-md__cal{
  flex:1 1 auto; min-width:0; display:flex; gap:8px; overflow-x:auto; padding:10px 4px 10px; scroll-snap-type:x proximity;
  scrollbar-width:none; -webkit-overflow-scrolling:touch; -ms-overflow-style:none;
}
.sse-md__cal::-webkit-scrollbar{display:none}
.sse-md__day{
  scroll-snap-align:center; flex:0 0 118px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:1px;
  padding:26px 6px 9px; border-radius:14px; text-decoration:none !important; color:var(--md-ink); position:relative; overflow:hidden;
  background:#fff; border:2px solid #eadfcc; box-shadow:0 4px 12px rgba(60,40,10,.07); transition:transform .15s, box-shadow .15s, border-color .15s;
}
.sse-md__day:hover{transform:translateY(-2px); border-color:var(--md-gold); box-shadow:0 10px 22px rgba(60,40,10,.14)}
.sse-md__day.is-active{border-color:var(--md-gold); background:linear-gradient(180deg,#fff8e8,#fff); box-shadow:0 10px 24px rgba(207,176,115,.35)}
.sse-md__day.is-active::after{content:"✓"; position:absolute; top:22px; right:4px; width:22px; height:22px; border-radius:50%; background:var(--md-gold); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(0,0,0,.2)}
.sse-md__day--theme{border-color:#d9d0e8}
.sse-md__day--yomtov{border-color:#e6cf97}
.sse-md__day.is-full{opacity:.5; filter:grayscale(.5)}
.sse-md__day.in-cart{border-color:#2f9e5b}
.sse-md__badge{position:absolute; top:22px; left:4px; background:#2f9e5b; color:#fff; font-size:10px; font-weight:700; padding:2px 7px; border-radius:999px; box-shadow:0 2px 6px rgba(0,0,0,.2)}
.sse-md__ico{font-size:22px; line-height:1; margin-bottom:2px}
.sse-md__dow{font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#8a7a62; font-weight:600}
.sse-md__num{font-family:'Montserrat',sans-serif; font-weight:800; font-size:22px; line-height:1; color:#452103}
.sse-md__num sup{font-size:.45em; vertical-align:super; line-height:0}
.sse-md__mon{font-size:11.5px; color:#5d4c38; text-transform:capitalize; white-space:nowrap}
.sse-md__kind{font-size:10.5px; color:#7a6a55; font-style:italic; min-height:13px; white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis}
.sse-md__price{font-family:'Montserrat',sans-serif; font-weight:700; font-size:12.5px; color:#452103; margin-top:3px; white-space:nowrap}
.sse-md__price small{font-weight:500; color:#2f9e5b; font-size:10px}
.sse-md__left{font-size:10px; font-weight:600; color:#2f9e5b}
.sse-md__day.is-full .sse-md__left{color:#c0392b}
.sse-md__hint{text-align:center; font-size:11.5px; color:#a4957c; margin:-2px 0 10px}

/* Indication zoom (molette) */
.sse-md__zoomhint{position:absolute; left:50%; bottom:14px; transform:translateX(-50%) translateY(6px); background:rgba(43,29,15,.88); color:#fff; font-size:12.5px; padding:8px 14px; border-radius:999px; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; z-index:5; white-space:nowrap}
.sse-md__zoomhint.is-on{opacity:1; transform:translateX(-50%) translateY(0)}

/* Overlay après ajout */
.sse-md__overlay{position:fixed; inset:0; z-index:99999; background:rgba(20,12,4,.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:16px}
.sse-md__overlay.is-open{display:flex}
body.sse-md-lock{overflow:hidden}
.sse-md__ov-card{background:#fff; border-radius:22px; padding:28px 24px 20px; width:min(460px,100%); text-align:center; box-shadow:0 30px 80px rgba(0,0,0,.4); animation:sse-md-pop .35s cubic-bezier(.2,.9,.3,1.2) both}
.sse-md__ov-ico{font-size:44px; line-height:1}
.sse-md__ov-title{font-family:'Montserrat',sans-serif; font-weight:800; font-size:21px; margin:10px 0 4px; color:var(--md-ink)}
.sse-md__ov-sub{margin:0 0 12px; color:#5d4c38; font-size:15px}
.sse-md__ov-cart{background:#faf4e6; border-radius:12px; padding:8px 12px; margin:0 0 16px; text-align:left; font-size:13.5px}
.sse-md__ov-line{display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-bottom:1px dashed #e3d5b8}
.sse-md__ov-line:last-child{border-bottom:0}
.sse-md__ov-line strong{color:#452103; text-align:right}
.sse-md__ov-pay{display:block; background:linear-gradient(135deg,#cda45b,#a87d3a); color:#fff !important; text-decoration:none !important; font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; padding:15px 20px; border-radius:999px; box-shadow:0 12px 28px rgba(168,125,58,.4)}
.sse-md__ov-more{display:block; width:100%; margin-top:10px; background:#fff; border:2px solid #e3d5b8; color:#5a3d14; font-family:'Montserrat',sans-serif; font-weight:700; font-size:14px; padding:12px; border-radius:999px; cursor:pointer}
.sse-md__ov-more:hover{border-color:var(--md-gold); background:#fff8e8}
.sse-md__ov-note{font-size:12px; color:#8a7a62; margin:12px 0 0}
@keyframes sse-md-pop{from{opacity:0; transform:scale(.9) translateY(10px)} to{opacity:1; transform:none}}

/* Indication pincement (mobile, ~3 s) */
.sse-md__pinch{position:absolute; inset:0; z-index:6; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; background:rgba(43,29,15,.35); opacity:0; pointer-events:none; transition:opacity .35s}
.sse-md__pinch.is-on{opacity:1}
.sse-md__pinch-hand{position:relative; width:110px; height:110px}
.sse-md__pinch-dot{position:absolute; top:50%; left:50%; width:30px; height:30px; margin:-15px 0 0 -15px; border-radius:50%; background:rgba(255,255,255,.95); box-shadow:0 0 0 6px rgba(255,255,255,.25), 0 6px 14px rgba(0,0,0,.35); animation:sse-md-pinch 1.4s ease-in-out infinite}
.sse-md__pinch-dot--b{animation-name:sse-md-pinch-b}
.sse-md__pinch-txt{background:rgba(43,29,15,.9); color:#fff; font-size:13.5px; font-weight:600; padding:9px 16px; border-radius:999px; font-family:'Jost',sans-serif}
@keyframes sse-md-pinch{0%,100%{transform:translate(-12px,-12px)} 50%{transform:translate(-36px,-36px)}}
@keyframes sse-md-pinch-b{0%,100%{transform:translate(12px,12px)} 50%{transform:translate(36px,36px)}}

/* Bouton flottant « Réserver » (mobile) — petit, ne masque pas le plan */
.sse-md__fab{position:fixed; left:50%; bottom:14px; transform:translate(-50%,80px); z-index:99990; display:flex; align-items:center; gap:8px; padding:11px 16px; border:0; border-radius:999px; cursor:pointer;
  background:linear-gradient(135deg,#cda45b,#a87d3a); color:#fff; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; box-shadow:0 12px 28px rgba(0,0,0,.35); opacity:0; transition:transform .3s, opacity .3s; white-space:nowrap}
.sse-md__fab.is-on{transform:translate(-50%,0); opacity:1}
.sse-md__fab-n{background:rgba(255,255,255,.22); padding:3px 8px; border-radius:999px; font-size:12px}
.sse-md__fab-p{opacity:.9; font-weight:600}
.sse-md__fab-txt::after{content:" →"}

/* Mobile : plan un peu plus haut, bouton du dock pleine largeur */
@media (max-width:900px){
  .sse-md .sse-stage{height:clamp(420px,64vh,680px) !important}
  .sse-md .sse-btn-primary{width:100%; text-align:center; font-size:15px; padding:15px 18px}
  .sse-md .sse-action-area{flex-direction:column; align-items:stretch; gap:8px}
  .sse-md__day{flex-basis:104px}
}

/* 10.5.1 — Badge de type en tête de carte, horaire mis en avant, prix retiré */
.sse-md__tag{position:absolute; top:0; left:0; right:0; height:20px; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:800; font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:#fff}
.sse-md__tag--yomtov{background:linear-gradient(90deg,#b8902f,#e2c374,#b8902f)}
.sse-md__tag--theme{background:linear-gradient(90deg,#5b3d8c,#8a63c9,#5b3d8c)}
.sse-md__day--yomtov.is-active{background:linear-gradient(180deg,#fff6de,#fff)}
.sse-md__day--theme.is-active{border-color:#8a63c9; background:linear-gradient(180deg,#f3edfb,#fff); box-shadow:0 10px 24px rgba(138,99,201,.3)}
.sse-md__day--theme.is-active::after{background:#8a63c9}
.sse-md__time{font-family:'Montserrat',sans-serif; font-weight:800; font-size:17px; color:#fff; background:linear-gradient(135deg,#cda45b,#a87d3a); padding:3px 10px; border-radius:999px; margin-top:5px; line-height:1.2}
.sse-md__day--theme .sse-md__time{background:linear-gradient(135deg,#8a63c9,#5b3d8c)}
.sse-md__kind{font-size:10.5px; color:#5b3d8c; font-weight:600; font-style:normal; min-height:13px; margin-top:3px}
.sse-md__price{display:none}

/* 10.6.3 — Étapes 1·2·3 en badges */
.sse-md__steps{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:12px}
.sse-md__step{display:inline-flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; border-radius:999px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:13px; color:#3a2a14;
  background:linear-gradient(180deg,#fffdf8,#f4ead6); border:1px solid #e3d5b8; box-shadow:0 8px 20px rgba(60,40,10,.10), inset 0 1px 0 #fff}
.sse-md__step b{width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:13px;
  background:radial-gradient(circle at 35% 30%,#e6cb84,#a87d3a 70%); box-shadow:0 4px 10px rgba(168,125,58,.45), inset 0 1px 0 rgba(255,255,255,.5)}
@media (max-width:640px){.sse-md__steps{gap:6px} .sse-md__step{font-size:12px; padding:6px 12px 6px 6px} .sse-md__step b{width:24px; height:24px; font-size:12px}}

/* 10.6.5 — mobile : flèches visibles en surimpression, badge thème court, tag sans retour à la ligne */
.sse-md__tag{white-space:nowrap; overflow:hidden}
.sse-md__tag i{font-style:normal}
.sse-md__tag-short{display:none}
@media (max-width:640px){
  .sse-md__tag-full{display:none} .sse-md__tag-short{display:inline}
  .sse-md__calwrap{gap:0}
  .sse-md__arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:3; flex-basis:34px; width:34px; height:34px; font-size:22px; background:rgba(255,255,255,.96); border-color:#cfb073; box-shadow:0 6px 16px rgba(60,40,10,.25)}
  .sse-md__arrow--l{left:-4px} .sse-md__arrow--r{right:-4px}
  .sse-md__arrow:hover{transform:translateY(-50%)}
  .sse-md__cal{padding-left:26px; padding-right:26px}
  .sse-md__hint{font-size:12.5px; color:#7a6a55; font-weight:600}
}

/* 10.7.0 — verrou de date, popup participants, CERFA */
.sse-md__day.is-locked{opacity:.38; filter:grayscale(.6); cursor:not-allowed}
.sse-md__day.is-locked:hover{transform:none; box-shadow:0 4px 12px rgba(60,40,10,.07)}
.sse-md__locknote{display:none; margin:2px 0 10px; padding:10px 14px; border-radius:12px; background:#fff4d6; border:1px solid #e6cb84; color:#5a3d14; font-size:13.5px; text-align:center}
.sse-md__locknote.is-on{display:block; animation:sse-md-pop .3s ease-out both}
.sse-md__modal-date{margin:-4px 0 10px; padding:9px 14px; border-radius:10px; background:#fff8e8; border:1px solid #eadfcc; color:#3a2a14; font-family:'Montserrat',sans-serif; font-size:13.5px}
.sse-md__modal-info{margin-top:12px; padding:10px 14px; border-radius:10px; background:#f3edfb; border:1px solid #d9d0e8; color:#3a2a14; font-size:13px; line-height:1.5}
.sse-md__modal-child{color:#5b3d8c; font-size:12px; margin-top:4px}
.sse-md__prefill{margin:0 0 10px; padding:8px 12px; border-radius:10px; background:#e9f7ee; border:1px solid #b9dfc6; color:#1f6b3d; font-size:12.5px}
.sse-md__prefill button{margin-left:6px; background:#fff; border:1px solid #b9dfc6; border-radius:999px; padding:2px 10px; font-size:12px; cursor:pointer; color:#1f6b3d}
.sse-md__cerfa{margin:10px 0 0; padding:12px 16px; border-radius:12px; background:#3a2a14; color:#f7f1e4; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13.5px; text-align:center; letter-spacing:.02em}
.sse-md__cerfa small{display:block; font-weight:500; font-size:12px; opacity:.85; margin-top:4px}
