/* Réservation gérée par l'organisateur — clair en mode clair, sombre en mode sombre */
.ev-resa{position:relative;display:grid;gap:18px;margin-top:clamp(24px,3vw,40px);padding:clamp(20px,2.4vw,32px);border-radius:28px;background:var(--hd-bg-2);color:var(--hd-fg);border:1px solid var(--hd-line);overflow:hidden;isolation:isolate;animation:evr-rise .9s var(--hd-ease) both}
.ev-resa::before{content:"";position:absolute;inset:-40%;z-index:-1;background:conic-gradient(from 0deg,transparent 0 70%,color-mix(in srgb,var(--hd-fg) 9%,transparent) 80%,transparent 90%);animation:evr-spin 9s linear infinite}
@keyframes evr-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes evr-spin{to{transform:rotate(1turn)}}
.ev-resa-head{display:flex;gap:14px;align-items:flex-start}
.ev-resa-head>div{display:grid;gap:6px}
.ev-resa .ev-ticket-label{opacity:.55}
.ev-resa-title{font:400 clamp(34px,3.6vw,56px)/.92 var(--ev-display);text-transform:uppercase}
.ev-resa-dot{flex:none;width:12px;height:12px;margin-top:4px;border-radius:50%;background:#16a34a;animation:evr-ping 1.6s ease-out infinite}
@keyframes evr-ping{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}100%{box-shadow:0 0 0 14px rgba(22,163,74,0)}}
.ev-resa .ev-ticket-btn{justify-content:center;background:var(--hd-fg);color:var(--hd-bg);border:0;cursor:pointer;position:relative;overflow:hidden}
.ev-resa .ev-ticket-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,color-mix(in srgb,var(--hd-bg) 35%,transparent) 50%,transparent 70%);transform:translateX(-120%);animation:evr-shine 3.2s var(--hd-ease) infinite}
@keyframes evr-shine{60%,100%{transform:translateX(120%)}}
.ev-resa .ev-ticket-btn.is-off{background:transparent;color:var(--hd-fg);border:1px solid currentColor}
.ev-resa .ev-ticket-btn.is-off::after{display:none}
.ev-resa-open{justify-self:start}
.ev-resa-open[aria-expanded="true"]{display:none}
.ev-resa-form{display:none}
.ev-resa-form.is-open{display:grid;gap:16px;animation:evr-open .6s var(--hd-ease) both}
@keyframes evr-open{from{opacity:0;transform:translateY(-10px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
.ev-resa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ev-resa-field{display:grid;gap:7px;animation:evr-field .55s var(--hd-ease) both}
.ev-resa-form.is-open .ev-resa-field:nth-child(1){animation-delay:.05s}
.ev-resa-form.is-open .ev-resa-field:nth-child(2){animation-delay:.1s}
.ev-resa-form.is-open .ev-resa-field:nth-child(3){animation-delay:.15s}
.ev-resa-form.is-open .ev-resa-field:nth-child(4){animation-delay:.2s}
.ev-resa-form.is-open .ev-resa-field:nth-child(5){animation-delay:.25s}
.ev-resa-form.is-open .ev-resa-field:nth-child(6){animation-delay:.3s}
@keyframes evr-field{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ev-resa-field.is-wide{grid-column:1/-1}
.ev-resa-field>span{font:600 13px var(--hd-sans);color:var(--hd-fg-2)}
.ev-resa-field em{font-style:normal;opacity:.7}
.ev-resa-field input,.ev-resa-field textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:16px;border:1.5px solid var(--hd-line);background:var(--hd-bg);color:var(--hd-fg);font:500 16px var(--hd-sans);transition:border-color .25s,box-shadow .25s,transform .25s var(--hd-ease)}
.ev-resa-field textarea{resize:vertical;min-height:76px}
.ev-resa-field input:focus,.ev-resa-field textarea:focus{outline:0;border-color:var(--hd-fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--hd-fg) 10%,transparent);transform:translateY(-1px)}
.ev-resa-field.is-bad input,.ev-resa-field.is-bad textarea{border-color:#dc2626;animation:evr-shake .4s}
@keyframes evr-shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.ev-resa-step{display:grid;grid-template-columns:52px 1fr 52px;gap:6px}
.ev-resa-step input{text-align:center;-moz-appearance:textfield}
.ev-resa-step input::-webkit-inner-spin-button,.ev-resa-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ev-resa-step button{min-height:52px;border-radius:16px;border:1.5px solid var(--hd-line);background:var(--hd-bg);color:var(--hd-fg);font:600 22px var(--hd-sans);cursor:pointer;transition:transform .2s var(--hd-ease),background .2s}
.ev-resa-step button:active{transform:scale(.9);background:var(--hd-fg);color:var(--hd-bg)}
.ev-resa-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ev-resa-submit{width:100%;min-height:58px}
.ev-resa-submit.is-sending{pointer-events:none;opacity:.7}
.ev-resa-small{margin:0;font-size:13px;line-height:1.5;color:var(--hd-fg-2);text-align:center}
.ev-resa-alert{margin:0;padding:12px 16px;border-radius:14px;font-size:14px;font-weight:600;background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c}
@media (prefers-color-scheme:dark){.ev-resa-alert{color:#fca5a5}}
.ev-resa-alert.is-success{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d}
@media (max-width:640px){.ev-resa-grid{grid-template-columns:1fr}.ev-resa-field.is-wide{grid-column:auto}.ev-resa-open{justify-self:stretch}}
@media (prefers-reduced-motion:reduce){.ev-resa,.ev-resa *,.ev-resa::before{animation:none!important;transition:none!important}}
