/* Client V2 — shared presentation. Editorial copy remains in WordPress. */
:root {
    --eo-red: #971b2c;
    --eo-red-dark: #68111e;
    --eo-red-field: #52141f;
    --eo-ink: #100d0e;
    --eo-ink-soft: #191315;
    --eo-gold: #c2a371;
    --eo-line: rgba(255,250,245,.18);
}
body.eo77-v2 { color:var(--eo-white); background:var(--eo-ink); }
.eo77-v2 h1,.eo77-v2 h2,.eo77-v2 h3 { text-wrap:balance; }
.eo77-v2 :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--eo-gold); outline-offset:5px; }
.eo77-v2 :is(.eo-button .elementor-button,.eo-inline-cta,.eo-nav__book):hover { background-color:var(--eo-red-dark); }
.eo77-v2 .eo-button--text .elementor-button:hover { background:transparent; color:var(--eo-gold); }
.eo77-v2 .eo-section-index,.eo77-v2 .eo-kicker,.eo77-v2 .eo-prefooter__label { color:var(--eo-gold); }
.eo77-v2 .elementor .eo-display .elementor-heading-title { color:var(--eo-white); font:400 clamp(52px,6.3vw,100px)/.96 "Smythe EO",Georgia,serif; letter-spacing:-.015em; }
.eo77-v2 .elementor .e-con { --gap:0px; }
.eo77-v2 .elementor .e-con.eo-section { padding-block:clamp(48px,5vw,80px); }
.eo77-v2 .elementor .e-con.eo-v2-hero {
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
    min-height:100vh; min-height:100svh; padding:calc(var(--eo-header) + 40px) var(--eo-gutter) 56px;
    background-image:linear-gradient(90deg,rgba(10,7,8,.84),rgba(10,7,8,.30) 66%,rgba(10,7,8,.12)),linear-gradient(0deg,#100d0e,transparent 35%),url('../images/legacy/escape-place.avif');
    background-position:center; background-size:cover;
}
.eo77-v2 .eo-v2-hero::after { content:none; }
.eo77-v2 .eo-v2-hero::before { opacity:.05; }
.eo77-v2 .elementor .eo-v2-hero > .e-con-inner { min-height:0; display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.eo77-v2 .eo-v2-hero .eo-hero__kicker { margin-bottom:26px; }
.eo77-v2 .eo-v2-hero .eo-hero__title .elementor-heading-title { font-size:clamp(80px,9.5vw,150px); line-height:.93; max-width:900px; }
.eo77-v2 .eo-v2-hero .eo-hero__title em { color:var(--eo-white); font-style:normal; }
.eo77-v2 .eo-v2-hero .eo-hero__copy { margin:26px 0 24px; max-width:520px; color:#ede3dc; font-size:16px; }
.eo77-v2 .elementor .e-con.eo-v2-activity-actions { display:flex; flex-flow:row wrap; width:auto; padding:0; gap:12px; margin:0; }
.eo77-v2 .eo-v2-activity-actions .elementor-widget-button { width:auto; }
.eo77-v2 .eo-v2-activity-actions .elementor-button { min-height:54px; padding:18px 26px; }
.eo77-v2 .eo-hero-phone { margin-top:24px; }
.eo77-v2 .eo-hero-phone p { margin:0; color:#ded4c8; font-size:13px; line-height:1.8; text-wrap:pretty; }
.eo77-v2 .eo-hero-phone a { display:inline-block; color:var(--eo-white); font-weight:650; white-space:nowrap; text-decoration:underline; text-decoration-color:var(--eo-gold); text-underline-offset:4px; }
.eo77-v2 .eo-hero-phone a:hover { color:var(--eo-gold); }
.eo77-v2 .eo-v2-rating { margin-top:24px; }
.eo-google-rating { display:inline-flex; align-items:center; gap:16px; max-width:100%; padding:20px 24px; border:1px solid rgba(226,205,175,.32); border-radius:8px; background:linear-gradient(135deg,rgba(255,244,224,.10),rgba(255,244,224,.02)),rgba(20,15,13,.66); -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%); box-shadow:0 8px 28px #0003,inset 0 1px 0 #fff1; text-decoration:none; color:var(--eo-white); font-size:12px; transition:box-shadow .2s,border-color .2s; }
.eo77-v2 .elementor a.eo-google-rating { color:var(--eo-white); }
.eo77-v2 .elementor a.eo-google-rating:hover { color:var(--eo-white); border-color:rgba(226,205,175,.55); box-shadow:0 12px 32px #0004,inset 0 1px 0 #fff2; }
.eo-google-rating__logo { flex:none; width:46px; height:46px; padding:6px; border:1px solid #ffffff24; border-radius:7px; background:#ffffff0d; }
.eo-google-rating__details { display:flex; flex-direction:column; gap:3px; }
.eo-google-rating__label { font-size:14px; font-weight:600; }
.eo-google-rating__score { display:flex; align-items:center; gap:9px; line-height:1.2; }
.eo-google-rating__score strong { font-size:28px; font-weight:650; }
.eo-google-rating__stars { position:relative; color:#ddd6c9; font-size:20px; letter-spacing:1px; white-space:nowrap; }
.eo-google-rating__stars > span { position:absolute; inset:0 auto 0 0; width:var(--eo-rating-fill); overflow:hidden; color:#f4ad16; }
.eo-google-rating__count { line-height:1.5; color:#ded4c8; }
.eo-google-rating__arrow { align-self:flex-start; color:var(--eo-gold); font-size:17px; }
.eo77-v2 .eo-scroll-cue { right:var(--eo-gutter); bottom:44px; }
.eo77-v2 .elementor .e-con.eo-v2-rooms { display:block; background:#100d0e; }
.eo77-v2 .elementor .eo-v2-rooms::before { opacity:.025; }
.eo77-v2 .eo-v2-rooms .eo-section-head { margin-bottom:28px; }
.eo77-v2 .eo-v2-rooms .eo-section-intro { color:#c3b6b2; max-width:38ch; }
.eo77-v2 .eo-room__title a { text-decoration:none; }
.eo77-v2 .eo-room__title a:hover { color:var(--eo-gold); }
.eo77-v2 .eo-room__link:hover { color:var(--eo-gold); }
.eo77-v2 .elementor .e-con.eo-v2-quiz {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:0; align-items:center; min-height:0; color:var(--eo-white); padding:0 0 0 var(--eo-gutter);
    background:#100f1a; border-block:1px solid rgba(255,255,255,.12);
}
.eo77-v2 .elementor .eo-v2-quiz::before,.eo77-v2 .elementor .eo-v2-quiz::after { content:none; }
.eo77-v2 .elementor .e-con.eo-v2-quiz .eo-quiz__copy { max-width:510px; padding:50px 28px 50px 0; }
.eo77-v2 .elementor .e-con.eo-quiz-stage { position:relative; width:100%; aspect-ratio:2560 / 1554; padding:0; background:linear-gradient(90deg,#100f1a,transparent 20%),url('../images/legacy/escape-one-quiz-one-1-scaled.jpg') center / 100% 100% no-repeat; }
.eo77-v2 .eo-v2-quiz .eo-display { margin:18px 0 24px; }
.eo77-v2 .elementor .eo-v2-quiz :is(.eo-quiz__lead,.eo-quiz__meta p) { color:#eee5eb; }
.eo77-v2 .eo-v2-quiz .eo-quiz__meta { margin:22px 0 32px; }
.eo77-v2 .eo-v2-quiz .eo-button--text { margin:0 0 26px; }
/* A large, tactile buzzer. Text remains a native link/button in the editor. */
.eo77-v2 a.eo-buzzer,.eo77-v2 .eo-buzzer .elementor-button {
    display:inline-flex; align-items:center; justify-content:center; min-height:78px; min-width:250px;
    padding:24px 32px; border:2px solid #b85c64; border-radius:50%;
    color:#fffaf5; background:linear-gradient(#a62e3d,#751725);
    box-shadow:0 9px 0 #390a13,0 13px 0 3px #2b252b,0 19px 26px #0008,inset 0 2px 0 #eaa1a54d;
    font:750 13px/1.4 "Montserrat EO",Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.eo77-v2 a.eo-buzzer:hover,.eo77-v2 .eo-buzzer .elementor-button:hover { transform:translateY(3px); filter:brightness(1.16); }
.eo77-v2 a.eo-buzzer:active,.eo77-v2 .eo-buzzer .elementor-button:active { transform:translateY(8px); box-shadow:0 1px 0 #390a13,0 5px 0 3px #2b252b; }
.eo77-v2 .elementor .e-con.eo-v2-prices { --eo-price-height:220px; display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1fr); column-gap:0; align-items:start; color:#fffaf5; background:#52141f; position:relative; }
.eo77-v2 .eo-v2-prices::before { content:""; position:absolute; inset:0; background:url('../brand/damask-white-tile.png') center/220px; opacity:.05; pointer-events:none; }
.eo77-v2 .elementor .e-con.eo-v2-prices-heading { display:block; grid-column:1 / -1; padding:0; }
.eo77-v2 .eo-v2-prices-heading { margin-bottom:32px; }
.eo77-v2 .eo-price-group-title { grid-column:1 / -1; width:100%; margin-bottom:12px; }
.eo77-v2 .eo-price-group-title .elementor-heading-title { font:600 18px/1.4 "Montserrat EO",Arial,sans-serif; color:var(--eo-white); }
.eo77-v2 .elementor .e-con.eo-v2-prices-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; padding:0 28px 0 0; }
.eo77-v2 .elementor .e-con.eo-v2-price { border:1px solid rgba(226,205,175,.32); border-radius:8px; background:linear-gradient(135deg,rgba(255,244,224,.10),rgba(255,244,224,.02)),rgba(20,15,13,.46); -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%); box-shadow:0 8px 28px #0003,inset 0 1px 0 #fff1; }
.eo77-v2 .elementor .e-con.eo-v2-price { display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; height:var(--eo-price-height); padding:24px 12px; text-align:center; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease; }
.eo77-v2 .eo-v2-price h3.elementor-heading-title { font:600 12px/1.4 "Montserrat EO",Arial,sans-serif; color:#e2c7cb; letter-spacing:.06em; text-transform:uppercase; }
.eo77-v2 .eo-v2-price p { margin:12px 0 0; }
.eo77-v2 .eo-v2-price strong { display:block; font:400 clamp(44px,5vw,70px)/1 "Smythe EO",Georgia,serif; color:var(--eo-white); }
.eo77-v2 .eo-v2-price span { font-size:14px; line-height:1.5; color:#f0e3e5; }
.eo77-v2 .elementor .e-con.eo-v2-prices-bottom { display:flex; flex-direction:column; align-items:stretch; gap:14px; padding:0 0 0 28px; border-left:1px solid rgba(226,205,175,.4); }
.eo77-v2 .eo-v2-prices-bottom > .elementor-widget { width:100%; }
.eo77-v2 .elementor .e-con.eo-v2-quiz-price { border-color:rgba(226,205,175,.6); }
.eo77-v2 .eo-v2-quiz-price strong { color:var(--eo-gold); }
.eo77-v2 .elementor .e-con.eo-v2-events { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:clamp(30px,5vw,72px); align-items:center; background:#171213; }
.eo77-v2 .elementor .e-con.eo-v2-events-copy { display:block; padding:0; }
.eo77-v2 .elementor .e-con.eo-v2-events-gallery { display:flex; flex-direction:column; gap:16px; padding:0; min-width:0; width:100%; max-width:624px; justify-self:center; }
.eo77-v2 .eo-v2-events-caption { color:#cabbba; font-size:14px; line-height:1.6; text-align:center; width:100%; }
.eo77-v2 .eo-v2-events-caption p { margin:0; }
.eo77-v2 .eo-v2-events-copy .eo-display { margin:20px 0 24px; }
.eo77-v2 .eo-v2-events-lead { max-width:48ch; color:#cabbba; font-size:15px; }
.eo77-v2 .elementor .e-con.eo-v2-events-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; padding:8px 0 0; }
.eo77-v2 .elementor .e-con.eo-v2-events-links > .e-con-inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.eo77-v2 .elementor .eo-v2-events-links .eo-v2-event-link { min-width:0; grid-column:auto; }
.eo77-v2 .eo-v2-event-link .elementor-button { width:100%; display:flex; align-items:center; gap:12px; min-height:76px; padding:16px 0; font-size:13px; line-height:1.5; letter-spacing:0; text-transform:none; text-align:left; border-bottom:1px solid var(--eo-line); }
.eo77-v2 .eo-v2-event-link .elementor-button::after { content:'↗'; flex:none; color:var(--eo-gold); font-size:20px; transition:transform .2s; }
.eo77-v2 .eo-v2-event-link .elementor-button:hover::after { transform:translate(2px,-2px); }
.eo77-v2 .eo-v2-event-link .elementor-button-text { text-align:left; }
.eo77-v2 .eo-v2-event-link .elementor-button-content-wrapper { justify-content:space-between; width:auto; min-width:0; flex:1; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel { min-width:0; width:100%; max-width:624px; justify-self:center; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .elementor-image-carousel-wrapper { position:relative; padding:6% 6% calc(6% + 64px); border:0; box-shadow:none; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .elementor-image-carousel-wrapper::after { content:""; position:absolute; inset:0 0 64px; z-index:3; background:url('../brand/mission-frame-gold.png') center / 100% 100% no-repeat; pointer-events:none; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .swiper-slide-image { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:#171213; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .swiper-initialized .swiper-slide:not(.swiper-slide-active) { visibility:hidden; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .swiper-slide figure { margin:0; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .elementor-swiper-button { top:auto; bottom:0; transform:none; width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:transparent; border:1px solid #c2a37199; color:#fffaf5; border-radius:50%; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .elementor-swiper-button-prev { left:0; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .elementor-swiper-button-next { right:0; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .swiper-pagination.swiper-pagination-bullets { bottom:0; left:54px; width:calc(100% - 108px); height:44px; display:flex; gap:8px; align-items:center; justify-content:center; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .elementor-swiper-button svg { width:18px; height:18px; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .swiper-pagination-bullet { background:var(--eo-gold); opacity:.4; }
.eo77-v2 .elementor .elementor-element.eo-v2-events-carousel .swiper-pagination-bullet-active { opacity:1; }
.eo77-v2 .elementor .e-con.eo-v2-final-cta { min-height:72svh; padding-block:90px; }
.eo77-v2 .eo-v2-final-cta .eo-kicker { color:#f2b8b2; }
.eo77-v2 .eo-v2-final-cta .eo-display { margin:28px 0 32px; }
.eo77-v2 .eo-v2-final-faq { margin-top:22px; }
.eo77-v2 .eo-v2-final-faq .elementor-button { text-transform:none; letter-spacing:0; font-size:13px; }
/* Inner pages: photograph, essential information, then one clear next step. */
.eo77-v2 .eo-page-shell { --eo-page-photo:url('../images/legacy/escape-place.avif'); background:#100d0e; }
.eo77-v2 :is(.eo-page-hero,.eo-page-band--light) { background:linear-gradient(90deg,#100d0eef,#100d0eaa),var(--eo-page-photo) center/cover; color:var(--eo-white); }
.eo77-v2 .eo-page-hero { padding:calc(var(--eo-header) + 30px) var(--eo-gutter) 45px; min-height:280px; }
.eo77-v2 .eo-page-hero h1 { font-size:clamp(56px,7vw,106px); max-width:1100px; line-height:1; margin-bottom:0; }
.eo77-v2 .eo-page-band { padding-block:48px; }
.eo77-v2 .eo-page-band:first-child { padding-top:32px; }
.eo77-v2 .eo-page-band :is(h2,h3,.eo-lead p:first-child) { color:inherit; }
.eo77-v2 .eo-lead { margin:0 0 26px; }
.eo77-v2 .eo-lead p:first-child { font-size:clamp(28px,3.5vw,44px); line-height:1.15; margin-bottom:18px; }
.eo77-v2 .eo-lead p:not(:first-child) { font-size:16px; color:#dfd4cf; line-height:1.8; }
.eo77-v2 .eo-facts { margin:26px 0; border-color:var(--eo-line); }
.eo77-v2 .eo-facts strong { color:#f0d8b0; }
.eo77-v2 .eo-facts span { color:#d0c1bb; }
.eo77-v2 .eo-content-grid { margin-block:26px; gap:22px; }
.eo77-v2 .eo-content-grid h3 { font-size:30px; }
.eo77-v2 .eo-content-grid p { font-size:14px; }
.eo77-v2 .eo-page-content :is(details,summary,.eo-price-list p) { border-color:var(--eo-line); }
.eo77-v2 .eo-page-content summary { color:#fffaf5; font-size:16px; }
.eo77-v2 .eo-page-content details > p { color:#d7cbc5; }
.eo77-v2 .eo-callout { background:var(--eo-red-field); padding:28px; }
.eo77-v2 .eo-page-band--form { background:#39141c; }
.eo77-v2 .eo-page-band--form .glorious-glass-card { padding:clamp(20px,4vw,40px); }
.eo77-v2 :is(.eo77-page-quiz-game-quiz-one,.eo77-page-quiz-one) .eo-page-shell { --eo-page-photo:url('../images/legacy/escape-one-quiz-one-1-scaled.jpg'); }
.eo77-v2.eo77-page-quiz-game-quiz-one .eo-page-shell,.eo77-v2.eo77-page-quiz-one .eo-page-shell { --eo-page-photo:url('../images/legacy/escape-one-quiz-one-1-scaled.jpg'); }
/* La photo n'habille que le bandeau de titre ; le contenu garde un seul fond
   uni sombre (celui des bandes --dark), puis le bordeaux damassé du formulaire. */
.eo77-v2 .eo-page-band--light { background:rgb(13,11,12); }
.eo77-v2:is(.eo77-page-team-building,.eo77-page-team-building-events) .eo-page-shell { --eo-page-photo:url('../images/lieu/lieu-salle-reunion.webp'); }
.eo77-v2:is(.eo77-page-evjf-evg,.eo77-page-hen-and-stag-parties) .eo-page-shell { --eo-page-photo:url('../images/lieu/lieu-salon-reception.webp'); }
.eo77-v2:is(.eo77-page-anniversaires,.eo77-page-birthdays) .eo-page-shell { --eo-page-photo:url('../images/lieu/lieu-salon-fauteuils.webp'); }
.eo77-v2:is(.eo77-page-privatisation,.eo77-page-private-hire) .eo-page-shell { --eo-page-photo:url('../images/lieu/lieu-salon-cuir.webp'); }
.eo77-v2 :is(.eo-wide-media,.eo-v2-gallery figure) { margin:24px 0 0; }
.eo77-v2 .eo-wide-media img { max-height:450px; width:100%; object-fit:cover; border:7px ridge #866746; }
.eo-v2-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.eo-v2-gallery img { width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; border:7px ridge #866746; }
.eo77-v2 .eo-v2-offer { padding:20px 0; }
.eo77-v2 .eo-v2-offer strong { font-size:clamp(38px,5vw,62px); }
.eo77-v2 .eo-prefooter__info { padding-block:44px; }
.eo77-v2 .eo-prefooter__cols { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.4fr); gap:32px; }
.eo77-v2 .eo-prefooter__col { min-width:0; }
@media (max-width:1400px) {
    .eo77-v2 .eo-prefooter__cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
    .eo77-v2 .eo-prefooter__cols { grid-template-columns:minmax(0,1fr); gap:28px; }
}
.eo77-v2 .eo-prefooter__brand { margin-bottom:22px; }
.eo77-v2 .eo-prefooter__access { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:28px; padding-top:20px; border-top:1px solid var(--eo-line); color:#e1d4cc; font-size:13px; }
.eo77-v2 .eo-prefooter__access { list-style:none; padding-left:0; }
.eo77-v2 .eo-prefooter__access li { display:flex; align-items:center; gap:8px; }
.eo77-v2 .eo-prefooter__access svg { flex-shrink:0; }
.eo77-v2 .eo-prefooter__access .eo-prefooter__bus { align-items:flex-start; width:100%; }
.eo77-v2 .eo-prefooter__bus > svg { margin-top:2px; }
.eo77-v2 .eo-prefooter__bus .eo-prefooter__bus-stop { margin:12px 0 16px; font-size:13px; line-height:1.65; }
.eo77-v2 .eo-prefooter__bus-stop strong,.eo77-v2 .eo-prefooter__bus-stop span { display:block; }
.eo77-v2 .eo-prefooter__bus-stop strong { color:var(--eo-white); font-weight:600; }
/* Multiple preferred rooms and times: native labelled checkboxes. */
.eo77-v2 .eo-form-choices { border:0; padding:0; min-width:0; }
.eo77-v2 .eo-form-choices legend { font-weight:650; font-size:14px; margin-bottom:8px; }
.eo77-v2 .eo-form-choices__help { color:#d0bdc2; font-size:12px; }
.eo-form-choices__options { display:flex; flex-wrap:wrap; gap:9px; }
.eo77-v2 .eo-form-choice { display:flex; align-items:center; gap:10px; cursor:pointer; padding:11px 14px; background:#ffffff08; border:1px solid #ffffff40; font-size:13px; }
.eo77-v2 .eo-form-choice:has(input:checked) { background:#801d31; border-color:#d49eaa; }
.eo77-v2 .eo-form-choice input[type=checkbox] { width:17px; height:17px; margin:0; accent-color:#b54a60; }
.eo77-v2 .eo-form-choices.glorious-invalid { outline:1px solid #ffa5b7; outline-offset:7px; }
.eo-mobile-book { display:none; }
/* JS animates individual title lines, never hides a section or its controls. */
.eo-scroll-line { display:block; will-change:transform; }
.eo77-v2 .eo-reveal { opacity:1; transform:none; }
@media (hover:hover) and (pointer:fine) {
    .eo77-v2 .elementor .e-con.eo-v2-price:hover { transform:translateY(-5px); border-color:rgba(226,205,175,.7); background-color:rgba(65,34,32,.7); box-shadow:0 15px 32px #0004,inset 0 1px 0 #ffffff24; }
}
@media (prefers-reduced-motion:reduce) {
    .eo77-v2 .elementor .e-con.eo-v2-price { transition:none; }
    .eo77-v2 .elementor .e-con.eo-v2-price:hover { transform:none; }
}
@media (prefers-reduced-motion:no-preference) {
    .eo-v2-hero .eo-hero__kicker { animation:eo-v2-enter .65s both; }
    .eo-v2-hero .eo-hero__title { animation:eo-v2-enter .8s .1s both; }
    .eo-v2-hero .eo-hero__copy,.eo-v2-hero .eo-v2-activity-actions { animation:eo-v2-enter .8s .22s both; }
    .eo-v2-hero .eo-v2-rating { animation:eo-v2-enter .8s .35s both; }
}
@keyframes eo-v2-enter { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@media (min-width:768px) and (max-width:1100px) {
    .eo77-v2 .elementor .e-con.eo-v2-prices { grid-template-columns:minmax(0,3fr) minmax(0,1fr); }
    .eo77-v2 .elementor .e-con.eo-v2-prices-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
    .eo77-v2 .elementor .e-con.eo-v2-events { gap:30px; }
    .eo77-v2 .elementor .e-con.eo-v2-quiz { grid-template-columns:1fr; padding:0; min-height:0; }
    .eo77-v2 .elementor .e-con.eo-v2-quiz .eo-quiz__copy { max-width:600px; padding:48px var(--eo-gutter) 12px; }
    .eo77-v2 .elementor .e-con.eo-quiz-stage { background-image:linear-gradient(180deg,#100f1a,transparent 15%),url('../images/legacy/escape-one-quiz-one-1-scaled.jpg'); }
    .eo77-v2 .eo-v2-quiz::before { background-position:62% center; }
}
@media (max-width:767px) {
    body.eo77-v2 { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
    .eo77-v2 .elementor .e-con.eo-v2-hero { min-height:100svh; padding:calc(var(--eo-header) + 26px) var(--eo-gutter) 36px; }
    .eo77-v2 .eo-v2-hero .eo-hero__title .elementor-heading-title { font-size:clamp(62px,16vw,108px); line-height:.98; }
    .eo77-v2 .eo-v2-hero .eo-hero__copy { font-size:14px; margin:22px 0; max-width:29ch; }
    .eo77-v2 .eo-v2-hero .eo-hero__kicker { font-size:9px; margin-bottom:24px; }
    .eo77-v2 .elementor .e-con.eo-v2-activity-actions { width:100%; flex-direction:column; align-items:stretch; gap:10px; }
    .eo77-v2 .eo-v2-activity-actions .elementor-button { width:100%; font-size:11px; min-height:49px; padding:15px 20px; }
    .eo77-v2 .eo-v2-rating { margin-top:26px; }
    .eo77-v2 .eo-scroll-cue { display:none; }
    .eo-google-rating { gap:12px; padding:16px; font-size:11px; }
    .eo77-v2 .elementor .e-con.eo-v2-quiz { min-height:0; padding:0; }
    .eo77-v2 .elementor .eo-v2-quiz::before { inset:0; background-position:60% center; }
    .eo77-v2 .elementor .eo-v2-quiz::after { background:linear-gradient(90deg,rgba(9,8,20,.92),rgba(9,8,20,.63)); }
    .eo77-v2 .elementor .eo-v2-quiz .eo-display .elementor-heading-title { font-size:72px; }
    .eo77-v2 .eo-quiz__meta p { font-size:10px; letter-spacing:.04em; }
    .eo77-v2 .elementor .e-con.eo-v2-prices { --eo-price-height:200px; grid-template-columns:1fr; }
    .eo77-v2 .elementor .e-con.eo-v2-prices-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; justify-content:start; }
    .eo77-v2 .elementor .e-con.eo-v2-price { padding:20px 12px; }
    .eo77-v2 .eo-v2-price h3.elementor-heading-title { font-size:10px; }
    .eo77-v2 .elementor .e-con.eo-v2-prices-bottom { gap:10px; margin-top:28px; padding:28px 0 0; border-left:0; border-top:1px solid rgba(226,205,175,.4); }
    .eo77-v2 .elementor .e-con.eo-v2-events { grid-template-columns:1fr; }
    .eo77-v2 .elementor .e-con.eo-v2-final-cta { min-height:560px; padding:72px 28px; }
    .eo77-v2 .eo-page-hero { min-height:220px; padding-top:calc(var(--eo-header) + 24px); padding-bottom:28px; }
    .eo77-v2 .eo-page-hero h1 { font-size:clamp(47px,11vw,65px); }
    .eo77-v2 .eo-page-band { padding-block:34px; }
    .eo77-v2 .eo-lead p:not(:first-child) { font-size:14px; }
    .eo-v2-gallery { grid-template-columns:1fr; gap:10px; }
    .eo77-v2 .eo-facts { gap:16px; }
    .eo77-v2 .eo-form-choice { padding:10px; font-size:12px; }
    .eo-mobile-book { display:flex; justify-content:space-between; align-items:center; gap:16px; position:fixed; z-index:1100; inset:auto 0 0; min-height:70px; padding:12px var(--eo-gutter) calc(12px + env(safe-area-inset-bottom)); background:#160f12f7; border-top:1px solid #8e4656; backdrop-filter:blur(14px); }
    .eo-mobile-book > span { font:400 24px/1 "Smythe EO",Georgia,serif; color:var(--eo-white); }
    .eo-mobile-book a { display:inline-flex; min-height:44px; align-items:center; padding:12px 25px; color:#fff; background:var(--eo-red); text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:750; text-decoration:none; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .eo77-v2 *, .eo77-v2 *::before,.eo77-v2 *::after { animation:none!important; transition:none!important; }
    .eo-scroll-line { transform:none!important; opacity:1!important; }
}

/* Bande « Le lieu » des pages événements : carrousel sur fond sombre. */
.eo77-v2 .eo-place-band .eo-place-gallery { margin-top:28px; }
.eo77-v2 .eo-place-band .eo-place-gallery__slide img { border:4px ridge #866746; }
.eo77-v2 .eo-place-band .eo-carousel__status,
.eo77-v2 .eo-place-band .eo-carousel__status [data-carousel-current],
.eo77-v2 .eo-place-band .eo-carousel__buttons button { color:var(--eo-white); }

/* POS Limitless en attente de clés : maquette ou encart à la place du module. */
.eo-pos-embed { margin:28px 0; }
.eo-pos-pending__note { margin:0 0 14px; font-size:13px; letter-spacing:.02em; opacity:.75; }
.eo-pos-pending--card { padding:clamp(20px,3vw,32px); border:1px solid rgba(226,205,175,.32); border-radius:8px; background:rgba(20,15,13,.55); }
.eo-pos-pending--card p { margin:0; }
.eo-pos-pending--card p + p { margin-top:8px; }

/* Pages événements et « Escape One 77 » : colonne élargie, l'espace latéral
   sert aux grilles et au carrousel à trois vues ; le chapô reste en une colonne. */
.eo77-v2:is(.eo77-page-escape-one-77,.eo77-page-about-us,.eo77-page-team-building,.eo77-page-team-building-events,.eo77-page-anniversaires,.eo77-page-birthdays,.eo77-page-evjf-evg,.eo77-page-hen-and-stag-parties,.eo77-page-privatisation,.eo77-page-private-hire) .eo-page-band > .eo-page-section-inner { width:min(calc(100% - (2 * var(--eo-gutter))), 1200px); }
.eo77-v2 .eo-place-inline { margin:36px 0 8px; }
.eo77-v2 .eo-place-inline .eo-place-gallery__slide img { border:4px ridge #866746; }
.eo77-v2 .eo-place-inline :is(.eo-carousel__status,.eo-carousel__status [data-carousel-current],.eo-carousel__buttons button) { color:var(--eo-white); }
@media (min-width: 900px) {
    .eo77-v2 .eo-page-content .eo-content-grid { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
}
@media (min-width: 1100px) {
    .eo77-v2 :is(.eo-place-inline,.eo-place-band) .eo-place-gallery__track { grid-auto-columns:calc((100% - 2 * var(--eo-gallery-gap, 14px)) / 3); }
}
.eo77-v2 .eo-page-band > .eo-page-section-inner > p:not(.eo-kicker) { max-width:78ch; }
.eo77-v2 .eo-page-content .eo-lead { max-width:none; }
.eo77-v2 .eo-page-content .eo-lead p:not(:first-child) { max-width:78ch; }

/* Grille « Nos tarifs » hors Elementor (page Énigmes), calquée sur celle de
   l'accueil (.eo-v2-prices ci-dessus) : mêmes cartes, mêmes proportions. */
.eo-prices-static { position:relative; display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1fr); align-items:start; padding:72px 4.8vw; color:#fffaf5; background:#52141f; }
.eo-prices-static::before { content:""; position:absolute; inset:0; background:url('../brand/damask-white-tile.png') center/220px; opacity:.05; pointer-events:none; }
.eo-prices-static > * { position:relative; }
.eo-prices-static__title { grid-column:1 / -1; margin:0 0 32px; font:400 clamp(56px,6.3vw,91px)/.96 "Smythe EO",Georgia,serif; color:var(--eo-white); }
.eo-prices-static__group { grid-column:1 / -1; margin:0 0 12px; font:600 18px/1.4 "Montserrat EO",Arial,sans-serif; color:var(--eo-white); }
.eo-prices-static__escape { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; padding-right:28px; }
.eo-prices-static__quiz { display:flex; flex-direction:column; gap:14px; padding-left:28px; border-left:1px solid rgba(226,205,175,.4); }
.eo-prices-static__card { display:flex; flex-direction:column; justify-content:center; align-items:center; height:220px; padding:24px 12px; text-align:center; border:1px solid rgba(226,205,175,.32); border-radius:8px; background:linear-gradient(135deg,rgba(255,244,224,.10),rgba(255,244,224,.02)),rgba(20,15,13,.46); -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%); box-shadow:0 8px 28px #0003,inset 0 1px 0 #fff1; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease; }
.eo-prices-static__card h4 { margin:0; font:600 12px/1.4 "Montserrat EO",Arial,sans-serif; color:#e2c7cb; letter-spacing:.06em; text-transform:uppercase; }
.eo-prices-static__card p { margin:12px 0 0; }
.eo-prices-static__card strong { display:block; font:400 clamp(44px,5vw,70px)/1 "Smythe EO",Georgia,serif; color:var(--eo-white); }
.eo-prices-static__card span { font-size:14px; line-height:1.5; color:#f0e3e5; }
.eo-prices-static__card--quiz { border-color:rgba(226,205,175,.6); }
.eo-prices-static__card--quiz strong { color:var(--eo-gold); }
@media (hover:hover) { .eo-prices-static__card:hover { transform:translateY(-5px); border-color:rgba(226,205,175,.7); background-color:rgba(65,34,32,.7); box-shadow:0 15px 32px #0004,inset 0 1px 0 #ffffff24; } }
@media (min-width:768px) and (max-width:1100px) { .eo-prices-static__escape { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) {
    .eo-prices-static { grid-template-columns:1fr; padding:56px var(--eo-gutter); }
    .eo-prices-static__escape { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; }
    .eo-prices-static__card { height:200px; padding:20px 12px; }
    .eo-prices-static__card h4 { font-size:10px; }
    .eo-prices-static__quiz { gap:10px; margin-top:28px; padding:28px 0 0; border-left:0; border-top:1px solid rgba(226,205,175,.4); }
}

/* Grilles d'arguments (Team Building, Escape One 77…) en cartes, dans le
   style des cartes de tarifs. */
.eo77-v2 .eo-page-content .eo-content-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.eo77-v2 .eo-page-content .eo-content-grid > div { display:flex; flex-direction:column; gap:10px; margin:0; padding:26px 22px; border:1px solid rgba(226,205,175,.32); border-top:2px solid var(--eo-gold, #c9a86a); border-radius:8px; background:linear-gradient(135deg,rgba(255,244,224,.07),rgba(255,244,224,.01)),rgba(20,15,13,.5); box-shadow:0 8px 28px #0003,inset 0 1px 0 #fff1; }
.eo77-v2 .eo-page-content .eo-content-grid > div :is(h3,p) { margin:0; }
.eo77-v2 .eo-page-content .eo-content-grid > div p { color:#d7cbc5; line-height:1.65; }

/* Modules POS Limitless : leur réglage de police « Montserrat » pointe sur la
   police du site, sans appel à Google Fonts. */
@font-face { font-family:"Montserrat"; src:url("../fonts/Montserrat-VariableFont_wght.woff2") format("woff2"); font-weight:100 900; font-display:swap; }

/* Pages secondaires : trois fonds en alternance (inc/faq-layout.php), et
   sommaire latéral sur la FAQ. */
.eo-faq-layout { position:relative; }
.eo77-v2 .eo-tone-band { position:relative; isolation:isolate; scroll-margin-top:96px; }
.eo77-v2 .eo-tone-band::before { content:""; position:absolute; inset:0; z-index:-1; background:url('../brand/damask-white-tile.png') center/240px auto repeat; pointer-events:none; }
.eo77-v2 .eo-tone-band--ink { background:#0d0b0c; }
.eo77-v2 .eo-tone-band--ink::before { opacity:.045; }
.eo77-v2 .eo-tone-band--wine { background:#46111b; }
.eo77-v2 .eo-tone-band--wine::before { opacity:.06; }
/* Photo du lieu à droite, fondue vers un gris anthracite damassé sous le texte. */
.eo77-v2 .eo-tone-band--photo { background:linear-gradient(90deg,#262223 0%,#262223 34%,rgba(38,34,35,.8) 52%,rgba(38,34,35,.4) 72%,rgba(38,34,35,.25) 100%),var(--eo-tone-photo) right center/cover no-repeat,#262223; }
.eo77-v2 .eo-tone-band--photo::before { opacity:.05; -webkit-mask-image:linear-gradient(90deg,#000 36%,transparent 72%); mask-image:linear-gradient(90deg,#000 36%,transparent 72%); }
.eo77-v2 .eo-tone-band--photo details { background:rgba(20,16,17,.55); }
.eo77-v2 .eo-tone-band details { padding-inline:14px; }

.eo-faq-nav ol { list-style:none; margin:0; padding:0; }
.eo-faq-nav a { display:block; color:#cdbfb9; text-decoration:none; font:600 12px/1.35 "Montserrat EO",Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; transition:color .2s ease,border-color .2s ease; }
.eo-faq-nav a:hover { color:#fffaf5; }
.eo-faq-nav a.is-active { color:var(--eo-gold); }
@media (min-width:1200px) {
    .eo-faq-nav { position:absolute; z-index:5; top:0; bottom:56px; left:max(20px, calc((100% - 920px) / 2 - 300px)); width:min(212px, calc((100% - 920px) / 2 - 44px)); }
    .eo-faq-nav ol { position:sticky; top:130px; margin-top:48px; padding:22px 22px 22px 28px; border:1px solid rgba(226,205,175,.28); border-radius:10px; background:linear-gradient(135deg,rgba(255,244,224,.09),rgba(255,244,224,.02)),rgba(20,15,13,.5); -webkit-backdrop-filter:blur(16px) saturate(120%); backdrop-filter:blur(16px) saturate(120%); box-shadow:0 12px 32px #0005,inset 0 1px 0 #fff1; }
    .eo-faq-nav li + li { margin-top:14px; }
    .eo-faq-nav a { position:relative; }
    .eo-faq-nav a.is-active::before { content:""; position:absolute; left:-14px; top:1px; bottom:1px; width:2px; border-radius:2px; background:var(--eo-gold); }
}
@media (max-width:1199px) {
    .eo-faq-nav { position:sticky; z-index:5; top:var(--eo-header,76px); background:rgba(13,11,12,.94); border-bottom:1px solid rgba(226,205,175,.25); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
    .eo-faq-nav ol { display:flex; gap:22px; overflow-x:auto; padding:14px var(--eo-gutter); scrollbar-width:none; }
    .eo-faq-nav ol::-webkit-scrollbar { display:none; }
    .eo-faq-nav a { white-space:nowrap; padding-bottom:4px; border-bottom:2px solid transparent; }
    .eo-faq-nav a.is-active { border-bottom-color:var(--eo-gold); }
}
.eo77-v2 .eo-faq-layout .eo-tone-band summary { font-size:clamp(24px,2vw,30px); line-height:1.25; padding-block:4px; }
.eo77-v2 .eo-faq-layout .eo-tone-band details { padding-block:16px; }
.eo77-v2 .eo-faq-layout .eo-tone-band details > p { font-size:15px; line-height:1.7; }

/* Chapô de la FAQ, posé en tête de la première rubrique. */
.eo77-v2 .eo-faq-lead { margin:0 0 clamp(40px,5vw,64px); padding-bottom:clamp(28px,3vw,40px); border-bottom:1px solid rgba(226,205,175,.25); }

/* Page Tarifs : les listes de prix deviennent des cartes, comme « Nos tarifs »
   sur l'accueil. Le contenu reste celui de WordPress. */
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-page-band > .eo-page-section-inner { width:min(calc(100% - (2 * var(--eo-gutter))), 1200px); }
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-page-content h2 { font-size:clamp(44px,5vw,72px); margin-bottom:10px; }
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-price-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; margin:28px 0 8px; border:0; }
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-price-list p { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; min-height:200px; margin:0; padding:24px 14px; text-align:center; border:1px solid rgba(226,205,175,.32); border-radius:8px; background:linear-gradient(135deg,rgba(255,244,224,.10),rgba(255,244,224,.02)),rgba(20,15,13,.46); -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%); box-shadow:0 8px 28px #0003,inset 0 1px 0 #fff1; transition:transform .22s ease,border-color .22s ease,background-color .22s ease; }
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-price-list strong { font:600 12px/1.4 "Montserrat EO",Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#e2c7cb; }
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-price-list span { font:400 clamp(30px,2.8vw,44px)/1.05 "Smythe EO",Georgia,serif; color:var(--eo-white); white-space:nowrap; }
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-tone-band--wine .eo-price-list span,
.eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-price-list p:first-child:last-child span { color:var(--eo-gold); }
@media (hover:hover) { .eo77-v2:is(.eo77-page-tarifs,.eo77-page-prices) .eo-price-list p:hover { transform:translateY(-5px); border-color:rgba(226,205,175,.7); background-color:rgba(65,34,32,.7); } }
.eo77-v2 .eo-tarifs-booking h2 { font-size:clamp(44px,5vw,72px); }

/* Accueil, « Un lieu pour tous vos événements » : damassé sur le fond sombre. */
.eo77-v2 .elementor .e-con.eo-v2-events { position:relative; isolation:isolate; }
.eo77-v2 .eo-v2-events::before { content:""; position:absolute; inset:0; z-index:-1; background:url('../brand/damask-white-tile.png') center/240px auto repeat; opacity:.05; pointer-events:none; }

/* Encarts (« Venez découvrir le lieu », « Vous venez en groupe ? ») : panneau
   en verre dépoli à filet doré plutôt qu'un aplat rouge, titre et texte à
   gauche, bouton à droite sur grand écran. */
.eo77-v2 .eo-page-content .eo-callout { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:clamp(24px,4vw,56px); row-gap:10px; align-items:center; margin:clamp(32px,4vw,48px) 0 0; padding:clamp(24px,3vw,36px) clamp(24px,3vw,40px) clamp(24px,3vw,36px) clamp(30px,3.4vw,46px); border:1px solid rgba(226,205,175,.32); border-radius:10px; background:linear-gradient(135deg,rgba(255,244,224,.09),rgba(255,244,224,.02)),rgba(20,15,13,.55); -webkit-backdrop-filter:blur(16px) saturate(120%); backdrop-filter:blur(16px) saturate(120%); box-shadow:0 14px 34px #0005,inset 0 1px 0 #fff1; }
.eo77-v2 .eo-page-content .eo-callout::before { content:""; position:absolute; left:0; top:18px; bottom:18px; width:3px; border-radius:0 3px 3px 0; background:var(--eo-gold); }
.eo77-v2 .eo-page-content .eo-callout > * { grid-column:1; margin:0; }
.eo77-v2 .eo-page-content .eo-callout h3 { font-size:clamp(30px,2.8vw,42px); line-height:1.05; color:#fffaf5; }
.eo77-v2 .eo-page-content .eo-callout p { color:#d7cbc5; max-width:62ch; }
.eo77-v2 .eo-page-content .eo-callout p:has(> .eo-inline-cta:only-child) { grid-column:2; grid-row:1 / span 3; }
.eo77-v2 .eo-page-content .eo-callout .eo-inline-cta { margin:0; white-space:nowrap; }
/* Liens dans le texte : pastilles dorées, plus faciles à viser. */
.eo77-v2 .eo-page-content .eo-callout p a:not(.eo-inline-cta) { display:inline-block; margin:6px 4px 0 0; padding:5px 13px; border:1px solid rgba(194,163,113,.55); border-radius:999px; color:#f0d8b0; font-size:.9em; text-decoration:none; transition:background-color .2s ease,color .2s ease; }
.eo77-v2 .eo-page-content .eo-callout p a:not(.eo-inline-cta):hover { background:var(--eo-gold); color:#140f11; }
@media (max-width:767px) {
    .eo77-v2 .eo-page-content .eo-callout { grid-template-columns:1fr; }
    .eo77-v2 .eo-page-content .eo-callout p:has(> .eo-inline-cta:only-child) { grid-column:1; grid-row:auto; margin-top:8px; }
}
