/* Police manuscrite Juliette : réservée aux titres des événements du Programme. */
@font-face{font-family:'Juliette';src:url('_assets/fonts/BP-Juliette-Regular.ttf') format('truetype');font-weight:normal;font-style:normal;font-display:swap}
html{scroll-behavior:smooth}body{padding-top:62px!important}.ph-nav{position:fixed;z-index:2147483000;inset:0 0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,64px);height:62px;background:linear-gradient(110deg,#916023 0%,#c99c4b 18%,#f4dc98 39%,#d5ab5d 57%,#f5dfa4 74%,#a8762e 100%);border-top:1px solid #fff0be;border-bottom:1px solid #8c5d23;box-shadow:0 2px 14px #44260e30,inset 0 1px 0 #fff8d780}.ph-nav button{font:14px var(--ph-font,inherit);letter-spacing:.12em;background:none;border:0;color:#38220c;padding:14px 5px;cursor:pointer}.ph-nav button[aria-selected=true]{color:#271808;border-bottom:0;text-shadow:0 1px 0 #fff4c9}.ph-hidden{display:none!important}.ph-petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2147482000}.ph-petal{position:absolute;top:-10vh;width:16px;height:23px;background:radial-gradient(ellipse at 30% 25%,#fff0f096,#efbdcc45 70%,#f5bfd51a);border-radius:80% 10% 80% 25%;animation:ph-fall var(--duration) linear infinite;animation-delay:var(--delay);left:var(--left);filter:blur(.3px)}@keyframes ph-fall{0%{transform:translate3d(0,-10vh,0) rotate(0deg);opacity:0}10%{opacity:.5}85%{opacity:.4}100%{transform:translate3d(var(--drift),115vh,0) rotate(300deg);opacity:0}}@media(prefers-reduced-motion:reduce){.ph-petals{display:none}html{scroll-behavior:auto}}

.ph-nav button:hover{color:#120b04;background:#fff8df24}.ph-nav button:focus-visible{outline:2px solid #54310b;outline-offset:3px}

.ph-nav button{border-bottom:0!important}.ph-nav button[aria-selected=true]{font-weight:bold}.ph-hero-rsvp{width:100%;box-sizing:border-box;text-align:center;background:#35121e;padding:20px 16px 24px}.ph-hero-rsvp a{display:inline-block;color:#efd39b;font:16px var(--ph-font,inherit);letter-spacing:.06em;text-decoration:none;padding:11px 24px;border:1px solid #d8b67470;border-radius:30px;background:linear-gradient(120deg,#e5bf6a12,#fff0c01c,#c99c4b08);box-shadow:inset 0 1px 0 #fff0c018}.ph-hero-rsvp a:hover{background:#d8b67424}.ph-hero-rsvp a:focus-visible{outline:2px solid #efd39b;outline-offset:4px}
/* Navigation intégrée à la photographie : seuls les intitulés sont dorés. */
body{padding-top:0!important}.ph-nav{background:rgba(24,10,14,.9);border:0;box-shadow:0 2px 10px rgba(24,10,14,.35);backdrop-filter:blur(4px);height:70px}.ph-nav button,.ph-nav button[aria-selected=true]{color:#efd18c;background:linear-gradient(110deg,#c59949,#fff0bd 44%,#d5ab59 72%,#f4dda2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;font-weight:normal;border:0;opacity:.9}.ph-nav button[aria-selected=true]{opacity:1;filter:drop-shadow(0 1px 4px #24120e)}.ph-nav button:hover{background:linear-gradient(110deg,#e5bc6a,#fff1c5,#e8c77f);background-clip:text;-webkit-background-clip:text;opacity:1}.ph-nav button:focus-visible{outline:1px solid #e8c77f;outline-offset:4px;border-radius:3px}

@media(max-width:480px){.ph-nav{gap:20px}.ph-nav button{font-size:14px;letter-spacing:.035em;padding:14px 0}}

.ph-confirm-link{color:inherit;font:inherit;text-decoration:none;cursor:pointer;pointer-events:auto!important}.ph-confirm-link:hover{opacity:.8}

#PB5sPqFg1pmvYtBz{position:relative}.ph-hero-rsvp{position:absolute;bottom:1%;left:0;right:0;z-index:10;width:100%;background:transparent;padding:0;text-align:center}.ph-hero-rsvp a,.ph-hero-rsvp a:hover{display:inline-block;font:clamp(14px,1.5vw,19px) var(--ph-font,inherit);letter-spacing:.045em;color:#f0d296;background:linear-gradient(110deg,#d4ac58,#fff0bc,#dfbb70);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;border:0;border-radius:0;box-shadow:none;padding:10px 20px;text-decoration:none;filter:drop-shadow(0 1px 3px #21120e80)}

.ph-nav .ph-nav-link{font:14px var(--ph-font,inherit);letter-spacing:.12em;padding:14px 5px;text-decoration:none;cursor:pointer;color:#efd18c;background:linear-gradient(110deg,#c59949,#fff0bd 44%,#d5ab59 72%,#f4dda2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:.9}.ph-nav .ph-nav-link:hover{opacity:1}.ph-nav .ph-nav-link:focus-visible{outline:1px solid #e8c77f;outline-offset:4px;border-radius:3px}@media(max-width:480px){.ph-nav .ph-nav-link{letter-spacing:.035em;padding:14px 0}}
.ph-confirm-host{z-index:60}.ph-confirm-host .ph-confirm-link{position:absolute;inset:0;z-index:60;display:block}

/* Fonds unis : une seule couleur bordeaux derrière les sections Programme et Hôtels, sans masquer aucune photo ni aucun élément. */
body.ph-page-programme #PBstZ3vP30q99X8b,body.ph-page-hotels #PBM39k3jZqlpkw6x{position:relative!important;background-color:#570319!important}
body.ph-page-programme .ph-prog-hide{display:none!important}
/* Menu fin, collé en haut : la vidéo d'introduction commence sous le menu. */
.ph-nav{height:44px;background:#5f2733;border-bottom:1px solid #8a4b58;box-shadow:0 2px 10px rgba(42,11,18,.32);backdrop-filter:none}body{padding-top:44px!important}
.ph-nav button,.ph-nav .ph-nav-link{padding-top:8px;padding-bottom:8px}
.ph-confirm-host .ph-confirm-link{inset:-10px -6px}
body.ph-page-programme,body.ph-page-hotels{background:#570319}
.ph-contact-prompt-hide{visibility:hidden!important}
.ph-grace-host{z-index:61}
.ph-grace-whatsapp{position:absolute;inset:-8px;z-index:62;display:block;background:transparent!important;border:0!important;box-shadow:none!important;text-decoration:none;cursor:pointer}
.ph-grace-whatsapp:focus-visible{outline:1px solid #efd18c;outline-offset:3px}

/* Vues dédiées Programme et Hôtels : elles restent séparées des calques Canva de l'Accueil. */
.ph-custom-view{position:fixed;z-index:2147482500;inset:44px 0 0;min-height:calc(100vh - 44px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;background:#570319;color:#f8ece7;padding:clamp(46px,8vh,92px) 0 clamp(34px,6vh,72px);font-family:var(--ph-font,inherit)}
.ph-custom-view::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,215,222,.08),transparent 34%,rgba(53,10,25,.22));z-index:-1}
.ph-view-head{width:min(1180px,calc(100% - 40px));margin:0 auto clamp(28px,5vh,52px);text-align:center}
.ph-view-head p{margin:0 0 13px;color:#e8c787;font-size:clamp(12px,1.2vw,15px);letter-spacing:.12em;text-transform:uppercase}
.ph-view-head h1{margin:0;color:#f3d798;font:normal clamp(38px,6vw,74px)/1.05 var(--ph-font,inherit);letter-spacing:0}
.ph-view-head span{display:block;margin-top:12px;color:#f5dfe2;font-size:clamp(14px,1.5vw,18px);letter-spacing:.04em}
.ph-carousel-wrap{position:relative;width:min(1220px,100%);margin:0 auto}
.ph-carousel{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px max(28px,calc((100% - 920px)/2)) 24px}
.ph-carousel::-webkit-scrollbar{display:none}
.ph-card{position:relative;flex:0 0 min(78vw,430px);height:min(54vh,500px);min-height:390px;box-sizing:border-box;scroll-snap-align:center;border:1px solid rgba(232,199,135,.45);border-radius:4px;overflow:hidden;background:#6b172d;box-shadow:0 18px 46px rgba(41,5,16,.3)}
.ph-programme-card{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px 30px;border:0;background:transparent;box-shadow:none;height:min(62vh,580px);min-height:430px}
.ph-programme-card::after{content:none}
.ph-prog-icon{width:clamp(78px,8.5vw,110px);height:auto;margin-bottom:clamp(8px,1.2vh,14px);filter:drop-shadow(0 2px 10px rgba(35,5,14,.4))}
.ph-programme-card time{color:#f3d798;font-size:clamp(18px,2vw,24px);line-height:1;letter-spacing:.14em}
.ph-kind{margin:clamp(42px,5vh,58px) 0 10px;color:#fff7f0;font:normal clamp(30px,3.6vw,46px)/1.15 'Juliette',cursive;letter-spacing:.02em}
.ph-programme-card h2{color:#e8c787;font-size:clamp(16px,1.8vw,21px);letter-spacing:.06em}
.ph-programme-card .ph-address{margin:12px auto 16px}
.ph-card h2{margin:0;color:#fff7f2;font:normal clamp(25px,3.2vw,38px)/1.15 var(--ph-font,inherit);letter-spacing:0}
.ph-address{max-width:310px;margin:18px auto 25px;color:#f4dfe1;font-size:14px;line-height:1.55;letter-spacing:0}
.ph-map-link{display:inline-flex;align-items:center;gap:8px;color:#f3d798;font:14px var(--ph-font,inherit);letter-spacing:.03em;text-decoration:none;border-bottom:1px solid rgba(243,215,152,.62);padding:7px 0}
.ph-map-link:hover{color:#fff0bd}.ph-map-link:focus-visible,.ph-arrow:focus-visible{outline:2px solid #f3d798;outline-offset:4px}
.ph-hotel-card{height:min(60vh,540px);min-height:430px;background:#40101d}
.ph-hotel-card img{display:block;width:100%;height:100%;object-fit:cover}
.ph-hotel-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,2,8,.25) 0%,transparent 30%,rgba(26,3,10,.55) 62%,rgba(20,2,8,.96) 100%);pointer-events:none}
.ph-hotel-copy{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:34px 30px 30px}
.ph-distance{display:block;margin-bottom:9px;color:#efc8d0;font-size:14px;letter-spacing:.06em}
.ph-hotel-copy h2{margin-bottom:18px;text-shadow:0 2px 12px rgba(35,5,14,.45)}
.ph-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(243,215,152,.6);border-radius:50%;background:#570319;color:#f3d798;font:32px/1 Georgia,serif;cursor:pointer;box-shadow:0 8px 24px rgba(35,5,14,.28)}
.ph-prev{left:12px}.ph-next{right:12px}.ph-arrow:hover{background:#7a2038}
.ph-swipe{margin:4px 0 0;text-align:center;color:rgba(248,236,231,.68);font-size:12px;letter-spacing:.08em}
@media(max-width:600px){.ph-custom-view{padding-top:38px}.ph-view-head{width:calc(100% - 32px);margin-bottom:22px}.ph-carousel{gap:14px;padding-inline:34px}.ph-card{flex-basis:calc(100vw - 68px);height:520px;min-height:0}.ph-programme-card{height:540px;padding:34px 26px}.ph-hotel-card{height:520px}.ph-arrow{display:none}.ph-hotel-copy{padding:28px 24px}.ph-swipe{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ph-carousel{scroll-behavior:auto}}
.ph-music-toggle{position:fixed;z-index:2147482400;left:16px;bottom:18px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(243,215,152,.65);border-radius:50%;background:#5f2733;color:#f3d798;font:22px/1 Georgia,serif;cursor:pointer;box-shadow:0 8px 24px rgba(35,5,14,.35)}
.ph-music-toggle:hover{background:#7a2038}
.ph-music-toggle:focus-visible{outline:2px solid #f3d798;outline-offset:3px}
.ph-music-toggle.ph-music-on{animation:ph-music-pulse 2.4s ease-in-out infinite}
@keyframes ph-music-pulse{0%,100%{box-shadow:0 8px 24px rgba(35,5,14,.35)}50%{box-shadow:0 8px 24px rgba(35,5,14,.35),0 0 0 7px rgba(243,215,152,.22)}}
@media(max-width:600px){.ph-music-toggle{left:12px;bottom:14px}}

/* Fond satin + pétales (Programme, Hôtels) */
.ph-custom-view{background:#1a030a;isolation:isolate}
.ph-custom-view::before{content:none}
.ph-satin{position:fixed;inset:44px 0 0;z-index:-2;background:#1a030a url(/__l5e/assets-v1/241d75b3-2c2d-44a7-abe4-9c1976432080/satin-bordeaux.jpg) center/cover no-repeat;pointer-events:none}
.ph-satin::after{content:"";position:absolute;inset:0;background:rgba(12,1,5,.55)}
.ph-petals{position:fixed;inset:62px 0 0;z-index:2147482500;overflow:hidden;pointer-events:none}
.ph-petals i{position:absolute;top:-30px;left:var(--left);width:var(--w,13px);height:var(--h,17px);border-radius:70% 0 70% 0;background:linear-gradient(135deg,rgba(246,207,214,.55),rgba(217,139,155,.35));opacity:var(--o,.7);filter:blur(.4px);animation:ph-fall var(--duration) linear infinite;animation-delay:var(--delay)}
.ph-petals i:nth-child(3n){width:9px;height:12px;background:linear-gradient(135deg,rgba(251,225,229,.5),rgba(231,166,179,.3))}
@keyframes ph-petal-fall{0%{transform:translate(0,-5vh) rotate(0)}50%{transform:translate(40px,50vh) rotate(200deg)}100%{transform:translate(-20px,105vh) rotate(400deg)}}
@media(prefers-reduced-motion:reduce){.ph-petals{display:none}}
/* Programme vertical, heure en haut */
#ph-programme-view .ph-carousel{flex-direction:column;align-items:center;overflow:visible;scroll-snap-type:none;gap:0;padding:0 20px}
#ph-programme-view .ph-arrow,#ph-programme-view .ph-swipe{display:none}
#ph-programme-view .ph-programme-card{flex:none;width:min(520px,100%);height:auto;min-height:0;padding:34px 10px 38px}
#ph-programme-view .ph-programme-card+.ph-programme-card{border-top:1px solid rgba(232,199,135,.35)}
#ph-programme-view .ph-programme-card time{font-size:clamp(22px,2.4vw,28px);margin-bottom:16px}
#ph-programme-view .ph-kind{margin:14px 0 8px}
