/* ============================================================
   SANTIAGO RZR v3.1 — AJUSTES DE UI
   WhatsApp más grande sin texto, menú más grande,
   footer compacto, calendario responsive, y modal de itinerario.
   Se carga después de premium.css para sobrescribir.
   ============================================================ */

/* --- 1. Botón de WhatsApp más grande, solo icono, sin texto --- */
.sra-whatsapp-float{
  min-width:0!important;
  width:64px!important;
  height:64px!important;
  padding:0!important;
  border-radius:50%!important;
  justify-content:center!important;
  align-items:center!important;
}
.sra-whatsapp-float>span{display:none!important}
.sra-whatsapp-float b{
  width:36px!important;
  height:36px!important;
  font-size:1rem!important;
}
.sra-whatsapp-float b:after{
  inset:-6px!important;
}
.sra-chat-toggle{
  min-width:0!important;
  width:52px!important;
  height:52px!important;
  padding:0!important;
  border-radius:50%!important;
  justify-content:center!important;
  align-items:center!important;
}
.sra-chat-toggle>span{display:none!important}
.sra-chat-toggle b{
  width:30px!important;
  height:30px!important;
  font-size:.9rem!important;
}
.sra-music-toggle{
  min-width:0!important;
  width:52px!important;
  height:52px!important;
  padding:0!important;
  border-radius:50%!important;
  justify-content:center!important;
  align-items:center!important;
  background:#14171c!important;
  border:1px solid rgba(255,255,255,.2)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.35)!important;
  transition:all .2s ease!important;
  cursor:pointer!important;
}
.sra-music-toggle:hover{
  transform:scale(1.08)!important;
  border-color:var(--sra-amber,#f0a623)!important;
}
.sra-music-toggle>span{display:none!important}
.sra-music-toggle b{
  width:32px!important;
  height:32px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:.9rem!important;
  transition:all .2s ease!important;
}
.sra-music-toggle.is-playing{
  background:#1c1810!important;
  border-color:var(--sra-amber,#f0a623)!important;
  box-shadow:0 0 20px rgba(240,166,35,.45)!important;
}
.sra-music-toggle.is-playing b{
  background:var(--sra-amber,#f0a623)!important;
  color:#000!important;
  animation:sraMusicPulse 1.3s infinite ease-in-out!important;
}
@keyframes sraMusicPulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.12)}
  100%{transform:scale(1)}
}
@media(max-width:782px){
  .sra-whatsapp-float{width:56px!important;height:56px!important}
  .sra-whatsapp-float b{width:32px!important;height:32px!important}
  .sra-chat-toggle,.sra-music-toggle{width:48px!important;height:48px!important}
  .sra-chat-toggle b,.sra-music-toggle b{width:28px!important;height:28px!important}
}

/* --- 2. Menú de navegación con texto legible y espaciado adaptativo --- */
.sra-primary-links{
  display: flex !important;
  align-items: center !important;
  gap: clamp(4px, 0.8vw, 14px) !important;
}
.sra-primary-links > a > span,
.sra-primary-links > button > span,
.sra-nav-page-link > span,
.sra-nav-more-btn > span,
.sra-sections-btn > span{
  font-size: clamp(0.72rem, 0.85vw, 0.82rem) !important;
  letter-spacing: .05em !important;
  white-space: nowrap !important;
}
.sra-primary-links>a,
.sra-primary-links>button,
.sra-nav-page-link,
.sra-nav-more-btn{
  padding: 0 clamp(8px, 1vw, 16px) !important;
  white-space: nowrap !important;
}
.sra-primary-links > a > small,
.sra-primary-links > button > small{
  font-size: .55rem !important;
}
.sra-nav a{
  font-size: .85rem !important;
}
.sra-nav .wp-block-navigation__container{
  gap: clamp(12px, 1.5vw, 28px) !important;
}

/* --- 3. Footer compacto --- */
.sra-footer{
  padding:36px 28px 20px!important;
}
.sra-footer-mountains{
  height:60px!important;
}
.sra-footer-brand{
  font-size:clamp(2.5rem,8vw,6rem)!important;
  margin:20px 0 10px!important;
}
.sra-footer h4{
  font-size:.85rem!important;
}
.sra-footer p{
  font-size:.75rem!important;
}
.sra-footer .sra-brand-logo{
  width:110px!important;
  height:92px!important;
}
.sra-footer hr{
  margin:28px auto 16px!important;
}
.sra-footer-top{
  gap:30px!important;
}
.sra-copyright{
  font-size:.62rem!important;
}
@media(max-width:782px){
  .sra-footer{padding:28px 16px 16px!important}
  .sra-footer-mountains{height:40px!important}
  .sra-footer-brand{font-size:clamp(2rem,12vw,4rem)!important;margin:14px 0 8px!important}
  .sra-footer .sra-brand-logo{width:90px!important;height:76px!important}
}

/* --- 4. Calendario responsive mejorado --- */

/* Desktop: grid fluido que se adapta */
.sra-calendar-page .sra-calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(7,1fr)!important;
  gap:1px!important;
}
.sra-calendar-page .sra-calendar-day{
  min-height:clamp(120px,14vw,200px)!important;
  padding:8px!important;
  overflow:hidden;
}
.sra-calendar-page .sra-calendar-day>time{
  width:28px!important;
  height:28px!important;
  font-size:.85rem!important;
}
.sra-calendar-page .sra-calendar-event{
  padding:6px 8px!important;
  margin-bottom:4px;
}
.sra-calendar-page .sra-calendar-event strong{
  font-size:.72rem!important;
  line-height:1.2!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  display:block;
}
.sra-calendar-page .sra-calendar-event>span{
  font-size:.55rem!important;
}
.sra-calendar-page .sra-calendar-event small{
  font-size:.58rem!important;
  line-height:1.3!important;
}
.sra-calendar-page .sra-calendar-detail{
  display:none!important;
}

/* Tablet: agenda vertical legible */
@media(max-width:1100px){
  .sra-calendar-page .sra-calendar-shell{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .sra-calendar-page .sra-calendar-grid{
    min-width:680px;
    gap:1px!important;
  }
  .sra-calendar-page .sra-calendar-day{
    min-height:140px!important;
  }
}

/* Móvil: agenda de tarjetas */
@media(max-width:780px){
  .sra-calendar-page .sra-calendar-shell{
    overflow-x:visible!important;
  }
  .sra-calendar-page .sra-calendar-grid{
    display:flex!important;
    flex-direction:column;
    gap:10px!important;
    padding:12px!important;
    min-width:0!important;
  }
  .sra-calendar-page .sra-calendar-day,
  .sra-calendar-page .sra-calendar-day.is-empty{
    display:none;
  }
  .sra-calendar-page .sra-calendar-day.has-events{
    display:grid!important;
    grid-template-columns:64px 1fr!important;
    min-height:0!important;
    padding:0!important;
    border-radius:8px;
    overflow:hidden;
  }
  .sra-calendar-page .sra-calendar-day.has-events>time{
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    min-height:100%;
    border-radius:0;
  }
  .sra-calendar-page .sra-calendar-day.has-events>time b{
    font-size:1.6rem!important;
  }
  .sra-calendar-page .sra-calendar-day.has-events>time span{
    display:block!important;
    font-size:.55rem!important;
    margin-top:3px;
  }
  .sra-calendar-page .sra-calendar-event{
    padding:12px!important;
  }
  .sra-calendar-page .sra-calendar-event strong{
    font-size:.88rem!important;
    white-space:normal;
  }
  .sra-calendar-page .sra-calendar-event>span{
    font-size:.6rem!important;
  }
  .sra-calendar-page .sra-calendar-event small{
    font-size:.66rem!important;
  }
  .sra-calendar-page .sra-calendar-detail{
    display:block!important;
  }
  .sra-calendar-page .sra-calendar-weekdays{
    display:none!important;
  }
  .sra-calendar-page .sra-calendar-toolbar{
    display:flex!important;
    justify-content:center;
    padding:18px 56px;
  }
  .sra-calendar-page .sra-calendar-toolbar>button{
    position:absolute;
    top:18px;
    width:40px;
    height:40px;
  }
  .sra-calendar-page .sra-calendar-toolbar>button:first-of-type{left:10px}
  .sra-calendar-page .sra-calendar-toolbar>button:last-of-type{right:10px;left:auto}
  .sra-calendar-page .sra-calendar-toolbar h2{font-size:1.6rem!important}
  .sra-calendar-page .sra-calendar-legend{
    flex-wrap:wrap;
    gap:8px 14px;
    padding:10px 14px;
  }
  .sra-calendar-page .sra-calendar-help{
    flex-direction:column;
    padding:18px;
    text-align:center;
  }
  .sra-calendar-page .sra-calendar-help .sra-btn{
    width:100%;
    text-align:center;
  }
}

@media(max-width:480px){
  .sra-calendar-page .sra-calendar-day.has-events{
    grid-template-columns:54px 1fr!important;
  }
  .sra-calendar-page .sra-calendar-day.has-events>time b{
    font-size:1.3rem!important;
  }
}

/* --- 5. Modal de itinerario del día --- */
.sra-day-modal{
  position:fixed;
  z-index:9600;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(2,4,6,.88);
  backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.sra-day-modal.is-open{
  opacity:1;
  visibility:visible;
}
.sra-day-modal-card{
  position:relative;
  width:min(640px,100%);
  max-height:85vh;
  overflow-y:auto;
  background:#12161b;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  box-shadow:0 35px 100px rgba(0,0,0,.55);
  transform:translateY(30px) scale(.96);
  opacity:0;
  transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s ease;
}
.sra-day-modal.is-open .sra-day-modal-card{
  transform:none;
  opacity:1;
}
.sra-day-modal-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:2;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:rgba(4,6,8,.7);
  color:#fff;
  font-size:1.4rem;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .2s ease,border-color .2s ease;
}
.sra-day-modal-close:hover{
  background:var(--sra-brand);
  border-color:var(--sra-brand);
}
.sra-day-modal-header{
  padding:32px 32px 20px;
  background:linear-gradient(135deg,rgba(227,6,19,.12),transparent 60%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sra-day-modal-date{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 12px;
  border-radius:20px;
  background:rgba(227,6,19,.15);
  color:var(--sra-amber,#f0a623);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.sra-day-modal-header h2{
  margin:14px 0 0;
  font-family:var(--sra-display);
  font-size:clamp(1.8rem,4vw,2.6rem);
  line-height:1;
  color:#fff;
}
.sra-day-modal-body{
  padding:24px 32px 32px;
}
.sra-day-modal-body>p{
  margin:0 0 20px;
  color:#c2c6cc;
  font-size:.9rem;
  line-height:1.6;
}
.sra-itinerary-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0 0 24px;
  padding:0;
  list-style:none;
}
.sra-itinerary-item{
  display:grid;
  grid-template-columns:70px 1fr auto;
  align-items:start;
  gap:14px;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.02);
  transition:border-color .2s ease,background .2s ease;
}
.sra-itinerary-item:hover{
  border-color:rgba(227,6,19,.3);
  background:rgba(227,6,19,.04);
}
.sra-itinerary-time{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:8px 4px;
  border-radius:8px;
  background:rgba(227,6,19,.1);
}
.sra-itinerary-time b{
  font-family:var(--sra-display);
  font-size:1.1rem;
  color:#fff;
  line-height:1;
}
.sra-itinerary-time span{
  font-size:.5rem;
  color:var(--sra-amber,#f0a623);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-top:3px;
}
.sra-itinerary-info strong{
  display:block;
  font-size:.95rem;
  color:#fff;
  margin-bottom:4px;
}
.sra-itinerary-info span{
  display:block;
  font-size:.72rem;
  color:#9ba0a8;
  line-height:1.4;
}
.sra-itinerary-price{
  text-align:right;
}
.sra-itinerary-price b{
  display:block;
  font-family:var(--sra-display);
  font-size:1rem;
  color:#fff;
}
.sra-itinerary-price small{
  font-size:.6rem;
  color:#737982;
}
.sra-itinerary-badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:4px;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-top:6px;
}
.sra-itinerary-badge.is-route{
  background:rgba(227,6,19,.15);
  color:#ff5963;
}
.sra-itinerary-badge.is-event{
  background:rgba(240,166,35,.15);
  color:var(--sra-amber,#f0a623);
}
.sra-itinerary-badge.is-sold{
  background:rgba(255,255,255,.06);
  color:#777;
}
.sra-itinerary-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.sra-itinerary-actions .sra-btn{
  flex:1;
  min-width:180px;
}
.sra-itinerary-actions>a:not(.sra-btn){
  display:flex;
  align-items:center;
  padding:14px 20px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:4px;
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
@media(max-width:520px){
  .sra-day-modal{padding:10px}
  .sra-day-modal-header{padding:24px 20px 16px}
  .sra-day-modal-body{padding:20px}
  .sra-itinerary-item{
    grid-template-columns:56px 1fr;
    gap:10px;
    padding:12px;
  }
  .sra-itinerary-price{
    grid-column:2;
    text-align:left;
  }
  .sra-itinerary-time b{font-size:.95rem}
  .sra-itinerary-info strong{font-size:.85rem}
}
@media(prefers-reduced-motion:reduce){
  .sra-day-modal,.sra-day-modal-card{
    transition:none!important;
  }
  .sra-day-modal-card{
    transform:none;
    opacity:1;
  }
}

/* ============================================================
   5. HEADER STICKY DINÁMICO AL HACER SCROLL
   ============================================================ */
.sra-site-header {
  transition: min-height .3s ease, background .3s ease, padding .3s ease, box-shadow .3s ease !important;
}
.sra-site-header.is-scrolled {
  background: rgba(10, 12, 16, 0.96) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45) !important;
  border-bottom: 1px solid rgba(227, 6, 19, 0.3) !important;
}
.sra-site-header.is-scrolled .sra-header-inner {
  min-height: 64px !important;
}
.sra-site-header.is-scrolled .sra-brand-logo {
  height: 52px !important;
  width: 64px !important;
}

/* ============================================================
   6. BOTÓN Y DROPDOWN DE SECCIONES EN MENÚ
   ============================================================ */
.sra-sections-nav {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.sra-sections-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 6px 14px;
  border: 1px solid rgba(227, 6, 19, 0.6);
  border-radius: 20px;
  background: rgba(227, 6, 19, 0.12);
  color: #fff;
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s ease;
}
.sra-sections-btn:hover,
.sra-sections-btn[aria-expanded="true"] {
  background: var(--sra-brand);
  border-color: var(--sra-brand);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(227, 6, 19, 0.4);
}
.sra-sections-icon {
  color: var(--sra-amber, #f0a623);
  font-size: 0.85rem;
  line-height: 1;
}
.sra-sections-arrow {
  font-style: normal;
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}
.sra-sections-btn[aria-expanded="true"] .sra-sections-arrow {
  transform: rotate(180deg);
}

.sra-site-header.is-scrolled .sra-sections-btn {
  background: var(--sra-brand) !important;
  border-color: var(--sra-brand) !important;
  color: #fff !important;
  box-shadow: 0 0 15px rgba(227, 6, 19, 0.45) !important;
}

/* Dropdown de Secciones */
.sra-sections-dropdown {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  z-index: 2000 !important;
  width: min(640px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  padding: 16px !important;
  background: rgba(14, 17, 22, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-top: 3px solid var(--sra-brand) !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.75) !important;
  backdrop-filter: blur(20px) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.sra-sections-dropdown * {
  box-sizing: border-box !important;
}
.sra-sections-dropdown.is-open {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.sra-sections-dropdown-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 4px 6px 12px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin-bottom: 12px !important;
}
.sra-sections-dropdown-head span {
  color: var(--sra-brand) !important;
  font-size: 0.65rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.sra-sections-dropdown-head small {
  color: #8a8f98 !important;
  font-size: 0.65rem !important;
}
.sra-sections-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.sra-section-jump {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  color: #fff !important;
  text-decoration: none !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
}
.sra-section-jump:hover,
.sra-section-jump.is-active {
  background: rgba(227, 6, 19, 0.18) !important;
  border-color: rgba(227, 6, 19, 0.7) !important;
  transform: translateY(-2px) !important;
}
.sra-section-jump small {
  color: var(--sra-brand) !important;
  font-size: 0.62rem !important;
  font-weight: 900 !important;
  flex-shrink: 0 !important;
  min-width: 18px !important;
}
.sra-section-jump > div {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}
.sra-section-jump strong {
  display: block !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #fff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}
.sra-section-jump span {
  display: block !important;
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  color: #a2a7b2 !important;
  margin-top: 2px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.sra-section-jump b {
  color: var(--sra-brand) !important;
  font-size: 0.75rem !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}
.sra-section-jump:hover b {
  transform: translateY(2px) !important;
}
.sra-sections-dropdown-footer {
  padding-top: 10px !important;
  margin-top: 10px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  text-align: right !important;
}
.sra-sections-dropdown-footer a {
  color: #ccc !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.sra-sections-dropdown-footer a:hover {
  color: var(--sra-brand) !important;
}

/* ============================================================
   7. NAVEGACIÓN POR SECCIONES EN MENÚ MÓVIL
   ============================================================ */
.sra-menu-mobile-sections {
  margin: 12px 0 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.sra-menu-mobile-group-title {
  display: block;
  color: var(--sra-brand);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.sra-mobile-sections-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.sra-mobile-sec-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 6px;
  color: #fff !important;
  text-decoration: none;
  font-size: 0.76rem;
}
.sra-mobile-sec-link:hover,
.sra-mobile-sec-link.is-active {
  background: rgba(227, 6, 19, 0.2);
  border-color: var(--sra-brand);
}
.sra-mobile-sec-link small {
  color: var(--sra-brand);
  font-size: 0.55rem;
  font-weight: 900;
}
.sra-mobile-sec-link strong {
  flex: 1;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.sra-mobile-sec-link b {
  color: var(--sra-brand);
  font-size: 0.75rem;
}
.sra-mobile-pages-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 6px;
}
.sra-mobile-pages-grid a {
  display: flex;
  flex-direction: column;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
}
.sra-mobile-pages-grid a strong {
  font-size: 0.8rem;
  text-transform: uppercase;
}
.sra-mobile-pages-grid a em {
  font-size: 0.6rem;
  color: #888;
  font-style: normal;
  margin-top: 2px;
}

/* ============================================================
   8. ADAPTABILIDAD RESPONSIVA TOTAL Y CORRECCIÓN DE RECORTES
   ============================================================ */

/* Hero no recortado en laptops y pantallas medianas */
.sra-hero {
  min-height: auto !important;
  min-height: clamp(520px, 86svh, 780px) !important;
  padding: 0 !important;
  overflow: hidden;
}
.sra-hero-content {
  padding-block: clamp(36px, 5vw, 68px) !important;
}
.sra-hero h1 {
  font-size: clamp(2.4rem, 5.2vw, 4.6rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
  max-width: 820px !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.sra-hero-lead {
  font-size: clamp(0.95rem, 1.35vw, 1.15rem) !important;
  max-width: 600px !important;
  margin-bottom: 22px !important;
  line-height: 1.55 !important;
}
.sra-hero-stats {
  margin-top: clamp(20px, 3.5vw, 42px) !important;
  flex-wrap: wrap !important;
  gap: 8px 0 !important;
}
.sra-hero-stats>div {
  padding: 0 clamp(10px, 1.8vw, 24px) !important;
}
.sra-hero-stats strong {
  font-size: clamp(1.4rem, 2.2vw, 2rem) !important;
}
.sra-hero-stats span {
  font-size: 0.62rem !important;
}
.sra-hero:after {
  height: 120px !important;
  max-height: 16vh !important;
  opacity: 0.8 !important;
  pointer-events: none !important;
}

/* Compensación de anclas con scroll-padding */
html {
  scroll-padding-top: 80px !important;
}
[id] {
  scroll-margin-top: 80px !important;
}

/* Grids fluidos y tarjetas sin corte de contenido */
.sra-section {
  padding: clamp(48px, 6vw, 84px) 0 !important;
}
.sra-section-head {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr) !important;
  gap: clamp(18px, 3vw, 44px) !important;
  margin-bottom: clamp(24px, 3.5vw, 42px) !important;
}
.sra-section-head h2 {
  font-size: clamp(1.9rem, 3.8vw, 3.2rem) !important;
  line-height: 1.05 !important;
}
.sra-section-head>p {
  font-size: clamp(0.88rem, 1.2vw, 1rem) !important;
}

/* Tarjetas elásticas en lugar de alturas fijas */
.sra-service-card,
.sra-route-card,
.sra-vehicle-card,
.sra-package-grid>article,
.sra-review-card,
.sra-promo-card {
  min-height: auto !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}
.sra-card-copy,
.sra-route-card-body>p:not(:first-child) {
  min-height: auto !important;
  flex: 1 0 auto;
}

/* Breakpoints Responsivos Intermedios (768px a 1180px) */
@media (min-width: 768px) and (max-width: 1180px) {
  .sra-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sra-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sra-vehicle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sra-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sra-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .sra-trust-grid,
  .sra-location>.sra-container,
  .sra-about>.sra-container {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .sra-section-head {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* Pantallas móviles (< 768px) */
@media (max-width: 767px) {
  .sra-service-grid,
  .sra-route-grid,
  .sra-vehicle-grid,
  .sra-package-grid,
  .sra-review-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .sra-hero h1 {
    font-size: clamp(2.2rem, 9vw, 3.4rem) !important;
  }
  .sra-section-head h2 {
    font-size: clamp(1.8rem, 6.5vw, 2.6rem) !important;
  }
  .sra-sections-dropdown {
    width: calc(100vw - 20px) !important;
  }
  .sra-sections-grid {
    grid-template-columns: 1fr !important;
  }
  .sra-mobile-sections-grid,
  .sra-mobile-pages-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   9. OPTIMIZACIÓN A 1 SOLA PANTALLA: INTRODUCCIÓN (.sra-home-intro)
   ============================================================ */
.sra-home-intro {
  padding: clamp(24px, 3.5vw, 48px) 0 !important;
  min-height: auto !important;
  background: #f4f4f4 !important;
  color: var(--sra-ink) !important;
}
.sra-home-intro > .sra-container {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  align-items: center !important;
  gap: clamp(20px, 4vw, 50px) !important;
}
.sra-intro-copy {
  max-width: 600px !important;
}
.sra-intro-copy .sra-kicker {
  margin-bottom: 8px !important;
  font-size: 0.68rem !important;
}
.sra-intro-copy h2 {
  font-size: clamp(1.45rem, 2.2vw, 2.25rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 10px !important;
  color: var(--sra-ink) !important;
}
.sra-intro-copy .sra-lede {
  font-size: clamp(0.85rem, 1.1vw, 0.98rem) !important;
  line-height: 1.5 !important;
  color: #4b4f56 !important;
  margin: 0 0 16px !important;
}
.sra-intro-features {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  margin: 16px 0 !important;
  border-block: 1px solid #d4d7dc !important;
}
.sra-intro-features > div {
  padding: 10px 12px !important;
  border-right: 1px solid #d4d7dc !important;
}
.sra-intro-features > div:first-child {
  padding-left: 0 !important;
}
.sra-intro-features > div:last-child {
  border-right: 0 !important;
}
.sra-intro-features strong {
  display: block !important;
  color: var(--sra-brand) !important;
  font-size: 0.65rem !important;
  font-weight: 900 !important;
}
.sra-intro-features span {
  display: block !important;
  margin: 3px 0 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  color: var(--sra-ink) !important;
}
.sra-intro-features p {
  margin: 0 !important;
  color: #6c7078 !important;
  font-size: 0.68rem !important;
  line-height: 1.3 !important;
}
.sra-intro-actions {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 14px !important;
}
.sra-intro-visual {
  position: relative !important;
  margin: 0 auto !important;
  max-width: 440px !important;
  width: 100% !important;
}
.sra-intro-visual:before {
  content: '' !important;
  position: absolute !important;
  z-index: 0 !important;
  left: -14px !important;
  top: -14px !important;
  width: 60% !important;
  height: 60% !important;
  border: 2px solid var(--sra-brand) !important;
}
.sra-intro-visual img {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  max-height: 340px !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15) !important;
}
.sra-intro-visual figcaption {
  position: absolute !important;
  z-index: 2 !important;
  right: -10px !important;
  bottom: 15px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  background: var(--sra-brand) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
}
.sra-intro-visual figcaption b {
  font-family: var(--sra-display) !important;
  font-size: 1.6rem !important;
  line-height: 1 !important;
}
.sra-intro-visual figcaption span {
  font-size: 0.6rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

@media (max-width: 900px) {
  .sra-home-intro > .sra-container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .sra-intro-features {
    grid-template-columns: 1fr !important;
  }
  .sra-intro-features > div {
    border-right: 0 !important;
    border-bottom: 1px solid #d4d7dc !important;
    padding: 8px 0 !important;
  }
  .sra-intro-features > div:last-child {
    border-bottom: 0 !important;
  }
  .sra-intro-visual {
    margin-top: 10px !important;
  }
}

/* ============================================================
   10. BANNER DE RUTAS CON MOVIMIENTO (.sra-route-motion-banner)
   ============================================================ */
.sra-route-motion-banner {
  position: relative !important;
  background: #0d1015 !important;
  color: #fff !important;
  overflow: hidden !important;
  padding: clamp(40px, 5vw, 68px) 0 !important;
}
.sra-route-motion-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 24px !important;
}
.sra-route-motion-controls {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.sra-motion-btn-group {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 30px !important;
  padding: 3px !important;
  gap: 2px !important;
}
.sra-motion-control {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 36px !important;
  padding: 0 12px !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.sra-motion-control:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}
.sra-motion-control.sra-motion-prev,
.sra-motion-control.sra-motion-next {
  width: 36px !important;
  padding: 0 !important;
  font-size: 1.1rem !important;
}
.sra-motion-control.sra-motion-pause {
  background: rgba(227, 6, 19, 0.2) !important;
  border: 1px solid rgba(227, 6, 19, 0.5) !important;
  color: #fff !important;
}
.sra-motion-control.sra-motion-pause:hover,
.sra-motion-control.sra-motion-pause[aria-pressed="true"] {
  background: var(--sra-brand) !important;
  border-color: var(--sra-brand) !important;
}

/* Motion Carousel Track */
.sra-route-motion-carousel {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  padding-block: 6px 14px !important;
}
.sra-route-motion-track {
  display: flex !important;
  gap: 20px !important;
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  will-change: transform !important;
}
.sra-route-slide {
  flex: 0 0 calc(33.333% - 14px) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 1180px) {
  .sra-route-slide {
    flex: 0 0 calc(50% - 10px) !important;
  }
}
@media (max-width: 768px) {
  .sra-route-slide {
    flex: 0 0 100% !important;
  }
}
.sra-route-slide-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #14171d !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.25s ease, border-color 0.25s ease !important;
}
.sra-route-slide.is-active .sra-route-slide-inner,
.sra-route-slide-inner:hover {
  border-color: rgba(227, 6, 19, 0.6) !important;
  transform: translateY(-4px) !important;
}
.sra-route-slide-media {
  position: relative !important;
  display: block !important;
  aspect-ratio: 16/9 !important;
  overflow: hidden !important;
  background: #08090a !important;
}
.sra-route-slide-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.45s ease !important;
}
.sra-route-slide-inner:hover .sra-route-slide-media img {
  transform: scale(1.05) !important;
}
.sra-route-slide-badge {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 8px !important;
  background: rgba(10, 12, 16, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 4px !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}
.sra-route-slide-badge span b {
  color: var(--sra-brand) !important;
}
.sra-route-slide-badge small {
  color: var(--sra-amber, #f0a623) !important;
}
.sra-route-slide-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 18px 20px !important;
}
.sra-route-slide-meta {
  margin-bottom: 6px !important;
}
.sra-slide-kicker {
  display: block !important;
  color: var(--sra-brand) !important;
  font-size: 0.58rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 2px !important;
}
.sra-route-slide-meta h3 {
  margin: 0 !important;
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
}
.sra-route-slide-meta h3 a {
  color: #fff !important;
  text-decoration: none !important;
}
.sra-route-slide-meta h3 a:hover {
  color: var(--sra-brand) !important;
}
.sra-route-slide-tagline {
  color: #9ba0aa !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  margin: 6px 0 12px !important;
  flex: 1 0 auto !important;
}
.sra-route-destinations {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-bottom: 16px !important;
}
.sra-route-destinations span {
  display: inline-block !important;
  padding: 3px 7px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 4px !important;
  color: #c9ccd2 !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
}
.sra-route-slide-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin-top: auto !important;
}
.sra-route-cal-link {
  color: #ccc !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: color 0.2s ease !important;
}
.sra-route-cal-link:hover {
  color: var(--sra-brand) !important;
}

/* Dots & Status */
.sra-route-motion-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.sra-route-dots {
  display: flex !important;
  gap: 6px !important;
}
.sra-route-dots button {
  width: 28px !important;
  height: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #aaa !important;
  font-size: 0.6rem !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.sra-route-dots button:hover,
.sra-route-dots button.is-active {
  background: var(--sra-brand) !important;
  border-color: var(--sra-brand) !important;
  color: #fff !important;
  transform: scale(1.1) !important;
}
.sra-route-motion-status {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #8c929c !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

/* ============================================================
   11. WIDGET GLOBAL DE EXPLORACIÓN RÁPIDA (.sra-floating-explorer)
   ============================================================ */
.sra-floating-explorer {
  position: fixed !important;
  z-index: 1200 !important;
  left: 20px !important;
  bottom: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  pointer-events: auto !important;
}
.sra-explorer-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 6px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 30px !important;
  background: rgba(14, 17, 22, 0.92) !important;
  color: #fff !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(12px) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}
.sra-explorer-btn:hover {
  background: var(--sra-brand) !important;
  border-color: var(--sra-brand) !important;
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 8px 20px rgba(227, 6, 19, 0.45) !important;
}
.sra-explorer-icon {
  color: var(--sra-amber, #f0a623) !important;
  font-size: 0.85rem !important;
  line-height: 1 !important;
}
.sra-explorer-btn:hover .sra-explorer-icon {
  color: #fff !important;
}
.sra-explorer-label {
  font-size: 0.65rem !important;
  font-weight: 800 !important;
}
.sra-btn-sm {
  min-height: 40px !important;
  padding: 8px 16px !important;
  font-size: 0.72rem !important;
}

@media (max-width: 782px) {
  .sra-floating-explorer {
    left: 14px !important;
    bottom: 14px !important;
  }
  .sra-explorer-btn {
    min-height: 38px !important;
    padding: 6px 10px !important;
  }
  .sra-explorer-label {
    display: none !important;
  }
}

/* ============================================================
   12. ÍCONO RZR Y ESTILOS DE EXPLORACIÓN
   ============================================================ */
.sra-rzr-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--sra-brand) !important;
  line-height: 1 !important;
}
.sra-sections-btn:hover .sra-rzr-icon,
.sra-explorer-btn:hover .sra-rzr-icon {
  color: #fff !important;
}
.sra-rzr-icon svg {
  display: block !important;
  width: 16px !important;
  height: 13px !important;
}

/* ============================================================
   13. PÁGINA EXPERIENCIAS: CATEGORÍAS Y EVENTOS ESPECIALES
   ============================================================ */
.sra-experiences-full {
  background: var(--sra-ink) !important;
  color: #fff !important;
  padding: clamp(40px, 5vw, 72px) 0 !important;
}

/* Filter Bar */
.sra-experience-filter-bar {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 32px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.sra-exp-filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 18px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 30px !important;
  color: #cfd3dc !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.sra-exp-filter-btn:hover,
.sra-exp-filter-btn.is-active {
  background: var(--sra-brand) !important;
  border-color: var(--sra-brand) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(227, 6, 19, 0.35) !important;
  transform: translateY(-1px) !important;
}

/* Experiences Grid */
.sra-experience-catalog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-bottom: 48px !important;
}
@media (min-width: 768px) and (max-width: 1180px) {
  .sra-experience-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  .sra-experience-catalog-grid {
    grid-template-columns: 1fr !important;
  }
}

.sra-exp-card {
  display: flex !important;
  flex-direction: column !important;
  background: #14171d !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.25s ease, border-color 0.25s ease !important;
}
.sra-exp-card:hover {
  border-color: rgba(227, 6, 19, 0.6) !important;
  transform: translateY(-4px) !important;
}
.sra-exp-card-media {
  position: relative !important;
  aspect-ratio: 16/9 !important;
  overflow: hidden !important;
  background: #08090a !important;
}
.sra-exp-card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}
.sra-exp-card:hover .sra-exp-card-media img {
  transform: scale(1.05) !important;
}
.sra-exp-badge {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 8px !important;
  background: rgba(10, 12, 16, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 4px !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: var(--sra-amber, #f0a623) !important;
}
.sra-exp-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 18px 20px !important;
}
.sra-exp-card-header {
  margin-bottom: 8px !important;
}
.sra-exp-kicker {
  display: block !important;
  color: var(--sra-brand) !important;
  font-size: 0.6rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}
.sra-exp-card-header h3 {
  margin: 0 !important;
  font-size: 1.3rem !important;
  line-height: 1.2 !important;
  color: #fff !important;
}
.sra-exp-card-desc {
  color: #9ba0aa !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
  margin: 6px 0 14px !important;
  flex: 1 0 auto !important;
}
.sra-exp-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-bottom: 14px !important;
}
.sra-exp-tags span {
  display: inline-block !important;
  padding: 3px 7px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 4px !important;
  color: #c9ccd2 !important;
  font-size: 0.62rem !important;
}
.sra-exp-extras {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  font-size: 0.72rem !important;
  color: #c9ccd2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.sra-exp-card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin-top: auto !important;
}
.sra-exp-card-footer strong {
  font-size: 1.15rem !important;
  color: #fff !important;
  font-family: var(--sra-display) !important;
}
.sra-exp-card-footer span {
  font-size: 0.65rem !important;
  color: #8c929c !important;
}
.sra-exp-card-footer .sra-quote-only-text {
  color: var(--sra-amber, #f0a623) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* Special Events Banner */
.sra-special-events-banner {
  margin-top: 24px !important;
  background: linear-gradient(135deg, rgba(227, 6, 19, 0.12) 0%, rgba(14, 17, 22, 0.95) 60%), #12151b !important;
  border: 1px solid rgba(227, 6, 19, 0.4) !important;
  border-radius: 12px !important;
  padding: clamp(28px, 4vw, 48px) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.4) !important;
}
.sra-special-events-inner header h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.6rem) !important;
  margin: 6px 0 10px !important;
  line-height: 1.15 !important;
}
.sra-special-events-inner header p {
  color: #c0c4cc !important;
  font-size: clamp(0.85rem, 1.1vw, 0.98rem) !important;
  max-width: 780px !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
}
.sra-special-events-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 28px !important;
}
@media (max-width: 990px) {
  .sra-special-events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  .sra-special-events-grid {
    grid-template-columns: 1fr !important;
  }
}
.sra-special-event-box {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  padding: 16px !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}
.sra-special-event-box:hover {
  border-color: var(--sra-brand) !important;
  transform: translateY(-3px) !important;
}
.sra-special-icon {
  display: inline-block !important;
  font-size: 1.5rem !important;
  margin-bottom: 8px !important;
}
.sra-special-event-box h4 {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  margin: 0 0 6px !important;
  color: #fff !important;
}
.sra-special-event-box p {
  font-size: 0.72rem !important;
  color: #9ba0aa !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
.sra-special-events-cta {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

/* Unidades no disponibles en modo chofer (cuatrimotos y 2 plazas) */
.sra-vehicle-card.is-driver-disabled {
  opacity: 0.55 !important;
  filter: grayscale(35%) !important;
  transition: opacity 0.2s ease !important;
}
.sra-vehicle-card.is-driver-disabled .sra-combo-quantity {
  pointer-events: none !important;
  opacity: 0.3 !important;
}
.sra-no-driver-notice {
  position: absolute !important;
  bottom: 8px !important;
  right: 8px !important;
  background: rgba(14, 17, 22, 0.95) !important;
  border: 1px solid var(--sra-brand) !important;
  color: #fff !important;
  font-size: 0.58rem !important;
  font-weight: 800 !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
  z-index: 10 !important;
}

/* ============================================================
   14. SELECTOR DE SALIDAS, COMBINACIONES AUTOMÁTICAS Y TARJETAS
   ============================================================ */

/* Top bar: Personas y Modalidad */
.sra-combo-start {
  background: #14171d !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  padding: 22px 26px !important;
  margin-bottom: 24px !important;
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  gap: 26px !important;
  align-items: center !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35) !important;
}

@media (max-width: 960px) {
  .sra-combo-start {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 18px 20px !important;
  }
}

/* Personas Field */
.sra-combo-people-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.sra-people-head b {
  display: block !important;
  font-size: 0.88rem !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.sra-people-head small {
  display: block !important;
  color: #9ba0aa !important;
  font-size: 0.72rem !important;
  margin-top: 2px !important;
}
.sra-people-stepper {
  display: flex !important;
  align-items: center !important;
  background: #0b0d11 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  max-width: 200px !important;
}
.sra-people-step-btn {
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: none !important;
  color: #fff !important;
  font-size: 1.3rem !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
.sra-people-step-btn:hover {
  background: var(--sra-brand, #e30613) !important;
}
.sra-people-stepper input[type="number"] {
  flex: 1 !important;
  height: 44px !important;
  background: transparent !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--sra-display) !important;
  font-size: 1.4rem !important;
  font-weight: 900 !important;
  text-align: center !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sra-people-stepper input[type="number"]::-webkit-inner-spin-button,
.sra-people-stepper input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Modalidad Fieldset */
.sra-combo-modes-fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sra-combo-modes-fieldset legend {
  font-size: 0.75rem !important;
  color: #9ba0aa !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 8px !important;
}
.sra-combo-modes {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 640px) {
  .sra-combo-modes {
    grid-template-columns: 1fr !important;
  }
}
.sra-mode-card {
  cursor: pointer !important;
  position: relative !important;
  display: block !important;
  margin: 0 !important;
}
.sra-mode-card input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.sra-mode-card-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 64px !important;
  padding: 10px 14px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 8px !important;
  transition: all 0.22s ease !important;
}
.sra-mode-badge-title {
  display: block !important;
  font-size: 0.95rem !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
.sra-mode-card-inner small {
  display: block !important;
  font-size: 0.75rem !important;
  color: #aab0bc !important;
  line-height: 1.35 !important;
  margin-top: 3px !important;
}
.sra-mode-card input:checked + .sra-mode-card-inner {
  background: var(--sra-brand, #e30613) !important;
  border-color: var(--sra-brand, #e30613) !important;
  box-shadow: 0 6px 20px rgba(227, 6, 19, 0.35) !important;
  transform: translateY(-1px) !important;
}
.sra-mode-card input:checked + .sra-mode-card-inner .sra-mode-badge-title {
  color: #fff !important;
}
.sra-mode-card input:checked + .sra-mode-card-inner small {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* VEHICLE CARDS: Eliminación de cajas blancas y adaptación dark */
.sra-route-vehicle-card,
.sra-vehicle-card {
  background: #14171d !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.sra-vehicle-specs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 14px 0 !important;
  background: transparent !important;
  border: none !important;
}
.sra-vehicle-specs > span,
.sra-route-vehicle-card .sra-vehicle-specs > span {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 40px !important;
  padding: 6px 10px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 6px !important;
  color: #e4e7ec !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
}
.sra-vehicle-specs > span i {
  color: var(--sra-brand, #e30613) !important;
  font-style: normal !important;
  font-weight: 900 !important;
  font-size: 0.78rem !important;
}
@media (max-width: 580px) {
  .sra-vehicle-specs {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  .sra-vehicle-specs > span {
    min-height: 36px !important;
  }
}

/* Stepper de Cantidad en Tarjetas */
.sra-combo-quantity {
  display: grid !important;
  grid-template-columns: 36px 36px 36px !important;
  align-items: center !important;
  background: #0c0e12 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
.sra-combo-quantity button {
  height: 36px !important;
  border: none !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #fff !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.15s ease !important;
}
.sra-combo-quantity button:hover:not(:disabled) {
  background: var(--sra-brand, #e30613) !important;
  color: #fff !important;
}
.sra-combo-quantity button:disabled {
  opacity: 0.25 !important;
  cursor: not-allowed !important;
}
.sra-combo-quantity output {
  text-align: center !important;
  font-family: var(--sra-display) !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: transparent !important;
}

/* Badge de Plazas en Cabecera de Tarjeta */
.sra-vehicle-card header b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 28px !important;
  padding: 2px 10px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 20px !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
}

/* ============================================================
   15. ESTILOS DE ÍCONOS VECTORIALES SVG (REEMPLAZO DE EMOJIS)
   ============================================================ */
.sra-svg-icon {
  display: inline-block !important;
  vertical-align: -0.18em !important;
  flex-shrink: 0 !important;
}
.sra-svg-icon[fill="none"] {
  fill: none !important;
}
.sra-mode-badge-title .sra-svg-icon {
  width: 20px !important;
  height: 20px !important;
  margin-right: 6px !important;
  color: var(--sra-brand) !important;
  vertical-align: -0.22em !important;
}
.sra-mode-card input:checked + .sra-mode-card-inner .sra-svg-icon {
  color: #fff !important;
}
.sra-dt-item .sra-dt-icon .sra-svg-icon {
  width: 18px !important;
  height: 18px !important;
  color: var(--sra-brand) !important;
}
.sra-driver-req-banner b .sra-svg-icon,
.sra-driver-req-note b .sra-svg-icon,
.sra-courtesy-banner b .sra-svg-icon,
.sra-courtesy-note b .sra-svg-icon {
  width: 16px !important;
  height: 16px !important;
  margin-right: 4px !important;
  vertical-align: -0.15em !important;
}
.sra-exp-tags span .sra-svg-icon,
.sra-route-destinations span .sra-svg-icon {
  width: 13px !important;
  height: 13px !important;
  margin-right: 3px !important;
  color: var(--sra-amber, #f0a623) !important;
  vertical-align: -0.15em !important;
}
.sra-special-icon .sra-svg-icon {
  width: 28px !important;
  height: 28px !important;
  color: var(--sra-brand) !important;
  display: block !important;
}
.sra-exp-badge b .sra-svg-icon {
  width: 14px !important;
  height: 14px !important;
  margin-right: 4px !important;
  color: var(--sra-amber, #f0a623) !important;
  vertical-align: -0.15em !important;
}
.sra-floating-actions b .sra-svg-icon {
  width: 18px !important;
  height: 18px !important;
  color: #fff !important;
}

/* Ocultar estrictamente tarjetas y botones no compatibles */
.sra-vehicle-card[hidden],
.sra-vehicle-card.is-hidden,
.sra-departure-type-filter button[hidden] {
  display: none !important;
}





