/* RepublicaPass V19 — mobile mirrors desktop composition */
@media(max-width:820px){
  body.public-menu-open{overflow:hidden}

  /* Header follows desktop language instead of becoming a different product */
  .rp-homepage-v16 .rp-premium-header,
  .rp-premium-v15 .rp-premium-header{
    position:absolute;
    top:0;left:0;right:0;
    width:100%;
    min-height:62px;
    margin:0;
    padding:0 16px;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.045);
    background:linear-gradient(180deg,rgba(1,8,6,.92),rgba(1,8,6,.34) 70%,transparent);
    box-shadow:none;
    backdrop-filter:none;
    z-index:1400;
  }
  .rp-homepage-v16.rp-scrolled .rp-premium-header,
  .rp-premium-v15.rp-scrolled .rp-premium-header{
    position:fixed;
    min-height:58px;
    background:rgba(2,10,7,.92);
    border-bottom-color:rgba(13,242,138,.08);
    backdrop-filter:blur(18px) saturate(1.08);
    box-shadow:0 12px 34px rgba(0,0,0,.2);
  }
  .rp-premium-v15 .rp-wordmark{font-size:18px;gap:8px}
  .rp-premium-v15 .rp-wordmark img{width:28px;height:28px}
  .rp-mobile-menu-button{
    display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;
    width:40px!important;height:40px!important;border-radius:12px!important;
    border:1px solid rgba(13,242,138,.16)!important;background:rgba(2,11,8,.52)!important;
  }
  .rp-mobile-menu-button span{display:block;width:17px;height:1.5px;border-radius:2px;background:#ecf7f1;transition:.28s ease}
  .rp-premium-v15.public-menu-open .rp-mobile-menu-button span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .rp-premium-v15.public-menu-open .rp-mobile-menu-button span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

  /* Real side drawer */
  .mobile-nav-backdrop{
    display:block;position:fixed;inset:0;z-index:1490;border:0;padding:0;
    background:rgba(0,5,4,.68);backdrop-filter:blur(3px);
    opacity:0;pointer-events:none;transition:opacity .28s ease;
  }
  .rp-premium-v15.public-menu-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}
  .rp-premium-v15 .mobile-public-nav{
    display:flex!important;flex-direction:column;
    position:fixed!important;z-index:1500!important;
    top:0!important;right:0!important;bottom:0!important;left:auto!important;
    width:min(88vw,350px)!important;height:100dvh!important;
    padding:18px 18px 20px!important;margin:0!important;gap:0!important;
    border:0!important;border-left:1px solid rgba(13,242,138,.10)!important;border-radius:0!important;
    background:linear-gradient(180deg,#06100d 0%,#020807 100%)!important;
    box-shadow:-24px 0 70px rgba(0,0,0,.48)!important;
    opacity:1!important;pointer-events:none!important;
    transform:translateX(105%)!important;transform-origin:right center!important;
    transition:transform .42s cubic-bezier(.2,.8,.2,1)!important;
  }
  .rp-premium-v15.public-menu-open .mobile-public-nav{pointer-events:auto!important;transform:translateX(0)!important}
  .mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:2px 0 22px;border-bottom:1px solid rgba(255,255,255,.06)}
  .mobile-drawer-brand{display:flex;align-items:center;gap:9px;color:#f4f8f6;text-decoration:none;font:700 19px/1 "Space Grotesk",sans-serif;letter-spacing:-.045em}
  .mobile-drawer-brand img{width:30px;height:30px}.mobile-drawer-brand span span{color:#0df28a}
  .mobile-drawer-close{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#dce8e2;font-size:25px;font-weight:300;line-height:1}
  .mobile-drawer-kicker{padding:26px 2px 12px;color:#65766e;font-size:9px;font-weight:750;letter-spacing:.26em}
  .mobile-drawer-links{display:grid;gap:0}
  .rp-premium-v15 .mobile-drawer-links>a{
    display:flex;align-items:center;justify-content:space-between;
    padding:17px 2px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.055)!important;border-radius:0!important;
    background:none!important;color:#edf4f0!important;font:600 17px/1.2 "Space Grotesk",sans-serif!important;letter-spacing:-.025em;
    opacity:1!important;transform:none!important;
  }
  .rp-premium-v15 .mobile-drawer-links>a i{font-style:normal;color:#0df28a;font-size:18px;font-weight:400;transition:transform .25s ease}
  .rp-premium-v15 .mobile-drawer-links>a:active i{transform:translateX(4px)}
  .mobile-drawer-footer{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);display:grid;gap:10px}
  .mobile-language-slot{padding:0!important}
  .mobile-drawer-footer .language-switcher{width:100%}
  .mobile-drawer-footer .language-trigger{width:100%;justify-content:flex-start}
  .mobile-account-link,.mobile-login-link{display:flex!important;align-items:center;justify-content:center;min-height:46px!important;border-radius:12px!important;font-size:12px!important;font-weight:750!important;text-decoration:none!important}
  .mobile-account-link{background:#0df28a!important;color:#04100a!important;border:1px solid #0df28a!important}
  .mobile-login-link{background:transparent!important;color:#d8e5df!important;border:1px solid rgba(255,255,255,.10)!important}
  .mobile-drawer-footer small{padding-top:4px;text-align:center;color:#66776f;font-size:10px}

  /* Hero: same photo/background concept as desktop, just stacked by vertical zones */
  .rp-cinema-mobile-visual{display:none!important}
  .rp-cinema-hero{
    min-height:720px!important;
    height:auto!important;
    position:relative;
    overflow:hidden;
    background:#020706;
  }
  .rp-cinema-photo{
    display:block!important;position:absolute!important;inset:0!important;z-index:-7!important;overflow:hidden!important;background:#050806!important;
  }
  .rp-cinema-photo img{
    width:100%!important;height:100%!important;object-fit:cover!important;object-position:61% 56%!important;
    transform:scale(1.025)!important;animation:rp19MobilePhotoBreath 16s ease-in-out infinite alternate!important;
  }
  .rp-cinema-overlay{
    display:block!important;position:absolute!important;inset:0!important;z-index:-6!important;
    background:
      linear-gradient(180deg,rgba(0,8,6,.98) 0%,rgba(0,8,6,.94) 33%,rgba(0,8,6,.79) 47%,rgba(0,8,6,.24) 67%,rgba(0,8,6,.30) 82%,rgba(0,8,6,.88) 100%),
      linear-gradient(90deg,rgba(0,8,6,.91) 0%,rgba(0,8,6,.64) 48%,rgba(0,8,6,.14) 100%)!important;
  }
  .rp-cinema-grain{display:block!important;opacity:.055!important}
  .rp-cinema-orbit-left{display:block!important;width:650px!important;height:650px!important;left:-535px!important;top:-85px!important;opacity:.42!important}
  .rp-cinema-orbit-right{display:block!important;width:500px!important;height:500px!important;right:-425px!important;bottom:-245px!important;opacity:.38!important}
  .rp-cinema-beam{display:none!important}
  .rp-cinema-copy{
    position:relative!important;z-index:5!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;
    width:auto!important;max-width:none!important;margin:0!important;
    padding:90px 16px 112px!important;color:#f5f8f6!important;
  }
  .rp-cinema-kicker{margin:0 0 14px!important;gap:7px!important;font-size:7px!important;letter-spacing:.20em!important;white-space:nowrap!important;overflow:hidden!important}
  .rp-cinema-kicker span:nth-of-type(3),.rp-cinema-kicker span:nth-of-type(4),.rp-cinema-kicker i:nth-of-type(2),.rp-cinema-kicker i:nth-of-type(3){display:none!important}
  .rp-cinema-kicker b{width:42px!important;flex:0 0 42px!important}
  .rp-cinema-copy h1{font-size:clamp(44px,12.7vw,58px)!important;line-height:.87!important;letter-spacing:-.074em!important}
  .rp-cinema-copy h2{margin:14px 0 12px!important;font-size:clamp(29px,7.8vw,37px)!important;line-height:.98!important;letter-spacing:-.045em!important;max-width:12ch}
  .rp-cinema-copy>p{margin:0!important;max-width:32ch!important;font-size:12.5px!important;line-height:1.55!important;color:#c3cdca!important}
  .rp-cinema-actions{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:9px!important;margin-top:18px!important}
  .rp-cinema-actions .btn{width:100%!important;min-width:0!important;min-height:48px!important;padding:0 13px!important;border-radius:11px!important;font-size:11px!important;white-space:nowrap!important}
  .rp-cinema-primary>span{font-size:18px!important}
  .rp-cinema-secondary{gap:7px!important}.rp-cinema-ticket{font-size:16px!important}
  .rp-cinema-trust{
    position:absolute!important;left:16px!important;right:16px!important;bottom:20px!important;
    display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:0!important;
  }
  .rp-cinema-trust span{
    display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:6px!important;
    margin:0!important;padding:8px 7px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:11px!important;
    background:rgba(2,10,7,.64)!important;backdrop-filter:blur(8px)!important;color:#e2ece7!important;
    font-size:8px!important;line-height:1.2!important;white-space:normal!important;
  }
  .rp-cinema-trust span:last-child{grid-column:auto!important}
  .rp-cinema-trust i{width:21px!important;height:21px!important;border-radius:7px!important;font-size:10px!important}
  .rp-cinema-bottom-left,.rp-cinema-bottom-right,.rp-cinema-scroll{display:none!important}

  /* Homepage sections: same information hierarchy as desktop, one clean column */
  .rp-homepage-v16 .rp-home-events{padding-top:42px!important}
  .homev3-section{padding:42px 14px!important}
  .homev3-heading{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-bottom:20px!important}
  .homev3-heading h2{font-size:31px!important;line-height:1!important;letter-spacing:-.045em!important}
  .homev3-heading p{max-width:34ch!important;margin:0!important;font-size:12.5px!important;line-height:1.55!important}
  .homev3-events,.public-guide-grid{grid-template-columns:1fr!important;gap:14px!important}
  .homev3-event{border-radius:16px!important}
  .homev3-event-image{aspect-ratio:16/10!important;min-height:0!important}
  .homev3-event-body{padding:15px!important}
  .public-guide-card{padding:18px!important;border-radius:16px!important}
  .public-guide-card h3{margin-top:8px!important;font-size:20px!important}
  .public-guide-card p{font-size:12px!important;line-height:1.55!important}
}

@media(max-width:370px){
  .rp-cinema-hero{min-height:700px!important}
  .rp-cinema-copy{padding:86px 13px 108px!important}
  .rp-cinema-copy h1{font-size:41px!important}
  .rp-cinema-copy h2{font-size:27px!important}
  .rp-cinema-actions{grid-template-columns:1fr!important}
  .rp-cinema-trust{left:13px!important;right:13px!important;gap:5px!important}
  .rp-cinema-trust span{font-size:7.5px!important;padding:7px 5px!important}
}

@keyframes rp19MobilePhotoBreath{
  0%{transform:scale(1.025) translate3d(0,0,0)}
  100%{transform:scale(1.06) translate3d(-8px,-3px,0)}
}

@media(prefers-reduced-motion:reduce){
  .rp-cinema-photo img{animation:none!important}
  .rp-premium-v15 .mobile-public-nav{transition:none!important}
}

.mobile-nav-backdrop{display:none}
@media(max-width:820px){
  .mobile-nav-backdrop{display:block}

  /* Internal public pages use the same compact visual rhythm */
  .rp-premium-v15 .public-page-shell{padding-top:0!important}
  .rp-premium-v15 .public-page-hero{padding:86px 16px 24px!important}
  .rp-premium-v15 .public-page-hero::before{width:42px!important;margin-bottom:13px!important}
  .rp-premium-v15 .public-page-hero h1{font-size:clamp(38px,10.5vw,48px)!important;line-height:.96!important;margin:7px 0 12px!important;max-width:12ch!important}
  .rp-premium-v15 .public-page-hero>p{font-size:13px!important;line-height:1.6!important;max-width:36ch!important}
  .rp-premium-v15 .public-page-section{padding:30px 14px 42px!important}
  .process-timeline,.affiliate-public-grid{grid-template-columns:1fr!important;gap:10px!important}
  .process-step,.public-feature-card{padding:17px!important;border-radius:15px!important}
  .process-step{grid-template-columns:42px 1fr!important;gap:12px!important}
  .process-step>span{font-size:26px!important}.process-step h3,.public-feature-card h3{font-size:19px!important}
  .process-step p,.public-feature-card p{font-size:12px!important;line-height:1.55!important}
  .public-info-band{margin:0 14px 36px!important;padding:18px!important;border-radius:16px!important;gap:16px!important}

  /* Event details: keep the same desktop blocks but make them readable one-by-one */
  .rp-premium-v15 .event-hero{margin:0!important;min-height:480px!important;border-radius:0!important}
  .rp-premium-v15 .event-hero-content{padding:92px 16px 34px!important;align-content:end!important}
  .rp-premium-v15 .event-hero h1{font-size:clamp(40px,11vw,52px)!important;line-height:.92!important;max-width:11ch!important;margin:8px 0 14px!important}
  .rp-premium-v15 .event-meta{grid-template-columns:1fr 1fr!important;gap:0!important}
  .rp-premium-v15 .event-meta span{font-size:10px!important;padding:9px 0!important}
  .rp-premium-v15 .event-snapshot-wrap{margin:-14px auto 0!important;padding:0 12px!important}
  .rp-premium-v15 .event-snapshot{grid-template-columns:1fr 1fr!important;border-radius:14px!important}
  .rp-premium-v15 .event-snapshot>div{padding:13px!important}
  .rp-premium-v15 .event-layout{grid-template-columns:1fr!important;gap:24px!important;padding:34px 14px 46px!important}
  .rp-premium-v15 .event-copy>p{font-size:12.5px!important;line-height:1.7!important}
  .rp-premium-v15 .premium-buy-panel{position:relative!important;top:auto!important;border-radius:16px!important}
  .rp-premium-v15 .premium-info-grid{grid-template-columns:1fr!important}
  .rp-premium-v15 .gallery-grid{grid-template-columns:1fr 1fr!important;grid-auto-rows:150px!important}

  /* Checkout and purchase: readable, no squeezed side columns */
  .rp-premium-v15 .checkout{grid-template-columns:1fr!important;gap:18px!important;padding:84px 14px 44px!important}
  .rp-premium-v15 .checkout-main h1{font-size:36px!important;line-height:1!important}
  .rp-premium-v15 .checkout-steps{gap:5px!important;overflow:hidden!important;margin-bottom:18px!important}
  .rp-premium-v15 .checkout-steps span{font-size:8px!important;white-space:nowrap!important}
  .rp-premium-v15 .checkout-form,.rp-premium-v15 .summary{padding:16px!important;border-radius:16px!important}
  .rp-premium-v15 .form-grid,.rp-premium-v15 .grid{grid-template-columns:1fr!important;gap:10px!important}
  .rp-premium-v15 .span-2,.rp-premium-v15 .grid .full{grid-column:auto!important}
  .rp-premium-v15 input,.rp-premium-v15 select,.rp-premium-v15 textarea{font-size:16px!important;border-radius:11px!important}
  .rp-premium-v15 .order-status{padding:82px 14px 40px!important}
  .rp-premium-v15 .status-head{align-items:flex-start!important;gap:10px!important;flex-direction:column!important}
  .rp-premium-v15 .tickets-grid{grid-template-columns:1fr!important}

  /* Client portal follows one clean column, same cards as desktop */
  .rp-premium-v15 .client-portal-shell{margin:0 auto 50px!important;padding:84px 14px 0!important}
  .rp-premium-v15 .client-portal-head{grid-template-columns:1fr!important;gap:10px!important}
  .rp-premium-v15 .client-portal-head h1{font-size:38px!important}
  .rp-premium-v15 .client-stats{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .rp-premium-v15 .client-event-card{grid-template-columns:92px 1fr!important;gap:12px!important;padding:11px!important}
  .rp-premium-v15 .client-event-card img{width:92px!important;height:76px!important;border-radius:10px!important}
  .rp-premium-v15 .client-event-card .btn{grid-column:1/-1!important;width:100%!important}
}

@media(max-width:420px){
  .rp-premium-v15 .client-stats{grid-template-columns:1fr!important}
  .rp-premium-v15 .client-event-card{grid-template-columns:1fr!important}
  .rp-premium-v15 .client-event-card img{width:100%!important;height:170px!important}
}
