/* Déclic : feuille de style commune (accueil et studio) */
@font-face{font-family:"Playfair Display";src:url(/fonts/PlayfairDisplay-VF.ttf);font-weight:400 900;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/fonts/Montserrat-SemiBold.ttf);font-weight:600;font-display:swap}
@font-face{font-family:"Great Vibes";src:url(/fonts/GreatVibes-Regular.ttf);font-display:swap}
@font-face{font-family:"Bebas Neue";src:url(/fonts/BebasNeue-Regular.ttf);font-display:swap}
@font-face{font-family:"Pacifico";src:url(/fonts/Pacifico-Regular.ttf);font-display:swap}
@font-face{font-family:"Abril Fatface";src:url(/fonts/AbrilFatface-Regular.ttf);font-display:swap}

:root{
  --nuit:#1C0B15; --velours:#34182A; --velours-2:#46213C; --prune:#5C2A4C;
  --lin:#EEEBEF; --lin-2:#F8F6F9; --encre:#221A20; --gris:#6E6470; --trait:#D9D2DB;
  --laiton:#D4AF6A; --laiton-clair:#EBD29C; --laiton-fonce:#A9853F; --flash:#FFF8E7;
  --rayon:14px;
  --titre:"Unbounded",system-ui,sans-serif; --texte:"Manrope",system-ui,sans-serif; --serif:"Instrument Serif",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:var(--texte);color:var(--encre);background:var(--lin);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--laiton);outline-offset:3px;border-radius:6px}

/* ----- Marque ----- */
.marque{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--titre);font-weight:700;font-size:22px;letter-spacing:-.02em}
.marque .eclair{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,var(--laiton-clair),var(--laiton-fonce));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 12px rgba(169,133,63,.35)}
.marque .eclair svg{width:16px;height:16px}

/* ----- Boutons ----- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:12px;border:0;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.laiton{background:linear-gradient(180deg,var(--laiton-clair),var(--laiton) 55%);color:var(--encre);box-shadow:inset 0 -3px 0 var(--laiton-fonce),0 8px 22px -8px rgba(212,175,106,.7)}
.btn.laiton:hover{box-shadow:inset 0 -3px 0 var(--laiton-fonce),0 10px 28px -6px rgba(212,175,106,.9)}
.btn.velours{background:var(--velours);color:var(--lin-2)}
.btn.fantome{background:transparent;color:var(--lin);border:1.5px solid rgba(238,235,239,.4)}
.btn.fantome:hover{border-color:var(--lin)}
.btn.neutre{background:#fff;border:1.5px solid var(--trait)}
.btn.neutre:hover{border-color:var(--gris)}
.btn.petit{padding:8px 14px;font-size:13.5px;border-radius:10px}
.lien{background:none;border:0;color:var(--velours);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:13.5px}

/* ----- Champs ----- */
label.champ{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}
label.champ:first-of-type{margin-top:0}
.saisie{width:100%;padding:11px 13px;border:1.5px solid var(--trait);border-radius:10px;background:#fff;transition:border-color .15s}
.saisie:focus{border-color:var(--velours);outline:none}
.saisie:disabled{background:var(--lin);color:var(--gris)}
textarea.saisie{min-height:112px;resize:vertical}

/* ----- Fenêtres ----- */
dialog.fenetre{margin:auto;border:0;border-radius:20px;padding:0;max-width:460px;width:calc(100% - 28px);background:var(--lin-2);color:var(--encre);box-shadow:0 40px 80px -20px rgba(28,11,21,.6)}
dialog.fenetre::backdrop{background:rgba(28,11,21,.62);backdrop-filter:blur(3px)}
.fenetre .tete{padding:24px 26px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fenetre h2{font-family:var(--titre);font-size:19px;font-weight:600;letter-spacing:-.01em}
.fenetre .corps{padding:14px 26px 26px}
.fenetre .fermer{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--gris);padding:2px 6px}
.fenetre p.intro{color:var(--gris);font-size:14px;margin-bottom:14px}
.onglets{display:flex;background:var(--lin);border-radius:12px;padding:4px;margin-bottom:18px}
.onglets button{flex:1;border:0;background:none;padding:9px;border-radius:9px;cursor:pointer;font-weight:600;color:var(--gris)}
.onglets button[aria-selected="true"]{background:#fff;color:var(--encre);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.alerte{font-size:13.5px;padding:10px 12px;border-radius:10px;background:#FBE9E7;color:#8A2A1B;margin-top:12px}
.alerte.ok{background:#E8F3EC;color:#1E5B34}

/* ----- Tickets (tarifs) ----- */
.tickets{display:grid;gap:18px}
.ticket{position:relative;display:grid;grid-template-columns:1fr auto;background:var(--lin-2);border-radius:18px;color:var(--encre);overflow:hidden;
  box-shadow:0 20px 40px -18px rgba(0,0,0,.45);text-align:left;border:0;width:100%;font:inherit}
.ticket .principal{padding:24px 24px 22px}
.ticket .talon{width:96px;border-left:2px dashed #CFC5C9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(212,175,106,.12) 8px 16px)}
.ticket .talon b{font-family:var(--titre);font-size:11px;letter-spacing:.14em;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--laiton-fonce)}
.ticket::before,.ticket::after{content:"";position:absolute;right:86px;width:20px;height:20px;border-radius:50%;background:var(--fond-ticket,var(--velours))}
.ticket::before{top:-10px}.ticket::after{bottom:-10px}
.ticket .type{font-family:var(--titre);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--laiton-fonce);font-weight:600}
.ticket .prix{font-family:var(--titre);font-size:34px;font-weight:700;letter-spacing:-.02em;margin:6px 0 2px;line-height:1.1}
.ticket .prix small{font-size:14px;font-weight:500;color:var(--gris);letter-spacing:0}
.ticket ul{list-style:none;margin-top:12px;display:grid;gap:6px;font-size:14px}
.ticket li{display:flex;gap:8px}.ticket li::before{content:"✦";color:var(--laiton-fonce)}
.ticket.vedette{background:linear-gradient(160deg,#FFF9EC,#F8EFD9)}
.ticket.vedette .badge{position:absolute;top:16px;right:112px;font-size:11px;font-weight:700;background:var(--velours);color:var(--laiton-clair);padding:4px 10px;border-radius:99px}
button.ticket{cursor:pointer;transition:transform .15s,box-shadow .15s}
button.ticket:hover{transform:translateY(-2px);box-shadow:0 26px 44px -18px rgba(0,0,0,.5)}
button.ticket[aria-pressed="true"]{outline:3px solid var(--laiton);outline-offset:2px}

/* ----- Flash d'appareil photo ----- */
#flash{position:fixed;inset:0;background:var(--flash);pointer-events:none;opacity:0;z-index:100}
#flash.on{animation:flash .9s ease-out}
@keyframes flash{0%{opacity:0}6%{opacity:.95}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){#flash.on{animation:none}}
