:root{
  --pink:#e245a3; --dark:#2b1419; --text:#675d60; --grey:#f9f9f9;
  --dosis:'Dosis',sans-serif; --pop:'Poppins',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--pop);color:var(--dark);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{width:100%;max-width:1440px;margin:0 auto;padding:0 114px}
.m-only{display:none}

/* Buttons */
.btn{display:inline-flex;justify-content:center;align-items:center;padding:16px 32px;border-radius:50px;font:600 14px/12px var(--pop);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:.2s}
.btn--pink{background:var(--pink);color:#fff}
.btn--pink:hover{background:#c9338b}
.btn--ghost-white{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.btn--ghost-white:hover{background:rgba(255,255,255,.25)}
.btn--outline-pink{background:rgba(226,69,163,.1);border-color:var(--pink);color:var(--pink)}
.btn--outline-pink:hover{background:var(--pink);color:#fff}
.btn--full{width:100%}

/* Hero */
.hero{position:relative;height:687px;background:var(--grey);color:#fff;isolation:isolate;z-index:2}
.hero__bg,.hero__shade{position:absolute;inset:0;width:100%;height:100%;border-radius:0 0 100px 100px}
.hero__bg{object-fit:cover;object-position:bottom;z-index:-2}
.hero__shade{background:linear-gradient(to left,rgba(43,20,25,0),#2b1419);z-index:-1}

.header{position:relative;display:flex;align-items:center;gap:20px;height:80px;top:9px}
.header__logo img{width:159px;height:auto}
.header__menu-btn,.header__cart-m{display:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:0 27px;padding:14px 24px;border-radius:32px;background:rgba(249,249,249,.8);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.nav__link{display:inline-flex;align-items:center;gap:10px;padding:0 15px;margin:0 -13.5px;font-size:15px;line-height:26px;color:var(--dark)}
.nav__link:first-child{margin-left:0}
.nav__link.is-active{color:var(--pink);font-weight:500}
.nav__link:hover{color:var(--pink)}
.nav__link + .nav__lang{margin-left:13px}
.nav__chev{width:9px;height:9px}
.nav__lang{display:flex;align-items:center;gap:4px;padding:4px 0 6px 4px}
.nav__lang img:first-child{width:14px;height:14px}
.nav__cart{position:relative;padding:5px 8px 6px}
.nav__cart img{width:15px;height:15px}
.nav__cart span{position:absolute;top:-10px;right:-2px;font-size:11px;letter-spacing:-.5px;color:var(--dark)}

.hero__content{position:relative;margin-top:112px}
.hero__title{font:700 88px/88px var(--dosis);letter-spacing:3.52px;text-transform:uppercase;max-width:728px}
.hero__text{margin-top:32px;font-size:18px;line-height:30px;max-width:523px}
.hero__btns{display:flex;gap:12px;margin-top:48px}

/* Drawer (mobile menu) */
.drawer{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s}
.drawer.is-open{opacity:1;pointer-events:auto}
.drawer__panel{position:absolute;top:0;left:0;bottom:0;width:88%;max-width:343px;background:#fff;padding:80px 44px;transform:translateX(-100%);transition:transform .3s}
.drawer.is-open .drawer__panel{transform:none}
.drawer__close{position:absolute;top:22px;right:22px;width:24px;height:24px;background:none;border:0;cursor:pointer}
.drawer__close::before,.drawer__close::after{content:"";position:absolute;left:50%;top:50%;width:25px;height:1.5px;background:var(--dark)}
.drawer__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.drawer__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.drawer__nav{display:flex;flex-direction:column;gap:20px}
.drawer__nav a{display:flex;align-items:center;gap:12px;font-size:18px;line-height:22px;color:var(--dark)}
.drawer__nav a img{width:9px}
.drawer__nav a.is-active{color:var(--pink)}
.drawer__lang{display:flex;align-items:center;gap:6px}
.drawer__lang img:first-child{width:14px}
.drawer__lang img:last-child{width:9px}

/* Features */
.features{background:var(--grey);border-radius:0 0 100px 100px;padding:48px 0 40px;position:relative;z-index:1}
.features__row{display:flex;justify-content:space-between;align-items:flex-start}
.feature{display:flex;gap:24px;align-items:flex-start;max-width:310px}
.feature--wide{max-width:431px}
.feature__icon{flex:none;margin-top:16px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:30px}
.feature__icon img{width:32px;height:32px}
.feature h3{font:600 18px/21.6px var(--dosis);letter-spacing:.72px;text-transform:uppercase}
.feature p{margin-top:10px;font-size:15px;line-height:25px;color:var(--text)}

/* Section heading */
.section-head{text-align:center}
.section-head h2{font:600 32px/31.2px var(--dosis);letter-spacing:1.28px;text-transform:uppercase}
.section-head p{margin-top:24px;font-size:20px;line-height:31.2px;color:var(--text)}

/* Events */
.events{padding-top:88px}
.events__list{display:flex;gap:6px;margin-top:48px}
.card{position:relative;flex:1 1 0;height:392px;border-radius:15px;overflow:hidden;color:#fff;isolation:isolate}
.card__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.card::before{content:"";position:absolute;inset:0;background:rgba(36,11,17,.7);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:-1}
.card__poster{position:absolute;left:25.38%;top:57px;width:49.35%;aspect-ratio:113/151;object-fit:cover;border-radius:15px;transition:transform .3s}
.card:hover .card__poster{transform:scale(1.04)}
.card__meta{position:absolute;top:18px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;font-size:15px;line-height:21.6px}
.card__meta span{display:flex;align-items:center;gap:10px}
.card__meta img{width:12px;height:auto}
.card__title{position:absolute;top:335px;left:8px;right:8px;text-align:center;display:flex;justify-content:center;align-items:center;gap:12px;font:600 16px/21.6px var(--dosis);letter-spacing:.96px;text-transform:uppercase}
.card__title img{width:19px;height:auto}

/* About */
.about{padding:148px 0}
.about__row{display:flex;align-items:center;gap:56px}
.about__row p{flex:1;font-size:32px;line-height:40px}

/* Promo */
.promo{padding:0 40px 84px}
.promo__box{position:relative;max-width:1360px;height:622px;margin:0 auto;border-radius:50px;overflow:hidden;isolation:isolate}
.promo__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.promo__shade{position:absolute;inset:0;background:linear-gradient(101.99deg,rgba(255,255,255,.8) 29.463%,rgba(255,255,255,0) 57.221%);z-index:-1}
.promo__content{position:absolute;left:74px;top:152px;width:506px}
.promo h2{font:600 40px/48px var(--dosis);letter-spacing:1.6px;text-transform:uppercase}
.promo__text{margin-top:24px;font-size:22px;line-height:34px;color:var(--text);max-width:429px}
.promo hr{width:60px;border:0;border-top:1px solid var(--dark);margin:30px 0 20px}
.promo__small{font-size:16px;line-height:29.71px;margin-bottom:40px}

/* Instagram */
.insta{background:var(--grey);height:484px;overflow:hidden}
.insta__row{display:flex;align-items:center;gap:88px;padding:80px 0 0 114px;max-width:1440px;margin:0 auto}
.insta__text{flex:none;width:324px}
.insta__text .feature__icon{margin:0}
.insta h2{margin-top:24px;font:600 40px/48px var(--dosis);letter-spacing:1.6px;text-transform:uppercase}
.insta p{margin-top:24px;font-size:24px;line-height:34px;color:var(--text)}
.insta__grid{display:flex;gap:12px;flex:none}
.insta__grid img{width:321px;height:321px;object-fit:cover;border-radius:15px}

/* Footer */
.footer__top{display:flex;justify-content:space-between;align-items:flex-start;padding-top:80px;padding-bottom:56px;max-width:1428px}
.footer__brand{width:279px;display:flex;flex-direction:column;gap:36px}
.footer__logo{width:231px}
.footer__social{display:flex;gap:14px}
.footer__social a{background:var(--text);padding:9px;border-radius:5px;transition:.2s}
.footer__social a:hover{background:var(--pink)}
.footer__social img{width:16px;height:16px}
.footer h4{font:600 20px/31.5px var(--dosis);letter-spacing:.8px;text-transform:uppercase}
.footer__links{width:289px}
.footer__links ul{margin-top:14.68px}
.footer__links li{padding:3px 0 3.84px;font-size:15px;line-height:27.86px;color:var(--text)}
.footer__links a:hover,.footer__legal a:hover,.footer small a:hover{color:var(--pink)}
.footer__news{width:456px}
.footer__news p{margin-top:15px;font-size:15px;line-height:25px;color:var(--text)}
.footer__news form{margin-top:22px;display:flex;flex-direction:column;gap:9px}
.footer__news input{width:100%;padding:12.25px 24px;border:1px solid #ddd;border-radius:25px;font:14px var(--pop);color:var(--dark);outline:none}
.footer__news input::placeholder{color:var(--text)}
.footer__news input:focus{border-color:var(--pink)}
.footer small{display:block;margin-top:12px;font-size:13px;line-height:1.5;color:var(--text)}
.footer small a{text-decoration:underline}
.footer__bottom{background:var(--grey);padding:16px 0}
.footer__bottom-row{display:flex;justify-content:space-between;align-items:center;min-height:80px;max-width:1428px;font-size:14px;line-height:27.86px;color:var(--text)}
.footer__pay{display:flex;align-items:center;gap:22px}
.footer__pay img{width:auto}
.footer__legal{display:flex;gap:28px}

/* Laptop */
@media (max-width:1300px){
  .container{padding:0 48px}
  .insta__row{padding-left:48px}
  .hero__title{font-size:72px;line-height:76px}
  .features__row{gap:32px}
  .footer__top{gap:32px}
  .footer__bottom-row{flex-wrap:wrap;justify-content:center;gap:12px 32px;padding:12px 48px}
}
@media (max-width:1024px){
  .nav{gap:0 18px;padding:12px 16px}
  .features__row{flex-direction:column}
  .feature,.feature--wide{max-width:none}
  .about__row{flex-direction:column;align-items:flex-start;gap:32px}
  .footer__top{flex-wrap:wrap}
}

/* Mobile */
@media (max-width:768px){
  .container{padding:0 16px}
  .m-only{display:block}

  .hero{height:510px}
  .hero__bg,.hero__shade{border-radius:0 0 32px 32px}
  .hero__bg{object-position:70% bottom}
  .header{top:0;height:auto;padding-top:20px;justify-content:space-between}
  .nav{display:none}
  .header__menu-btn,.header__cart-m{display:block;background:none;border:0;cursor:pointer;width:22px}
  .header__menu-btn img{width:18px}
  .header__cart-m img{width:22px}
  .header__logo{position:absolute;left:50%;top:17px;transform:translateX(-50%)}
  .header__logo img{width:94px}
  .hero__content{margin-top:58px}
  .hero__title{font-size:42px;line-height:48px;letter-spacing:1.68px}
  .hero__text{margin-top:16px;font-size:16px;line-height:24px}
  .hero__btns{flex-direction:column;align-items:flex-start;gap:10px;margin-top:32px}

  .features{margin-top:-30px;padding:64px 0 32px;border-radius:0 0 32px 32px}
  .features__row{gap:32px}
  .feature{max-width:none}

  .events{padding-top:56px}
  .section-head p{font-size:18px;line-height:26px;max-width:310px;margin:24px auto 0}
  .events .container{padding:0}
  .events__list{margin-top:28px;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px;scrollbar-width:none}
  .events__list::-webkit-scrollbar{display:none}
  .card{flex:0 0 332px;height:332px;scroll-snap-align:center}
  .card__poster{top:48px;left:27.4%;width:51.2%}
  .card__meta{top:15px;left:6%;right:6%}
  .card__title{top:284px}

  .about{padding:56px 0}
  .about__row p{font-size:24px;line-height:36px}

  .promo{padding:50px 16px 64px}
  .promo__box{height:557px;border-radius:32px}
  .promo__shade{background:linear-gradient(93.57deg,rgba(255,255,255,.8) 29.463%,rgba(255,255,255,0) 57.221%)}
  .promo__bg{object-position:60% center}
  .promo__content{left:16px;top:50px;width:auto;right:16px;bottom:49px;display:flex;flex-direction:column;align-items:flex-start}
  .promo h2{font-size:32px;letter-spacing:1.28px}
  .promo__text{margin-top:0;font-size:20px;max-width:200px;color:var(--dark)}
  .promo hr{margin:30px 0 10px}
  .promo__small{max-width:183px}
  .promo .btn{margin-top:auto}

  .insta{height:auto}
  .insta__row{flex-direction:column;align-items:stretch;gap:33px;padding:40px 16px 48px}
  .insta__text{width:auto}
  .insta h2{margin-top:20px;font-size:32px;line-height:44px;letter-spacing:1.28px}
  .insta p{margin-top:20px;font-size:20px}
  .insta__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px;flex:1}
  .insta__grid img{width:100%;height:auto;aspect-ratio:1;border-radius:8px}

  .footer__top{flex-direction:column;gap:24px;padding-top:40px;padding-bottom:32px}
  .footer__links ul{display:grid;grid-template-columns:auto auto;grid-auto-flow:column;grid-template-rows:repeat(3,auto);justify-content:start;column-gap:32px}
  .footer__news{width:100%}
  .footer__news p{margin-top:8px}
  .footer__bottom-row{flex-direction:column;padding:0 16px;gap:16px}
  .footer__legal{order:1}
  .footer__pay{order:2;flex-wrap:wrap;justify-content:center;gap:10px 16px;max-width:340px}
  .footer__copy{order:3}
}

/* Grinch / coming-soon cards */
.card--grinch{background:radial-gradient(circle at 50% 30%,#2f7a46 0%,#123d26 55%,#0b2417 100%)}
.card--grinch::before{background:radial-gradient(#fff 1px,transparent 1.5px) 0 0/34px 34px,radial-gradient(rgba(255,255,255,.6) 1px,transparent 1.5px) 17px 17px/34px 34px;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:.35}
.card__poster--soon{left:20%;width:60%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(160deg,#c8173a,#6d0a1c);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.card__poster--soon span{font:700 26px/1.1 var(--dosis);letter-spacing:1.5px;text-transform:uppercase;text-align:center;padding:0 12px}
.card__poster--soon small{font-size:12px;opacity:.85}

/* Inner pages */
.topbar{background:var(--grey);position:relative;z-index:3}
.topbar .header{top:0}
.topbar .nav{background:#fff}
.topbar .header__menu-btn img,.topbar .header__cart-m img{filter:brightness(0) saturate(100%) invert(9%) sepia(20%) saturate(2000%) hue-rotate(310deg)}
.page-title{font:600 40px/48px var(--dosis);letter-spacing:1.6px;text-transform:uppercase;text-align:center;padding:80px 0 56px}

/* FAQ */
.faq{max-width:758px;margin:0 auto;padding-bottom:120px;display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--grey);border-radius:15px;transition:background .2s}
.faq details[open]{background:rgba(226,69,163,.08)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font:500 16px/24px var(--pop)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:#fff;color:var(--pink);display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 24px 22px;font-size:15px;line-height:25px;color:var(--text)}

/* Contacts */
.hero--small{height:466px}
.hero--small .hero__content{margin-top:0;position:absolute;left:0;right:0;bottom:72px}
.hero--small .hero__title{font-size:48px;line-height:48px;letter-spacing:1.92px}
.contact{padding-top:96px;padding-bottom:96px}
.contact__row{display:flex;justify-content:space-between;gap:64px}
.contact__info{display:flex;flex-direction:column;gap:32px;min-width:220px}
.contact__item{display:flex;gap:16px}
.contact__item .feature__icon{margin-top:0;width:44px;height:44px;background:var(--grey)}
.contact__item .feature__icon img{width:22px;height:22px}
.contact__item h3{font:600 18px/24px var(--dosis);letter-spacing:.72px;text-transform:uppercase}
.contact__item a{display:block;margin-top:8px;font-size:16px;line-height:27px;color:var(--text)}
.contact__item a:hover{color:var(--pink)}
.contact__form{width:599px;max-width:100%}
.contact__form p{font-size:20px;line-height:31.5px;padding-bottom:24px;border-bottom:1px solid #ddd;margin-bottom:32px}
.contact__form form{display:flex;flex-direction:column;gap:16px}
.contact__form input,.contact__form textarea{width:100%;padding:14px 24px;border:1px solid #ddd;border-radius:25px;font:15px var(--pop);color:var(--dark);outline:none;background:#fff}
.contact__form textarea{border-radius:20px;min-height:150px;resize:vertical}
.contact__form input:focus,.contact__form textarea:focus{border-color:var(--pink)}
.contact__form .btn{align-self:flex-start;margin-top:8px}
.form-ok{display:none;color:var(--pink);font-weight:500}
.mapblock{padding-bottom:96px}
.mapblock h2{font:600 32px/32px var(--dosis);letter-spacing:1.28px;text-transform:uppercase;margin-bottom:32px}
.map{position:relative;height:420px;border-radius:30px;overflow:hidden;background:linear-gradient(135deg,#f3e6ec,#f9f9f9);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;color:var(--text)}
.map::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 59px,rgba(43,20,25,.06) 59px 60px),repeating-linear-gradient(90deg,transparent 0 59px,rgba(43,20,25,.06) 59px 60px)}
.map *{position:relative}
.map__pin{width:44px;height:44px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pink);box-shadow:0 6px 16px rgba(226,69,163,.4)}
.map strong{font:600 18px var(--dosis);color:var(--dark);text-transform:uppercase;letter-spacing:.7px}

@media (max-width:1024px){
  .contact__row{flex-direction:column}
  .card__poster--soon span{font-size:22px}
}
@media (max-width:768px){
  .page-title{font-size:32px;padding:48px 0 32px}
  .faq{padding-bottom:64px}
  .faq summary{padding:16px 18px;font-size:15px}
  .faq details p{padding:0 18px 18px}
  .hero--small{height:340px}
  .hero--small .hero__content{bottom:40px}
  .hero--small .hero__title{font-size:36px;line-height:40px}
  .contact{padding-top:48px;padding-bottom:48px}
  .contact__row{gap:40px}
  .contact__form p{font-size:18px;line-height:28px}
  .mapblock h2{font-size:26px}
  .map{height:300px;border-radius:20px}
  .card__poster--soon{left:25%;width:50%}
}

/* After removing About block */
.events{padding-bottom:120px}
.promo__text{margin-top:0;margin-bottom:32px;font-size:30px;line-height:42px;color:var(--dark)}
@media (max-width:768px){
  .events{padding-bottom:16px}
  .promo__text{font-size:22px;line-height:32px;max-width:220px}
}

/* Grinch cards with illustration */
.card--grinch{background:#0b2417}
.card--grinch .card__bg{filter:blur(8px) brightness(.45);transform:scale(1.25)}
.card--grinch::before{background:rgba(11,36,23,.45);opacity:1}
.card--grinch .card__poster{left:20%;width:60%;aspect-ratio:3/4;box-shadow:0 10px 30px rgba(0,0,0,.4)}
@media (max-width:768px){.card--grinch .card__poster{left:25%;width:50%}}

/* Event page */
.event{padding-top:64px;padding-bottom:96px}
.event__row{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:72px;align-items:start}
.event__poster{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:24px;box-shadow:0 20px 50px rgba(43,20,25,.18)}
.crumbs{font-size:14px;color:var(--text);margin-bottom:16px}
.crumbs a:hover{color:var(--pink)}
.event h1{font:600 44px/50px var(--dosis);letter-spacing:1.6px;text-transform:uppercase}
.event__facts{display:flex;flex-wrap:wrap;gap:12px 28px;margin:20px 0 28px;color:var(--text);font-size:15px}
.event__facts b{color:var(--dark);font-weight:500}
.event__desc{font-size:17px;line-height:29px;color:var(--text);max-width:620px}
.event__label{font:600 16px/20px var(--dosis);letter-spacing:.8px;text-transform:uppercase;margin:32px 0 12px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid #ddd;background:#fff;border-radius:50px;padding:12px 20px;font:500 14px var(--pop);color:var(--dark);cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--pink)}
.chip.is-on{background:var(--pink);border-color:var(--pink);color:#fff}
.event__buy{display:flex;align-items:center;gap:24px;margin-top:36px;padding-top:28px;border-top:1px solid #eee}
.price{font:700 32px/1 var(--dosis)}
.price small{display:block;font:400 12px var(--pop);color:var(--text);margin-top:6px}
.experience{background:var(--grey);border-radius:60px;padding:72px 0;margin-bottom:96px}
.experience h2{font:600 32px/36px var(--dosis);letter-spacing:1.28px;text-transform:uppercase;text-align:center;margin-bottom:48px}

/* Checkout */
.checkout{padding-top:48px;padding-bottom:96px}
.checkout__row{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start}
.step{background:#fff;border:1px solid #eee;border-radius:24px;padding:28px;margin-bottom:20px}
.step h2{display:flex;align-items:center;gap:12px;font:600 20px/24px var(--dosis);letter-spacing:.8px;text-transform:uppercase;margin-bottom:20px}
.step h2 span{width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;display:flex;align-items:center;justify-content:center;font:600 15px var(--pop)}
.qty{display:flex;align-items:center;gap:16px}
.qty button{width:44px;height:44px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:22px;color:var(--dark);cursor:pointer}
.qty button:hover{border-color:var(--pink);color:var(--pink)}
.qty output{font:600 22px var(--pop);min-width:28px;text-align:center}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fields input{width:100%;padding:14px 22px;border:1px solid #ddd;border-radius:25px;font:15px var(--pop);color:var(--dark);outline:none}
.fields input:focus{border-color:var(--pink)}
.fields .full{grid-column:1/-1}
.wallets{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.wallet{height:52px;border-radius:12px;border:0;background:#000;color:#fff;font:600 17px var(--pop);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.pay-opts{display:flex;flex-direction:column;gap:10px}
.pay-opt{display:flex;align-items:center;gap:14px;border:1px solid #ddd;border-radius:16px;padding:16px 18px;cursor:pointer;transition:.2s}
.pay-opt:has(input:checked){border-color:var(--pink);background:rgba(226,69,163,.05)}
.pay-opt input{accent-color:var(--pink);width:18px;height:18px}
.pay-opt__logos{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pay-opt__logos img{height:16px;width:auto}
.summary{position:sticky;top:24px;background:var(--grey);border-radius:24px;padding:28px}
.summary img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:20px}
.summary h3{font:600 20px/24px var(--dosis);letter-spacing:.8px;text-transform:uppercase}
.summary dl{margin:18px 0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:14px}
.summary dt{color:var(--text)}
.summary dd{text-align:right;font-weight:500}
.summary__total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #ddd;padding-top:16px;margin-bottom:20px;font:700 26px var(--dosis)}
.summary__total span{font:500 15px var(--pop)}
.summary small{display:block;margin-top:14px;font-size:12px;line-height:1.5;color:var(--text)}
.summary small a{text-decoration:underline}
.modal{position:fixed;inset:0;background:rgba(43,20,25,.55);display:none;align-items:center;justify-content:center;z-index:60;padding:16px}
.modal.is-open{display:flex}
.modal__box{background:#fff;border-radius:24px;padding:36px;max-width:420px;text-align:center}
.modal__box h3{font:600 24px var(--dosis);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.modal__box p{color:var(--text);line-height:1.6;margin-bottom:24px}

@media (max-width:1024px){
  .event__row{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:40px}
  .checkout__row{grid-template-columns:1fr}
  .summary{position:static}
}
@media (max-width:768px){
  .event{padding-top:32px;padding-bottom:56px}
  .event__row{grid-template-columns:1fr;gap:28px}
  .event__poster{max-width:300px;margin:0 auto;display:block}
  .event h1{font-size:32px;line-height:38px}
  .event__buy{flex-wrap:wrap}
  .experience{border-radius:32px;padding:48px 0;margin-bottom:56px}
  .experience h2{font-size:26px;margin-bottom:32px}
  .checkout{padding-top:24px;padding-bottom:56px}
  .step{padding:20px;border-radius:20px}
  .fields{grid-template-columns:1fr}
  .wallets{grid-template-columns:1fr}
}
.promo__bg{object-position:right center}
.promo__shade{background:linear-gradient(100deg,rgba(253,243,248,.9) 25%,rgba(253,243,248,0) 50%)}
@media (max-width:768px){.promo__bg{object-position:72% center}.promo__shade{background:linear-gradient(180deg,rgba(253,243,248,.95) 35%,rgba(253,243,248,0) 65%)}}

/* Legal */
.legal{max-width:820px;padding-bottom:96px}
.legal .page-title{padding-bottom:16px}
.legal__note{text-align:center;color:var(--pink);font-size:14px;margin-bottom:40px}
.legal h2{font:600 22px/28px var(--dosis);letter-spacing:.8px;text-transform:uppercase;margin:32px 0 10px}
.legal p{font-size:16px;line-height:27px;color:var(--text)}
.map{display:block}
.map::before{display:none}
.map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.map .map__btn{position:absolute;right:24px;bottom:24px}
@media (max-width:768px){.map .map__btn{right:16px;bottom:16px}}

/* Language switcher */
.lang{position:relative}
.lang__btn{display:flex;align-items:center;gap:4px;background:none;border:0;cursor:pointer;padding:4px 0 6px 4px}
.lang__btn img:first-child{width:14px;height:14px;border-radius:50%}
.lang__menu{position:absolute;top:calc(100% + 10px);right:-10px;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(43,20,25,.15);padding:6px;display:none;min-width:96px}
.lang.is-open .lang__menu{display:block}
.lang__menu a{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;font-size:14px;color:var(--dark)}
.lang__menu a:hover{background:var(--grey)}
.lang__menu a.is-on{color:var(--pink);font-weight:500}
.lang__menu img,.drawer__lang img{width:16px;height:16px;border-radius:50%}
.drawer__lang{gap:20px}
.drawer__lang a{display:flex;align-items:center;gap:8px;font-size:16px}
.drawer__lang a.is-on{color:var(--pink)}
.drawer__lang img:last-child{width:16px}


/* Logo tiles in Instagram grid */
.ig-tile{width:321px;height:321px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex:none}
.ig-tile--pink{background:var(--pink)}
.ig-tile--dark{background:var(--dark)}
.ig-tile img{width:72%;height:auto}
.ig-tile.m-only{display:none}
@media (max-width:768px){.ig-tile{width:100%;height:auto;aspect-ratio:1;border-radius:8px}.ig-tile.m-only{display:flex}}


/* Mobile plate section: text on top, full illustration below */
@media (max-width:768px){
  .promo__box{height:auto;display:flex;flex-direction:column;background:#fcf0f6}
  .promo__shade{display:none}
  .promo__content{position:static;padding:40px 20px 8px;order:1}
  .promo__text{max-width:none;margin-bottom:24px}
  .promo .btn{margin-top:0}
  .promo__bg{position:static;order:2;width:100%;height:320px;object-fit:cover;object-position:96% center;margin-top:-20px}
}


/* Muted plate tiles in the Instagram block */
.insta__grid img[src*="ig-plate"]{filter:grayscale(1) contrast(1.05) brightness(1.03)}


/* Logo tile: keep the logo whole on phones */
@media (max-width:768px){.insta__grid .ig-tile img{width:72%;height:auto;aspect-ratio:auto;border-radius:0}}


/* Christmas wreath */
.hero .wreath{position:absolute;right:40px;bottom:-48px;width:120px;height:auto;z-index:3;transform-origin:50% 0;animation:wreath-sway 6s ease-in-out infinite;pointer-events:none}
@keyframes wreath-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.hero .wreath{animation:none}}
@media (max-width:768px){.hero .wreath{width:70px;right:12px;bottom:-18px}}

/* consent checkboxes */
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;text-align:left;margin:4px 0 12px;cursor:pointer}
.consent input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--pink);padding:0}
.consent a{text-decoration:underline}
.summary .consent{margin:4px 0 16px}

/* hero promo card (Grinch) */
.promo-card{position:absolute;right:max(40px,calc((100% - 1212px)/2 + 20px));top:150px;width:290px;z-index:2;display:block;background:#fff;color:var(--text);border-radius:14px;box-shadow:0 24px 50px rgba(43,20,25,.35);transform:rotate(4deg);animation:promo-float 7s ease-in-out infinite;transition:transform .35s ease,box-shadow .35s ease;text-decoration:none}
.promo-card:hover{animation-play-state:paused;transform:rotate(0) scale(1.03);box-shadow:0 30px 60px rgba(43,20,25,.45)}
@keyframes promo-float{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(3deg) translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.promo-card{animation:none}}
.promo-card__tape{position:absolute;top:-12px;left:50%;width:96px;height:26px;margin-left:-48px;background:rgba(255,255,255,.55);backdrop-filter:blur(2px);transform:rotate(-5deg);box-shadow:0 1px 3px rgba(0,0,0,.12);z-index:2}
.promo-card__sticker{position:absolute;top:-18px;right:-20px;width:78px;height:78px;border-radius:50%;background:#5b8c2a;color:#fff;font:700 13px/1.1 var(--dosis);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;transform:rotate(14deg);box-shadow:0 6px 14px rgba(0,0,0,.25);border:2px dashed rgba(255,255,255,.6);z-index:3}
.promo-card__img{display:block;margin:12px 12px 0;border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.promo-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.promo-card__body{display:block;padding:14px 18px 16px}
.promo-card__tag{display:block;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#5b8c2a}
.promo-card__title{display:block;margin-top:4px;font:700 20px/1.15 var(--dosis);text-transform:uppercase;letter-spacing:.5px}
.promo-card__dates{display:block;margin-top:6px;font-size:13px;color:#6b5a5d}
.promo-card__stub{position:relative;display:block;padding:12px 18px;border-top:2px dashed #e6dcdd;font-weight:600;font-size:14px;color:var(--pink);background:radial-gradient(circle at 0 0,transparent 9px,#fff 10px) top left/51% 100% no-repeat,radial-gradient(circle at 100% 0,transparent 9px,#fff 10px) top right/51% 100% no-repeat;border-radius:0 0 14px 14px}
@media (max-width:1100px){.promo-card{width:240px;top:170px}}
@media (max-width:768px){
  .promo-card{width:150px;top:auto;bottom:46px;right:18px;border-radius:10px}
  .promo-card__img{margin:7px 7px 0;border-radius:6px}
  .promo-card__body{padding:7px 9px 8px}
  .promo-card__tag,.promo-card__dates{display:none}
  .promo-card__title{font-size:12px;margin:0}
  .promo-card__stub{padding:6px 9px;font-size:11px}
  .promo-card__sticker{width:50px;height:50px;font-size:8.5px;top:-14px;right:-12px;padding:5px}
  .promo-card__tape{width:56px;margin-left:-28px;height:18px;top:-9px}
  .hero .wreath{right:auto;left:18px}
}
