
:root{
 --grenat:#8e1f2f;--grenat-d:#6d1522;--creme:#faf3e3;--creme-d:#f1e7cf;--encre:#231b1b;
 --dore:#c9a227;--gris:#6f6257;
 --affiche:"Abril Fatface",serif;--texte:"Rubik",sans-serif;--max:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--texte);background:var(--creme);color:var(--encre);line-height:1.7;font-size:1.02rem}
a{color:inherit}
img,svg{max-width:100%;display:block}
.plateau{width:min(var(--max),92%);margin-inline:auto}

/* rangée de loges (header) */
header.fronton{background:var(--creme);border-bottom:4px double var(--encre)}
header.fronton .plateau{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;flex-wrap:wrap}
.enseigne{display:flex;align-items:center;gap:.9rem;text-decoration:none}
.enseigne img{width:60px;height:60px}
.enseigne b{font-family:var(--affiche);font-weight:400;font-size:1.55rem;color:var(--grenat);line-height:1;display:block}
.enseigne span{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--encre);font-weight:500}
nav.billets{display:flex;gap:.45rem;flex-wrap:wrap}
nav.billets a{text-decoration:none;font-size:.82rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:.45rem .8rem;border:1.5px dashed var(--gris);background:#fffdf6}
nav.billets a:hover{border-style:solid;border-color:var(--grenat);color:var(--grenat)}
nav.billets a.place{background:var(--grenat);color:var(--creme);border:1.5px solid var(--grenat)}

/* rideau haut de page */
.rideau{height:22px;background:
 radial-gradient(circle at 10% 0,var(--grenat-d) 0 30%,transparent 31%),
 linear-gradient(90deg,var(--grenat),var(--grenat-d) 12%,var(--grenat) 24%,var(--grenat-d) 36%,var(--grenat) 48%,var(--grenat-d) 60%,var(--grenat) 72%,var(--grenat-d) 84%,var(--grenat) 100%)}

/* héros affiche */
.affiche-une{background:var(--creme);text-align:center}
.affiche-une .plateau{padding:3.6rem 0 3rem;max-width:880px}
.mention{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:var(--grenat)}
h1.manchette,h2.manchette{font-family:var(--affiche);font-weight:400;color:var(--encre);font-size:clamp(2.1rem,6vw,4rem);line-height:1.08;margin:.7rem 0 1rem}
.filet-double{width:180px;margin:1.2rem auto;border:none;border-top:1.5px solid var(--encre);border-bottom:1.5px solid var(--encre);height:6px}
.chapo{max-width:60ch;margin:0 auto 1.6rem;color:#463a35;font-size:1.08rem}
.btn{display:inline-block;text-decoration:none;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.86rem;background:var(--grenat);color:var(--creme);padding:.85rem 1.7rem;border:2px solid var(--grenat)}
.btn:hover{background:var(--grenat-d);border-color:var(--grenat-d)}
.btn.loge{background:transparent;color:var(--encre);border-color:var(--encre)}
.btn.loge:hover{background:var(--encre);color:var(--creme)}

/* actes */
section.acte{padding:3.4rem 0}
.numero-acte{font-family:var(--affiche);font-weight:400;font-size:.95rem;color:var(--dore);letter-spacing:.14em;text-transform:uppercase}
.acte h2.scene{font-family:var(--affiche);font-weight:400;font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.15;color:var(--grenat);margin:.4rem 0 1rem;max-width:26ch}
p.tirade{margin-bottom:1.1rem;max-width:70ch;color:#463a35}
p.tirade a{color:var(--grenat);font-weight:500}

.acte.sombre{background:var(--encre);color:var(--creme)}
.acte.sombre h2.scene{color:var(--dore)}
.acte.sombre p.tirade{color:#e9dfc9}
.acte.fonce{background:var(--creme-d);border-top:1.5px solid var(--encre);border-bottom:1.5px solid var(--encre)}

/* coupon (cartes billetterie) */
.guichet{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
.coupon{background:#fffdf6;border:1.5px solid var(--encre);position:relative;padding:1.5rem 1.4rem 1.5rem 1.9rem}
.coupon::before{content:"";position:absolute;top:0;bottom:0;left:.65rem;border-left:1.5px dashed var(--gris)}
.coupon .tampon{font-family:var(--affiche);font-weight:400;color:var(--dore);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.coupon h3{font-family:var(--affiche);font-weight:400;font-size:1.25rem;color:var(--encre);margin:.35rem 0 .5rem}
.coupon p{font-size:.94rem;color:var(--gris)}

/* citation mission */
.parchemin-mission{max-width:820px;margin:1.6rem auto 0;border:1.5px solid var(--dore);outline:4px double var(--dore);outline-offset:6px;background:#fffdf6;padding:2.2rem 2rem;text-align:center}
.parchemin-mission blockquote{font-family:var(--affiche);font-weight:400;font-size:clamp(1.02rem,2.2vw,1.35rem);line-height:1.55;color:var(--encre)}
.parchemin-mission .source{display:block;margin-top:1rem;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grenat);font-weight:500}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:start}

/* formulaire */
form.strapontin{max-width:620px}
.rang{margin-bottom:1.1rem}
.rang label{font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;display:block;margin-bottom:.35rem}
.rang input,.rang textarea,.rang select{width:100%;padding:.75rem .85rem;border:1.5px solid var(--encre);background:#fffdf6;font-family:var(--texte);font-size:1rem}
.rang input:focus,.rang textarea:focus{outline:3px solid var(--dore)}
#form-ok{display:none;margin-top:1.1rem;border:1.5px solid var(--grenat);background:#fdf3e9;padding:1rem 1.1rem;color:var(--grenat-d);font-weight:500}
.loge-carte{border:1.5px solid var(--encre);outline:4px double var(--encre);outline-offset:5px;margin-top:.8rem}
.loge-carte iframe{display:block;width:100%;height:370px;border:0}

/* pied : rideau final */
footer.saluts{background:var(--encre);color:#d9cfb9;margin-top:3.4rem}
footer.saluts .frise{height:22px;background:
 linear-gradient(90deg,var(--grenat),var(--grenat-d) 12%,var(--grenat) 24%,var(--grenat-d) 36%,var(--grenat) 48%,var(--grenat-d) 60%,var(--grenat) 72%,var(--grenat-d) 84%,var(--grenat) 100%)}
footer.saluts .plateau{padding:2.5rem 0 1.5rem}
footer.saluts b{color:var(--creme)}
footer.saluts p{margin-bottom:.7rem;max-width:80ch;font-size:.96rem}
footer.saluts a{color:var(--dore);text-decoration:none}
footer.saluts a:hover{text-decoration:underline}
footer.saluts .rappels{margin:1.1rem 0;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:500}
footer.saluts .rappels a{color:#efe6d0;margin-right:1.1rem}
footer.saluts .noir{border-top:1px solid rgba(233,223,201,.25);padding-top:1rem;font-size:.8rem;color:#9c9080}

@media(max-width:860px){.guichet{grid-template-columns:1fr}.duo{grid-template-columns:1fr}}
