:root{--orange:#ff7a00;--dark:#280806;--cream:#fcfbf6;--brown:#6b2c10}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#000}body{margin:0;font-family:'Montserrat',Arial,Helvetica,sans-serif;background:#000;color:#280806}a{color:inherit;text-decoration:none}.site{width:100%;max-width:1440px;margin:0 auto;background:var(--cream);overflow:hidden}.header{height:120px;background:#fff;display:flex;align-items:center;padding:0 80px;position:relative;z-index:20}.header__logo{display:flex;align-items:center;width:100px;height:76px}.header__logo img{display:block;width:92px;height:68px;object-fit:contain}.header__nav{margin-left:auto;display:flex;align-items:center;gap:34px;font-size:14px;color:#151515}.header__nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 2px;white-space:nowrap}.header__nav a:hover{color:#ff6b00}.lang{border:1px solid #ddd;border-radius:20px;min-width:48px!important;padding:0 14px!important}.header__cta{background:#ff7800;color:#fff;border-radius:22px;padding:0 24px!important;min-width:142px;font-weight:600}.section-img{display:block;width:100%;height:auto}.hero,.mechanic,.final-cta{position:relative}.hit{position:absolute;display:block;z-index:6;cursor:pointer}.hero .ticket-hit{left:339px;top:1013px;width:574px;height:72px;border-radius:36px}.mechanic.one .smart-hit{left:40px;top:800px;width:384px;height:92px;border-radius:14px}.final-cta .ticket-hit{left:80px;top:392px;width:635px;height:64px;border-radius:12px}.program{position:relative;height:697px;background:var(--cream);overflow:hidden}.program__track{position:absolute;left:0;top:0;width:2493px;height:697px;will-change:transform;transition:transform .45s ease;user-select:none}.program__track img{width:2493px;height:697px;display:block;pointer-events:none}.program__mask-title{position:absolute;z-index:3;left:0;top:0;width:100%;height:164px;background:var(--cream);display:flex;align-items:flex-end;justify-content:center;padding-bottom:34px}.program__mask-title h2{margin:0;font-size:48px;line-height:1;font-weight:500;color:#6b2c10;text-transform:uppercase}.carousel-btn{position:absolute;z-index:6;top:316px;width:44px;height:72px;border:0;border-radius:22px;background:#9a8984;color:var(--orange);font-size:34px;cursor:pointer;display:grid;place-items:center}.carousel-btn.prev{left:14px}.carousel-btn.next{right:14px}.program__dragzone{position:absolute;z-index:5;left:60px;right:60px;top:164px;bottom:0;cursor:grab}.program__dragzone:active{cursor:grabbing}.faq{background:var(--cream);padding:128px 116px 120px;min-height:1008px}.faq h2{margin:0 0 66px;color:#ff7800;font-size:58px;font-weight:500}.faq-item{border-bottom:1px solid #ff8a2c}.faq-q{width:100%;min-height:108px;border:0;background:none;padding:26px 56px 26px 0;text-align:left;font:600 26px/1.25 'Montserrat',Arial,Helvetica,sans-serif;color:#280806;position:relative;cursor:pointer}.faq-q:after{content:'';position:absolute;right:8px;top:40px;width:20px;height:20px;border-right:4px solid #280806;border-bottom:4px solid #280806;transform:rotate(45deg);transition:.25s}.faq-item.open .faq-q:after{transform:rotate(225deg);top:50px}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.faq-a>div{overflow:hidden}.faq-a p{margin:0;padding:0 60px 30px 0;font-size:23px;line-height:1.4;color:#3d211c}.faq-item.open .faq-a{grid-template-rows:1fr}.footer{height:386px;background:var(--dark);padding:82px 116px 64px;color:#fff;display:grid;grid-template-columns:300px 1fr 390px;column-gap:40px;align-items:start}.footer__logo img{width:168px;filter:brightness(0) invert(1)}.footer__copy{font-size:15px;color:#e7d9d5;margin-top:38px}.footer__social-title{font-size:20px;margin:12px 0 18px}.footer__socials{display:flex;gap:24px}.social{width:48px;height:48px;border-radius:50%;background:#fff;color:#280806;display:grid;place-items:center;font-size:18px;font-weight:700}.footer__contact{padding-top:12px;font-size:20px}.footer__address{display:inline-flex;align-items:center;gap:14px;min-height:48px}.footer__phone{display:flex;align-items:center;gap:14px;margin-top:14px;min-height:48px}.pin,.phone-ico{font-size:26px;width:28px;text-align:center}@media(max-width:1000px){body:before{content:'Desktop preview — откройте окно шире 1000 px';display:block;background:#fff;color:#000;padding:12px;text-align:center}.site{min-width:1000px}}

/* v10 fixes */
.header__logo{width:112px;height:84px}
.header__logo img{width:100px;height:74px;object-fit:contain}
.header__cta:hover,.header__cta:focus,.header__cta:visited{color:#fff;background:#ff7800}
.header__cta{transition:none}
.social{background:transparent;padding:0;overflow:hidden}
.social img{display:block;width:48px;height:48px}
.footer__logo img{width:168px;filter:none}
.footer__address:hover{opacity:.86}
.contact-icon{width:26px;height:26px;display:block;flex:0 0 26px}

/* v11 — header CTA hover/focus/active fix */
.header__nav .header__cta,
.header__nav .header__cta:link,
.header__nav .header__cta:visited,
.header__nav .header__cta:hover,
.header__nav .header__cta:focus,
.header__nav .header__cta:focus-visible,
.header__nav .header__cta:active {
  background:#ff7800;
  color:#fff;
  text-decoration:none;
}
.header__nav .header__cta:hover { opacity:1; }

.mechanics-title{position:relative}.anchor-target{position:absolute;left:0;top:0;width:1px;height:1px;scroll-margin-top:0}


/* v13 — clickable ticket CTAs and Smart Plaza scroll target */
.ticket-hit{pointer-events:auto;cursor:pointer;}
.smart-hit{pointer-events:auto;cursor:pointer;scroll-margin-top:180px;}

/* v14 — exact clickable areas from Figma SVG geometry */
.hero .ticket-hit{
  left:390px;
  top:1169px;
  width:660px;
  height:81px;
  border-radius:40px;
}
.mechanic.one .smart-hit{
  left:80px;
  top:890px;
  width:396px;
  height:94px;
  border-radius:15px;
}
.final-cta .ticket-hit{
  left:80px;
  top:391px;
  width:634px;
  height:62px;
  border-radius:15px;
}


/* v15 — editable schedule table (HTML, no longer baked into SVG) */
.schedule{
  width:100%;
  min-height:589px;
  background:#FCFBF6;
  padding:90px 80px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:42px;
}
.schedule__head{text-align:center;color:#280806}
.schedule__head h2{
  margin:0;
  font-size:46px;
  line-height:1.04;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:-.5px;
}
.schedule__head p{
  margin:12px 0 0;
  font-size:15px;
  line-height:1.25;
  font-weight:400;
  text-transform:uppercase;
}
.schedule__table-wrap{width:100%;max-width:1280px;overflow:hidden}
.schedule__table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:transparent;
  color:#280806;
  font-size:15px;
  line-height:1.25;
}
.schedule__table th,
.schedule__table td{
  border:1px solid #FF8A2C;
  padding:10px 18px;
  text-align:left;
  vertical-align:middle;
  font-weight:400;
  height:38px;
  word-break:break-word;
}
.schedule__table th{font-weight:500;background:#FCFBF6}
.schedule__table th:nth-child(1),.schedule__table td:nth-child(1){width:33.33%}
.schedule__table th:nth-child(2),.schedule__table td:nth-child(2){width:33.33%}
.schedule__table th:nth-child(3),.schedule__table td:nth-child(3){width:33.34%}

/* v16 — schedule typography and geometry matched to Figma */
.schedule{
  height:589px;
  min-height:589px;
  padding:90px 80px;
  gap:42px;
  overflow:hidden;
}
.schedule__head{
  width:100%;
  text-align:center;
  color:#280806;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
}
.schedule__head h2{
  margin:0;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  font-size:64px;
  font-style:normal;
  font-weight:500;
  line-height:112%;
  letter-spacing:0;
  text-transform:uppercase;
  color:#280806;
}
.schedule__head p{
  margin:10px 0 0;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  font-size:24px;
  font-style:normal;
  font-weight:500;
  line-height:100%;
  letter-spacing:0;
  text-transform:uppercase;
  color:#280806;
}
.schedule__table-wrap{
  width:1280px;
  max-width:1280px;
  height:237px;
  overflow:hidden;
  border:1px solid #FFBA76;
  border-radius:7px;
}
.schedule__table{
  width:100%;
  height:235px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  background:transparent;
  color:#000;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  font-size:24px;
  font-style:normal;
  font-weight:500;
  line-height:100%;
  letter-spacing:0;
}
.schedule__table th,
.schedule__table td{
  height:47px;
  padding:0 20px;
  border:0;
  border-right:1px solid #FFBA76;
  border-bottom:1px solid #FFBA76;
  text-align:left;
  vertical-align:middle;
  font-family:'Montserrat', Arial, Helvetica, sans-serif;
  font-size:24px;
  font-style:normal;
  font-weight:500;
  line-height:100%;
  letter-spacing:0;
  color:#000;
  background:#FCFBF6;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.schedule__table th:last-child,
.schedule__table td:last-child{border-right:0}
.schedule__table tbody tr:last-child td{border-bottom:0}
.schedule__table th:nth-child(1),.schedule__table td:nth-child(1){width:33.36%}
.schedule__table th:nth-child(2),.schedule__table td:nth-child(2){width:33.28%}
.schedule__table th:nth-child(3),.schedule__table td:nth-child(3){width:33.36%}

/* v17 — schedule hierarchy: column labels Medium, row values Regular */
.schedule__table th{font-weight:500;}
.schedule__table td{font-weight:400;}


/* v18 — load Montserrat weights and make schedule hierarchy visible */
.schedule__table th{font-weight:600!important;}
.schedule__table td{font-weight:400!important;}

/* DP12 Fashion Day — schedule header alignment override
   Add this file AFTER css/style.css in <head>,
   or copy these rules to the end of style.css.
*/

.schedule__table th {
    text-align: center;
    vertical-align: middle;
    font-weight: 600;
}

/* Keep editable schedule values left-aligned */
.schedule__table td {
    text-align: left;
}
/* Mobile adaptation — based on user's v18 build. Desktop rules above stay unchanged. */
.mobile-menu-btn,.mobile-menu{display:none}

@media (max-width:700px){
  html,body{background:#000;overflow-x:hidden}
  body:before{display:none!important;content:none!important}
  .site{width:100%;max-width:375px;min-width:0!important;margin:0 auto;overflow:hidden}

  /* Header: keep language and hamburger separate, no overlap */
  .header{height:76px;padding:0 16px;display:flex;align-items:center;gap:12px;position:relative}
  .header__logo{width:72px;height:54px;flex:0 0 72px}
  .header__logo img{width:68px;height:50px}
  .header__nav{margin-left:auto;gap:0;font-size:14px}
  .header__nav>a:not(.lang){display:none}
  .header__nav .lang{display:flex!important;min-width:54px!important;height:42px;min-height:42px;padding:0 14px!important;border-radius:11px;font-size:16px;background:#fff;position:relative;z-index:32}
  .mobile-menu-btn{display:flex;width:46px;height:46px;border:0;background:transparent;padding:9px 7px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;position:relative;z-index:32}
  .mobile-menu-btn span{display:block;width:30px;height:3px;background:#191919;border-radius:2px;transition:.2s}
  .mobile-menu-btn.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .mobile-menu-btn.open span:nth-child(2){opacity:0}
  .mobile-menu-btn.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .mobile-menu{display:none;position:absolute;z-index:31;top:76px;left:0;right:0;background:#fff;padding:12px 16px 18px;border-top:1px solid #eee;box-shadow:0 12px 24px rgba(0,0,0,.12);flex-direction:column;gap:0}
  .mobile-menu.open{display:flex}
  .mobile-menu a{display:flex;min-height:44px;align-items:center;padding:0 8px;border-bottom:1px solid #eee;font-size:14px;color:#151515}
  .mobile-menu__cta{margin-top:12px!important;border:0!important;border-radius:22px;background:#ff7800;color:#fff!important;justify-content:center;font-weight:600}

  /* Hero and other image sections scale naturally to the 375px Figma canvas */
  .section-img{width:100%;height:auto}
  .hero .ticket-hit,.mechanic.one .smart-hit,.final-cta .ticket-hit{display:none}

  /* Program carousel: one card almost fully visible + a small preview of the next card */
  .program{height:480px;width:100%;overflow:hidden;background:var(--cream)}
  .program__mask-title{height:112px;padding:0 18px 20px;align-items:flex-end;justify-content:flex-start}
  .program__mask-title h2{font-size:28px;line-height:1.08;font-weight:500;text-align:left;white-space:nowrap}
  .program__track{top:0;left:0;width:1690px;height:auto;transition:transform .35s ease}
  .program__track img{display:block;width:1690px;height:auto;max-width:none}
  .program__dragzone{left:0;right:0;top:112px;bottom:0;z-index:8;touch-action:pan-y;cursor:grab}
  .carousel-btn{display:none}

  /* Remaining desktop sections fit viewport instead of forcing a 1000px layout */
  .mechanics-title,.mechanic,.final-cta{width:100%}
  .schedule{width:100%;height:auto;min-height:0;padding:42px 16px;gap:24px;overflow:visible}
  .schedule__head h2{font-size:28px;line-height:1.08}
  .schedule__head p{font-size:12px;line-height:1.25}
  .schedule__table-wrap{width:100%;max-width:100%;height:auto;overflow-x:auto;border-radius:6px}
  .schedule__table{min-width:560px;height:auto;font-size:13px}
  .schedule__table th,.schedule__table td{height:36px;padding:0 10px;font-size:13px}
  .faq{padding:48px 20px 56px;min-height:0}
  .faq h2{font-size:34px;margin-bottom:24px}
  .faq-q{min-height:68px;padding:18px 40px 18px 0;font-size:15px}
  .faq-q:after{right:5px;top:24px;width:13px;height:13px;border-width:2px}
  .faq-item.open .faq-q:after{top:30px}
  .faq-a p{padding:0 30px 20px 0;font-size:13px;line-height:1.45}
  .footer{height:auto;padding:46px 20px 42px;display:flex;flex-direction:column;gap:30px}
  .footer__logo img{width:122px}
  .footer__copy{font-size:11px;margin-top:18px}
  .footer__social-title{font-size:15px;margin:0 0 14px}
  .footer__socials{gap:14px}
  .social,.social img{width:42px;height:42px}
  .footer__contact{padding-top:0;font-size:14px}
  .footer__address,.footer__phone{min-height:40px;gap:10px}
  .footer__phone{margin-top:6px}
  .contact-icon{width:20px;height:20px;flex-basis:20px}
}

/* mobile v3 — compact editable schedule + centered program heading */
@media (max-width:700px){
  .program__mask-title{justify-content:center;padding-left:12px;padding-right:12px}
  .program__mask-title h2{width:100%;text-align:center;font-size:25px;white-space:nowrap}

  .schedule{padding:34px 18px 40px;gap:24px}
  .schedule__head{width:100%;text-align:left;padding:0 6px}
  .schedule__head h2{font-size:27px;line-height:1.02;margin:0 0 10px;max-width:300px}
  .schedule__head p{font-size:12px;line-height:1.18;margin:0;max-width:300px}
  .schedule__table-wrap{overflow:hidden;border-radius:7px}
  .schedule__table{width:100%;min-width:0;table-layout:fixed;font-size:12px}
  .schedule__table th,.schedule__table td{height:38px;padding:0 8px;font-size:12px;line-height:1.1;text-align:left;white-space:normal;word-break:break-word}
  .schedule__table th{font-size:13px;font-weight:600!important}
  .schedule__table th:nth-child(1),.schedule__table td:nth-child(1){width:33.33%}
  .schedule__table th:nth-child(2),.schedule__table td:nth-child(2){width:33.33%}
  .schedule__table th:nth-child(3),.schedule__table td:nth-child(3){width:33.34%}
}
.carousel-btn {
  display: none !important;
}

/* Schedule desktop fix — allow long activity/location text to wrap instead of ellipsis */
.schedule__table{
    height:auto !important;
}

.schedule__table-wrap{
    height:auto !important;
    overflow:visible !important;
}

.schedule__table th,
.schedule__table td{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    height:auto !important;
    min-height:47px;
    line-height:1.2 !important;
    vertical-align:middle;
}

.schedule__table tr{
    height:auto !important;
}

.schedule__table td{
    word-break:normal !important;
    overflow-wrap:anywhere;
}


/* FINAL SCHEDULE FIX — remove fixed-height clipping on desktop */
@media (min-width:701px){
  .schedule{
    height:auto !important;
    min-height:0 !important;
    padding:90px 80px !important;
    gap:54px !important;
    overflow:visible !important;
  }

  .schedule__table-wrap{
    width:1280px !important;
    max-width:1280px !important;
    height:auto !important;
    min-height:0 !important;
    overflow:hidden !important;
    border:1px solid #FFBA76;
    border-radius:7px;
  }

  .schedule__table{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    table-layout:fixed;
    border-collapse:separate;
    border-spacing:0;
  }

  .schedule__table th,
  .schedule__table td{
    height:auto !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-height:1.18 !important;
    vertical-align:middle;
    padding:10px 20px !important;
  }

  .schedule__table th{
    min-height:47px;
    text-align:center;
    font-weight:600 !important;
  }

  .schedule__table td{
    text-align:left;
    font-weight:400 !important;
  }

  /* Row minimum heights from the Figma reference.
     They are MINIMUMS now, so long text can expand safely. */
  .schedule__table tbody tr:nth-child(1) td{min-height:49px}
  .schedule__table tbody tr:nth-child(2) td{min-height:49px}
  .schedule__table tbody tr:nth-child(3) td{min-height:73px}
  .schedule__table tbody tr:nth-child(4) td{min-height:121px}
  .schedule__table tbody tr:nth-child(5) td{min-height:73px}
  .schedule__table tbody tr:nth-child(6) td{min-height:97px}
  .schedule__table tbody tr:nth-child(7) td{min-height:73px}
  .schedule__table tbody tr:nth-child(8) td{min-height:73px}
  .schedule__table tbody tr:nth-child(9) td{min-height:73px}
}


/* Mobile hero v19 — exact 375×568 Figma composition */
.hero__picture{
  display:block;
  width:100%;
}
.hero__picture .section-img{
  display:block;
  width:100%;
  height:auto;
}
@media (max-width:700px){
  .hero{
    width:100%;
    height:auto !important;
    overflow:hidden;
  }
  .hero__picture{
    display:block;
    width:100%;
    height:auto;
  }
  .hero__picture .section-img{
    display:block;
    width:100%;
    height:auto !important;
    max-width:none;
  }
}


/* Mobile full rebuild v20 — supplied Figma SVG blocks.
   Desktop remains untouched. */
.mobile-hero-info,
.mobile-footer-visual{
  display:none;
}

@media (max-width:700px){
  .mobile-hero-info{
    display:block;
    position:relative;
    width:100%;
    line-height:0;
  }
  .mobile-hero-info img{
    display:block;
    width:100%;
    height:auto;
  }
  .mobile-hero-info__ticket{
    position:absolute;
    left:5.33%;
    width:89.34%;
    top:67.3%;
    height:13.6%;
    z-index:5;
  }

  .program{
    height:auto !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .program__track{
    width:1430px !important;
    height:363px !important;
    transform:none;
  }
  .program__track picture,
  .program__track img{
    display:block;
    width:1430px !important;
    height:363px !important;
    max-width:none !important;
  }
  .program__mask-title,
  .carousel-btn{
    display:none !important;
  }
  .program__dragzone{
    inset:0 !important;
  }

  .mechanics-title{
    height:auto !important;
    min-height:0 !important;
  }
  .mechanics-title picture,
  .mechanics-title picture img{
    display:block;
    width:100%;
    height:auto !important;
  }

  .mechanic{
    height:auto !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .mechanic picture,
  .mechanic picture img{
    display:block;
    width:100%;
    height:auto !important;
  }

  /* Keep Smart Plaza button functional over the supplied mobile mechanics artwork. */
  .mechanic.one .smart-hit{
    left:5.33% !important;
    width:89.34% !important;
    top:73.8% !important;
    height:7.0% !important;
  }

  .final-cta{
    height:auto !important;
    min-height:0 !important;
    position:relative;
  }
  .final-cta picture,
  .final-cta picture img{
    display:block;
    width:100%;
    height:auto !important;
  }
  .final-cta .ticket-hit{
    left:5.33% !important;
    width:89.34% !important;
    top:74.7% !important;
    height:10.3% !important;
  }

  .mobile-footer-visual{
    display:block;
    position:relative;
    width:100%;
    line-height:0;
  }
  .mobile-footer-visual img{
    display:block;
    width:100%;
    height:auto;
  }

  /* The exact mobile footer artwork replaces the old mobile footer layout visually. */
  .footer{
    display:none !important;
  }
}


/* Mobile CTA click-layer fix v21 */
@media (max-width:700px){
  .mobile-hero-info,
  .mechanic.one,
  .final-cta{
    position:relative !important;
  }

  .mobile-hero-info__ticket,
  .mechanic.one .smart-hit,
  .final-cta .ticket-hit{
    display:block !important;
    position:absolute !important;
    z-index:50 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    background:transparent !important;
  }

  .mobile-hero-info img,
  .mechanic.one picture,
  .mechanic.one picture img,
  .final-cta picture,
  .final-cta picture img{
    position:relative;
    z-index:1;
    pointer-events:none !important;
  }

  /* top orange CTA under the hero cards */
  .mobile-hero-info__ticket{
    left:5.33% !important;
    right:auto !important;
    top:67.0% !important;
    width:89.34% !important;
    height:14.5% !important;
  }

  /* orange Smart Plaza CTA in mechanics block */
  .mechanic.one .smart-hit{
    left:5.33% !important;
    right:auto !important;
    top:73.0% !important;
    width:89.34% !important;
    height:9.0% !important;
  }

  /* bottom orange CTA */
  .final-cta .ticket-hit{
    left:5.33% !important;
    right:auto !important;
    top:73.5% !important;
    width:89.34% !important;
    height:12.5% !important;
  }
}


/* Mobile footer clickable areas v22 */
@media (max-width:700px){
  .mobile-footer-visual{
    position:relative !important;
  }

  .mobile-footer-visual > img{
    position:relative;
    z-index:1;
    pointer-events:none !important;
  }

  .mobile-footer-hit{
    position:absolute;
    display:block;
    z-index:20;
    cursor:pointer;
    background:transparent;
    pointer-events:auto;
  }

  /* Social icons — based on 375×429 Figma footer */
  .mobile-footer-instagram{
    left:4.0%;
    top:18.2%;
    width:15.0%;
    height:13.5%;
  }
  .mobile-footer-threads{
    left:27.0%;
    top:18.2%;
    width:18.0%;
    height:13.5%;
  }
  .mobile-footer-facebook{
    left:51.0%;
    top:18.2%;
    width:16.0%;
    height:13.5%;
  }

  /* Address / map row */
  .mobile-footer-map{
    left:4.0%;
    top:39.0%;
    width:68.0%;
    height:11.5%;
  }

  /* Dostyk Plaza logo at the bottom */
  .mobile-footer-logo{
    left:3.0%;
    top:68.0%;
    width:36.0%;
    height:25.0%;
  }
}


/* RU / KZ language switch */
.lang-switch{
  min-height:46px;
  border:1px solid #ddd;
  border-radius:23px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
  font-size:14px;
  line-height:1;
  background:#fff;
}
.lang-switch a{
  min-height:0 !important;
  padding:0 !important;
  color:#b9b9b9;
  font-weight:400;
}
.lang-switch a:hover{color:#ff6b00}
.lang-switch a.active{
  color:#151515;
  font-weight:600;
}
.lang-switch span{
  color:#b9b9b9;
  user-select:none;
}

@media(max-width:700px){
  .header__nav{
    margin-left:auto;
  }
  .lang-switch{
    height:42px;
    min-height:42px;
    border-radius:11px;
    padding:0 12px;
    gap:6px;
    font-size:14px;
    position:relative;
    z-index:32;
  }
  .lang-switch a{
    display:block !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
  }
}


/* KZ final visuals — supplied Figma exports; RU remains unchanged */
.kz-page .program__track{
  width:2498px;
}
.kz-page .program__track img{
  width:2498px;
}

/* Keep all CTA hit areas above KZ SVG artwork */
.kz-page .hero,
.kz-page .mobile-hero-info,
.kz-page .mechanic.one,
.kz-page .final-cta{
  position:relative;
}
.kz-page .ticket-hit,
.kz-page .smart-hit,
.kz-page .mobile-hero-info__ticket,
.kz-page .mobile-footer-hit{
  z-index:60 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}

/* The supplied KZ mechanics-1 desktop frame is 1340px high.
   Keep the existing Smart Plaza CTA aligned to the visible orange button. */
@media (min-width:701px){
  .kz-page .mechanic.one .smart-hit{
    left:80px;
    top:918px;
    width:396px;
    height:94px;
  }
}

/* KZ mobile uses the same geometry as the approved RU mobile SVG set. */
@media (max-width:700px){
  .kz-page .program__track{
    width:1432px !important;
    height:363px !important;
  }
  .kz-page .program__track picture,
  .kz-page .program__track img{
    width:1432px !important;
    height:363px !important;
  }

  .kz-page .mobile-hero-info__ticket{
    left:5.33% !important;
    top:67.0% !important;
    width:89.34% !important;
    height:14.5% !important;
  }
  .kz-page .mechanic.one .smart-hit{
    left:5.33% !important;
    top:73.0% !important;
    width:89.34% !important;
    height:9.0% !important;
  }
  .kz-page .final-cta .ticket-hit{
    left:5.33% !important;
    top:73.5% !important;
    width:89.34% !important;
    height:12.5% !important;
  }
}


/* KZ mobile footer v2 — correct 375×429 footer artwork + click zones */
@media (max-width:700px){
  .kz-page .mobile-footer-visual{
    display:block !important;
    position:relative !important;
    width:100%;
    line-height:0;
  }
  .kz-page .mobile-footer-visual > img{
    display:block;
    width:100%;
    height:auto;
    pointer-events:none !important;
  }
  .kz-page .mobile-footer-instagram{
    left:3.5% !important;
    top:18.0% !important;
    width:16.5% !important;
    height:13.5% !important;
  }
  .kz-page .mobile-footer-threads{
    left:27.0% !important;
    top:18.0% !important;
    width:17.5% !important;
    height:13.5% !important;
  }
  .kz-page .mobile-footer-facebook{
    left:51.0% !important;
    top:18.0% !important;
    width:16.5% !important;
    height:13.5% !important;
  }
  .kz-page .mobile-footer-map{
    left:3.5% !important;
    top:39.0% !important;
    width:69.0% !important;
    height:12.0% !important;
  }
  .kz-page .mobile-footer-logo{
    left:3.0% !important;
    top:68.0% !important;
    width:39.0% !important;
    height:25.0% !important;
  }
}


/* =========================================================
   24.08 FINAL — approved mobile fixes
   ========================================================= */
@media (max-width:700px){

  /* Program carousel: static centered heading, cards swipe underneath. */
  body:not(.kz-page) .program{
    height:390px !important;
    min-height:390px !important;
    overflow:hidden !important;
    position:relative !important;
    background:var(--cream) !important;
  }

  body:not(.kz-page) .program__mask-title{
    display:flex !important;
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:92px !important;
    padding:0 14px !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--cream) !important;
    z-index:80 !important;
    pointer-events:none !important;
  }

  body:not(.kz-page) .program__mask-title h2{
    margin:0 !important;
    width:100% !important;
    text-align:center !important;
    color:#6b2c10 !important;
    font-size:25px !important;
    line-height:1.08 !important;
    font-weight:500 !important;
    white-space:nowrap !important;
  }

  /* Cards-only SVG; raised 65px from the original 92px position. */
  body:not(.kz-page) .program__track{
    left:0 !important;
    top:27px !important;
    width:1430px !important;
    height:363px !important;
    max-width:none !important;
  }

  body:not(.kz-page) .program__track picture,
  body:not(.kz-page) .program__track img{
    display:block !important;
    width:1430px !important;
    height:363px !important;
    max-width:none !important;
  }

  body:not(.kz-page) .program__dragzone{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:27px !important;
    bottom:0 !important;
    z-index:90 !important;
    touch-action:pan-y !important;
    cursor:grab !important;
  }

  /* Remove the 1–2px white seam between mobile mechanics SVG sections. */
  .mechanics-title,
  .mechanic{
    line-height:0;
  }

  .mechanics-title picture,
  .mechanics-title img,
  .mechanic picture,
  .mechanic img{
    display:block;
  }

  .mechanic.one{
    margin-top:-2px !important;
  }
}

/* =========================================================
   KZ + EN MOBILE PROGRAM — supplied final Figma SVGs
   ========================================================= */
@media (max-width:700px){
  /* KZ: complete supplied 1435x363 carousel strip. */
  .kz-page .program{
    height:363px !important;
    min-height:363px !important;
    position:relative !important;
    overflow:hidden !important;
    background:var(--cream) !important;
  }
  .kz-page .program__track{
    left:0 !important;
    top:0 !important;
    width:1435px !important;
    height:363px !important;
    max-width:none !important;
  }
  .kz-page .program__track picture,
  .kz-page .program__track img{
    display:block !important;
    width:1435px !important;
    height:363px !important;
    max-width:none !important;
  }
  .kz-page .program__mask-title,
  .kz-page .carousel-btn{
    display:none !important;
  }
  .kz-page .program__dragzone{
    position:absolute !important;
    inset:0 !important;
    z-index:90 !important;
    touch-action:pan-y !important;
    cursor:grab !important;
  }

  /* EN: use the complete supplied 1433x408 SVG exactly as exported.
     It contains the centered two-line WHAT AWAITS YOU / ON THE DAY heading,
     so the old HTML mask-title is intentionally hidden. */
  .en-page .program{
    height:408px !important;
    min-height:408px !important;
    position:relative !important;
    overflow:hidden !important;
    background:var(--cream) !important;
  }
  .en-page .program__track{
    left:0 !important;
    top:0 !important;
    width:1433px !important;
    height:408px !important;
    max-width:none !important;
  }
  .en-page .program__track picture,
  .en-page .program__track img{
    display:block !important;
    width:1433px !important;
    height:408px !important;
    max-width:none !important;
  }
  .en-page .program__mask-title,
  .en-page .carousel-btn{
    display:none !important;
  }
  .en-page .program__dragzone{
    position:absolute !important;
    inset:0 !important;
    z-index:90 !important;
    touch-action:pan-y !important;
    cursor:grab !important;
  }
}


/* =========================================================
   KZ + EN MOBILE CAROUSEL REBUILD V2
   New supplied SVGs contain CARDS ONLY.
   Keep the title as a fixed centered HTML layer, exactly like RU.
   ========================================================= */
@media (max-width:700px){
  .kz-page .program{
    height:363px !important;
    min-height:363px !important;
    background:var(--cream) !important;
    overflow:hidden !important;
  }
  .kz-page .program__mask-title{
    display:flex !important;
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:87px !important;
    padding:0 12px !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--cream) !important;
    z-index:80 !important;
    pointer-events:none !important;
  }
  .kz-page .program__mask-title h2{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-size:24px !important;
    line-height:1.05 !important;
    font-weight:500 !important;
    color:#6b2c10 !important;
  }
  .kz-page .program__track{
    left:0 !important;
    top:0 !important;
    width:1435px !important;
    height:363px !important;
  }
  .kz-page .program__track picture,
  .kz-page .program__track img{
    width:1435px !important;
    height:363px !important;
    max-width:none !important;
  }
  .kz-page .program__dragzone{
    inset:87px 0 0 0 !important;
    z-index:90 !important;
  }

  .en-page .program{
    height:408px !important;
    min-height:408px !important;
    background:var(--cream) !important;
    overflow:hidden !important;
  }
  .en-page .program__mask-title{
    display:flex !important;
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:116px !important;
    padding:0 12px !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--cream) !important;
    z-index:80 !important;
    pointer-events:none !important;
  }
  .en-page .program__mask-title h2{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    text-align:center !important;
    white-space:normal !important;
    font-size:24px !important;
    line-height:1.08 !important;
    font-weight:500 !important;
    color:#6b2c10 !important;
  }
  .en-page .program__track{
    left:0 !important;
    top:0 !important;
    width:1433px !important;
    height:408px !important;
  }
  .en-page .program__track picture,
  .en-page .program__track img{
    width:1433px !important;
    height:408px !important;
    max-width:none !important;
  }
  .en-page .program__dragzone{
    inset:116px 0 0 0 !important;
    z-index:90 !important;
  }

  .kz-page .carousel-btn,
  .en-page .carousel-btn{
    display:none !important;
  }
}


/* =========================================================
   EN FINAL POSITION FIX V3
   KZ and RU are intentionally untouched.
   ========================================================= */

/* EN DESKTOP: title centered on one line. */
@media (min-width:701px){
  .en-page .program__mask-title{
    align-items:flex-end !important;
    justify-content:center !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .en-page .program__mask-title h2{
    width:100% !important;
    margin:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-size:42px !important;
    line-height:1 !important;
  }
  .en-page .program__mask-title h2 br{
    display:none !important;
  }
}

/* EN MOBILE: move only the cards strip slightly left.
   The fixed centered title does not move. */
@media (max-width:700px){
  .en-page .program__track{
    left:-45px !important;
  }
}

/* EN V4 final: JS controls the mobile carousel horizontal start position. */
@media (max-width:700px){
  .en-page .program__track{left:0 !important;}
}

/* EN mobile final correction */
@media (min-width:701px){
  .en-page .program__mask-title h2 span{display:inline !important;}
  .en-page .program__mask-title h2 .en-day-line::before{content:" " !important;}
}
@media (max-width:700px){
  .en-page .program__mask-title{
    height:116px !important;
    padding:0 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .en-page .program__mask-title h2{
    width:100% !important;
    margin:0 !important;
    text-align:center !important;
    font-size:22px !important;
    line-height:1.12 !important;
    white-space:normal !important;
  }
  .en-page .program__mask-title h2 span{
    display:block !important;
    width:100% !important;
    white-space:nowrap !important;
  }
  .en-page .program__track{left:0 !important;top:0 !important;}
}


/* =========================================================
   FINAL EN MOBILE CAROUSEL — V3
   Verified cards-only SVG 1413×252.
   Final alignment: 20px inset from viewport, matching RU/KZ.
   ========================================================= */
@media (max-width:700px){
  .en-page .program{
    height:368px !important;
    min-height:368px !important;
    overflow:hidden !important;
    background:var(--cream) !important;
  }

  .en-page .program__mask-title{
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:116px !important;
    padding:0 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:80 !important;
  }

  .en-page .program__mask-title h2{
    width:100% !important;
    margin:0 !important;
    text-align:center !important;
    font-size:22px !important;
    line-height:1.12 !important;
  }

  .en-page .program__mask-title h2 span{
    display:block !important;
    width:100% !important;
    white-space:nowrap !important;
  }

  .en-page .program__track{
    position:absolute !important;
    left:20px !important;
    top:116px !important;
    width:1413px !important;
    height:252px !important;
    max-width:none !important;
    transform:translate3d(0,0,0);
  }

  .en-page .program__track picture,
  .en-page .program__track img{
    display:block !important;
    width:1413px !important;
    height:252px !important;
    max-width:none !important;
  }

  .en-page .program__dragzone{
    left:0 !important;
    right:0 !important;
    top:116px !important;
    bottom:0 !important;
    z-index:90 !important;
  }
}

/* FINAL V4: EN mobile inset is applied by the carousel JS itself. */
@media (max-width:700px){
  .en-page .program__track{left:0 !important;}
}
