@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600&family=Jost:wght@300;400;500;600&family=Pinyon+Script&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Great+Vibes&family=Playfair+Display:wght@500;600;700;800&family=Manrope:wght@300;400;500;600;700&family=Cinzel:wght@500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600&display=swap");
:root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
    --paper:#fffaf2;
    --paper-2:#f6eadb;
    --gold:#b88a53;
    --brown:#4a382d;
    --soft:#efe0cc;
    --shadow:rgba(62,39,20,.22);

    /* Hauteur réservée au mini footer */
    --footer-h:54px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) *{
    box-sizing:border-box;
}

html:where(:not([data-web-template="18"])){
    width:100%;
    height:100%;
    min-height:100%;
    scroll-behavior:smooth;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) body{
    width:100%;
    height:100%;
    min-height:100%;
    margin:0;
    font-family:var(--font-body, "Inter", sans-serif);
    color:var(--invite-body, var(--brown));
    background:
        radial-gradient(circle at top, rgba(255,255,255,.95), transparent 38%),
        linear-gradient(135deg,#ead7bf 0%,#f8efe4 48%,#d8bea0 100%);
    overflow:hidden;
}

/* =========================================================
   INTRO ENVELOPPE
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-intro{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:
        radial-gradient(circle at top, rgba(255,255,255,.85), transparent 35%),
        linear-gradient(135deg, #dcc2a2, #fff7ed, #c9a47e);
    transition:opacity 1s ease, visibility 1s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-intro.opened{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-scene{
    text-align:center;
    perspective:1200px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope{
    width:min(520px, 88vw);
    height:330px;
    position:relative;
    margin:auto;
    transform-style:preserve-3d;
    animation:
        envelopeArrival 1.1s ease-out forwards,
        envelopeRotate 2.5s ease-in-out 1.1s forwards;
}

@keyframes envelopeArrival{
    from{
        opacity:0;
        transform:translateY(80px) scale(.88) rotateX(18deg);
        filter:blur(8px);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1) rotateX(0);
        filter:blur(0);
    }
}

@keyframes envelopeRotate{
    0%{ transform:translateY(0) rotateY(0deg) rotateX(0deg); }
    25%{ transform:translateY(-8px) rotateY(-10deg) rotateX(4deg); }
    50%{ transform:translateY(-5px) rotateY(10deg) rotateX(-3deg); }
    75%{ transform:translateY(-3px) rotateY(-5deg) rotateX(2deg); }
    100%{ transform:translateY(0) rotateY(0deg) rotateX(0deg); }
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-back{
    position:absolute;
    inset:0;
    background:#f7ead8;
    border:1px solid rgba(120,76,38,.28);
    box-shadow:0 35px 90px rgba(61,39,20,.28);
    z-index:1;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-left,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-right,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-bottom,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-flap{
    position:absolute;
    inset:0;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-left{
    clip-path:polygon(0 0, 50% 50%, 0 100%);
    background:#ead5bc;
    z-index:5;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-right{
    clip-path:polygon(100% 0, 50% 50%, 100% 100%);
    background:#e3c7a8;
    z-index:5;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-bottom{
    clip-path:polygon(0 100%, 50% 50%, 100% 100%);
    background:#d8b894;
    z-index:6;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-flap{
    clip-path:polygon(0 0, 50% 58%, 100% 0);
    background:#f4e2ca;
    z-index:8;
    transform-origin:top center;
    transition:transform 1.1s cubic-bezier(.2,.8,.2,1), z-index .2s ease;
    box-shadow:inset 0 -1px 0 rgba(120,76,38,.18);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope-seal{
    position:absolute;
    width:72px;
    height:72px;
    left:50%;
    top:48%;
    transform:translate(-50%,-50%) scale(0);
    border-radius:50%;
    background:var(--invite-head, var(--gold));
    box-shadow:0 10px 30px rgba(0,0,0,.2);
    z-index:20;
    animation:
        sealAppear .6s ease 2.8s forwards,
        sealPulse 2s ease-in-out 3.4s infinite;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview{
    position:absolute;
    left:50%;
    bottom:28px;
    width:min(360px, 72vw);
    min-height:230px;
    padding:40px 24px;
    text-align:center;
    background:var(--paper);
    box-shadow:0 24px 60px rgba(61,39,20,.23);
    transform:translateX(-50%) translateY(35px) scale(.92);
    opacity:.96;
    z-index:3;
    transition:
        transform 1.4s cubic-bezier(.19,1,.22,1),
        opacity 1s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1px solid rgba(184,138,83,.25);
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-monogram{
    width:68px;
    height:68px;
    margin:0 auto 18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--invite-head, var(--gold));
    color:#fff;
    font-family:var(--font-head, "Cormorant Garamond", serif);
    font-size:38px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview h2{
    margin:0;
    font-family:var(--font-head, "Cormorant Garamond", serif);
    color:var(--invite-head, var(--gold));
    font-size:42px;
    font-weight:600;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview p{
    margin:12px 0 0;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:11px;
    font-weight:800;
    color:#5b4638;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .open-envelope-btn{
    margin-top:42px;
    min-width:230px;
    height:54px;
    border:1px solid var(--invite-head, var(--gold));
    background:var(--invite-head, var(--gold));
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 18px 45px rgba(61,39,20,.24);
    transition:transform .3s ease, box-shadow .3s ease, opacity .35s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .open-envelope-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 60px rgba(61,39,20,.3);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open{
    animation:
        envelopeOpenHold 1.7s ease forwards,
        envelopeExit 1s ease forwards 2.4s;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open .envelope-flap{
    transform:rotateX(182deg);
    z-index:2;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open .envelope-bottom{
    z-index:12;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open .envelope-left,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open .envelope-right{
    z-index:11;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open .letter-preview{
    transform:translateX(-50%) translateY(-220px) scale(1.05);
    z-index:30;
    opacity:1;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open .envelope-seal{
    animation:none;
    transform:translate(-50%,-50%) scale(0);
    opacity:0;
    transition:all .5s ease;
}

@keyframes envelopeOpenHold{
    from{ transform:translateY(0) scale(1); }
    to{ transform:translateY(20px) scale(.98); }
}

@keyframes envelopeExit{
    to{
        opacity:0;
        transform:translateY(80px) scale(.92);
        filter:blur(8px);
    }
}

@keyframes sealAppear{
    from{
        opacity:0;
        transform:translate(-50%,-50%) scale(0);
    }
    to{
        opacity:1;
        transform:translate(-50%,-50%) scale(1);
    }
}

@keyframes sealPulse{
    0%,100%{ box-shadow:0 10px 30px rgba(0,0,0,.2); }
    50%{ box-shadow:0 15px 45px rgba(184,138,83,.5); }
}

/* =========================================================
   LOADER OPTIONNEL
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-loader{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#e6d1b6,#fff7ec,#d2b08c);
    transition:opacity .9s ease,visibility .9s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-loader.hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .loader-card{
    width:min(340px,88vw);
    min-height:210px;
    padding:38px 28px;
    text-align:center;
    border-radius:12px;
    position:relative;
    background:var(--paper);
    box-shadow:0 35px 90px rgba(52,31,16,.25);
    animation:cardFloat 2.2s ease-in-out infinite;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .loader-card::before{
    content:"";
    position:absolute;
    inset:12px;
    border:1px solid rgba(184,138,83,.35);
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .loader-monogram{
    width:74px;
    height:74px;
    margin:0 auto 20px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-family:var(--font-head, "Cormorant Garamond", serif);
    font-size:42px;
    color:#fff;
    background:var(--invite-head, var(--gold));
    box-shadow:0 12px 30px rgba(184,138,83,.35);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .loader-title{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.18em;
    color:var(--brown);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .loader-bar{
    height:4px;
    width:72%;
    margin:24px auto 0;
    background:rgba(74,56,45,.12);
    overflow:hidden;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .loader-bar span{
    display:block;
    width:45%;
    height:100%;
    background:var(--invite-head, var(--gold));
    animation:loadingMove 1.35s ease-in-out infinite;
}

@keyframes loadingMove{
    from{transform:translateX(-120%)}
    to{transform:translateX(260%)}
}

@keyframes cardFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
}

/* =========================================================
   PAGE — VERSION SAVE THE DATE EN UNE SEULE VUE
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-page{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    min-height:100vh;
    min-height:100svh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    opacity:0;
    transform:translateY(24px);
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-page.show-invite{
    pointer-events:auto;
    animation:inviteReveal 1.1s ease forwards;
}

@keyframes inviteReveal{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =========================================================
   HERO SAVE THE DATE — TEXTES REDUITS
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
    position:relative;
    width:100%;
    height:calc(100svh - var(--footer-h));
    min-height:calc(100svh - var(--footer-h));
    padding:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex:1 1 auto;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    filter:blur(1px);
    transform:scale(1.04);
    z-index:1;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(255, 248, 238, .72);
    z-index:2;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
    position:relative;
    z-index:3;
    width:min(96vw, 800px);
    max-height:calc(100svh - var(--footer-h) - 20px);
    padding:14px 24px;
    text-align:center;
    overflow-y:auto;
    background:linear-gradient(
        180deg,
        rgba(255,252,246,.96),
        rgba(251,241,228,.94)
    );
    border-radius:18px;
    box-shadow:
        0 20px 60px rgba(45,28,14,.18),
        inset 0 0 0 1px rgba(184,138,83,.25);
    transition: all 0.3s ease;
}

/* =========================================================
   AJUSTEMENT LARGEUR DESKTOP
========================================================= */

@media  (min-width: 1024px){

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width:min(94vw, 580px);
        max-width:580px;
    }

}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
    content:"";
    position:absolute;
    inset:9px;
    border:1px solid rgba(184,138,83,.30);
    border-radius:13px;
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::after{
    display:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
    margin:2px auto;
    font-family:var(--font-head,"Cormorant Garamond",serif);
    line-height:.9;
    font-weight:600;
    color:var(--invite-head,var(--gold));
}

/* Noms principaux */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
    font-size:clamp(30px, 2vw, 38px);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
    font-size:clamp(30px, 2vw, 38px);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial{
    margin:4px auto 2px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(26px, 2vw, 38px);
    line-height:.77;
    margin:0 auto;
}

/* Titre Save the Date */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
    margin-bottom:4px;
    font-size:clamp(25px, 2vw, 35px);
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
    margin:3px 0;
    font-family:var(--font-head,"Cormorant Garamond",serif);
    font-size:clamp(25px, 1.5vw, 21px);
    line-height:1.2;
    color:var(--brown);
}

/* Message long d'introduction */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
    max-width:520px;
    margin:4px auto 6px;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:25px;
    line-height:1;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
    width:100%;
    margin:6px auto;
    padding:6px 10px;
    border-top:1px solid rgba(184,138,83,.34);
    border-bottom:1px solid rgba(184,138,83,.34);
    display:flex;
    flex-direction:column;
    gap:1px;
    letter-spacing:.03em;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date .guest-name{
    margin:0;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
    font-size:clamp(20px, 1.8vw, 26px);
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
    margin:6px 0 0;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 16px 28px;
    border-radius: 999px;
    border: 1px solid rgba(201, 164, 92, 0.45);
    background: rgba(255, 255, 255, 0.18);
    transition: all 0.25s ease;
    user-select: none;
    font-size: 15px;
    font-weight: 600;
    min-width: 180px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option input[type="radio"]{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    margin: 0;
    z-index: 2;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option span{
    position: relative;
    z-index: 1;
    pointer-events: none;
    font-size: inherit;
    white-space: nowrap;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option.active,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option:has(input[type="radio"]:checked){
    background: rgba(201, 164, 92, 0.22);
    border-color: #c9a45c;
    box-shadow: 0 0 18px rgba(201, 164, 92, 0.35);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .main-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    min-height:42px;
    border-radius:0;
    border:1px solid var(--invite-head,var(--gold));
    background:transparent;
    color:var(--invite-head,var(--gold));
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:10px;
    font-weight:800;
    text-decoration:none;
    transition:all .35s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .main-cta:hover{
    background:var(--invite-head,var(--gold));
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 18px 42px rgba(74,56,45,.25);
}


/* =========================================================
   SECTIONS OPTIONNELLES POUR AUTRES VERSIONS
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invitation-card-section{
    padding:90px 18px 34px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invitation-card{
    width:min(560px,92vw);
    margin:auto;
    position:relative;
    padding:72px 42px;
    text-align:center;
    background:var(--paper);
    border-radius:3px;
    box-shadow:0 34px 90px var(--shadow);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invitation-card::before{
    content:"";
    position:absolute;
    inset:18px;
    border:1px solid rgba(184,138,83,.42);
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .ornament{
    font-size:26px;
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .small-title{
    margin:28px 0 16px;
    font-size:11px;
    letter-spacing:.25em;
    text-transform:uppercase;
    font-weight:800;
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invitation-card h2,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-card h2,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .location-note h2{
    margin:0 0 34px;
    font-family:var(--font-head,"Cormorant Garamond",serif);
    font-size:clamp(42px,7vw,72px);
    line-height:.96;
    font-weight:600;
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .couple-photos{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin:34px 0;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .person-photo{
    width:145px;
    height:145px;
    border-radius:50%;
    padding:7px;
    background:#fff;
    box-shadow:0 18px 38px rgba(72,47,25,.18);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .person-photo img{
    width:100%;
    height:100%;
    border-radius:inherit;
    object-fit:cover;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .ampersand{
    font-family:var(--font-head,"Cormorant Garamond",serif);
    font-size:54px;
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .event-message{
    max-width:430px;
    margin:0 auto;
    font-size:15px;
    line-height:1.9;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-grid{
    width:min(980px,94vw);
    margin:56px auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-box{
    min-height:260px;
    padding:34px 26px;
    text-align:center;
    background:rgba(255,250,242,.92);
    border:1px solid rgba(184,138,83,.26);
    box-shadow:0 22px 60px rgba(62,39,20,.13);
    position:relative;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-box::before{
    content:"";
    position:absolute;
    inset:11px;
    border:1px solid rgba(184,138,83,.17);
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-box .icon{
    font-size:30px;
    margin-bottom:18px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-box h3{
    margin:0 0 18px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-family:var(--font-body,"Inter",sans-serif);
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-box p{
    margin:8px 0;
    line-height:1.65;
    font-size:14px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .calendar-links{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .calendar-links a{
    padding:8px 12px;
    border:1px solid rgba(184,138,83,.34);
    text-decoration:none;
    color:var(--invite-head,var(--gold));
    font-size:12px;
    transition:.25s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .calendar-links a:hover{
    background:var(--invite-head,var(--gold));
    color:#fff;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .map-link{
    display:inline-flex;
    margin-top:18px;
    padding:11px 18px;
    border:1px solid var(--invite-head,var(--gold));
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:11px;
    font-weight:800;
    color:var(--invite-head,var(--gold));
    transition:.3s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .map-link:hover{
    background:var(--invite-head,var(--gold));
    color:#fff;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .location-note{
    width:min(720px,92vw);
    margin:58px auto;
    padding:56px 42px;
    text-align:center;
    background:rgba(255,250,242,.9);
    border:1px solid rgba(184,138,83,.24);
    box-shadow:0 26px 70px rgba(62,39,20,.12);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .location-note p{
    line-height:1.85;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-section{
    padding:76px 18px 90px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-card{
    width:min(620px,92vw);
    margin:auto;
    padding:62px 42px;
    text-align:center;
    background:var(--paper);
    border:1px solid rgba(184,138,83,.28);
    box-shadow:0 34px 90px rgba(62,39,20,.18);
    position:relative;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-card::before{
    content:"";
    position:absolute;
    inset:16px;
    border:1px solid rgba(184,138,83,.22);
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-kicker{
    display:block;
    margin-bottom:18px;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.25em;
    font-weight:800;
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-card p{
    max-width:430px;
    margin:0 auto 28px;
    line-height:1.8;
    font-size:15px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .form-group{
    text-align:left;
    margin:24px 0;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .form-group label{
    display:block;
    margin-bottom:8px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:800;
    color:var(--invite-head,var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) textarea{
    width:100%;
    min-height:120px;
    padding:16px;
    border:1px solid rgba(184,138,83,.32);
    background:#fffaf2;
    outline:none;
    resize:vertical;
    font-family:inherit;
    color:var(--brown);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) textarea:focus{
    border-color:var(--invite-head,var(--gold));
    box-shadow:0 0 0 3px rgba(184,138,83,.12);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .submit-rsvp{
    min-width:230px;
    min-height:52px;
    border:1px solid var(--invite-head,var(--gold));
    background:var(--invite-head,var(--gold));
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    transition:.3s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .submit-rsvp:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 42px rgba(74,56,45,.25);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .submit-rsvp:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-response{
    margin-top:18px;
    font-weight:800;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-response.success{
    color:#168344;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-response.error{
    color:#b82626;
}

/* =========================================================
   FOOTER COMPACT — INCLUS DANS LA HAUTEUR DE L'ECRAN
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand{
    flex:0 0 var(--footer-h);
    height:var(--footer-h);
    min-height:var(--footer-h);
    padding:5px 15px;
    text-align:center;
    font-size:11px;
    color:rgba(74,56,45,.72);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:rgba(255,250,242,.72);
    border-top:1px solid rgba(184,138,83,.16);
    backdrop-filter:blur(10px);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand p{
    margin:0 0 1px;
    line-height:1.15;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand a{
    color:var(--invite-head,var(--gold));
    text-decoration:none;
    font-size:11px;
    font-weight:900;
}

/* =========================================================
   ANIMATIONS AU SCROLL
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .reveal{
    opacity:0;
    transform:translateY(45px) scale(.98);
    filter:blur(6px);
    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2,.8,.2,1),
        filter .9s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .reveal.visible{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:900px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-grid{
        grid-template-columns:1fr;
        width:min(560px,92vw);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .info-box{
        min-height:auto;
    }
}

@media (max-width:620px){
    :root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
        --footer-h:48px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
        height:calc(100svh - var(--footer-h));
        min-height:calc(100svh - var(--footer-h));
        padding:8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width: 94vw;
        max-height: calc(100svh - var(--footer-h) - 10px);
        padding: 16px 18px;
        border-radius: 20px;
        overflow-y: auto;
        margin: 0 auto;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
        inset:7px;
        border-radius:15px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        margin-bottom:3px;
        font-size:clamp(16px, 4.8vw, 23px);
        letter-spacing:.06em;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        margin:1px 0;
        font-size:clamp(22px, 6.8vw, 28px);
        line-height:.70;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size:clamp(20px, 6.2vw, 30px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(32px, 9vw, 48px);
    line-height:.85;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        margin:2px 0;
        font-size:clamp(11px, 3.3vw, 14px);
        line-height:1;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        max-width:92%;
        margin:3px auto 5px;
        font-size:10.8px;
        line-height:1;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        margin:5px auto;
        padding:5px 8px;
        gap:0;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:clamp(13px, 4vw, 17px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        margin-top:5px;
        gap:5px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height: 44px;
        padding: 10px 18px;
        font-size: 13px;
        letter-spacing:.03em;
        min-width: 160px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .sound-btn{
        top:14px;
        right:14px;
        width:42px;
        height:42px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview{
        width:min(320px, 76vw);
        min-height:210px;
        padding:34px 18px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview h2{
        font-size:34px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .envelope.open .letter-preview{
        transform:translateX(-50%) translateY(-120px) scale(1.02);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invitation-card,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-card,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .location-note{
        padding:52px 24px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .couple-photos{
        gap:10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .person-photo{
        width:112px;
        height:112px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .ampersand{
        font-size:42px;
    }
}

@media (max-width:420px){
    :root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
        --footer-h:44px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
        padding:6px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width: 98vw;
        max-height: calc(100svh - var(--footer-h) - 8px);
        padding: 18px 14px;
        border-radius: 18px;
        margin: 0 auto;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
        inset:6px;
        border-radius:13px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        font-size:15px;
        margin-bottom:3px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(20px, 6.4vw, 29px);
        line-height:.86;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size:11px;
        line-height:1.12;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(28px, 8vw, 40px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        font-size:10px;
        line-height:1.22;
        margin:2px auto 4px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        margin:4px auto;
        padding:4px 7px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:14px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap:4px;
        margin-top:4px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height: 42px;
        padding: 8px 16px;
        font-size: 12px;
        min-width: 145px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand{
        font-size:10px;
        padding:3px 10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand a{
        font-size:10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invitation-card h2,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-card h2,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .location-note h2{
        font-size:42px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .person-photo{
        width:96px;
        height:96px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .open-envelope-btn{
        min-width:210px;
        font-size:11px;
    }
}

@media (max-width: 380px){
    :root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
        --footer-h:40px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
        padding: 4px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width: 99vw;
        max-height: calc(100svh - var(--footer-h) - 6px);
        padding: 20px 12px;
        border-radius: 16px;
        margin: 0 auto;
        gap: 8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
        inset: 6px;
        border-radius: 12px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::after{
        display: none;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        font-size: 14px;
        margin-bottom: 4px;
        letter-spacing: .10em;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size: clamp(28px, 9vw, 42px);
        line-height: .82;
        margin: 2px 0;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size: clamp(26px, 8.5vw, 40px);
        line-height: .82;
        margin: 2px 0;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size: 11px;
        line-height: 1.2;
        margin: 2px 0;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(24px, 7vw, 34px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        font-size: 10px;
        line-height: 1.25;
        margin: 4px auto;
        max-width: 98%;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        margin: 6px auto;
        padding: 6px 8px;
        width: 96%;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size: 14px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date .guest-name{
        font-size: 10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap: 6px;
        margin-top: 8px;
        width: 100%;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height: 38px;
        padding: 8px 14px;
        font-size: 11px;
        min-width: 135px;
        flex: 1;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option span{
        white-space: normal;
        text-align: center;
        line-height: 1.3;
        font-size: 11px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .main-cta{
        min-width: 180px;
        min-height: 38px;
        font-size: 10px;
        letter-spacing: .12em;
        margin-top: 8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .sound-btn{
        top:10px;
        right:10px;
        width:36px;
        height:36px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand{
        font-size:9px;
        padding:2px 8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand a{
        font-size:9px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invitation-card h2,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-card h2,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .location-note h2{
        font-size:36px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .person-photo{
        width:80px;
        height:80px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .open-envelope-btn{
        min-width:180px;
        height:46px;
        font-size:10px;
        margin-top:30px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview{
        width:min(280px, 80vw);
        min-height:180px;
        padding:28px 14px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-preview h2{
        font-size:28px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .letter-monogram{
        width:52px;
        height:52px;
        font-size:30px;
    }

    /* Personnalisation du scrollbar */
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::-webkit-scrollbar{
        width: 3px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::-webkit-scrollbar-track{
        background: rgba(184,138,83,.1);
        border-radius: 10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::-webkit-scrollbar-thumb{
        background: rgba(184,138,83,.4);
        border-radius: 10px;
    }
}

@media (max-width: 340px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width: 100vw;
        max-height: calc(100svh - var(--footer-h) - 4px);
        padding: 16px 10px;
        border-radius: 14px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size: clamp(26px, 8vw, 36px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size: clamp(24px, 7.5vw, 34px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size: 10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        padding: 6px 10px;
        font-size: 10px;
        min-width: 120px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option span{
        font-size: 10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .main-cta{
        min-width: 160px;
        min-height: 35px;
        font-size: 9px;
    }
}

@media (max-height:720px) and (min-width:768px){
    :root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
        --footer-h:44px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        padding:9px 14px;
        max-height:calc(100svh - var(--footer-h) - 12px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
        inset:6px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        margin-bottom:3px;
        font-size:clamp(15px, 3vw, 22px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(20px, 4vw, 32px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        margin:2px 0;
        font-size:clamp(10.5px, 2vw, 13px);
        line-height:1.12;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(24px, 3vw, 34px);
    line-height:.86;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        font-size:10.2px;
        line-height:1.2;
        margin:2px auto 4px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        margin:4px auto;
        padding:4px 8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:clamp(12px, 2.6vw, 16px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        margin-top:4px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height: 40px;
        padding: 8px 14px;
        font-size: 12px;
        min-width: 150px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand{
        padding:3px 10px;
        font-size:10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-brand a{
        font-size:10px;
    }
}

@media (max-height:620px) and (min-width:768px){
    :root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
        --footer-h:40px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
        padding:5px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        padding:7px 10px;
        max-height:calc(100svh - var(--footer-h) - 10px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::after{
        display:none;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        font-size:14px;
        margin-bottom:2px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(18px, 3.5vw, 28px);
        line-height:.84;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size:10px;
        line-height:1.08;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        font-size:9.5px;
        line-height:1.16;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        margin:3px auto;
        padding:3px 7px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:12px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height: 36px;
        padding: 6px 12px;
        font-size: 11px;
        min-width: 140px;
    }
}

/* =========================================================
   SURCHARGE PREMIUM — INVITATION EN FORMAT PORTRAIT
   Objectif : portrait + une seule vue + polices uniquement
   dans la carte d'invitation principale.
========================================================= */

:root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
    --invite-script-font:"Great Vibes", cursive;
    --invite-display-font:"Playfair Display", serif;
    --invite-modern-font:"Manrope", sans-serif;
    --invite-caps-font:"Cinzel", serif;
}

/* La page reste en une seule vue */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-page{
    height:100vh;
    height:100svh;
    min-height:100vh;
    min-height:100svh;
    overflow:hidden;
}

/* Le hero garde toute l'invitation centrée */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
    height:calc(100svh - var(--footer-h));
    min-height:calc(100svh - var(--footer-h));
    padding:clamp(8px, 1.6vw, 18px);
    align-items:center;
}

/* Carte principale - Version responsive sans aspect-ratio fixe */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
    width:min(92vw, 520px);
    max-width:520px;
    padding:clamp(22px, 3.2vh, 42px) clamp(18px, 3vw, 34px);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:clamp(5px, .9vh, 12px);
    border-radius:32px;
    font-family:var(--invite-modern-font);
    background:
        radial-gradient(circle at top, rgba(255,255,255,.98), rgba(255,250,242,.74) 34%, transparent 64%),
        linear-gradient(180deg, rgba(255,253,248,.98), rgba(248,235,218,.96));
    box-shadow:
        0 36px 95px rgba(45,28,14,.24),
        0 0 0 1px rgba(184,138,83,.18),
        inset 0 0 0 1px rgba(255,255,255,.58);
    overflow-y:auto;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
    inset:clamp(10px, 1.7vh, 18px);
    border:1px solid rgba(184,138,83,.38);
    border-radius:24px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::after{
    content:"";
    display:block;
    position:absolute;
    inset:clamp(18px, 2.7vh, 28px);
    border:1px solid rgba(184,138,83,.16);
    border-radius:19px;
    pointer-events:none;
}

/* Tous les textes de la carte restent dans l'univers premium */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content h1,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content h2,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content p,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content span,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content a,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content label,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content button{
    position:relative;
    z-index:2;
}

/* Titre SAVE THE DATE */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
    margin:0 0 clamp(6px, 1vh, 12px);
    font-family:var(--invite-caps-font);
    font-size:clamp(20px, 2.2vw, 30px);
    line-height:1.12;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--invite-head,var(--gold));
}

/* Noms principaux — spectaculaire */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
    margin:0 auto;
    font-family:var(--invite-script-font);
    font-weight:400;
    line-height:.82;
    letter-spacing:0;
    color:var(--invite-head,var(--gold));
    text-shadow:0 10px 28px rgba(184,138,83,.16);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
    font-size:clamp(48px, 7.2vw, 86px);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
    font-size:clamp(46px, 7vw, 82px);
}

/* Texte invité / petites informations */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
    margin:clamp(2px, .5vh, 6px) 0;
    font-family:var(--invite-modern-font);
    font-size:clamp(14px, 1.35vw, 18px);
    line-height:1.45;
    font-weight:500;
    color:var(--invite-body, var(--brown));
}

/* Message long d'introduction */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
    max-width:340px;
    margin:clamp(5px, .9vh, 10px) auto;
    font-family:var(--invite-modern-font);
    font-size:clamp(13px, 1.2vw, 16px);
    line-height:1.55;
    font-weight:400;
    color:rgba(74,56,45,.88);
}

/* Bloc date plus éditorial */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
    width:92%;
    margin:clamp(8px, 1.2vh, 14px) auto;
    padding:clamp(9px, 1.3vh, 14px) 8px;
    gap:clamp(2px, .4vh, 5px);
    border-top:1px solid rgba(184,138,83,.40);
    border-bottom:1px solid rgba(184,138,83,.40);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date .guest-name{
    font-size:clamp(12px, 1vw, 15px);
    line-height:1.25;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
    font-family:var(--invite-display-font);
    font-size:clamp(18px, 2.2vw, 28px);
    line-height:1.15;
    font-weight:700;
    color:var(--invite-head,var(--gold));
}

/* RSVP dans la carte portrait */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
    width:100%;
    gap:clamp(5px, .8vh, 8px);
    margin:clamp(8px, 1vh, 12px) 0 0;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
    min-height:clamp(34px, 4.6vh, 42px);
    padding:7px 13px;
    font-family:var(--invite-caps-font);
    font-size:clamp(9px, .85vw, 11px);
    font-weight:700;
    letter-spacing:.08em;
}

/* CTA principal dans l'invitation */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .main-cta{
    min-width:min(230px, 78%);
    min-height:clamp(42px, 5.5vh, 52px);
    margin-top:clamp(6px, .8vh, 10px);
    font-family:var(--invite-caps-font);
    font-size:clamp(10px, .9vw, 12px);
    font-weight:700;
    letter-spacing:.15em;
    border-radius:999px;
}

/* Ajustement portrait tablette/mobile */
@media (max-width:620px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
        padding:8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width: min(95vw, 450px) !important;
        max-height: calc(100svh - var(--footer-h) - 12px) !important;
        padding: clamp(20px, 3.5vh, 32px) clamp(16px, 4vw, 26px) !important;
        border-radius: 24px !important;
        gap: clamp(4px, .7vh, 8px);
        overflow-y: auto;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
        inset:9px;
        border-radius:20px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::after{
        inset:17px;
        border-radius:16px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        font-size:clamp(17px, 4.6vw, 23px);
        letter-spacing:.14em;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(42px, 13.2vw, 64px);
        line-height:.82;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size:clamp(40px, 12.5vw, 60px);
        line-height:.82;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(32px, 9vw, 48px);
    line-height:.85;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size:clamp(12px, 3.4vw, 15px);
        line-height:1.36;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        max-width:88%;
        font-size:clamp(11.5px, 3.15vw, 14px);
        line-height:1.42;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        width:94%;
        margin:6px auto;
        padding:7px 6px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:clamp(16px, 4.8vw, 22px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height:32px;
        padding:6px 10px;
        font-size:clamp(8.3px, 2.5vw, 10px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .main-cta{
        min-height:40px;
        font-size:clamp(8.8px, 2.4vw, 10.5px);
    }
}

/* Très petits écrans : on garde le portrait dans une seule vue */
@media (max-width:420px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width: 98vw !important;
        max-width: 98vw !important;
        padding: 18px 14px !important;
        border-radius: 20px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        font-size:clamp(15px, 4.2vw, 19px);
        letter-spacing:.12em;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(38px, 12vw, 54px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size:clamp(36px, 11.5vw, 52px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size:clamp(11px, 3.2vw, 13px);
        line-height:1.28;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(28px, 8vw, 40px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        font-size:clamp(10.5px, 3vw, 12.5px);
        line-height:1.34;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:clamp(14px, 4.3vw, 19px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap:4px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height:29px;
        padding:5px 8px;
        font-size:8px;
    }
}

/* Écrans courts : priorité absolue à l'affichage en une seule vue */
@media (max-height:720px) and (min-width:768px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width:min(82vw, 390px);
        max-height:calc(100svh - var(--footer-h) - 14px);
        padding:14px 18px;
        gap:3px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        font-size:clamp(14px, 2.4vh, 20px);
        margin-bottom:2px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(34px, 8vh, 58px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size:clamp(32px, 7.5vh, 54px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size:clamp(10.5px, 2.1vh, 13px);
        line-height:1.22;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1{
    font-size:clamp(24px, 3vw, 34px);
    line-height:.86;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        font-size:clamp(9.8px, 1.9vh, 12px);
        line-height:1.25;
        margin:3px auto;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        margin:4px auto;
        padding:5px 6px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:clamp(13px, 3vh, 18px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height:27px;
        padding:4px 7px;
        font-size:7.8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .main-cta{
        min-height:34px;
        font-size:8px;
    }
}

@media (max-height:620px) and (min-width:768px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width:min(78vw, 350px);
        max-height:calc(100svh - var(--footer-h) - 10px);
        padding:10px 14px;
        border-radius:20px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
        inset:7px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::after{
        display:none;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(30px, 7vh, 46px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size:clamp(28px, 6.6vh, 44px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size:10px;
        line-height:1.12;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        font-size:9px;
        line-height:1.16;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        margin:3px auto;
        padding:4px 5px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:12px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
        min-height:24px;
        padding:3px 6px;
        font-size:7.4px;
    }
}

/* =========================================================
   TEXTE D'INTRODUCTION RSVP PREMIUM
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-intro{
    margin: 18px auto 28px;
    max-width: 650px;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.4px;
    text-align: center;
    color: rgba(74, 52, 39, 0.92);
    text-wrap: balance;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-message{
    margin-top: 14px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    font-family: "Cormorant Garamond", serif;
    letter-spacing: 0.3px;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-message.success{
    color: #168a3a;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-message.error{
    color: #c62828;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-message.loading{
    color: #8a6d1d;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-message.expired{
    color: #777;
}

/* =========================================================
   INVITÉ D'HONNEUR PREMIUM
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
    margin: 18px auto;
    text-align: center;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-fullname{
    display: inline-block;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(0.80rem, 2vw, 1rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: capitalize;
    color: rgba(74, 52, 39, 0.92);
    position: relative;
    padding: 0 10px;
}

/* Soulignement raffiné */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-fullname::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    transform: translateX(-50%);
    width: 75%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(201,164,92,.45),
        rgba(201,164,92,.95),
        rgba(201,164,92,.45),
        transparent
    );
}

/* Mobile */
@media  (max-width:576px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-label{
        font-size: .85rem;
        letter-spacing: .18em;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-fullname{
        font-size: clamp(0.80rem, 2vw, 1rem);
    }
}

/* =========================================================
   FOOTER SOCIAL PREMIUM COMPACT
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-footer{
    padding: 12px 11px 8px;
    text-align: center;
    background: rgba(255,255,255,.45);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(201,164,92,.20);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-footer-inner{
    display: flex;
    justify-content: center;
    transform: translateY(-6px);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-footer-inner::-webkit-scrollbar{
    display: none;
}

/* Texte subtil */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-kicker{
    flex-shrink: 0;
    font-family: "Playfair Display", serif;
    font-size: 0.88rem;
    font-weight: 500;
    font-style: italic;
    color: rgba(74,52,39,.72);
    white-space: nowrap;
}

/* Icônes */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons li{
    flex: 0 0 auto;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons a{
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    text-decoration: none;
    color: #8a5a36;
    background: rgba(255,255,255,.75);
    border: 1px solid rgba(201,164,92,.28);
    box-shadow: 0 6px 15px rgba(74,52,39,.08);
    transition: all .25s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons a i{
    font-size: 0.95rem;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons a:hover{
    transform: translateY(-3px);
    color: #ffffff;
    background: linear-gradient(135deg, #e84a94, #ae379b);
    border-color: transparent;
    box-shadow: 0 10px 20px rgba(232,74,148,.30);
}

/* Mobile */
@media  (max-width: 768px) {
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-footer-inner{
        gap: 12px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .footer-kicker{
        font-size: 0.75rem;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons{
        gap: 6px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons a{
        width: 32px;
        height: 32px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .invite-social-icons a i{
        font-size: 0.85rem;
    }
}

/* =========================================================
   RSVP — SWITCH / TOGGLE PREMIUM
   Remplacement visuel de .rsvp-option par .rsvp-switch
========================================================= */

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    flex-wrap:nowrap;
    gap:10px;
    margin:clamp(10px, 1.2vh, 14px) auto 0;
    position:relative;
    z-index:3;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch{
    position:relative;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding:12px 14px;
    border-radius:999px;
    border:1px solid rgba(184,138,83,.34);
    background:rgba(255,255,255,.48);
    cursor:pointer;
    user-select:none;
    transition:all .28s ease;
    box-shadow:0 8px 22px rgba(74,52,39,.07);
    overflow:hidden;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:hover{
    transform:translateY(-2px);
    border-color:rgba(184,138,83,.70);
    box-shadow:0 14px 30px rgba(74,52,39,.12);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch input[type="radio"]{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
    margin:0;
    z-index:4;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle{
    position:relative;
    width:48px;
    height:26px;
    min-width:48px;
    border-radius:999px;
    background:rgba(74,56,45,.22);
    transition:all .28s ease;
    box-shadow:inset 0 2px 5px rgba(0,0,0,.12);
    pointer-events:none;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle::before{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 3px 8px rgba(0,0,0,.22);
    transition:all .28s ease;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-text{
    flex:1;
    font-family:var(--invite-modern-font, "Manrope", sans-serif);
    font-size:clamp(11px, 1vw, 14px);
    font-weight:600;
    line-height:1.25;
    text-align:left;
    color:var(--invite-body, var(--brown));
    pointer-events:none;
    white-space:normal;
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked){
    background:rgba(184,138,83,.15);
    border-color:var(--invite-head, var(--gold));
    box-shadow:0 0 20px rgba(184,138,83,.25);
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active .switch-toggle,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked) .switch-toggle{
    background:var(--invite-head, var(--gold));
}

:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active .switch-toggle::before,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked) .switch-toggle::before{
    transform:translateX(22px);
}

/* Compatibilité si certains anciens labels .rsvp-option restent ailleurs */
:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-option{
    display:none;
}

/* =========================================================
   RESPONSIVE RSVP SWITCH
========================================================= */

@media (max-width:620px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap:8px;
        margin-top:8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch{
        padding:10px 12px;
        gap:10px;
        border-radius:22px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle{
        width:44px;
        height:24px;
        min-width:44px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle::before{
        width:18px;
        height:18px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active .switch-toggle::before,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked) .switch-toggle::before{
        transform:translateX(20px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-text{
        font-size:clamp(10px, 2.8vw, 12px);
        line-height:1.2;
    }
}

@media (max-width:420px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap:7px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch{
        padding:9px 10px;
        border-radius:18px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle{
        width:40px;
        height:22px;
        min-width:40px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle::before{
        width:16px;
        height:16px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active .switch-toggle::before,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked) .switch-toggle::before{
        transform:translateX(18px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-text{
        font-size:9.5px;
        line-height:1.25;
    }
}

@media (max-width:380px){

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap:6px;
        width:100%;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch{
        padding:8px 9px;
        border-radius:16px;
        min-height:44px;
        gap:8px;
        width:100%;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle{
        width:36px;
        height:20px;
        min-width:36px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle::before{
        width:14px;
        height:14px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active .switch-toggle::before,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked) .switch-toggle::before{
        transform:translateX(16px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-text{
        font-size:9px;
        line-height:1.22;
        white-space:normal;
    }
}

@media (max-height:720px) and (min-width:768px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap:6px;
        margin-top:6px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch{
        padding:7px 10px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle{
        width:38px;
        height:21px;
        min-width:38px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle::before{
        width:15px;
        height:15px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active .switch-toggle::before,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked) .switch-toggle::before{
        transform:translateX(17px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-text{
        font-size:9px;
        line-height:1.15;
    }
}

@media (max-height:620px) and (min-width:768px){
    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        gap:5px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch{
        padding:6px 8px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle{
        width:34px;
        height:19px;
        min-width:34px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle::before{
        width:13px;
        height:13px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch.active .switch-toggle::before,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch:has(input[type="radio"]:checked) .switch-toggle::before{
        transform:translateX(15px);
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-text{
        font-size:10px;
    }
}

/* =========================================================
   FIX FINAL MOBILE — HERO-CONTENT PRESQUE PLEIN ÉCRAN
   À placer tout à la fin du CSS
========================================================= */

@media  (max-width: 576px){

    :root:where(:not([data-web-template="18"]):not([data-web-template="19"])){
        --footer-h:42px;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero{
        padding:5px !important;
        height:calc(100svh - var(--footer-h)) !important;
        min-height:calc(100svh - var(--footer-h)) !important;
        overflow:hidden !important;
        align-items:center !important;
        justify-content:center !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content{
        width:calc(100vw - 10px) !important;
        max-width:none !important;

        height:calc(100svh - var(--footer-h) - 10px) !important;
        max-height:calc(100svh - var(--footer-h) - 10px) !important;

        padding:18px 14px !important;
        border-radius:20px !important;

        overflow-y:auto !important;
        overflow-x:hidden !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:8px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::before{
        inset:7px !important;
        border-radius:15px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content::after{
        display:none !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > h1:first-of-type{
        font-size:clamp(20px, 6vw, 27px) !important;
        line-height:1.12 !important;
        letter-spacing:.11em !important;
        margin:0 0 6px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) #testimonial h1,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h1{
        font-size:clamp(42px, 13vw, 64px) !important;
        line-height:.86 !important;
        margin:0 auto !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero h2{
        font-size:clamp(40px, 12vw, 60px) !important;
        line-height:.86 !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-name{
        font-size:clamp(14px, 4vw, 17px) !important;
        line-height:1.35 !important;
        margin:4px auto !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .guest-fullname{
        font-size:clamp(17px, 5vw, 22px) !important;
        line-height:1.15 !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-intro,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-content > p.guest-name:nth-of-type(2){
        max-width:96% !important;
        font-size:clamp(14px, 4vw, 17px) !important;
        line-height:1.42 !important;
        margin:6px auto !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date{
        width:96% !important;
        margin:6px auto !important;
        padding:8px 6px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date .guest-name{
        font-size:clamp(13px, 3.7vw, 16px) !important;
        line-height:1.25 !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date strong,:where(html:not([data-web-template="18"]):not([data-web-template="19"])) .hero-date span{
        font-size:clamp(18px, 5.4vw, 25px) !important;
        line-height:1.18 !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-options{
        width:96% !important;
        gap:8px !important;
        margin:8px auto 0 !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-switch{
        width:100% !important;
        min-height:44px !important;
        padding:10px 12px !important;
        gap:10px !important;
        border-radius:18px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle{
        width:42px !important;
        height:24px !important;
        min-width:42px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-toggle::before{
        width:18px !important;
        height:18px !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .switch-text{
        font-size:clamp(12px, 3.5vw, 15px) !important;
        line-height:1.25 !important;
    }

    :where(html:not([data-web-template="18"]):not([data-web-template="19"])) .rsvp-message{
        font-size:14px !important;
        line-height:1.3 !important;
        margin-top:8px !important;
    }
}


/* ===== MODÈLE 18 : galerie, formulaires et messages ===== */
/* Modèle 18 — base complète du diaporama existant, chargée indépendamment du modèle 1. */
:where(html[data-web-template="18"]) .event-slideshow-section{
    position: relative;
    width: 100%;
    padding: 34px 15px 58px;
    overflow: hidden;
}

:where(html[data-web-template="18"]) .event-slideshow-shell{
    --event-slide-accent: #d4af37;
    position: relative;
    isolation: isolate;
    width: min(1080px, 100%);
    margin: 0 auto;
    padding: clamp(18px, 3vw, 32px);
    overflow: hidden;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: clamp(24px, 4vw, 40px);
    background:
        radial-gradient(circle at 7% 5%, rgba(255,255,255,.16), transparent 31%),
        radial-gradient(circle at 93% 95%, rgba(212,175,55,.18), transparent 34%),
        linear-gradient(145deg, #17151c 0%, #25202a 48%, #111015 100%);
    box-shadow:
        0 34px 80px rgba(12, 10, 16, .24),
        0 8px 28px rgba(12, 10, 16, .18),
        inset 0 1px 0 rgba(255,255,255,.12);
}

:where(html[data-web-template="18"]) .event-slideshow-shell::before,:where(html[data-web-template="18"]) .event-slideshow-shell::after{
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(8px);
    pointer-events: none;
}

:where(html[data-web-template="18"]) .event-slideshow-shell::before{
    width: 230px;
    height: 230px;
    top: -125px;
    right: 8%;
    background: var(--event-slide-accent);
    opacity: .16;
}

:where(html[data-web-template="18"]) .event-slideshow-shell::after{
    width: 150px;
    height: 150px;
    bottom: -92px;
    left: 7%;
    background: #fff;
    opacity: .07;
}

:where(html[data-web-template="18"]) .event-slideshow-heading{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 20px;
}

:where(html[data-web-template="18"]) .event-slideshow-kicker{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    color: var(--event-slide-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

:where(html[data-web-template="18"]) .event-slideshow-kicker::before{
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 12px currentColor;
}

:where(html[data-web-template="18"]) .event-slideshow-heading h2{
    margin: 0;
    color: #fff;
    font-size: clamp(27px, 4.2vw, 48px);
    font-weight: 500;
    line-height: 1.03;
    letter-spacing: -.035em;
}

:where(html[data-web-template="18"]) .event-slideshow-heading p{
    max-width: 330px;
    margin: 0 0 3px;
    color: rgba(255,255,255,.62);
    font-size: 12px;
    line-height: 1.65;
    text-align: right;
}

:where(html[data-web-template="18"]) .event-slideshow-stage{
    position: relative;
    aspect-ratio: 16 / 9.4;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: clamp(20px, 3.2vw, 32px);
    background: #0c0b0f;
    box-shadow:
        0 28px 58px rgba(0,0,0,.32),
        inset 0 0 0 1px rgba(255,255,255,.025);
    touch-action: pan-y;
}

:where(html[data-web-template="18"]) .event-slideshow-stage::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(0,0,0,.08) 35%, rgba(0,0,0,.7) 100%),
        linear-gradient(90deg, rgba(0,0,0,.24), transparent 30%, transparent 70%, rgba(0,0,0,.16));
}

:where(html[data-web-template="18"]) .event-slideshow-slide{
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.055);
    transition:
        opacity .85s cubic-bezier(.22,.61,.36,1),
        transform 1.2s cubic-bezier(.22,.61,.36,1),
        visibility .85s;
}

:where(html[data-web-template="18"]) .event-slideshow-slide.is-active{
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

:where(html[data-web-template="18"]) .event-slideshow-slide img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

:where(html[data-web-template="18"]) .event-slideshow-caption{
    position: absolute;
    z-index: 4;
    left: clamp(18px, 3vw, 34px);
    bottom: clamp(18px, 3vw, 30px);
    display: flex;
    align-items: center;
    gap: 11px;
    color: #fff;
}

:where(html[data-web-template="18"]) .event-slideshow-caption-number{
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 50%;
    background: rgba(10,10,14,.25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--event-slide-accent);
    font-size: 11px;
    font-weight: 800;
}

:where(html[data-web-template="18"]) .event-slideshow-caption-copy strong,:where(html[data-web-template="18"]) .event-slideshow-caption-copy span{
    display: block;
}

:where(html[data-web-template="18"]) .event-slideshow-caption-copy strong{
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .02em;
}

:where(html[data-web-template="18"]) .event-slideshow-caption-copy span{
    color: rgba(255,255,255,.7);
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

:where(html[data-web-template="18"]) .event-slideshow-control,:where(html[data-web-template="18"]) .event-slideshow-expand,:where(html[data-web-template="18"]) .event-lightbox-control,:where(html[data-web-template="18"]) .event-lightbox-close{
    display: grid;
    place-items: center;
    padding: 0;
    color: #fff;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50%;
    background: rgba(15,14,19,.32);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    cursor: pointer;
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

:where(html[data-web-template="18"]) .event-slideshow-control{
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 44px;
    height: 44px;
    transform: translateY(-50%);
}

:where(html[data-web-template="18"]) .event-slideshow-control:hover,:where(html[data-web-template="18"]) .event-slideshow-control:focus-visible,:where(html[data-web-template="18"]) .event-slideshow-expand:hover,:where(html[data-web-template="18"]) .event-slideshow-expand:focus-visible,:where(html[data-web-template="18"]) .event-lightbox-control:hover,:where(html[data-web-template="18"]) .event-lightbox-control:focus-visible,:where(html[data-web-template="18"]) .event-lightbox-close:hover,:where(html[data-web-template="18"]) .event-lightbox-close:focus-visible{
    color: #111;
    border-color: var(--event-slide-accent);
    background: var(--event-slide-accent);
}

:where(html[data-web-template="18"]) .event-slideshow-control--prev{ left: 18px; }
:where(html[data-web-template="18"]) .event-slideshow-control--next{ right: 18px; }

:where(html[data-web-template="18"]) .event-slideshow-control--prev:hover,:where(html[data-web-template="18"]) .event-slideshow-control--prev:focus-visible{ transform: translateY(-50%) translateX(-3px); }

:where(html[data-web-template="18"]) .event-slideshow-control--next:hover,:where(html[data-web-template="18"]) .event-slideshow-control--next:focus-visible{ transform: translateY(-50%) translateX(3px); }

:where(html[data-web-template="18"]) .event-slideshow-expand{
    position: absolute;
    z-index: 5;
    top: 18px;
    right: 18px;
    width: 40px;
    height: 40px;
}

:where(html[data-web-template="18"]) .event-slideshow-counter{
    position: absolute;
    z-index: 5;
    right: 22px;
    bottom: 24px;
    min-width: 55px;
    padding: 7px 12px;
    color: rgba(255,255,255,.9);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(15,14,19,.28);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-align: center;
}

:where(html[data-web-template="18"]) .event-slideshow-progress{
    position: absolute;
    z-index: 6;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    overflow: hidden;
    background: rgba(255,255,255,.12);
}

:where(html[data-web-template="18"]) .event-slideshow-progress-bar{
    width: 0;
    height: 100%;
    background: var(--event-slide-accent);
    box-shadow: 0 0 14px var(--event-slide-accent);
}

:where(html[data-web-template="18"]) .event-slideshow-progress-bar.is-running{
    animation: eventSlideshowProgress 6s linear forwards;
}

@keyframes eventSlideshowProgress {
    from { width: 0; }
    to { width: 100%; }
}

:where(html[data-web-template="18"]) .event-slideshow-thumbs{
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
}

:where(html[data-web-template="18"]) .event-slideshow-thumb{
    position: relative;
    width: clamp(66px, 9vw, 94px);
    aspect-ratio: 1.42 / 1;
    padding: 3px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    cursor: pointer;
    opacity: .62;
    transform: translateY(0);
    transition: opacity .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

:where(html[data-web-template="18"]) .event-slideshow-thumb img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 10px;
}

:where(html[data-web-template="18"]) .event-slideshow-thumb:hover,:where(html[data-web-template="18"]) .event-slideshow-thumb:focus-visible,:where(html[data-web-template="18"]) .event-slideshow-thumb.is-active{
    opacity: 1;
    transform: translateY(-4px);
    border-color: var(--event-slide-accent);
    box-shadow: 0 8px 24px rgba(0,0,0,.28), 0 0 0 2px rgba(255,255,255,.06);
}

:where(html[data-web-template="18"]) .event-slideshow-thumb.is-active::after{
    content: "";
    position: absolute;
    right: 16%;
    bottom: -1px;
    left: 16%;
    height: 2px;
    border-radius: 999px;
    background: var(--event-slide-accent);
    box-shadow: 0 0 8px var(--event-slide-accent);
}

:where(html[data-web-template="18"]) .event-slideshow-lightbox{
    position: fixed;
    inset: 0;
    z-index: 200000;
    display: grid;
    place-items: center;
    padding: clamp(14px, 3vw, 34px);
    background: rgba(4,4,7,.92);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}

:where(html[data-web-template="18"]) .event-slideshow-lightbox.is-open{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

:where(html[data-web-template="18"]) .event-slideshow-lightbox-image{
    max-width: min(1200px, 92vw);
    max-height: 88vh;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: clamp(16px, 2.5vw, 28px);
    box-shadow: 0 35px 100px rgba(0,0,0,.62);
    object-fit: contain;
    transform: scale(.96);
    transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

:where(html[data-web-template="18"]) .event-slideshow-lightbox.is-open .event-slideshow-lightbox-image{
    transform: scale(1);
}

:where(html[data-web-template="18"]) .event-lightbox-close{
    position: absolute;
    top: 22px;
    right: 22px;
    width: 46px;
    height: 46px;
}

:where(html[data-web-template="18"]) .event-lightbox-control{
    position: absolute;
    top: 50%;
    width: 48px;
    height: 48px;
    transform: translateY(-50%);
}

:where(html[data-web-template="18"]) .event-lightbox-control--prev{ left: 24px; }
:where(html[data-web-template="18"]) .event-lightbox-control--next{ right: 24px; }

:where(html[data-web-template="18"]) .event-lightbox-count{
    position: absolute;
    bottom: 22px;
    left: 50%;
    padding: 8px 14px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    font-size: 11px;
    letter-spacing: .15em;
    transform: translateX(-50%);
}

:where(html[data-web-template="18"]) body.event-slideshow-lightbox-open{ overflow: hidden; }

@media  (max-width: 700px) {
    :where(html[data-web-template="18"]) .event-slideshow-section{ padding: 24px 10px 42px; }
    :where(html[data-web-template="18"]) .event-slideshow-shell{ padding: 14px; border-radius: 26px; }
    :where(html[data-web-template="18"]) .event-slideshow-heading{ align-items: flex-start; flex-direction: column; gap: 7px; padding: 5px 5px 0; }
    :where(html[data-web-template="18"]) .event-slideshow-heading p{ max-width: 100%; text-align: left; }
    :where(html[data-web-template="18"]) .event-slideshow-stage{ min-height: 0; aspect-ratio: 4 / 5; border-radius: 20px; }
    :where(html[data-web-template="18"]) .event-slideshow-control{ width: 40px; height: 40px; }
    :where(html[data-web-template="18"]) .event-slideshow-control--prev{ left: 10px; }
    :where(html[data-web-template="18"]) .event-slideshow-control--next{ right: 10px; }
    :where(html[data-web-template="18"]) .event-slideshow-expand{ top: 12px; right: 12px; }
    :where(html[data-web-template="18"]) .event-slideshow-counter{ right: 14px; bottom: 16px; }
    :where(html[data-web-template="18"]) .event-slideshow-caption{ left: 16px; bottom: 15px; }
    :where(html[data-web-template="18"]) .event-slideshow-caption-copy span{ display: none; }
    :where(html[data-web-template="18"]) .event-lightbox-control{ top: auto; bottom: 21px; }
    :where(html[data-web-template="18"]) .event-lightbox-control--prev{ left: 22px; }
    :where(html[data-web-template="18"]) .event-lightbox-control--next{ right: 22px; }
    :where(html[data-web-template="18"]) .event-lightbox-count{ bottom: 30px; }
}

@media  (prefers-reduced-motion: reduce) {
    :where(html[data-web-template="18"]) .event-slideshow-slide,:where(html[data-web-template="18"]) .event-slideshow-lightbox-image,:where(html[data-web-template="18"]) .event-slideshow-thumb{ transition-duration: .01ms !important; }
    :where(html[data-web-template="18"]) .event-slideshow-progress-bar.is-running{ animation: none; width: 100%; }
}

/* Habillage Terracotta : sélecteurs limités au modèle 18. */
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #event-slideshow{padding:70px 20px;background:linear-gradient(180deg,#eadbd0,#f4e8dc)}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #event-slideshow .event-slideshow-shell{max-width:1000px;margin:auto;padding:24px;border-radius:24px;background:#fffaf2;isolation:isolate;overflow:hidden}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-shell::before,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-shell::after{display:none}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-heading{display:block;text-align:center;padding:8px 10px 25px;margin:0}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-heading h2{margin:8px 0 0;font:400 clamp(2rem,5vw,3.7rem)/1.15 "Bodoni Moda",Georgia,serif}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-kicker{letter-spacing:.2em;font:500 .65rem/1.6 Cinzel,serif;color:#9b583f}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-stage{position:relative;min-height:0;aspect-ratio:16/10;width:100%;overflow:hidden;border-radius:18px;background:#35251f;box-shadow:0 12px 32px #51322124}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-slide{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;visibility:hidden;pointer-events:none}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-slide img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-thumbs{display:flex;justify-content:flex-start;gap:10px;max-width:100%;overflow-x:auto;padding:9px 4px;margin:14px 0 0;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b5664f #eddfd3}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-thumb{flex:0 0 82px;width:82px;height:62px;aspect-ratio:auto;border-radius:11px;background:#f4e8de;border:1px solid #d9c1b4;padding:3px;scroll-snap-align:center;opacity:.65}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-thumb.is-active{opacity:1;border:2px solid #b5664f;box-shadow:0 4px 12px #8f4c3926;transform:none}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-control,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-expand{display:grid;place-items:center;color:#fffaf2;background:#38271f9e;border:1px solid #fff8ee88;backdrop-filter:blur(8px)}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-counter{background:#38271faa;color:#fffaf2;border-color:#fff8ee55}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-caption-number{color:#fffaf2}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-caption-copy strong,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-caption-copy span{color:#fffaf2}
:where(html[data-web-template="18"]) body[data-web-template="18"] .event-slideshow-lightbox{font:400 16px/1.5 Jost,Arial,sans-serif;box-sizing:border-box;background:#211712ed}
:where(html[data-web-template="18"]) body[data-web-template="18"] .event-slideshow-lightbox[aria-hidden="true"]{visibility:hidden;opacity:0;pointer-events:none}
:where(html[data-web-template="18"]) body[data-web-template="18"] .event-slideshow-lightbox-image{display:block;width:auto;height:auto;max-width:92vw;max-height:82dvh;object-fit:contain}
:where(html[data-web-template="18"]) body[data-web-template="18"] .event-lightbox-close,:where(html[data-web-template="18"]) body[data-web-template="18"] .event-lightbox-control{color:#fffaf2;background:#ffffff18;border:1px solid #ffffff66;cursor:pointer;border-radius:50%}

:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #guestbook form{position:relative;max-width:760px;padding:clamp(24px,5vw,42px);border:1px solid #dcbda8;border-radius:22px;background:linear-gradient(145deg,#fffdf8,#f8eddf);box-shadow:0 22px 55px #5e382b12}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #guestbook form::before{content:"";position:absolute;inset:9px;border:1px solid #dcbda84d;border-radius:16px;pointer-events:none}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px;text-align:left}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-seal{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:#e9d2c0;color:#8f4c39;font-size:26px}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-kicker{display:block;font:500 .62rem/1.7 Cinzel,serif;letter-spacing:.16em;text-transform:uppercase;color:#a56a50;margin-bottom:7px}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-heading h3{font:500 clamp(1.3rem,3vw,1.8rem)/1.3 "Bodoni Moda",Georgia,serif;margin:0 0 7px;color:#522e27}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-heading p{font-size:.87rem;line-height:1.6;margin:0;color:#786358}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #guestbook .form-group{margin:0}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #guestbook label{display:block;margin:0 0 10px;letter-spacing:.06em;font-size:.75rem;text-transform:uppercase}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #message{display:block;width:100%;min-height:180px;padding:20px;line-height:1.8;background:#fffdf9!important;border:1px solid #cfb29e!important;border-radius:14px;transition:border-color .2s,box-shadow .2s}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #message::placeholder{color:#a18a7d;opacity:1}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #message:focus{outline:none;border-color:#a6644c!important;box-shadow:0 0 0 4px #b5664f1c}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-meta{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;color:#887164;margin:10px 0 24px;font-variant-numeric:tabular-nums}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #guestbooked{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:52px;background:linear-gradient(135deg,#b5664f,#7d402f)!important;border-radius:12px;font-size:.9rem;box-shadow:0 9px 22px #8f4c3924;cursor:pointer}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #guestbooked:disabled{opacity:.6;cursor:wait}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messagetext:not(:empty){max-width:760px;margin:18px auto;padding:14px 20px;background:#f0e2d4;border-radius:12px;font-size:.9rem}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages{display:flex;flex-direction:column;gap:18px;width:100%;max-width:840px;margin:30px auto 0;padding:0;background:transparent;border:0;max-height:none;overflow:visible;text-align:left}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages>div,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages>article,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages>blockquote{box-sizing:border-box;position:relative;float:none;width:100%;max-width:100%;margin:0;padding:26px 28px;border:1px solid #dfc6b3;border-left:3px solid #b5664f;border-radius:4px 18px 18px 4px;background:linear-gradient(135deg,#fffdf8,#fbf3e9);box-shadow:0 10px 30px #593c2810;color:#624e43;overflow-wrap:anywhere}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages p{font:400 .96rem/1.85 Jost,Arial,sans-serif;color:#624e43;margin:8px 0;white-space:pre-line}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages h3,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages h4,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages strong{font:500 1rem/1.45 Jost,Arial,sans-serif;color:#8f4c39;letter-spacing:.015em}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages small,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages time{font:400 .73rem/1.5 Jost,Arial,sans-serif;color:#978073}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages img{max-width:100%;height:auto}
:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages .tt18-messages-status{margin:0;padding:30px;border:1px dashed #d4b7a2;border-radius:16px;text-align:center;color:#8b7162;background:#fffaf266}
@media (max-width:560px){:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #event-slideshow{padding:44px 12px}:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #event-slideshow .event-slideshow-shell{padding:12px;border-radius:19px}:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-stage{aspect-ratio:4/5;border-radius:13px}:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .event-slideshow-thumb{flex-basis:64px;width:64px;height:50px}:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages>div,:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #messages>article{padding:20px}:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-seal{display:none}:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 .tt18-compose-meta{font-size:.65rem}:where(html[data-web-template="18"]) body[data-web-template="18"] #tt18 #guestbook form{padding:24px 18px}}

/* ===== Intégration dans invite ===== */

/* Stabilise les rem du modèle face à la base 10px de Bootstrap historique. */
html:where([data-web-template="18"]){font-size:16px}
:where(html[data-web-template="18"]) body[data-web-template="18"]{background:#f7f0e5;color:#38271f}
:where(html[data-web-template="18"]) body[data-web-template="18"] #page{overflow:visible}
:where(html[data-web-template="18"]) body[data-web-template="18"] .mi-gold-breadcrumb,:where(html[data-web-template="18"]) body[data-web-template="18"] #event-loader,:where(html[data-web-template="18"]) body[data-web-template="18"] .fh5co-loader,:where(html[data-web-template="18"]) body[data-web-template="18"] .fh5co-nav,:where(html[data-web-template="18"]) body[data-web-template="18"] #fh5co-couple,:where(html[data-web-template="18"]) body[data-web-template="18"] #schedule,:where(html[data-web-template="18"]) body[data-web-template="18"] #ourstory,:where(html[data-web-template="18"]) body[data-web-template="18"] #testimonial{display:none!important}
:where(html[data-web-template="18"]) body[data-web-template="18"] #fh5co-contact,:where(html[data-web-template="18"]) body[data-web-template="18"] #confirmation,:where(html[data-web-template="18"]) body[data-web-template="18"] #boissons,:where(html[data-web-template="18"]) body[data-web-template="18"] #guestbook{scroll-margin-top:20px}
:where(html[data-web-template="18"]) body[data-web-template="18"] #page>.container{max-width:100%;width:100%}
:where(html[data-web-template="18"]) body[data-web-template="18"] #page>.container .animate-box{opacity:1;visibility:visible}

/* ===== Lettre de Terracotta : template complet ===== */

:where(html[data-web-template="18"]) body{margin:0;background:#f7f0e5}
:where(html[data-web-template="18"]) body.tt18-opening{overflow:hidden} :where(html[data-web-template="18"]) #tt18{font-size:16px;line-height:1.5} :where(html[data-web-template="18"]) #tt18 h1,:where(html[data-web-template="18"]) #tt18 h2,:where(html[data-web-template="18"]) #tt18 h3{color:inherit} :where(html[data-web-template="18"]) #tt18 .hero h1{color:#fff6ed}
:where(html[data-web-template="18"]) #tt18{--cream:#f7f0e5;--paper:#fffaf2;--terra:#b5664f;--terra-light:#d9a18b;--ink:#38271f;--muted:#75635a;--line:#ddcabe;--dark:#522e27;--ease:cubic-bezier(.22,1,.36,1)}:where(html[data-web-template="18"]) #tt18 *{box-sizing:border-box}:where(html[data-web-template="18"]) #tt18{scroll-behavior:smooth}:where(html[data-web-template="18"]) #tt18{margin:0;background:var(--cream);color:var(--ink);font-family:Jost,Arial,sans-serif;-webkit-font-smoothing:antialiased}:where(html[data-web-template="18"]) #tt18 button,:where(html[data-web-template="18"]) #tt18 a{font:inherit}:where(html[data-web-template="18"]) #tt18 a{color:inherit}:where(html[data-web-template="18"]) #tt18 button{cursor:pointer}:where(html[data-web-template="18"]) #tt18 img{display:block;max-width:100%}:where(html[data-web-template="18"]) #tt18:not(.opened){overflow:hidden}:where(html[data-web-template="18"]) #tt18 ::selection{background:#dcc0af;color:#38271f}:where(html[data-web-template="18"]) #tt18 .skip{position:absolute;top:-100px;left:12px;background:white;color:var(--ink);padding:12px;z-index:100}:where(html[data-web-template="18"]) #tt18 .skip:focus{top:12px}:where(html[data-web-template="18"]) #tt18 .opening{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(circle at 50% 15%,#fff8ed 0%,#e9d4c5 68%,#d8bca9 100%);transition:opacity 1s ease,visibility 1s ease}:where(html[data-web-template="18"]) #tt18 .opening.is-gone{opacity:0;visibility:hidden;pointer-events:none}:where(html[data-web-template="18"]) #tt18 .opening-inner{text-align:center;width:min(100%,410px)}:where(html[data-web-template="18"]) #tt18 .opening-eyebrow,:where(html[data-web-template="18"]) #tt18 .eyebrow{font:500 .66rem/1.7 Cinzel,serif;letter-spacing:.22em;text-transform:uppercase}:where(html[data-web-template="18"]) #tt18 .opening-eyebrow{color:#785a50;margin:0 0 26px}:where(html[data-web-template="18"]) #tt18 .opening-intro{font:400 clamp(2.4rem,12vw,3.9rem)/.95 "Pinyon Script",cursive;margin:26px 0 9px}:where(html[data-web-template="18"]) #tt18 .opening-note{margin:0 auto 24px;max-width:30ch;color:#634e42;line-height:1.6;font-size:.85rem}:where(html[data-web-template="18"]) #tt18 .envelope-scene{position:relative;height:244px;width:min(340px,90vw);margin:auto;perspective:950px;filter:drop-shadow(0 22px 19px rgba(73,35,23,.18))}:where(html[data-web-template="18"]) #tt18 .envelope{position:absolute;inset:34px 0 0;background:#b86f58;border-radius:3px;isolation:isolate}:where(html[data-web-template="18"]) #tt18 .envelope::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 49.6%,#a55c46 50%) left/50% 100% no-repeat,linear-gradient(220deg,transparent 49.6%,#c77e64 50%) right/50% 100% no-repeat;z-index:3;pointer-events:none}:where(html[data-web-template="18"]) #tt18 .envelope-pocket{position:absolute;inset:0;background:#c17a61;clip-path:polygon(0 100%,50% 43%,100% 100%);z-index:4}:where(html[data-web-template="18"]) #tt18 .envelope-flap{position:absolute;inset:0 0 auto;height:125px;background:#d28a70;clip-path:polygon(0 0,100% 0,50% 96%);z-index:5;transform-origin:top;transition:transform 1.1s var(--ease),z-index 0s linear .55s;backface-visibility:hidden}:where(html[data-web-template="18"]) #tt18 .wax{position:absolute;top:99px;left:50%;z-index:7;transform:translateX(-50%);width:53px;height:53px;border-radius:47% 53% 45% 55%;display:grid;place-items:center;background:radial-gradient(circle at 32% 25%,#b85e4c,#843729 76%);box-shadow:0 3px 0 #6e2b24,0 7px 12px #793e3566,inset 0 0 0 4px #ffffff21;color:#ffe3cb;font:600 1rem Cinzel,serif;transition:opacity .5s ease}:where(html[data-web-template="18"]) #tt18 .letter-card{position:absolute;top:44px;left:8%;width:84%;height:158px;background:#fff9ee;border:1px solid #e5cfc0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 5px 18px #49251822;transition:transform 1.25s var(--ease);}:where(html[data-web-template="18"]) #tt18 .letter-card small{font:400 .52rem Cinzel;letter-spacing:.13em}:where(html[data-web-template="18"]) #tt18 .letter-card strong{font:400 2.5rem "Pinyon Script";color:var(--terra)}:where(html[data-web-template="18"]) #tt18 .envelope-scene.is-opening .envelope-flap{transform:rotateX(180deg);z-index:1}:where(html[data-web-template="18"]) #tt18 .envelope-scene.is-opening .wax{opacity:0}:where(html[data-web-template="18"]) #tt18 .envelope-scene.is-opening .letter-card{transform:translateY(-113px)}:where(html[data-web-template="18"]) #tt18 .open-btn,:where(html[data-web-template="18"]) #tt18 .solid-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 27px;min-height:51px;border:1px solid var(--dark);background:var(--dark);color:#fff8ee;text-decoration:none;font-weight:500;letter-spacing:.05em;border-radius:2px;transition:background .25s ease,transform .25s ease}:where(html[data-web-template="18"]) #tt18 .open-btn:hover,:where(html[data-web-template="18"]) #tt18 .solid-btn:hover{background:#78463b;transform:translateY(-2px)}:where(html[data-web-template="18"]) #tt18 .open-btn:focus-visible,:where(html[data-web-template="18"]) #tt18 a:focus-visible,:where(html[data-web-template="18"]) #tt18 button:focus-visible{outline:3px solid #ca8168;outline-offset:4px}:where(html[data-web-template="18"]) #tt18 .open-btn:disabled{cursor:default;opacity:.8}:where(html[data-web-template="18"]) #tt18 .site{opacity:0;transition:opacity 1.15s ease}:where(html[data-web-template="18"]) #tt18.opened .site{opacity:1}:where(html[data-web-template="18"]) #tt18 .top-stamp{position:absolute;top:0;right:0;left:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:23px clamp(19px,4vw,56px);color:white;text-shadow:0 1px 8px #0005}:where(html[data-web-template="18"]) #tt18 .top-stamp span:first-child{font:400 1.8rem "Pinyon Script"}:where(html[data-web-template="18"]) #tt18 .top-stamp span:last-child{font:400 .56rem Cinzel;letter-spacing:.2em}:where(html[data-web-template="18"]) #tt18 .hero{position:relative;min-height:700px;min-height:100svh;display:flex;align-items:end;justify-content:center;text-align:center;overflow:hidden;color:#fff6ed;background:#473329}:where(html[data-web-template="18"]) #tt18 .hero-photo,:where(html[data-web-template="18"]) #tt18 .hero-shade{position:absolute;inset:0}:where(html[data-web-template="18"]) #tt18 .hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 40%;}:where(html[data-web-template="18"]) #tt18 .hero-shade{background:linear-gradient(to bottom,#160c082b 0%,#160c0828 35%,#1a0c09bd 100%)}:where(html[data-web-template="18"]) #tt18 .hero-content{position:relative;z-index:1;width:min(100%,750px);padding:120px 22px clamp(52px,9vh,95px)}:where(html[data-web-template="18"]) #tt18 .hero .eyebrow{opacity:.9}:where(html[data-web-template="18"]) #tt18 .hero h1{font:400 clamp(5.3rem,15vw,10.7rem)/.85 "Pinyon Script",cursive;margin:28px 0 21px;font-weight:400}:where(html[data-web-template="18"]) #tt18 .hero h1 span{display:inline-block}:where(html[data-web-template="18"]) #tt18 .hero-tagline{font:400 clamp(1.05rem,2.2vw,1.35rem)/1.6 "Bodoni Moda",serif;margin:0 auto 22px;max-width:420px}:where(html[data-web-template="18"]) #tt18 .hero-date{font:400 .73rem Cinzel;letter-spacing:.15em;margin:0 0 35px}:where(html[data-web-template="18"]) #tt18 .countdown{display:grid;grid-template-columns:repeat(4,1fr);max-width:370px;margin:0 auto;gap:6px}:where(html[data-web-template="18"]) #tt18 .countdown div{border-top:1px solid #f5e7d276;padding:12px 4px 0}:where(html[data-web-template="18"]) #tt18 .countdown strong{display:block;font:400 clamp(1.6rem,6vw,2.15rem) "Bodoni Moda";font-variant-numeric:tabular-nums}:where(html[data-web-template="18"]) #tt18 .countdown small{font:.57rem Cinzel;letter-spacing:.12em}:where(html[data-web-template="18"]) #tt18 .scroll-hint{display:block;margin-top:27px;font:.58rem Cinzel;letter-spacing:.22em;opacity:.84}:where(html[data-web-template="18"]) #tt18 .section{padding:92px 20px;text-align:center}:where(html[data-web-template="18"]) #tt18 .section-inner{max-width:950px;margin:auto}:where(html[data-web-template="18"]) #tt18 .section-head{margin-bottom:36px}:where(html[data-web-template="18"]) #tt18 .eyebrow{color:var(--terra)}:where(html[data-web-template="18"]) #tt18 .section h2{font:400 clamp(2.5rem,7vw,4.7rem)/1.11 "Bodoni Moda",serif;letter-spacing:-.045em;margin:14px auto 17px;max-width:850px}:where(html[data-web-template="18"]) #tt18 .section-lead{max-width:530px;margin:0 auto;font-size:1rem;line-height:1.8;color:var(--muted)}:where(html[data-web-template="18"]) #tt18 .ornament{color:var(--terra);font-size:1.2rem;margin:17px auto}:where(html[data-web-template="18"]) #tt18 .story{background:var(--paper)}:where(html[data-web-template="18"]) #tt18 .timeline{position:relative;max-width:630px;margin:49px auto 0;text-align:left}:where(html[data-web-template="18"]) #tt18 .timeline::before{content:"";position:absolute;top:0;bottom:0;left:19px;width:1px;background:#e8d6cd}:where(html[data-web-template="18"]) #tt18 .timeline-progress{position:absolute;left:19px;top:0;width:2px;height:0;background:var(--terra);transition:height .15s linear}:where(html[data-web-template="18"]) #tt18 .story-point{position:relative;padding:0 0 57px 70px}:where(html[data-web-template="18"]) #tt18 .story-point:last-child{padding-bottom:0}:where(html[data-web-template="18"]) #tt18 .story-point::before{content:"";position:absolute;top:7px;left:11px;width:17px;height:17px;border-radius:50%;background:var(--paper);border:4px solid var(--terra);z-index:1;box-shadow:0 0 0 5px #e9d6cb}:where(html[data-web-template="18"]) #tt18 .story-year{font:.7rem Cinzel;letter-spacing:.16em;color:var(--terra)}:where(html[data-web-template="18"]) #tt18 .story-point h3{font:400 1.8rem "Bodoni Moda";margin:6px 0 9px}:where(html[data-web-template="18"]) #tt18 .story-point p{margin:0;line-height:1.75;color:var(--muted)}:where(html[data-web-template="18"]) #tt18 .gallery{background:#eadbd0}:where(html[data-web-template="18"]) #tt18 .gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-width:980px;margin:38px auto 0}:where(html[data-web-template="18"]) #tt18 .gallery-figure{position:relative;overflow:hidden;margin:0;background:#bd9b84;border-radius:2px;aspect-ratio:4/5}:where(html[data-web-template="18"]) #tt18 .gallery-figure:nth-child(3n + 1){aspect-ratio:4/5}:where(html[data-web-template="18"]) #tt18 .gallery-figure img{width:100%;height:115%;object-fit:cover;object-position:center;will-change:transform;transform:translateY(var(--parallax,0px)) scale(1.04)}:where(html[data-web-template="18"]) #tt18 .gallery-figure figcaption{position:absolute;bottom:0;left:0;right:0;padding:27px 8px 10px;color:#fff;text-align:left;font:.57rem Cinzel;letter-spacing:.12em;background:linear-gradient(transparent,#1b110c88)}:where(html[data-web-template="18"]) #tt18 .schedule{background:#fffaf2}:where(html[data-web-template="18"]) #tt18 .schedule-list{max-width:620px;margin:36px auto 0;border-top:1px solid var(--line)}:where(html[data-web-template="18"]) #tt18 .schedule-item{display:grid;grid-template-columns:76px 1fr;gap:18px;text-align:left;padding:20px 4px;border-bottom:1px solid var(--line);align-items:center}:where(html[data-web-template="18"]) #tt18 .schedule-time{font:400 1.2rem "Bodoni Moda";color:var(--terra)}:where(html[data-web-template="18"]) #tt18 .schedule-name{font:400 1.36rem "Bodoni Moda";margin:0 0 4px}:where(html[data-web-template="18"]) #tt18 .schedule-details{font-size:.87rem;color:var(--muted);margin:0}:where(html[data-web-template="18"]) #tt18 .venue{background:#f5e9de}:where(html[data-web-template="18"]) #tt18 .venue-address{font:400 1.22rem/1.7 "Bodoni Moda";margin:0 auto 24px}:where(html[data-web-template="18"]) #tt18 .venue-map{overflow:hidden;border:7px solid #fffaf2;box-shadow:0 22px 50px #38271f20;max-width:850px;margin:25px auto 28px;background:#ddcab9}:where(html[data-web-template="18"]) #tt18 .venue-map iframe{width:100%;height:320px;border:0;display:block}:where(html[data-web-template="18"]) #tt18 .venue .solid-btn{margin-top:1px}:where(html[data-web-template="18"]) #tt18 .dress{background:#fffaf2}:where(html[data-web-template="18"]) #tt18 .palette{display:flex;justify-content:center;gap:19px;margin:30px auto 9px}:where(html[data-web-template="18"]) #tt18 .palette span{height:49px;width:49px;border-radius:50%;border:5px solid #fff;box-shadow:0 4px 18px #38271f26}:where(html[data-web-template="18"]) #tt18 .dress-code{font:400 1.85rem "Bodoni Moda";margin:10px 0}:where(html[data-web-template="18"]) #tt18 .dress-note{font-size:.85rem;color:var(--muted)}:where(html[data-web-template="18"]) #tt18 .rsvp{background:var(--dark);color:#fff5eb}:where(html[data-web-template="18"]) #tt18 .rsvp .eyebrow{color:#e2ae93}:where(html[data-web-template="18"]) #tt18 .rsvp h2,:where(html[data-web-template="18"]) #tt18 .rsvp .section-lead{color:#fff4e8}:where(html[data-web-template="18"]) #tt18 .rsvp .section-lead{opacity:.78}:where(html[data-web-template="18"]) #tt18 .rsvp .solid-btn{background:#fff3e8;color:var(--dark);border-color:#fff3e8;margin-top:28px}:where(html[data-web-template="18"]) #tt18 .rsvp .solid-btn:hover{background:#f2cfbb}:where(html[data-web-template="18"]) #tt18 .deadline{font:.64rem Cinzel;letter-spacing:.13em;margin-top:20px;color:#e6cab9}:where(html[data-web-template="18"]) #tt18 .footer{text-align:center;padding:65px 20px 35px;background:#291b17;color:#fbefe2}:where(html[data-web-template="18"]) #tt18 .footer-quote{font:400 clamp(1.4rem,4vw,2.1rem) "Bodoni Moda";line-height:1.45;margin:0 auto 24px;max-width:500px}:where(html[data-web-template="18"]) #tt18 .footer-initials{font:400 3.8rem "Pinyon Script";color:#dba18a;margin-bottom:10px}:where(html[data-web-template="18"]) #tt18 .footer-hashtag{font:.7rem Cinzel;letter-spacing:.15em;color:#ddbaa7}:where(html[data-web-template="18"]) #tt18 .footer-copy{display:block;margin-top:40px;font-size:.68rem;opacity:.5}:where(html[data-web-template="18"]) #tt18 .reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s var(--ease)}:where(html[data-web-template="18"]) #tt18 .reveal.in-view{opacity:1;transform:none}:where(html[data-web-template="18"]) #tt18 .word-reveal .word{display:inline-block;opacity:0;transform:translateY(.5em);transition:opacity .85s ease,transform .85s var(--ease);transition-delay:var(--delay,0ms)}:where(html[data-web-template="18"]) #tt18 .word-reveal.in-view .word{opacity:1;transform:none}
@media (min-width:720px){:where(html[data-web-template="18"]) #tt18 .section{padding:120px 28px}:where(html[data-web-template="18"]) #tt18 .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}:where(html[data-web-template="18"]) #tt18 .gallery-figure:nth-child(2),:where(html[data-web-template="18"]) #tt18 .gallery-figure:nth-child(5){transform:translateY(24px)}:where(html[data-web-template="18"]) #tt18 .schedule-item{grid-template-columns:112px 1fr}:where(html[data-web-template="18"]) #tt18 .timeline::before,:where(html[data-web-template="18"]) #tt18 .timeline-progress{left:28px}:where(html[data-web-template="18"]) #tt18 .story-point{padding-left:90px}:where(html[data-web-template="18"]) #tt18 .story-point::before{left:20px}:where(html[data-web-template="18"]) #tt18 .venue-map iframe{height:390px}}
@media (max-width:390px){:where(html[data-web-template="18"]) #tt18 .top-stamp{padding:18px}:where(html[data-web-template="18"]) #tt18 .hero h1{font-size:4.9rem}:where(html[data-web-template="18"]) #tt18 .opening-intro{font-size:2.45rem}:where(html[data-web-template="18"]) #tt18 .palette span{width:43px;height:43px}}
@media (prefers-reduced-motion:reduce){:where(html[data-web-template="18"]) #tt18{scroll-behavior:auto!important}:where(html[data-web-template="18"]) #tt18 *,:where(html[data-web-template="18"]) #tt18 *::before,:where(html[data-web-template="18"]) #tt18 *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}:where(html[data-web-template="18"]) #tt18 .reveal,:where(html[data-web-template="18"]) #tt18 .word-reveal .word{opacity:1!important;transform:none!important}:where(html[data-web-template="18"]) #tt18 .gallery-figure img{transform:none!important}}:where(html[data-web-template="18"]) #tt18 .terracotta-pass{background:#f9f3eb}:where(html[data-web-template="18"]) #tt18 .tt-pass-card{max-width:850px;margin:34px auto 0;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:23px;align-items:center;background:linear-gradient(135deg,#fffaf2,#f0e1d4);border:1px solid #e2cabe;box-shadow:0 18px 50px #5132211a;border-radius:18px}:where(html[data-web-template="18"]) #tt18 .tt-pass-small{font:500 .62rem Cinzel,serif;letter-spacing:.15em;color:#9b583f}:where(html[data-web-template="18"]) #tt18 .tt-pass-info h3{margin:10px 0 18px;font:500 clamp(1.35rem,4.5vw,2.25rem)/1.35 Jost,Arial,sans-serif;overflow-wrap:anywhere;letter-spacing:.025em;text-transform:none;color:#482c23}:where(html[data-web-template="18"]) #tt18 .tt-pass-info p{font-size:.88rem;color:#624e43;margin:6px 0}:where(html[data-web-template="18"]) #tt18 .tt-pass-info p strong{display:inline-block;min-width:100px;color:#38271f}:where(html[data-web-template="18"]) #tt18 .tt-pass-info small{display:block;margin-top:15px;color:#786358;font-size:.75rem}:where(html[data-web-template="18"]) #tt18 .tt-qr{text-align:center;background:#fff;padding:14px;border-radius:12px;border:1px solid #e8d7ce}:where(html[data-web-template="18"]) #tt18 .tt-qr img{width:152px;height:152px;object-fit:contain;margin:auto}:where(html[data-web-template="18"]) #tt18 .tt-qr span{display:block;margin-top:8px;font:500 .54rem Cinzel,serif;color:#7b594d;letter-spacing:.09em}
@media (max-width:560px){:where(html[data-web-template="18"]) #tt18 .tt-pass-card{grid-template-columns:1fr;padding:20px}:where(html[data-web-template="18"]) #tt18 .tt-qr{width:min(100%,205px);margin:auto}:where(html[data-web-template="18"]) #tt18 .tt-pass-info h3{font-size:1.65rem}}:where(html[data-web-template="18"]) #tt18 .opening{height:100vh;height:100dvh;overflow-y:auto;display:flex;align-items:stretch;padding:max(12px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));z-index:100000}:where(html[data-web-template="18"]) #tt18 .opening-inner{margin:auto;flex:none;max-width:100%;padding:8px 0}:where(html[data-web-template="18"]) #tt18 .opening-eyebrow{margin-bottom:clamp(8px,3vh,26px)}:where(html[data-web-template="18"]) #tt18 .opening-intro{margin-top:clamp(8px,3vh,26px);line-height:1.15}:where(html[data-web-template="18"]) #tt18 .opening-note{margin-bottom:clamp(12px,3vh,24px)}:where(html[data-web-template="18"]) #tt18 .envelope-scene{width:min(340px,84vw);height:clamp(135px,32dvh,244px)}:where(html[data-web-template="18"]) #tt18 .open-btn{min-height:48px;max-width:100%;white-space:normal}:where(html[data-web-template="18"]) #tt18 .tt-pass-info{min-width:0}:where(html[data-web-template="18"]) #tt18 .tt-pass-info p,:where(html[data-web-template="18"]) #tt18 .schedule-details,:where(html[data-web-template="18"]) #tt18 .dress-code{overflow-wrap:anywhere;white-space:pre-line}:where(html[data-web-template="18"]) #tt18 .tt-quote{background:#f2e2d5}:where(html[data-web-template="18"]) #tt18 .tt-quote blockquote{border:0;padding:0;color:var(--ink)}:where(html[data-web-template="18"]) #tt18 .tt-services{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}:where(html[data-web-template="18"]) #tt18 .hero h1{overflow-wrap:anywhere}:where(html[data-web-template="18"]) #tt18 .letter-card strong{max-width:100%;text-align:center;overflow-wrap:anywhere;line-height:1.1}
@media (max-height:560px){:where(html[data-web-template="18"]) #tt18 .opening-eyebrow{margin-bottom:6px;font-size:.57rem}:where(html[data-web-template="18"]) #tt18 .envelope-scene{height:140px;width:240px}:where(html[data-web-template="18"]) #tt18 .envelope{inset:14px 0 0}:where(html[data-web-template="18"]) #tt18 .envelope-flap{height:80px}:where(html[data-web-template="18"]) #tt18 .letter-card{top:22px;height:100px}:where(html[data-web-template="18"]) #tt18 .letter-card strong{font-size:1.8rem}:where(html[data-web-template="18"]) #tt18 .letter-card small{font-size:.4rem}:where(html[data-web-template="18"]) #tt18 .wax{top:64px;width:40px;height:40px}:where(html[data-web-template="18"]) #tt18 .opening-intro{font-size:2.2rem;margin:8px 0}:where(html[data-web-template="18"]) #tt18 .opening-note{font-size:.8rem;line-height:1.35;margin-bottom:12px}:where(html[data-web-template="18"]) #tt18 .envelope-scene.is-opening .letter-card{transform:translateY(-40px)}}


:where(html[data-web-template="18"]) #tt18 .tt-download{display:inline-flex;align-items:center;justify-content:center;gap:13px;margin-top:22px;padding:14px 20px;min-height:58px;border:1px solid #9b523e;border-radius:12px;background:linear-gradient(135deg,#ad604a,#743c2f);box-shadow:0 8px 22px #743c2f26;color:#fffaf2;text-decoration:none;text-align:left;font:500 .95rem/1.35 Jost,Arial,sans-serif;transition:transform .2s,box-shadow .2s;max-width:100%;white-space:normal}
:where(html[data-web-template="18"]) #tt18 .tt-download small{display:block;color:#f5dacf;font-size:.72rem;margin:4px 0 0;font-weight:400}
:where(html[data-web-template="18"]) #tt18 .tt-download-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#ffffff18}
:where(html[data-web-template="18"]) #tt18 .tt-download:hover{transform:translateY(-2px);box-shadow:0 12px 26px #743c2f38;color:#fff}
:where(html[data-web-template="18"]) #tt18 .tt-download:focus-visible{outline:3px solid #ca8168;outline-offset:4px}
:where(html[data-web-template="18"]) #tt18 .tt18-native{font:400 16px/1.7 Jost,Arial,sans-serif;color:#624e43;width:100%;max-width:none;margin:0!important;padding:70px 24px;background:#fffaf2;border:0;clear:both;scroll-margin-top:20px}
:where(html[data-web-template="18"]) #tt18 .tt18-native:nth-child(even){background:#f3e7dc}
:where(html[data-web-template="18"]) #tt18 .tt18-native .container{width:100%;max-width:960px;padding:0;margin:auto}
:where(html[data-web-template="18"]) #tt18 .tt18-native .row{margin:0}
:where(html[data-web-template="18"]) #tt18 .tt18-native .animate-box{opacity:1!important;visibility:visible!important;transform:none}
:where(html[data-web-template="18"]) #tt18 .tt18-native .fh5co-heading{margin-bottom:24px}
:where(html[data-web-template="18"]) #tt18 .tt18-native h2{font:400 clamp(2rem,5vw,3.4rem)/1.15 "Bodoni Moda",Georgia,serif;color:#522e27;letter-spacing:-.025em;margin:0 0 22px;text-align:center}
:where(html[data-web-template="18"]) #tt18 .tt18-native h3{font:500 1.4rem/1.4 "Bodoni Moda",Georgia,serif;color:#522e27;margin:0 0 12px}
:where(html[data-web-template="18"]) #tt18 .tt18-native h4{font:400 1rem/1.65 Jost,Arial,sans-serif;color:#75635a;margin:0 0 24px}
:where(html[data-web-template="18"]) #tt18 .tt18-native [id="fh5co-testimonial"],:where(html[data-web-template="18"]) #tt18 .tt18-native #fh5co-started,:where(html[data-web-template="18"]) #tt18 .tt18-native .fh5co-section{background:none!important;padding:0;color:inherit}
:where(html[data-web-template="18"]) #tt18 .tt18-native .overlay,:where(html[data-web-template="18"]) #tt18 .tt18-native>hr{display:none}
:where(html[data-web-template="18"]) #tt18 .tt18-native form{background:#fffcf7;border:1px solid #e2cabe;border-radius:18px;padding:clamp(18px,4vw,30px);box-shadow:0 12px 35px #5132210b;text-align:left;margin:20px auto;max-width:740px}
:where(html[data-web-template="18"]) #tt18 .tt18-native label{font:500 .9rem/1.5 Jost,Arial,sans-serif;color:#624e43}
:where(html[data-web-template="18"]) #tt18 .tt18-native .form-control{background:#fffaf2!important;border:1px solid #d9c1b4!important;border-radius:10px;color:#38271f!important;font:400 16px/1.6 Jost,Arial,sans-serif;box-shadow:none;padding:14px;max-width:100%}
:where(html[data-web-template="18"]) #tt18 .tt18-native textarea.form-control{height:auto;min-height:150px;resize:vertical}
:where(html[data-web-template="18"]) #tt18 .tt18-native .form-control:focus{outline:2px solid #b5664f;outline-offset:2px}
:where(html[data-web-template="18"]) #tt18 .tt18-native .btn{background:#8f4c39!important;border:1px solid #8f4c39!important;color:#fffaf2!important;border-radius:10px;padding:13px 22px;min-height:48px;white-space:normal;font:500 .95rem/1.4 Jost,Arial,sans-serif;text-transform:none;letter-spacing:.02em}
:where(html[data-web-template="18"]) #tt18 .tt18-native .btn:hover{background:#67382c!important}
:where(html[data-web-template="18"]) #tt18 .tt18-native .btn:focus-visible{outline:3px solid #b5664f;outline-offset:3px}
:where(html[data-web-template="18"]) #tt18 #fh5co-contact .fh5co-contact-info{padding:24px;background:#fffcf7;border:1px solid #e2cabe;border-radius:16px}
:where(html[data-web-template="18"]) #tt18 #fh5co-contact a{color:#8f4c39;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
:where(html[data-web-template="18"]) #tt18 #fh5co-contact ul{padding-left:24px;margin:0}
:where(html[data-web-template="18"]) #tt18 #chatgroup{display:flow-root}
:where(html[data-web-template="18"]) #tt18 #chatgroup>.tt18-chat-heading{width:min(100%,860px);float:none;margin:0 auto;padding:0}
:where(html[data-web-template="18"]) #tt18 #chatgroup .fh5co-heading{float:none;width:100%;margin:0 auto;padding:0;max-width:860px}
:where(html[data-web-template="18"]) #tt18 #messages{margin-top:24px;text-align:left;overflow-wrap:anywhere}
:where(html[data-web-template="18"]) #tt18 #messages>div,:where(html[data-web-template="18"]) #tt18 #messages>article{background:#fffcf7;border:1px solid #e2cabe;border-radius:14px;padding:20px;margin:0 0 14px;box-shadow:0 8px 24px #51322108}
:where(html[data-web-template="18"]) #tt18 .tt18-native .mye-action-closed{background:#f3e6da;border:1px solid #ddc1af;border-radius:16px;color:#624e43;box-shadow:none}
:where(html[data-web-template="18"]) #tt18 #event-slideshow{background:#eadbd0;opacity:1!important;visibility:visible!important;transform:none}
:where(html[data-web-template="18"]) #tt18 #event-slideshow .event-slideshow-shell{--event-slide-accent:#b5664f!important;background:#fffaf2;border:1px solid #dec4b5;box-shadow:0 18px 45px #51322115}
:where(html[data-web-template="18"]) #tt18 #event-slideshow .event-slideshow-heading h2{color:#522e27;font-family:"Bodoni Moda",Georgia,serif}
:where(html[data-web-template="18"]) #tt18 #event-slideshow .event-slideshow-kicker{color:#9b583f}
:where(html[data-web-template="18"]) #tt18 #event-slideshow .event-slideshow-heading{background:#fffaf2}
@media (max-width:560px){:where(html[data-web-template="18"]) #tt18 .tt-download{width:100%;padding:13px}:where(html[data-web-template="18"]) #tt18 .tt18-native{padding:48px 18px}:where(html[data-web-template="18"]) #tt18 .tt18-native [class*="col-"]{float:none;width:100%;margin-left:0;left:auto;right:auto;padding:0}:where(html[data-web-template="18"]) #tt18 #fh5co-contact .fh5co-contact-info{margin-top:20px}}

@media (scripting:none){:where(html[data-web-template="18"]) #tt18 .opening{display:none}:where(html[data-web-template="18"]) #tt18 .site,:where(html[data-web-template="18"]) #tt18 .reveal{opacity:1;transform:none}}

/* ===== V5 : interactions, contribution et pied de page du modèle 18 ===== */
body[data-web-template="18"] #tt18 :is(.tt-download,.solid-btn,.btn){position:relative;isolation:isolate}
body[data-web-template="18"] #tt18 .tt18-action-pulse{animation:tt18ButtonBounce .65s cubic-bezier(.2,.8,.3,1)}
body[data-web-template="18"] #tt18 .tt18-action-pulse::after{content:"";position:absolute;inset:-4px;border:2px solid #c8896c;border-radius:inherit;pointer-events:none;animation:tt18ButtonRing .7s ease-out forwards}
@keyframes tt18ButtonBounce{0%,100%{scale:1}35%{scale:.96}65%{scale:1.025}}
@keyframes tt18ButtonRing{from{opacity:.8;scale:.95}to{opacity:0;scale:1.12}}
@keyframes tt18DownloadSpin{to{transform:rotate(360deg)}}
body[data-web-template="18"] #tt18 .tt18-is-downloading{cursor:progress;filter:saturate(.7)}
body[data-web-template="18"] #tt18 .tt18-is-downloading .tt-download-icon svg{visibility:hidden}
body[data-web-template="18"] #tt18 .tt18-is-downloading .tt-download-icon{position:relative}
body[data-web-template="18"] #tt18 .tt18-is-downloading .tt-download-icon::after{content:"";position:absolute;width:24px;height:24px;border:2px solid #ffffff55;border-top-color:#fffaf2;border-radius:50%;animation:tt18DownloadSpin .85s linear infinite}
body[data-web-template="18"] #tt18 .tt18-download-status{font:400 .8rem/1.6 Jost,Arial,sans-serif;color:#785c4e;max-width:440px;margin:12px 0 0}
body[data-web-template="18"] #tt18 #contributionTriggerContainer{display:flex;justify-content:center;align-items:center;text-align:center;width:100%}
body[data-web-template="18"] #tt18 #openContributionModal{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:0 auto;min-height:52px}
body[data-web-template="18"].contribution-modal-open{overflow:hidden}
body[data-web-template="18"] #contributionModal{position:fixed;inset:0;z-index:220000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:#2b1914b8;backdrop-filter:blur(9px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s;font:400 16px/1.6 Jost,Arial,sans-serif;color:#624e43}
body[data-web-template="18"] #contributionModal.open{opacity:1;visibility:visible;pointer-events:auto}
body[data-web-template="18"] #contributionModal *{box-sizing:border-box}
body[data-web-template="18"] #contributionModal .contribution-modal{position:relative;width:min(100%,650px);max-height:calc(100dvh - 40px);overflow:auto;padding:40px 32px 30px;background:linear-gradient(145deg,#fffdf7,#f5e7d9);border:1px solid #dfbfa9;border-radius:24px;box-shadow:0 28px 90px #20120f66;transform:translateY(22px) scale(.97);transition:transform .3s}
body[data-web-template="18"] #contributionModal.open .contribution-modal{transform:none}
body[data-web-template="18"] #contributionModal .contribution-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid #d9bba7;background:#f0ddcd;color:#70422f;cursor:pointer}
body[data-web-template="18"] #contributionModal .tt18-modal-kicker{font:500 .65rem Cinzel,serif;letter-spacing:.18em;text-transform:uppercase;color:#a6684d}
body[data-web-template="18"] #contributionModal h2{font:400 clamp(1.8rem,5vw,2.6rem)/1.2 'Bodoni Moda',Georgia,serif;color:#522e27;margin:12px 0}
body[data-web-template="18"] #contributionModal .contribution-modal-header{padding-right:10px;margin-bottom:24px}
body[data-web-template="18"] #contributionModal .contribution-modal-header p{font-size:.9rem;color:#846959}
body[data-web-template="18"] #contributionModal .contribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body[data-web-template="18"] #contributionModal label{display:block;margin-bottom:7px;font-size:.8rem;font-weight:500}
body[data-web-template="18"] #contributionModal .contribution-input-wrap{display:flex;align-items:center;gap:10px;border:1px solid #d8baa4;border-radius:10px;background:#fffdf8;padding:0 12px}
body[data-web-template="18"] #contributionModal :is(input:not([type="hidden"]):not([type="radio"]),select,textarea){font:inherit;font-size:16px;color:#52382c;background:transparent;border:0;min-width:0;width:100%;padding:12px 0;outline-offset:3px}
body[data-web-template="18"] #contributionModal .contribution-helper{display:block;font-size:.72rem;color:#8a7365;margin-top:6px}
body[data-web-template="18"] #contributionModal .contribution-payment-section{margin:24px 0}
body[data-web-template="18"] #contributionModal .contribution-payment-title{font-size:.85rem;margin-bottom:12px}
body[data-web-template="18"] #contributionModal .contribution-payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body[data-web-template="18"] #contributionModal .payment-method-card{position:relative;background:#fffbf4;border:1px solid #d9bca7;border-radius:12px;padding:15px;cursor:pointer}
body[data-web-template="18"] #contributionModal .payment-method-card:has(input:checked){border-color:#a95e46;background:#f2decd;box-shadow:0 0 0 2px #b5664f22}
body[data-web-template="18"] #contributionModal .payment-method-content{display:flex;gap:10px;align-items:center;margin-top:7px}
body[data-web-template="18"] #contributionModal .payment-method-text strong{display:block;font-size:.85rem}
body[data-web-template="18"] #contributionModal .payment-method-text small{display:block;font-size:.7rem;color:#8a7060}
body[data-web-template="18"] #contributionModal input[type="radio"]{accent-color:#9c533d}
body[data-web-template="18"] #contributionModal .contribution-submit-wrapper button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;padding:16px;border:1px solid #954f3a;border-radius:12px;background:linear-gradient(135deg,#b5664f,#7d402f);color:#fffaf2;font:500 1rem Jost,Arial,sans-serif;cursor:pointer}
body[data-web-template="18"] #contributionModal button:disabled{opacity:.65;cursor:wait}
body[data-web-template="18"] #contributionModal .contribution-payment-message{margin-top:16px;padding:12px;border-radius:10px;font-size:.85rem;overflow-wrap:anywhere}
body[data-web-template="18"] #contributionModal .payment-error{background:#fce5df;color:#8a3024}
body[data-web-template="18"] #contributionModal .payment-success{background:#e3efe0;color:#365e30}
body[data-web-template="18"] #contributionModal .payment-info{background:#eee1d3;color:#704b36}
body[data-web-template="18"] #contributionModal :focus-visible{outline:2px solid #a7654b;outline-offset:3px}
body[data-web-template="18"] #tt18 .tt18-footer-brand{max-width:650px;margin:32px auto 0;padding-top:26px;border-top:1px solid #e7c5af33;font:400 .8rem/1.8 Jost,Arial,sans-serif;color:#d3b8a6}
body[data-web-template="18"] #tt18 .tt18-footer-brand p{margin:5px 0}
body[data-web-template="18"] #tt18 .tt18-footer-brand a{color:#f4dcc8;text-decoration:none}
body[data-web-template="18"] #tt18 .tt18-footer-brand nav{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:18px}
body[data-web-template="18"] #tt18 .tt18-footer-brand nav a{padding:9px 15px;border:1px solid #d3a68b55;border-radius:999px}
@media(max-width:540px){body[data-web-template="18"] #contributionModal{padding:12px}body[data-web-template="18"] #contributionModal .contribution-modal{padding:40px 20px 24px;max-height:calc(100dvh - 24px)}body[data-web-template="18"] #contributionModal .contribution-grid,body[data-web-template="18"] #contributionModal .contribution-payment-methods{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body[data-web-template="18"] #tt18 .tt18-action-pulse,body[data-web-template="18"] #tt18 .tt18-action-pulse::after,body[data-web-template="18"] #tt18 .tt18-is-downloading .tt-download-icon::after{animation:none}body[data-web-template="18"] #contributionModal,body[data-web-template="18"] #contributionModal .contribution-modal{transition:none}}

/* ===== V6 : design commun de tous les boutons du modèle 18 ===== */
body[data-web-template="18"]{
    --tt18-button-bg:#8f4c39;
    --tt18-button-hover:#67382c;
    --tt18-button-text:#fffaf2;
    --tt18-button-radius:10px;
}
/* Les identifiants dans :is donnent la priorité aux anciennes variantes RSVP,
   téléchargement et publication, y compris leurs couleurs inline. */
body[data-web-template="18"] :is(#tt18,#contributionModal,#eventSlideshowLightbox) :is(#openContributionModal,#guestbooked,button,.btn,.open-btn,.solid-btn,.tt-download){
    box-sizing:border-box;
    background:var(--tt18-button-bg)!important;
    background-image:none!important;
    color:var(--tt18-button-text)!important;
    border:1px solid var(--tt18-button-bg)!important;
    border-radius:var(--tt18-button-radius)!important;
    box-shadow:none!important;
    font-family:Jost,Arial,sans-serif!important;
    font-weight:500!important;
    text-decoration:none!important;
    text-transform:none!important;
    letter-spacing:.02em!important;
    cursor:pointer;
    transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
body[data-web-template="18"] #tt18 :is(#openContributionModal,#guestbooked,.btn,.open-btn,.solid-btn,.tt-download),
body[data-web-template="18"] #contributionModal .contribution-submit-wrapper button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:52px!important;
    padding:13px 22px!important;
    max-width:100%;
    font-size:.95rem!important;
    line-height:1.4!important;
    white-space:normal;
    text-align:center;
}
body[data-web-template="18"] :is(#tt18,#contributionModal,#eventSlideshowLightbox) :is(#openContributionModal,#guestbooked,button,.btn,.open-btn,.solid-btn,.tt-download):hover:not(:disabled):not([aria-disabled="true"]){
    background:var(--tt18-button-hover)!important;
    border-color:var(--tt18-button-hover)!important;
    color:var(--tt18-button-text)!important;
}
body[data-web-template="18"] :is(#tt18,#contributionModal,#eventSlideshowLightbox) :is(#openContributionModal,#guestbooked,button,.btn,.open-btn,.solid-btn,.tt-download):focus-visible{
    outline:3px solid #d49a7d!important;
    outline-offset:4px!important;
}
body[data-web-template="18"] :is(#tt18,#contributionModal,#eventSlideshowLightbox) :is(#openContributionModal,#guestbooked,button,.btn,.open-btn,.solid-btn,.tt-download):is(:disabled,[aria-disabled="true"]){
    opacity:.65;
    cursor:wait;
}
/* Les commandes photo gardent leurs dimensions et leur positionnement.
   L'état sélectionné des miniatures reste explicitement visible. */
body[data-web-template="18"] #tt18 button.event-slideshow-thumb.is-active{
    outline:2px solid #d49a7d;
    outline-offset:2px;
    opacity:1;
}
body[data-web-template="18"] #tt18 .tt-download small{color:var(--tt18-button-text);opacity:.8}
body[data-web-template="18"] #tt18 .tt-download-icon{background:transparent;border-radius:0}
@media(prefers-reduced-motion:reduce){
    body[data-web-template="18"] :is(#tt18,#contributionModal,#eventSlideshowLightbox) :is(button,.btn,.open-btn,.solid-btn,.tt-download){transition:none}
}

/* ===== V8 : composition précédente conservée, sceau décalé ===== */
body[data-web-template="18"] #tt18:not(.opened) #site{visibility:hidden;pointer-events:none}
body[data-web-template="18"] #tt18.opened #site{visibility:visible;pointer-events:auto}
/* Les prénoms restent sur la lettre. Le sceau ne recouvre plus leur centre. */
body[data-web-template="18"] #tt18 .wax{top:auto;bottom:20px;left:auto;right:9%;transform:none;width:46px;height:46px;font-size:.85rem}
body[data-web-template="18"] #tt18 .letter-card strong{max-width:100%;padding:0 8px;font-size:clamp(1.55rem,6vw,2.5rem);line-height:1.2;overflow-wrap:anywhere}
@media(max-height:560px){body[data-web-template="18"] #tt18 .wax{top:auto;bottom:12px;left:auto;right:9%;width:38px;height:38px;font-size:.72rem}body[data-web-template="18"] #tt18 .letter-card strong{font-size:1.8rem}}

/* ===== V9 : invitation à ouvrir, halo doux et éclat au clic ===== */
body[data-web-template="18"] #tt18 #openInvitation{position:relative;isolation:isolate;overflow:visible;transform-origin:center}
body[data-web-template="18"] #tt18 #openInvitation:not(:disabled){animation:tt18InviteFloat 3.2s ease-in-out infinite}
body[data-web-template="18"] #tt18 #openInvitation::before{content:"";position:absolute;inset:-5px;border:1px solid #bb795d;border-radius:14px;pointer-events:none;opacity:0;animation:tt18InviteHalo 3.2s ease-out infinite}
body[data-web-template="18"] #tt18 #openInvitation::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#fff4df33 45%,#fff4df66 50%,transparent 68%);background-size:280% 100%;background-position:130% 0;animation:tt18InviteShimmer 4.8s ease-in-out infinite}
body[data-web-template="18"] #tt18 #openInvitation .tt18-open-label,body[data-web-template="18"] #tt18 #openInvitation .tt18-open-arrow{position:relative;z-index:1}
body[data-web-template="18"] #tt18 #openInvitation .tt18-open-arrow{display:inline-block;animation:tt18ArrowNudge 3.2s ease-in-out infinite}
body[data-web-template="18"] #tt18 #openInvitation:hover:not(:disabled),body[data-web-template="18"] #tt18 #openInvitation:focus-visible:not(:disabled){animation-play-state:paused}
body[data-web-template="18"] #tt18 #openInvitation.tt18-open-celebrate{opacity:1;animation:tt18OpenPop .7s cubic-bezier(.2,.85,.3,1) both;cursor:progress}
body[data-web-template="18"] #tt18 #openInvitation.tt18-open-celebrate::before{animation:tt18OpenWave 1s ease-out both}
body[data-web-template="18"] #tt18 #openInvitation.tt18-open-celebrate::after{animation:none;opacity:0}
body[data-web-template="18"] #tt18 .tt18-wow-layer{position:fixed;inset:0;z-index:100003;pointer-events:none;overflow:hidden}
body[data-web-template="18"] #tt18 .tt18-wow-particle{position:absolute;display:block;line-height:1;font:400 19px/1 Georgia,serif;color:var(--spark-color);opacity:0;pointer-events:none;text-shadow:0 0 9px #fff0cf66;animation:tt18SparkBurst 1.2s cubic-bezier(.18,.7,.32,1) var(--spark-delay) both}
body[data-web-template="18"] #tt18 .tt18-opening-wow .wax{transition:opacity .35s ease,filter .35s ease;filter:drop-shadow(0 0 12px #f9d6a2)}
@keyframes tt18InviteFloat{0%,100%{transform:translateY(0)}45%{transform:translateY(-3px)}60%{transform:translateY(-3px)}}
@keyframes tt18InviteHalo{0%,15%{opacity:0;scale:1}25%{opacity:.55;scale:1}80%,100%{opacity:0;scale:1.09}}
@keyframes tt18InviteShimmer{0%,40%{background-position:130% 0;opacity:0}48%{opacity:1}78%{background-position:-35% 0;opacity:0}100%{background-position:-35% 0;opacity:0}}
@keyframes tt18ArrowNudge{0%,30%,75%,100%{transform:translate(0,0)}45%,60%{transform:translate(3px,-3px)}}
@keyframes tt18OpenPop{0%{transform:scale(1)}25%{transform:scale(.94)}60%{transform:scale(1.045)}100%{transform:scale(1)}}
@keyframes tt18OpenWave{0%{opacity:.9;scale:1}100%{opacity:0;scale:1.3}}
@keyframes tt18SparkBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}12%{opacity:1}75%{opacity:.8}100%{opacity:0;transform:translate(calc(-50% + var(--spark-x)),calc(-50% + var(--spark-y))) rotate(var(--spark-turn)) scale(.6)}}
@media(prefers-reduced-motion:reduce){
 body[data-web-template="18"] #tt18 #openInvitation,
 body[data-web-template="18"] #tt18 #openInvitation:not(:disabled),
 body[data-web-template="18"] #tt18 #openInvitation::before,
 body[data-web-template="18"] #tt18 #openInvitation::after,
 body[data-web-template="18"] #tt18 #openInvitation .tt18-open-arrow{animation:none!important;transform:none}
 body[data-web-template="18"] #tt18 #openInvitation::before,
 body[data-web-template="18"] #tt18 #openInvitation::after,
 body[data-web-template="18"] #tt18 .tt18-wow-layer{display:none}
}

/* ============================================================
   MODÈLE WEB 19 — ÉDITORIAL PRESTIGE V2
   CONSOLIDÉ : aucun appel à editorial-prestige.css
   Les modèles 1..18 et PDF restent isolés.
   ============================================================ */
/* MyEinvite Web Model 19 / Editorial Prestige. Scoped, no dependencies. */
html[data-web-template="19"]{scroll-behavior:smooth;background:#f4f0e9}
body[data-web-template="19"]{--ep19-black:#101010;--ep19-paper:#f4f0e9;--ep19-white:#faf9f6;--ep19-gold:var(--ep19-accent,#c0ae96);--ep19-font:'Montserrat',Arial,sans-serif;--ep19-title:'Cormorant Garamond',Georgia,serif;margin:0!important;background:var(--ep19-paper)!important;color:var(--ep19-black)!important;font-family:var(--ep19-font)!important;overflow-x:hidden}
body[data-web-template="19"].ep19-locked{overflow:hidden!important}
body[data-web-template="19"] :is(h1,h2,h3,h4,h5,h6){font-family:var(--ep19-title)}
body[data-web-template="19"] .ep19{position:relative;z-index:1;isolation:isolate;font-family:var(--ep19-font);font-size:14px;color:var(--ep19-black);background:var(--ep19-paper)}
body[data-web-template="19"] .ep19 *,body[data-web-template="19"] .ep19 *::before,body[data-web-template="19"] .ep19 *::after{box-sizing:border-box}
body[data-web-template="19"] .ep19 a,body[data-web-template="19"] .ep19 button{touch-action:manipulation}
body[data-web-template="19"] .ep19 a:focus-visible,body[data-web-template="19"] .ep19 button:focus-visible{outline:3px solid #927657;outline-offset:5px}
.ep19-cover{position:fixed;inset:0;z-index:2147483600;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:clamp(12px,4vw,40px);background:#11100f;color:#fff;perspective:1800px;transition:opacity .65s ease,visibility .65s ease}
.ep19-ambient{position:absolute;inset:-10%;background:radial-gradient(ellipse at 25% 40%,#4c423a55,transparent 50%),radial-gradient(ellipse at 85% 70%,#7f695244,transparent 45%);animation:ep19Ambient 11s ease-in-out infinite alternate;pointer-events:none}
.ep19-fold-stage{position:relative;width:min(460px,80vw);height:min(68vh,685px);min-height:390px;transform-style:preserve-3d;filter:drop-shadow(0 24px 55px #0009);isolation:isolate}
.ep19-fold{position:absolute;inset:0;transform-style:preserve-3d;backface-visibility:hidden;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff15}
.ep19-fold-center{z-index:3;background:#1b1a18;display:grid;place-items:center}
.ep19-cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(.95);transform:scale(1.035);animation:ep19Zoom 14s ease-in-out infinite alternate}
.ep19-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0006 2%,#0001 43%,#000b 100%)}
.ep19-cover-copy{position:relative;z-index:4;padding:36px 24px;width:100%;height:100%;display:flex;align-items:center;justify-content:end;flex-direction:column;text-align:center;gap:14px}
.ep19-cover-copy .ep19-topline{margin-top:auto;letter-spacing:.32em;font-size:10px;font-weight:600}
.ep19-cover-copy h1{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:clamp(40px,9vw,72px)!important;line-height:.93!important;font-weight:400!important;color:#fff!important;margin:12px 0!important;text-shadow:0 2px 9px #0006}
.ep19-dateline{font-size:12px;letter-spacing:.27em;text-transform:uppercase}
.ep19-open{margin:25px auto 4px;min-height:52px;max-width:100%;display:flex;gap:27px;align-items:center;justify-content:space-between;background:#f7f3ea;color:#161514;border:1px solid #f5eddf;border-radius:0;padding:13px 18px;font-family:var(--ep19-font);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700;cursor:pointer;box-shadow:0 5px 25px #0005;animation:ep19ButtonBreath 2.7s ease-in-out infinite}
.ep19-open:hover{background:white;transform:translateY(-3px)}
.ep19-open span:last-child{font-size:22px;font-weight:400}
.ep19-fold-left,.ep19-fold-right{display:grid;place-items:center;background:#e9e2d7;z-index:2;transform-origin:50% 50%;transition:transform 1.25s cubic-bezier(.21,.72,.18,1);pointer-events:none;opacity:0}
.ep19-fold-left{transform-origin:left center;background:linear-gradient(120deg,#f4efe6,#ded3c2)}
.ep19-fold-right{transform-origin:right center;background:linear-gradient(90deg,#ede6db,#fcf9f1)}
.ep19-fold-face{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:30px;color:#302821;text-align:center}
.ep19-fold-num{letter-spacing:.2em;font-size:10px}
.ep19-fold-line{width:70%;height:1px;background:#aa9984;margin:auto}
.ep19-fold-monogram{font-family:var(--ep19-title);font-size:110px;font-style:italic;font-weight:300;line-height:1.3}
.ep19-fold-word{font-family:var(--ep19-title);font-size:32px;font-style:italic}
.ep19-cover-footnote{margin:20px 0 0;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#d0c7ba;text-align:center}
.ep19-opening .ep19-fold-left,.ep19-opening .ep19-fold-right{opacity:1}
.ep19-opening .ep19-fold-left{animation:ep19FoldLeft 1.6s cubic-bezier(.16,.8,.3,1) forwards;z-index:4}
.ep19-opening .ep19-fold-right{animation:ep19FoldRight 1.6s cubic-bezier(.16,.8,.3,1) forwards;z-index:4}
.ep19-opening .ep19-fold-center{animation:ep19Center .9s ease forwards}
.ep19-opening .ep19-open{pointer-events:none;animation:none}
.ep19-opened .ep19-cover{opacity:0;visibility:hidden;pointer-events:none}
.ep19-main{background:var(--ep19-paper);overflow:hidden}
.ep19-masthead{display:flex;justify-content:space-between;gap:15px;padding:16px clamp(18px,5vw,70px);font-size:10px;letter-spacing:.22em;font-weight:700;border-bottom:1px solid #d5cdc2}
.ep19-editorial{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--ep19-black);color:#fff}
.ep19-editorial-image{position:relative;min-height:570px;background:#282725;filter:grayscale(1);overflow:hidden}
.ep19-image-index{position:absolute;bottom:30px;left:32px;font-size:9px;letter-spacing:.24em;color:#fff}
.ep19-editorial-panel{min-height:580px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10% 12%;text-align:center}
.ep19-kicker{display:block;font-family:var(--ep19-font);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.ep19-script{font-family:'Great Vibes',cursive!important;font-size:clamp(42px,5vw,70px)!important;font-weight:400!important;line-height:1.2;margin:18px 0 -8px;color:var(--ep19-gold)}
.ep19-editorial-panel h2,.ep19-invite h2,.ep19-finale h2{font-family:var(--ep19-title)!important;font-weight:400!important;line-height:.98!important;font-size:clamp(52px,7vw,105px)!important;color:inherit!important;margin:22px 0!important}
.ep19-editorial-panel>p:not(.ep19-script){font-family:var(--ep19-title);font-size:24px;font-style:italic;line-height:1.4;max-width:365px;color:#e5ded4}
.ep19-editorial-panel strong{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ep19-editorial-panel>span:last-child{font-size:12px;letter-spacing:.05em;color:#bcb1a6;margin-top:14px}
.ep19-line-mark{height:1px;width:100px;background:var(--ep19-gold);margin:40px auto}
.ep19-date{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:5%;max-width:1240px;margin:0 auto;padding:clamp(60px,10vw,145px) clamp(22px,5vw,65px)}
.ep19-date h2,.ep19-dress h2,.ep19-access h2{font-family:var(--ep19-title)!important;font-size:clamp(54px,7vw,96px)!important;line-height:1!important;font-weight:400!important;margin:25px 0!important;color:var(--ep19-black)!important}
.ep19-date h2 em{font-weight:300}
.ep19-date-copy>p{font-family:var(--ep19-title);font-size:24px;margin:24px 0 32px}
.ep19-cta{min-height:48px;display:inline-flex;align-items:center;gap:25px;background:#111!important;border:1px solid #111!important;color:#fff!important;padding:13px 20px!important;font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;border-radius:0!important;cursor:pointer}
.ep19-date-art{position:relative;min-height:490px;padding:24px 4% 50px}
.ep19-paper-calendar{width:min(420px,93%);min-height:460px;background:#fffdf9;box-shadow:8px 16px 55px #1e191725;padding:35px 35px 45px;transform:rotate(-5deg);border:1px solid #eee8dd}
.ep19-month{font-family:var(--ep19-title);font-size:43px;text-align:center;text-transform:capitalize}
.ep19-year{text-align:center;letter-spacing:.4em;font-size:11px;margin:3px 0 28px}
.ep19-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;align-items:center}
.ep19-days>span{aspect-ratio:1;display:grid;place-items:center;font-size:12px;position:relative}
.ep19-days .ep19-week{font-weight:700;font-size:10px;color:#847b71}
.ep19-days .ep19-day-selected{color:#fff;z-index:0;font-weight:700}
.ep19-days .ep19-day-selected:before{content:'';position:absolute;inset:3px;z-index:-1;border-radius:50%;background:#111}
.ep19-polaroid{position:absolute;right:0;bottom:0;width:36%;min-width:135px;transform:rotate(11deg);padding:9px 9px 13px;background:white;box-shadow:4px 12px 35px #0004;margin:0}
.ep19-polaroid img{display:block;aspect-ratio:4/5;width:100%;object-fit:cover;filter:grayscale(1)}
.ep19-polaroid figcaption{font-family:'Great Vibes',cursive;font-size:26px;text-align:center;padding-top:8px}
.ep19-invite{text-align:center;background:#fffdf8;padding:100px 24px 95px;border-block:1px solid #ded8cd}
.ep19-invite h2{font-size:clamp(50px,6vw,78px)!important}
.ep19-invite-frame{max-width:580px;margin:35px auto;padding:36px 30px;border-top:1px solid #bdb1a1;border-bottom:1px solid #bdb1a1;display:flex;flex-direction:column;gap:10px}
.ep19-invite-frame>span,.ep19-invite-frame>small{letter-spacing:.19em;text-transform:uppercase;font-size:10px;color:#817668}
.ep19-invite-frame strong{font-family:var(--ep19-title);font-size:clamp(30px,5vw,46px);font-weight:500}
.ep19-invite-frame p{font-size:12px;color:#74685d}
.ep19-invite>p:not(.ep19-script){font-family:var(--ep19-title);font-size:25px}
.ep19-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;margin-top:30px}
.ep19-actions a{display:flex;justify-content:space-between;gap:20px;min-height:46px;align-items:center;padding:10px 17px;border:1px solid #111;color:#111;text-decoration:none!important;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ep19-actions a:hover{background:#111;color:white}
.ep19-section-label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;font-weight:700;letter-spacing:.19em;padding:20px clamp(22px,5vw,70px);border-bottom:1px solid #dfd7cd;border-top:1px solid #dfd7cd;background:#ede7de}
.ep19-content-slot:empty + .ep19-section-label{display:none}
.ep19-content-slot:empty{display:none}
.ep19-dress{background:#111;color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;padding:95px 20px}
.ep19-dress h2{font-size:clamp(46px,7vw,74px)!important;color:#fff!important}
.ep19-dress-icon{font-size:44px;margin-top:20px;color:#c0ae96}
.ep19-dress p{font-family:var(--ep19-title);font-size:26px;line-height:1.5;color:#ebe6dd}
.ep19-access{padding:95px 20px;text-align:center;background:#f8f4ed}
.ep19-access h2{font-size:clamp(46px,6vw,82px)!important}
.ep19-qr{margin:30px auto;width:175px;height:175px;padding:12px;border:1px solid #c7b9a6;background:white;box-shadow:0 10px 24px #0001}
.ep19-qr img{width:100%;height:100%;object-fit:contain;display:block}
.ep19-access>p{font-family:var(--ep19-title);font-size:24px}
.ep19-access .ep19-access-place{font-family:var(--ep19-font);letter-spacing:.08em;font-size:12px}
.ep19-finale{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px;background:#101010;color:white}
.ep19-finale h2{font-size:clamp(52px,8vw,98px)!important}
.ep19-finale p:not(.ep19-script){letter-spacing:.17em;text-transform:uppercase;font-size:12px}
.ep19-finale-divider{width:90px;height:1px;background:#c0ae96;margin:24px}
.ep19-finale>a{color:white;font-size:35px;margin:22px;text-decoration:none}
.ep19-finale>.ep19-footer-credit{display:inline-block;font:400 11px/1.6 var(--ep19-font),Arial,sans-serif;letter-spacing:.1em;color:#b5a99a;text-decoration:none;margin:15px 0 0;transition:color .2s ease,opacity .2s ease}
.ep19-finale>.ep19-footer-credit:is(:hover,:focus-visible){color:#fff;text-decoration:underline;text-underline-offset:4px}
/* Embed original functionality inside editorial slots: no form recreation. */
body[data-web-template="19"] #ep19-main .container{max-width:1040px;width:100%;margin:auto}
body[data-web-template="19"] #ep19-main .fh5co-heading{padding-top:22px;padding-bottom:15px;text-align:center!important}
body[data-web-template="19"] #ep19-main .fh5co-heading h2{font-family:var(--ep19-title)!important;font-weight:400!important;font-size:clamp(42px,6vw,72px)!important;line-height:1.06!important;color:#111!important}
body[data-web-template="19"] #ep19-main .fh5co-heading h3{font-family:var(--ep19-title)!important;font-size:clamp(25px,4vw,39px)!important;color:#2a2622!important;line-height:1.15!important}
body[data-web-template="19"] #ep19-main :is(#fh5co-couple,#fh5co-testimonial,#fh5co-contact,#fh5co-started,#fh5co-testimonial,.fh5co-bg,.fh5co-section){background:transparent!important;box-shadow:none!important;color:#211d19!important}
body[data-web-template="19"] #ep19-main .overlay{display:none!important}
body[data-web-template="19"] #ep19-main :is(#schedule,#ourstory,#testimonial,#fh5co-contact,#confirmation,#boissons,#guestbook,#chatgroup,#checkintwo){width:100%;margin:auto!important;padding:60px 20px!important;max-width:1100px;border:0!important}
body[data-web-template="19"] #ep19-main :is(#schedule,#ourstory,#confirmation,#boissons,#guestbook){background:#faf9f6;border-radius:0}
body[data-web-template="19"] #ep19-main #schedule .row>.fh5co-heading:not(:first-child){border:1px solid #e2d8c9;padding:22px;margin-block:12px!important;background:#fffdf8;min-height:0}
body[data-web-template="19"] #ep19-main #schedule .row>.fh5co-heading:not(:first-child) h3{font-size:31px!important}
body[data-web-template="19"] #ep19-main :is(p,li,label){color:#292522}
body[data-web-template="19"] #ep19-main :is(input,textarea,select){border-radius:0;max-width:100%}
body[data-web-template="19"] #ep19-main :is(button.btn-primary,a.btn-primary){background:#111!important;border:1px solid #111!important;border-radius:2px!important;color:#fff!important;padding:12px 22px!important;min-height:46px}
body[data-web-template="19"] #ep19-main #fh5co-contact .col-md-push-6{display:none!important}
body[data-web-template="19"] #ep19-main #contributionTriggerContainer{margin:0 auto;padding:38px 20px;background:#111;text-align:center}
body[data-web-template="19"] #ep19-main #contributionTriggerContainer .btn{background:#f4f0e9!important;color:#111!important}
body[data-web-template="19"] #ep19-main #guestbook textarea{background:white;border:1px solid #cbbfac;padding:17px;min-height:140px}
body[data-web-template="19"] #ep19-main #messages{background:#f7f3ec;padding:25px;border:1px solid #e4d8c9}
body[data-web-template="19"] #ep19-main #messages .guestbook-message{background:white;border:1px solid #e5dacc;border-radius:3px}
body[data-web-template="19"] #ep19-main #event-slideshow{width:100%;max-width:1000px;margin:0 auto 50px}
body[data-web-template="19"] #ep19-main .event-slideshow-shell{border-radius:0}
body[data-web-template="19"] #ep19-main #fh5co-couple>.container>.row:first-child .fh5co-heading{padding:75px 20px 40px}
body[data-web-template="19"] #ep19-main .animate-box{opacity:1!important;visibility:visible!important;transform:none!important}
body[data-web-template="19"] #ep19-main a{overflow-wrap:anywhere}
body[data-web-template="19"] #ep19-main #fh5co-contact .fh5co-contact-info ul{padding:0;list-style:none}
body[data-web-template="19"] #ep19-main #fh5co-contact .fh5co-contact-info li{padding-block:10px}
/* Existing calendar controller expects `open` and menu-item nodes. */
body[data-web-template="19"] #ep19 .ep19-calendar-dropdown{position:relative;display:inline-block;max-width:100%}
body[data-web-template="19"] #ep19 .calendar-dropdown-menu{position:absolute!important;top:calc(100% + 5px)!important;left:0!important;right:auto!important;z-index:45!important;max-width:min(400px,87vw);min-width:min(370px,87vw);display:none!important;grid-template-columns:repeat(3,1fr);gap:7px!important;background:#fff!important;padding:12px!important;box-shadow:0 15px 45px #0003;border:1px solid #ded4c5}
body[data-web-template="19"] #ep19 .calendar-dropdown-menu.open{display:grid!important}
body[data-web-template="19"] #ep19 .calendar-dropdown-menu button{background:#f2eee8!important;min-height:42px;color:#111!important;border:0!important;border-radius:0!important;font-size:12px;cursor:pointer}
body[data-web-template="19"] #ep19 .calendar-toast{position:absolute;left:0;top:calc(100% + 155px);z-index:50;max-width:90vw}
/* Remove legacy elements not part of the new experience. */
body[data-web-template="19"] :is(#event-loader,.fh5co-loader,.js-top,.mi-gold-breadcrumb,.fh5co-nav){display:none!important}
body[data-web-template="19"] #ep19-main :is(#guestbook,#chatgroup) hr{display:none}
@keyframes ep19Ambient{to{transform:translate3d(2%,1%,0) scale(1.06)}}
@keyframes ep19Zoom{to{transform:scale(1.12)}}
@keyframes ep19ButtonBreath{50%{box-shadow:0 4px 35px #fff5,0 4px 40px #0006}}
@keyframes ep19FoldLeft{0%{transform:rotateY(0);opacity:0}10%{opacity:1}100%{transform:rotateY(-155deg);opacity:1}}
@keyframes ep19FoldRight{0%{transform:rotateY(0);opacity:0}15%{opacity:1}100%{transform:rotateY(155deg);opacity:1}}
@keyframes ep19Center{to{transform:scale(.94)}}
@media (max-width:760px){
 .ep19-cover{padding:8px}.ep19-fold-stage{width:min(340px,86vw);height:min(68vh,570px);min-height:340px}
 .ep19-editorial{grid-template-columns:1fr}.ep19-editorial-image{min-height:420px}.ep19-editorial-panel{min-height:430px;padding:60px 25px}
 .ep19-date{grid-template-columns:1fr;padding:70px 22px}.ep19-date-art{min-height:420px}.ep19-paper-calendar{width:min(330px,85%);min-height:415px;padding:25px}.ep19-polaroid{width:32%}
 .ep19-editorial-panel h2,.ep19-invite h2,.ep19-finale h2{font-size:clamp(46px,12vw,76px)!important}
 .ep19-access,.ep19-invite,.ep19-dress{padding-block:75px}
 body[data-web-template="19"] #ep19-main .container{padding-inline:0}
 body[data-web-template="19"] #ep19-main :is(#schedule,#ourstory,#testimonial,#fh5co-contact,#confirmation,#boissons,#guestbook,#chatgroup,#checkintwo){padding:35px 16px!important}
 body[data-web-template="19"] #ep19-main #schedule .row>.fh5co-heading:not(:first-child){margin:8px 0!important}
}
@media (max-width:380px){.ep19-fold-stage{width:88vw;min-height:310px;height:64vh}.ep19-open{font-size:9px;gap:10px;padding:12px}.ep19-cover-copy{padding:20px 12px}.ep19-cover-copy h1{font-size:44px!important}.ep19-days>span{font-size:10px}.ep19-paper-calendar{padding:15px;min-height:340px}.ep19-date-art{min-height:345px}}
@media (prefers-reduced-motion:reduce){html[data-web-template="19"]{scroll-behavior:auto}body[data-web-template="19"] *,body[data-web-template="19"] *:before,body[data-web-template="19"] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ep19-opening .ep19-fold-left,.ep19-opening .ep19-fold-right{display:none}}

.ep19-editorial-image>img{width:100%;height:100%;min-height:570px;object-fit:cover;object-position:center 36%;display:block}
@media(max-width:760px){.ep19-editorial-image>img{min-height:420px}}
body[data-web-template="19"] #page > :not(#ep19){display:none!important}

body[data-web-template="19"] #ep19-invitation-slot > #fh5co-couple > .container > .row:first-child{display:none!important}


/* Typographie optiquement proche du faire-part de référence :
   élégantes capitales Didone et petit mot manuscrit. */
html[data-web-template="19"] body[data-web-template="19"]{
 --ep19-title:"Bodoni Moda","Didot","Times New Roman",serif;
 --ep19-font:"Jost",Arial,sans-serif;
}
body[data-web-template="19"] .ep19 :is(.ep19-cover-copy h1,.ep19-editorial-panel h2,.ep19-invite h2,.ep19-finale h2,.ep19-date h2,.ep19-month,.ep19-gallery-couple,.ep19-dress h2,.ep19-gift-title){font-family:var(--ep19-title)!important;font-weight:400!important;letter-spacing:-.055em}
body[data-web-template="19"] .ep19 .ep19-script,
body[data-web-template="19"] .ep19 .ep19-date h2 em{font-family:"Pinyon Script","Great Vibes",cursive!important;font-weight:400!important;letter-spacing:0;text-transform:none;font-style:normal}
body[data-web-template="19"] .ep19 .ep19-date h2{font-size:clamp(43px,7.2vw,94px)!important;line-height:1.16!important;white-space:normal}
body[data-web-template="19"] .ep19 .ep19-date h2 em{font-size:1.02em;padding:0 .06em}
body[data-web-template="19"] .ep19 .ep19-cover-copy h1{letter-spacing:-.06em}
body[data-web-template="19"] #ep19 .ep19-masthead{background:#090909;border:0;color:#eee4db;font-family:var(--ep19-font)}
/* Composition éditoriale : d'abord les photos du slideshow personnalisé. */
body[data-web-template="19"] #ep19 .ep19-pre-gallery{background:#090909;color:#fff;padding:28px max(17px,calc((100vw - 860px)/2)) 35px;text-align:center}
body[data-web-template="19"] #ep19 .ep19-gallery-couple{font-size:clamp(34px,6.3vw,70px)!important;color:#fff!important;margin:5px 0 22px!important;line-height:1.03}
body[data-web-template="19"] #ep19 .ep19-gallery-subtitle{font-size:10px;letter-spacing:.27em;color:#d1c8bc;text-transform:uppercase;margin:0 0 8px}
body[data-web-template="19"] #ep19 .ep19-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 auto;max-width:860px}
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure{margin:0;min-width:0;aspect-ratio:3/2.65;overflow:hidden;position:relative;background:#282726}
body[data-web-template="19"] #ep19 .ep19-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.65);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:hover img{transform:scale(1.035);filter:grayscale(.15)}
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:nth-child(3){grid-column:1/-1;aspect-ratio:2.35}
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:nth-child(3) img{object-position:center 38%}
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:only-child{grid-column:1/-1;aspect-ratio:2/1}
body[data-web-template="19"] #ep19 .ep19-gallery-caption{font-size:9px;letter-spacing:.25em;color:#b4a99a;margin:14px 0 0}
/* Sur la vidéo, le calendrier fait partie du bandeau noir. */
body[data-web-template="19"] #ep19 .ep19-editorial{background:#090909}
body[data-web-template="19"] #ep19 .ep19-date{background:#050505!important;color:#fff!important;max-width:none;margin:0;padding:70px max(18px,calc((100vw - 1120px)/2)) 95px;grid-template-columns:1fr;gap:24px;text-align:center}
body[data-web-template="19"] #ep19 .ep19-date-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;order:2}
body[data-web-template="19"] #ep19 .ep19-date .ep19-kicker{display:none}
body[data-web-template="19"] #ep19 .ep19-date h2{color:#fff!important;text-transform:uppercase;margin:18px auto!important}
body[data-web-template="19"] #ep19 .ep19-date-copy>p{color:#dedbd7;font-family:var(--ep19-font);font-size:13px;line-height:1.6}
body[data-web-template="19"] #ep19 .ep19-date-art{order:1;min-height:0;display:flex;align-items:center;flex-direction:column;gap:35px;padding:12px 0}
body[data-web-template="19"] #ep19 .ep19-paper-calendar{background:#050505!important;color:#fdfdfb!important;border:0!important;box-shadow:none!important;transform:none!important;min-height:0;width:min(390px,100%);padding:14px 16px 12px}
body[data-web-template="19"] #ep19 .ep19-month{color:#fff;text-transform:uppercase!important;font-size:clamp(30px,5vw,43px)!important;margin:0 0 15px!important}
body[data-web-template="19"] #ep19 .ep19-year{display:none}
body[data-web-template="19"] #ep19 .ep19-days{gap:5px 3px}
body[data-web-template="19"] #ep19 .ep19-days>span{font-family:var(--ep19-title);font-size:clamp(12px,2.2vw,17px);color:#fff}
body[data-web-template="19"] #ep19 .ep19-days .ep19-week{font-family:var(--ep19-font);color:#fff;font-weight:400;letter-spacing:.1em}
body[data-web-template="19"] #ep19 .ep19-days .ep19-day-selected{color:#fff!important}
body[data-web-template="19"] #ep19 .ep19-days .ep19-day-selected::before{background:transparent;border:1px solid #a95661;inset:1px;box-shadow:0 0 0 2px #491a2038}
body[data-web-template="19"] #ep19 .ep19-date-portraits{width:min(630px,100%);display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px;margin:10px auto 0}
body[data-web-template="19"] #ep19 .ep19-date-portraits figure{margin:0;background:#fff;padding:7px 7px 14px;box-shadow:0 15px 35px #0009;min-width:0}
body[data-web-template="19"] #ep19 .ep19-date-portraits figure:first-child{transform:rotate(-9deg)}
body[data-web-template="19"] #ep19 .ep19-date-portraits figure:nth-child(2){transform:rotate(8deg)}
body[data-web-template="19"] #ep19 .ep19-date-portraits img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.75)}
body[data-web-template="19"] #ep19 .ep19-cta{background:#f8f8f6!important;color:#101010!important;border:1px solid #e8e8e8!important}
body[data-web-template="19"] #ep19 .ep19-cta:hover{background:#ded9d1!important}
/* Bandeau cadeau et tenue : icônes vectorielles fines comme la vidéo. */
body[data-web-template="19"] #ep19 .ep19-gifts{display:grid;place-items:center;gap:15px;background:#060606;color:#fff;padding:72px 18px 65px;text-align:center;border-top:1px solid #ffffff1c}
body[data-web-template="19"] #ep19 .ep19-gifts[hidden]{display:none!important}
body[data-web-template="19"] #ep19 .ep19-gift-symbol,body[data-web-template="19"] #ep19 .ep19-dress-symbol{display:grid;place-items:center;color:#fff;width:64px;height:64px;margin:0 auto}
body[data-web-template="19"] #ep19 .ep19-gift-symbol svg,body[data-web-template="19"] #ep19 .ep19-dress-symbol svg{width:60px;height:60px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body[data-web-template="19"] #ep19 .ep19-gift-title{color:#fff!important;text-transform:uppercase;font-size:clamp(24px,4vw,41px)!important;line-height:1.22;margin:0!important}
body[data-web-template="19"] #ep19 .ep19-gifts .ep19-content-slot{width:100%;max-width:720px}
body[data-web-template="19"] #ep19 .ep19-gifts #contributionTriggerContainer{background:transparent!important;padding:12px!important}
body[data-web-template="19"] #ep19 .ep19-gifts :is(.btn,#openContributionModal){background:#fff!important;color:#111!important;border:1px solid #fff!important;min-height:48px;border-radius:8px!important}
body[data-web-template="19"] #ep19 .ep19-dress{background:#060606!important;border-top:1px solid #ffffff24;padding:65px 18px 87px}
body[data-web-template="19"] #ep19 .ep19-dress .ep19-dress-icon{display:none}
body[data-web-template="19"] #ep19 .ep19-dress .ep19-kicker{color:#fff}
body[data-web-template="19"] #ep19 .ep19-dress h2{color:#fff!important;text-transform:uppercase;font-size:clamp(33px,6vw,61px)!important}
body[data-web-template="19"] #ep19 .ep19-dress p{max-width:520px;color:#fff;font-family:var(--ep19-title);font-size:clamp(21px,4vw,34px);line-height:1.3;text-transform:uppercase}
/* Boissons : reprend les cartes, bouton unique et la densité du modèle 18. */
body[data-web-template="19"] #ep19-main #boissons{background:#f7f0e5!important;padding:68px 15px!important;max-width:1100px}
body[data-web-template="19"] #ep19-main #boissons .fh5co-heading h2{font:400 clamp(35px,5vw,60px)/1.2 "Bodoni Moda",Georgia,serif!important;color:#522e27!important}
body[data-web-template="19"] #ep19-main #boissons :is(h3,h4){color:#765448!important;font-family:"Jost",Arial,sans-serif!important;font-size:clamp(14px,2.5vw,20px)!important;line-height:1.5}
body[data-web-template="19"] #ep19-main #boissons .wrap-testimony{height:100%;padding:8px;margin:0}
body[data-web-template="19"] #ep19-main #boissons .testimony-slide{padding:0!important;background:transparent!important}
body[data-web-template="19"] #ep19-main #boissons form{margin:0}
body[data-web-template="19"] #ep19-main #boissons .row:has(form){display:flex;flex-wrap:wrap;justify-content:center}
body[data-web-template="19"] #ep19-main #boissons .row:has(form)>.col-md-4{display:flex;float:none;margin:0 0 10px}
body[data-web-template="19"] #ep19-main #boissons .row:has(form)>.col-md-4>div{flex:1}
body[data-web-template="19"] #ep19-main #boissons button.btn-primary{width:100%;min-height:68px!important;background:#8f4c39!important;color:#fffaf2!important;border:1px solid #8f4c39!important;border-radius:10px!important;padding:13px!important;font:500 14px/1.45 "Jost",Arial,sans-serif!important;white-space:normal;transition:transform .2s,background .2s}
body[data-web-template="19"] #ep19-main #boissons button.btn-primary:hover:not(:disabled){background:#67382c!important;transform:translateY(-2px)}
/* Livre d'or : le formulaire est le véritable formulaire AJAX du modèle 18. */
body[data-web-template="19"] #ep19-main #guestbook{background:#f7f0e5!important;padding:75px 17px!important}
body[data-web-template="19"] #ep19-main #guestbook form{position:relative;max-width:760px;margin:0 auto;padding:clamp(24px,5vw,42px);border:1px solid #dcbda8;border-radius:22px;background:linear-gradient(145deg,#fffdf8,#f8eddf);box-shadow:0 22px 55px #5e382b12}
body[data-web-template="19"] #ep19-main #guestbook form::before{content:"";position:absolute;inset:9px;border:1px solid #dcbda84d;border-radius:16px;pointer-events:none}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px;text-align:left}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-seal{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:#e9d2c0;color:#8f4c39;font-size:26px}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-kicker{display:block;font:500 .62rem/1.7 Cinzel,serif;letter-spacing:.16em;text-transform:uppercase;color:#a56a50;margin-bottom:7px}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-heading h3{font:500 clamp(1.3rem,3vw,1.8rem)/1.3 "Bodoni Moda",Georgia,serif;margin:0 0 7px;color:#522e27}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-heading p{font-size:.87rem;line-height:1.6;margin:0;color:#786358}
body[data-web-template="19"] #ep19-main #guestbook .form-group{margin:0}
body[data-web-template="19"] #ep19-main #guestbook label{display:block;margin:0 0 10px;letter-spacing:.06em;font-size:.75rem;text-transform:uppercase}
body[data-web-template="19"] #ep19-main #guestbook #message{display:block;width:100%;min-height:180px;padding:20px;line-height:1.8;background:#fffdf9!important;border:1px solid #cfb29e!important;border-radius:14px!important;transition:border-color .2s,box-shadow .2s}
body[data-web-template="19"] #ep19-main #guestbook #message::placeholder{color:#a18a7d;opacity:1}
body[data-web-template="19"] #ep19-main #guestbook #message:focus{outline:none;border-color:#a6644c!important;box-shadow:0 0 0 4px #b5664f1c}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-meta{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;color:#887164;margin:10px 0 24px;font-variant-numeric:tabular-nums}
body[data-web-template="19"] #ep19-main #guestbook #guestbooked{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:52px!important;background:#8f4c39!important;border:1px solid #8f4c39!important;border-radius:10px!important;color:#fffaf2!important;font-size:.9rem;box-shadow:0 9px 22px #8f4c3924;cursor:pointer}
body[data-web-template="19"] #ep19-main #guestbook #guestbooked:disabled{opacity:.6;cursor:wait}
body[data-web-template="19"] #ep19-main #guestbook #messagetext:not(:empty){max-width:760px;margin:18px auto;padding:14px 20px;background:#f0e2d4;border-radius:12px;font-size:.9rem}
/* CHAT ROOM : reprises des cartes bicolores, avatars et grille 2 colonnes du modèle 18 */
body[data-web-template="19"] #ep19-main #chatgroup{background:#f7f0e5!important;display:flow-root;max-width:none;padding:70px 14px!important}
body[data-web-template="19"] #ep19-main #chatgroup .fh5co-heading{max-width:900px;width:100%;margin:0 auto;float:none!important;padding:0;text-align:center}
body[data-web-template="19"] #ep19-main #chatgroup #messages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:840px;width:100%;height:auto;max-height:none;overflow:visible;margin:24px auto 0;padding:14px;background:transparent!important;border:0!important;box-sizing:border-box;text-align:left}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message{position:relative;display:flex;gap:11px;min-width:0;float:none;width:100%;max-width:100%;margin:0;padding:14px;border:1px solid #dfc6b3;border-radius:17px;background:linear-gradient(135deg,#fffdf8,#fbf3e9);box-shadow:0 8px 22px #593c2810;color:#624e43;font-family:"Jost",Arial,sans-serif;transition:transform .2s,box-shadow .2s,border-color .2s;scroll-margin-block:100px}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:hover{transform:translateY(-2px);border-color:#b5664f;box-shadow:0 14px 30px #593c2818}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message::before{color:#e9d5c5}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-avatar{background:linear-gradient(135deg,#efd7c7,#f8eddf);color:#8f4c39;box-shadow:0 6px 14px #8f4c3914}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:nth-child(4n+2) .guestbook-avatar{background:linear-gradient(135deg,#e6c3af,#f4e3d4);color:#7d402f}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:nth-child(4n+3) .guestbook-avatar{background:linear-gradient(135deg,#f0dfc3,#fff3de);color:#876345}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:nth-child(4n) .guestbook-avatar{background:linear-gradient(135deg,#eac5b8,#f7e5d8);color:#924e3b}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-author{color:#8f4c39;font-family:"Jost",Arial,sans-serif;letter-spacing:normal;text-transform:none;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message-text{color:#624e43;font:400 14px/1.7 "Jost",Arial,sans-serif;letter-spacing:normal;text-transform:none;white-space:pre-line}
body[data-web-template="19"] #ep19-main #chatgroup #messages .mye-guestbook-status,body[data-web-template="19"] #ep19-main #chatgroup #messages .tt18-messages-status{grid-column:1/-1;margin:0;padding:24px;border:1px dashed #d4b7a2;border-radius:17px;background:#fffaf2;color:#8b7162;font:400 14px/1.65 "Jost",Arial,sans-serif;text-align:center}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message.mye-message-published{outline:2px solid #b5664f;outline-offset:4px}
body[data-web-template="19"] #ep19-main #guestbook :is(h2,h3),body[data-web-template="19"] #ep19-main #chatgroup :is(h2,h3){color:#522e27!important}
/* Toutes les sections interactives, y compris celle du modèle 18, gardent leur contenu fonctionnel. */
@media(max-width:760px){
 body[data-web-template="19"] #ep19 .ep19-date{padding:55px 17px 80px}
 body[data-web-template="19"] #ep19 .ep19-pre-gallery{padding:22px 12px 28px}
 body[data-web-template="19"] #ep19 .ep19-gallery-grid{gap:5px}
 body[data-web-template="19"] #ep19 .ep19-gallery-grid figure{aspect-ratio:3/4.2}
 body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:nth-child(3){aspect-ratio:2.4}
 body[data-web-template="19"] #ep19 .ep19-paper-calendar{width:min(360px,100%);padding:12px 8px}
 body[data-web-template="19"] #ep19 .ep19-date-art{min-height:0}
 body[data-web-template="19"] #ep19 .ep19-date-portraits{gap:11px;padding:12px 8px}
 body[data-web-template="19"] #ep19-main #boissons .row:has(form)>.col-md-4{width:100%;max-width:450px}
 body[data-web-template="19"] #ep19-main #chatgroup #messages{grid-template-columns:minmax(0,1fr);padding:8px}
 body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-seal{display:none}
 body[data-web-template="19"] #ep19-main #guestbook form{padding:24px 18px}
 body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message{padding:14px}
}
@media(prefers-reduced-motion:reduce){body[data-web-template="19"] #ep19 .ep19-gallery-grid img{transition:none!important}}

/* Prévisualisation sans backend : reproduire le bouton Boisson du formulaire natif 18. */
body[data-web-template="19"] #ep19-main #boissons.ep19-demo{background:#f7f0e5}
body[data-web-template="19"] #ep19-main #boissons.ep19-demo [data-demo="drink"]{background:#8f4c39!important;border:1px solid #8f4c39!important;color:#fffaf2!important;padding:13px 18px;min-height:58px;min-width:145px;border-radius:10px;font:500 14px/1.4 "Jost",Arial,sans-serif;box-shadow:0 8px 18px #8f4c3917}
body[data-web-template="19"] #ep19-main #boissons.ep19-demo [data-demo="drink"][aria-pressed="true"]{background:#67382c!important;box-shadow:0 0 0 3px #b5664f43}
body[data-web-template="19"] #ep19 .ep19-date-portraits figure:only-child{grid-column:1/-1;max-width:280px;margin:auto}


/* Indispensable : les modèles historiques bloquent le scroll sur 1 écran.
   #19 restaure le défilement vertical après ouverture du dépliant. */
html[data-web-template="19"]{height:auto!important;min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}
body[data-web-template="19"]{height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important}
body[data-web-template="19"].ep19-locked{overflow:hidden!important;height:100svh!important}

/* ================================================================
   WEB 19 / V3 — BLACK & IVORY EDITORIAL
   Consolidé dans le CSS existant ; ne touche jamais au modèle 18.
   ================================================================ */
body[data-web-template="19"] #ep19{
  --ep19-ivory:#f4f0e9;
  --ep19-light:#faf9f6;
  --ep19-ink:#101010;
  --ep19-brass:#b6a187;
  --ep19-muted:#665f57;
}
/* 01 — On ouvre sur la vraie photo de couverture, pas sur la galerie. */
body[data-web-template="19"] #ep19 .ep19-photo-intro{display:block;min-height:0;width:100%;background:#090909}
body[data-web-template="19"] #ep19 .ep19-photo-intro .ep19-editorial-image{
  min-height:clamp(510px,81svh,930px);height:clamp(510px,81svh,930px);width:100%;
  overflow:hidden;position:relative;filter:none;isolation:isolate;
}
body[data-web-template="19"] #ep19 .ep19-photo-intro .ep19-editorial-image>img{
  position:absolute;inset:0;width:100%;height:100%;min-height:0;display:block;object-fit:cover;
  object-position:center 37%;filter:grayscale(.78) contrast(1.04);
}
body[data-web-template="19"] #ep19 .ep19-editorial-photo-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.34),transparent 33%,rgba(0,0,0,.07) 50%,rgba(0,0,0,.74));
}
body[data-web-template="19"] #ep19 .ep19-editorial-photo-copy{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;
  align-items:center;text-align:center;gap:17px;padding:clamp(45px,9svh,115px) 16px;
  color:#fff!important;text-shadow:0 3px 28px #000b;
}
body[data-web-template="19"] #ep19 .ep19-photo-eyebrow,
body[data-web-template="19"] #ep19 .ep19-photo-date{font:500 clamp(11px,1.5vw,14px)/1.5 "Jost",sans-serif;letter-spacing:.27em;text-transform:uppercase;color:#fff!important}
body[data-web-template="19"] #ep19 .ep19-editorial-photo-copy h2{
  font:400 clamp(62px,11vw,156px)/.96 "Bodoni Moda",Didot,serif!important;
  letter-spacing:-.078em!important;color:#fff!important;margin:0!important;
  max-width:970px;overflow-wrap:anywhere;
}
body[data-web-template="19"] #ep19 .ep19-image-index{z-index:3;bottom:19px;font-size:9px;color:#faf9f6aa}
body[data-web-template="19"] #ep19 .ep19-story-intro{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  min-height:420px;padding:74px 24px 85px;background:var(--ep19-ivory);color:var(--ep19-ink);
}
body[data-web-template="19"] #ep19 .ep19-story-intro h2{
  font:400 clamp(48px,7vw,94px)/1.18 "Pinyon Script","Great Vibes",cursive!important;
  letter-spacing:0!important;text-transform:none!important;font-style:normal!important;
  color:var(--ep19-ink)!important;margin:12px 0 10px!important;
}
body[data-web-template="19"] #ep19 .ep19-story-intro .ep19-script{color:#846e5a!important;margin:8px 0}
body[data-web-template="19"] #ep19 .ep19-story-intro>p.ep19-invitation-message{
  color:#4d443b;font:400 clamp(30px,4vw,46px)/1.38 "Pinyon Script","Great Vibes",cursive!important;
  font-style:normal!important;letter-spacing:0!important;text-transform:none!important;
  max-width:720px;width:100%;overflow-wrap:break-word;margin:12px auto 20px;
}
body[data-web-template="19"] #ep19 .ep19-story-intro .ep19-line-mark{margin:22px auto}
body[data-web-template="19"] #ep19 .ep19-story-intro>strong{font:500 13px/1.7 "Jost",sans-serif;letter-spacing:.1em}
body[data-web-template="19"] #ep19 .ep19-story-intro>span:last-child{color:var(--ep19-muted);font-size:13px;margin-top:6px}
/* 02 — Galerie toujours APRES la grande couverture; chaque photo l'une sous l'autre sur téléphone. */
body[data-web-template="19"] #ep19 .ep19-pre-gallery{padding-top:52px;padding-bottom:64px}
body[data-web-template="19"] #ep19 .ep19-gallery-grid{gap:13px}
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure,
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:nth-child(3){aspect-ratio:4/4.7}
body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:nth-child(3){grid-column:1/-1;aspect-ratio:15/8}
body[data-web-template="19"] #ep19 .ep19-gallery-grid img{filter:grayscale(.55)}
/* 03 — Télécharger : lien réel déjà exploité par le modèle 18. */
body[data-web-template="19"] #ep19 .ep19-access-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin:30px auto 12px}
body[data-web-template="19"] #ep19 .ep19-download{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:58px;
  padding:15px clamp(19px,4vw,32px);color:#fff!important;background:#101010;
  border:1px solid #101010;border-radius:3px;text-decoration:none!important;
  text-transform:uppercase;letter-spacing:.115em;font:600 11px/1.3 "Jost",sans-serif;
  box-shadow:0 9px 30px #10101024;transition:background .2s,transform .2s,box-shadow .2s;
  max-width:100%;white-space:normal;cursor:pointer;
}
body[data-web-template="19"] #ep19 .ep19-download svg{width:20px;height:20px;flex-shrink:0}
body[data-web-template="19"] #ep19 .ep19-download:hover:not(:disabled){background:#332f2b;transform:translateY(-2px);box-shadow:0 14px 32px #1010102a}
body[data-web-template="19"] #ep19 .ep19-download:focus-visible{outline:2px solid #a58a6a;outline-offset:4px}
body[data-web-template="19"] #ep19 .ep19-download:disabled{cursor:not-allowed;opacity:.75;background:#56504b}
body[data-web-template="19"] #ep19 .ep19-download-note{font:400 11px/1.5 "Jost",sans-serif;color:#675d52}
/* 04 — Programme : chronologie haut de gamme et pictogrammes vectoriels ludiques. */
body[data-web-template="19"] #ep19-program-slot{padding:0!important;background:var(--ep19-ivory)}
body[data-web-template="19"] #ep19-main #schedule{background:var(--ep19-ivory)!important;max-width:none!important;padding:54px clamp(16px,4vw,60px) 92px!important}
body[data-web-template="19"] #ep19-main #schedule>div,#ep19-main #schedule>div>.container{max-width:970px;margin:0 auto;width:100%;background:transparent!important}
body[data-web-template="19"] #ep19-main #schedule .row{margin-left:auto;margin-right:auto;max-width:890px;display:flow-root}
body[data-web-template="19"] #ep19-main #schedule .row>.fh5co-heading:first-child{width:100%;float:none;margin:0 auto 32px!important;padding:0!important}
body[data-web-template="19"] #ep19-main #schedule .row>.fh5co-heading:first-child h2{font:400 clamp(42px,6vw,72px)/1.1 "Bodoni Moda",Georgia,serif!important;color:#151311!important;margin:8px 0 0}
body[data-web-template="19"] #ep19 .ep19-program-overline{color:#846e5a;font:600 10px/1.4 "Jost",sans-serif;letter-spacing:.26em;text-transform:uppercase}
body[data-web-template="19"] #ep19 .ep19-activity-card{
  width:min(850px,100%);float:none;clear:both;margin:0 auto 20px;padding:0;
  display:grid;grid-template-columns:94px minmax(0,1fr);gap:0;
  background:#faf9f6;border:1px solid #dfd7cc;border-radius:3px;
  box-shadow:0 12px 34px #25201a10;overflow:hidden;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
body[data-web-template="19"] #ep19 .ep19-activity-card:hover{transform:translateY(-3px);border-color:#bba991;box-shadow:0 18px 38px #25201a1b}
body[data-web-template="19"] #ep19 .ep19-activity-rail{background:#171614;color:#f4f0e9;display:flex;flex-direction:column;align-items:center;gap:15px;padding:26px 12px;position:relative}
body[data-web-template="19"] #ep19 .ep19-activity-step{font:500 12px "Jost",sans-serif;letter-spacing:.2em;color:#cbbb9e}
body[data-web-template="19"] #ep19 .ep19-activity-icon{width:61px;height:61px;display:grid;place-items:center;color:#e9dfcf;border:1px solid #786953;border-radius:50%;background:radial-gradient(circle at 30% 20%,#6b605150,#101010 72%)}
body[data-web-template="19"] #ep19 .ep19-activity-icon svg{width:37px;height:37px;display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
body[data-web-template="19"] #ep19 .ep19-activity-card:hover .ep19-activity-icon svg{transform:rotate(-9deg) scale(1.08)}
body[data-web-template="19"] #ep19 .ep19-activity-details{padding:29px clamp(18px,4vw,46px) 32px;min-width:0;text-align:left}
body[data-web-template="19"] #ep19 .ep19-activity-kicker{display:block;color:#88735e;font:600 10px/1.5 "Jost",sans-serif;letter-spacing:.22em}
body[data-web-template="19"] #ep19 .ep19-activity-details h3,
body[data-web-template="19"] #ep19-main #schedule .ep19-activity-details h3{
  font:400 clamp(29px,4.4vw,48px)/1.15 "Bodoni Moda",Georgia,serif!important;
  color:#181512!important;margin:7px 0 22px!important;text-align:left;
}
body[data-web-template="19"] #ep19 .ep19-activity-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px;border-top:1px solid #e5ddd2;padding-top:19px}
body[data-web-template="19"] #ep19 .ep19-activity-fact{display:flex;gap:10px;align-items:flex-start;min-width:0}
body[data-web-template="19"] #ep19 .ep19-fact-icon{width:20px;height:20px;flex:0 0 20px;color:#937e68;margin-top:2px}
body[data-web-template="19"] #ep19 .ep19-fact-icon svg{display:block;width:100%;height:100%}
body[data-web-template="19"] #ep19 .ep19-activity-fact>div{display:flex;flex-direction:column;gap:5px;min-width:0}
body[data-web-template="19"] #ep19 .ep19-activity-fact small{font:500 10px/1.35 "Jost",sans-serif;color:#756b5f;letter-spacing:.05em}
body[data-web-template="19"] #ep19 .ep19-activity-fact strong{font:500 13px/1.5 "Jost",sans-serif;color:#26211c}
body[data-web-template="19"] #ep19 .ep19-activity-fact span:not(.ep19-fact-icon){font:400 12px/1.6 "Jost",sans-serif;color:#554c43;overflow-wrap:anywhere}
body[data-web-template="19"] #ep19 .ep19-activity-fact span small{font-size:10px}
body[data-web-template="19"] #ep19 .ep19-activity-map{color:#26211c!important;text-decoration:none!important;font:600 11px/1.5 "Jost",sans-serif;letter-spacing:.06em;margin-top:7px;display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;border-bottom:1px solid #bca78b;padding-bottom:3px}
body[data-web-template="19"] #ep19 .ep19-activity-map:hover{color:#907555!important;border-color:#907555}
body[data-web-template="19"] #ep19 .ep19-activity-note{grid-column:1/-1;padding-top:12px;border-top:1px dashed #e6ded4}
body[data-web-template="19"] #ep19 .ep19-program-demo{max-width:100%;background:var(--ep19-ivory);border:0;padding:5px 10px!important;margin:0 auto}
body[data-web-template="19"] #ep19 .ep19-program-demo .ep19-program-heading{padding:4px 0 25px;text-align:center}
body[data-web-template="19"] #ep19 .ep19-program-demo .ep19-program-heading>span{font:500 10px "Jost",sans-serif;color:#766955;letter-spacing:.18em}
body[data-web-template="19"] #ep19 .ep19-program-demo .ep19-program-heading h3{font:400 clamp(36px,6vw,66px)/1.1 "Bodoni Moda",serif!important;margin:8px 0;color:#151311}
body[data-web-template="19"] #ep19 .ep19-program-demo .ep19-program-list{max-width:800px;margin:auto}
/* 05 — Boissons, livre d'or, chat : structure du 18, identité strictement 19. */
body[data-web-template="19"] #ep19-main :is(#boissons,#guestbook,#chatgroup){background:var(--ep19-ivory)!important;color:var(--ep19-ink)!important}
body[data-web-template="19"] #ep19-main :is(#boissons,#guestbook,#chatgroup) .fh5co-heading h2{
  font-family:"Bodoni Moda",Georgia,serif!important;color:#151311!important;
}
body[data-web-template="19"] #ep19-main #boissons :is(h3,h4){color:#4f4841!important}
body[data-web-template="19"] #ep19-main #boissons button.btn-primary,
body[data-web-template="19"] #ep19-main #boissons.ep19-demo [data-demo="drink"]{
  background:#181715!important;color:#faf9f6!important;border-color:#504b44!important;
  border-radius:3px!important;box-shadow:0 8px 18px #10101017!important;
}
body[data-web-template="19"] #ep19-main #boissons button.btn-primary:hover:not(:disabled),
body[data-web-template="19"] #ep19-main #boissons.ep19-demo [data-demo="drink"][aria-pressed="true"]{
  background:#b6a187!important;color:#161412!important;border-color:#9b836c!important;
  box-shadow:0 0 0 2px #b6a18740!important;
}
body[data-web-template="19"] #ep19-main #guestbook form{
  background:linear-gradient(150deg,#fffefa,#f4efe7)!important;border-color:#d5c9ba!important;
  box-shadow:0 18px 50px #10101010!important;
}
body[data-web-template="19"] #ep19-main #guestbook form::before{border-color:#b8a58b4d!important}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-seal{background:#181715!important;color:#f4f0e9!important}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-kicker{color:#776a59!important}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-heading h3,
body[data-web-template="19"] #ep19-main #guestbook :is(h2,h3),
body[data-web-template="19"] #ep19-main #chatgroup :is(h2,h3){color:#181715!important}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-heading p{color:#625a51!important}
body[data-web-template="19"] #ep19-main #guestbook #message{background:#fffefa!important;border-color:#bbb1a3!important;color:#171512!important}
body[data-web-template="19"] #ep19-main #guestbook #message::placeholder{color:#86796b!important}
body[data-web-template="19"] #ep19-main #guestbook #message:focus{border-color:#907758!important;box-shadow:0 0 0 4px #b6a18726!important}
body[data-web-template="19"] #ep19-main #guestbook .tt18-compose-meta{color:#71675d!important}
body[data-web-template="19"] #ep19-main #guestbook #guestbooked{
  background:#171715!important;border-color:#171715!important;border-radius:3px!important;
  color:#faf9f6!important;box-shadow:0 10px 28px #17171520!important;
}
body[data-web-template="19"] #ep19-main #guestbook #guestbooked:hover:not(:disabled){background:#36312c!important}
body[data-web-template="19"] #ep19-main #guestbook #messagetext:not(:empty){background:#eae2d7!important;color:#161412!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message{
  border-color:#d8cfc3!important;background:linear-gradient(138deg,#fffefa,#f5f1eb)!important;
  box-shadow:0 9px 22px #1715120c!important;color:#342f29!important;
}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:hover{border-color:#b6a187!important;box-shadow:0 12px 29px #17151218!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message::before{color:#ded2c3!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-avatar{background:linear-gradient(145deg,#171715,#5d554d)!important;color:#f9f6f0!important;box-shadow:0 6px 14px #17151218!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:nth-child(4n+2) .guestbook-avatar{background:linear-gradient(145deg,#d4c4af,#a89172)!important;color:#151311!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:nth-child(4n+3) .guestbook-avatar{background:linear-gradient(145deg,#f3e7d6,#c6b69c)!important;color:#26211c!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message:nth-child(4n) .guestbook-avatar{background:linear-gradient(145deg,#4b4640,#8e8274)!important;color:#faf9f6!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-author{color:#171512!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message-text{color:#4c443c!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages :is(.mye-guestbook-status,.tt18-messages-status){background:#f8f5f0!important;border-color:#b9a996!important;color:#625a52!important}
body[data-web-template="19"] #ep19-main #chatgroup #messages .guestbook-message.mye-message-published{outline:2px solid #a68b69!important;outline-offset:4px}
@media(max-width:760px){
  body[data-web-template="19"] #ep19 .ep19-photo-intro .ep19-editorial-image{height:75svh;min-height:480px;max-height:800px}
  body[data-web-template="19"] #ep19 .ep19-editorial-photo-copy{padding-bottom:77px;gap:14px}
  body[data-web-template="19"] #ep19 .ep19-editorial-photo-copy h2{font-size:clamp(52px,12vw,89px)!important;line-height:1.03!important;max-width:95vw}
  body[data-web-template="19"] #ep19 .ep19-pre-gallery{padding:35px 15px 46px}
  body[data-web-template="19"] #ep19 .ep19-gallery-grid{grid-template-columns:1fr;gap:15px;width:min(470px,100%)}
  body[data-web-template="19"] #ep19 .ep19-gallery-grid figure,
  body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:nth-child(3),
  body[data-web-template="19"] #ep19 .ep19-gallery-grid figure:only-child{grid-column:auto;aspect-ratio:4/4.7}
  body[data-web-template="19"] #ep19 .ep19-gallery-grid img{object-position:center 36%}
  body[data-web-template="19"] #ep19 .ep19-story-intro{padding:66px 20px 78px;min-height:350px}
  body[data-web-template="19"] #ep19-main #schedule{padding:42px 12px 68px!important}
  body[data-web-template="19"] #ep19 .ep19-activity-card{grid-template-columns:70px minmax(0,1fr)}
  body[data-web-template="19"] #ep19 .ep19-activity-rail{padding:24px 6px}
  body[data-web-template="19"] #ep19 .ep19-activity-icon{width:51px;height:51px}
  body[data-web-template="19"] #ep19 .ep19-activity-icon svg{width:30px;height:30px}
  body[data-web-template="19"] #ep19 .ep19-activity-details{padding:23px 14px 27px}
  body[data-web-template="19"] #ep19 .ep19-activity-facts{grid-template-columns:1fr;gap:16px}
  body[data-web-template="19"] #ep19 .ep19-program-demo{padding:0!important}
}
@media(max-width:390px){
  body[data-web-template="19"] #ep19 .ep19-editorial-photo-copy h2{font-size:clamp(45px,12vw,65px)!important}
  body[data-web-template="19"] #ep19 .ep19-photo-eyebrow{font-size:10px}
  body[data-web-template="19"] #ep19 .ep19-activity-card{grid-template-columns:56px minmax(0,1fr)}
  body[data-web-template="19"] #ep19 .ep19-activity-icon{width:40px;height:40px}
  body[data-web-template="19"] #ep19 .ep19-activity-icon svg{width:26px;height:26px}
}
@media(prefers-reduced-motion:reduce){
  body[data-web-template="19"] #ep19 .ep19-activity-card,
  body[data-web-template="19"] #ep19 .ep19-activity-icon svg{transition:none!important;transform:none!important}
}

/* Lien de téléchargement visible dès le carton nominatif */
body[data-web-template="19"] #ep19 .ep19-actions .ep19-actions-download{background:#171715;color:#faf9f6!important;border-color:#171715!important}
body[data-web-template="19"] #ep19 .ep19-actions .ep19-actions-download:hover{background:#b6a187;color:#161412!important;border-color:#b6a187!important}


/* ============================================================
  MODEL 19 · PREVIEW ADMIN — SAME CONSOLIDATED CSS AS PUBLIC PAGE
  The preview does not load any separate or inline stylesheet.
  All selectors limited to the model 19 preview mode.
============================================================ */
html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo{max-width:850px;margin:20px auto;padding:35px 25px;background:#fffdf9;border:1px solid #ded4c5;text-align:center}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo h3{font:400 43px 'Bodoni Moda','Cormorant Garamond',serif;margin:0 0 12px}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo p{font-size:14px;line-height:1.8}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo button{display:inline-block;min-height:43px;padding:10px 17px;margin:5px;background:#111;color:#fff;border:1px solid #111;cursor:pointer}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo button[aria-pressed="true"]{background:#e8ded1;color:#111}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo input{border:1px solid #c4b9aa;padding:12px;max-width:95%}
@media(max-width:600px){html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo{padding:25px 15px;margin:15px auto}html[data-web-template="19"] body.ep19-body #ep19 .ep19-demo h3{font-size:36px}}


/* ============================================================
   MODEL 19 — V6: ONE PERSONAL PASS, QUOTE, CONTRIBUTION,
   DRINK CHOICES. All rules strictly scoped to WEB template 19.
   Existing template 18 and PDF templates are not affected.
============================================================ */
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote {
  position:relative;padding:clamp(62px,8vw,110px) 22px;text-align:center;
  background:#f0e9df;color:#151311;isolation:isolate;
}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote::before,
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote::after {
  content:"";display:block;max-width:72px;height:1px;background:#bea98c;margin:0 auto 25px;
}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote::after{margin:28px auto 0}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote-ornament{display:block;font:400 92px/.7 "Bodoni Moda",Georgia,serif;color:#ad9476;opacity:.7}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote h2{font:400 clamp(30px,5vw,51px)/1.15 "Bodoni Moda",Georgia,serif;color:#151311;margin:16px 0 30px}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote blockquote{border:0;padding:0;margin:0 auto;max-width:750px}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote blockquote p{font:400 clamp(23px,3.6vw,41px)/1.5 "Bodoni Moda",Georgia,serif;color:#25201b;letter-spacing:-.025em;overflow-wrap:anywhere}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-quote footer{font:500 11px/1.6 Jost,Arial,sans-serif;color:#7a6955;letter-spacing:.14em;text-transform:uppercase;margin-top:28px}

/* QR + téléchargement regroupés une seule fois, sous le carton nominatif. */
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass{background:#171614;color:#faf7ef;padding:clamp(54px,6vw,88px) 18px;text-align:center}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-kicker{color:#d1b99a}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass h3{font:400 clamp(30px,5vw,48px)/1.2 "Bodoni Moda",serif;color:#fff9ed;margin:12px 0 28px}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-qr{display:grid;place-items:center;width:clamp(166px,45vw,225px);height:clamp(166px,45vw,225px);padding:13px;border:1px solid #bda98d;background:#fffbf4;margin:12px auto 23px;border-radius:4px;box-shadow:0 18px 36px #0005}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-qr img{display:block;width:100%;height:100%;object-fit:contain}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-access-actions{margin:0 auto;max-width:430px}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-download{background:#f4f0e9!important;border-color:#d5c4a8!important;color:#171614!important;min-width:min(100%,340px);margin:3px auto}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-download:hover:not(:disabled){background:#d8c7ac!important;color:#171614!important}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-download:disabled{background:#c1b4a2!important;color:#2e2923!important}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass .ep19-download-note{color:#bdb3a7}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-download-icon{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 24px}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-download-icon svg{height:23px;width:23px;display:block}
@keyframes ep19DownloadBusy{to{transform:rotate(360deg)}}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-is-downloading{cursor:progress;filter:saturate(.85)}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-is-downloading .ep19-download-icon svg{visibility:hidden}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-is-downloading .ep19-download-icon::after{content:"";position:absolute;inset:1px;border-radius:50%;border:2px solid #71655244;border-top-color:#171614;animation:ep19DownloadBusy .7s linear infinite}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-download-status{color:#dccdb8;font:400 12px/1.5 Jost,Arial,sans-serif;margin:10px 0 0}
html[data-web-template="19"] body.ep19-body #ep19 .ep19-download-status[hidden]{display:none}
/* Native contact includes a duplicate dress-code column; model 19 already displays its own card. */
html[data-web-template="19"] body.ep19-body #ep19 #fh5co-contact .col-md-push-6{display:none!important}

/* Boissons: a centered, uniform grid of large touch targets. Native forms/IDs stay unchanged. */
html[data-web-template="19"] body.ep19-body #ep19 #boissons{padding:70px clamp(12px,4vw,50px)!important}
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:15px;max-width:900px;margin:27px auto 15px!important;align-items:stretch}
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid>.col-md-4{float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:flex;min-width:0}
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid .wrap-testimony,
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid .item,
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid .testimony-slide,
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid form,
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid .form-group{width:100%!important;height:100%;margin:0!important;float:none!important}
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid button.btn-primary{display:flex!important;align-items:center;justify-content:center;gap:13px;min-height:68px;width:100%!important;padding:17px 18px!important;margin:0!important;text-align:center;line-height:1.45;white-space:normal;overflow-wrap:anywhere;font:500 clamp(13px,2vw,15px)/1.4 Jost,Arial,sans-serif!important;letter-spacing:.03em}
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid button.btn-primary:focus-visible{outline:3px solid #bfa886;outline-offset:3px}
html[data-web-template="19"] body.ep19-body #ep19 #boissons.ep19-preview-drinks{max-width:880px}
html[data-web-template="19"] body.ep19-body #ep19 #boissons.ep19-preview-drinks [data-demo="drink"]{display:inline-flex;align-items:center;justify-content:center;min-width:170px;min-height:62px;max-width:100%;margin:8px!important;padding:12px 22px}
@media (max-width:640px){
  html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid button.btn-primary{min-height:78px;padding:10px 8px!important;flex-direction:column;gap:5px;font-size:12px!important}
  html[data-web-template="19"] body.ep19-body #ep19 .ep19-personal-pass{padding:58px 14px}
}
@media (max-width:355px){html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid{grid-template-columns:1fr}}

/* Contribution overlay is moved to <body> by model 19 JS, so selectors intentionally
   target body[data-web-template=19] instead of #ep19. This fixes unstyled popup.
   Based on native model 18 form markup, restyled to 19 black/ivory/champagne. */
body[data-web-template="19"].contribution-modal-open{overflow:hidden!important}
body[data-web-template="19"] #contributionModal{position:fixed!important;inset:0!important;z-index:220000!important;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;padding:16px;background:rgba(13,12,11,.82)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;color:#1e1b18;font:400 15px/1.6 Jost,Arial,sans-serif}
body[data-web-template="19"] #contributionModal.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body[data-web-template="19"] #contributionModal *{box-sizing:border-box}
body[data-web-template="19"] #contributionModal .contribution-modal{position:relative;display:block;width:min(100%,700px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(30px,4vw,42px);background:linear-gradient(145deg,#fffdf8,#f1eae0)!important;border:1px solid #cbb89a;border-radius:17px;box-shadow:0 25px 95px #0009;transform:translateY(20px) scale(.98);transition:transform .25s ease;color:#211b17}
body[data-web-template="19"] #contributionModal.open .contribution-modal{transform:none}
body[data-web-template="19"] #contributionModal .contribution-modal-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #bca98d;border-radius:50%;background:#eee4d7;color:#171513;cursor:pointer}
body[data-web-template="19"] #contributionModal .contribution-modal-close:hover{background:#171513;color:#fffaf3}
body[data-web-template="19"] #contributionModal .ep19-modal-kicker{display:block;color:#8e7657;letter-spacing:.2em;text-transform:uppercase;font:600 10px/1.6 Jost,Arial,sans-serif}
body[data-web-template="19"] #contributionModal h2{margin:7px 0 12px;color:#171513;font:400 clamp(31px,5vw,48px)/1.16 "Bodoni Moda",Georgia,serif}
body[data-web-template="19"] #contributionModal .contribution-modal-header{padding-right:25px;margin-bottom:25px}
body[data-web-template="19"] #contributionModal .contribution-modal-header p{font:400 14px/1.7 Jost,Arial,sans-serif;color:#60554a;margin:7px 0}
body[data-web-template="19"] #contributionModal .contribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
body[data-web-template="19"] #contributionModal .contribution-field{min-width:0}
body[data-web-template="19"] #contributionModal .contribution-field label{display:block;font:500 13px/1.5 Jost,Arial,sans-serif;color:#353029;margin-bottom:8px}
body[data-web-template="19"] #contributionModal .contribution-input-wrap{display:flex;align-items:center;gap:11px;min-height:49px;border:1px solid #c9bca9;border-radius:6px;background:#fffcf7;padding:0 13px}
body[data-web-template="19"] #contributionModal .contribution-input-wrap>i{font-size:17px;color:#907a60;flex:0 0 auto}
body[data-web-template="19"] #contributionModal :is(input:not([type="hidden"]):not([type="radio"]),select,textarea){display:block;box-shadow:none;border:0!important;border-radius:0;background:transparent!important;color:#201c18;outline-offset:4px;font:400 16px/1.3 Jost,Arial,sans-serif;padding:12px 0;width:100%;min-width:0;height:auto!important}
body[data-web-template="19"] #contributionModal .contribution-helper{display:block;color:#72675a;font-size:11px;line-height:1.5;margin-top:6px}
body[data-web-template="19"] #contributionModal .contribution-payment-section{margin:26px 0 22px}
body[data-web-template="19"] #contributionModal .contribution-payment-title{font:600 14px/1.6 Jost,Arial,sans-serif;margin-bottom:12px;color:#26211c}
body[data-web-template="19"] #contributionModal .contribution-payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body[data-web-template="19"] #contributionModal .payment-method-card{display:block;position:relative;min-width:0;padding:15px;border-radius:8px;border:1px solid #c5b8a7;background:#fffcf6;color:#201c18;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
body[data-web-template="19"] #contributionModal .payment-method-card:has(input:checked){border-color:#8f7657;background:#eee5d6;box-shadow:0 0 0 2px #bca98d50}
body[data-web-template="19"] #contributionModal .payment-method-card:focus-within{outline:2px solid #9f8a72;outline-offset:2px}
body[data-web-template="19"] #contributionModal .payment-method-card input[type="radio"]{width:auto!important;height:auto!important;accent-color:#171513;display:inline-block}
body[data-web-template="19"] #contributionModal .payment-method-content{display:flex;align-items:center;gap:12px;margin:8px 0 0}
body[data-web-template="19"] #contributionModal .payment-method-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d5c6b5;border-radius:50%;background:#f7eee3;flex:0 0 40px;color:#7b664d}
body[data-web-template="19"] #contributionModal .payment-method-text{min-width:0}
body[data-web-template="19"] #contributionModal .payment-method-text strong{display:block;font:600 14px/1.4 Jost,Arial,sans-serif}
body[data-web-template="19"] #contributionModal .payment-method-text small{display:block;color:#6c6359;font:400 11px/1.5 Jost,Arial,sans-serif}
body[data-web-template="19"] #contributionModal .contribution-submit-wrapper{margin-top:22px;display:flex;justify-content:center}
body[data-web-template="19"] #contributionModal .contribution-submit-wrapper button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;max-width:100%;width:min(100%,380px);padding:13px 22px;border:1px solid #171513;border-radius:5px;background:#171513!important;color:#fffaf3!important;font:600 14px/1.5 Jost,Arial,sans-serif;cursor:pointer;transition:transform .2s,background .2s}
body[data-web-template="19"] #contributionModal .contribution-submit-wrapper button:hover:not(:disabled){transform:translateY(-2px);background:#3c332a!important}
body[data-web-template="19"] #contributionModal button:disabled{cursor:wait;opacity:.68}
body[data-web-template="19"] #contributionModal .contribution-payment-message:not(:empty){padding:13px 15px;margin-top:17px;border:1px solid #cec2b3;border-radius:9px;background:#f8f4ec;color:#362b20;overflow-wrap:anywhere}
body[data-web-template="19"] #contributionModal .payment-error{background:#fae5e1!important;color:#862e28!important}
body[data-web-template="19"] #contributionModal .payment-success{background:#e5f0df!important;color:#34572e!important}
body[data-web-template="19"] #contributionModal :focus-visible{outline:2px solid #a58a67;outline-offset:3px}
@media(max-width:600px){body[data-web-template="19"] #contributionModal{padding:9px}body[data-web-template="19"] #contributionModal .contribution-modal{padding:38px 17px 22px;max-height:calc(100dvh - 18px)}body[data-web-template="19"] #contributionModal .contribution-grid,body[data-web-template="19"] #contributionModal .contribution-payment-methods{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html[data-web-template="19"] body.ep19-body #ep19 .ep19-is-downloading .ep19-download-icon::after{animation:none}body[data-web-template="19"] #contributionModal,body[data-web-template="19"] #contributionModal .contribution-modal{transition:none}}

/* EP19 V7 — no decorative light/star icon on beverage choice buttons. */
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid button.btn-primary::before,
html[data-web-template="19"] body.ep19-body #ep19 #boissons .ep19-drinks-grid button.btn-primary::after{content:none!important;display:none!important}
