/* =====================================================================
 * vous-etes--decoration-evenementielle — thème fulldo.
 * Tout est préfixé .evt : aucune règle ne sort de la page.
 * Jetons partagés avec le site (fulldo-charte.css). Composition propre :
 * photo pleine hauteur et date de calendrier en ouverture, catalogue de
 * location avec ticket de réservation, fiche reçue, tableau comparatif,
 * deux références côte à côte, frise de lancement avant la saison.
 * ===================================================================== */

.evt{
  --e-ink:var(--ink,#141634);
  --e-mut:#55577D;
  --e-bg:var(--light,#FBFAF7);
  --e-paper:#FFFFFF;
  --e-champ:#F3EDE4;
  --e-linen:#EAE2D6;
  --e-y:var(--yellow,#FFCF33);
  --e-ys:#FFF2C2;
  --e-yd:#7A6000;
  --e-b:var(--blue,#3355FF);
  --e-sage:#E4F3EA;
  --e-sage-ink:#0A7D43;
  --e-dark:#141634;
  font-family:var(--fb,system-ui,sans-serif);
  color:var(--e-ink);
  background:var(--e-bg);
  font-size:17px;line-height:1.6;
  overflow-x:clip;
}
.evt *,.evt *::before,.evt *::after{box-sizing:border-box}
:where(.evt) :where(h1,h2,h3,h4){font-family:var(--fd,system-ui,sans-serif);margin:0;color:inherit;letter-spacing:-.02em}
:where(.evt) :where(p,figure){margin:0}
:where(.evt) :where(ul,ol,dl,dd){margin:0;padding:0;list-style:none}
:where(.evt) :where(img){display:block;max-width:100%;height:auto}
:where(.evt) :where(a){color:inherit}
.evt-w{max-width:var(--maxw,1220px);margin:0 auto;padding:0 24px;position:relative}
.evt-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evt-i{width:18px;height:18px;flex:none}
.evt :focus-visible{outline:3px solid var(--e-b);outline-offset:3px;border-radius:6px}

.evt-lbl{display:flex;align-items:center;gap:14px;font-family:var(--fd);font-weight:700;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--e-yd);margin:0 0 18px!important}
.evt-lbl::after{content:"";width:44px;height:2px;background:var(--e-y);border-radius:2px}
.evt-dark .evt-lbl{color:var(--e-y)}
.evt .hl{background:linear-gradient(transparent 60%,rgba(255,207,51,.75) 0);padding:0 .04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.evt-dark .hl{background:none;color:var(--e-y)}

.evt .btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--fd);font-weight:600;font-size:1rem;height:56px;padding:0 8px 0 24px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:transform .2s var(--ease),box-shadow .25s}
.evt .btn .ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
.evt .btn-y{background:var(--e-y);color:#141634}
.evt .btn-y .ic{background:#141634;color:#fff}
.evt .btn-y:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(196,150,0,.7)}
.evt-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:var(--e-y);color:inherit}
.evt-link:hover{text-decoration-color:currentColor}

.evt-s{padding:112px 0}
.evt-head{max-width:720px;margin-bottom:52px}
.evt-head-wide{max-width:840px}
.evt h2{font-size:clamp(1.9rem,3.4vw,2.75rem);line-height:1.1;font-weight:700}
.evt-intro{margin-top:18px!important;color:var(--e-mut);font-size:1.08rem;max-width:62ch}
.evt-dark{background:var(--e-dark);color:#fff}
.evt-dark .evt-intro{color:#C3C5E6}
.evt-note{margin-top:22px!important;font-size:.88rem;color:var(--e-mut);max-width:72ch}

/* ---------- 1. Premier écran : texte à gauche, photo pleine hauteur à droite ---------- */
.evt-hero{position:relative;background:var(--e-champ);min-height:760px}
.evt-hero-media{position:absolute;top:0;right:0;bottom:0;width:46%}
.evt-hero-media picture,.evt-hero-media>picture img{display:block;width:100%;height:100%}
.evt-hero-media>picture img{object-fit:cover;object-position:center 60%}
.evt-date{position:absolute;left:-74px;bottom:72px;width:168px;background:var(--e-paper);border-radius:16px;overflow:hidden;text-align:center;box-shadow:0 30px 60px -30px rgba(20,22,52,.6);transform:rotate(-3deg)}
.evt-date-m{background:var(--e-dark);color:#fff;font-family:var(--fd);font-weight:600;font-size:.86rem;padding:9px 0}
.evt-date-d{font-family:var(--fd);font-weight:700;font-size:4.2rem;line-height:1;padding-top:12px;letter-spacing:-.04em}
.evt-date-w{color:var(--e-mut);font-size:.9rem}
.evt-date-s{margin:12px 14px 14px!important;padding:6px 0;border-radius:999px;background:var(--e-sage);color:var(--e-sage-ink);font-weight:700;font-size:.84rem}
.evt-hero-in{padding-top:128px;padding-bottom:96px}
.evt-crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.84rem;color:var(--e-mut);margin-bottom:48px;max-width:50%}
.evt-crumb a{text-decoration:none}
.evt-crumb a:hover{text-decoration:underline}
.evt-hero-tx{max-width:min(600px,48%)}
.evt h1{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.06;font-weight:700;letter-spacing:-.03em}
.evt-lead{margin-top:24px!important;font-size:1.12rem;color:#3A3565;max-width:56ch}
.evt-price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:30px!important;color:var(--e-mut)}
.evt-price-line strong{font-family:var(--fd);font-size:1.5rem;color:var(--e-ink);letter-spacing:-.02em}
.evt-pl-off{flex-basis:100%;font-weight:600;color:var(--e-ink)}
.evt-pl-off::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--e-y);margin-right:9px;vertical-align:1px}
.evt-cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;margin-top:34px}
.evt-hero-note{margin-top:40px!important;font-family:var(--fd);font-size:1.02rem;color:var(--e-ink);max-width:44ch;line-height:1.45}

/* ---------- 2. Location : catalogue + ticket ---------- */
.evt-shop{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start}
.evt-cat{background:var(--e-champ);border-radius:30px;padding:28px}
.evt-when{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:22px!important}
.evt-when label{font-family:var(--fd);font-weight:700}
.evt-when input{height:48px;padding:0 16px;border-radius:12px;border:0;background:var(--e-paper);font:inherit;color:inherit;min-width:200px}
.evt-items{display:grid;gap:12px}
.evt-item{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;background:var(--e-paper);border-radius:20px;padding:12px 16px 12px 12px;transition:opacity .2s}
.evt-item-img{border-radius:14px;overflow:hidden;aspect-ratio:1/1}
.evt-item-img picture,.evt-item-img img{width:100%;height:100%}
.evt-item-img img{object-fit:cover}
.evt-item-n{font-family:var(--fd);font-weight:700;font-size:1.08rem}
.evt-item-p{font-size:.9rem;color:var(--e-mut)}
.evt-item-a{display:inline-block;margin-top:6px!important;font-size:.8rem;font-weight:700;color:var(--e-sage-ink);background:var(--e-sage);padding:2px 10px;border-radius:999px}
.evt-item.is-taken .evt-item-a{color:var(--e-yd);background:var(--e-ys)}
.evt-item.is-taken .evt-item-img{filter:grayscale(1);opacity:.6}
.evt-qty{display:flex;align-items:center;gap:6px}
.evt-qty button{width:36px;height:36px;border-radius:50%;border:0;background:var(--e-champ);color:var(--e-ink);display:grid;place-items:center;cursor:pointer}
.evt-qty button:hover{background:var(--e-linen)}
.evt-qty output{min-width:22px;text-align:center;font-family:var(--fd);font-weight:700;font-size:1.1rem}

.evt-ticket{position:sticky;top:110px;background:var(--e-paper);border-radius:24px;padding:28px 28px 24px;box-shadow:0 34px 70px -40px rgba(20,22,52,.5);
  -webkit-mask:radial-gradient(circle 12px at 0 62%,transparent 11px,#000 12px) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% 62%,transparent 11px,#000 12px) right/51% 100% no-repeat;
  mask:radial-gradient(circle 12px at 0 62%,transparent 11px,#000 12px) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% 62%,transparent 11px,#000 12px) right/51% 100% no-repeat}
.evt-ticket-k{display:flex;justify-content:space-between;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--e-mut)}
.evt-ticket-k span{background:var(--e-ys);color:var(--e-yd);padding:2px 10px;border-radius:999px;letter-spacing:.04em}
.evt-ticket-date{font-family:var(--fd);font-weight:700;font-size:1.5rem;margin-top:14px!important;letter-spacing:-.02em}
.evt-ticket-lines{margin-top:14px!important;display:grid;gap:6px;min-height:28px}
.evt-ticket-lines li{font-size:.98rem}
.evt-ticket-lines li.is-taken{text-decoration:line-through;color:var(--e-mut)}
.evt-ticket-lines li.is-empty{color:var(--e-mut)}
.evt-ticket-sum{margin-top:22px!important;padding-top:18px;display:grid;gap:8px;background:radial-gradient(circle,rgba(20,22,52,.25) 1px,transparent 1.5px) top/10px 2px repeat-x}
.evt-ticket-sum div{display:flex;justify-content:space-between;gap:16px}
.evt-ticket-sum dt{color:var(--e-mut);font-size:.94rem}
.evt-ticket-sum dd{font-family:var(--fd);font-weight:700;white-space:nowrap}
.evt-ticket-state{margin-top:16px!important;padding:12px 14px;border-radius:14px;background:var(--e-sage);color:var(--e-sage-ink);font-weight:600;font-size:.92rem}
.evt-ticket-state.is-warn{background:var(--e-ys);color:var(--e-yd)}
.evt-ticket-btn{margin-top:14px!important;text-align:center;padding:12px;border-radius:999px;background:var(--e-dark);color:#fff;font-family:var(--fd);font-weight:600;opacity:.92}

/* ---------- 3. Fiche reçue ---------- */
.evt-brief{background:var(--e-champ)}
.evt-brief-grid{display:grid;grid-template-columns:1fr .9fr;gap:72px;align-items:center}
.evt-asks{margin-top:30px!important;display:grid;gap:4px;counter-reset:a}
.evt-asks li{counter-increment:a;display:grid;grid-template-columns:44px 1fr;align-items:baseline;padding:10px 0;font-size:1.04rem}
.evt-asks li::before{content:counter(a);font-family:var(--fd);font-weight:700;font-size:1.5rem;color:var(--e-yd)}
.evt-card{background:var(--e-paper);border-radius:26px;padding:28px;box-shadow:0 34px 70px -40px rgba(20,22,52,.45);transform:rotate(1.5deg)}
.evt-card-k{display:flex;justify-content:space-between;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--e-sage-ink)}
.evt-card-k span{color:var(--e-mut);font-weight:500;text-transform:none;letter-spacing:0}
.evt-card-h{font-family:var(--fd);font-weight:700;font-size:1.5rem;margin-top:10px!important}
.evt-card-dl{margin-top:16px!important;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.evt-card-dl dt{font-size:.8rem;color:var(--e-mut)}
.evt-card-dl dd{font-weight:600}
.evt-card-ph{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.evt-card-ph picture,.evt-card-ph img{width:100%;height:100%}
.evt-card-ph img{aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.evt-card-f{margin-top:16px;padding:10px 14px;border-radius:12px;background:var(--e-sage);color:var(--e-sage-ink);font-weight:700;font-size:.92rem}

/* ---------- 4. Comparer ---------- */
.evt-table-wrap{overflow-x:auto;border-radius:24px}
.evt-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;background:var(--e-champ)}
.evt-table th,.evt-table td{padding:20px 22px;text-align:left;vertical-align:top;font-size:.98rem}
.evt-table thead th{font-family:var(--fd);font-size:1.08rem;padding-top:26px}
.evt-table tbody th{font-family:var(--fd);font-weight:700;width:20%}
.evt-table tbody tr:nth-child(odd) th,.evt-table tbody tr:nth-child(odd) td{background:rgba(255,255,255,.5)}
.evt-table .evt-us{background:var(--e-dark)!important;color:#fff}
.evt-table tbody td.evt-us{color:#E4E5F6}
.evt-table tbody tr:nth-child(odd) td.evt-us{background:#1D2047!important}
.evt-caveat{margin-top:24px!important;font-size:.94rem;color:#3A3565;max-width:72ch}

/* ---------- 5. Références ---------- */
.evt-refs-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.evt-ref:nth-child(2){margin-top:72px}
.evt-browser{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.evt-browser-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#ECEAF3}
.evt-browser-bar i{width:10px;height:10px;border-radius:50%;background:#C9C6D8}
.evt-browser-bar span{margin-left:12px;flex:1;max-width:240px;height:22px;border-radius:999px;background:#fff;font-size:.74rem;color:var(--e-mut);display:flex;align-items:center;padding:0 12px}
.evt-browser img{width:100%}
.evt-ref h3{font-size:1.35rem;margin-top:26px}
.evt-ref p{color:#C3C5E6;margin-top:8px!important;max-width:52ch}
.evt-link-d{margin-top:16px;color:#fff}

/* ---------- 6. Tarifs ---------- */
.evt-price-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}
.evt-main{background:var(--e-champ);border-radius:34px;padding:40px 40px 36px}
.evt-main h3{font-size:1.9rem}
.evt-main-d{color:#3A3565;margin-top:10px!important}
.evt-pay{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.evt-pay>div{background:var(--e-paper);border-radius:22px;padding:20px 20px 18px}
.evt-pay-k{font-size:.86rem;font-weight:600;color:var(--e-mut)}
.evt-pay-v{font-family:var(--fd);font-weight:700;font-size:2.1rem;letter-spacing:-.03em;line-height:1.15;margin-top:4px!important}
.evt-pay-s{font-size:.86rem;color:var(--e-mut);margin-top:6px!important;line-height:1.45}
.evt-incl{margin-top:26px!important;display:grid;gap:2px}
.evt-incl li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:.98rem}
.evt-incl-v{color:var(--e-mut);text-decoration:line-through;text-decoration-color:rgba(20,22,52,.35);white-space:nowrap}
.evt-incl-v.evt-free{text-decoration:none;font-weight:700;color:var(--e-ink)}
.evt-total{margin-top:24px;background:rgba(255,255,255,.65);border-radius:22px;padding:20px 22px}
.evt-total h4{font-size:1.05rem}
.evt-total table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.94rem}
.evt-total th{text-align:left;font-weight:500;padding:6px 0}
.evt-total td{padding:6px 0 6px 12px;white-space:nowrap;color:var(--e-mut)}
.evt-total td:last-child{text-align:right;font-weight:700;color:var(--e-ink)}
.evt-total p{font-size:.88rem;color:#3A3565;margin-top:10px!important}
.evt-main-btn{margin-top:28px}
.evt-menu{padding:8px 8px 0}
.evt-menu h3{font-size:1.25rem;margin-bottom:14px}
.evt-menu h3+dl{margin-bottom:36px!important}
.evt-menu dl{display:grid;gap:18px}
.evt-menu dl>div{display:grid;grid-template-columns:1fr auto;column-gap:16px}
.evt-menu dl>div.evt-opt{background:var(--e-ys);border-radius:16px;padding:14px 16px;margin:0 -16px}
.evt-menu dt{font-weight:600}
.evt-amt{font-family:var(--fd);font-weight:700;white-space:nowrap}
.evt-desc{grid-column:1/-1;font-size:.92rem;color:var(--e-mut);margin-top:2px!important;line-height:1.5}
.evt-inpack{color:var(--e-yd);font-weight:600}
.evt-excl{font-size:.9rem;color:var(--e-mut);margin-top:10px!important}
.evt-tva{margin-top:36px!important;font-size:.9rem;color:var(--e-mut)}

/* ---------- 7. Frise avant la saison ---------- */
.evt-season{background:var(--e-champ)}
.evt-months{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-radius:24px;overflow:hidden}
.evt-months li{padding:26px 22px 28px;background:var(--e-paper)}
.evt-months li:nth-child(even){background:#FBF8F3}
.evt-months li.evt-mo-season{background:var(--e-y)}
.evt-mo{font-family:var(--fd);font-weight:700;font-size:.82rem;color:var(--e-yd);margin-bottom:10px!important}
.evt-mo-season .evt-mo{color:var(--e-ink)}
.evt-months h3{font-size:1.1rem;line-height:1.3}
.evt-months p:not(.evt-mo){color:var(--e-mut);margin-top:8px!important;font-size:.95rem}
.evt-mo-season p:not(.evt-mo){color:var(--e-ink)}
.evt-delay{margin-top:36px!important;font-family:var(--fd);font-weight:600;font-size:1.06rem;max-width:66ch}

/* ---------- 8. Questions ---------- */
.evt-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}
.evt-faq-h{position:sticky;top:110px}
.evt-faq-img{margin-top:32px;border-radius:24px 24px 120px 24px;overflow:hidden;aspect-ratio:4/5}
.evt-faq-img picture,.evt-faq-img img{width:100%;height:100%}
.evt-faq-img img{object-fit:cover}
.evt-qs{display:grid;gap:10px}
.evt-qs details{background:var(--e-champ);border-radius:20px;padding:0 26px}
.evt-qs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;font-family:var(--fd);font-weight:600;font-size:1.06rem}
.evt-qs summary::-webkit-details-marker{display:none}
.evt-qs summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:var(--e-paper);display:grid;place-items:center;font-size:1.2rem;transition:transform .2s}
.evt-qs details[open] summary::after{transform:rotate(45deg);background:var(--e-y)}
.evt-qs details p{padding:0 0 22px;color:#3A3565}

/* ---------- 9. Formulaire ---------- */
.evt-diag-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.evt-form{background:var(--e-paper);color:var(--e-ink);border-radius:30px;padding:34px 36px;display:grid;gap:14px}
.evt-f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.evt-form label{display:block;font-size:.88rem;font-weight:600;margin-bottom:6px}
.evt-form .req{color:#B3261E}
.evt-form input,.evt-form textarea{width:100%;font:inherit;color:inherit;background:var(--e-champ);border:0;border-radius:12px;padding:12px 14px;min-height:48px}
.evt-form textarea{resize:vertical}
.evt-form input:focus-visible,.evt-form textarea:focus-visible{outline:3px solid var(--e-b);outline-offset:1px}
.evt-form .btn{justify-self:start;margin-top:6px}
.evt-form-note{font-size:.84rem;color:var(--e-mut)}
.evt .fd-hp{position:absolute!important;left:-9999px}
.evt-updated{margin-top:56px!important;font-size:.84rem;color:#9A9CC4}

/* ---------- Barre mobile ---------- */
.evt-bar{display:none}
@media (max-width:760px){
  .evt-bar{position:fixed;left:12px;right:84px;bottom:12px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:var(--e-dark);color:#fff;font-size:.82rem;line-height:1.25;box-shadow:0 14px 34px -14px rgba(0,0,0,.6),0 0 0 2px rgba(255,255,255,.14);transform:translateY(140%);transition:transform .3s var(--ease)}
  .evt-bar.on{transform:none}
  .evt-bar b{color:var(--e-y)}
  .evt-bar a{background:var(--e-y);color:#141634;font-weight:700;text-decoration:none;padding:11px 16px;border-radius:999px;white-space:nowrap}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .evt-hero{min-height:0}
  .evt-hero-media{position:relative;width:auto;height:380px}
  .evt-date{left:24px;bottom:-40px}
  .evt-hero-in{padding-top:72px}
  .evt-crumb,.evt-hero-tx{max-width:none}
  .evt-shop,.evt-brief-grid,.evt-price-grid,.evt-faq-grid,.evt-diag-grid,.evt-refs-grid{grid-template-columns:1fr}
  .evt-ticket,.evt-faq-h{position:static}
  .evt-ref:nth-child(2){margin-top:0}
  .evt-months{grid-template-columns:1fr 1fr}
  .evt-months li.evt-mo-season{grid-column:1/-1}
  .evt-faq-img{display:none}
  .evt-card{transform:none}
}
@media (max-width:1080px){
  .evt-hero{display:flex;flex-direction:column}
  .evt-hero-media{order:2}
  .evt-hero-in{order:1;padding-bottom:72px}
}
@media (max-width:640px){
  .evt{font-size:16px}
  .evt-w{padding:0 16px}
  .evt-s{padding:72px 0}
  .evt-hero-in{padding-top:104px;padding-bottom:64px}
  .evt-crumb{margin-bottom:28px}
  .evt-hero-media{height:300px}
  .evt-date{width:128px;bottom:-30px;left:16px}
  .evt-date-d{font-size:3rem}
  .evt-cat,.evt-ticket,.evt-form,.evt-card{padding:22px 18px;border-radius:24px}
  .evt-item{grid-template-columns:64px 1fr;gap:12px}
  .evt-qty{grid-column:1/-1;justify-content:flex-end}
  .evt-card-dl{grid-template-columns:1fr}
  .evt-main{padding:28px 20px;border-radius:26px}
  .evt-pay{grid-template-columns:1fr}
  .evt-total td:nth-child(2){display:none}
  .evt-months{grid-template-columns:1fr}
  .evt-f2{grid-template-columns:1fr}
  .evt-qs details{padding:0 18px}
  .evt-menu dl>div.evt-opt{margin:0 -8px;padding:12px}
}
@media (prefers-reduced-motion:reduce){
  .evt *{transition:none!important}
}
