/* Rio Preto 360 — compatibilidade visual com cabeçalho oficial aprovado */
.rp360-header-v07 .site-head-inner{gap:clamp(10px,1.1vw,19px)!important}
.rp360-header-v07 .main-nav.rp360-menu-updated{flex:1 1 auto;gap:clamp(8px,.8vw,15px);align-items:center;justify-content:space-between;flex-wrap:wrap}
.rp360-header-v07 .main-nav.rp360-menu-updated a{font-weight:800!important;text-transform:uppercase;font-size:clamp(10px,.69vw,12px)!important;white-space:nowrap;color:#092451!important;line-height:1.2;transition:color .2s}
.rp360-header-v07 .main-nav.rp360-menu-updated a:hover{color:#075df8!important}
.rp360-header-v07 .main-nav.rp360-menu-updated .rp360-menu-account{display:inline-flex;align-items:center;gap:7px;background:#075dff;color:white!important;border-radius:25px;padding:9px 12px;text-transform:none;font-size:11px!important;box-shadow:0 3px 10px #005dff24;text-decoration:none}
.rp360-header-v07 .main-nav .rp360-menu-account img{width:25px;height:25px;object-fit:cover;border-radius:50%;border:1px solid #fff}
.rp360-header-v07 .main-nav .rp360-menu-utility{font-size:10px!important}
.rp360-header-v07 .main-nav a.is-current,.rp360-header-v07 .main-nav a[aria-current=page]{color:#0560ff!important}
.rp360-header-v07 .main-nav a.is-current:after,.rp360-header-v07 .main-nav a[aria-current=page]:after{background:#0560ff!important}
.rp360-bridge-layout .rp360-bridge-hero{background:linear-gradient(110deg,#f3f8ff,#eaf5ff 48%,#fff4ee 80%,#f5ecff)!important;color:#092352}
.rp360-bridge-layout .rp360-bridge-hero h1{color:#071e52!important}
.rp360-bridge-layout .rp360-bridge-hero p{color:#4d668f!important}
.rp360-bridge-layout .rp360-bridge-btn,.rp360-bridge-layout button[type=submit]{border-radius:9px;background:#075dff;color:white}
.rp360-news-pagination select,.rp360-dir-pager select{border-radius:10px;padding:7px 12px;min-width:74px;border:1px solid #cdddf8;color:#0d316e}
.rp360-news-pagination nav a,.rp360-dir-pager nav button{border:1px solid #d9e5fb;border-radius:8px;padding:8px 13px;background:#fff;color:#0e3f98}
.rp360-about-copy{max-width:1000px;margin:14px auto;font-size:16px;line-height:1.72;color:#304668}
.rp360-about-copy h2{font-size:clamp(28px,3vw,42px);color:#061a49;letter-spacing:-.04em}
.rp360-about-copy a{color:#095dff;font-weight:700}
.rp360-account-page .rp360-member-section{margin:22px auto}
.rp360-account-page .rp360-register{margin:24px auto}
@media(max-width:1280px){.rp360-header-v07 .main-nav.rp360-menu-updated a{font-size:10px!important}.rp360-header-v07 .site-head-inner{gap:8px!important}}
@media(max-width:970px){.rp360-header-v07 .main-nav.rp360-menu-updated{justify-content:flex-start;gap:12px}}
@media(max-width:830px){.rp360-header-v07 .main-nav.rp360-menu-updated{display:none}.rp360-header-v07 .main-nav.rp360-menu-updated.is-open{display:flex;flex-direction:column;align-items:flex-start;padding:20px;gap:15px}.rp360-header-v07 .main-nav .rp360-menu-account{margin-top:8px}}
/* Capas sem foto ocupam toda a área do cartão, sem recuos. */
.rp360-event-picture img.rp360-event-logo{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center;background:#eef5ff;padding:0!important;margin:0!important;box-sizing:border-box}.rp360-category-page .rp360-bridge-category-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px}.rp360-category-page .rp360-event{min-width:0;overflow:hidden}.rp360-category-page .rp360-event-picture{height:200px;position:relative}.rp360-category-page .rp360-event-picture>img{width:100%;height:100%;object-fit:cover}

.rp360-cinema-date{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0 30px}.rp360-cinema-date label{display:grid;gap:6px;font-weight:700}.rp360-cinema-date select{padding:11px;border:1px solid #b7c9df;border-radius:8px;background:#fff;color:#102a43}.rp360-cinema-date button{padding:12px 18px;border:0}

.rp360-cinema-live-card .rp360-cinema-poster {
  display: block;
  width: 100%;
  height: 340px;
  object-fit: contain;
  background: #e8f3ff;
  border-radius: 9px;
}

.rp360-cinema-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}

.rp360-cinema-pagination > * {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #b7c9df;
  border-radius: 8px;
}

.rp360-cinema-pagination [aria-current="page"] {
  color: #fff;
  background: #102a43;
  font-weight: 700;
}

/* Roteiros semanais na home */
.rp360-weekly-routes {
  margin-top: 22px;
}

.rp360-weekly-routes h3 {
  margin: 0 0 10px;
  color: #102a43;
  font-size: 1rem;
}

.rp360-weekly-routes .rp360-routes-dynamic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rp360-dynamic-route {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 100%;
  padding: 14px;
  border: 1px solid #d9e6fb;
  border-radius: 12px;
  background: #fff;
  color: #102a43;
  text-decoration: none;
}

.rp360-dynamic-route:hover,
.rp360-dynamic-route:focus-visible {
  border-color: #075cff;
}

.rp360-dynamic-route-content {
  display: grid;
  gap: 6px;
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: .8125rem;
  line-height: 1.4;
}

.rp360-dynamic-route-content > span {
  color: #405d83;
}

.rp360-dynamic-route-arrow {
  display: grid;
  flex: 0 0 28px;
  place-items: center;
  height: 28px;
  border: 1px solid #d9e6fb;
  border-radius: 50%;
  color: #075cff;
}

@media (max-width: 900px) {
  .rp360-weekly-routes .rp360-routes-dynamic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 500px) {
  .rp360-weekly-routes .rp360-routes-dynamic-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.rp360-header-v07 .main-nav.rp360-menu-updated .rp360-menu-account {
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #b4cff8;
  border-radius: 10px;
  background: #edf5ff;
  color: #0949a8 !important;
  box-shadow: none;
  font-size: .75rem !important;
}
.rp360-header-v07 .main-nav.rp360-menu-updated .rp360-menu-account:hover {
  background: #dcecff;
  color: #093573 !important;
}
.rp360-menu-account svg { width: 17px; height: 17px; flex: none; }
.rp360-assistant-consent[hidden] { display: none !important; }
.rp360-directory-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.rp360-directory-topics a {
  padding: 8px 13px;
  border: 1px solid #c9dafa;
  border-radius: 999px;
  background: #fff;
  color: #10468b;
  font-weight: 700;
}
.rp360-directory-topics a[aria-current] { color: #fff; background: #10468b; }

#rp360-noticias-home .rp360-news-logo { padding: 0 !important; background: #eef5ff; }
#rp360-noticias-home .rp360-news-logo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
}
.rp360-weekly-routes h3 small {
  margin-inline-start: 7px;
  color: #405d83;
  font-size: .75rem;
  font-weight: 500;
}

/* Cabeçalho compartilhado: logo e navegação, sem busca no topo. */
.site-header.rp360-header-v07 {
  position: relative;
  top: auto !important;
  height: auto !important;
}

.site-header.rp360-header-v07 .site-head-inner {
  display: grid;
  grid-template-columns: clamp(96px, 9vw, 132px) minmax(0, 1fr);
  align-items: center;
  height: auto !important;
  min-height: 82px !important;
  gap: 6px 18px !important;
  padding-block: 6px;
}

.site-header.rp360-header-v07 .site-head-inner > .site-logo {
  grid-area: 1 / 1;
  min-width: 0;
  max-width: 100%;
}

.site-header.rp360-header-v07 .site-head-inner > .mobile-toggle {
  display: none !important;
}

.site-header.rp360-header-v07 .site-head-inner > .main-nav.rp360-menu-updated {
  display: flex !important;
  position: static !important;
  grid-area: 1 / 2;
  width: 100%;
  min-width: 0;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(8px, .8vw, 14px) !important;
  padding: 0;
}

.site-header.rp360-header-v07 .rp360-header-search {
  display: none !important;
}

.site-header.rp360-header-v07 .main-nav.rp360-menu-updated > a {
  display: inline-flex;
  align-items: center;
  flex: none;
  font-size: clamp(10px, .75vw, 12px) !important;
  line-height: 1.3;
}

.rp360-header-v07 .main-nav.rp360-menu-updated .rp360-menu-account {
  box-sizing: border-box;
  min-height: 38px;
  margin: 0;
  padding: 8px 11px !important;
  justify-content: center;
  font-size: 11px !important;
}

@media (max-width: 1240px) {
  .site-header.rp360-header-v07 .site-head-inner {
    grid-template-columns: clamp(80px, 18vw, 110px) minmax(0, 1fr);
  }

  .site-header.rp360-header-v07 .site-head-inner > .mobile-toggle {
    display: flex !important;
    position: static !important;
    grid-area: 1 / 2;
    justify-self: end;
    align-items: center;
    min-height: 42px;
  }

  .site-header.rp360-header-v07 .site-head-inner > .main-nav.rp360-menu-updated {
    display: none !important;
    grid-area: 2 / 1 / 3 / -1;
  }

  .site-header.rp360-header-v07 .site-head-inner > .main-nav.rp360-menu-updated.is-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    max-height: min(65vh, 620px);
    overflow-y: auto;
    gap: 4px !important;
    padding: 12px 0 !important;
  }

  .site-header.rp360-header-v07 .main-nav.rp360-menu-updated > a {
    min-height: 42px;
    padding: 10px 8px !important;
    font-size: 12px !important;
  }

  .site-header.rp360-header-v07 .main-nav .rp360-menu-account-actions {
    flex-wrap: wrap;
    padding-top: 8px;
  }

  .site-header.rp360-header-v07 .main-nav .rp360-menu-account-actions > a {
    flex: 1 1 auto;
    min-height: 42px;
  }
}

/* Event date stays on the cover and actions sit at the bottom of each card. */
.rp360-category-page .rp360-bridge-category-events .rp360-event {
  display: flex;
  flex-direction: column;
  border: 1px solid #dbe6f8;
  border-radius: 14px;
  background: #fff;
}

.rp360-category-page .rp360-event .rp360-event-picture {
  flex: none;
  overflow: hidden;
  background: #edf4ff;
}

.rp360-category-page .rp360-event .rp360-event-picture .rp360-date {
  position: absolute;
  inset: 12px auto auto 12px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #102a43;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}

.rp360-category-page .rp360-event .rp360-event-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
  padding: 15px;
  color: #102a43;
  overflow-wrap: anywhere;
}

.rp360-category-page .rp360-event-body h3 {
  min-height: 2.6em;
  margin: 0;
  line-height: 1.3;
}

.rp360-category-page .rp360-event-body p {
  margin: 0;
}

.rp360-category-page .rp360-event-body .rp360-event-bottom {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  margin-top: auto;
  padding-top: 4px;
}

.rp360-category-page .rp360-event-body .rp360-card-actions {
  width: 100%;
  margin-top: 0;
}

.rp360-header-v07 .main-nav .rp360-menu-account-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
}

.rp360-header-v07 .main-nav.rp360-menu-updated .rp360-menu-register {
  background: #075dff;
  border-color: #075dff;
  color: #fff !important;
}

.rp360-header-v07 .main-nav.rp360-menu-updated .rp360-menu-register:hover {
  background: #0849ad;
  color: #fff !important;
}

#rp360-criar-conta, #rp360-entrar { scroll-margin-top: 215px; }

body.rp360-home-v07 .rp360-hero-v07 .hero-copy {
  padding-top: 22px;
}
