/* RepublicaPass V37 — home hero collision fix + final mobile organization */

/* Desktop: keep the slideshow label away from the decorative "Boas histórias" block. */
@media (min-width:821px){
  body.rp-homepage-v16 .rp-cinema-slide-ui{
    top:clamp(96px,11vh,132px)!important;
    right:max(4.2vw,58px)!important;
    bottom:auto!important;
    left:auto!important;
    justify-items:end!important;
    gap:9px!important;
  }
  body.rp-homepage-v16 .rp-cinema-slide-pill{
    min-height:32px!important;
    padding:0 13px!important;
    border-color:rgba(13,242,138,.20)!important;
    background:rgba(2,10,7,.68)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.26)!important;
    white-space:nowrap!important;
  }
  body.rp-homepage-v16 .rp-cinema-bottom-right{
    right:max(4.2vw,58px)!important;
    bottom:52px!important;
    width:150px!important;
    min-width:150px!important;
    padding-left:22px!important;
    gap:5px!important;
    white-space:nowrap!important;
  }
  body.rp-homepage-v16 .rp-cinema-bottom-right>i{height:68px!important}
  body.rp-homepage-v16 .rp-cinema-bottom-right strong{display:block!important;margin-top:1px!important}
}

@media (min-width:821px) and (max-width:1100px){
  body.rp-homepage-v16 .rp-cinema-slide-ui{top:92px!important;right:30px!important}
}

/* Mobile: one consistent final layer over legacy mobile versions. */
@media (max-width:820px){
  body.rp-homepage-v16{
    --rp37-bg:#020706;
    --rp37-card:#07110e;
    --rp37-card-hi:#091611;
    --rp37-line:rgba(255,255,255,.065);
    --rp37-green:#0df28a;
    --rp37-muted:#84958d;
  }

  body.rp-homepage-v16 .rp-cinema-hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:hidden!important;
    background:var(--rp37-bg)!important;
    border-bottom:0!important;
  }

  body.rp-homepage-v16 .rp-cinema-photo{
    position:relative!important;
    inset:auto!important;
    order:0!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/11!important;
    overflow:hidden!important;
    background:#050806!important;
    border-bottom:1px solid rgba(13,242,138,.055)!important;
    box-shadow:none!important;
  }
  body.rp-homepage-v16 .rp-cinema-photo::after{
    content:""!important;
    position:absolute!important;
    z-index:3!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(180deg,rgba(2,7,6,.02) 0%,rgba(2,7,6,.02) 58%,rgba(2,7,6,.92) 100%),
      linear-gradient(90deg,rgba(0,0,0,.12),transparent 58%)!important;
  }
  body.rp-homepage-v16 .rp-cinema-slide-a img{object-position:center 52%!important}
  body.rp-homepage-v16 .rp-cinema-slide-b img{object-position:center 45%!important}
  body.rp-homepage-v16 .rp-cinema-slide-ui{
    left:14px!important;
    right:14px!important;
    bottom:13px!important;
    top:auto!important;
    justify-items:start!important;
    gap:0!important;
  }
  body.rp-homepage-v16 .rp-cinema-slide-pill{display:none!important}
  body.rp-homepage-v16 .rp-cinema-slide-dots{gap:5px!important}
  body.rp-homepage-v16 .rp-cinema-slide-dots b{width:24px!important;height:3px!important;background:rgba(255,255,255,.20)!important}

  body.rp-homepage-v16 .rp-cinema-copy{
    position:relative!important;
    order:1!important;
    width:100%!important;
    margin:0!important;
    padding:22px 16px 25px!important;
    background:
      radial-gradient(circle at 92% 0%,rgba(13,242,138,.055),transparent 28%),
      linear-gradient(180deg,#020706 0%,#030c09 100%)!important;
  }
  body.rp-homepage-v16 .rp-cinema-copy::before{
    content:""!important;
    position:absolute!important;
    left:16px!important;
    top:0!important;
    width:48px!important;
    height:1px!important;
    background:linear-gradient(90deg,var(--rp37-green),transparent)!important;
    box-shadow:0 0 12px rgba(13,242,138,.25)!important;
  }
  body.rp-homepage-v16 .rp-cinema-kicker,
  body.rp-homepage-v16 .rp-cinema-copy h1,
  body.rp-homepage-v16 .rp-cinema-secondary,
  body.rp-homepage-v16 .rp-cinema-trust{display:none!important}
  body.rp-homepage-v16 .rp-cinema-copy h2{
    max-width:11.5ch!important;
    margin:0 0 12px!important;
    color:#f5faf7!important;
    font:700 clamp(32px,9.4vw,39px)/.96 "Space Grotesk",sans-serif!important;
    letter-spacing:-.055em!important;
    text-transform:none!important;
    text-wrap:balance!important;
  }
  body.rp-homepage-v16 .rp-cinema-copy h2::after{
    width:40px!important;
    height:2px!important;
    margin-top:13px!important;
  }
  body.rp-homepage-v16 .rp-cinema-copy>p{
    max-width:34ch!important;
    margin:0!important;
    color:#a7b6af!important;
    font-size:12.5px!important;
    line-height:1.58!important;
  }
  body.rp-homepage-v16 .rp-cinema-actions{
    display:block!important;
    margin:17px 0 0!important;
  }
  body.rp-homepage-v16 .rp-cinema-actions .rp-cinema-primary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:52px!important;
    padding:0 16px!important;
    border-radius:14px!important;
    font-size:12px!important;
    font-weight:800!important;
    box-shadow:0 13px 30px rgba(13,242,138,.12)!important;
  }

  /* Three compact guarantees instead of a tall stacked block. */
  body.rp-homepage-v16 .rp27-mobile-intro{
    display:block!important;
    padding:0 12px 26px!important;
    background:var(--rp37-bg)!important;
  }
  body.rp-homepage-v16 .rp27-mobile-intro-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.rp-homepage-v16 .rp27-mini-feature{
    display:flex!important;
    min-width:0!important;
    min-height:86px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:9px!important;
    padding:11px 9px!important;
    border:1px solid var(--rp37-line)!important;
    border-radius:14px!important;
    background:linear-gradient(150deg,#07110e,#040b09)!important;
    box-shadow:none!important;
  }
  body.rp-homepage-v16 .rp27-mini-feature>span{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    border-radius:10px!important;
    font-size:13px!important;
  }
  body.rp-homepage-v16 .rp27-mini-feature>div{min-width:0!important;width:100%!important}
  body.rp-homepage-v16 .rp27-mini-feature b{
    display:block!important;
    color:#eaf2ee!important;
    font-size:9.5px!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
  }
  body.rp-homepage-v16 .rp27-mini-feature small{display:none!important}

  /* Featured event: clearer hierarchy, less visual noise. */
  body.rp-homepage-v16 .rp27-mobile-featured{
    margin:0 12px 28px!important;
    padding:14px!important;
    border-radius:20px!important;
    border-color:rgba(13,242,138,.095)!important;
    background:linear-gradient(155deg,#081510 0%,#040b09 72%)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.22)!important;
  }
  body.rp-homepage-v16 .rp27-featured-head{
    align-items:center!important;
    margin-bottom:11px!important;
    gap:10px!important;
  }
  body.rp-homepage-v16 .rp27-featured-head>div{min-width:0!important}
  body.rp-homepage-v16 .rp27-featured-head small{font-size:6.5px!important}
  body.rp-homepage-v16 .rp27-featured-head h2{
    max-width:none!important;
    font-size:20px!important;
    line-height:1.03!important;
    overflow-wrap:anywhere!important;
  }
  body.rp-homepage-v16 .rp27-live-dot{
    min-height:25px!important;
    padding:0 8px!important;
    font-size:6.5px!important;
  }
  body.rp-homepage-v16 .rp27-featured-media{
    aspect-ratio:16/10!important;
    border-radius:14px!important;
  }
  body.rp-homepage-v16 .rp27-featured-info{padding-top:11px!important}
  body.rp-homepage-v16 .rp27-featured-meta{gap:7px!important}
  body.rp-homepage-v16 .rp27-featured-meta span{padding:9px!important;border-radius:11px!important}
  body.rp-homepage-v16 .rp27-featured-meta b{font-size:9px!important}
  body.rp-homepage-v16 .rp27-featured-cta{min-height:47px!important;margin-top:11px!important;border-radius:12px!important}

  body.rp-homepage-v16 .rp27-mobile-marquee{margin-bottom:0!important}

  /* Event list: compact but readable on narrow screens. */
  body.rp-homepage-v16 .rp-home-events{
    padding:30px 12px 34px!important;
    background:var(--rp37-bg)!important;
  }
  body.rp-homepage-v16 .rp-home-events .homev3-heading{margin-bottom:15px!important}
  body.rp-homepage-v16 .rp-home-events .homev3-heading h2{
    font-size:26px!important;
    line-height:1!important;
    text-wrap:balance!important;
  }
  body.rp-homepage-v16 .rp-home-events .homev3-heading p{
    max-width:34ch!important;
    margin-top:7px!important;
    font-size:10.5px!important;
    line-height:1.5!important;
  }
  body.rp-homepage-v16 .homev3-events{gap:10px!important}
  body.rp-homepage-v16 .homev3-event{
    grid-template-columns:108px minmax(0,1fr)!important;
    min-height:132px!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  body.rp-homepage-v16 .homev3-event-image{min-height:132px!important}
  body.rp-homepage-v16 .homev3-event-body{min-width:0!important;padding:12px 11px!important}
  body.rp-homepage-v16 .rp-mobile-event-title{
    margin-bottom:7px!important;
    font-size:13.5px!important;
    line-height:1.15!important;
  }
  body.rp-homepage-v16 .rp-mobile-event-location b,
  body.rp-homepage-v16 .rp-mobile-event-location small,
  body.rp-homepage-v16 .rp-mobile-event-bottom strong{min-width:0!important;max-width:100%!important}
  body.rp-homepage-v16 .rp-mobile-event-bottom{padding-top:7px!important;gap:6px!important}
  body.rp-homepage-v16 .rp-mobile-event-bottom strong{font-size:9.5px!important}
  body.rp-homepage-v16 .rp-mobile-event-bottom span{font-size:8.5px!important}
  body.rp-homepage-v16 .rp-centered-action{margin-top:13px!important}
  body.rp-homepage-v16 .rp-centered-action .btn{min-height:46px!important;border-radius:13px!important}

  /* Lower home sections share the same width and rhythm. */
  body.rp-homepage-v16 .rp27-mobile-how{
    padding:34px 12px 16px!important;
    background:linear-gradient(180deg,#020706,#030b09)!important;
  }
  body.rp-homepage-v16 .rp27-section-head h2{font-size:25px!important;line-height:1!important}
  body.rp-homepage-v16 .rp27-section-head p{max-width:34ch!important;font-size:10.5px!important}
  body.rp-homepage-v16 .rp27-how-list{gap:7px!important;margin-top:16px!important}
  body.rp-homepage-v16 .rp27-how-list article{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:14px!important;
  }
  body.rp-homepage-v16 .rp27-how-list article>span{width:38px!important;height:38px!important}
  body.rp-homepage-v16 .rp27-mobile-organizer{
    margin:20px 12px 30px!important;
    padding:20px 17px!important;
    border-radius:19px!important;
  }
  body.rp-homepage-v16 .rp27-mobile-organizer h2{max-width:13ch!important;font-size:23px!important;line-height:1!important}
  body.rp-homepage-v16 .rp27-mobile-organizer p{font-size:10.5px!important}
  body.rp-homepage-v16 .rp27-mobile-organizer>a{min-height:47px!important;border-radius:12px!important}
}

@media (max-width:390px){
  body.rp-homepage-v16 .rp-cinema-photo{aspect-ratio:4/3!important}
  body.rp-homepage-v16 .rp-cinema-copy{padding-inline:14px!important}
  body.rp-homepage-v16 .rp-cinema-copy h2{font-size:31px!important;max-width:12ch!important}
  body.rp-homepage-v16 .rp27-mobile-intro,
  body.rp-homepage-v16 .rp-home-events,
  body.rp-homepage-v16 .rp27-mobile-how{padding-left:10px!important;padding-right:10px!important}
  body.rp-homepage-v16 .rp27-mobile-featured,
  body.rp-homepage-v16 .rp27-mobile-organizer{margin-left:10px!important;margin-right:10px!important}
  body.rp-homepage-v16 .rp27-mini-feature{min-height:80px!important;padding:10px 7px!important}
  body.rp-homepage-v16 .rp27-mini-feature b{font-size:9px!important}
  body.rp-homepage-v16 .homev3-event{grid-template-columns:100px minmax(0,1fr)!important}
}

@media (max-width:345px){
  body.rp-homepage-v16 .rp27-mobile-intro-grid{gap:5px!important}
  body.rp-homepage-v16 .rp27-mini-feature{min-height:76px!important;padding:9px 6px!important}
  body.rp-homepage-v16 .rp27-mini-feature>span{width:28px!important;height:28px!important;flex-basis:28px!important}
  body.rp-homepage-v16 .rp27-mini-feature b{font-size:8.3px!important}
  body.rp-homepage-v16 .homev3-event{grid-template-columns:94px minmax(0,1fr)!important}
  body.rp-homepage-v16 .homev3-event-body{padding-inline:9px!important}
  body.rp-homepage-v16 .rp-mobile-event-bottom span{font-size:8px!important}
}

@media (prefers-reduced-motion:reduce){
  body.rp-homepage-v16 .rp27-mobile-featured::before{animation:none!important}
}
