.site-footer{
    position:relative;
    overflow:hidden;
    margin-top:96px;
    color:#fff;
    background:
        radial-gradient(circle at 12% 16%,rgba(255,93,142,.24),transparent 32%),
        radial-gradient(circle at 88% 8%,rgba(139,92,246,.22),transparent 34%),
        linear-gradient(145deg,#21151f 0%,#2b1829 48%,#17121b 100%);
    border-top:1px solid rgba(255,255,255,.1);
}
.site-footer__glow{
    position:absolute;
    width:440px;
    height:440px;
    right:-180px;
    bottom:-260px;
    border-radius:50%;
    background:rgba(255,78,134,.12);
    filter:blur(1px);
    pointer-events:none;
}
.site-footer__inner{
    position:relative;
    z-index:1;
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:58px 0 42px;
    display:grid;
    grid-template-columns:1.28fr .95fr 1fr 1.08fr;
    gap:38px;
}
.site-footer__brand{display:flex;gap:17px;align-items:flex-start}
.site-footer__mark{
    display:grid;
    place-items:center;
    flex:0 0 54px;
    width:54px;
    height:54px;
    border-radius:19px;
    color:#fff;
    font-size:1.45rem;
    background:linear-gradient(135deg,#ff4f86,#935cf7);
    box-shadow:0 16px 32px rgba(244,70,127,.25);
}
.site-footer__name{display:block;margin:3px 0 12px;font-size:1.05rem;letter-spacing:.22em}
.site-footer__brand p,.site-footer__column p{margin:0;color:rgba(255,255,255,.7);line-height:1.65;font-size:.93rem}
.site-footer__column h2{margin:0 0 17px;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:#ff94b7}
.site-footer__links{display:grid;gap:11px}
.site-footer a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .18s ease,transform .18s ease}
.site-footer a:hover{color:#fff;transform:translateX(2px)}
.site-footer__address{display:grid;gap:9px;font-style:normal;color:rgba(255,255,255,.72);font-size:.92rem}
.site-footer__address strong{color:#fff;font-size:1rem}
.site-footer__service{display:grid;align-content:start;gap:11px}
.site-footer__service strong{color:#fff}
.site-footer__payment{margin-top:7px;padding:10px 12px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.06);font-size:.82rem;font-weight:800;color:rgba(255,255,255,.82)}
.site-footer__bottom{
    position:relative;
    z-index:1;
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:20px 0 25px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.1);
    color:rgba(255,255,255,.48);
    font-size:.82rem;
}

.legal-document{width:min(920px,calc(100% - 32px));padding:42px 46px;line-height:1.72}
.legal-document__header{padding-bottom:28px;border-bottom:1px solid #eadde5}
.legal-document__eyebrow{display:block;margin-bottom:12px;color:#d13b70;font-size:.74rem;font-weight:900;letter-spacing:.22em}
.legal-document__header h1{margin:0 0 12px;font-size:clamp(2.15rem,5vw,3.55rem);line-height:1.04;letter-spacing:-.045em}
.legal-document__header p{margin:0 0 12px;color:#766a79;font-size:1.04rem}
.legal-document__header small{color:#9a8b94}
.legal-document__toc{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 34px}
.legal-document__toc a{padding:9px 12px;border:1px solid #ead9e1;border-radius:999px;background:#fff8fb;color:#8f3154;text-decoration:none;font-size:.82rem;font-weight:800}
.legal-document section{scroll-margin-top:90px;margin:0 0 34px}
.legal-document h2{margin:0 0 13px;font-size:1.45rem;line-height:1.2}
.legal-document p{margin:0 0 14px;color:#544b55}
.legal-document ul{margin:0 0 16px;padding-left:22px;color:#544b55}
.legal-document li{margin-bottom:8px}
.legal-document a{color:#9a3e6a}
.legal-contact-card{display:grid;gap:7px;margin:0 0 18px;padding:20px 22px;border:1px solid #efdbe4;border-radius:20px;background:linear-gradient(135deg,#fff8fb,#faf6ff)}
.legal-contact-card strong{font-size:1.12rem}
.checkout-consents a{color:#8e4fc7;font-weight:850;text-underline-offset:2px}

@media(max-width:980px){
    .site-footer__inner{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:640px){
    .site-footer{margin-top:70px}
    .site-footer__inner{width:min(100% - 28px,1180px);padding:42px 0 30px;grid-template-columns:1fr;gap:30px}
    .site-footer__bottom{width:min(100% - 28px,1180px);flex-direction:column;gap:7px}
    .legal-document{padding:28px 20px}
    .legal-document__toc{gap:7px}
}


/* v2.7.1 — payment logos, cookie consent and external-content gating */
.site-footer__payment-logos{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:2px}
.site-footer__payment-logos img{display:block;width:auto;height:32px;border-radius:8px;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.site-footer__payment-logos a{display:block}
.payment-logo-card{display:block;height:32px;border-radius:8px;overflow:hidden;box-shadow:0 5px 14px rgba(0,0,0,.16);line-height:0;flex:0 0 auto}
.payment-logo-card svg{display:block;width:auto;height:32px}
.payment-logo-visa svg,.payment-logo-mastercard svg{width:89px}
.site-footer__cookie-button,.legal-cookie-settings{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.72);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.site-footer__cookie-button:hover{color:#fff}
.legal-cookie-settings{padding:0;color:#9a3e6a;font-weight:800}
.legal-cookie-table{display:grid;gap:8px;margin:16px 0 18px}
.legal-cookie-table>div{display:grid;grid-template-columns:160px 1fr 130px;gap:14px;padding:13px 15px;border:1px solid #eadde5;border-radius:14px;background:#fffafd;color:#5e5360;font-size:.88rem}
.legal-cookie-table strong{color:#372b38}

.cookie-banner[hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:10000;inset:auto 18px 18px;display:flex;justify-content:center;pointer-events:none}
.cookie-banner__panel{pointer-events:auto;width:min(980px,100%);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;padding:21px 22px;border:1px solid rgba(120,72,102,.18);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(56,27,48,.24);backdrop-filter:blur(16px);color:#342834}
.cookie-banner__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,#fff1d6,#ffd3df);font-size:1.5rem}
.cookie-banner__content h2{margin:0 0 7px;font-size:1.08rem}
.cookie-banner__content p{margin:0;color:#6d606c;line-height:1.5;font-size:.92rem}
.cookie-banner__details-toggle{margin-top:8px;padding:0;border:0;background:transparent;color:#9b3f6c;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cookie-banner__details{display:grid;gap:7px;margin-top:10px}
.cookie-banner__details>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 11px;border-radius:12px;background:#faf4f8;font-size:.8rem}
.cookie-banner__details span{color:#746773}
.cookie-banner__actions{display:flex;align-items:center;gap:9px;align-self:center}
.cookie-button{min-height:44px;padding:10px 15px;border-radius:14px;font:inherit;font-weight:850;cursor:pointer;white-space:nowrap}
.cookie-button--secondary{border:1px solid #d9cbd4;background:#fff;color:#5e4f5b}
.cookie-button--primary{border:1px solid transparent;background:linear-gradient(135deg,#ec477e,#925cf6);color:#fff;box-shadow:0 10px 24px rgba(193,66,126,.22)}
.external-content-notice[hidden]{display:none!important}
.external-content-notice{display:grid;gap:7px;place-items:center;min-height:145px;padding:20px;border:1px dashed #d9c9d3;border-radius:17px;background:linear-gradient(135deg,#faf5f8,#f8f5ff);text-align:center;color:#625662}
.external-content-notice strong{font-size:1rem}
.external-content-notice span{max-width:420px;font-size:.87rem;line-height:1.45;color:#817481}
.external-content-notice button{border:0;border-radius:12px;padding:9px 13px;background:#8e5cf7;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.ticket-cookie-notice{min-height:145px;margin-bottom:5px}

@media(max-width:760px){
    .site-footer__bottom{align-items:flex-start}
    .legal-cookie-table>div{grid-template-columns:1fr;gap:5px}
    .cookie-banner{inset:auto 10px 10px}
    .cookie-banner__panel{grid-template-columns:1fr;padding:18px;border-radius:20px}
    .cookie-banner__icon{display:none}
    .cookie-banner__actions{display:grid;grid-template-columns:1fr;width:100%}
    .cookie-button{width:100%}
    .cookie-banner__details>div{grid-template-columns:1fr;gap:4px}
}

.external-content-notice:not([hidden]) + .google-map,.external-content-notice:not([hidden]) + .ticket-place-map{display:none!important}

/* v2.7.7 — keep footer at viewport bottom on short dashboard pages */
body.dashboard-page .site-footer{margin-top:0}

.footer-launch-price{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.footer-launch-price del{opacity:.62}.footer-launch-price strong{font-size:1.08em}.footer-launch-price em{font-style:normal;font-size:.74rem;font-weight:900;color:#fff;background:#e85072;border-radius:999px;padding:2px 7px}

/* v2.9.1 — keep all Stripe payment marks vertically centered */
.site-footer__payment-logos{
    align-items:stretch;
}
.payment-logo-card{
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:34px;
    line-height:1;
    vertical-align:middle;
}
.payment-logo-card svg{
    width:auto;
    height:34px;
    flex:0 0 auto;
}
.payment-logo-visa svg,.payment-logo-mastercard svg{width:94px}


/* v2.7.10 — Stripe footer: Visa + Mastercard only */
.site-footer__payment-logos{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:4px}
.site-footer__payment-logos img{display:block;width:auto;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:9px;box-shadow:0 6px 18px rgba(0,0,0,.15);background:#fff}
@media(max-width:640px){.site-footer__payment-logos img{height:34px}}
