﻿@media (max-width: 600px) {
  .rider-category-carousel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 0 6px;
    margin: 0;
  }
  .rider-category-pill {
    width: 100%;
    min-width: 0;
    font-size: 0.9rem;
    padding: 10px 8px;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Badge premium discreto para entrevistas */
.premium-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 20;
  background: rgba(255,255,255,0.7);
  color: #222;
  font-size: 0.92rem;
  font-weight: 600;
  border-radius: 12px;
  padding: 2px 8px 2px 6px;
  display: flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  pointer-events: none;
  user-select: none;
}
@media (max-width: 480px) {
  .premium-badge {
    font-size: 0.82rem;
    padding: 2px 6px 2px 4px;
  }
}
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');
/* Cyclick â€” dark-first editorial style */
:root{
  /* Color roles */
  --blue-base:#0056A3;
  --blue-surface:#0056A3;
  --blue-deep:#0056a3;
  --blue-light:#dbeaff;
  --yellow-accent:#fff900;
  --bg:#F5F5F5; /* global background aligned for non Rider Room pages */
  --panel:var(--blue-surface); /* slightly darker panel */
  --muted:rgba(255,255,255,0.85);
  --accent:var(--yellow-accent); /* highlight yellow */
  --text:#ffffff;
  --radius:16px;
  --max-width:820px;
  --gap:18px;
}
html,body{height:100%;}
.container{max-width:var(--max-width);} 
body{background:var(--bg);color:var(--text);font-family:'Poppins', sans-serif;}
body:not(.rider-room-active){background-color:#F5F5F5 !important;}
body:not(.rider-room-active) #app,
body:not(.rider-room-active) .app-container,
body:not(.rider-room-active) .page-wrapper,
body:not(.rider-room-active) .main-content{background-color:#F5F5F5 !important;}
body *:not(.material-icons):not([class^="material-icons"]):not([class*=" material-icons"]){
  font-family:'Poppins', sans-serif;
}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.06), transparent);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius);} 
.container{max-width:var(--max-width);} 
.logo-link{display:inline-block}

/* Full width on desktop/web */
@media(min-width:768px){
  :root{--max-width:1180px}
  .container{max-width:var(--max-width);margin:0 auto;padding-left:20px;padding-right:20px}
  #app{max-width:var(--max-width);margin:0 auto;padding:24px 20px}
}
@media(min-width:1024px){
  body.home-active #app{padding:24px 24px}
  body.home-active .section{margin-top:28px}
}
@media(min-width:1400px){
  :root{--max-width:1180px}
  .container{padding-left:28px;padding-right:28px}
  #app{padding:24px 28px}
}

/* Header actions */
.header-actions{display:flex;align-items:center;gap:12px}
@media(min-width:768px){
  .header-actions .desktop-profile-link{display:flex !important;align-items:center}
}
.favorite-icon{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:opacity 0.2s ease}
.favorite-icon:hover{opacity:0.8}
.favorite-icon-img{width:35px;height:35px;display:block;object-fit:contain;filter:brightness(0) invert(1) contrast(3)}

/* When Rider Room is active make the whole viewport gray and remove the stripe overlay */
body.rider-room-active{
  background-color:var(--dt-bg, #0E131A) !important;
}
body.rider-room-active #app{background:var(--dt-bg, #0E131A) !important}
body.rider-room-active::before{display:none}
body.rider-room-active .header-sticky{background:var(--dt-surface, #161D27) !important}
body.rider-room-active .header-sticky .logo-link .h2{color:#ffffff !important}
body.rider-room-active .header-sticky .site-logo{filter:brightness(10)}
body.rider-room-active .header-sticky .nav-link{color:#ffffff !important}
body.rider-room-active .header-sticky .desktop-nav a{color:#ffffff !important}
body.rider-room-active .header-sticky .search-box input{background:#141414;color:#ffffff;border-color:rgba(255,255,255,0.15)}
body.rider-room-active .header-sticky .search-box input::placeholder{color:rgba(255,255,255,0.5)}
body.rider-room-active .header-sticky .desktop-search-bar input{background:#FFFFFF !important;color:#111111 !important;border:1px solid #E0E0E0 !important}
body.rider-room-active .header-sticky .desktop-search-bar input::placeholder{color:#888888 !important}
body.rider-room-active .header-sticky .desktop-search-bar{background:transparent !important;border:none !important}
body.rider-room-active .header-sticky .desktop-search-bar:focus-within{background:transparent !important;border:none !important;box-shadow:none !important}
body.rider-room-active .header-sticky .desktop-search-icon{color:#888888 !important}
body.rider-room-active .header-sticky .desktop-search-results{background:#FFFFFF !important;border:1px solid #E0E0E0 !important;box-shadow:0 4px 16px rgba(0,0,0,0.15) !important}
body.rider-room-active .header-sticky .profile-link{color:#ffffff}
body.rider-room-active .header-sticky .desktop-profile-link{color:#ffffff}
body.rider-room-active .header-sticky .desktop-profile-link svg{stroke:#ffffff}
body.rider-room-active .header-sticky .notification-icon{filter:brightness(0) invert(1) contrast(3) !important}
/* Player dark theme header */
body.player-dark .header-sticky{background:var(--dt-surface, #161D27) !important}
body.player-dark .header-sticky .logo-link .h2{color:#ffffff !important}
body.player-dark .header-sticky .site-logo{filter:brightness(10)}
body.player-dark .header-sticky .desktop-nav a{color:#ffffff !important}
body.player-dark .header-sticky .desktop-profile-link svg{stroke:#ffffff}
body.player-dark .header-sticky .notification-icon{filter:brightness(0) invert(1) contrast(3) !important}
body.player-dark .header-sticky .desktop-search-bar input{background:#FFFFFF !important;color:#111111 !important;border:1px solid #E0E0E0 !important}
body.player-dark .header-sticky .desktop-search-bar input::placeholder{color:#888888 !important}
body.player-dark .header-sticky .desktop-search-bar{background:transparent !important;border:none !important}
body.player-dark .header-sticky .desktop-search-bar:focus-within{background:transparent !important;border:none !important;box-shadow:none !important}
body.player-dark .header-sticky .desktop-search-icon{color:#888888 !important}
body.player-dark .header-sticky .desktop-search-results{background:#FFFFFF !important;border:1px solid #E0E0E0 !important;box-shadow:0 4px 16px rgba(0,0,0,0.15) !important}
body.player-dark{background-color:#1a1a1a !important}
body.player-dark #app{background:transparent !important}
body.player-dark .player-page,
body.player-dark .player-desktop-layout,
body.player-dark .player-main,
body.player-dark .player-video-container,
body.player-dark .player-info-below,
body.player-dark .player-info-content,
body.player-dark .player-sidebar,
body.player-dark .player-info-mobile,
body.player-dark .player-rec-mobile,
body.player-dark .player-info-mobile.card,
body.player-dark .player-rec-mobile.card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* Onboarding modal */
.cyclick-onboarding-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.55);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.cyclick-onboarding-modal{
  background:#FFFFFF;
  border-radius:16px;
  width:480px;
  max-width:90vw;
  overflow:hidden;
  padding:24px 28px 28px;
}
.cyclick-onboarding-progress{
  display:flex;
  gap:6px;
  margin-bottom:24px;
}
.cyclick-onboarding-progress-bar{
  flex:1;
  height:4px;
  border-radius:2px;
  background:#E0E0E0;
}
.cyclick-onboarding-progress-bar.is-active{
  background:var(--blue-base);
}
.cyclick-onboarding-progress-bar.is-complete{
  background:var(--blue-base);
  opacity:0.35;
}
.cyclick-onboarding-brand-block{
  width:100%;
  height:120px;
  border-radius:12px;
  margin-bottom:20px;
  background:#0056A3;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cyclick-onboarding-brand-text{
  font-size:28px;
  font-weight:500;
  color:#FFFFFF;
  letter-spacing:0.08em;
}
.cyclick-onboarding-eyebrow{
  font-size:11px;
  color:var(--blue-base);
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:10px;
}
.cyclick-onboarding-title{
  margin:0 0 10px;
  font-size:24px;
  font-weight:500;
  color:#111111;
  line-height:1.25;
}
.cyclick-onboarding-body{
  margin:0 0 24px;
  font-size:14px;
  color:#666666;
  line-height:1.65;
}
.cyclick-onboarding-actions{
  display:flex;
  align-items:center;
}
.cyclick-onboarding-actions-between{
  justify-content:space-between;
}
.cyclick-onboarding-actions-stack{
  flex-direction:column;
  align-items:stretch;
  gap:10px;
}
.cyclick-onboarding-btn-link{
  border:none;
  background:none;
  padding:0;
  font-size:13px;
  color:#888888;
  cursor:pointer;
}
.cyclick-onboarding-btn-primary{
  border:none;
  background:var(--blue-base);
  color:#FFFFFF;
  font-size:14px;
  font-weight:500;
  padding:11px 28px;
  border-radius:8px;
  cursor:pointer;
}
.cyclick-onboarding-btn-secondary{
  border:1px solid #D3DCE8;
  background:#FFFFFF;
  color:#1E2B3A;
  font-size:14px;
  font-weight:500;
  padding:11px 28px;
  border-radius:8px;
  cursor:pointer;
}
.cyclick-onboarding-actions-stack .cyclick-onboarding-btn-link{
  text-align:center;
  font-size:13px;
  margin-top:2px;
}
.cyclick-onboarding-auth-form{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:14px;
}
.cyclick-onboarding-auth-label{
  font-size:12px;
  font-weight:600;
  color:#3A4A5E;
}
.cyclick-onboarding-auth-input{
  border:1px solid #D7DEE8;
  border-radius:8px;
  padding:10px 12px;
  font-size:14px;
  color:#111111;
  background:#FFFFFF;
}
.cyclick-onboarding-auth-input:focus{
  outline:none;
  border-color:#0056A3;
  box-shadow:0 0 0 3px rgba(0, 86, 163, 0.12);
}
.cyclick-onboarding-auth-error{
  margin-bottom:14px;
  font-size:12px;
  font-weight:500;
  color:#C33F3F;
}
.cyclick-onboarding-btn-yellow{
  border:none;
  background:#F5C400;
  color:#2C2200;
  font-size:14px;
  font-weight:500;
  padding:11px 28px;
  border-radius:8px;
  cursor:pointer;
}
.cyclick-onboarding-btn-yellow:disabled{
  opacity:0.45;
  cursor:not-allowed;
}
.cyclick-onboarding-legal{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:18px;
}
.cyclick-onboarding-legal-checkbox{
  width:16px;
  height:16px;
  margin-top:2px;
  flex-shrink:0;
}
.cyclick-onboarding-legal-copy{
  font-size:12px;
  line-height:1.55;
  color:#666666;
}
.cyclick-onboarding-legal-link{
  border:none;
  background:none;
  padding:0;
  color:#0056A3;
  font-size:12px;
  font-weight:600;
  text-decoration:underline;
  cursor:pointer;
}
.cyclick-onboarding-legal-link:hover{
  color:#004080;
}
.cyclick-onboarding-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:24px;
}
.cyclick-onboarding-pill{
  border:1px solid #E0E0E0;
  background:#FFFFFF;
  color:#666666;
  border-radius:999px;
  padding:9px 18px;
  font-size:13px;
  cursor:pointer;
}
.cyclick-onboarding-pill.is-selected{
  border-color:var(--blue-base);
  background:#E8EFFE;
  color:var(--blue-base);
  font-weight:500;
}
.cyclick-onboarding-sections-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-bottom:24px;
}
.cyclick-onboarding-section-pill{
  border:1px solid #E0E0E0;
  background:#FFFFFF;
  color:#666666;
  border-radius:8px;
  padding:10px 14px;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
}
.cyclick-onboarding-section-pill img{
  width:18px;
  height:18px;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%);
}
.cyclick-onboarding-section-pill.is-selected{
  border-color:var(--blue-base);
  background:#E8EFFE;
  color:var(--blue-base);
  font-weight:500;
}
.cyclick-onboarding-tour-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:24px;
}
.cyclick-onboarding-tour-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.cyclick-onboarding-tour-icon-wrap{
  width:40px;
  height:40px;
  border-radius:10px;
  background:#E8EFFE;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.cyclick-onboarding-tour-icon-wrap.is-yellow{
  background:#FFF8E1;
}
.cyclick-onboarding-tour-title{
  font-size:14px;
  font-weight:500;
  color:#111111;
  line-height:1.3;
}
.cyclick-onboarding-tour-desc{
  margin-top:3px;
  font-size:12px;
  color:#666666;
  line-height:1.5;
}
/* make header logo match title size */
.logo-link .site-logo{height:28px;width:auto;display:block;filter:brightness(1.3)}
@media(min-width:768px){.logo-link .site-logo{height:38px}}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);border:1px solid rgba(255,255,255,0.03);border-radius:var(--radius);overflow:hidden;} 
.card-image{border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;background-size:cover;background-position:center;}
.card-image,
.home-carousel-card,
.card-large{box-shadow:inset 0 -70px 90px rgba(0,0,0,0.35)}
.hero{padding:86px 24px 78px 24px;border-radius:16px;margin-bottom:38px;background:linear-gradient(180deg, rgba(0,0,0,0.2), rgba(0,0,0,0.3));}
.h1-hero{font-weight:800;font-size:1.6rem;letter-spacing:-0.02em;color:var(--text)}
.small-muted{color:var(--muted);font-size:0.92rem}
.section-scroll{display:flex;gap:12px;overflow:auto;padding-bottom:6px}
.section-pill{min-width:110px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.02);text-align:center;cursor:pointer;transition:all 0.2s ease}
.section-pill:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1)}
.section-pill[data-nav]{text-decoration:none;color:inherit;display:inline-block}
.feature-card{display:flex;gap:14px;align-items:center;padding:14px}
.feature-thumb{width:90px;height:60px;border-radius:10px;background:linear-gradient(90deg,#0f0f0f,#141414)}
/* Progress bars */
.progress-line{height:4px;border-radius:999px;background:rgba(0,0,0,0.12);margin-top:8px;overflow:hidden}
.progress-line-fill{height:100%;background:var(--blue-deep)}
#home-resume-content .fw-bold{font-size:15px;font-weight:700;line-height:1.2}
#home-resume-content .small-muted{font-size:13px;font-weight:500;line-height:1.2}
#home-resume-content .progress-line{height:2px;margin-top:6px}
.continue-block{
  margin:24px 0 28px;
}
.progress-bar{
  height:4px;
  border-radius:4px;
}
.header{
  border-bottom:1px solid rgba(0,0,0,0.04);
}
/* Secciones page */
.sections-page{padding-top:10px;padding-bottom:20px}
.sections-page-title{font-size:38px;line-height:1.15;font-weight:800;letter-spacing:-0.01em;color:#111111;margin:0}
.sections-page-subtitle{margin-top:8px;font-size:16px;line-height:1.4;font-weight:500;color:#666666;max-width:640px}

#explore-search{
  height:44px;
  border-radius:8px;
  border:1px solid #E0E0E0 !important;
  background-color:#FFFFFF !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:14px center;
  background-size:18px 18px;
  padding-left:42px;
  color:#111111 !important;
  box-shadow:none;
}

#explore-search::placeholder{color:#9AA4B2 !important;opacity:1}
#explore-search:focus{border-color:#0056A3 !important;box-shadow:none !important;outline:none !important}

#explore-search-popup{
  margin-top:4px;
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:10px;
  box-shadow:none !important;
  overflow:hidden;
}

#explore-search-popup .result-row{
  height:72px;
  padding:0 20px;
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  border-bottom:1px solid #F0F0F0;
}

#explore-search-popup .result-row:last-child{border-bottom:none}
#explore-search-popup .result-row:hover{background:#F5F5F5}
#explore-search-popup .result-thumb{width:52px;height:52px;border-radius:8px;object-fit:cover;display:block;flex:0 0 52px}
#explore-search-popup .result-copy{flex:1;min-width:0}
#explore-search-popup .result-title{font-size:14px;line-height:1.2;font-weight:500;color:#111111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;margin-bottom:3px}
#explore-search-popup .result-section{margin-top:0;font-size:12px;line-height:1.2;font-weight:500;color:#0056A3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#explore-search-popup .result-arrow{color:#CCCCCC;font-size:14px;line-height:1;flex:0 0 auto}

#explore-grid{
  display:grid !important;
  grid-template-columns:1fr;
  gap:24px;
  margin:0 !important;
  align-items:stretch;
}

.explore-section-card{
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:390px;
  height:100%;
  border-radius:12px;
  border:1px solid #E4E8F0;
  background:#FFFFFF;
  overflow:hidden;
  cursor:pointer;
  transition:border-color 0.18s ease, box-shadow 0.18s ease;
}

.explore-section-card:hover{border-color:#C6D2EC;box-shadow:0 10px 24px rgba(17,17,17,0.06)}
.explore-section-card:focus-visible{outline:2px solid #0056A3;outline-offset:2px}

.explore-section-card-image{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* Overlay "EN DESARROLLO" para secciones sin videos (Hector, 2026-09-09) —
   en tablet/desktop solo cubre el thumbnail (mismo aspect-ratio 1:1 que la
   imagen), dejando visible el título/descripción debajo. En mobile
   (≤768px) sections-mobile.css pisa esto y cubre la tarjeta completa —
   comportamiento previo sin cambios ahí, solo se actualizó el texto. */
.explore-section-card--upcoming{position:relative}
.explore-section-card-upcoming{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  aspect-ratio:1 / 1;
  background:rgba(0,0,0,0.7);
  border-radius:12px 12px 0 0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:14px;
  font-weight:600;
  color:#FFFFFF;
  letter-spacing:0.04em;
  text-transform:uppercase;
  pointer-events:none;
}

.explore-section-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.explore-section-card-title{margin:0;font-size:20px;line-height:1.2;font-weight:700;color:#111111}
.explore-section-card-desc{margin:0;font-size:14px;line-height:1.45;font-weight:500;color:#666666;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.explore-section-card-count{margin:0;margin-top:6px;font-size:11px;line-height:1.3;font-weight:500;color:#888888;text-decoration:none}
.explore-section-card-divider{height:1px;background:#E4E8F0;margin:0 16px}

.explore-section-card-expert{display:flex;align-items:center;gap:10px;padding:12px 16px 16px}
.explore-section-expert-avatar{width:32px;height:32px;border-radius:999px;background:#E6EEF5;color:#0056A3;font-size:12px;line-height:32px;text-align:center;font-weight:500;letter-spacing:0.02em;flex:0 0 32px}
.explore-section-expert-copy{display:flex;flex-direction:column;min-width:0}
.explore-section-expert-name{font-size:14px;line-height:1.2;font-weight:600;color:#111111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.explore-section-expert-role{font-size:13px;line-height:1.2;font-weight:500;color:#666666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(min-width:768px){
  #explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(min-width:1024px){
  #explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .explore-section-card{min-height:350px}
  .explore-section-card-divider{display:none}
  .explore-section-card-expert{display:none}
}
/* Home carousel */
.home-carousel{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.home-carousel::-webkit-scrollbar{display:none}
.home-carousel-card{width:clamp(280px, 82vw, 360px);min-width:clamp(280px, 82vw, 360px);max-width:clamp(280px, 82vw, 360px);height:210px;background-size:cover;background-position:center;position:relative;overflow:hidden;cursor:pointer;scroll-snap-align:start;flex-shrink:0;border-radius:16px;margin:0 8px;box-shadow:none}
.home-carousel-card:first-child{margin-left:16px}
.home-carousel-card:last-child{margin-right:16px}
.home-carousel-card *{border-radius:inherit}
.home-carousel-body{position:absolute;left:0;right:0;bottom:0;padding:16px 20px;background:linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.9))}
.home-carousel-title{font-size:18px;font-weight:800;line-height:1.15;color:#ffffff}
.home-carousel-section{margin-top:2px;font-size:12px;font-weight:600;letter-spacing:0.3px;line-height:1.2;color:rgba(255,255,255,0.9)}
.home-carousel-duration{position:absolute;top:12px;left:12px;background:rgba(0,0,0,0.75);color:#ffffff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:0.3px}
.carousel-dots{display:flex;justify-content:center;gap:6px;padding:8px 0}
.carousel-dot{width:6px;height:6px;border-radius:50%;background:rgba(15,27,45,0.2);cursor:pointer;transition:all 0.3s ease}
.carousel-dot.active{background:rgba(15,27,45,0.45);width:7px;height:7px}

.rider-room-banner{position:relative;display:block;width:100vw;height:clamp(225px, 32.5vw, 325px);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;box-sizing:border-box;overflow:hidden;text-decoration:none;background-image:url('../img/placeholders/FullSizeRender.jpeg');background-size:cover;background-position:95% 40%;box-shadow:none;transform:scaleX(-1)}
.rider-room-banner-heading{margin-bottom:8px;font-size:1.5rem;font-weight:800;line-height:1.15;color:#0b0b0b}
.rider-room-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg, #141414 0%, rgba(20,20,20,0) 22%), linear-gradient(180deg, rgba(0,0,0,0.02) 0%, rgba(0,0,0,0.68) 100%)}
.rider-room-banner > *{transform:scaleX(-1)}
.rider-room-banner__title{position:absolute;top:14px;right:24px;z-index:2;font-size:1.5rem;font-weight:800;line-height:1.15;color:#ffffff;text-shadow:0 2px 8px rgba(0,0,0,0.35)}
.rider-room-banner__premium{position:absolute;top:50px;right:24px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:11px;font-family:'Poppins', sans-serif;font-weight:400;letter-spacing:0.5px;line-height:1;color:#ffffff;background:rgba(10,10,10,0.42);border:1px solid rgba(255,255,255,0.2)}
.rider-room-banner__content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-top:12px;padding-left:clamp(24px, calc((100vw - var(--max-width)) / 2 + 24px), 240px);padding-right:clamp(24px, calc((100vw - var(--max-width)) / 2 + 24px), 240px);padding-bottom:20px;color:#ffffff}
.rider-room-banner__subtitle{margin-top:3px;font-size:14px;line-height:1.2;font-weight:600;color:rgba(255,255,255,0.9);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-width:68%}
.rider-room-banner__cta{position:absolute;right:clamp(24px, calc((100vw - var(--max-width)) / 2 + 24px), 240px);bottom:20px;display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:18px;font-size:14px;font-weight:800;line-height:1;color:#0b0b0b;background:var(--accent);transition:transform 0.16s ease, filter 0.16s ease}
.rider-room-banner:hover .rider-room-banner__cta{filter:brightness(0.96)}
.rider-room-banner:active .rider-room-banner__cta{transform:translateY(1px) scale(0.985);filter:brightness(0.92)}
.rider-room-banner:focus-visible{outline:2px solid #ffffff;outline-offset:2px}

.home-blog-strip{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:transparent;padding:22px clamp(24px, calc((100vw - var(--max-width)) / 2 + 24px), 240px);color:#0b0b0b}
.home-blog-strip__title{font-size:18px;font-weight:800;line-height:1.15;color:#0b0b0b}
.home-blog-strip__subtitle{margin-top:4px;font-size:13px;font-weight:600;line-height:1.25;color:rgba(11,11,11,0.72)}
.home-blog-strip__cta{margin-top:8px;font-size:13px;font-weight:700;line-height:1.2;color:#0b0b0b}

/* ===== HOME PAGE DESKTOP (más respiración) ===== */
@media(min-width:768px){
  /* Espaciado vertical entre bloques */
  body.home-active .container.mt-4{margin-top:10px !important}
  body.home-active .container.mt-2{margin-top:24px !important}
  body.home-active #home-quick-section{margin-top:48px !important}
  body.home-active #home-resume-section{margin-top:48px !important;margin-bottom:56px !important}

  /* Continue block - más padding y aire */
  .continue-block{padding:24px 0 32px;margin:0}
  #home-resume-content{padding:16px 24px;background:#fff;border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,0.05)}

  /* Quick section cards - menos gap, más anchas */
  #home-quick-section .row.g-3{--bs-gutter-x:12px;--bs-gutter-y:12px}
  #home-quick-section .col-6{flex:0 0 calc(50% - 6px);max-width:calc(50% - 6px)}
  #home-quick-section .card{border-radius:14px}
  #home-quick-section .card-image{border-radius:14px;aspect-ratio:16/8 !important}
  #home-quick-section{margin-bottom:68px !important}

  /* Más aire entre título y cards */
  body.home-active .h5.mb-0{margin-bottom:16px !important}
  body.home-active .mb-2{margin-bottom:16px !important}
  body.home-active .mb-3{margin-bottom:20px !important}

  /* Carousel con más espacio */
  .home-carousel{padding:8px 0}
  .home-carousel-card{width:clamp(320px, 45vw, 420px);min-width:clamp(320px, 45vw, 420px);max-width:clamp(320px, 45vw, 420px);height:230px}

  /* Analysis block con más respiración */
  .analysis-block{margin:48px 40px 40px}

  /* Explore sections con padding lateral */
  .explore-sections-block{margin:48px 28px 48px;padding:16px 0 20px}
  .explore-sections-title{margin-bottom:24px}
  .explore-sections-row{padding:8px 28px 8px;width:calc(100% + 56px);margin-left:-28px;margin-right:-28px;scroll-padding-left:28px;gap:24px}

  /* Blog strip - contenido dentro del frame */
  .home-blog-strip{
    margin-top:80px !important;
    padding-top:24px;
    padding-bottom:24px;
    width:100%;
    margin-left:0;
    margin-right:0;
    border-radius:16px;
    background:#f8f9fa;
    padding-left:24px;
    padding-right:24px;
  }

  /* Rider Room banner - contenido dentro del frame */
  body.home-active .rider-room-banner{
    margin-top:68px;
    height:clamp(200px, 28vw, 280px);
    width:100%;
    margin-left:0;
    margin-right:0;
    border-radius:20px;
  }
  body.home-active .rider-room-banner::before{
    background:linear-gradient(0deg, #141414 0%, rgba(20,20,20,0) 15%), linear-gradient(180deg, rgba(0,0,0,0.02) 0%, rgba(0,0,0,0.55) 100%);
    border-radius:20px;
  }

  /* Carousel dentro del frame */
  .home-carousel{margin-left:-32px;margin-right:-32px;width:calc(100% + 64px)}
  .home-carousel-card:first-child{margin-left:32px}
  .home-carousel-card:last-child{margin-right:32px}

  /* ===== CARD HOVER EFFECTS (desktop) ===== */
  /* Carousel cards */
  .home-carousel-card{transition:transform 0.25s ease, box-shadow 0.25s ease}
  .home-carousel-card:hover{transform:scale(1.02);box-shadow:none}
  .home-carousel-card .home-carousel-body{transition:background 0.25s ease}
  .home-carousel-card:hover .home-carousel-body{background:linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.95))}
  .home-carousel-card .home-carousel-title{transition:transform 0.25s ease}
  .home-carousel-card:hover .home-carousel-title{transform:translateY(-2px)}

  /* Quick section cards */
  body.home-active .card.tap-card{transition:transform 0.25s ease, box-shadow 0.25s ease}
  body.home-active .card.tap-card:hover{transform:scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,0.12)}
  body.home-active .card.tap-card .card-image > div:last-child{transition:background 0.25s ease}
  body.home-active .card.tap-card:hover .card-image > div:last-child{background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.85)) !important}
  body.home-active .card.tap-card .fw-bold{transition:transform 0.25s ease}
  body.home-active .card.tap-card:hover .fw-bold{transform:translateY(-2px)}

  /* Analysis card */
  .analysis-card{transition:transform 0.25s ease, box-shadow 0.25s ease}
  .analysis-card:hover{transform:scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,0.12)}
  .analysis-card .analysis-video-title{transition:transform 0.25s ease}
  .analysis-card:hover .analysis-video-title{transform:translateY(-2px)}

  /* Analysis block - más compacto y mejor jerarquía */
  .analysis-block{padding:18px 22px;background:#fff;border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,0.06)}
  .analysis-label{font-size:11px;margin-bottom:8px}
  .analysis-question{font-size:20px;margin:6px 0 12px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .analysis-card{padding:6px;border-radius:14px}
  .analysis-thumb{height:80px;width:130px;flex:0 0 130px;border-radius:12px}
  .analysis-meta{padding:12px 16px}
  .analysis-video-title{font-size:16px;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .analysis-video-sub{font-size:12px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

  /* Explore chips */
  .explore-chip{transition:transform 0.25s ease, box-shadow 0.25s ease}
  .explore-chip:hover{transform:scale(1.02);box-shadow:0 12px 32px rgba(0,0,0,0.1)}

  /* Explore sections dentro del frame */
  body.home-active .explore-sections-block{
    box-shadow:none;
    clip-path:none;
    border-radius:16px;
    margin-left:0;
    margin-right:0;
  }

  /* Large desktop adjustments */
  body.home-active .container.mt-4{margin-top:10px !important}
  body.home-active #home-quick-section{margin-top:64px !important}
  body.home-active #home-resume-section{margin-top:64px !important;margin-bottom:64px !important}
  .analysis-block{margin:56px 0 48px}
  .explore-sections-block{margin:56px 0 56px}
  .explore-sections-row{padding:8px 0;width:100%;margin-left:0;margin-right:0;scroll-padding-left:0;gap:24px}
}
@media(min-width:1400px){
  .home-carousel{margin-left:-40px;margin-right:-40px;width:calc(100% + 80px)}
  .home-carousel-card:first-child{margin-left:40px}
  .home-carousel-card:last-child{margin-right:40px}
  .analysis-block{margin:64px 0 56px}
  .explore-sections-block{margin:64px 0 64px}
  #home-resume-content{padding:20px 28px}
  .home-blog-strip{padding-left:40px;padding-right:40px}
}

/* ===== HOME WEB 2-COLUMN LAYOUT ===== */
.home-web-layout{display:none}
.home-mobile-layout{display:block}

@media(min-width:1024px){
  .home-mobile-layout{display:none !important}
  .home-web-layout{display:block !important;background:#F5F5F5;padding:50px 0;min-height:100vh;}
  
  /* Container - Changed to CSS Grid */
  .home-web-container{max-width:1400px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
  
  /* Main Column */
  .home-main{min-width:0}
  
  /* Sidebar - No sticky, natural flow */
  .home-sidebar{align-self:start;padding-top:0}
  
  /* Titles */
  .section-title{font-size:1.1rem;font-weight:700;color:#0F1B2D;margin:0 0 20px;letter-spacing:-0.3px}
  .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
  .section-link{font-size:0.9rem;font-weight:600;color:var(--blue-base);text-decoration:none;white-space:nowrap}
  .section-link:hover{text-decoration:underline}
  .web-big-title{font-size:1.6rem;font-weight:800;color:#0F1B2D;margin:0 0 16px;letter-spacing:-0.5px;display:inline-flex;align-items:center;gap:10px}
  .web-big-title::before{content:'';display:block;width:4px;height:22px;border-radius:2px;background:#0056A3;flex-shrink:0}
  
  /* ========== HERO ========== */
  .web-hero-full{margin-bottom:36px}
  .web-hero-full .hero-feature-card{display:flex;flex-direction:column;position:relative;width:100%;border-radius:16px;overflow:hidden;background-color:#fff;border:0.5px solid #E0E0E0;text-decoration:none;height:auto !important}
  .web-hero-full .hero-feature-card::before{content:'';display:block;width:100%;aspect-ratio:16/9;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;flex:0 0 auto}
  .web-hero-full .hero-feature-content{position:relative;flex:1 0 auto;min-height:92px;padding:14px 16px 12px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
  /* Orden fijo en toda la app (Hector, 2026-09-08): sección → título →
     fecha (badge premium a la derecha, solo si aplica). DOM y visual van en
     ese mismo orden ahora — ya no se usa `order` para reacomodar. font-size
     de .hero-cat más grande que .hero-cat-sm (13px vs 11px) a propósito: la
     tarjeta hero es mucho más grande, el texto de sección debe escalar
     junto con el título en vez de quedarse fijo. */
  .web-hero-full .hero-feature-card .hero-cat{position:static !important;display:block !important;background:none !important;color:#0056A3 !important;font-size:13px !important;font-weight:400 !important;padding:0 !important;border-radius:0 !important;border:0 !important;text-transform:none !important;letter-spacing:normal !important;margin:0 !important;line-height:1.2 !important}
  .web-hero-full .hero-feature-card .hero-title{position:static;font-size:1.8rem;font-weight:700;color:#111;line-height:1.2;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  /* align-self:stretch es necesario porque .hero-feature-content usa
     align-items:flex-start (para que el título/sección no se estiren) —
     sin esto .hero-date-row solo mide el ancho de su contenido y el
     margin-left:auto del badge no tiene a dónde empujar (se quedaba pegado
     junto a la fecha en vez de ir al borde derecho de la card, reportado
     por Hector, 2026-09-08). */
  .web-hero-full .hero-feature-card .hero-date-row{display:flex;align-items:center;gap:8px;margin:6px 0 0;align-self:stretch}
  .web-hero-full .hero-feature-card .hero-date{font-size:13px;color:#888888;line-height:1.2}
  .web-hero-full .hero-feature-card .hero-duration{position:absolute;top:-29px;right:8px;display:inline-block;background:rgba(0,0,0,0.80);color:#fff;font-size:13px;font-weight:600;padding:4px 8px;border-radius:4px;line-height:1;margin:0;z-index:2}
  
  /* Secondary Cards Row (16:9) */
  /* 2026-09-03: en escritorio siguen siendo solo 3 (sin cambios); las 2
     tarjetas extra de abajo son solo para el carrusel movil (ver home-mobile.css). */
  .web-hero-secondary-row .hero-secondary-card.mobile-only-card{display:none}
  .web-hero-secondary-row{display:flex;gap:20px;margin-bottom:36px}
  .web-hero-secondary-row .hero-secondary-card{flex:1;display:flex;flex-direction:column;position:relative;border-radius:10px;overflow:hidden;background-color:#fff;text-decoration:none;border:0.5px solid #E0E0E0;height:auto !important}
  .web-hero-secondary-row .hero-secondary-card::before{content:'';display:block;width:100%;aspect-ratio:16/9;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;flex:0 0 auto}
  .web-hero-secondary-row .hero-secondary-card .hero-secondary-content{position:relative;left:auto;right:auto;bottom:auto;flex:1 0 auto;min-height:58px;padding:10px 12px 11px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
  .web-hero-secondary-row .hero-secondary-card .hero-cat-sm{position:static !important;display:block !important;background:none !important;color:#0056A3 !important;font-size:11px !important;font-weight:400 !important;padding:0 !important;border-radius:0 !important;border:0 !important;text-transform:none !important;letter-spacing:normal !important;margin:0 !important;line-height:1.2 !important}
  .web-hero-secondary-row .hero-secondary-card .hero-title-sm{position:static;font-size:13px;font-weight:500;color:#111;line-height:1.35;margin:3px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .web-hero-secondary-row .hero-secondary-card .hero-date-row{display:flex;align-items:center;gap:8px;margin:4px 0 0;align-self:stretch}
  .web-hero-secondary-row .hero-secondary-card .hero-date-sm{font-size:11px;color:#888888;line-height:1.2}
  .web-hero-secondary-row .hero-secondary-card .hero-duration-sm{position:absolute;top:-29px;right:8px;display:inline-block;background:rgba(0,0,0,0.80);color:#fff;font-size:13px;font-weight:600;padding:4px 8px;border-radius:4px;line-height:1;margin:0;z-index:2}
  /* Badge premium de "Recomendado para ti" (Hector, 2026-09-08) — mismo
     .section-video-badge-premium que el resto del sitio, empujado a la
     derecha dentro de la fila de fecha (grande y chica comparten regla). */
  .hero-date-row .section-video-badge-premium{margin-left:auto}

  /* Hover Effects */
  .web-hero-full .hero-feature-card,.web-hero-secondary-row .hero-secondary-card{transition:transform 0.25s ease, box-shadow 0.25s ease}
  .web-hero-full .hero-feature-card:hover{transform:scale(1.005);box-shadow:0 16px 48px rgba(0,0,0,0.15)}
  .web-hero-secondary-row .hero-secondary-card:hover{transform:scale(1.015);box-shadow:0 4px 12px rgba(0,0,0,0.08)}
  
  /* Premium Banner (main column) */
  .web-premium-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);border-radius:14px;padding:24px 28px;margin-bottom:64px;position:relative;overflow:hidden}
  .web-premium-banner::before{content:'';position:absolute;top:-50%;right:-10%;width:200px;height:200px;background:radial-gradient(circle, rgba(255,249,0,0.12) 0%, transparent 70%);pointer-events:none}
  .premium-banner-content{flex:1}
  .premium-banner-title{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 6px}
  .premium-banner-text{font-size:0.85rem;color:rgba(255,255,255,0.6);margin:0;line-height:1.4}
  .premium-banner-btn{padding:14px 28px;background:var(--accent);color:#0a0a0a;border:none;border-radius:8px;font-size:0.9rem;font-weight:700;cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease;white-space:nowrap}
  .premium-banner-btn:hover{transform:scale(1.03);box-shadow:0 6px 20px rgba(255,249,0,0.25)}
  
  /* ========== ANALYSIS ========== */
  .web-analysis{margin-bottom:28px;opacity:0;transform:translateY(8px);transition:opacity 0.2s ease, transform 0.2s ease}
  .web-analysis.in-view{opacity:1;transform:translateY(0)}
  .analysis-card{display:flex;align-items:center;gap:16px;background:#fff;border-radius:10px;padding:16px 20px;text-decoration:none;color:inherit;box-shadow:0 2px 8px rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.05);transition:transform 0.2s ease, box-shadow 0.2s ease}
  .analysis-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.08)}
  .analysis-badge{white-space:nowrap;font-size:9px;font-weight:700;color:var(--blue-base);text-transform:uppercase;letter-spacing:0.5px;padding:5px 10px;background:rgba(0,134,255,0.08);border-radius:20px}
  .analysis-body{flex:1;min-width:0}
  .analysis-title{font-size:0.95rem;font-weight:700;color:#0F1B2D;margin:0 0 4px;line-height:1.3}
  .analysis-desc{font-size:0.8rem;color:#777;margin:0;line-height:1.4}
  .analysis-link{font-size:0.82rem;font-weight:600;color:var(--blue-base);white-space:nowrap}
  
  /* ========== QUESTION OF THE WEEK ========== */
  .web-question{margin-bottom:36px;opacity:0;transform:translateY(8px);transition:opacity 0.2s ease, transform 0.2s ease}
  .web-question.in-view{opacity:1;transform:translateY(0)}
  .question-label{font-size:1.1rem;font-weight:700;color:#0F1B2D;margin:0 0 14px;letter-spacing:-0.3px}
  .question-layout{display:grid;grid-template-columns:1fr;gap:24px}
  .question-side-container{display:flex;flex-direction:column;gap:14px}
  .question-side-title-header{font-size:0.85rem;font-weight:700;color:#0F1B2D;margin:0;letter-spacing:-0.2px}
  .question-side-list{display:flex;flex-direction:column;gap:12px}
  .question-side-item{display:flex;flex-direction:column;gap:4px;padding:12px 0;text-decoration:none;color:inherit;border-bottom:1px solid rgba(0,0,0,0.06);transition:padding-left 0.2s ease}
  .question-side-item:last-child{border-bottom:none}
  .question-side-item:hover{padding-left:8px}
  .question-side-title{font-size:0.88rem;font-weight:600;color:#0F1B2D;line-height:1.3}
  .question-side-sub{font-size:0.75rem;color:#777;line-height:1.3}
  .question-side-cta{font-size:0.78rem;font-weight:600;color:var(--blue-base)}
  .question-card{display:flex;flex-direction:column;background:#fff;border-radius:12px;padding:18px;text-decoration:none;color:inherit;box-shadow:0 2px 8px rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.05);transition:transform 0.2s ease, box-shadow 0.2s ease}
  .question-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.08)}
  .question-card-main{min-height:auto;height:auto}
  .question-thumb{width:100%;aspect-ratio:16/9;border-radius:10px;background-size:cover;background-position:center;position:relative}
  .question-duration{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.7);color:#fff;font-size:10px;font-weight:600;padding:3px 6px;border-radius:4px}
  .question-body{flex:1;display:flex;flex-direction:column;min-width:0}
  .question-title{font-size:1rem;font-weight:700;color:#0F1B2D;margin:0 0 10px;line-height:1.3}
  .question-bullets{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:3px}
  .question-bullets li{font-size:0.78rem;color:#666;padding-left:14px;position:relative}
  .question-bullets li::before{content:"•";position:absolute;left:0;color:var(--blue-base)}
  .question-cta{font-size:0.8rem;font-weight:600;color:var(--blue-base);margin-top:auto}
  .analysis-inline-banner{margin-top:16px;display:flex;align-items:center;gap:10px;padding:8px 0;text-decoration:none;color:inherit;border-bottom:1px solid rgba(0,0,0,0.06);transition:padding-left 0.15s ease}
  .analysis-inline-banner:hover{padding-left:8px}
  .analysis-inline-kicker{font-size:0.72rem;font-weight:700;color:var(--blue-base);text-transform:uppercase;letter-spacing:0.3px;white-space:nowrap}
  .analysis-inline-title{font-size:0.88rem;font-weight:600;color:#0F1B2D;line-height:1.3;flex:1;min-width:0}
  .analysis-inline-link{font-size:0.78rem;font-weight:600;color:var(--blue-base);white-space:nowrap}

  @media(min-width:1024px){
    .question-layout{grid-template-columns:2fr 1fr;gap:24px}
  }

  /* ========== SIDEBAR ========== */
  .home-sidebar{display:flex;flex-direction:column;gap:24px}
  .home-sidebar > *{margin-bottom:0}
  
  /* Premium Widget */
  .sidebar-premium{background:linear-gradient(145deg, #0a0a0a 0%, #1a1a1a 100%);color:#fff;border-radius:14px;padding:24px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
  .sidebar-premium::before{content:'';position:absolute;top:-30%;right:-20%;width:100px;height:100px;background:radial-gradient(circle, rgba(255,249,0,0.15) 0%, transparent 70%);pointer-events:none}
  .sidebar-premium .sidebar-title{color:#fff;margin-bottom:12px;font-size:1rem}
  .premium-text{font-size:0.85rem;color:rgba(255,255,255,0.65);line-height:1.5;margin:0 0 8px}
  .premium-text-sm{font-size:0.75rem;color:rgba(255,255,255,0.45);margin:0 0 18px}
  .premium-btn{width:100%;padding:14px;background:var(--accent);color:#0a0a0a;border:none;border-radius:8px;font-size:0.9rem;font-weight:700;cursor:pointer;transition:transform 0.15s ease, filter 0.15s ease}
  .premium-btn:hover{filter:brightness(1.05)}
  .premium-btn:active{transform:scale(0.98)}
  .sidebar-premium.unsticky{position:static;top:auto}

  /* ========== RIDER CLIPS PANEL ========== */
  .rider-clips-panel{background:transparent;border-radius:0;padding:0;box-shadow:none}
  /* Hector, 2026-09-10: sin clips subidos, el panel entero se oculta (ver
     renderHomeClips() en app.js) — !important porque alignHomeClipsPanel()
     también pone estilo inline (height) en este mismo elemento; con clase
     en vez de tocar display inline directo, no se pisan entre sí.
     Selector con .home-web-layout (3 clases) a propósito, no solo 2 — hay
     una regla en home-mobile.css (@media min-width:1024px) que fuerza
     display:block!important con la MISMA especificidad que una versión de
     2 clases tendría, y esa hoja se carga DESPUÉS de esta en el <head> —
     con la misma especificidad, gana la última cargada. Con 3 clases aquí
     se le gana sin depender del orden de las hojas. */
  .home-web-layout .rider-clips-panel.rider-clips-panel-empty{display:none !important}
  .panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
  .panel-title{font-size:0.95rem;font-weight:700;color:#0F1B2D;margin:0}
  .panel-subtitle{font-size:0.75rem;color:rgba(15,27,45,0.55);margin:4px 0 0}
  .panel-link{font-size:0.75rem;font-weight:600;color:var(--blue-base);text-decoration:none;white-space:nowrap}
  .panel-link:hover{text-decoration:underline}

  .clips-container{position:relative;aspect-ratio:9/16}
  .clips-viewport{position:relative;overflow:hidden;border-radius:16px;width:100%;height:100%}
  .clips-track{display:flex;transition:transform 0.3s ease}
  .clip-card{position:relative;flex:0 0 100%;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#111;cursor:pointer}
  .clip-card:not(.is-active){pointer-events:none}

  .clip-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

  .clip-badge{position:absolute;top:10px;right:10px;background:rgba(0,0,0,0.6);color:#fff;font-size:0.65rem;font-weight:700;letter-spacing:0.5px;padding:4px 8px;border-radius:4px;border:1px solid rgba(255,249,0,0.5)}
  .clip-top-title{position:absolute;top:10px;left:10px;color:#fff;font-size:1.08rem;font-weight:700;letter-spacing:0.3px;text-shadow:0 1px 3px rgba(0,0,0,0.45);z-index:9}

  .clip-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 12px 12px;background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 100%);display:flex;flex-direction:column;gap:2px}
  .clip-title{font-size:0.82rem;font-weight:600;color:#fff;line-height:1.3}
  .clip-desc{font-size:0.72rem;color:rgba(255,255,255,0.75)}
  .clip-duration{font-size:0.68rem;color:rgba(255,255,255,0.55);margin-top:4px}

  .clip-cta{position:absolute;bottom:12px;left:12px;right:12px;background:var(--accent);color:#0a0a0a;border:none;border-radius:20px;padding:8px 12px;font-size:0.72rem;font-weight:700;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity 0.2s ease, transform 0.2s ease}
  .clip-card:hover .clip-cta{opacity:1;transform:translateY(0)}

  .clip-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,0.15);background:rgba(255,255,255,0.95);color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:background 0.15s ease, transform 0.15s ease, opacity 0.2s ease;z-index:999;opacity:0;visibility:hidden}
  .clip-nav-prev{left:8px}
  .clip-nav-next{right:8px}
  .clips-container.show-arrows .clip-nav-arrow{opacity:1;visibility:visible}
  .clip-nav-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.05)}

  /* Hector, 2026-09-11: flechas para CUALQUIER carrusel que desborde en
     escritorio (Nuevo en Cyclick, The Rider Room, Mejora en 5 minutos,
     Secciones...) — mismo botón circular que ya usan los Clips arriba,
     agregado por JS (ver ensureCarouselArrows() en app.js). */
  .cyx-carousel-wrap{position:relative}
  .cyx-carousel-wrap.show-arrows .clip-nav-arrow{opacity:1;visibility:visible}
  .cyx-carousel-wrap .clip-nav-prev{left:-6px}
  .cyx-carousel-wrap .clip-nav-next{right:-6px}

  .clip-volume-btn{position:absolute;left:10px;bottom:70px;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.5);background:rgba(0,0,0,0.35);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s ease, border-color 0.15s ease;z-index:30;pointer-events:auto}
  .clip-volume-btn:hover{background:rgba(0,0,0,0.5);border-color:rgba(255,255,255,0.75)}

  .clips-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
  .clip-dot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,0.15);transition:background 0.2s ease}
  .clip-dot.is-active{background:var(--blue-base)}
  
  /* Week Widget */
  .sidebar-week{background:#fff;border-radius:12px;padding:20px;border:1px solid rgba(0,0,0,0.05)}
  .sidebar-week .sidebar-title{margin-bottom:14px;font-size:0.9rem}
  .sidebar-title{font-size:0.9rem;font-weight:700;color:#0F1B2D;margin:0}
  .week-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0}
  .week-row:last-child{border-bottom:none;padding-bottom:0}
  .week-label{font-size:0.82rem;color:#444}
  .week-value{font-size:0.82rem;font-weight:700;color:var(--blue-base)}
}

@media(min-width:1200px){
  .home-web-container{max-width:1420px;grid-template-columns:1fr 360px;gap:32px}
  .hero-title{font-size:2rem}
}

@media(min-width:1024px){
  body.home-active .home-web-layout .home-sidebar{
    position:static !important;
    top:auto !important;
    right:auto !important;
    width:auto !important;
    align-self:start !important;
    padding-top:0 !important;
    height:auto;
    z-index:auto;
  }
  body.home-active .home-web-layout .sidebar-premium{
    min-height:260px;
  }
  body.home-active .home-web-layout .sidebar-premium,
  body.home-active .home-web-layout .rider-clips-panel{
    transform:none !important;
    transition:none !important;
  }

  body.home-active .home-web-layout .rider-clips-panel .clips-dots{
    display:none;
  }
}

@media(min-width:1024px) and (max-width:1279px){
  body.home-active .home-web-layout .home-sidebar{
    width:auto !important;
    right:auto !important;
  }
  body.home-active .home-web-layout .sidebar-premium{
    min-height:238px;
  }
}

.explore-sections-block{margin:34px 15px 36px}
.home-sections-explorer{
  --sections-blue:#0056A3;
  --sections-yellow:#F5C400;
  --sections-yellow-dark:#2C2200;
  --sections-card:#FFFFFF;
  --sections-surface:#F5F5F5;
  --sections-text:#111111;
  --sections-muted:#666666;
  --sections-avatar:#E6EEF5;
  background:var(--sections-surface);
  color:var(--sections-text);
  border-radius:20px;
  padding:20px 0 6px;
}
.home-sections-explorer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:0 16px 18px;
}
.home-sections-explorer-title{
  margin:0;
  font-size:22px;
  font-weight:500;
  line-height:1.15;
  color:var(--sections-text);
}
.home-sections-explorer-subtitle{
  margin:8px 0 0;
  font-size:14px;
  line-height:1.4;
  color:var(--sections-muted);
  max-width:540px;
}
.home-sections-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px;
  border-radius:999px;
  background:#FFFFFF;
  border:0.5px solid #E2E2E2;
  flex-shrink:0;
}
.home-sections-toggle-btn{
  border:none;
  background:transparent;
  color:var(--sections-text);
  font-size:13px;
  font-weight:600;
  line-height:1;
  padding:10px 14px;
  border-radius:999px;
}
.home-sections-toggle-btn.is-active{
  background:var(--sections-blue);
  color:#FFFFFF;
}
.home-sections-cards-view{
  position:relative;
  padding:0 16px 14px;
}
.home-sections-carousel{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-padding-left:16px;
  padding:2px 0 8px;
}
.home-sections-carousel::-webkit-scrollbar{display:none}
.home-section-card{
  flex:0 0 calc((100% - 8px) / 1.5);
  min-width:calc((100% - 8px) / 1.5);
  scroll-snap-align:start;
  background:var(--sections-card);
  border:0.5px solid #E2E2E2;
  border-radius:12px;
  text-decoration:none;
  color:var(--sections-text);
  overflow:hidden;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.home-section-card:hover{
  border-color:var(--sections-blue);
  box-shadow:0 8px 24px rgba(27,79,216,0.08);
}
.home-section-card-media{
  height:120px;
  max-height:120px;
  aspect-ratio:auto;
  background:#ECECEC;
  border-bottom:0.5px solid #E2E2E2;
}
.home-section-card-body{
  padding:14px 14px 12px;
}
.home-section-card-title{
  font-size:16px;
  line-height:1.2;
  font-weight:700;
  color:var(--sections-text);
}
.home-section-card-desc{
  margin-top:8px;
  font-size:13px;
  line-height:1.35;
  color:var(--sections-muted);
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-section-card-expert{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px 14px;
  border-top:0.5px solid #E2E2E2;
}
.home-section-card-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--sections-avatar);
  color:var(--sections-blue);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.04em;
  flex-shrink:0;
}
.home-section-card-expert-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.home-section-card-expert-name{
  font-size:13px;
  line-height:1.2;
  font-weight:600;
  color:var(--sections-text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-section-card-expert-role{
  margin-top:3px;
  font-size:12px;
  line-height:1.2;
  color:var(--sections-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-sections-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border-radius:50%;
  border:0.5px solid #D8D8D8;
  background:#FFFFFF;
  color:var(--sections-blue);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(17,17,17,0.08);
  z-index:2;
}
.home-sections-nav[disabled]{
  opacity:0.45;
  pointer-events:none;
}
.home-sections-nav-prev{left:2px}
.home-sections-nav-next{right:2px}
.home-sections-list-view{
  padding:0 16px 10px;
}
.home-sections-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.home-section-list-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px;
  background:#FFFFFF;
  border:0.5px solid #E2E2E2;
  border-radius:12px;
  text-decoration:none;
  color:var(--sections-text);
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.home-section-list-item:hover{
  border-color:var(--sections-blue);
  box-shadow:0 8px 18px rgba(27,79,216,0.08);
}
.home-section-list-thumb{
  width:64px;
  height:64px;
  border-radius:10px;
  background:#ECECEC;
  flex-shrink:0;
}
.home-section-list-body{
  min-width:0;
  flex:1;
}
.home-section-list-title{
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  color:var(--sections-text);
}
.home-section-list-desc{
  margin-top:6px;
  font-size:13px;
  line-height:1.3;
  color:var(--sections-muted);
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-section-list-meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  font-size:12px;
  line-height:1.2;
  color:var(--sections-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-section-list-separator{
  width:3px;
  height:3px;
  border-radius:50%;
  background:#C8C8C8;
  flex-shrink:0;
}
.home-section-list-arrow{
  color:var(--sections-blue);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
body.home-active .explore-sections-block{background:transparent;box-shadow:none;clip-path:none}

@media(min-width:768px){
  .home-sections-explorer{padding:24px 0 10px}
  .home-sections-explorer-head{padding:0 24px 20px}
  .home-sections-cards-view{padding:0 24px 16px}
  .home-sections-list-view{padding:0 24px 12px}
  .home-section-card{flex-basis:calc((100% - 32px) / 3);min-width:calc((100% - 32px) / 3)}
  .home-sections-nav-prev{left:10px}
  .home-sections-nav-next{right:10px}
}

@media(min-width:1280px){
  .home-section-card{flex-basis:calc((100% - 48px) / 4);min-width:calc((100% - 48px) / 4)}
}

@media(max-width:767px){
  .home-sections-explorer-head{flex-direction:column}
  .home-sections-toggle{align-self:flex-start}
}

/* =========================
   CYCLICK - "EN ANÁLISIS" BLOCK (Mobile)
   Estructura esperada (clases):
   .analysis-block
     .analysis-label
     .analysis-question
     .analysis-card (clickable)
       .analysis-thumb
       .analysis-meta
         .analysis-video-title
         .analysis-video-sub
   ========================= */

/* Contenedor del bloque (respeta márgenes del Home) */
.analysis-block{
  margin:18px 16px 20px;
}

/* Encabezado editorial pequeño */
.analysis-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.6px;
  text-transform:uppercase;
  opacity:0.5;
  margin:0 0 10px;
}

/* Pregunta protagonista */
.analysis-question{
  font-size:17px;
  font-weight:800;
  line-height:1.25;
  margin:0 0 14px;
  color:#0F1B2D;
}

/* Card del video (solución) */
.analysis-card{
  display:flex;
  align-items:center;
  border-radius:16px;
  overflow:hidden;
  background:#FFFFFF;
  box-shadow:0 8px 24px rgba(0,0,0,0.06);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  text-decoration:none;
  color:inherit;
  transition:transform 0.15s ease, box-shadow 0.15s ease;
}

.analysis-card:active{
  transform:scale(0.99);
  box-shadow:0 8px 18px rgba(15, 27, 45, 0.10);
}

/* Thumbnail 16:9 */
.analysis-thumb{
  height:72px;
  width:110px;
  flex:0 0 110px;
  object-fit:cover;
  object-position:center;
  border-radius:12px;
  display:block;
}

/* Contenido inferior */
.analysis-meta{
  flex:1;
  padding:10px 12px;
}

/* Título del video */
.analysis-video-title{
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  margin:0 0 6px;
  color:#0F1B2D;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Metadata (duración + categoría) */
.analysis-video-sub{
  font-size:12px;
  font-weight:700;
  opacity:0.72;
  margin:0;
  display:flex;
  gap:10px;
  align-items:center;
}

/* Separador puntito opcional */
.analysis-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(15, 27, 45, 0.35);
  display:inline-block;
}

/* Estado focus accesible */
.analysis-card:focus-visible{
  outline:3px solid rgba(255, 212, 0, 0.55);
  outline-offset:4px;
  border-radius:18px;
}

/* Responsive micro (si necesitas compactar en pantallas muy pequeñas) */
@media (max-width: 360px){
  .analysis-question{font-size:21px;}
  .analysis-video-title{font-size:15px;}
}

/* Player full-bleed video */
.video-player-16x9{display:block;width:100%;height:100%;object-fit:contain;background:#F5F5F5}
.player-fullbleed{position:relative;width:100vw;height:0;padding-top:56.25%;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#F5F5F5;overflow:hidden}
.player-fullbleed #player-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;border-radius:0;background:#F5F5F5}

/* Premium gate overlay */
.player-fullbleed.is-locked #player-video{pointer-events:none;opacity:0}
.player-premium-gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;opacity:0;pointer-events:none;transition:opacity 0.3s ease}
.player-fullbleed.is-locked .player-premium-gate{opacity:1;pointer-events:auto}
.player-gate-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.player-gate-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.4) 0%,rgba(0,0,0,0.85) 100%);z-index:1}
.player-gate-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}
.player-gate-icon{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:16px;backdrop-filter:blur(8px)}
.player-gate-icon::before{content:'';width:20px;height:20px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E") no-repeat center/contain}
.player-gate-title{font-size:1.1rem;font-weight:700;color:#fff;text-align:center;margin-bottom:6px}
.player-gate-subtitle{font-size:0.85rem;color:rgba(255,255,255,0.7);text-align:center;margin-bottom:20px;max-width:260px}
.player-gate-btn{background:#ffd400;color:#0b0b0b;font-weight:700;font-size:0.9rem;padding:10px 28px;border-radius:24px;border:none;cursor:pointer;box-shadow:0 4px 16px rgba(255,212,0,0.3)}
.player-gate-btn:hover{background:#ffe033}

/* ===== AD OVERLAY (YouTube-style) ===== */
.player-ad-overlay{position:absolute;inset:0;z-index:20;background:#F5F5F5;display:none;flex-direction:column}
.player-ad-overlay.is-active{display:flex}
.ad-video-player{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#F5F5F5}

/* Controls wrapper - centered container */
.ad-controls-wrapper{position:absolute;inset:0;width:100%;max-width:900px;margin:0 auto;pointer-events:none}
.ad-controls-wrapper > *{pointer-events:auto}

/* Ad label badge */
.ad-label{position:absolute;top:12px;left:12px;background:rgba(0,0,0,0.6);color:#ffffff;font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px;letter-spacing:0.05em;text-transform:uppercase;z-index:25}

/* Hector, 2026-09-11: botón de activar sonido del anuncio (arranca muteado
   para que el autoplay funcione en móvil) — mismo estilo que .clip-volume-btn
   de los Clips de Home, reposicionado arriba a la derecha (el label "Anuncio"
   ya ocupa la esquina superior izquierda). */
.ad-volume-btn{position:absolute;top:12px;right:12px;width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,0.6);background:rgba(0,0,0,0.55);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s ease, border-color 0.15s ease;z-index:30;pointer-events:auto}
.ad-volume-btn:hover{background:rgba(0,0,0,0.7);border-color:rgba(255,255,255,0.85)}
.ad-volume-btn svg{width:24px;height:24px}

/* Sponsor info bar */
.ad-info{position:absolute;bottom:40px;left:12px;display:flex;align-items:center;gap:10px;z-index:25;background:rgba(0,0,0,0.6);padding:8px 14px;border-radius:10px;backdrop-filter:blur(6px);text-decoration:none;cursor:pointer;transition:background 0.2s ease, transform 0.2s ease}
.ad-info:hover{background:rgba(0,0,0,0.8);transform:scale(1.02)}
.ad-sponsor-logo{width:36px;height:36px;border-radius:6px;object-fit:contain;background:#fff}
.ad-sponsor-text{display:flex;flex-direction:column;gap:2px}
.ad-sponsor-name{font-size:0.85rem;font-weight:700;color:#fff}
.ad-sponsor-tagline{font-size:0.72rem;color:rgba(255,255,255,0.7)}

/* CTA button */
.ad-cta-btn{position:absolute;bottom:40px;right:12px;background:#ffd400;color:#0b0b0b;font-size:0.8rem;font-weight:700;padding:10px 18px;border-radius:8px;text-decoration:none;z-index:25;transition:transform 0.2s ease, background 0.2s ease}
.ad-cta-btn:hover{background:#ffe033;transform:scale(1.03);color:#0b0b0b}

/* Skip container */
.ad-skip-container{position:absolute;bottom:40px;right:12px;z-index:26;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.ad-skip-countdown{background:rgba(0,0,0,0.85);color:#fff;font-size:0.78rem;font-weight:600;padding:10px 16px;border-radius:8px;white-space:nowrap}
.ad-skip-countdown #ad-countdown-seconds{color:#ffd400;font-weight:700}
.ad-skip-btn{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,0.85);color:#fff;font-size:0.85rem;font-weight:700;padding:12px 18px;border:none;border-radius:8px;cursor:pointer;transition:background 0.2s ease}
.ad-skip-btn:hover{background:rgba(40,40,40,0.95)}
.ad-skip-icon{width:14px;height:14px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z'/%3E%3C/svg%3E") no-repeat center/contain}

/* Ad progress bar */
.ad-progress-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:rgba(255,255,255,0.25);z-index:25}
.ad-progress-fill{height:100%;background:#ffd400;width:0%;transition:width 0.1s linear}

/* Hide main video controls during ad */
.player-fullbleed.is-ad-playing #player-video{pointer-events:none;opacity:0}
.player-fullbleed.is-ad-playing .player-premium-gate{display:none !important}

/* Move CTA when skip button visible */
.ad-skip-container + .ad-cta-btn{bottom:100px}

/* Desktop/larger screens adjustments */
@media(min-width:768px){
  .ad-controls-wrapper{max-width:800px}
  .ad-label{top:20px;left:20px;font-size:10px;padding:3px 8px}
  .ad-volume-btn{top:20px;right:20px;width:52px;height:52px}
  .ad-volume-btn svg{width:26px;height:26px}
  .ad-info{bottom:50px;left:20px;padding:12px 18px;gap:14px}
  .ad-sponsor-logo{width:48px;height:48px;border-radius:8px}
  .ad-sponsor-name{font-size:1rem}
  .ad-sponsor-tagline{font-size:0.85rem}
  .ad-skip-container{bottom:50px;right:20px}
  .ad-skip-countdown{padding:12px 20px;font-size:0.9rem}
  .ad-skip-btn{padding:14px 24px;font-size:0.95rem}
  .ad-cta-btn{bottom:50px;right:20px;padding:12px 24px;font-size:0.9rem}
  .ad-skip-container + .ad-cta-btn{bottom:120px}
  .ad-progress-bar{height:5px}
}

/* Responsive adjustments for small screens */
@media(max-width:480px){
  .ad-info{bottom:35px;left:8px;padding:6px 10px}
  .ad-sponsor-logo{width:28px;height:28px}
  .ad-sponsor-name{font-size:0.75rem}
  .ad-sponsor-tagline{font-size:0.65rem}
  .ad-skip-container{bottom:35px;right:8px}
  .ad-skip-countdown{padding:8px 12px;font-size:0.72rem}
  .ad-skip-btn{padding:10px 14px;font-size:0.78rem}
  .ad-cta-btn{display:none}
  .ad-progress-bar{height:3px}
}
/* ===== END AD OVERLAY ===== */

/* Player page */
.player-page{color:#2c2c2c}
.player-page .small-muted{color:rgba(44,44,44,0.7)}
.player-ad-banner{display:none}

/* ===== DESKTOP PLAYER LAYOUT (MasterClass style) ===== */
.player-desktop-layout{display:flex;flex-direction:column;gap:0}
.player-main{flex:1}
.player-video-container{position:relative}
.player-sidebar{display:none}
.player-info-below{display:none}
.player-info-mobile{display:block}
.player-rec-mobile{display:block;margin-top:-10px}

/* Desktop Layout (768px+) */
@media(min-width:768px){
  .player-desktop-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:24px;
    max-width:1200px;
    margin:0 auto;
    padding:20px 24px;
    min-height:auto;
    background:transparent;
  }
  .player-main{
    display:block;
    background:transparent;
    min-width:0;
    padding:0 !important;
  }
  .player-video-container{
    padding:0 !important;
    margin:0 !important;
  }
  .player-desktop-layout .player-fullbleed{
    position:relative;
    width:100%;
    height:0;
    padding-top:56.25%;
    margin:0 !important;
    background:#000;
    border-radius:10px;
    overflow:hidden;
  }
  .player-desktop-layout .player-fullbleed #player-video{border-radius:10px}
  .player-info-below{
    display:block;
    padding:14px 0 0;
    margin:0 !important;
    background:transparent;
  }
  /* Simple Ad Banner */
  .player-ad-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 14px;
    margin:14px 0 0;
    background:#FFFFFF;
    border:0.5px solid #E0E0E0;
    border-radius:8px;
    font-size:12px;
  }
  .player-ad-banner-left{display:flex;align-items:center;gap:10px}
  .player-ad-banner-logo{width:30px;height:30px;border-radius:5px;object-fit:cover;background:#F5F5F5;flex:0 0 30px}
  .player-ad-banner-copy{display:flex;flex-direction:column;line-height:1.2}
  .player-ad-banner-name{font-size:12px;font-weight:500;color:#111111}
  .player-ad-banner-tagline{font-size:11px;color:#888888}
  .player-ad-banner-right{display:flex;align-items:center;gap:10px}
  .player-ad-banner-label{color:#aaaaaa;font-size:10px;font-weight:500}
  .player-ad-banner-label span{color:#111111;font-size:12px;font-weight:500}
  .player-ad-banner-cta{color:#0056A3;text-decoration:none;font-weight:500;font-size:12px;transition:opacity 0.2s}
  .player-ad-banner-cta:hover{opacity:0.8}
  /* Dark theme ad banner */
  body.player-dark .player-ad-banner{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)}
  body.player-dark .player-ad-banner-label{color:rgba(255,255,255,0.4)}
  body.player-dark .player-ad-banner-label span{color:rgba(255,255,255,0.6)}
  body.player-dark .player-ad-banner-cta{color:#0056A3}
  .player-info-content{max-width:none;padding-left:0 !important}
  .player-info-below .player-title-row{margin-top:0;padding-right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
  .player-info-below #player-title{color:#111111;font-size:19px;font-weight:500;line-height:1.3}
  .player-info-below .player-desc-tab{display:none}
  .player-meta-row{display:flex;align-items:center;gap:12px;margin-top:8px}
  .player-meta-dot{width:3px;height:3px;border-radius:999px;background:#cccccc;display:inline-block}
  .player-duration{font-size:12px;color:#888888}
  .player-inline-divider{height:1px;background:#E8E8E8;margin:12px 0}
  /* Hector, 2026-09-12: bloque "especialista" (foto+nombre+profesión, clic
     -> Contacto con especialistas) — antes era solo texto plano dentro de
     .player-meta-row (#player-expert, ya no existe). Ver buildExpertBlock()
     en app.js; comparte estructura con .player-expert-mobile. */
  .player-expert-desktop{margin-top:14px}
  .player-desc-inline{color:#555555;font-size:14px;line-height:1.6;margin-top:0;display:block;overflow:visible}
  /* Hector, 2026-09-12: se movió del title-row (junto al título) a su propia
     fila, debajo de sección+duración y arriba de .player-inline-divider —
     ya no necesita margin-left (era la separación respecto al título en la
     misma línea), en su lugar margin-top para separarse de .player-meta-row.
     Sin padding lateral propio: es hijo directo de .player-info-content
     igual que el resto de las filas, hereda su alineación sin ajustes. */
  .player-actions-desktop{display:flex;gap:8px;margin-top:16px;flex-shrink:0}
  .player-action-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#FFFFFF;
    color:#111111;
    border:0.5px solid #E0E0E0;
    border-radius:8px;
    padding:7px 14px;
    font-weight:500;
    font-size:12px;
    cursor:pointer;
    transition:background 0.2s ease;
  }
  .player-action-btn:hover{background:#F5F5F5}
  .player-action-btn .player-share-icon,
  .player-action-btn .player-fav-icon{width:20px;height:20px;background-color:#111111}
  
  /* Hide mobile elements on desktop */
  .player-info-mobile{display:none !important}
  .player-rec-mobile{display:none !important}
  
  /* Sidebar */
  .player-sidebar{
    display:flex;
    flex-direction:column;
    width:300px;
    min-width:300px;
    background:transparent;
    border-left:none;
    overflow:visible;
    max-height:none;
    margin-top:0;
  }
  .player-sidebar-header{
    display:flex;
    align-items:center;
    gap:14px;
    padding:20px;
    background:#fafbfc;
    border-bottom:1px solid rgba(15,27,45,0.06);
  }
  .player-sidebar-thumb{
    width:56px;
    height:56px;
    border-radius:10px;
    object-fit:cover;
    background:#eee;
  }
  .player-sidebar-info{flex:1;min-width:0}
  .player-sidebar-title{
    font-weight:700;
    font-size:1rem;
    color:#0F1B2D;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .player-sidebar-author{
    font-size:0.85rem;
    color:rgba(15,27,45,0.6);
    margin-top:2px;
  }
  .player-sidebar-now{
    display:none;
  }
  .now-playing-dot{
    display:none;
  }
  .player-sidebar-current{
    padding:8px 20px 16px;
    font-size:0.95rem;
    font-weight:600;
    color:#0F1B2D;
    line-height:1.4;
  }
  .player-sidebar-divider{
    height:1px;
    background:rgba(15,27,45,0.1);
    margin:8px 20px 16px;
  }
  .player-sidebar-section{
    padding:0 0 8px;
  }
  .player-sidebar-section-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    padding:0 20px;
  }
  .player-sidebar-section:first-child .player-sidebar-section-title{
    padding-top:12px;
  }
  .player-sidebar-label-bar{width:3px;height:14px;background:#0056A3;border-radius:2px;flex-shrink:0}
  .player-sidebar-label-text{font-size:11px;font-weight:500;color:#111111;text-transform:uppercase;letter-spacing:0.06em}
  .player-sidebar-next{
    padding:0 12px;
  }
  .player-sidebar-list-title{
    padding:16px 20px 12px;
    font-size:0.85rem;
    font-weight:600;
    color:rgba(15,27,45,0.5);
    text-transform:uppercase;
    letter-spacing:0.05em;
  }
  .player-sidebar-list{
    display:flex;
    flex-direction:column;
    gap:0;
    padding:0 12px 20px;
  }
  .player-sidebar-item{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:100px;
    padding:12px 0;
    border-radius:8px;
    cursor:pointer;
    transition:background 0.2s ease;
    border-bottom:1px solid #F0F0F0;
  }
  .player-sidebar-item:hover{background:#F5F5F5;padding:12px 0;margin:0 -8px;border-radius:8px}
  .player-sidebar-item:last-child{border-bottom:none}
  .player-sidebar-item-thumb-wrap{position:relative;flex:0 0 auto}
  .player-sidebar-item-thumb{
    width:160px;
    height:90px;
    border-radius:8px;
    object-fit:cover;
    background:#1a1a1a;
    display:block;
    flex-shrink:0;
  }
  .player-sidebar-item-duration-badge{position:absolute;right:5px;bottom:5px;background:rgba(0,0,0,0.8);color:#FFFFFF;font-size:9px;line-height:1;padding:1px 4px;border-radius:2px}
  .player-sidebar-item-info{flex:1;min-width:0}
  .player-sidebar-item-title{
    font-size:13px;
    font-weight:500;
    color:#111111;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .player-sidebar-item-meta{
    font-size:11px;
    color:#888888;
    margin-top:6px;
  }
  /* Override player-standard light bg for desktop layout — solo en LIGHT
     theme. Antes no distinguía tema y dejaba .player-main blanco encima del
     fondo oscuro del sitio (reportado por Hector, 2026-09-08). */
  body:not(.dark-theme).player-standard .player-desktop-layout,
  body:not(.dark-theme).player-standard .player-main,
  body:not(.dark-theme).player-standard .player-info-below{background:#F5F5F5 !important}
  body.dark-theme.player-standard .player-desktop-layout,
  body.dark-theme.player-standard .player-main,
  body.dark-theme.player-standard .player-info-below{background:transparent !important}

  /* Rider Room player dark theme */
  body.player-dark .player-page{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important}
  body.player-dark .player-desktop-layout{background:transparent !important;max-width:none !important;margin:0 !important;padding:0 !important;border:none !important;box-shadow:none !important;border-radius:0 !important}
  body.player-dark .player-main{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important}
  body.player-dark .player-video-container{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important}
  body.player-dark .player-info-below{background:transparent !important}
  body.player-dark .player-fullbleed{background:transparent !important}
  body.player-dark .player-info-below #player-title{color:#FFFFFF}
  body.player-dark .player-info-below #player-section{font-size:11px;color:#F5C400;font-weight:500;text-transform:uppercase;letter-spacing:0.05em}
  body.player-dark .player-meta-dot{background:rgba(255,255,255,0.3)}
  body.player-dark .player-duration{color:rgba(255,255,255,0.5)}
  body.player-dark #player-expert-desktop{display:none}
  body.player-dark .player-inline-divider{background:rgba(255,255,255,0.08)}
  body.player-dark .player-desc-inline{color:rgba(255,255,255,0.6)}
  body.player-dark .player-action-btn{background:#242424;color:#FFFFFF;border-color:rgba(255,255,255,0.12)}
  body.player-dark .player-action-btn:hover{background:#2a2a2a}
  body.player-dark .player-action-btn .player-share-icon,
  body.player-dark .player-action-btn .player-fav-icon{background-color:#FFFFFF}

  body.player-dark .player-ad-banner{background:#242424;border:0.5px solid rgba(255,255,255,0.08)}
  body.player-dark .player-ad-banner-logo{background:#2a2a2a}
  body.player-dark .player-ad-banner-name{color:#FFFFFF}
  body.player-dark .player-ad-banner-tagline{color:rgba(255,255,255,0.5)}
  body.player-dark .player-ad-banner-label{color:rgba(255,255,255,0.35)}
  body.player-dark .player-ad-banner-cta{color:#F5C400}

  body.player-dark .player-sidebar{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important}
  body.player-dark .player-sidebar-section-title{color:rgba(255,255,255,0.5)}
  body.player-dark .player-sidebar-label-bar{background:#F5C400}
  body.player-dark .player-sidebar-label-text{color:#FFFFFF}
  body.player-dark .player-sidebar-divider{background:rgba(255,255,255,0.1)}
  body.player-dark .player-sidebar-item{border-bottom:1px solid rgba(255,255,255,0.07)}
  body.player-dark .player-sidebar-item:hover{background:rgba(255,255,255,0.04)}
  body.player-dark .player-sidebar-item-title{color:#e5e5e5}
  body.player-dark .player-sidebar-item-meta{color:rgba(255,255,255,0.45)}
  body.player-dark .player-sidebar-item-thumb{background:#2a2a2a}
  body.player-dark .player-sidebar-item-duration-badge{font-size:10px !important;padding:2px 5px !important;border-radius:2px !important;right:5px !important;bottom:5px !important}
}

/* Large Desktop (1200px+) */
@media(min-width:1200px){
  .player-sidebar{width:380px;min-width:380px}
  .player-info-below{padding:28px 40px}
  .player-info-below #player-title{font-size:1.5rem}
}
/* ===== END DESKTOP PLAYER LAYOUT ===== */

.player-title-row{position:relative;padding-right:110px;margin-top:32px}
.player-page #player-title{font-size:1.63em}
.player-page #player-section{font-size:11px;margin-top:4px;color:#0056A3;font-weight:500;text-transform:uppercase;letter-spacing:0.05em}
.player-page #player-author{font-size:1.15em;color:rgba(44,44,44,0.45)}
.player-desc-tab{position:absolute;right:0;top:2px;background:#0b0b0b;color:#ffffff;border:none;border-radius:10px 0 0 10px;padding:6px 10px;font-weight:700;font-size:0.78rem;letter-spacing:0.02em;cursor:pointer}
.player-desc-icon{width:18px;height:18px;display:block;background-color:#ffffff;-webkit-mask:url("../img/sections/arrow-down-sign-to-navigate.png") no-repeat center/contain;mask:url("../img/sections/arrow-down-sign-to-navigate.png") no-repeat center/contain}
.player-author-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block;border:1px solid rgba(11,11,11,0.08)}
.player-btn{border-radius:10px;padding:7px 10px;font-weight:700;font-size:0.85rem;background:transparent;border:none;color:var(--blue-base)}
.player-btn-icon{width:29px;height:29px;display:block;object-fit:contain}
.player-share-icon{width:29px;height:29px;display:block;background-color:currentColor;-webkit-mask:url("../img/sections/share.png") no-repeat center/contain;mask:url("../img/sections/share.png") no-repeat center/contain}
.player-fav-icon{width:29px;height:29px;display:block;background-color:currentColor;-webkit-mask:url("../img/heart.png") no-repeat center/contain;mask:url("../img/heart.png") no-repeat center/contain}
.player-btn-share{background:transparent;color:var(--blue-base);border:none}
.player-btn-fav{background:transparent;color:var(--blue-base);border:none}

/* Bloque "especialista" del reproductor (foto+nombre+profesión, clic ->
   Contacto con especialistas) — compartido entre escritorio
   (.player-expert-desktop) y móvil (.player-expert-mobile); solo el
   margen superior de cada uno se define aparte, arriba. No va dentro de
   ningún @media: cada contenedor ya solo existe en su propia plantilla
   (escritorio/móvil), así que no hace falta duplicar la regla. */
.player-expert-desktop,
.player-expert-mobile{display:flex;align-items:center;gap:10px;cursor:pointer;width:fit-content}
.player-expert-mobile{margin-top:10px}
.player-expert-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#E8EFFE;color:#0056A3;font-size:13px;font-weight:600}
.player-expert-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.player-expert-text{display:flex;flex-direction:column;line-height:1.3}
.player-expert-name{font-size:14px;font-weight:600;color:#111111}
.player-expert-role{font-size:12px;color:#888888}
.player-expert-desktop:hover .player-expert-name,
.player-expert-mobile:hover .player-expert-name{color:#0056A3}

/* Podcast Premium Cards */
.player-sim-list{display:flex;flex-direction:column;gap:10px}
.player-sim-item{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:12px;border-radius:14px;background:#fafafa;cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.15s ease}
.player-sim-item:hover{background:#f5f5f5;transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,0.08)}
.player-sim-item:active{transform:scale(1.01);background:#f0f0f0}
.player-sim-thumb{width:120px;aspect-ratio:16/9;border-radius:10px;object-fit:cover;background:#e0e0e0;transition:transform 0.2s ease}
.player-sim-item:hover .player-sim-thumb{transform:scale(1.02)}
.player-sim-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.player-sim-guest{font-weight:700;font-size:1.15rem;letter-spacing:-0.02em;color:#1a1a1a;line-height:1.2;transition:color 0.15s ease}
.player-sim-item:hover .player-sim-guest{color:#000}
.player-sim-topic{font-size:0.9rem;font-weight:400;color:#6a6a6a;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.player-sim-meta{display:flex;align-items:center;gap:10px;margin-top:4px}
.player-sim-duration{font-size:0.85rem;font-weight:500;color:#999}
.player-sim-badge{padding:2px 6px;border-radius:5px;font-size:0.68rem;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;background:#222;color:#fff}
.player-sim-section{font-size:0.85rem;color:#8a8a8a}
.player-divider{height:1px;margin-top:16px;margin-left:-16px;margin-right:-16px;background:rgba(11,11,11,0.18);box-shadow:0 6px 14px rgba(11,11,11,0.12)}
.player-desc-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1500}
.player-desc-modal.is-open{display:flex}
.player-desc-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.45)}
.player-desc-panel{position:relative;max-width:520px;width:90%;background:#ffffff;border-radius:16px;padding:18px;box-shadow:0 18px 50px rgba(0,0,0,0.3)}
.player-desc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.player-desc-close{background:#0b0b0b;color:#ffffff;border:none;border-radius:10px;padding:6px 12px;font-weight:700;font-size:0.78rem;cursor:pointer}
.player-desc-author{font-weight:700;margin-bottom:6px;font-size:1.05em}
.player-desc-body{margin-top:0}
.player-rec-card{margin-top:-10px}
.player-rec-title{margin-top:0}

body.player-interview .player-page{color:var(--blue-light)}
body.player-interview .player-page .small-muted{color:rgba(219,234,255,0.8)}
body.player-interview .player-btn{color:var(--yellow-accent)}
body.player-interview .player-desc-tab{background:var(--blue-light);color:#0b0b0b}
body.player-interview .player-desc-icon{background-color:#0b0b0b}
body.player-interview .player-sim-list .player-sim-item{background:#1a1a1a}
body.player-interview .player-sim-item:hover{background:#222}
body.player-interview .player-sim-guest{color:#fff}
body.player-interview .player-sim-topic{color:rgba(255,255,255,0.7)}
body.player-interview .player-sim-duration{color:rgba(255,255,255,0.5)}
body.player-interview .player-sim-section{color:rgba(255,255,255,0.5)}
body.player-interview .player-sim-badge{background:#ffd400;color:#0b0b0b}
body.player-interview .player-desc-panel{background:#0f0f0f;color:#ffffff}
body.player-interview .player-desc-close{background:#ffffff;color:#0b0b0b}
body.player-interview .player-page .fw-bold,
body.player-interview .player-page .h5,
body.player-interview .player-page .player-sim-title,
body.player-interview .player-desc-panel .fw-bold,
body.player-interview .player-desc-panel .small-muted,
body.player-interview .player-desc-panel #player-description{color:var(--blue-light) !important}
body.player-interview #player-section,
body.player-interview #player-author{color:rgba(219,234,255,0.65) !important}
body.player-interview .player-sim-section{color:rgba(219,234,255,0.8)}
body.player-interview .player-divider{background:rgba(219,234,255,0.2);box-shadow:0 6px 14px rgba(219,234,255,0.18)}
/* Section thumbnail image used in Explore grid */
.section-thumb-img{width:100%;height:200px;object-fit:cover;border-radius:8px;margin-bottom:8px;display:block}
.card-large{height:264px;background-size:cover;background-position:center;border-radius:14px;position:relative}
.advisors-mini{
  margin:20px 16px 28px;
}

.advisors-content{
  background:#F7F9FC;
  border-radius:16px;
  padding:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.advisors-content h4{
  font-size:16px;
  font-weight:800;
  margin:0 0 4px;
}

.advisors-content p{
  font-size:13px;
  margin:0;
  opacity:0.7;
}
.advisors-list .advisor{display:flex;gap:12px;align-items:center;padding:12px}
.avatar{width:36px;height:36px;border-radius:50%;background-color:transparent;border:none;background-image:url("../img/profile.svg");background-size:cover;background-position:center;}
.meta{color:var(--muted);font-size:0.9rem}
.btn-accent{background:var(--accent);color:#0b0b0b;border:none}
.btn-outline-accent{border:1px solid rgba(255,249,0,0.18);color:var(--accent);background:transparent}
/* Player buttons */
.btn-share-dark{background:#0b0b0b;border:1px solid #0b0b0b;color:#ffffff}
/* Hero visual and featured cards */
.hero-visual{position:relative;background-size:cover;background-position:center;border-radius:18px;overflow:hidden;padding:0}
.hero-visual .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(3,19,56,0.35), rgba(0,0,0,0.45));}
.hero-inner{padding:54px 8px}
.h1-hero{font-weight:800;font-size:0.75rem;letter-spacing:-0.02em;color:var(--text);text-shadow:0 8px 20px rgba(0,0,0,0.45)}

/* Featured cards */
.card-featured{position:relative;color:var(--text);border-radius:14px;overflow:hidden;min-height:180px;background-size:cover;background-position:center}
.card-featured .card-body{position:relative;padding:22px;background:linear-gradient(180deg, rgba(0,0,0,0.0), rgba(0,0,0,0.6));height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.badge-pill{display:inline-block;padding:6px 12px;border-radius:8px;background:var(--accent);color:#0b0b0b;font-weight:700;font-size:0.75rem;letter-spacing:0.06em}
.card-featured .feat-title{font-size:1.25rem;font-weight:800;margin-top:8px;text-shadow:0 6px 14px rgba(0,0,0,0.45)}
.card-featured .feat-sub{color:rgba(255,255,255,0.9);opacity:0.95}

/* Tweak bottom nav contrast */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:#F7F9FB;backdrop-filter:blur(10px);padding:12px 0;border-radius:0;display:flex;justify-content:space-around;gap:18px;box-shadow:0 -2px 12px rgba(0,0,0,0.18);z-index:1200}
.bottom-nav a{color:#2c2c2c !important;text-decoration:none;flex:1}
.bottom-nav a.active{color:var(--blue-deep) !important}
.bottom-nav .small-muted{color:#2c2c2c !important}
.bottom-nav a.active .small-muted{color:var(--blue-deep) !important}
.bottom-nav a img{filter:brightness(0) saturate(100%) !important}
.bottom-nav a.active img{filter:brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%) !important}
.bottom-nav a.active .avatar{filter:brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%) !important}
.bottom-nav a[data-nav="profile"] img{transform:scale(1.07);filter:brightness(0) saturate(100%) contrast(1.25) !important}
.bottom-nav a.active[data-nav="profile"] img{filter:brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(105%) !important}

/* Desktop Navigation */
.desktop-nav{display:none;align-items:center;gap:8px}
.desktop-nav a{color:#2c2c2c;text-decoration:none;font-weight:600;font-size:0.95rem;padding:8px 16px;border-radius:8px;transition:background 0.2s ease, color 0.2s ease}
.desktop-nav a:hover{background:rgba(0,0,0,0.05);color:#000}
.desktop-nav a.active{background:var(--blue-deep);color:#fff}
.desktop-profile-link{display:none;text-decoration:none;color:#2c2c2c;align-items:center}
.desktop-profile-link:hover{color:#000}
.desktop-profile-link svg{transition:transform 0.2s ease;width:28px;height:28px}
.desktop-profile-link.active{color:var(--blue-deep)}
.navbar-streak-pill{display:none;text-decoration:none;align-items:center;gap:7px;background:#FFF8E1;border:1px solid #F5C400;border-radius:999px;padding:5px 14px;cursor:pointer;margin-right:10px}
.navbar-streak-medal{width:14px;height:20px;display:block;flex-shrink:0}
.navbar-streak-text{font-size:13px;font-weight:500;color:#B07D00;line-height:1}

/* Desktop Search Bar (hidden on mobile) */
.desktop-search-bar{display:none}
.desktop-search-actions{display:none}

/* Header Sticky */
.header-sticky{position:sticky;top:0;z-index:1100;background:#ebebeb !important;transition:box-shadow 0.2s ease}
.header-sticky.scrolled{box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.header-sticky .logo-link .h2{color:#111111 !important;font-family:'Poppins',sans-serif !important;font-weight:700 !important}

.navbar-main-row{display:flex;align-items:center;position:relative;width:100%}
.navbar-left-group{display:flex;align-items:center;gap:16px}

/* Responsive Navigation - Desktop (768px+) */
@media(min-width:768px){
  .header{padding:20px 0}
  .desktop-nav{display:flex;position:absolute;left:50%;transform:translateX(-50%);gap:28px}
  .desktop-profile-link{display:flex !important;align-items:center;margin-left:0}
  .navbar-streak-pill{display:flex}
  .bottom-nav{display:none !important}
  body{padding-bottom:0 !important}
  #app{padding-bottom:20px !important}
  
  /* Desktop Search Bar */
  .desktop-search-actions{display:flex;align-items:center;gap:0}
  .navbar-right-group{margin-left:auto;display:flex;align-items:center;gap:12px}
  .desktop-search-bar{
    display:flex;
    align-items:center;
    position:relative;
    margin-right:0;
    background:transparent;
    border:none;
    border-radius:0;
    padding:0;
    width:auto;
    transition:none;
  }
  .desktop-search-bar:focus-within{
    box-shadow:none;
    background:transparent;
    border:none;
  }
  .desktop-search-bar input{
    height:36px;
    width:200px;
    border:1px solid #E0E0E0;
    border-radius:8px;
    background:#FFFFFF;
    font-size:13px;
    color:#111111;
    outline:none;
    padding-left:36px;
    padding-right:14px;
  }
  .desktop-search-bar input::placeholder{color:#888888}
  .desktop-search-icon{
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    color:#888888;
    pointer-events:none;
  }
  /* Dropdown de resultados ~40% más grande (2026-09-07, pedido de Hector) */
  .desktop-search-results{
    display:none;
    position:absolute;
    top:100%;
    right:0;
    left:auto;
    margin-top:10px;
    min-width:504px;
    max-width:588px;
    width:max-content;
    background:#FFFFFF;
    border:1px solid #E0E0E0;
    border-radius:14px;
    box-shadow:0 6px 22px rgba(0,0,0,0.16);
    max-height:560px;
    overflow-y:auto;
    z-index:1200;
  }
  .desktop-search-results.is-visible{display:block}
  .desktop-search-item{
    display:flex;
    align-items:center;
    gap:17px;
    min-height:78px;
    padding:11px 20px;
    cursor:pointer;
    transition:background 0.15s ease;
    text-decoration:none;
    color:inherit;
    border-bottom:1px solid #F0F0F0;
  }
  .desktop-search-item:last-child{border-bottom:none}
  .desktop-search-item:hover{background:#F5F5F5}
  .desktop-search-item img{width:78px;aspect-ratio:16/9;border-radius:7px;object-fit:cover;background:#e0e0e0;flex-shrink:0}
  .desktop-search-item-info{flex:1;min-width:0}
  .desktop-search-item-title{font-size:18px;font-weight:500;color:#111111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
  .desktop-search-item-meta{font-size:16px;color:#5b6675;margin-top:2px}
  /* "No se encontraron resultados": no es clicable, no debe verse como fila */
  .desktop-search-empty{min-height:0;justify-content:center;cursor:default;color:#5b6675;font-size:18px;padding:22px 20px}
  .desktop-search-empty:hover{background:transparent}

  /* Hide mobile search icon on desktop */
  #home-search-icon{display:none !important}
}

/* Mobile - show bottom nav, hide desktop nav (default) */
@media(max-width:767px){
  .desktop-nav{display:none !important}
  .desktop-profile-link{display:none !important}
  .desktop-search-actions{display:none !important}
  .bottom-nav{display:flex !important}
}

@media(min-width:768px){.h1-hero{font-size:0.9rem}}

/* Notification dropdown */
.notification-wrapper{position:relative}
.notification-icon{transition:opacity 0.2s;filter:brightness(0);opacity:0.7}
.notification-icon:hover{opacity:0.85}
.notification-dropdown{position:absolute;top:40px;right:0;width:320px;background:rgba(11,11,11,0.95);border:1px solid rgba(255,255,255,0.1);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.3);display:none;z-index:1000}
.notification-dropdown.floating{position:absolute !important;z-index:99999 !important;box-shadow:0 20px 60px rgba(0,0,0,0.6);}

#site-header > header{
  background: transparent;
  border-bottom:1px solid rgba(0,0,0,0.04);
  backdrop-filter:blur(2px);
  position:relative;
  padding-top:4px;
  padding-bottom:4px;
}

/* Mobile: hide header on non-home pages */
body:not(.home-header-only) #site-header{
  display:none;
}

/* Desktop: always show header */
@media(min-width:768px){
  #site-header{display:block !important}
  body:not(.home-header-only) #site-header{display:block !important}
}

/* Subscription (Premium) page */
.subscription-page{padding-bottom:90px;font-family:'Poppins', sans-serif}
.subscription-hero{margin-bottom:0;text-align:center;padding-bottom:28px;border-bottom:1px solid rgba(0,0,0,0.08)}
.subscription-brand{font-weight:700;font-size:0.75rem;letter-spacing:0.14em;color:rgba(0,0,0,0.5);text-transform:uppercase}
.subscription-title{font-size:1.95rem;font-weight:900;margin-top:10px;color:#111111;line-height:1.08}
.subscription-highlight{color:#D4AF00}
.subscription-sub{margin-top:20px;color:#555555;font-size:0.9rem}

/* Editorial pillars band */
.subscription-pillars{display:flex;align-items:center;justify-content:center;gap:0;margin:28px 0 24px;padding:22px 0;background:rgba(0,0,0,0.04);border-radius:10px}
.pillar-item{flex:1;text-align:center}
.pillar-label{font-size:0.85rem;font-weight:600;color:#1a1a1a;letter-spacing:0.02em}
.pillar-divider{width:1px;height:22px;background:rgba(0,0,0,0.15)}

/* Social proof */
.subscription-proof{text-align:center;margin-bottom:32px;font-size:0.78rem;color:#555555}
.proof-dot{margin:0 10px;opacity:0.4}

.subscription-section{margin-top:32px}
.section-lead{font-size:0.85rem;color:#666666;margin-bottom:6px;font-weight:500}
.section-title{position:relative;display:inline-block;font-size:1.1rem;font-weight:800;margin-bottom:18px;color:#111111}
.section-title::after{content:"";position:absolute;left:0;bottom:-6px;width:0%;height:3px;border-radius:99px;background:#D4AF00;animation:underlineIn 420ms ease-out both}
@keyframes underlineIn{to{width:55%}}
@media (prefers-reduced-motion:reduce){.section-title::after{animation:none;width:55%}}

/* Unlock grid - what you get */
.unlock-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:28px;border-bottom:1px solid rgba(0,0,0,0.08)}
.unlock-item{background:rgba(0,0,0,0.02);border:1px solid rgba(0,0,0,0.06);border-radius:10px;padding:20px 12px;text-align:center;transition:transform 0.15s ease,background 0.15s ease}
.unlock-item:hover{transform:translateY(-2px);background:rgba(0,0,0,0.04)}
.unlock-item-featured{}
.unlock-icon{font-size:2rem;margin-bottom:12px;line-height:1}
.unlock-label{font-weight:700;font-size:0.88rem;color:#222222;letter-spacing:-0.01em}
.unlock-desc{font-size:0.72rem;color:#666666;margin-top:5px;line-height:1.35}

/* Plan cards */
.plan-grid{display:grid;grid-template-columns:1fr;gap:12px}
.plan-card{background:rgba(0,0,0,0.02);border:1px solid rgba(0,0,0,0.08);border-radius:12px;padding:26px 22px;text-align:center;cursor:pointer;transition:all 0.2s ease}
.plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.1)}
.plan-card:active{transform:translateY(0);box-shadow:0 4px 12px rgba(0,0,0,0.08)}
.plan-card-highlight{border-color:rgba(212,175,0,0.5);background:rgba(212,175,0,0.08)}
.plan-card-highlight:hover{border-color:#D4AF00;box-shadow:0 8px 24px rgba(212,175,0,0.2)}
.plan-tag{display:inline-block;background:#D4AF00;color:#1a1a1a;font-weight:700;font-size:0.62rem;border-radius:5px;padding:4px 8px;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.04em}
.plan-tag-smart{background:rgba(0,0,0,0.08);color:#444444}
.plan-name{font-weight:800;font-size:1.1rem;color:#111111}
.plan-price{font-size:2.6rem;font-weight:900;margin-top:4px;color:#111111;letter-spacing:-0.03em}
.plan-term{font-size:0.9rem;font-weight:500;color:#666666}
.plan-sub{color:#a68c00;font-weight:600;font-size:0.82rem;margin-top:6px}
.plan-detail{color:#555555;margin-top:12px;font-size:0.85rem}
.plan-cta{margin-top:18px;background:#D4AF00;color:#1a1a1a;border:none;border-radius:10px;padding:13px 38px;font-weight:700;font-size:0.9rem;cursor:pointer;transition:all 0.15s ease;display:inline-block}
.plan-cta:hover{background:#e0ba00;transform:translateY(-1px)}
.plan-cta-outline{background:transparent;color:#222222;border:1px solid rgba(0,0,0,0.2)}
.plan-cta-outline:hover{background:rgba(0,0,0,0.04);transform:none}
.plan-includes{margin-top:16px;font-size:0.73rem;color:#777777;line-height:1.45}

/* Subscription footer guarantees */
.subscription-footer{margin-top:36px;text-align:center;color:#888888;font-size:0.73rem}
.subscription-guarantee{}
.subscription-dot{margin:0 8px;opacity:0.4}

/* Trial Banner */
.trial-banner{background:linear-gradient(135deg, #D4AF00 0%, #c4a000 100%);border-radius:16px;padding:24px 20px;text-align:center;margin-bottom:8px;box-shadow:0 8px 24px rgba(212,175,0,0.25)}
.trial-badge{display:inline-block;background:rgba(0,0,0,0.15);color:#000000;font-weight:700;font-size:0.68rem;letter-spacing:0.1em;padding:5px 12px;border-radius:20px;margin-bottom:12px}
.trial-title{font-size:1.4rem;font-weight:800;color:#000000;margin-bottom:8px}
.trial-desc{font-size:0.9rem;color:rgba(0,0,0,0.85)}
.trial-desc strong{color:#000000}
.trial-note{font-size:0.78rem;color:rgba(0,0,0,0.65);margin-top:8px}

/* Payment Modal — Hector, 2026-09-10: era negro/gris plano (#1a1a1a,
   #0f0f0f, rgba blancos) y acentos dorados (#D4AF00), sin nada que ver con
   el azul del dark theme del resto del sitio ("el checkout solo tenga
   azul"). Se pasa a los mismos tokens de dark-theme-overrides.css
   (--dt-surface/--dt-surface-2/--dt-border/--dt-text/--dt-muted/--dt-accent)
   — este modal SIEMPRE se ve oscuro (no cambia con el tema claro/oscuro del
   sitio, eso no se toca), solo se re-tiñe de negro puro a azul-oscuro. */
.payment-modal-content{background:var(--dt-surface,#161D27);border:none;border-radius:16px;overflow:hidden}
.payment-modal-header{background:var(--dt-surface-2,#10161F);border-bottom:1px solid var(--dt-border,#2A3442);padding:18px 20px}
.payment-modal-title-wrap{}
.payment-modal-title{font-family:'Poppins', sans-serif;font-weight:700;font-size:1.1rem;color:var(--dt-text,#EAF0F8);margin-bottom:2px}
.payment-modal-subtitle{font-size:0.8rem;color:var(--dt-muted,#AAB6C7)}
.payment-modal-body{padding:20px}
.payment-label{font-size:0.8rem;font-weight:600;color:var(--dt-text,#EAF0F8);margin-bottom:6px}
.payment-input{background:var(--dt-surface-2,#10161F);border:1px solid var(--dt-border,#2A3442);border-radius:10px;color:var(--dt-text,#EAF0F8);padding:12px 14px;font-size:0.95rem}
.payment-input:focus{background:var(--dt-surface-2,#10161F);border-color:var(--dt-accent,#76B7FF);box-shadow:0 0 0 3px rgba(118,183,255,0.15);color:var(--dt-text,#EAF0F8)}
.payment-input::placeholder{color:var(--dt-muted,#AAB6C7)}
.payment-plan-summary{background:var(--dt-surface-2,#10161F);border-radius:10px;padding:14px 16px;margin:20px 0;border:1px solid var(--dt-border,#2A3442)}
.payment-plan-name{font-weight:700;color:var(--dt-text,#EAF0F8);font-size:0.95rem}
.payment-plan-price{color:var(--dt-muted,#AAB6C7);font-size:1.1rem;margin-top:2px}
.payment-plan-trial{color:var(--dt-accent,#76B7FF);font-size:0.8rem;font-weight:600;margin-top:6px}
.payment-policy-notice{font-size:0.8rem;color:var(--dt-muted,#AAB6C7);text-align:center;margin:12px 0;line-height:1.4}
.payment-policy-link{color:var(--dt-accent,#76B7FF);text-decoration:none;font-weight:600;transition:color 0.2s ease}
.payment-policy-link:hover{color:#9DCCFF;text-decoration:underline}

/* Legal webview modal */
.legal-webview-open{overflow:hidden}
/* z-index 12000→31000 (Hector, 2026-09-09): ahora se puede abrir desde la
   portada (z-index 30000) y la pantalla de login (30000) — con 12000 se
   hubiera abierto DETRÁS, invisible. 31000 lo deja por encima de todo lo
   que existe hoy en el sitio (splash/login 30000, cookies 20000, onboarding
   9999), sin afectar en nada su apariencia, solo el orden de encimado. */
.legal-webview-modal{position:fixed;inset:0;background:rgba(0,0,0,0.58);display:none;align-items:center;justify-content:center;padding:20px;z-index:31000}
.legal-webview-modal.is-open{display:flex}
.legal-webview-dialog{width:min(980px, 100%);height:min(86vh, 820px);background:#FFFFFF;border-radius:18px;overflow:hidden;box-shadow:0 22px 80px rgba(0,0,0,0.25);display:flex;flex-direction:column}
.legal-webview-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #E8E8E8;background:#F8F8F8}
.legal-webview-title{font-size:15px;font-weight:600;color:#111111;line-height:1.3}
.legal-webview-close{border:none;background:none;color:#666666;font-size:28px;line-height:1;cursor:pointer;padding:0 4px}
.legal-webview-frame{width:100%;height:100%;border:none;background:#FFFFFF;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.legal-webview-frame .legal-page{padding:24px;max-width:none;min-height:0}

@media (max-width: 768px){
  .legal-webview-modal{padding:0}
  .legal-webview-dialog{width:100%;height:100vh;max-height:none;border-radius:0}
  .legal-webview-header{padding:14px 16px}
  .legal-webview-title{font-size:14px}
}
.payment-submit-btn{background:#D4AF00;color:#1a1a1a;border:none;border-radius:10px;padding:14px 24px;font-weight:700;font-size:0.95rem;margin-top:8px;transition:all 0.15s ease}
.payment-submit-btn:hover{background:#e0ba00;transform:translateY(-1px)}
.payment-submit-btn:disabled{opacity:0.6;cursor:not-allowed;transform:none}
.payment-secure-note{text-align:center;margin-top:16px;font-size:0.75rem;color:rgba(255,255,255,0.5)}
.payment-lock-icon{margin-right:6px}

/* Payment Method Selector */
.payment-method-selector{display:flex;gap:10px}
.payment-method-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);border-radius:10px;color:rgba(255,255,255,0.7);font-weight:600;font-size:0.9rem;cursor:pointer;transition:all 0.15s ease}
.payment-method-btn:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.25)}
.payment-method-btn.active{background:rgba(212,175,0,0.15);border-color:#D4AF00;color:#D4AF00}
.payment-method-icon{display:flex;align-items:center;font-size:1.1rem}
.payment-method-btn.active .payment-method-icon svg path{fill:#D4AF00}

/* PayPal Section */
.paypal-info{text-align:center;padding:30px 20px}
.paypal-logo{margin-bottom:16px}
.paypal-desc{color:rgba(255,255,255,0.7);font-size:0.9rem;margin:0}
.payment-submit-btn.paypal-btn{background:#0056A3;color:#ffffff}
.payment-submit-btn.paypal-btn:hover{background:#0056A3}

/* Premium Badge in Header */
.premium-badge{margin-left:10px;padding:4px 10px;border-radius:6px;font-size:0.65rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;line-height:1}
.premium-badge.badge-premium{background:#D4AF00;color:#1a1a1a}
.premium-badge.badge-trial{background:rgba(212,175,0,0.15);color:#D4AF00;border:1px solid rgba(212,175,0,0.3)}

/* Trial Warning Banners */
.trial-warning-banner{position:fixed;top:0;left:0;right:0;z-index:9999;padding:10px 16px;text-align:center;font-size:0.85rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}
.trial-warning-banner.banner-warning{background:linear-gradient(90deg, #ff9800, #f57c00);color:#ffffff}
.trial-warning-banner.banner-urgent{background:linear-gradient(90deg, #f44336, #d32f2f);color:#ffffff}
.trial-warning-banner a{color:#ffffff;text-decoration:underline;font-weight:700}
.trial-warning-banner .banner-close{background:none;border:none;color:#ffffff;font-size:1.2rem;cursor:pointer;padding:0 4px;opacity:0.8}
.trial-warning-banner .banner-close:hover{opacity:1}

@media(min-width:768px){
  .plan-grid{grid-template-columns:repeat(2, 1fr)}
  .subscription-title{font-size:2.5rem}
  .unlock-grid{grid-template-columns:repeat(4, 1fr)}
  .subscription-pillars{gap:0;max-width:480px;margin-left:auto;margin-right:auto}
}

/* Profile page */
.profile-page{padding-bottom:90px}
.profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.profile-title{font-size:1.8rem;font-weight:800}
.profile-header-actions{display:flex;gap:12px}
.profile-icon-btn{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#ffffff;text-decoration:none;background:rgba(255,255,255,0.1)}
.profile-card{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,0.15)}
.profile-avatar{width:52px;height:52px;border-radius:50%;background:#E6EEF5;color:#0056A3;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:16px}
.profile-info{flex:1}
.profile-name{font-weight:800;font-size:1.68rem}
.profile-meta{color:rgba(255,255,255,0.8);margin-top:2px}
.profile-plan{margin-top:2px;color:rgba(255,255,255,0.9);font-size:0.9rem;font-weight:700}
.profile-tags{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.profile-tag{padding:6px 10px;border-radius:10px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.12);font-size:0.8rem;font-weight:700}
.profile-stats{display:flex;gap:18px;margin-top:10px;color:rgba(255,255,255,0.9)}
.profile-section{margin-top:20px}
.profile-section-tight{margin-top:-12px}
.profile-section-title{font-size:1.1rem;font-weight:800;margin-bottom:10px}
.profile-section-title:empty{display:none}
.profile-list{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:14px;overflow:hidden}
.profile-list-item{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px;color:#111111;text-decoration:none;border-bottom:1px solid #F0F0F0}
.profile-list-item:last-child{border-bottom:none}
.profile-list-item:hover{background:#F5F5F5}
.profile-list-left{display:flex;align-items:center;gap:12px;min-width:0}
.profile-list-icon{width:16px;height:16px;color:#888888;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px}
.profile-list-icon svg{width:16px;height:16px;display:block}
.profile-list-text{font-size:14px;font-weight:500;color:#111111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-list-arrow{color:#CCCCCC}
.profile-link{display:inline-block;margin-top:10px;color:var(--accent);text-decoration:none}
.profile-logout{width:100%;padding:14px;border-radius:10px;border:0.5px solid #E0E0E0;background:#FFFFFF;color:#E24B4A;font-size:14px;font-weight:500}
.profile-logout:hover{background:#FFF5F5}
.profile-preferences-list .profile-list-item{color:#111111;border-bottom:1px solid #F0F0F0;padding-left:16px;padding-right:16px}
.profile-preferences-list .profile-list-arrow{color:#CCCCCC}
.profile-help-card-list .profile-list-item{padding-left:0;padding-right:0}
.profile-subscription-card{background:#FFFDF0;color:#111111;border:1.5px solid #F5C400;border-radius:10px;padding:16px 20px !important;box-shadow:none}
.profile-subscription-card #profile-subscription-name{font-size:14px;font-weight:500;color:#111111}
.profile-subscription-card #profile-subscription-description{font-size:13px;color:#666666 !important}
.profile-subscription-card .profile-link{font-size:13px;color:#0056A3;font-weight:500}

body.profile-active{background:#F5F5F5;color:#0b0b0b}
body.home-active{background:#F4F6F8;color:#0b0b0b}
body.home-active #home-focus-band{background:#F4F6F8;box-shadow:0 0 0 100vmax #F4F6F8;clip-path:inset(0 -100vmax);padding-top:8px;padding-bottom:0}
body.home-active .card{background:#FFFFFF;border:1px solid rgba(15,27,45,0.08);box-shadow:0 8px 24px rgba(0,0,0,0.06)}
body.home-active #home-focus-band .card{box-shadow:0 8px 24px rgba(0,0,0,0.06)}
body.sections-active{background:#F5F5F5;color:#0b0b0b}
body.subscription-active{background:#F5F5F5;color:#0b0b0b}
body.advisors-active{background:#F5F5F5;color:#0b0b0b}
body.home-active{color:#2c2c2c}
body.home-active .small-muted{color:rgba(44,44,44,0.7)}
body.home-active .favorite-icon-img,
body.home-active .notification-icon,
body.home-active #home-search-toggle img{filter:brightness(0) saturate(100%)}
body.home-active .favorite-icon{display:none}

/* Home page enter animation */
.page-enter{animation:pageEnter 320ms ease-out both}
@keyframes pageEnter{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

/* Global page enter motion (inspired by Rider Room entrance). */
@keyframes pageEnterGlobal{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
.page-enter-global{opacity:0;animation:pageEnterGlobal 0.5s ease-out both}
.page-enter-stagger-1{opacity:0;animation:pageEnterGlobal 0.42s ease-out 0.06s both}
.page-enter-stagger-2{opacity:0;animation:pageEnterGlobal 0.42s ease-out 0.13s both}
.page-enter-stagger-3{opacity:0;animation:pageEnterGlobal 0.42s ease-out 0.2s both}
.page-enter-stagger-4{opacity:0;animation:pageEnterGlobal 0.42s ease-out 0.27s both}

@media (prefers-reduced-motion:reduce){
  .page-enter{animation:none}
  .page-enter-global,
  .page-enter-stagger-1,
  .page-enter-stagger-2,
  .page-enter-stagger-3,
  .page-enter-stagger-4{animation:none !important;opacity:1}
}

/* Stagger animations */
.stagger-1{animation:pageEnter 320ms ease-out both;animation-delay:40ms}
.stagger-2{animation:pageEnter 320ms ease-out both;animation-delay:110ms}
.stagger-3{animation:pageEnter 320ms ease-out both;animation-delay:180ms}
@media (prefers-reduced-motion:reduce){
  .stagger-1,.stagger-2,.stagger-3{animation:none}
}

/* Tap card feedback */
.tap-card{transition:transform 120ms ease,box-shadow 120ms ease;will-change:transform}
.tap-card:active{transform:scale(0.985)}

/* Skeleton loading */
.skeleton{background:linear-gradient(90deg, #F2F4F8 25%, #E9EEF6 37%, #F2F4F8 63%);background-size:400% 100%;animation:shimmer 900ms ease-in-out infinite;border-radius:16px}
@keyframes shimmer{
  0%{background-position:100% 0}
  100%{background-position:0 0}
}
@media (prefers-reduced-motion:reduce){
  .skeleton{animation:none}
}

body .bottom-nav .avatar{filter:brightness(0) saturate(100%) !important}
body.rider-room-active .bottom-nav a{color:#2c2c2c}
body.rider-room-active .bottom-nav a.active{color:#2c2c2c}
body.subscription-active .subscription-title,
body.subscription-active .section-title,
body.subscription-active .subscription-brand{color:#0b0b0b}
body.subscription-active .subscription-sub,
body.subscription-active .benefit-item{color:rgba(11,11,11,0.8)}
body.subscription-active .plan-card{color:#ffffff}

.advisors-page{width:100%}
.advisors-page-layout{max-width:1180px;margin:0 auto;padding:28px 12px 44px}
.advisors-back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;font-size:14px;line-height:1.3;color:#6b7280;text-decoration:none}
.advisors-back-link:hover{color:#111111}
.advisors-title{margin:0;font-size:26px;line-height:1.15;font-weight:700;color:#111111}
.advisors-subtitle{margin:8px 0 24px;font-size:15px;line-height:1.45;color:#6b7280}
/* Cards de "Contacta a los especialistas" — foto circular. Desktop: filas de 3. */
.advisors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

.advisor-card{background:#ffffff;border:1px solid #e5e7eb;border-radius:16px;padding:30px 26px;text-align:center;transition:border-color .18s ease,box-shadow .18s ease}
.advisor-card:hover{border-color:#0056A3;box-shadow:0 8px 20px rgba(17,24,39,.08)}
.advisor-photo-area{width:120px;height:120px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 auto 16px;flex-shrink:0}
.advisor-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.advisor-photo-area.no-photo{background:#e5e7eb}
.advisor-photo-initials{font-size:36px;line-height:1;font-weight:700;color:#4b5563}

.advisor-card-body{padding:0}
.advisor-name{margin:0;font-size:18px;line-height:1.3;font-weight:700;color:#111111}
.advisor-role{margin:5px 0 13px;font-size:13px;line-height:1.4;color:#6b7280}
.advisor-tags{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-bottom:13px}
.advisor-section-tag-row{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#f3f4f6}
.advisor-section-icon{width:14px;height:14px;object-fit:contain}
.advisor-section-tag{font-size:12px;line-height:1;font-weight:600;color:#374151}
.advisor-divider{height:1px;background:#e5e7eb;margin:0 0 13px}

.advisor-contact-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}
.advisor-contact-row:last-child{margin-bottom:0}
.advisor-contact-icon{width:14px;height:14px;color:#9ca3af;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.advisor-contact-icon svg{width:14px;height:14px}
.advisor-contact-link{font-size:13px;line-height:1.35;color:#0056A3;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.advisor-contact-link:hover{color:#0056A3;text-decoration:underline}
.advisor-contact-kind{color:#9ca3af;font-weight:400;font-size:11px}
.advisors-empty{color:#6b7280;font-size:14px;grid-column:1/-1}

@media (max-width:900px){
  .advisors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .advisors-page-layout{padding:20px 12px 34px}
  .advisors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .advisor-card{padding:18px 13px;border-radius:14px}
  .advisor-photo-area{width:86px;height:86px;margin-bottom:12px}
  .advisor-photo-initials{font-size:28px}
  .advisor-name{font-size:15px}
  .advisor-role{margin:4px 0 10px;font-size:12px}
  .advisor-section-tag{font-size:11px}
  .advisor-contact-link{font-size:12px}
}

/* ===== Notas del pelotón (blog) ===== */
.home-weekly-notes .home-notas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.home-weekly-notes-all{color:var(--blue-base,#0056A3);text-decoration:none;font-size:0.9rem;font-weight:600;flex-shrink:0}
.home-weekly-notes-all:hover{opacity:.78}
.home-nota-card{background:#f8f9fa;border:1px solid rgba(15,27,45,.08);border-radius:16px;box-shadow:0 8px 20px rgba(15,27,45,.05);padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .18s ease,box-shadow .18s ease;text-decoration:none}
.home-nota-card:hover{border-color:#0056A3;box-shadow:0 12px 26px rgba(15,27,45,.09)}
.home-nota-kicker{align-self:flex-start;color:#0F1B2D;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--accent,#F4C430);padding-bottom:2px}
.home-nota-title{margin:0;color:#0F1B2D;font-size:1.02rem;line-height:1.3;font-weight:700}
.home-nota-desc{margin:0;color:#5b6675;font-size:.86rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-nota-meta{margin-top:auto;color:#8a93a0;font-size:.76rem}
@media(max-width:900px){.home-weekly-notes .home-notas-grid{grid-template-columns:1fr}}

.notas-page{width:100%}
.notas-page-layout{max-width:820px;margin:0 auto;padding:28px 16px 48px}
.notas-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;font-size:14px;color:#6b7280;text-decoration:none}
.notas-back:hover{color:#0056A3}
.notas-title{margin:0;font-size:28px;line-height:1.15;font-weight:700;color:#111}
.notas-subtitle{margin:8px 0 26px;font-size:15px;line-height:1.45;color:#6b7280}
.notas-list{display:flex;flex-direction:column;gap:16px}
.notas-empty{color:#6b7280;font-size:14px}
.nota-list-card{display:flex;gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;cursor:pointer;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
.nota-list-card:hover{border-color:#0056A3;box-shadow:0 8px 20px rgba(17,24,39,.08)}
.nota-list-card-media{flex:0 0 150px;background-size:cover;background-position:center;background-color:#eef1f4;min-height:120px}
.nota-list-card-body{flex:1 1 auto;min-width:0;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.nota-list-card-kicker{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0056A3}
.nota-list-card-title{margin:0;font-size:16px;line-height:1.3;font-weight:700;color:#111}
.nota-list-card-desc{margin:0;font-size:13px;line-height:1.45;color:#5b6675;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nota-list-card-meta{margin-top:auto;font-size:12px;color:#8a93a0}
@media(max-width:560px){.nota-list-card{flex-direction:column}.nota-list-card-media{flex-basis:auto;width:100%;min-height:150px}}

.nota-page{width:100%}
.nota-page-layout{max-width:720px;margin:0 auto;padding:24px 16px 56px;display:block}
.nota-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;font-size:14px;color:#6b7280;text-decoration:none}
.nota-back:hover{color:#0056A3}
.nota-cover{width:100%;aspect-ratio:16/9;border-radius:16px;background-size:cover;background-position:center;background-color:#eef1f4;margin-bottom:20px}
.nota-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0056A3;margin-bottom:8px}
.nota-headline{margin:0 0 12px;font-size:30px;line-height:1.2;font-weight:800;color:#111;letter-spacing:-0.01em}
.nota-byline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:#8a93a0;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}
.nota-author{color:#5b6675;font-weight:600}
.nota-share-btn{display:inline-flex;align-items:center;gap:6px;background:#FFFFFF;color:#0056A3;border:0.5px solid #E0E0E0;border-radius:8px;padding:7px 14px;font-weight:500;font-size:12px;cursor:pointer;transition:background 0.2s ease;margin:-8px 0 24px}
.nota-share-btn:hover{background:#F5F5F5}
.nota-share-icon{width:18px;height:18px;display:block;background-color:#0056A3;-webkit-mask:url("../img/sections/share.png") no-repeat center/contain;mask:url("../img/sections/share.png") no-repeat center/contain}
.nota-locked{color:#5b6675;font-size:15px}
.nota-locked a{color:#0056A3;font-weight:600}
.nota-content{font-size:16px;line-height:1.7;color:#2a2f37}
.nota-content > *:first-child{margin-top:0}
.nota-content p{margin:0 0 1.1em}
.nota-content h1,.nota-content h2,.nota-content h3{color:#111;line-height:1.25;font-weight:700;margin:1.6em 0 .5em}
.nota-content h1{font-size:1.55em}
.nota-content h2{font-size:1.3em}
.nota-content h3{font-size:1.12em}
.nota-content ul,.nota-content ol{margin:0 0 1.1em;padding-left:1.4em}
.nota-content li{margin:.35em 0}
.nota-content a{color:#0056A3;text-decoration:underline}
.nota-content img{max-width:100%;height:auto;border-radius:10px;margin:1.2em 0;display:block}
.nota-content blockquote{margin:1.3em 0;padding:.6em 1.1em;border-left:3px solid var(--accent,#F4C430);color:#5b6675;font-style:italic}
.nota-content pre{background:#f3f4f6;border-radius:8px;padding:14px 16px;overflow-x:auto;font-size:.9em;margin:1.2em 0}
.nota-content code{background:#f3f4f6;border-radius:4px;padding:.1em .35em;font-size:.9em}
.nota-content pre code{background:none;padding:0}
.nota-content .ql-align-center{text-align:center}
.nota-content .ql-align-right{text-align:right}
@media(max-width:560px){.nota-headline{font-size:24px}}

body.dark-theme:not(.rider-room-active):not(.player-dark) .notas-page,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-page{background:var(--dt-bg)!important;color:var(--dt-text)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .notas-title,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-headline,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-list-card-title,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content h1,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content h2,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content h3{color:var(--dt-text)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .notas-subtitle,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-list-card-desc,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content p,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content li,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-nota-desc{color:var(--dt-muted)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-list-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-nota-card{background:var(--dt-surface)!important;border-color:var(--dt-border)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-nota-title,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-nota-kicker{color:var(--dt-text)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-byline{border-bottom-color:var(--dt-border)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content pre,
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-content code{background:var(--dt-surface-2,#10161F)!important;color:var(--dt-text)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-share-btn{background:var(--dt-surface)!important;border-color:var(--dt-border)!important;color:var(--dt-accent)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-share-btn:hover{background:var(--dt-surface-2,#10161F)!important}
body.dark-theme:not(.rider-room-active):not(.player-dark) .nota-share-icon{background-color:var(--dt-accent)!important}

body.sections-active #section-list .small-muted{color:rgba(44,44,44,0.55)}
.section-detail-page{background:#F5F5F5;padding:32px 48px}
.section-detail-back{display:inline-flex;align-items:center;margin-bottom:20px;font-size:13px;color:#0056A3;text-decoration:none;cursor:pointer}
.section-detail-title-row{display:flex;align-items:center;gap:10px}
.section-detail-title-accent{width:4px;height:32px;background:#0056A3;border-radius:2px;flex-shrink:0}
.section-detail-title{margin:0;font-size:28px;line-height:1.15;font-weight:500;color:#111111}
.section-detail-intro{margin:8px 0 12px;max-width:560px;font-size:14px;line-height:1.6;color:#666666}
.section-detail-meta-row{display:flex;align-items:center;gap:8px}
.section-detail-expert-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#E8EFFE;color:#0056A3;font-size:10px;font-weight:500;flex-shrink:0}
.section-detail-expert-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.section-detail-expert-copy{display:flex;align-items:center;gap:8px;min-width:0}
.section-detail-credit{font-size:12px;color:#888888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-detail-credit-name{font-weight:500;color:#555555}
.section-detail-meta-dot{width:3px;height:3px;border-radius:50%;background:#CCCCCC;flex-shrink:0}
.section-detail-video-count{font-size:12px;color:#888888;white-space:nowrap}
.section-detail-divider{height:1px;background:#E8E8E8;margin-top:16px;margin-bottom:24px}

.section-detail-grid{display:grid;grid-template-columns:1fr;gap:16px}
/* Hector, 2026-09-10: quitó el fondo/borde ("recuadro atrás") — antes cada
   card llevaba una caja blanca/oscura completa detrás del thumbnail+texto;
   ahora es plana, solo la miniatura (que conserva sus esquinas redondeadas
   vía border-radius+overflow:hidden aquí mismo) y el texto debajo. */
.section-video-card{background:transparent;border:none;border-radius:10px;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit}
.section-video-thumb{position:relative;width:100%;padding-top:56.25%;background:#EDEDED}
.section-video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.section-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:rgba(245,196,0,0.9);display:flex;align-items:center;justify-content:center}
.section-video-play::before{content:'';width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #2C2200;margin-left:2px}
.section-video-duration{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,0.8);color:#FFFFFF;font-size:10px;line-height:1;padding:2px 5px;border-radius:3px}

.section-video-body{padding:12px 14px}
.section-video-title{margin:0 0 6px;font-size:14px;font-weight:500;color:#111111;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px}
/* Hector, 2026-09-10: título de las cards en Poppins bold, SOLO escritorio
   (ya es Poppins en todo el sitio por el body — solo faltaba el peso).
   min-width:1024px = lo contrario exacto del breakpoint "móvil" que ya usa
   el sitio (max-width:1023px), para no tocar nada de móvil. */
@media(min-width:1024px){
  .section-video-title{font-weight:700}
}
/* Orden fijo en toda la app (Hector, 2026-09-08): sección → título → fecha.
   .section-video-meta ahora va ANTES del título (antes iba después) — el
   margin-bottom es el que separa la sección del título que sigue. */
.section-video-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 4px}
.section-video-author,.section-video-date{font-size:11px;color:#888888;line-height:1}
/* El nombre de la sección va siempre en azul, en toda la app (Hector,
   2026-09-08) — este era el único que se había quedado gris. */
.section-video-time{font-size:11px;color:#0056A3;line-height:1}
.section-video-meta-dot{width:3px;height:3px;border-radius:50%;background:#CCCCCC;flex-shrink:0}
.section-video-badge-premium{display:inline-block;font-size:10.5px;font-weight:600;line-height:1;color:#2C2200;background:#F5C400;border-radius:4px;padding:3px 7px}
/* Fecha de subida + badge premium en la misma línea, badge siempre a la
   derecha (Hector, 2026-09-08) — mismo patrón que .cyx-new-card-date-row. */
.section-video-date-row{display:flex;align-items:center;gap:8px;margin-top:4px}
.section-video-date-row .section-video-badge-premium{margin-left:auto}

@media(min-width:768px){
  .section-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1200px){
  .section-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1024px){
  .section-detail-page{padding:28px 20px}
}
@media(max-width:640px){
  .section-detail-page{padding:20px 12px}
  .section-detail-title{font-size:24px}
}

#section-search{
  background:#FFFFFF !important;
  border:1px solid #E0E0E0 !important;
  border-radius:8px !important;
  height:44px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:14px center !important;
  background-size:16px 16px !important;
  padding-left:40px !important;
  color:#0F1B2D !important;
}
#section-search::placeholder{color:rgba(15,27,45,0.6) !important}
#section-search:focus{
  background:#FFFFFF !important;
  border-color:#0056A3 !important;
  box-shadow:none !important;
  outline:none !important;
}

.section-search-wrap{position:relative}

#section-search-suggestions{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  margin-top:4px !important;
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:10px;
  box-shadow:none !important;
  overflow:hidden;
  max-height:400px;
  overflow-y:auto;
  z-index:100;
}

#section-search-suggestions .section-search-row{
  height:64px;
  padding:0 16px;
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  text-decoration:none;
  color:#111111 !important;
  background:#FFFFFF;
  border:0;
  border-bottom:1px solid #F0F0F0;
}
#section-search-suggestions .section-search-row:last-child{border-bottom:none}
#section-search-suggestions .section-search-row:hover{background:#F5F5F5}

.section-search-row-thumb{width:48px;height:36px;border-radius:5px;object-fit:cover;display:block;flex:0 0 48px}
.section-search-row-copy{flex:1;min-width:0}
.section-search-row-title{font-size:13px;line-height:1.25;font-weight:500;color:#111111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-search-row-meta{margin-top:2px;font-size:11px;line-height:1.2;color:#888888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-search-row-arrow{font-size:13px;line-height:1;color:#CCCCCC;flex:0 0 auto}

.section-search-history-label{padding:10px 16px;font-size:11px;line-height:1.2;color:#888888;text-transform:uppercase;letter-spacing:0.05em}
.section-search-history-empty{padding:10px 16px;font-size:12px;line-height:1.2;color:#888888}

#section-search-suggestions .section-search-history-item .section-search-row-title{font-size:12px;color:#555555}

/* Player background by content type */
body.player-standard{background:#F5F5F5 !important}
body.player-standard #app{background:#F5F5F5 !important}
body.player-standard #player-video{background:#F5F5F5 !important}
body.player-interview{background:var(--dt-bg, #0E131A) !important}
body.player-interview #app{background:var(--dt-bg, #0E131A) !important}
body.player-interview #player-video{background:#141414 !important}
body.player-standard #app,
body.player-standard #app .fw-bold,
body.player-standard #app .h5,
body.player-standard #app .small-muted{color:#2c2c2c !important}
body.profile-active .profile-title,
body.profile-active .profile-section-title,
body.profile-active .profile-name{color:#0b0b0b}
body.profile-active .profile-meta{color:rgba(11,11,11,0.7)}
body.profile-active .profile-plan{color:rgba(44,44,44,0.85)}
body.profile-active .profile-card{background:#ffffff;border:1px solid rgba(11,11,11,0.08);box-shadow:0 6px 18px rgba(44,44,44,0.06)}
body.profile-active .profile-avatar{background:#E6EEF5;color:#0056A3}
body.profile-active .profile-tags .profile-tag{background:rgba(11,11,11,0.06);border-color:rgba(11,11,11,0.12);color:#0b0b0b}
body.profile-active .profile-list{background:#ffffff;border:1px solid rgba(11,11,11,0.08)}
body.profile-active .profile-list-item{color:#0b0b0b;border-bottom:1px solid rgba(11,11,11,0.08)}
body.profile-active .profile-list-arrow{color:rgba(11,11,11,0.6)}
body.profile-active .profile-link{color:#0b0b0b}

/* Profile redesign */
body.profile-active .profile-page{padding:0 0 64px}
body.profile-active .profile-page-layout{max-width:1200px;margin:0 auto;padding:32px 48px}
body.profile-active .profile-title{font-size:38px;font-weight:500;color:#111111;margin-bottom:24px}
body.profile-active .profile-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}
body.profile-active .profile-left-col{display:flex;flex-direction:column;gap:14px}
body.profile-active .profile-right-col{min-width:0}

body.profile-active .profile-card{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:12px;padding:24px;text-align:center;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:0}
body.profile-active .profile-avatar{width:64px;height:64px;background:#E6EEF5;color:#0056A3;font-size:20px;font-weight:500;margin-bottom:12px}
body.profile-active .profile-name{font-size:16px;font-weight:500;color:#111111}
body.profile-active .profile-meta{font-size:13px;color:#888888;margin-top:4px}
body.profile-active .profile-plan{font-size:12px;font-weight:500;color:#0056A3;margin-top:4px;margin-bottom:12px}
body.profile-active .profile-tags{justify-content:center;gap:6px;margin-top:0}
body.profile-active .profile-tag{font-size:11px;color:#666666;border:0.5px solid #E0E0E0;border-radius:999px;padding:3px 10px;background:#FFFFFF}

body.profile-active .profile-subscription-card{background:#FFFDF0;color:#111111;border:1.5px solid #F5C400;border-radius:12px;padding:16px !important;box-shadow:none}
body.profile-active .profile-subscription-card #profile-subscription-name{font-size:14px;font-weight:500;color:#111111}
body.profile-active .profile-subscription-card #profile-subscription-description{font-size:12px;color:#666666 !important;line-height:1.5;margin-bottom:10px !important}
body.profile-active .profile-subscription-card .profile-link{font-size:13px;color:#0056A3;font-weight:500}

body.profile-active .profile-menu-card{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:12px;overflow:hidden}
body.profile-active .profile-card-heading{padding:14px 16px 8px;font-size:11px;font-weight:600;line-height:1;color:#888888;text-transform:uppercase;letter-spacing:0.08em}
body.profile-active .profile-preferences-list .profile-list-item{min-height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #F0F0F0;color:#111111}
body.profile-active .profile-preferences-list .profile-list-item:last-child{border-bottom:none}
body.profile-active .profile-preferences-list .profile-list-item:hover{background:#F5F5F5}
body.profile-active .profile-list-left{display:flex;align-items:center;gap:12px}
body.profile-active .profile-list-icon{width:16px;height:16px;color:#888888}
body.profile-active .profile-list-text{font-size:14px;font-weight:500;color:#111111}
body.profile-active .profile-list-arrow{color:#CCCCCC;font-size:13px}

body.profile-active .profile-logout{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:10px;font-size:14px;font-weight:500;color:#E24B4A;padding:12px;width:100%;text-align:center}
body.profile-active .profile-logout:hover{background:#FFF5F5}

body.profile-active .profile-streak-card{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:12px;padding:20px;margin-bottom:16px}
body.profile-active .profile-streak-title-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}
body.profile-active .profile-streak-accent{width:3px;height:16px;border-radius:2px;background:#F5C400;display:inline-block}
body.profile-active .profile-streak-title{font-size:15px;font-weight:500;color:#111111}
body.profile-active .profile-streak-main-row{display:flex;align-items:center;gap:20px;margin-bottom:16px}
body.profile-active .profile-streak-left{text-align:center;min-width:120px}
body.profile-active .profile-streak-medal{width:44px;height:54px;display:block;margin:0 auto 8px}
body.profile-active .profile-streak-count{font-size:36px;font-weight:500;color:#111111;line-height:1.05}
body.profile-active .profile-streak-count-label{font-size:11px;color:#888888;line-height:1.2;margin-top:2px}
body.profile-active .profile-streak-right{flex:1;min-width:0}
body.profile-active .profile-streak-message{font-size:14px;font-weight:500;color:#111111;line-height:1.3}
body.profile-active .profile-streak-sub{margin-top:4px;font-size:12px;color:#888888;line-height:1.5}
body.profile-active .profile-streak-week{display:flex;gap:6px}
body.profile-active .profile-streak-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}
body.profile-active .profile-streak-day-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;background:#F5F5F5;color:#CCCCCC;border:1px solid #E8E8E8}
body.profile-active .profile-streak-day.is-visited .profile-streak-day-circle{background:#F5C400;color:#2C2200;border-color:#F5C400}
body.profile-active .profile-streak-day.is-today .profile-streak-day-circle{border:2px solid #B07D00}
body.profile-active .profile-streak-day-label{font-size:10px;color:#888888;line-height:1}

body.profile-active .profile-sections-card{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:12px;padding:20px;margin-bottom:16px}
body.profile-active .profile-sections-title-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}
body.profile-active .profile-sections-accent{width:3px;height:16px;border-radius:2px;background:var(--blue-base);display:inline-block}
body.profile-active .profile-sections-title{font-size:15px;font-weight:500;color:#111111}
body.profile-active .profile-sections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.profile-active .profile-sections-item{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:10px;padding:16px 12px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}
body.profile-active .profile-sections-item:hover{border-color:var(--blue-base);background:#F8F8F8}
body.profile-active .profile-sections-icon{width:28px;height:28px;object-fit:contain;display:block;margin:0 auto 8px;filter:brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%)}
body.profile-active .profile-sections-name{font-size:12px;font-weight:500;color:#111111;line-height:1.25}

body.profile-active .profile-saved-card{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:12px;padding:20px}
body.profile-active .profile-saved-title-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}
body.profile-active .profile-saved-accent{width:3px;height:16px;border-radius:2px;background:#0056A3;display:inline-block}
body.profile-active .profile-saved-title{font-size:15px;font-weight:500;color:#111111}
body.profile-active .profile-saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.profile-active .profile-saved-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer}
body.profile-active .profile-saved-item:hover{background:#F5F5F5}
body.profile-active .profile-saved-thumb{width:80px;height:48px;border-radius:6px;object-fit:cover;background:#1a1a1a;flex-shrink:0}
body.profile-active .profile-saved-info{min-width:0;flex:1}
body.profile-active .profile-saved-section-row{display:flex;align-items:center;gap:4px;margin-bottom:3px}
body.profile-active .profile-saved-section-icon{width:14px;height:14px;object-fit:contain;display:block;filter:brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%)}
body.profile-active .profile-saved-section-tag{font-size:11px;font-weight:500;color:#0056A3;text-transform:uppercase}
body.profile-active .profile-saved-video-title{font-size:12px;font-weight:500;color:#111111;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.profile-active .profile-saved-video-duration{font-size:11px;color:#888888;margin-top:2px}
body.profile-active .profile-empty-state{font-size:14px;color:#888888;text-align:center;padding:24px 10px}

body.profile-active #profile-preferences-title,
body.profile-active #profile-subscription-title,
body.profile-active #profile-favorites-title{display:none !important}

@media(max-width:1023px){
  body.profile-active .profile-page-layout{padding:24px 18px}
  body.profile-active .profile-grid{grid-template-columns:1fr}
  body.profile-active .profile-saved-grid{grid-template-columns:1fr}
}
body.profile-active .profile-logout{border-color:rgba(11,11,11,0.2);color:#0b0b0b}

/* Ensure notification icon is clickable and dropdown appears above other UI */
.notification-icon{cursor:pointer;z-index:1300;position:relative}
.notification-dropdown{z-index:1350}
.notification-dropdown.show{display:block}
.notification-header{padding:16px;font-weight:700;font-size:1.1rem;border-bottom:1px solid rgba(255,255,255,0.1)}
.notification-list{max-height:400px;overflow-y:auto}
.notification-item{padding:16px;border-bottom:1px solid rgba(255,255,255,0.05);cursor:pointer;transition:background 0.2s}
.notification-item:hover{background:rgba(255,255,255,0.05)}
.notification-item:last-child{border-bottom:none}
.notification-title{font-weight:400;margin-bottom:4px}
.notification-title strong{font-weight:600}
.notification-text{font-size:0.9rem;color:rgba(255,255,255,0.8);margin-bottom:4px}
.notification-time{font-size:0.8rem;color:rgba(255,255,255,0.5)}

/* Notificaciones dinámicas (2026-09-07): el item ahora es un <a> */
a.notification-item{display:block;text-decoration:none;color:#fff}
a.notification-item:hover{text-decoration:none;color:#fff}
.notification-empty{padding:26px 16px;text-align:center;font-size:0.9rem;color:rgba(255,255,255,0.55)}

/* Badge amarillo con el número de no leídas (círculo sobre la campana) */
.notification-badge{
  position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;
  box-sizing:border-box;border-radius:999px;background:#F5C400;color:#1a1a1a;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:10px;line-height:16px;
  text-align:center;pointer-events:none;box-shadow:0 0 0 2px #ebebeb;z-index:1400;
}
body.rider-room-active .notification-badge,
body.player-dark .notification-badge{box-shadow:0 0 0 2px #1a1a1a}

/* Rider Room page dark theme */
.rider-room-page{background:var(--dt-bg, #0E131A);color:#ffffff;padding-top:0;padding-bottom:48px;min-height:100vh}
.rider-room-page .container{background:transparent}
.rider-room-page .h4,.rider-room-page .fw-bold{color:#ffffff}
.rider-room-page .small-muted{color:rgba(255,255,255,0.9)}
.rider-room-page .btn-accent{background:#ffd400;color:#1a1a1a}
.rider-room-page .btn-outline-accent{border-color:rgba(255,212,0,0.14);color:#ffffff;background:rgba(255,255,255,0.02)}
.rider-room-page .rider-menu{box-shadow:0 8px 30px rgba(0,0,0,0.6)}
.rider-room-page a{color:#ffd400}

/* Rider Room entrance animations */
@keyframes riderFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.rider-room-page #riderroom-teaser-block{opacity:0;animation:riderFadeIn 0.5s ease-out forwards}

/* Rider Room Teaser Block - Two Column Layout */
.riderroom-teaser-block{display:flex;flex-direction:column;gap:20px;margin:0 auto 32px;padding:24px;background:#0a0a0a;border-radius:16px}
@media(min-width:768px){
  .riderroom-teaser-block{flex-direction:row;gap:32px;padding:32px}
  .riderroom-teaser-video-col{flex:0 0 60%;max-width:60%}
  .riderroom-teaser-info-col{flex:0 0 40%;max-width:40%;padding-left:8px}
}
.riderroom-teaser-video-col{position:relative;overflow:hidden;border-radius:12px;cursor:pointer}
.riderroom-teaser-wrapper{position:relative;width:100%;padding-top:56.25%;background:#000;border-radius:12px;overflow:hidden;transition:transform 0.25s ease,box-shadow 0.25s ease}
.riderroom-teaser-video-col:hover .riderroom-teaser-wrapper{transform:scale(1.01);box-shadow:0 12px 40px rgba(0,0,0,0.5)}
.riderroom-teaser-label{position:absolute;top:12px;left:12px;z-index:3;background:rgba(0,0,0,0.6);color:#fff;font-size:12px;font-weight:600;letter-spacing:0.5px;border-radius:6px;padding:4px 8px}
.riderroom-teaser-duration{position:absolute;bottom:12px;right:12px;z-index:3;background:rgba(0,0,0,0.7);color:#fff;font-size:11px;font-weight:600;letter-spacing:0.3px;border-radius:4px;padding:3px 6px;font-family:'Poppins',sans-serif}
.riderroom-teaser-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;width:76px;height:76px;border-radius:50%;background:rgba(0,0,0,0.45);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0.9;transition:transform 0.2s ease,background 0.2s ease,opacity 0.2s ease}
.riderroom-teaser-play-btn svg{width:32px;height:32px;color:#fff;margin-left:4px}
.riderroom-teaser-play-btn:hover,.riderroom-teaser-video-col:hover .riderroom-teaser-play-btn{opacity:1;transform:translate(-50%,-50%) scale(1.06);background:rgba(0,0,0,0.6)}
.riderroom-teaser-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.riderroom-teaser-video[controls]{pointer-events:auto}
.riderroom-teaser-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.3) 100%);pointer-events:none}
.riderroom-teaser-info-col{display:flex;flex-direction:column;justify-content:center;color:#fff}
.riderroom-teaser-title{font-family:'Poppins',sans-serif;font-size:1.8rem;font-weight:700;letter-spacing:-0.5px;color:#fff;line-height:1.1;margin-bottom:4px}
.riderroom-teaser-subtitle{font-size:1rem;font-weight:400;color:rgba(255,255,255,0.7);margin-bottom:20px}
.riderroom-teaser-features{margin-bottom:16px}
.riderroom-teaser-features-title{font-size:0.85rem;font-weight:600;color:rgba(255,255,255,0.9);margin-bottom:8px}
.riderroom-teaser-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.riderroom-teaser-list li{font-size:14px;line-height:1.8;color:rgba(255,255,255,0.85);padding-left:16px;position:relative}
.riderroom-teaser-list li::before{content:"•";position:absolute;left:0;color:#F5C400}
.riderroom-teaser-count{font-size:0.9rem;font-weight:500;color:#F5C400;margin-bottom:20px}
.riderroom-teaser-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.riderroom-teaser-btn-play{background:#FFD600;color:#222;font-weight:700;font-size:0.9rem;padding:10px 22px;border-radius:22px;box-shadow:0 2px 8px rgba(0,0,0,0.15);border:none;display:flex;align-items:center;gap:6px}
.riderroom-teaser-btn-play:hover{background:#ffe033}
.riderroom-teaser-btn-premium{background:#F5C400;color:#2C2200 !important;font-weight:500;font-size:14px;padding:10px 20px;border-radius:8px;border:none;text-decoration:none}
.riderroom-teaser-btn-premium:hover{opacity:0.9}

.rider-room-page .rider-podcast-card{opacity:0;animation:riderFadeIn 0.4s ease-out forwards}
.rider-room-page .rider-podcast-card:nth-child(1){animation-delay:0.1s}
.rider-room-page .rider-podcast-card:nth-child(2){animation-delay:0.2s}
.rider-room-page .rider-podcast-card:nth-child(3){animation-delay:0.3s}
.rider-room-page .rider-podcast-card:nth-child(4){animation-delay:0.4s}
.rider-room-page .rider-podcast-card:nth-child(5){animation-delay:0.5s}
.rider-room-page .rider-podcast-card:nth-child(6){animation-delay:0.6s}
.rider-room-page .rider-category-carousel{opacity:0;animation:riderFadeIn 0.4s ease-out 0.05s forwards}

/* Rider Room title styling (texto — se queda por si se usa en otro lado) */
.rider-room-page .h4#rider-title,
.rider-room-page .rider-title {
  font-family: 'Poppins', sans-serif;
  font-weight:700;
  font-size:2rem;
  text-align:center;
  margin-top:0;
  margin-bottom:0.2rem;
}
/* Logo en vez de texto (Hector, 2026-09-09) — el PNG trae bastante aire
   transparente arriba/abajo del texto, por eso el ancho se ve más generoso
   de lo que el logo "visualmente" ocupa. */
.rider-room-page .rider-title-logo {
  display:block;
  margin:0 auto 0.2rem;
  width:100%;
  max-width:280px;
  height:auto;
}
/* 20% más grande SOLO en escritorio (Hector, 2026-09-09): 280px*1.2=336px. */
@media(min-width:1024px){
  .rider-room-page .rider-title-logo {
    max-width:336px;
  }
}

/* Remove container top margin */
.rider-room-page .container.mt-3{margin-top:40px !important;padding-top:0}

/* Reduce subtitle spacing */
.rider-room-page .small-muted.text-center{margin-top:2px;margin-bottom:28px;font-family:'Poppins',sans-serif;font-weight:700}

/* Rider Room menu card */
.rider-menu{background-size:cover;background-position:center 20%;border-radius:12px;overflow:hidden;position:relative}
.rider-menu{width:calc((100% - 12px) / 2);min-width:220px;height:220px;margin:0}
.rider-menu{cursor:pointer;transition:transform 0.18s ease,box-shadow 0.18s ease}
.rider-menu:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,0.6)}
.rider-menu .card-body{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;background:linear-gradient(180deg, rgba(0,0,0,0.0), rgba(0,0,0,0.6));display:flex;flex-direction:column;gap:6px;justify-content:flex-end;align-items:flex-start;text-align:left}
.rider-menu .card-body > div{width:100%}
.rider-menu .card-body > div:last-child{margin-top:0 !important;display:flex;justify-content:flex-start;gap:12px}
.rider-menu .card-body{color:#ffffff}
.rider-menu .card-body .small-muted{color:rgba(255,255,255,0.9)}
.rider-menu .card-body .fw-bold{color:#ffffff}
.rider-menu .btn-accent,
.rider-menu .btn-outline-accent{padding:6px 10px;border-radius:999px;font-size:0.72rem;line-height:1.1;font-weight:700}

/* Podcast Premium Cards - Rider Room.
   Hector, 2026-09-10: vio el listado de una sección sin caja (#90) y le
   gustó más "que no estén como guardadas en cards" — mismo tratamiento
   aquí: sin fondo ni borde, plano. En móvil ya era así desde antes (ver
   sections-mobile.css #rider-carousel .rider-podcast-card, mobile-only,
   no se tocó); esto solo alcanza al escritorio, que se había quedado con
   la caja vieja. */
.rider-room-page .rider-podcast-card{position:relative;display:block;background:transparent;border:none;border-radius:10px;overflow:hidden;cursor:pointer}

.rider-room-page .rider-podcast-media{position:relative;width:100%;padding-top:56.25%;background:#1f1f1f;overflow:hidden}
.rider-room-page .rider-podcast-thumb{position:absolute;inset:0;width:100%;height:100%;border-radius:0;object-fit:cover;background:#2a2a2a;transition:none;display:block}

.rider-room-page .rider-podcast-play{display:none}
.rider-room-page .rider-podcast-play-triangle{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:11px solid #2C2200;margin-left:2px}
.rider-room-page .rider-podcast-thumb-duration{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,0.8);color:#ffffff;font-size:10px;font-weight:500;line-height:1;padding:1px 5px;border-radius:3px;font-family:'Poppins',sans-serif}

.rider-room-page .rider-podcast-body{display:flex;flex-direction:column;gap:0;min-width:0;padding:12px 14px}
.rider-room-page .rider-podcast-guest{font-weight:500;font-size:14px;letter-spacing:0;color:#ffffff;line-height:1.3;transition:none;margin-bottom:4px}
.rider-room-page .rider-podcast-card:hover .rider-podcast-guest{color:#ffffff}
/* Hector, 2026-09-10: mismo ajuste que .section-video-title arriba — título
   en Poppins bold solo en escritorio (min-width:1024px). */
@media(min-width:1024px){
  .rider-room-page .rider-podcast-guest{font-weight:700}
}
/* Hector, 2026-09-10: primero se quitó la descripción solo en móvil; luego
   pidió lo mismo en escritorio ("se ve más limpio") — ya no depende del
   ancho, se oculta siempre. Resto de las propiedades se dejan tal cual
   (por si algún día se vuelve a mostrar) aunque no tengan efecto visible. */
.rider-room-page .rider-podcast-topic{display:none;margin-top:0;margin-bottom:10px;font-size:11px;font-weight:400;color:rgba(255,255,255,0.45);line-height:1.5;overflow:hidden}
/* El achicado de 10% del título SÍ se queda solo en móvil (no pidió esto en
   escritorio) — mismo breakpoint que ya usa esta página en otros ajustes
   solo-móvil (.rider-category-label). */
@media(max-width:1023px){
  .rider-room-page .rider-podcast-guest{font-size:12.6px}
}
.rider-room-page .rider-podcast-meta{display:flex;align-items:center;gap:7px;margin-top:0}
/* Hector, 2026-09-10: esta clase ya existía (con estilos dark+light listos)
   pero nunca se usaba — se renombró de "duration" a "date" y se usa para la
   fecha de subida de cada card (antes no se mostraba). */
.rider-room-page .rider-podcast-date{font-size:11px;font-weight:500;color:rgba(255,255,255,0.3);margin-top:6px}
.rider-room-page .rider-podcast-badge{padding:2px 6px;border-radius:3px;font-size:9px;font-weight:500;letter-spacing:0.02em;text-transform:uppercase;background:#F5C400;color:#2C2200}
.fav-icon{width:27px;height:27px;display:inline-block;object-fit:contain;filter:brightness(0) invert(1) contrast(3)}

@media(max-width:520px){
  .rider-menu{width:72%;min-width:180px;height:180px}
}

/* Podcast list container */
#rider-carousel{display:grid;grid-template-columns:1fr;gap:20px;padding-bottom:16px;margin-top:30px;margin-bottom:48px}
@media(min-width:768px){#rider-carousel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){#rider-carousel{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Rider Room category carousel */
/* Rider Room premium membership note */
.rider-premium-note{font-size:0.75rem;color:rgba(255,255,255,0.4);text-align:center;margin-top:16px;font-weight:400;letter-spacing:0.01em}

/* Etiqueta "Explora por modalidad" arriba de las pills, izquierda (Hector,
   2026-09-09) — mismo patrón de color que .rider-room-page .h4 (blanco en
   oscuro, ver override de tema claro más abajo en el archivo). */
.rider-category-label{
  font-family:'Poppins',sans-serif;
  font-weight:400;
  font-size:1.155rem;
  color:#ffffff;
  text-align:left;
  margin:0;
}
/* 20% más chico SOLO en móvil, después +10% a ambos (Hector, 2026-09-09):
   base 1.05rem -> escritorio 1.05*1.1=1.155rem; móvil 0.84*1.1=0.924rem. */
@media(max-width:1023px){
  .rider-category-label{
    font-size:0.924rem;
  }
}

/* Rider Room category carousel */
.rider-category-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;width:100%;overflow-x:unset;padding:12px 0 8px;margin:25px 0 28px}

@media(min-width:1200px){
  .rider-room-page .container{
    padding-left:48px;
    padding-right:48px;
  }
}
.rider-category-pill{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;width:100%;padding:12px 12px;border-radius:12px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);text-align:center;font-weight:700;letter-spacing:0.02em;color:#ffffff;cursor:pointer;appearance:none}
@media (max-width: 600px) {
  .rider-category-carousel {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 10px 0 6px;
    margin: 0;
  }
  .rider-category-pill {
    font-size: 0.9rem;
    padding: 10px 8px;
  }
}
.rider-category-pill:hover{background:rgba(255,255,255,0.08)}
.rider-category-pill.is-active{background:#ffd400;color:#111111;border-color:rgba(255,212,0,0.5)}

/* Home search suggestions */
.list-group .list-group-item{background:transparent;color:var(--muted);border:none;padding:10px 12px;border-radius:8px}
.list-group .list-group-item:hover{background:rgba(255,255,255,0.03);color:var(--text)}
.list-group .result-title{font-weight:700;color:var(--text);font-size:0.95rem}
.list-group .result-sub{font-size:0.85rem;color:var(--muted)}

/* Suggestion thumbnail (16:9, tamaño fijado en línea en app.js) */
.suggest-thumb{width:72px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;flex:0 0 72px}
.list-group .d-flex .result-title{font-size:0.97rem}

/* Home search toggle icon near title */
#home-search-toggle img{filter:none;width:44px;height:44px;display:block}
body:not(.home-active) #home-search-toggle{display:none}
#home-search-container{transition:opacity 0.14s ease}

/* Search modal styles */
#search-modal{color:#111111}
.search-modal-panel{background:#FFFFFF;border-radius:12px;border:1px solid #E6E6E6;box-shadow:0 10px 30px rgba(0,0,0,0.12)}
#search-modal .list-group{max-height:460px;overflow:auto}
#search-modal .fw-bold{color:#111111}
#search-modal #global-search{
  background:#FFFFFF;
  border:1px solid #BFD3F2;
  color:#111111;
  box-shadow:none;
}
#search-modal #global-search::placeholder{color:#7A7A7A}
#search-modal #global-search-close{
  border:none;
  background:transparent;
  color:#444444;
  font-size:24px;
  line-height:1;
  padding:0 6px;
  text-decoration:none;
}
#search-modal #global-search-close:hover{color:#111111}
#global-search-history .list-group-item{background:#FFFFFF;border:none;color:#666666;padding:8px 10px}
#global-search-history .list-group-item:hover{background:#F5F5F5;color:#111111;cursor:pointer}
#global-search-suggestions .list-group-item{background:#FFFFFF;border:none;padding:8px}
#search-modal .result-title{color:#111111}
#search-modal .result-sub,
#search-modal .result-desc{color:#777777}
#search-modal-backdrop{background:rgba(255,255,255,0.96);backdrop-filter:none}

@media (max-width: 1023px){
  /* Modal a pantalla completa: input fijo arriba, historial compacto, y la
     lista de resultados ocupa TODO lo que queda hasta el borde inferior con
     scroll propio (2026-09-07). */
  #search-modal > div{
    max-width:100% !important;
    margin:0 !important;
    height:100%;
    height:100dvh;
    display:flex;
    flex-direction:column;
  }

  #search-modal .search-modal-panel{
    border-radius:0;
    border:none;
    box-shadow:none;
    min-height:0;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    padding:10px 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    overflow:hidden;
  }

  #search-modal .search-modal-panel > .d-flex{ flex:0 0 auto; }

  #search-modal .row{
    margin:0;
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  #search-modal .col-5,
  #search-modal .col-7{
    width:100%;
    max-width:100%;
    padding:0;
  }
  /* Historial: compacto, no empuja los resultados */
  #search-modal .col-5{
    flex:0 0 auto;
  }
  #search-modal #global-search-history{
    max-height:20vh;
    overflow-y:auto;
  }
  /* Resultados: llenan el resto y hacen scroll */
  #search-modal .col-7{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  #search-modal #global-search-suggestions{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  /* Cuando hay búsqueda activa, JS pone .is-searching y se oculta el historial
     para que la lista ocupe toda la pantalla. */
  #search-modal.is-searching .col-5{ display:none; }
}


/* ========================================================================
   HOME LOWER SECTION (Scoped) - Mejora en 5 minutos hacia abajo
   ======================================================================== */

/* HOME – Rider Room Banner */
#home-lower .home-riderroom-banner{
  padding-top: 28px;
  padding-bottom: 18px;
}

#home-lower .home-riderroom-card{
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  background: linear-gradient(135deg, #111111 0%, #151515 100%);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#home-lower .home-riderroom-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.26);
}

#home-lower .home-riderroom-media{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  display: block;
  background: #232323;
}

#home-lower .home-riderroom-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#home-lower .home-riderroom-media.no-image::before{
  content: "Trailer";
  color: rgba(255,255,255,0.75);
  font-size: 0.88rem;
  font-weight: 600;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#home-lower .home-riderroom-play{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.28);
}

#home-lower .home-riderroom-trailer-label{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(0,0,0,0.56);
  border:1px solid rgba(255,255,255,0.22);
  color:#ffffff;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.08em;
  line-height:1;
}

#home-lower .home-riderroom-trailer-duration{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  background:rgba(0,0,0,0.68);
  color:#ffffff;
  font-size:10px;
  font-weight:600;
  line-height:1;
  padding:3px 7px;
  border-radius:6px;
}

#home-lower .home-riderroom-content{
  color: #fff;
  text-align: center;
}

#home-lower .home-riderroom-badge{
  display: inline-flex;
  align-items: center;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #111111;
  background: var(--accent);
  border-radius: 999px;
  padding: 5px 10px;
  margin-bottom: 12px;
}

#home-lower .home-riderroom-title{
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}

#home-lower .home-riderroom-sub{
  margin: 0 0 6px;
  color: rgba(255,255,255,0.9);
  font-size: 0.98rem;
}

#home-lower .home-riderroom-included{
  margin: 0 0 14px;
  color: rgba(255,255,255,0.68);
  font-size: 0.83rem;
  font-weight: 600;
}

#home-lower .home-riderroom-bullets{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
}

#home-lower .home-riderroom-bullets li{
  font-size: 0.85rem;
  color: rgba(255,255,255,0.9);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 999px;
  padding: 6px 11px;
}

#home-lower .home-riderroom-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 12px;
}

#home-lower .home-riderroom-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 13px;
  min-height: 44px;
  padding: 10px 18px;
  font-size: 0.9rem;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

#home-lower .home-riderroom-btn:hover{
  transform: translateY(-2px);
}

#home-lower .home-riderroom-btn-primary{
  background: var(--accent);
  color: #111111;
  box-shadow: 0 6px 16px rgba(255, 212, 0, 0.22);
}

#home-lower .home-riderroom-btn-ghost{
  background: #F5C400;
  color: #111111;
  border: none;
  box-shadow: 0 4px 12px rgba(245, 196, 0, 0.25);
}

#home-lower .home-riderroom-btn-ghost:hover{
  background: #FFD700;
  box-shadow: 0 6px 16px rgba(245, 196, 0, 0.35);
}

/* HOME – Notas de la semana */
#home-lower .home-weekly-notes{
  padding-top: 14px;
  padding-bottom: 34px;
}

#home-lower .home-weekly-notes-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  /* 40px = mismo espacio medido (~42px) entre título y tarjetas que ya usan
     Rider Room/Mejora en 5 minutos/Nuevo en Cyclick (Hector, 2026-09-12,
     segunda ronda: "asegúrate que estén consistentes"). */
  margin-bottom: 40px;
}

#home-lower .home-weekly-notes-title{
  margin: 0;
  color: #0F1B2D;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

#home-lower .home-weekly-notes-link{
  color: var(--blue-base);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
}

#home-lower .home-weekly-notes-link:hover{
  opacity: 0.78;
}

#home-lower .home-weekly-notes-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

#home-lower .home-weekly-main-note,
#home-lower .home-weekly-list{
  background: #f8f9fa;
  border: 1px solid rgba(15, 27, 45, 0.08);
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(15, 27, 45, 0.05);
}

#home-lower .home-weekly-main-note{
  padding: 24px;
  cursor: pointer;
}

#home-lower .home-weekly-kicker{
  display: inline-block;
  color: #0F1B2D;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--accent);
  padding-bottom: 2px;
  margin-bottom: 12px;
}

#home-lower .home-weekly-main-title{
  margin: 0 0 10px;
  font-size: 1.28rem;
  line-height: 1.25;
  color: #0F1B2D;
}

#home-lower .home-weekly-main-desc{
  margin: 0 0 14px;
  font-size: 0.94rem;
  line-height: 1.6;
  color: #5a6472;
}

#home-lower .home-weekly-main-meta{
  font-size: 0.79rem;
  color: #7d8794;
  margin-bottom: 14px;
}

#home-lower .home-weekly-main-cta{
  color: var(--blue-base);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.92rem;
}

#home-lower .home-weekly-list{
  padding: 8px 18px;
}

#home-lower .home-weekly-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none;
  padding: 14px 0;
  color: #0F1B2D;
  border-bottom: 1px solid rgba(15, 27, 45, 0.08);
}

#home-lower .home-weekly-item:last-child{
  border-bottom: none;
}

#home-lower .home-weekly-item h4{
  margin: 0 0 4px;
  font-size: 0.95rem;
  line-height: 1.35;
  font-weight: 600;
}

#home-lower .home-weekly-item span{
  font-size: 0.78rem;
  color: #7d8794;
}

#home-lower .home-weekly-item > span{
  color: var(--blue-base);
  font-size: 1rem;
  font-weight: 700;
}

#home-lower .home-weekly-item:hover h4,
#home-lower .home-weekly-main-cta:hover{
  color: var(--blue-base);
}

/* NEWSLETTER PAGE — Notas de la semana */
.weekly-newsletter-page{
  background:#F5F5F5;
  padding:32px 48px;
}

.weekly-newsletter-header{margin-bottom:0}
.weekly-newsletter-eyebrow{
  margin:0 0 8px;
  font-size:11px;
  color:#0056A3;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:0.1em;
}
.weekly-newsletter-title{
  margin:0;
  font-size:28px;
  line-height:1.25;
  font-weight:500;
  color:#111111;
}
.weekly-newsletter-subtitle{
  margin:12px 0 28px;
  max-width:500px;
  font-size:14px;
  line-height:1.6;
  color:#666666;
}

.weekly-newsletter-subscribe{
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:12px;
  padding:20px 24px;
  margin-bottom:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.weekly-newsletter-subscribe-copy h2{
  margin:0;
  font-size:14px;
  font-weight:500;
  color:#111111;
}
.weekly-newsletter-subscribe-copy p{
  margin:6px 0 0;
  font-size:12px;
  color:#888888;
}
.weekly-newsletter-subscribe-form{display:flex;align-items:center;gap:8px;flex-shrink:0}
.weekly-newsletter-subscribe-form input{
  width:220px;
  height:38px;
  padding:0 14px;
  border:1px solid #E0E0E0;
  border-radius:8px;
  font-size:13px;
  color:#111111;
  background:#FFFFFF;
  outline:none;
}
.weekly-newsletter-subscribe-form input::placeholder{color:#888888}
.weekly-newsletter-subscribe-form button{
  height:38px;
  padding:0 18px;
  border:none;
  border-radius:8px;
  background:#F5C400;
  color:#2C2200;
  font-size:13px;
  font-weight:500;
}

.weekly-newsletter-divider{
  height:1px;
  background:#E8E8E8;
  margin-bottom:32px;
}

.weekly-newsletter-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
}
.weekly-newsletter-section-bar{
  width:3px;
  height:14px;
  border-radius:2px;
  background:#0056A3;
  flex-shrink:0;
}
.weekly-newsletter-section-title span:last-child{
  font-size:11px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:#111111;
}

.weekly-newsletter-featured{
  margin-bottom:16px;
  display:grid;
  grid-template-columns:1fr 340px;
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
}
.weekly-newsletter-featured-media{
  min-height:240px;
  background:#1a1a1a;
  border-radius:12px 0 0 12px;
}
.weekly-newsletter-featured-content{
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.weekly-newsletter-tag{
  margin:0 0 8px;
  font-size:10px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#0056A3;
}
.weekly-newsletter-featured h3{
  margin:0;
  font-size:20px;
  font-weight:500;
  line-height:1.35;
  color:#111111;
}
.weekly-newsletter-featured-excerpt{
  margin:12px 0 0;
  font-size:13px;
  line-height:1.6;
  color:#666666;
}
.weekly-newsletter-featured-meta{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.weekly-newsletter-featured-meta span{
  font-size:11px;
  color:#888888;
}
.weekly-newsletter-featured-meta a{
  font-size:12px;
  color:#0056A3;
  font-weight:500;
  text-decoration:none;
}

.weekly-newsletter-notes-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:32px;
}
.weekly-newsletter-note-card{
  display:block;
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:10px;
  padding:18px;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  transition:border-color 0.2s ease;
}
.weekly-newsletter-note-card:hover{border-color:#0056A3}
.weekly-newsletter-note-card h4{
  margin:0 0 8px;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  color:#111111;
}
.weekly-newsletter-note-excerpt{
  margin:0 0 12px;
  font-size:12px;
  line-height:1.5;
  color:#666666;
}
.weekly-newsletter-note-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.weekly-newsletter-note-meta span{
  font-size:11px;
  color:#888888;
}

.weekly-newsletter-archive-list{background:transparent}
.weekly-newsletter-archive-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid #F0F0F0;
  cursor:pointer;
  text-decoration:none;
  color:inherit;
}
.weekly-newsletter-archive-left{display:flex;align-items:flex-start;gap:12px;min-width:0}
.weekly-newsletter-archive-number{
  width:32px;
  flex-shrink:0;
  font-size:11px;
  color:#888888;
}
.weekly-newsletter-archive-copy{min-width:0}
.weekly-newsletter-archive-title{
  margin:0;
  font-size:14px;
  font-weight:500;
  color:#111111;
  transition:color 0.2s ease;
}
.weekly-newsletter-archive-meta{
  margin:4px 0 0;
  font-size:11px;
  color:#888888;
}
.weekly-newsletter-archive-arrow{
  font-size:13px;
  color:#CCCCCC;
  flex-shrink:0;
}
.weekly-newsletter-archive-row:hover .weekly-newsletter-archive-title{color:#0056A3}

.weekly-newsletter-hidden-body{display:none}

@media(max-width:1024px){
  .weekly-newsletter-page{padding:24px}
  .weekly-newsletter-featured{grid-template-columns:1fr}
  .weekly-newsletter-featured-media{border-radius:12px 12px 0 0}
  .weekly-newsletter-notes-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  .weekly-newsletter-page{padding:20px 16px}
  .weekly-newsletter-subscribe{flex-direction:column;align-items:flex-start}
  .weekly-newsletter-subscribe-form{width:100%}
  .weekly-newsletter-subscribe-form input{width:100%;min-width:0;flex:1}
  .weekly-newsletter-notes-grid{grid-template-columns:1fr}
}

/* HELP PAGE REDESIGN */
.help-redesign-page{
  background:#F5F5F5;
  padding:32px 48px;
  max-width:800px;
  margin:0 auto;
}

.help-redesign-title{
  margin:0 0 6px;
  font-size:28px;
  font-weight:500;
  line-height:1.25;
  color:#111111;
}

.help-redesign-subtitle{
  margin:0 0 32px;
  font-size:14px;
  color:#666666;
}

.help-redesign-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
}

.help-redesign-section-bar{
  width:3px;
  height:14px;
  border-radius:2px;
  background:#0056A3;
  flex-shrink:0;
}

.help-redesign-section-title span:last-child{
  font-size:11px;
  font-weight:500;
  color:#111111;
  text-transform:uppercase;
  letter-spacing:0.06em;
}

.help-faq-item{
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:10px;
  padding:16px 20px;
  margin-bottom:8px;
  cursor:pointer;
  transition:border-color 0.2s ease;
}

.help-faq-item:hover{border-color:#0056A3}

.help-faq-question-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.help-faq-question{
  margin:0;
  font-size:14px;
  font-weight:500;
  color:#111111;
  line-height:1.4;
}

.help-faq-toggle{
  font-size:18px;
  color:#888888;
  line-height:1;
  flex-shrink:0;
}

.help-faq-answer{
  display:none;
  font-size:13px;
  color:#666666;
  line-height:1.6;
  padding-top:12px;
  border-top:1px solid #F0F0F0;
  margin-top:12px;
}

.help-faq-item.is-open .help-faq-answer{display:block}

.help-redesign-divider{
  height:1px;
  background:#E8E8E8;
  margin:32px 0;
}

.help-redesign-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.help-contact-card{
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:12px;
  padding:20px;
}

.help-contact-icon{
  width:20px;
  height:20px;
  color:#0056A3;
  margin:0 auto 12px;
}

.help-contact-icon svg{display:block;width:20px;height:20px}

.help-contact-card h3{
  margin:0;
  font-size:14px;
  font-weight:500;
  color:#111111;
  text-align:center;
}

.help-contact-card p{
  margin:8px 0 14px;
  font-size:12px;
  color:#666666;
  text-align:center;
}

.help-contact-card a{
  display:block;
  text-align:center;
  color:#0056A3;
  font-size:13px;
  font-weight:500;
  text-decoration:none;
}

.help-contact-cta-card{
  background:#FFFFFF;
  border:0.5px solid #E0E0E0;
  border-radius:12px;
  padding:24px 20px;
  text-align:center;
}

.help-contact-cta-text{
  margin:0 auto 16px;
  max-width:520px;
  font-size:13px;
  color:#666666;
  line-height:1.6;
}

.help-contact-cta-btn{
  display:inline-block;
  padding:11px 30px;
  border-radius:999px;
  background:#0056A3;
  color:#FFFFFF;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  transition:opacity .15s ease;
}

.help-contact-cta-btn:hover{opacity:0.92;color:#FFFFFF}

@media(max-width:768px){
  .help-redesign-page{padding:20px 16px}
  .help-redesign-contact-grid{grid-template-columns:1fr}
  .help-contact-cta-btn{display:block}
}

@media (min-width: 980px){
  #home-lower .home-riderroom-card{
    grid-template-columns: minmax(320px, 46%) minmax(0, 1fr);
    align-items: stretch;
    padding: 30px;
    gap: 26px;
  }

  #home-lower .home-riderroom-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  #home-lower .home-riderroom-actions{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    grid-column: 2;
    grid-row: 2;
  }

  #home-lower .home-weekly-notes-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  #home-lower .home-weekly-main-note{
    padding: 30px;
  }
}

@media (min-width: 1024px){
  #home-lower .home-riderroom-card{
    grid-template-columns: minmax(280px, 40%) 1fr;
    gap: 30px;
  }

  #home-lower .home-riderroom-content{
    display: flex;
    flex-direction: column;
  }

  #home-lower .home-riderroom-actions{
    grid-column: 1;
    grid-row: 2;
    margin-top: 16px;
  }

  #home-lower .home-riderroom-media{
    grid-row: 1 / 3;
  }
}

@media (max-width: 979.98px){
  #home-lower .home-weekly-notes-head{
    flex-wrap: wrap;
  }
}

.home-mobile-layout .home-riderroom-banner{
  padding: 0;
}

.home-mobile-layout .home-riderroom-card{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  background: linear-gradient(135deg, #111111 0%, #151515 100%);
  border-radius: 20px;
  padding: 20px;
  box-shadow: none;
  border: none;
}

.home-mobile-layout .home-riderroom-banner,
.home-mobile-layout .home-riderroom-card{
  border-bottom: none !important;
}

.home-mobile-layout .home-riderroom-media{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  display: block;
  background: #232323;
}

.home-mobile-layout .home-riderroom-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home-mobile-layout .home-riderroom-media.no-image::before{
  content: "Trailer";
  color: rgba(255,255,255,0.75);
  font-size: 0.88rem;
  font-weight: 600;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-mobile-layout .home-riderroom-play{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.28);
}

.home-mobile-layout .home-riderroom-content{
  color:#fff;
  text-align:center;
}
.home-mobile-layout .home-riderroom-badge{
  display: inline-flex;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #111111;
  background: var(--accent);
  border-radius: 999px;
  padding: 5px 10px;
  margin-bottom: 10px;
}

.home-mobile-layout .home-riderroom-title{font-size:1.35rem;font-weight:700;line-height:1.15;margin:0 0 8px}
.home-mobile-layout .home-riderroom-sub{margin:0 0 6px;color:rgba(255,255,255,0.9);font-size:0.94rem}
.home-mobile-layout .home-riderroom-included{margin:0 0 12px;color:rgba(255,255,255,0.68);font-size:0.8rem;font-weight:600}

.home-mobile-layout .home-riderroom-bullets{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
  padding:0;
}

.home-mobile-layout .home-riderroom-bullets li{
  font-size:0.8rem;
  color:rgba(255,255,255,0.9);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:999px;
  padding:6px 10px;
}

.home-mobile-layout .home-riderroom-actions{display:flex;gap:8px;flex-wrap:wrap}
.home-mobile-layout .home-riderroom-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:13px;
  min-height:42px;
  padding:10px 14px;
  font-size:0.86rem;
  font-weight:700;
}

.home-mobile-layout .home-riderroom-btn-primary{background:var(--accent);color:#111111}
.home-mobile-layout .home-riderroom-btn-ghost{border:1px solid rgba(255,255,255,0.25);color:rgba(255,255,255,0.92)}

.home-mobile-layout .home-weekly-notes-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}

.home-mobile-layout .home-weekly-notes-title{margin:0;color:#0F1B2D;font-size:1.2rem;font-weight:700}
.home-mobile-layout .home-weekly-notes-link{color:var(--blue-base);text-decoration:none;font-size:0.88rem;font-weight:600}

.home-mobile-layout .home-weekly-notes-grid{display:grid;grid-template-columns:1fr;gap:14px}

.home-mobile-layout .home-weekly-main-note,
.home-mobile-layout .home-weekly-list{
  background:#f8f9fa;
  border:1px solid rgba(15,27,45,0.08);
  border-radius:16px;
  box-shadow:0 8px 20px rgba(15,27,45,0.05);
}

.home-mobile-layout .home-weekly-main-note{padding:20px}
.home-mobile-layout .home-weekly-kicker{display:inline-block;color:#0F1B2D;font-size:0.72rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;border-bottom:2px solid var(--accent);padding-bottom:2px;margin-bottom:10px}
.home-mobile-layout .home-weekly-main-title{margin:0 0 8px;font-size:1.15rem;line-height:1.28;color:#0F1B2D}
.home-mobile-layout .home-weekly-main-desc{margin:0 0 12px;font-size:0.9rem;line-height:1.55;color:#5a6472}
.home-mobile-layout .home-weekly-main-meta{font-size:0.76rem;color:#7d8794;margin-bottom:12px}
.home-mobile-layout .home-weekly-main-cta{color:var(--blue-base);text-decoration:none;font-weight:700;font-size:0.9rem}

.home-mobile-layout .home-weekly-list{padding:6px 16px}
.home-mobile-layout .home-weekly-item{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;padding:12px 0;color:#0F1B2D;border-bottom:1px solid rgba(15,27,45,0.08)}
.home-mobile-layout .home-weekly-item:last-child{border-bottom:none}
.home-mobile-layout .home-weekly-item h4{margin:0 0 3px;font-size:0.9rem;line-height:1.3;font-weight:600}
.home-mobile-layout .home-weekly-item span{font-size:0.76rem;color:#7d8794}
.home-mobile-layout .home-weekly-item > span{color:var(--blue-base);font-size:1rem;font-weight:700}

@media(min-width:1024px){
  #home-lower {
    width: 100%;
    background: #F5F5F5;
    padding: 0;
  }

  #home-lower .lower-band {
    width: 100%;
    padding: 40px 0;
  }

  #home-lower .lower-band:nth-child(even) {
    background: #fff;
  }

  #home-lower .lower-band:first-child {
    padding: 36px 0;
  }

  #home-lower .lower-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
  }

  #home-lower .section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
  }

  #home-lower .section-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0F1B2D;
    margin: 0;
    letter-spacing: -0.3px;
  }

  #home-lower .section-link {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--blue-base);
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease;
  }

  #home-lower .section-link:hover {
    opacity: 0.7;
  }

  /* ==================== Mejora en 5 minutos (Quick Row) ==================== */
  #home-lower .quick-row {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }

  #home-lower .quick-row::-webkit-scrollbar {
    display: none;
  }

  #home-lower .video-card {
    flex: 0 0 auto;
    width: 260px;
    text-decoration: none;
    scroll-snap-align: start;
    transition: transform 0.2s ease;
  }

  #home-lower .video-card:hover {
    transform: translateY(-4px);
  }

  #home-lower .video-card .thumb {
    position: relative;
    width: 100%;
    height: 146px;
    border-radius: 14px;
    overflow: hidden;
    background: #e5e7eb;
    margin-bottom: 10px;
  }

  #home-lower .video-card .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #home-lower .video-card .duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 6px;
  }

  #home-lower .video-card .meta {
    padding: 0 4px;
  }

  #home-lower .video-card .title {
    font-size: 0.92rem;
    font-weight: 600;
    color: #0F1B2D;
    margin-bottom: 3px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #home-lower .video-card .sub {
    font-size: 0.78rem;
    color: #888;
  }

  /* ==================== Explora por sección (Chips) ==================== */
  #home-lower .section-chips {
    display: flex !important;
    gap: 12px;
    flex-wrap: wrap;
    width: 100%;
    min-height: 48px;
    overflow: visible;
  }

  #home-lower .chip {
    display: inline-flex !important;
    align-items: center;
    gap: 11px;
    padding: 11px 18px;
    height: 48px;
    background: #fff;
    border: 1px solid rgba(15, 27, 45, 0.12);
    border-radius: 12px;
    text-decoration: none;
    color: #0F1B2D;
    font-weight: 700;
    font-size: 0.88rem;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    flex-shrink: 0;
    white-space: nowrap;
  }

  #home-lower .chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: var(--blue-base);
  }

  #home-lower .chip-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    background: transparent;
  }

  #home-lower .chip-ico img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%);
  }

  #home-lower .chip-text {
    display: inline-block;
    line-height: 1;
  }

  /* ==================== Rider Room Banner ==================== */
  #home-lower .lower-band:nth-child(3) {
    padding-top: 56px;
  }

  #home-lower .rider-banner {
    display: flex;
    gap: 0;
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
    border-radius: 16px;
    overflow: hidden;
    min-height: 280px;
  }

  #home-lower .rider-banner-img {
    flex: 0 0 42%;
    position: relative;
  }

  #home-lower .rider-banner-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #home-lower .rider-banner-content {
    flex: 1;
    padding: 36px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
  }

  #home-lower .badge-premium {
    display: inline-block;
    background: rgba(255, 249, 0, 0.15);
    color: var(--accent);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 5px 12px;
    border-radius: 20px;
    width: fit-content;
    margin-bottom: 12px;
  }

  #home-lower .rider-banner-content h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 12px;
    letter-spacing: -0.4px;
  }

  #home-lower .rider-banner-content p {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 24px;
    line-height: 1.5;
  }

  #home-lower .rider-actions {
    display: flex;
    gap: 12px;
  }

  #home-lower .btn-yellow {
    padding: 12px 24px;
    background: var(--accent);
    color: #0a0a0a;
    font-weight: 700;
    font-size: 0.9rem;
    border-radius: 10px;
    text-decoration: none;
    transition: transform 0.2s ease;
  }

  #home-lower .btn-yellow:hover {
    transform: scale(1.04);
  }

  #home-lower .btn-ghost {
    padding: 11px 23px;
    background: transparent;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
    font-size: 0.85rem;
    border: 1.5px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.2s ease;
  }

  #home-lower .btn-ghost:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
  }

  /* ==================== Blog Card ==================== */
  #home-lower .blog-card {
    background: #fff;
    border-radius: 14px;
    padding: 36px 40px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    max-width: 700px;
  }

  #home-lower .blog-card h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0F1B2D;
    margin: 0 0 12px;
  }

  #home-lower .blog-card p {
    font-size: 0.9rem;
    color: #666;
    margin: 0 0 20px;
    line-height: 1.6;
  }

  /* ==================== Footer ==================== */
  #home-lower .lower-footer {
    background: #fff;
    padding: 32px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
  }

  #home-lower .footer-line {
    text-align: center;
    font-size: 0.85rem;
    color: #999;
  }
}

@media (min-width: 1024px) {
  #home-lower .desktop-home-head {
    align-items: center;
    margin-bottom: 20px;
  }

  #home-lower .desktop-home-quick-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 8px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  #home-lower .desktop-home-quick-grid::-webkit-scrollbar {
    display: none;
  }

  #home-lower .desktop-home-quick-carousel {
    position: relative;
    padding: 0 30px;
  }

  #home-lower .desktop-home-quick-carousel.desktop-home-quick-static {
    padding: 0;
  }

  #home-lower .desktop-home-quick-static .desktop-home-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    overflow: visible;
    padding: 2px 0 8px;
    scroll-snap-type: none;
  }

  #home-lower .desktop-home-quick-nav {
    position: absolute;
    top: 84px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(15, 27, 45, 0.14);
    background: rgba(255, 255, 255, 0.95);
    color: #0F1B2D;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    z-index: 2;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }

  #home-lower .desktop-home-quick-nav:hover {
    transform: translateY(-50%) scale(1.04);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  }

  #home-lower .desktop-home-quick-nav:disabled {
    opacity: 0.35;
    cursor: default;
    transform: translateY(-50%);
    box-shadow: none;
  }

  #home-lower .desktop-home-quick-nav.carousel-nav-prev {
    left: -2px;
  }

  #home-lower .desktop-home-quick-nav.carousel-nav-next {
    right: -2px;
  }

  #home-lower .desktop-home-video-card {
    flex: 0 0 clamp(220px, 18vw, 255px);
    width: clamp(220px, 18vw, 255px);
    min-width: 0;
    scroll-snap-align: start;
  }

  #home-lower .desktop-home-quick-static .desktop-home-video-card {
    flex: 1 1 auto;
    width: auto;
  }

  #home-lower .desktop-home-thumb {
    height: auto;
    aspect-ratio: 16/9;
    margin-bottom: 6px;
    background: #edf1f4;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #home-lower .desktop-home-thumb.no-image::before {
    content: "▶";
    font-size: 26px;
    color: rgba(15, 27, 45, 0.35);
    line-height: 1;
  }

  #home-lower .desktop-home-video-card .meta {
    padding: 0 2px;
  }

  #home-lower .desktop-home-video-card .title {
    font-size: 0.96rem;
  }

  #home-lower .desktop-home-sections-band {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  #home-lower .desktop-home-sections-wrap {
    overflow: visible;
    max-height: none;
  }

  #home-lower .desktop-explore-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
    gap: 14px;
    max-width: 100%;
    width: 100%;
    overflow: visible !important;
    overflow-x: visible !important;
    max-height: none !important;
    height: auto !important;
    align-items: stretch;
  }

  #home-lower .desktop-explore-item {
    display: inline-flex;
    align-items: center;
    width: auto !important;
    min-width: 0;
    height: 46px;
    padding: 0 20px;
    gap: 10px;
    white-space: nowrap;
    justify-content: flex-start;
    background: #fff;
    border: 1px solid rgba(15, 27, 45, 0.12);
    border-radius: 12px;
    text-decoration: none;
    color: #0F1B2D;
    font-weight: 700;
  }

  #home-lower .desktop-explore-grid > .desktop-explore-item {
    display: inline-flex !important;
  }

  #home-lower .desktop-explore-item .desktop-explore-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
  }

  #home-lower .desktop-explore-item .desktop-explore-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%);
  }

  #home-lower .desktop-explore-item .desktop-explore-text {
    font-size: 0.88rem;
    line-height: 1;
  }

  #home-lower .desktop-home-closer-band {
    padding-top: 24px;
    padding-bottom: 52px;
  }

  #home-lower .desktop-home-closer {
    min-height: 250px;
    background: linear-gradient(120deg, #2a2d33 0%, #1b1e23 58%, #14171b 100%);
  }

  #home-lower .desktop-home-closer .rider-banner-content {
    padding: 34px 40px;
  }

  #home-lower .desktop-home-included {
    margin-top: -8px;
    margin-bottom: 18px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.72);
  }

  #home-lower .desktop-home-closer .rider-banner-content p {
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.98rem;
  }
}

@media (min-width: 1200px) {
  #home-lower .desktop-explore-grid {
    grid-template-columns: repeat(6, minmax(160px, 1fr)) !important;
  }
}

@media (min-width: 1024px) {
  .home-web-layout.home-desktop-theme {
    background: radial-gradient(1200px 420px at 20% -10%, rgba(0, 134, 255, 0.10), transparent 60%), #f1f3f6;
    padding-top: 18px;
    padding-bottom: 64px;
  }

  .home-web-layout.home-desktop-theme .home-web-container {
    max-width: 1480px;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 34px;
  }

  .home-web-layout.home-desktop-theme .home-main {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(15, 27, 45, 0.08);
    border-radius: 22px;
    padding: 26px;
    box-shadow: 0 18px 42px rgba(15, 27, 45, 0.08);
  }

  .home-web-layout.home-desktop-theme .home-sidebar {
    position: sticky;
    top: 92px;
  }

  .home-web-layout.home-desktop-theme .web-big-title {
    font-size: 2.05rem;
    letter-spacing: -0.03em;
    margin: 0 0 22px;
  }

  .home-web-layout.home-desktop-theme .web-question,
  .home-web-layout.home-desktop-theme .web-hero-full,
  .home-web-layout.home-desktop-theme .web-hero-secondary-row {
    margin-bottom: 28px;
  }

  .home-web-layout.home-desktop-theme .web-question {
    background: #ffffff;
    border: 1px solid rgba(15, 27, 45, 0.08);
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 10px 24px rgba(15, 27, 45, 0.06);
  }

  .home-web-layout.home-desktop-theme .hero-feature-card {
    border: 0.5px solid #E0E0E0;
    box-shadow: none;
  }

  .home-web-layout.home-desktop-theme .web-hero-secondary-row .hero-secondary-card {
    border: 0.5px solid #E0E0E0;
    box-shadow: none;
  }

  .home-web-layout.home-desktop-theme .sidebar-premium {
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 14px 30px rgba(10, 18, 30, 0.22);
  }

  .home-web-layout.home-desktop-theme .rider-clips-panel {
    border: none;
    box-shadow: none;
  }

  .home-web-layout.home-desktop-theme #home-lower {
    margin-top: 22px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(15, 27, 45, 0.08);
    box-shadow: 0 14px 34px rgba(15, 27, 45, 0.08);
  }
}

/* ==================== RESPONSIVE (Tablet & Mobile) ==================== */
@media(max-width:1023px){
  #home-lower {
    display: none !important;
  }
}

@media(min-width:768px) and (max-width:1023px){
  #home-lower {
    display: block !important;
    background: #F5F5F5;
    padding: 0;
  }

  #home-lower .lower-band {
    padding: 32px 0;
  }

  #home-lower .lower-container {
    max-width: 100%;
    padding: 0 24px;
  }

  #home-lower .quick-row {
    gap: 14px;
  }

  #home-lower .video-card {
    width: 230px;
  }

  #home-lower .video-card .thumb {
    height: 130px;
  }

  #home-lower .section-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
  }

  #home-lower .chip {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    height: 44px;
    font-size: 0.82rem;
    gap: 10px;
    background: #fff;
    border: 1px solid rgba(15, 27, 45, 0.12);
    border-radius: 10px;
    text-decoration: none;
    color: #0F1B2D;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  }

  #home-lower .chip-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }

  #home-lower .chip-ico img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%);
  }

  #home-lower .chip-text {
    white-space: nowrap;
  }

  #home-lower .rider-banner {
    flex-direction: column;
    min-height: auto;
  }

  #home-lower .rider-banner-img {
    flex: 0 0 auto;
    height: 200px;
  }

  #home-lower .rider-banner-content {
    padding: 28px 32px;
  }

  #home-lower .blog-card {
    padding: 28px 32px;
  }
}

@media(max-width:767px){
  #home-lower {
    display: block !important;
    background: #F5F5F5;
    padding: 0;
  }

  #home-lower .lower-band {
    padding: 28px 0;
  }

  #home-lower .lower-container {
    padding: 0 16px;
  }

  #home-lower .section-title {
    font-size: 1.05rem;
  }

  #home-lower .quick-row {
    gap: 12px;
    padding-bottom: 12px;
  }

  #home-lower .video-card {
    width: 210px;
  }

  #home-lower .video-card .thumb {
    height: 118px;
  }

  #home-lower .section-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
  }

  #home-lower .chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    height: 40px;
    font-size: 0.78rem;
    gap: 9px;
    background: #fff;
    border: 1px solid rgba(15, 27, 45, 0.12);
    border-radius: 10px;
    text-decoration: none;
    color: #0F1B2D;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  }

  #home-lower .chip-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
  }

  #home-lower .chip-ico img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(24%) sepia(78%) saturate(1300%) hue-rotate(203deg) brightness(102%) contrast(93%);
  }

  #home-lower .chip-text {
    white-space: nowrap;
  }

  #home-lower .rider-banner {
    flex-direction: column;
  }

  #home-lower .rider-banner-img {
    height: 180px;
  }

  #home-lower .rider-banner-content {
    padding: 24px;
  }

  #home-lower .rider-banner-content h3 {
    font-size: 1.25rem;
  }

  #home-lower .rider-actions {
    flex-direction: column;
    gap: 10px;
  }

  #home-lower .btn-yellow,
  #home-lower .btn-ghost {
    text-align: center;
    width: 100%;
  }

  #home-lower .blog-card {
    padding: 24px;
  }

  #home-lower .blog-card h3 {
    font-size: 1rem;
  }

  #home-lower .lower-footer {
    padding: 24px 0;
  }
}

/* ==================== HOME VISUAL SYSTEM OVERRIDES ==================== */
body.home-active,
body.home-active #app,
body.home-active .home-web-layout,
body.home-active .home-mobile-layout,
body.home-active #home-lower {
  background: #F5F5F5 !important;
}

body.home-active .home-main,
body.home-active .web-question,
body.home-active .question-card,
body.home-active .analysis-card,
body.home-active .home-weekly-main-note,
body.home-active .home-weekly-list,
body.home-active .cyx-section-card,
body.home-active .cyx-section-list-item,
body.home-active .sidebar-premium,
body.home-active .rider-clips-panel {
  background: #FFFFFF !important;
  color: #111111 !important;
}

body.home-active .small-muted,
body.home-active .home-weekly-main-meta,
body.home-active .home-weekly-main-desc,
body.home-active .question-side-sub,
body.home-active .analysis-desc,
body.home-active .cyx-section-card-desc,
body.home-active .cyx-section-expert-role,
body.home-active .cyx-section-list-desc,
body.home-active .cyx-section-list-meta {
  color: #666666 !important;
}

/* Fix 1: unified video/category tags */
body.home-active .hero-cat,
body.home-active .hero-cat-sm,
body.home-active .badge.bg-dark,
body.home-active .clip-badge {
  background: #0056A3 !important;
  color: #FFFFFF !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  border: none !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

/* Fix 2 + 5: Rider Room premium badge and dark block */
body.home-active .home-riderroom-card,
body.home-active #home-lower .home-riderroom-card,
body.home-active .home-mobile-layout .home-riderroom-card {
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
}

body.home-active .home-riderroom-title,
body.home-active .home-riderroom-bullets li{
  color: #FFFFFF !important;
}

body.home-active .home-riderroom-sub,
body.home-active .home-riderroom-included {
  color: #F5F5F5 !important;
}

body.home-active .home-riderroom-actions .home-riderroom-btn-ghost {
  background: #F5C400 !important;
  color: #111111 !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(245, 196, 0, 0.25) !important;
}

body.home-active .home-riderroom-badge {
  display: inline-block !important;
  width: auto !important;
  max-width: fit-content !important;
  background: #F5C400 !important;
  color: #2C2200 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
}

/* Fix 3: sections placeholder top area */
body.home-active .cyx-section-card-media,
body.home-active .home-section-card-media {
  height: 120px !important;
  max-height: 120px !important;
  aspect-ratio: auto !important;
  background-color: #F5F5F5 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Fix 4: preguntas card whitespace */
body.home-active .question-card,
body.home-active .question-card-main {
  min-height: auto !important;
  height: auto !important;
}

/* Fix 7: Probar Premium button */
body.home-active .premium-btn {
  background: #F5C400 !important;
  color: #2C2200 !important;
  font-weight: 500 !important;
}

/* Sidebar premium card text colors under white card */
body.home-active .sidebar-premium .sidebar-title,
body.home-active .sidebar-premium .premium-text,
body.home-active .sidebar-premium .premium-text-sm {
  color: #111111 !important;
}

/* Keep clips block visually borderless (only video visible) */
body.home-active .rider-clips-panel,
body.home-active .home-web-layout .rider-clips-panel {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: clamp(72px, 5vw, 92px) !important;
}

/* Link/UI blue normalization for home */
body.home-active .section-link,
body.home-active .home-weekly-notes-link,
body.home-active .question-cta,
body.home-active .analysis-inline-kicker,
body.home-active .analysis-inline-link,
body.home-active .cyx-sections-toggle-btn.is-active,
body.home-active .cyx-sections-arrow,
body.home-active .cyx-section-avatar,
body.home-active .cyx-section-list-arrow,
body.home-active .cyx-section-card:hover,
body.home-active .cyx-section-list-item:hover {
  --home-blue: #0056A3;
}

body.home-active .cyx-sections-toggle-btn.is-active {
  background: #0056A3 !important;
  color: #FFFFFF !important;
}

body.home-active .cyx-sections-arrow,
body.home-active .cyx-section-list-arrow {
  color: #0056A3 !important;
}

body.home-active .cyx-section-avatar,
body.home-active .cyx-section-tag,
body.home-active .cyx-expert-avatar,
body.home-active .cyx-expert-tag {
  background: #E6EEF5 !important;
  color: #0056A3 !important;
}

/* Fallback styles for cyx sections block (in case inline home script is not executed) */
.cyx-sections-block{background:#F5F5F5;border-radius:16px;padding:18px 0 10px;color:#111111}
.cyx-sections-head{display:flex;justify-content:space-between;gap:16px;padding:0 14px 16px;align-items:flex-start}
.cyx-sections-title{margin:0;font-size:22px;font-weight:700;line-height:1.15;color:#111111}
.cyx-sections-subtitle{margin:8px 0 0;font-size:14px;line-height:1.35;color:#666666;max-width:560px}
.cyx-sections-toggle{display:inline-flex;gap:6px;background:#FFFFFF;border:0.5px solid #DDDDDD;border-radius:999px;padding:4px;flex-shrink:0}
.cyx-sections-toggle-btn{border:none;background:transparent;color:#111111;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;line-height:1}
.cyx-sections-toggle-btn.is-active{background:#0056A3;color:#FFFFFF}
.cyx-sections-cards{position:relative;padding:0 14px 12px}
.cyx-sections-track{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;padding:2px 0 8px;scroll-padding-left:14px}
.cyx-sections-track::-webkit-scrollbar{display:none}
.cyx-section-card{position:relative;display:flex;flex-direction:column;flex:0 0 calc((100% - 12px)/1.5);min-width:calc((100% - 12px)/1.5);background:#FFFFFF;border:0.5px solid #D9D9D9;border-radius:12px;text-decoration:none;color:#111111;overflow:hidden;scroll-snap-align:start;transition:border-color .2s ease,box-shadow .2s ease}
.cyx-section-card:hover{border-color:#0056A3}
.cyx-section-card-media{height:120px;max-height:120px;background:#ECECEC;border-bottom:0.5px solid #E3E3E3;background-size:cover;background-position:center;background-repeat:no-repeat}
/* "En desarrollo" en las cards de "Explora Cyclick" del Home (Hector,
   2026-09-10) — mismo overlay que ya se usa en Secciones (#74), adaptado a
   este carrusel: encima de la foto/media (siempre 1:1 aquí, tanto en la
   card compacta de mobile como en la completa de escritorio), redondeado
   completo por defecto (para la foto suelta de mobile, que no depende de
   overflow:hidden del padre) y solo arriba en la card completa (la propia
   .cyx-section-card ya recorta el resto con su overflow:hidden). */
.cyx-section-card-upcoming{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  aspect-ratio:1 / 1;
  background:rgba(0,0,0,0.7);
  border-radius:12px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:13px;
  font-weight:600;
  color:#FFFFFF;
  letter-spacing:0.04em;
  text-transform:uppercase;
  pointer-events:none;
}
.cyx-section-card:not(.cyx-section-card--compact) .cyx-section-card-upcoming{
  border-radius:12px 12px 0 0;
}
.cyx-section-card-body{padding:12px 12px 10px}
.cyx-section-card-title{margin:0;font-size:16px;line-height:1.2;font-weight:700;color:#111111}
.cyx-section-card-desc{margin:7px 0 0;font-size:13px;line-height:1.3;color:#666666;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.cyx-section-card-footer{margin-top:auto;border-top:0.5px solid #E3E3E3;padding:10px 12px 12px;display:flex;gap:10px;align-items:center}
.cyx-section-avatar{width:32px;height:32px;border-radius:999px;background:#E6EEF5;color:#0056A3;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.04em;flex-shrink:0}
.cyx-section-expert{min-width:0;display:flex;flex-direction:column}
.cyx-section-expert-name{font-size:13px;line-height:1.2;font-weight:600;color:#111111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cyx-section-expert-role{margin-top:2px;font-size:12px;line-height:1.2;color:#666666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cyx-sections-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0.5px solid #D9D9D9;background:#FFFFFF;color:#0056A3;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 8px 18px rgba(17,17,17,.09)}
.cyx-sections-arrow-prev{left:2px}
.cyx-sections-arrow-next{right:2px}
.cyx-sections-arrow[disabled]{opacity:.45;pointer-events:none}
.cyx-sections-list-wrap{padding:0 14px 8px}
.cyx-sections-list{display:flex;flex-direction:column;gap:10px}
.cyx-section-list-item{display:flex;align-items:center;gap:12px;background:#FFFFFF;border:0.5px solid #D9D9D9;border-radius:12px;padding:10px;text-decoration:none;color:#111111;transition:border-color .2s ease,box-shadow .2s ease}
.cyx-section-list-item:hover{border-color:#0056A3;box-shadow:0 10px 18px rgba(0,86,163,.08)}
.cyx-section-list-thumb{width:64px;height:64px;border-radius:10px;background:#ECECEC;flex-shrink:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.cyx-section-list-copy{min-width:0;flex:1}
.cyx-section-list-title{margin:0;font-size:15px;line-height:1.2;font-weight:700;color:#111111}
.cyx-section-list-desc{margin:5px 0 0;font-size:13px;line-height:1.3;color:#666666;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.cyx-section-list-meta{margin-top:7px;display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.2;color:#666666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cyx-list-dot{width:3px;height:3px;border-radius:50%;background:#BFBFBF;flex-shrink:0}
.cyx-section-list-arrow{color:#0056A3;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
@media(min-width:768px){
  .cyx-sections-head{padding:0 20px 18px}
  .cyx-sections-cards{padding:0 20px 12px}
  .cyx-sections-list-wrap{padding:0 20px 10px}
  .cyx-section-card{flex-basis:calc((100% - 24px)/3);min-width:calc((100% - 24px)/3)}
  .cyx-sections-arrow-prev{left:8px}
  .cyx-sections-arrow-next{right:8px}
}
@media(min-width:1024px){
  .cyx-section-card{min-height:318px;display:flex;flex-direction:column}
  body.home-active #home-lower .cyx-section-card .cyx-section-card-media{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    border-bottom:none !important;
    background-size:cover !important;
    background-position:center !important;
    flex-shrink:0;
  }
  body.home-active #home-lower .cyx-section-card-body{
    flex:1;
    display:flex;
    flex-direction:column;
  }
  body.home-active #home-lower .cyx-section-card-footer{
    margin-top:auto;
  }
  .cyx-section-card-desc{-webkit-line-clamp:2;min-height:34px}
}
@media(min-width:1280px){
  .cyx-section-card{flex-basis:calc((100% - 36px)/4);min-width:calc((100% - 36px)/4)}
}
@media(max-width:767px){
  .cyx-sections-head{flex-direction:column}
  .cyx-sections-toggle{align-self:flex-start}
}

/* Fallback styles for Nuevo en Cyclick block */
.cyx-new-block{margin:0}
.cyx-new-shell{background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:12px;padding:20px 24px}
.cyx-new-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.cyx-new-head-left{display:inline-flex;align-items:center;gap:10px;min-width:0}
.cyx-new-head-bar{width:4px;height:22px;background:#0056A3;border-radius:2px;flex-shrink:0}
.cyx-new-title{margin:0;font-size:17px;font-weight:500;line-height:1.2;color:#111111}
/* "The Rider Room" era el único título de bloque del home sin la barra
   azul (Hector, 2026-09-08: "pónselo a todos los títulos"). Sin scoping de
   ancho — aplica igual en escritorio y móvil. */
.home-riderroom-title{display:inline-flex;align-items:center;gap:10px}
.home-riderroom-title::before{content:'';display:block;width:4px;height:22px;border-radius:2px;background:#0056A3;flex-shrink:0}
.cyx-new-link{font-size:13px;font-weight:500;line-height:1;color:#0056A3;text-decoration:none;white-space:nowrap}
.cyx-new-link:hover{text-decoration:underline}
.cyx-new-track{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0 2px;scroll-padding-left:0}
.cyx-new-track::-webkit-scrollbar{display:none}
.cyx-new-card{flex:0 0 220px;min-width:220px;max-width:220px;background:#FFFFFF;border:0.5px solid #E0E0E0;border-radius:10px;padding:0 0 12px;text-decoration:none;color:#111111;display:flex;flex-direction:column;transition:border-color .2s ease}
.cyx-new-card:hover{border-color:#0056A3}
.cyx-new-thumb{position:relative;height:auto;aspect-ratio:16/9;background:#1A1A1A;border-radius:10px 10px 0 0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#FFFFFF;background-size:cover;background-position:center}
.cyx-new-thumb-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.35))}
.cyx-new-play{position:relative;z-index:1;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,0.15);display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.cyx-new-badge{position:absolute;top:8px;font-size:9px;font-weight:500;line-height:1;padding:2px 7px;border-radius:4px;letter-spacing:0.02em;z-index:1}
.cyx-new-badge-new{left:8px;background:#0056A3;color:#FFFFFF}
.cyx-new-badge-premium{right:8px;background:#F5C400;color:#2C2200}
.cyx-new-duration{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,0.6);color:#FFFFFF;font-size:10px;font-weight:500;line-height:1;padding:3px 6px;border-radius:4px;z-index:1}
.cyx-new-section-tag{margin:10px 12px 0;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.04em;color:#0056A3}
.cyx-new-card-title{margin:6px 12px 0;font-size:13px;font-weight:500;line-height:1.35;color:#111111;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px}
.cyx-new-card-date{font-size:11px;font-weight:400;line-height:1.2;color:#888888}
/* Fecha + badge premium en la misma línea, badge a la derecha
   (Hector, 2026-09-08) — antes iban en 2 filas separadas. */
.cyx-new-card-date-row{margin:8px 12px 0;display:flex;align-items:center;gap:8px}
.cyx-new-card-date-row .section-video-badge-premium{margin-left:auto}
@media(min-width:1024px){
  .cyx-new-title{font-size:1.6rem;font-weight:800;color:#0F1B2D;letter-spacing:-0.5px;line-height:1.2;margin-bottom:22px}
  .cyx-new-track{gap:14px}
}

/* Video card thumbnail global tweaks */
.cyx-new-play,
.section-video-play{
  display:none !important;
}

.cyx-new-duration,
.section-video-duration,
.question-duration,
#home-lower .video-card .duration,
body.home-active #home-lower .desktop-home-video-card .duration,
.home-riderroom-trailer-duration,
.riderroom-teaser-duration,
.rider-room-page .rider-podcast-thumb-duration,
.home-carousel-duration,
.player-sidebar-item-duration-badge{
  font-size:13px !important;
  font-weight:600 !important;
  background:rgba(0,0,0,0.80) !important;
  color:#FFFFFF !important;
  padding:4px 8px !important;
  border-radius:4px !important;
  right:8px !important;
  bottom:8px !important;
  line-height:1 !important;
}

/* Consistencia visual: títulos de bloque como Nuevo en Cyclick (excepto Recomendado para ti) */
body.home-active .cyx-new-title,
body.home-active .cyx-sections-title,
body.home-active .question-label,
body.home-active .home-weekly-notes-title,
body.home-active #home-lower .section-title,
body.home-active #home-quick-section .h5.mb-0 {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #111111 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body.home-active .cyx-sections-title {
  font-weight: 700 !important;
}

body.home-active .cyx-sections-title::before,
body.home-active .question-label::before,
body.home-active .home-weekly-notes-title::before,
body.home-active #home-lower .section-title::before,
body.home-active #home-quick-section .h5.mb-0::before {
  content: '';
  width: 4px;
  height: 22px;
  border-radius: 2px;
  background: #0056A3;
  flex-shrink: 0;
}

@media(min-width:1024px){
  body.home-active .cyx-new-title,
  body.home-active .cyx-sections-title,
  body.home-active .question-label,
  body.home-active .home-weekly-notes-title,
  body.home-active #home-lower .section-title,
  body.home-active #home-quick-section .h5.mb-0 {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: #0F1B2D !important;
    letter-spacing: -0.5px !important;
    line-height: 1.2 !important;
  }
}

/* ==================== HOME FLAT LAYOUT (no outer white wrappers) ==================== */
body.home-active,
body.home-active #app,
body.home-active .home-web-layout,
body.home-active .home-mobile-layout,
body.home-active #home-lower,
body.home-active .home-web-layout.home-desktop-theme,
body.home-active .home-web-layout.home-desktop-theme #home-lower {
  background: #F5F5F5 !important;
}

/* Keep lower area flat; exceptions are handled by their own inner cards */
body.home-active .home-web-layout.home-desktop-theme #home-lower {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Remove alternating white stripes/wrappers behind desktop lower bands */
@media(min-width:1024px){
  body.home-active #home-lower .lower-band:not(.home-riderroom-banner) {
    background: transparent !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Target blocks: no outer box, 28px breathing, subtle divider */
body.home-active .home-mobile-layout .cyx-new-block,
body.home-active .home-mobile-layout #home-quick-section,
body.home-active .home-mobile-layout .cyx-sections-block,
body.home-active .home-mobile-layout .web-question,
body.home-active .home-mobile-layout .home-weekly-notes,
body.home-active #home-lower .cyx-new-block,
body.home-active #home-lower .desktop-home-quick-band,
body.home-active #home-lower .desktop-home-riderroom-band,
body.home-active #home-lower .desktop-home-sections-band,
body.home-active #home-lower .web-question,
body.home-active #home-lower .home-weekly-notes {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  border-bottom: none !important;
}

/* Remove explicit white shell wrappers while keeping divider lines on outer blocks */
body.home-active .cyx-new-shell {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Keep individual content cards white */
body.home-active .home-weekly-main-note,
body.home-active .home-weekly-list,
body.home-active .question-card,
body.home-active .question-side-item,
body.home-active .cyx-new-card,
body.home-active .cyx-section-card,
body.home-active .cyx-section-list-item,
body.home-active #home-lower .video-card {
  background: #FFFFFF !important;
}

/* Do not add divider to the dark Rider Room exception */
body.home-active .home-riderroom-banner,
body.home-active #home-lower .home-riderroom-banner {
  border-bottom: none !important;
}

/* Mobile classic layout: match Mejora cards sizing to Nuevo en Cyclick */
@media(max-width:767px){
  body.home-active .home-mobile-layout #home-quick-section .quick-cyx-track{
    display:flex;
    flex-wrap:nowrap;
    gap:12px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    margin:0 !important;
    padding:2px 0 2px;
  }

  body.home-active .home-mobile-layout #home-quick-section .quick-cyx-track::-webkit-scrollbar{display:none}

  body.home-active .home-mobile-layout #home-quick-section .quick-five-card{
    flex:0 0 220px !important;
    max-width:220px !important;
    width:220px !important;
    scroll-snap-align:start;
  }

  body.home-active .home-mobile-layout #home-quick-section .quick-five-card .cyx-new-thumb{
    height:auto !important;
    aspect-ratio:16/9 !important;
  }
}

/* Desktop: alinear horizontalmente títulos y contenido entre bloques */
@media(min-width:1024px){
  body.home-active #home-lower .cyx-new-shell{
    padding-left: 0 !important;
    padding-right: 0 !important;
    /* El fondo/borde de esta "caja" ya se quita arriba (línea ~5359) pero se
       quedó el padding vertical (20px arriba y abajo) — sumado al padding
       de 40px del band, dejaba "Nuevo en Cyclick" con 60px arriba en vez de
       los 40px que usan los demás bloques del home (Hector, 2026-09-12). */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.home-active #home-lower .cyx-sections-head,
  body.home-active #home-lower .cyx-sections-cards,
  body.home-active #home-lower .cyx-sections-list-wrap{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Explora Cyclick, espacio título->tarjetas: antes 18px (heredado del
     breakpoint de tablet), quedaba muy apretado contra los ~42px que usan
     los demás bloques del home en escritorio (Hector, 2026-09-12, segunda
     ronda: "asegúrate que estén consistentes"). Solo escritorio — no toca
     el padding de tablet/móvil. */
  body.home-active #home-lower .cyx-sections-head{
    padding-bottom: 40px !important;
  }

}

/* ==================== DESKTOP BLOCK SPACING + DIVIDERS UNIFIED (FROM SCRATCH) ==================== */
@media(min-width:1024px){
  body.home-active .home-web-layout.home-desktop-theme .home-web-container{
    grid-template-columns:minmax(0,1fr) 320px !important;
    gap:24px !important;
    align-items:stretch !important;
  }

  body.home-active .home-web-layout.home-desktop-theme .home-main{
    height:100% !important;
    display:flex;
    flex-direction:column;
  }

  body.home-active .home-web-layout.home-desktop-theme .web-hero-full{
    flex:1 1 auto;
    display:flex;
  }

  body.home-active .home-web-layout.home-desktop-theme .web-hero-full .hero-feature-card{
    height:100%;
    aspect-ratio:auto;
    border-radius:12px;
  }

  body.home-active .home-web-layout.home-desktop-theme .web-hero-secondary-row{
    margin-top:auto;
    margin-bottom:0;
  }

  body.home-active .home-web-layout.home-desktop-theme .home-sidebar{
    align-self:stretch !important;
    height:100%;
  }

  body.home-active .home-web-layout.home-desktop-theme .rider-clips-panel{
    height:auto;
    border-radius:12px;
    overflow:hidden;
  }

  body.home-active .home-web-layout.home-desktop-theme .rider-clips-panel .clips-container,
  body.home-active .home-web-layout.home-desktop-theme .rider-clips-panel .clips-viewport,
  body.home-active .home-web-layout.home-desktop-theme .rider-clips-panel .clips-track,
  body.home-active .home-web-layout.home-desktop-theme .rider-clips-panel .clip-card{
    height:auto;
  }

  body.home-active .home-web-layout.home-desktop-theme .rider-clips-panel .clips-container{
    aspect-ratio:9/16;
  }

  /* STEP 1: reset all existing vertical spacing on home blocks */
  body.home-active .home-web-layout.home-desktop-theme .home-web-container,
  body.home-active #home-lower .lower-band,
  body.home-active #home-lower .cyx-new-block,
  body.home-active #home-lower .desktop-home-quick-band,
  body.home-active #home-lower .home-riderroom-banner,
  body.home-active #home-lower .desktop-home-sections-band,
  body.home-active #home-lower .web-question,
  body.home-active #home-lower .home-weekly-notes {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  /* STEP 5: align all blocks to same horizontal edges */
  body.home-active .home-web-layout.home-desktop-theme .home-web-container,
  body.home-active #home-lower .lower-container {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  /* STEP 2: uniform spacing for each block */
  body.home-active .home-web-layout.home-desktop-theme .home-web-container {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid #E8E8E8 !important;
  }

  body.home-active #home-lower .lower-band {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid #E8E8E8 !important;
  }

  /* STEP 3+4 (trato especial por posición para "Rider Room", cuando vivía
     en el 3er lugar fijo) QUITADO (Hector, 2026-09-09): pidió margen
     uniforme entre todos los bloques — ya no debe haber excepciones de
     posición. Ahora todos los bloques usan solo la regla de arriba
     (40px + divisor), sin importar en qué lugar estén. */

  /* No divider after last block (Blog de la Semana) */
  body.home-active #home-lower .lower-band:last-child {
    border-bottom: 0 !important;
  }

  /* Ensure Preguntas + Blog use the exact same block padding as upper sections.
     Se agregaron desktop-home-new-band y desktop-home-riderroom-band
     (Hector, 2026-09-09) — la regla de arriba ".lower-band:not(.home-
     riderroom-banner){padding:0!important}" tiene la MISMA especificidad
     que esta lista (ambas 1 id + 3 clases) y le gana por orden a CUALQUIER
     .lower-band que no esté aquí explícito — por eso "Nuevo en Cyclick" (sin
     clase propia antes) y el carrusel nuevo de Rider Room se quedaban en
     padding:0 pese a la regla "uniforme" de más arriba (esa es más genérica,
     pierde el empate). Mismo motivo por el que "Explora Cyclick"
     (desktop-home-sections-band) se había quedado en 0 hasta ahora — se le
     agregó aquí (Hector, 2026-09-12: "revisa los espacios entre bloques").
     Su caja gris (.cyx-sections-block) tiene su propio padding interno
     (18px/10px) — el override específico de abajo le resta esos 18px/10px
     al padding del band para que el total (band + caja) también dé 40px,
     igual que los demás bloques (Hector, 2026-09-12, segunda ronda:
     "asegúrate que estén consistentes"). */
  body.home-active #home-lower .lower-band.desktop-home-new-band,
  body.home-active #home-lower .lower-band.desktop-home-riderroom-band,
  body.home-active #home-lower .lower-band.desktop-home-quick-band,
  body.home-active #home-lower .lower-band.desktop-home-sections-band,
  body.home-active #home-lower .lower-band:nth-child(5),
  body.home-active #home-lower .lower-band.home-weekly-notes {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* Explora Cyclick: 40px del band de arriba - 18px/10px que ya pone la
     caja gris por dentro = 22px/30px aquí, para que el total sea 40px
     arriba y abajo, igual que los demás bloques. */
  body.home-active #home-lower .lower-band.desktop-home-sections-band {
    padding-top: 22px !important;
    padding-bottom: 30px !important;
  }

  /* Remove outer wrapper from Recommended block while keeping inner content layout */
  body.home-active .home-web-layout.home-desktop-theme .home-main {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 48px !important;
  }

  /* Espacio header→"Destacados" en Home (Hector, 2026-09-09): era mucho
     mayor que en Secciones ("el espaciado correcto debe ser como el de
     secciones"), SOLO en escritorio (móvil ya estaba bien, no se toca).
     El total header→título en Home sumaba 3 capas: .home-web-layout
     (18px) + .home-web-container (40px, del "STEP 2" de espaciado uniforme
     entre bloques de arriba — se queda igual para el resto de bloques más
     abajo, aquí solo se pisa para ESTE primer bloque en particular) +
     .home-main (26px) = 84px, contra los 10px de .sections-page en
     Secciones. Se reparte para que sume 10px igual — mismo resultado visual
     que Secciones. Solo padding-TOP; padding-bottom/bordes/divisores de
     bloques más abajo no se tocan. */
  body.home-active .home-web-layout.home-desktop-theme {
    padding-top: 0 !important;
  }
  body.home-active .home-web-layout.home-desktop-theme .home-web-container {
    padding-top: 10px !important;
  }
  body.home-active .home-web-layout.home-desktop-theme .home-main {
    padding-top: 0 !important;
  }
}

/* Desktop: Mejora en 5 minutos cards styled like Nuevo en Cyclick */
@media(min-width:1024px){
  body.home-active #home-lower .desktop-home-quick-band .desktop-home-quick-title{
    display:inline-flex !important;
    align-items:center !important;
    position:static !important;
    font-size:1.6rem !important;
    font-weight:800 !important;
    letter-spacing:-0.5px !important;
    line-height:1.2 !important;
    color:#0F1B2D !important;
    margin:0 0 22px !important;
    gap:10px !important;
  }

  body.home-active #home-lower .desktop-home-quick-band .desktop-home-quick-title::before{
    content:'' !important;
    display:block !important;
    width:4px !important;
    height:22px !important;
    border-radius:2px !important;
    background:#0056A3 !important;
    flex-shrink:0 !important;
  }

  body.home-active #home-lower .desktop-home-quick-band .desktop-home-quick-title::after{
    content:none !important;
    display:none !important;
  }

  /* The Rider Room (Hector, 2026-09-09): mismo bloque nuevo que reemplazó al
     banner fijo — reusa la clase desktop-home-quick-title para el título
     (mismo estilo de "tarjeta de bloque" que ya usan otras secciones), pero
     como vive dentro de .desktop-home-riderroom-band (no .desktop-home-
     quick-band), necesita esta copia exacta de la regla de arriba — si no,
     el título se ve sin la barrita azul decorativa. */
  body.home-active #home-lower .desktop-home-riderroom-band .desktop-home-quick-title{
    display:inline-flex !important;
    align-items:center !important;
    position:static !important;
    font-size:1.6rem !important;
    font-weight:800 !important;
    letter-spacing:-0.5px !important;
    line-height:1.2 !important;
    color:#0F1B2D !important;
    margin:0 0 22px !important;
    gap:10px !important;
  }

  body.home-active #home-lower .desktop-home-riderroom-band .desktop-home-quick-title::before{
    content:'' !important;
    display:block !important;
    width:4px !important;
    height:22px !important;
    border-radius:2px !important;
    background:#0056A3 !important;
    flex-shrink:0 !important;
  }

  body.home-active #home-lower .desktop-home-riderroom-band .desktop-home-quick-title::after{
    content:none !important;
    display:none !important;
  }

  /* "Nuevo en Cyclick" (Hector, 2026-09-12): la regla compartida de arriba
     (~línea 5261, "Consistencia visual: títulos de bloque...") resetea el
     margin de TODOS estos títulos a 0 con !important. Rider Room y Mejora
     en 5 minutos ya tenían su propio override más específico (arriba en
     este mismo bloque) dándoles 22px abajo — a "Nuevo en Cyclick" le
     faltaba el suyo, por eso sus tarjetas quedaban pegadas al título. */
  /* Rider Room/Mejora llegan a 42px sumando el margen del título (22px)
     + el de su contenedor .desktop-home-head (20px). "Nuevo en Cyclick"
     no tiene ese segundo contenedor con margen, así que se compensa todo
     aquí — pero en .cyx-new-head-left (el contenedor de la rayita azul +
     el título), NO en el título mismo: el título y la rayita están en la
     misma fila flex (align-items:center), y ponerle el margen solo al
     título descuadraba el centrado vertical de la rayita contra el texto
     (Hector, 2026-09-12, tercera ronda: "la rallita... debe ir a la par").
     28px de margen = 42px medido en pantalla, igual que los demás. */
  body.home-active #home-lower .desktop-home-new-band .cyx-new-head-left{
    margin-bottom: 28px !important;
  }

  body.home-active #home-lower .cyx-new-track{
    --cyx-new-desktop-gap: 12px;
    /* 4.2 -> 3.5 = tarjetas ~20% mas grandes en escritorio (Nuevo en Cyclick + Mejora en 5 minutos) */
    --cyx-new-desktop-visible: 3.5;
    gap:12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:2px 0 8px !important;
    scroll-snap-type:x proximity !important;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }

  body.home-active #home-lower .cyx-new-track::-webkit-scrollbar{display:none}

  body.home-active #home-lower .cyx-new-card{
    flex:0 0 calc((100% - (var(--cyx-new-desktop-gap) * 4)) / var(--cyx-new-desktop-visible)) !important;
    width:calc((100% - (var(--cyx-new-desktop-gap) * 4)) / var(--cyx-new-desktop-visible)) !important;
    min-width:calc((100% - (var(--cyx-new-desktop-gap) * 4)) / var(--cyx-new-desktop-visible)) !important;
    max-width:calc((100% - (var(--cyx-new-desktop-gap) * 4)) / var(--cyx-new-desktop-visible)) !important;
    scroll-snap-align:start;
  }

  /* Texto de la tarjeta a escala con la tarjeta ~20% mas grande */
  body.home-active #home-lower .cyx-new-track .cyx-new-card-title{font-size:15px !important;min-height:41px !important}
  body.home-active #home-lower .cyx-new-track .cyx-new-card-date{font-size:12px !important}

  body.home-active #home-lower .desktop-home-quick-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:12px !important;
    width:100% !important;
    overflow:visible !important;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }

  body.home-active #home-lower .desktop-home-quick-grid::-webkit-scrollbar{display:none}

  body.home-active #home-lower .desktop-home-video-card{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    background:#FFFFFF !important;
    border:0.5px solid #E0E0E0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    cursor:pointer;
    text-decoration:none;
    color:#111111;
    padding:0 0 12px !important;
    display:flex;
    flex-direction:column;
    transition:border-color .2s ease;
  }

  body.home-active #home-lower .desktop-home-video-card:hover{
    border-color:#0056A3 !important;
    transform:none !important;
    box-shadow:none !important;
  }

  body.home-active #home-lower .desktop-home-thumb{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16/9 !important;
    margin-bottom:0 !important;
    background:#1A1A1A !important;
    border-radius:10px 10px 0 0 !important;
    overflow:hidden;
    position:relative;
  }

  body.home-active #home-lower .desktop-home-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  body.home-active #home-lower .desktop-home-video-card .duration{
    right:8px !important;
    bottom:8px !important;
    background:rgba(0,0,0,0.75) !important;
    color:#FFFFFF !important;
    font-size:10px !important;
    padding:2px 5px !important;
    border-radius:3px !important;
    line-height:1 !important;
    font-weight:500 !important;
  }

  body.home-active #home-lower .desktop-home-video-card .meta{
    padding:10px 12px 12px !important;
  }

  body.home-active #home-lower .desktop-home-video-card .meta::before{
    content:attr(data-section-label);
    display:block;
    font-size:10px;
    color:#0056A3;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:0.04em;
    margin:0 0 6px;
  }

  body.home-active #home-lower .desktop-home-video-card .title{
    margin:0;
    font-size:13px !important;
    font-weight:500 !important;
    color:#111111 !important;
    line-height:1.4 !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:36px;
  }

  body.home-active #home-lower .desktop-home-video-card .sub{
    margin-top:4px !important;
    font-size:11px !important;
    color:#888888 !important;
    line-height:1.2 !important;
  }
}

/* Desktop: Preguntas de la semana right items in one unified block */
@media(min-width:1024px){
  body.home-active #home-lower .web-question .question-layout{
    grid-template-columns:2fr 1fr !important;
    gap:0 !important;
    background:#FFFFFF;
    border:1px solid rgba(15,27,45,0.08);
    border-radius:12px;
    overflow:hidden;
  }

  body.home-active #home-lower .web-question .question-card-main{
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
    background:transparent !important;
    margin:0 !important;
  }

  body.home-active #home-lower .web-question .question-side-container{
    background:#FFFFFF;
    border-left:1px solid rgba(15,27,45,0.08);
    padding:18px;
    gap:10px;
  }

  body.home-active #home-lower .web-question .question-side-list{
    gap:0;
  }

  body.home-active #home-lower .web-question .question-side-item{
    background:transparent !important;
    border-bottom:1px solid rgba(15,27,45,0.08) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:12px 0 !important;
  }

  body.home-active #home-lower .web-question .question-side-item:last-child{
    border-bottom:none !important;
  }

  body.home-active #home-lower .web-question .question-side-item:hover{
    padding-left:0 !important;
  }

  /* Make Preguntas block border-to-border like Blog */
  body.home-active #home-lower .web-question{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }

  body.home-active #home-lower .web-question .question-layout{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) !important;
  }
}

@media (max-width: 480px) {

  .home-sidebar {
    display: none !important;
  }

  .home-web-container {
    display: block !important;
    padding: 0 12px 8px 12px !important;
    grid-template-columns: unset !important;
    width: 100% !important;
  }

  .home-web-container::-webkit-scrollbar {
    display: none !important;
  }

  .home-main {
    min-width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .hero-feature-card {
    width: 100% !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
  }

  .hero-feature-card::before {
    content: '' !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    background-image: inherit !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    flex: 0 0 auto !important;
  }

  .hero-feature-card img,
  .hero-feature-card video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .web-hero-secondary-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    gap: 8px !important;
    margin-top: 6px !important;
    padding-bottom: 6px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
  }

  .web-hero-secondary-row::-webkit-scrollbar {
    display: none !important;
  }

  .hero-secondary-card {
    border-radius: 8px !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    flex: 0 0 82% !important;
    max-width: 82% !important;
    scroll-snap-align: start !important;
  }

  .hero-secondary-card::before {
    content: '' !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    background-image: inherit !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    flex: 0 0 auto !important;
  }

  .hero-secondary-card img,
  .hero-secondary-card video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

}

/* LEGAL PAGES */
.legal-page {
  background: #F5F5F5;
  padding: 32px 48px;
  max-width: 800px;
  margin: 0 auto;
  min-height: calc(100vh - 200px);
}

.legal-header {
  margin-bottom: 32px;
  border-bottom: 3px solid #0056A3;
  padding-bottom: 16px;
}

.legal-title {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.25;
  color: #111111;
}

.legal-content {
  background: #FFFFFF;
  border: 1px solid #E0E0E0;
  border-radius: 10px;
  padding: 24px;
  line-height: 1.6;
  color: #333333;
}

.legal-content p {
  margin: 0 0 16px 0;
  font-size: 14px;
  line-height: 1.7;
}

.legal-content p:last-child {
  margin-bottom: 0;
}

.legal-content ul {
  margin: 0 0 16px 0;
  padding-left: 22px;
}

.legal-content li {
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 8px;
}

.legal-content li:last-child {
  margin-bottom: 0;
}

.legal-doc-block + .legal-doc-block {
  margin-top: 0;
}

.legal-doc-divider {
  height: 1px;
  margin: 28px 0;
  background: #E5E5E5;
}

.legal-subtitle {
  margin: 0 0 18px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  color: #111111;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .legal-page {
    padding: 20px 16px;
  }

  .legal-title {
    font-size: 22px;
  }

  .legal-content {
    padding: 16px;
  }

  .legal-content p {
    font-size: 13px;
  }

  .legal-content li {
    font-size: 13px;
  }
}

/* FOOTER */
.footer-container {
  background: #F5F5F7;
  padding: 0;
  border-top: 1px solid #D2D2D7;
}

body.rider-room-active .footer-container,
body.player-dark .footer-container {
  background: var(--dt-surface, #161D27);
  border-top-color: rgba(255,255,255,0.08);
}

.footer-shell {
  margin: 0 auto;
  padding: 16px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding: 0 0 14px;
}

.footer-column h4 {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 600;
  color: #1D1D1F;
}

.footer-column ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-column ul li a {
  font-size: 12px;
  color: #6E6E73;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-column ul li a:hover {
  color: #1D1D1F;
  text-decoration: underline;
}

.footer-bottom {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 12px;
  border-top: 1px solid #D2D2D7;
}

.footer-bottom-copy {
  font-size: 12px;
  color: #86868B;
}

body.rider-room-active .footer-bottom-copy,
body.rider-room-active .footer-column ul li a,
body.player-dark .footer-bottom-copy,
body.player-dark .footer-column ul li a {
  color: rgba(255,255,255,0.72);
}

body.rider-room-active .footer-column h4,
body.player-dark .footer-column h4 {
  color: #FFFFFF;
}

body.rider-room-active .footer-bottom,
body.player-dark .footer-bottom {
  border-color: rgba(255,255,255,0.08);
}

body.rider-room-active .footer-column ul li a:hover,
body.player-dark .footer-column ul li a:hover {
  color: #FFFFFF;
}

@media (max-width: 1023px){
  body.home-active .cyx-new-card,
  body.home-active .quick-cyx-track .cyx-new-card,
  body.home-active .cyx-new-track .cyx-new-card {
    border: none !important;
  }
}

@media (max-width: 1023px) {
  body.home-active .home-mobile-layout #home-section-carousel .home-carousel-card {
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    background-color: transparent !important;
  }

  body.home-active .home-mobile-layout .cyx-new-track .cyx-new-card,
  body.home-active .home-mobile-layout .quick-cyx-track .cyx-new-card,
  body.home-active .home-mobile-layout #home-quick-section .cyx-new-card {
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    background: #FFFFFF !important;
  }
}

@media (min-width: 769px) {
  .footer-shell {
    max-width: 1080px;
    padding: 18px 20px 14px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    padding: 0 0 14px;
  }

  .footer-bottom {
    align-items: center;
  }
}

@media (max-width: 1023px) {
  body.home-active .home-riderroom-card,
  body.home-active .home-web-layout .hero-secondary-card,
  body.home-active .home-web-layout .web-hero-secondary-row .hero-secondary-card,
  body.home-active .cyx-new-card,
  body.home-active .home-carousel-card {
    border: none !important;
    box-shadow: none !important;
  }
}

@media (max-width: 768px) {
  .legal-subtitle {
    font-size: 18px;
  }

  .footer-container {
    display: none;
  }

  .footer-shell {
    padding: 14px 16px calc(84px + env(safe-area-inset-bottom, 0px));
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    padding-bottom: 12px;
  }

  .footer-column h4 {
    margin-bottom: 8px;
    font-size: 11px;
  }

  .footer-column ul {
    gap: 6px;
  }

  .footer-column ul li a,
  .footer-bottom-copy {
    font-size: 11px;
    line-height: 1.35;
  }

  .footer-bottom {
    padding-top: 10px;
  }
}

  /* Home cards: restore subtle gray borders after prior border-removal overrides. */
  body.home-active .cyx-new-card,
  body.home-active #home-quick-section .cyx-new-card,
  body.home-active #home-quick-section .quick-five-card,
  body.home-active .home-mobile-layout #home-quick-section .quick-five-card,
  body.home-active #home-lower .desktop-home-video-card,
  body.home-active .home-carousel-card,
  body.home-active .home-web-layout .hero-secondary-card,
  body.home-active .home-web-layout .web-hero-secondary-row .hero-secondary-card {
    border: 0.5px solid #E0E0E0 !important;
    box-shadow: none !important;
  }

@media (max-width: 767px) {
  body.home-active #home-focus-band .cyx-new-block.container.mt-4 {
    margin-top: 20px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  body.home-active #home-focus-band .cyx-new-block.container.mt-4 {
    margin-top: 28px !important;
  }
}

/* Global dark theme (controlled in account settings) */
body.dark-theme:not(.rider-room-active):not(.player-dark) {
  background-color: #0E131A !important;
  color: #EAF0F8 !important;
}

body.dark-theme:not(.rider-room-active):not(.player-dark) #app,
body.dark-theme:not(.rider-room-active):not(.player-dark) .app-container,
body.dark-theme:not(.rider-room-active):not(.player-dark) .page-wrapper,
body.dark-theme:not(.rider-room-active):not(.player-dark) .main-content {
  background-color: #0E131A !important;
}

body.dark-theme:not(.rider-room-active):not(.player-dark) .header-sticky,
body.dark-theme:not(.rider-room-active):not(.player-dark) .bottom-nav,
body.dark-theme:not(.rider-room-active):not(.player-dark) .notification-dropdown,
body.dark-theme:not(.rider-room-active):not(.player-dark) .desktop-search-results,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-menu-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-subscription-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-streak-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-sections-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-saved-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-section-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-recommended-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-weekly-main-note,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-feature-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-riderroom-banner,
body.dark-theme:not(.rider-room-active):not(.player-dark) .section-list-item,
body.dark-theme:not(.rider-room-active):not(.player-dark) .explore-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .newsletter-card,
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-card {
  background-color: #161D27 !important;
  border-color: #2A3442 !important;
  color: #EAF0F8 !important;
}
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-name { color: #EAF0F8 !important; }
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-section-tag-row { background: #10161F !important; }
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-section-tag { color: #AAB6C7 !important; }
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-divider { background: #2A3442 !important; }
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-photo-area { background: #10161F !important; }
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-contact-kind { color: #AAB6C7 !important; }

body.dark-theme:not(.rider-room-active):not(.player-dark) .header-sticky .desktop-nav a,
body.dark-theme:not(.rider-room-active):not(.player-dark) .header-sticky .desktop-profile-link,
body.dark-theme:not(.rider-room-active):not(.player-dark) .small-muted,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-meta,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-list-text,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-saved-video-duration,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-card-meta,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-card-description,
body.dark-theme:not(.rider-room-active):not(.player-dark) .home-weekly-main-desc,
body.dark-theme:not(.rider-room-active):not(.player-dark) .section-video-meta,
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-role,
body.dark-theme:not(.rider-room-active):not(.player-dark) .advisor-description {
  color: #AAB6C7 !important;
}

body.dark-theme:not(.rider-room-active):not(.player-dark) .desktop-search-bar input,
body.dark-theme:not(.rider-room-active):not(.player-dark) .search-box input,
body.dark-theme:not(.rider-room-active):not(.player-dark) .newsletter-input,
body.dark-theme:not(.rider-room-active):not(.player-dark) .form-input {
  background: #10161F !important;
  color: #EAF0F8 !important;
  border-color: #2A3442 !important;
}

body.dark-theme:not(.rider-room-active):not(.player-dark) .bottom-nav a,
body.dark-theme:not(.rider-room-active):not(.player-dark) .bottom-nav .small-muted {
  color: #D6E0EE !important;
}

body.dark-theme:not(.rider-room-active):not(.player-dark) .bottom-nav a img,
body.dark-theme:not(.rider-room-active):not(.player-dark) .favorite-icon-img,
body.dark-theme:not(.rider-room-active):not(.player-dark) .profile-list-icon svg {
  filter: brightness(0) saturate(100%) invert(93%) sepia(6%) saturate(644%) hue-rotate(176deg) brightness(96%) contrast(92%) !important;
}

body.dark-theme:not(.rider-room-active):not(.player-dark) .bottom-nav a.active,
body.dark-theme:not(.rider-room-active):not(.player-dark) .bottom-nav a.active .small-muted,
body.dark-theme:not(.rider-room-active):not(.player-dark) .desktop-nav a.active,
body.dark-theme:not(.rider-room-active):not(.player-dark) .desktop-profile-link.active {
  color: #76B7FF !important;
}

/* ============================================================
   Sistema de "racha" (streak) DESACTIVADO a pedido de Hector (2026-09-03).
   No se usa: pastilla del header, banner de mobile en Home y tarjeta
   "Tu racha" en Mi cuenta, todos ocultos. La lógica que los llena (en
   app.js y en el script propio de pages/home.html) ya está neutralizada
   por separado — este bloque es un respaldo extra por si algo la reactiva
   sin querer. Reversible: borrar este bloque (y deshacer los cambios en
   app.js/home.html) reactiva todo.
   ============================================================ */
#navbar-streak-pill,
.navbar-streak-pill,
#site-header .navbar-streak-pill,
.profile-streak-card,
#mobileStreakBanner,
.mobile-streak-banner {
  display: none !important;
}

/* Portada (Hector, 2026-09-08, ronda 4 — restaurada; foto de fondo agregada
   2026-09-09). Colores fijos (no theme-aware todavía) a propósito. z-index
   por encima de TODO, incluido el aviso de cookies (20000) — es lo primero
   que se ve. Fondo: foto (assets/img/splash-bg.webp) + capa negra encima
   (para que se vea oscura, texto legible) — el gradiente negro-sobre-negro
   es el truco normal para oscurecer una imagen de fondo. background-
   size:cover ya hace que se adapte sola en cualquier tamaño de pantalla,
   celular incluido — no hace falta nada aparte para mobile. #0E131A de
   respaldo por si la imagen no cargara. Ojo: `../img/...` porque dentro de
   un .css las rutas relativas se calculan desde la carpeta del PROPIO
   archivo CSS (assets/css/), no desde la página — con `assets/img/...` a
   secas buscaba en assets/css/assets/img/, que no existe (bug real la
   primera vez que se subió esto, corregido antes de que Hector lo viera).
   El fondo vive en un ::before APARTE (no directo en .cyclick-splash) para
   poder hacerle zoom con transform:scale() en escritorio sin mover ni
   escalar el logo/botones/texto que van encima — overflow:hidden en el
   padre recorta lo que se sale de pantalla al hacer zoom.
   2026-09-10: Hector notó que tardaba en cargar — el JPG original pesaba
   678K (guardado casi sin comprimir). Se cambió a WebP calidad 80, 52K
   (92% más chico), visualmente idéntico bajo la capa negra al 75% que ya
   lo cubre (comparado lado a lado antes de subirlo). El .jpg original se
   queda en el servidor sin usarse (respaldo, no se borró) — ver también el
   <link rel="preload"> agregado en index.html para que el navegador lo
   empiece a pedir de inmediato, no hasta que termine de leer este CSS. */
.cyclick-splash{
  position:fixed;
  inset:0;
  z-index:30000;
  overflow:hidden;
  background:#0E131A;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.cyclick-splash::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(rgba(0,0,0,0.75), rgba(0,0,0,0.75)),
    url('../img/splash-bg.webp') center/cover no-repeat;
}
/* Zoom del 20% SOLO en escritorio (Hector: "en desktop hazle un zoom de un
   20%") — mismo breakpoint que ya usa el resto del sitio para separar
   escritorio/móvil (min-width:769px). En móvil se queda tal cual, sin zoom,
   solo el cover normal ya adaptativo. */
@media (min-width:769px){
  .cyclick-splash::before{
    transform:scale(1.2);
  }
}
.cyclick-splash-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:340px;
  width:100%;
}
.cyclick-splash-logo{
  width:84px;
  height:84px;
  object-fit:contain;
  margin-bottom:18px;
}
.cyclick-splash-wordmark{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:2.1rem;
  letter-spacing:-0.5px;
  color:#EAF0F8;
  margin-bottom:10px;
}
.cyclick-splash-tagline{
  font-family:'Poppins',sans-serif;
  font-size:18px;
  line-height:1.4;
  color:#AAB6C7;
  /* Se sale a propósito de los 340px de .cyclick-splash-content (Hector:
     "que no se parta en 'a ser'") — width:max-content la hace tan ancha
     como el texto necesite en vez de heredar los 340px del padre, y
     max-width en base al viewport evita que se corte en pantallas angostas
     donde de todos modos no cabría en una sola línea (celular pequeño). */
  width:max-content;
  max-width:calc(100vw - 48px);
  margin:0 auto 36px;
}
.cyclick-splash-btn{
  width:100%;
  border:none;
  font-size:15px;
  font-weight:600;
  padding:14px 24px;
  border-radius:10px;
  cursor:pointer;
  margin-bottom:12px;
}
.cyclick-splash-btn-primary{
  background:#0056A3;
  color:#FFFFFF;
}
.cyclick-splash-btn-secondary{
  background:transparent;
  border:1px solid #2A3442;
  color:#EAF0F8;
  margin-bottom:0;
}
/* Enlaces legales de la portada (Hector, 2026-09-09, ronda 2: pegados al
   borde inferior). Vive FUERA de .cyclick-splash-content, como hijo directo
   de .cyclick-splash (que ya es position:fixed, así que sirve de referencia
   para este position:absolute sin necesitar nada extra). env(safe-area-
   inset-bottom) suma el espacio que reserva iOS para la barra de gestos del
   home — sin eso, en un iPhone con esa barra, los enlaces quedarían debajo,
   tapados por el sistema. */
.cyclick-splash-legal{
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:0;
  padding:14px 24px calc(14px + env(safe-area-inset-bottom));
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.cyclick-splash-legal-link{
  background:none;
  border:none;
  padding:0;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  color:#9aa5b3;
  cursor:pointer;
}
.cyclick-splash-legal-link:hover{
  color:#AAB6C7;
  text-decoration:underline;
}
.cyclick-splash-legal-sep{
  color:#3a4452;
  font-size:12px;
}

/* Pantalla dedicada de login (Hector, 2026-09-08, ronda 6). Mismo overlay
   fijo de pantalla completa que .cyclick-splash (mismos colores fijos,
   mismo z-index) — se abre desde el botón "Inicia sesión" de la portada,
   no es una página normal del sitio. Reusa .cyclick-splash-btn-primary
   para el botón "Entrar" (mismo estilo visual, ver arriba). */
.cyclick-login-screen{
  position:fixed;
  inset:0;
  z-index:30000;
  background:#0E131A;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  overflow-y:auto;
}
.cyclick-login-content{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:360px;
  width:100%;
  margin:auto;
}
.cyclick-login-back{
  align-self:flex-start;
  background:transparent;
  border:none;
  color:#AAB6C7;
  font-family:'Poppins',sans-serif;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  padding:0;
  margin-bottom:18px;
}
.cyclick-login-back:hover{ color:#EAF0F8; }
.cyclick-login-logo{
  width:56px;
  height:56px;
  object-fit:contain;
  margin-bottom:14px;
}
.cyclick-login-title{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:1.5rem;
  color:#EAF0F8;
  margin:0 0 4px;
}
.cyclick-login-subtitle{
  font-size:0.85rem;
  color:#AAB6C7;
  margin:0 0 22px;
}
.cyclick-login-error{
  width:100%;
  box-sizing:border-box;
  background:rgba(220,53,69,0.12);
  border:1px solid rgba(220,53,69,0.4);
  color:#ff8a8a;
  border-radius:10px;
  padding:10px 14px;
  font-size:0.88rem;
  margin-bottom:16px;
  text-align:left;
}
.cyclick-login-field{
  width:100%;
  text-align:left;
  margin-bottom:16px;
}
.cyclick-login-label{
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:0.85rem;
  font-weight:600;
  color:#AAB6C7;
  margin-bottom:6px;
}
.cyclick-login-input{
  width:100%;
  box-sizing:border-box;
  border-radius:10px;
  border:1.5px solid #2A3442;
  background:#10161F;
  color:#EAF0F8;
  padding:11px 14px;
  font-family:'Poppins',sans-serif;
  font-size:0.95rem;
}
/* Hector, 2026-09-10: los placeholders ("tu@email.com", los puntos de la
   contraseña) confundían — primero se probó bajarles la opacidad (30%,
   luego 15%), al final Hector pidió quitarlos por completo. Los campos se
   quedan vacíos de verdad (label arriba ya dice qué va en cada uno). */
.cyclick-login-input:focus{ outline:none; border-color:#0056A3; }
.cyclick-login-forgot{ text-align:right; margin-top:8px; }
.cyclick-login-forgot a{
  font-family:'Poppins',sans-serif;
  font-size:0.82rem;
  color:#AAB6C7;
  text-decoration:none;
}
.cyclick-login-forgot a:hover{ color:#76B7FF; }
.cyclick-login-divider{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin:16px 0 14px;
  color:#5b6675;
  font-size:0.8rem;
  font-family:'Poppins',sans-serif;
}
.cyclick-login-divider::before,
.cyclick-login-divider::after{
  content:'';
  flex:1;
  height:1px;
  background:#2A3442;
}
.cyclick-login-btn-google{
  width:100%;
  border:1px solid #2A3442;
  background:transparent;
  color:#7c8798;
  font-family:'Poppins',sans-serif;
  font-size:14px;
  font-weight:600;
  padding:13px 24px;
  border-radius:10px;
  cursor:not-allowed;
  margin-bottom:20px;
}
/* Botón real de Google (Hector, 2026-09-09) — el botón en sí lo dibuja la
   librería de Google adentro de este contenedor (google.accounts.id.
   renderButton, ver ensureGoogleSignIn() en app.js); esto solo lo centra y
   le da el mismo margen que tenían los demás botones de la pantalla. */
.cyclick-login-google-wrap{
  width:100%;
  min-height:44px;
  display:flex;
  justify-content:center;
  margin-bottom:20px;
}
.cyclick-login-google-fallback{
  width:100%;
  text-align:center;
  color:#7c8798;
  font-family:'Poppins',sans-serif;
  font-size:13px;
}
.cyclick-login-soon{
  font-weight:400;
  font-size:11px;
  opacity:0.85;
}
.cyclick-login-switch{
  font-family:'Poppins',sans-serif;
  font-size:0.9rem;
  color:#AAB6C7;
}
.cyclick-login-switch a{
  color:#76B7FF;
  font-weight:600;
  text-decoration:none;
}
.cyclick-login-switch a:hover{ text-decoration:underline; }
.cyclick-login-guest-link{
  background:none;
  border:none;
  padding:0;
  margin-top:14px;
  font-family:'Poppins',sans-serif;
  font-size:17px;
  color:#7c8798;
  cursor:pointer;
}
.cyclick-login-guest-link:hover{
  color:#AAB6C7;
  text-decoration:underline;
}

/* Aviso de cookies — BLOQUEANTE (Hector, 2026-09-08): hay que Aceptar o
   Rechazar para poder usar el sitio. Mismo patrón que .legal-webview-modal
   (overlay fijo de pantalla completa que centra el diálogo) para que se
   vea acorde al resto de la app — antes era un banner pegado abajo con
   colores genéricos (#111111), sin bloquear nada detrás. z-index por
   encima de todo lo demás del sitio (lo más alto usado es 12000, el visor
   legal) a propósito: si llega a mostrarse con algo más abierto, gana. */
.cookie-consent-overlay{
  position:fixed;
  inset:0;
  z-index:20000;
  background:rgba(0,0,0,0.6);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.cookie-consent-open{overflow:hidden}
.cookie-consent-banner{
  width:min(640px, 100%);
  background:#FFFFFF;
  border-radius:16px;
  box-shadow:0 22px 80px rgba(0,0,0,0.28);
  padding:22px 24px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  justify-content:space-between;
}
.cookie-consent-text{
  flex:1 1 320px;
  font-size:13px;
  line-height:1.5;
  margin:0;
  color:#333333;
}
.cookie-consent-actions{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}
.cookie-consent-btn{
  border:none;
  font-size:14px;
  font-weight:500;
  padding:11px 24px;
  border-radius:8px;
  cursor:pointer;
  white-space:nowrap;
}
.cookie-consent-btn-accept{
  background:var(--blue-base);
  color:#FFFFFF;
}
.cookie-consent-btn-reject{
  border:1px solid #D3DCE8;
  background:#FFFFFF;
  color:#1E2B3A;
}
@media(max-width:600px){
  .cookie-consent-banner{padding:18px 18px 20px;flex-direction:column;align-items:stretch;border-radius:14px}
  /* El flex-basis:320px de .cookie-consent-text (pensado como ancho mínimo
     en fila, escritorio) se vuelve ALTO al pasar la card a columna aquí —
     dejaba un hueco enorme entre el texto y los botones. Se resetea a auto
     para que la altura la ponga el contenido real. */
  .cookie-consent-text{flex:none}
  .cookie-consent-actions{width:100%}
  .cookie-consent-btn{flex:1}
}

/* Modal de SweetAlert2 ("Tu tarjeta fue rechazada", etc.) — el título en
   azul fuerte de marca. En dark, sin esto, la regla global de h1-h5 lo pinta
   casi blanco sobre el fondo blanco del popup (invisible). Ver también
   dark-theme-overrides.css. (2026-09-07) */
.swal2-popup .swal2-title{color:#0056A3}
.swal2-popup .swal2-html-container{color:#333333}


/* ═══════════════════════════════════════════════════════════════════════════
   THE RIDER ROOM + reproductor de entrevistas — variante LIGHT THEME (2026-09-07)
   Por defecto (dark, el default del sitio) Rider Room usa sus colores oscuros.
   Aquí se le da la vuelta SOLO cuando el usuario tiene light theme (body sin
   .dark-theme), para que se integre con el sitio claro. Todo !important porque
   las reglas originales llevan !important y/o están dentro de @media.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ---- página Rider Room ---- */
body:not(.dark-theme).rider-room-active{ background-color:#F5F5F5 !important; }
body:not(.dark-theme).rider-room-active #app{ background:#F5F5F5 !important; }
body:not(.dark-theme) .rider-room-page{ background:#F5F5F5 !important; color:#1a1a1a !important; }
body:not(.dark-theme) .rider-room-page .h4,
body:not(.dark-theme) .rider-room-page .fw-bold,
body:not(.dark-theme) .rider-room-page .h4#rider-title,
body:not(.dark-theme) .rider-room-page .rider-title,
body:not(.dark-theme) .rider-room-page .rider-category-label{ color:#1a1a1a !important; }
body:not(.dark-theme) .rider-room-page .small-muted{ color:#5b6675 !important; }
body:not(.dark-theme) .rider-room-page a{ color:#0056A3 !important; }
body:not(.dark-theme) .rider-room-page .btn-outline-accent{ border-color:#D9B400 !important; color:#1a1a1a !important; background:#FFFFFF !important; }

/* teaser (bloque destacado del tráiler) */
body:not(.dark-theme) .riderroom-teaser-block{ background:#FFFFFF !important; border:1px solid #E4E4E4 !important; }
body:not(.dark-theme) .riderroom-teaser-info-col,
body:not(.dark-theme) .riderroom-teaser-title{ color:#1a1a1a !important; }
body:not(.dark-theme) .riderroom-teaser-subtitle{ color:#666666 !important; }
body:not(.dark-theme) .riderroom-teaser-features-title{ color:#333333 !important; }
body:not(.dark-theme) .riderroom-teaser-list li{ color:#444444 !important; }
body:not(.dark-theme) .riderroom-teaser-count{ color:#B8860B !important; }

/* tarjetas de podcast / entrevista — sin caja de fondo (2026-09-10, ver
   comentario en la regla base en style.css ~2850), así que ya no hace
   falta forzar blanco aquí; el placeholder de la miniatura sí se queda. */
body:not(.dark-theme) .rider-room-page .rider-podcast-media{ background:#EDEDED !important; }
body:not(.dark-theme) .rider-room-page .rider-podcast-thumb{ background:#DDDDDD !important; }
body:not(.dark-theme) .rider-room-page .rider-podcast-guest,
body:not(.dark-theme) .rider-room-page .rider-podcast-card:hover .rider-podcast-guest{ color:#1a1a1a !important; }
body:not(.dark-theme) .rider-room-page .rider-podcast-topic{ color:#777777 !important; }
body:not(.dark-theme) .rider-room-page .rider-podcast-date{ color:#999999 !important; }
/* móvil: sections-mobile.css re-estiliza el carrusel con #rider-carousel (ID) →
   hay que ganarle también con ID en el selector */
body:not(.dark-theme) .rider-room-page #rider-carousel .rider-podcast-guest{ color:#1a1a1a !important; }
body:not(.dark-theme) .rider-room-page #rider-carousel .rider-podcast-topic{ color:#777777 !important; }

/* pills de categoría (Ruta/MTB/Pista/Gravel) */
body:not(.dark-theme) .rider-room-page .rider-category-pill{ background:#FFFFFF !important; border-color:#E4E4E4 !important; color:#1a1a1a !important; }
body:not(.dark-theme) .rider-room-page .rider-category-pill:hover{ background:#F0F0F0 !important; }
/* .is-active se queda amarilla (funciona en ambos temas) */

/* header en Rider Room (light) */
body:not(.dark-theme).rider-room-active .header-sticky{ background:#FFFFFF !important; }
body:not(.dark-theme).rider-room-active .header-sticky .logo-link .h2{ color:#111111 !important; }
body:not(.dark-theme).rider-room-active .header-sticky .site-logo{ filter:none !important; }
body:not(.dark-theme).rider-room-active .header-sticky .nav-link,
body:not(.dark-theme).rider-room-active .header-sticky .desktop-nav a,
body:not(.dark-theme).rider-room-active .header-sticky .profile-link,
body:not(.dark-theme).rider-room-active .header-sticky .desktop-profile-link{ color:#2c2c2c !important; }
body:not(.dark-theme).rider-room-active .header-sticky .desktop-profile-link svg{ stroke:#2c2c2c !important; }
body:not(.dark-theme).rider-room-active .header-sticky .notification-icon{ filter:brightness(0) !important; }

/* footer en Rider Room / reproductor (light) = footer normal claro del sitio.
   Hector, 2026-09-10: el reproductor (body.player-dark, la página de
   #player) usa una clase distinta a la del listado de Rider Room
   (body.rider-room-active) — este bloque y el de arriba (versión oscura)
   solo cubrían rider-room-active, así que el footer del reproductor se
   quedaba SIEMPRE con el estilo genérico claro sin importar el tema. Se
   agrega body.player-dark en paralelo, mismo patrón exacto. */
body:not(.dark-theme).rider-room-active .footer-container,
body:not(.dark-theme).player-dark .footer-container{ background:#F5F5F7 !important; border-top-color:#D2D2D7 !important; }
body:not(.dark-theme).rider-room-active .footer-column h4,
body:not(.dark-theme).player-dark .footer-column h4{ color:#1d1d1f !important; }
body:not(.dark-theme).rider-room-active .footer-column ul li a,
body:not(.dark-theme).rider-room-active .footer-bottom-copy,
body:not(.dark-theme).player-dark .footer-column ul li a,
body:not(.dark-theme).player-dark .footer-bottom-copy{ color:#6e6e73 !important; }
body:not(.dark-theme).rider-room-active .footer-bottom,
body:not(.dark-theme).player-dark .footer-bottom{ border-top-color:#D2D2D7 !important; }

/* ---- reproductor de entrevistas (body.player-dark) en LIGHT ---- */
body:not(.dark-theme).player-dark{ background-color:#F5F5F5 !important; }
/* el reproductor de entrevistas lleva player-interview + player-dark; el
   fondo #141414 lo pone player-interview (línea ~2531) → cubrir esa clase */
body:not(.dark-theme).player-interview{ background-color:#F5F5F5 !important; }
body:not(.dark-theme).player-interview #app{ background:#F5F5F5 !important; }
body:not(.dark-theme).player-interview #app .fw-bold,
body:not(.dark-theme).player-interview #app .h5,
body:not(.dark-theme).player-interview #app .small-muted{ color:#2c2c2c !important; }

/* body.player-interview tiene ~30 reglas que fuerzan texto blanco / azul claro
   (--blue-light #DBEAFF) y fondos oscuros. Aquí van sus contrapartes LIGHT.
   Prefijo html+body:not(.dark-theme) para out-especificar las originales
   (varias con !important y/o ID en sections-mobile.css). (2026-09-07) */
html body:not(.dark-theme).player-interview .player-page{ color:#1a1a1a !important; }
html body:not(.dark-theme).player-interview .player-page .small-muted{ color:#5b6675 !important; }
html body:not(.dark-theme).player-interview .player-page .fw-bold,
html body:not(.dark-theme).player-interview .player-page .h5,
html body:not(.dark-theme).player-interview .player-page .player-sim-title,
html body:not(.dark-theme).player-interview .player-desc-panel .fw-bold,
html body:not(.dark-theme).player-interview .player-desc-panel .small-muted,
html body:not(.dark-theme).player-interview .player-desc-panel #player-description{ color:#1a1a1a !important; }
html body:not(.dark-theme).player-interview #player-section,
html body:not(.dark-theme).player-interview #player-author,
html body:not(.dark-theme).player-interview .player-info-mobile #player-section-mobile,
html body:not(.dark-theme).player-interview .player-info-mobile .player-section,
html body:not(.dark-theme).player-interview .player-info-mobile .player-desc-more-mobile{ color:#8a8a8a !important; }
html body:not(.dark-theme).player-interview .player-info-mobile #player-title-mobile{ color:#1a1a1a !important; }
/* lista de recomendados */
html body:not(.dark-theme).player-interview .player-sim-list .player-sim-item,
html body:not(.dark-theme).player-interview .player-sim-item{ background:transparent !important; }
html body:not(.dark-theme).player-interview .player-sim-item:hover{ background:rgba(0,0,0,0.03) !important; }
html body:not(.dark-theme).player-interview .player-sim-guest{ color:#1a1a1a !important; }
html body:not(.dark-theme).player-interview .player-sim-topic,
html body:not(.dark-theme).player-interview .player-rec-mobile .player-sim-topic{ color:#6a6a6a !important; }
html body:not(.dark-theme).player-interview .player-sim-duration{ color:#999999 !important; }
html body:not(.dark-theme).player-interview .player-sim-section,
html body:not(.dark-theme).player-interview .player-rec-mobile .player-sim-section{ color:#8a8a8a !important; }
html body:not(.dark-theme).player-interview .player-rec-mobile .player-rec-title{ color:#2c2c2c !important; }
/* panel de descripción expandida */
html body:not(.dark-theme).player-interview .player-desc-panel{ background:#FFFFFF !important; color:#1a1a1a !important; }
/* botones compartir / guardar en móvil */
html body:not(.dark-theme).player-interview .player-info-mobile .player-btn-share,
html body:not(.dark-theme).player-interview .player-info-mobile .player-btn-fav{ background:#FFFFFF !important; border:1px solid #DDDDDD !important; color:#1a1a1a !important; }
html body:not(.dark-theme).player-interview .player-info-mobile .player-btn-share .player-share-icon,
html body:not(.dark-theme).player-interview .player-info-mobile .player-btn-fav .player-fav-icon{ color:#1a1a1a !important; stroke:#1a1a1a !important; fill:#1a1a1a !important; }
html body:not(.dark-theme).player-interview .player-divider{ background:rgba(0,0,0,0.08) !important; box-shadow:none !important; }
html body:not(.dark-theme).player-interview #player-video{ background:#000000 !important; }
body:not(.dark-theme).player-dark .header-sticky{ background:#FFFFFF !important; }
body:not(.dark-theme).player-dark .header-sticky .logo-link .h2{ color:#111111 !important; }
body:not(.dark-theme).player-dark .header-sticky .site-logo{ filter:none !important; }
body:not(.dark-theme).player-dark .header-sticky .desktop-nav a{ color:#2c2c2c !important; }
body:not(.dark-theme).player-dark .header-sticky .desktop-profile-link svg{ stroke:#2c2c2c !important; }
body:not(.dark-theme).player-dark .header-sticky .notification-icon{ filter:brightness(0) !important; }
body:not(.dark-theme).player-dark .player-info-below #player-title{ color:#1a1a1a !important; }
body:not(.dark-theme).player-dark .player-duration,
body:not(.dark-theme).player-dark .player-desc-inline{ color:#666666 !important; }
body:not(.dark-theme).player-dark .player-meta-dot{ background:rgba(0,0,0,0.25) !important; }
body:not(.dark-theme).player-dark .player-inline-divider{ background:rgba(0,0,0,0.1) !important; }
body:not(.dark-theme).player-dark .player-action-btn{ background:#FFFFFF !important; color:#1a1a1a !important; border-color:#DDDDDD !important; }
body:not(.dark-theme).player-dark .player-action-btn:hover{ background:#F0F0F0 !important; }
body:not(.dark-theme).player-dark .player-action-btn .player-share-icon,
body:not(.dark-theme).player-dark .player-action-btn .player-fav-icon{ background-color:#1a1a1a !important; }
body:not(.dark-theme).player-dark .player-ad-banner{ background:#FFFFFF !important; border-color:#E4E4E4 !important; }
body:not(.dark-theme).player-dark .player-ad-banner-logo{ background:#F0F0F0 !important; }
body:not(.dark-theme).player-dark .player-ad-banner-name{ color:#1a1a1a !important; }
body:not(.dark-theme).player-dark .player-ad-banner-tagline{ color:#777777 !important; }
body:not(.dark-theme).player-dark .player-ad-banner-label{ color:#999999 !important; }
body:not(.dark-theme).player-dark .player-sidebar-section-title{ color:#888888 !important; }
body:not(.dark-theme).player-dark .player-sidebar-label-text{ color:#1a1a1a !important; }
body:not(.dark-theme).player-dark .player-sidebar-divider,
body:not(.dark-theme).player-dark .player-sidebar-item{ border-color:rgba(0,0,0,0.08) !important; }
body:not(.dark-theme).player-dark .player-sidebar-item:hover{ background:rgba(0,0,0,0.03) !important; }
body:not(.dark-theme).player-dark .player-sidebar-item-title{ color:#1a1a1a !important; }
body:not(.dark-theme).player-dark .player-sidebar-item-meta{ color:#888888 !important; }
body:not(.dark-theme).player-dark .player-sidebar-item-thumb{ background:#E0E0E0 !important; }
body:not(.dark-theme).player-dark .notification-badge{ box-shadow:0 0 0 2px #FFFFFF !important; }

/* Hector, 2026-09-13: candado de navegación para el flujo de compra de
   Founders. founders.html ya oculta su propio menú (reglas en su propio
   <style>, con la clase founders-active), pero register.html/login.html/
   recuperar-contrasena.html SÍ son páginas compartidas con todo el sitio
   normal — su menú no se puede ocultar desde ahí sin afectar a cualquier
   otro visitante que las use fuera de Founders. Por eso esto vive aquí, en
   el CSS global, con su propia clase (founders-flow-lock) que solo se
   activa en app.js cuando de verdad se viene de Founders sin sesión (ver
   cyx_founders_ctx) — el uso normal de estas 3 páginas no se toca en nada.
   Mismos selectores que founders.html; el !important es necesario porque
   home-mobile.css ya fuerza #site-header .header-actions con !important en
   móvil (visto y confirmado al construir el candado de founders.html). */
body.founders-flow-lock #site-header .navbar-streak-pill,
body.founders-flow-lock #site-header .desktop-nav,
body.founders-flow-lock #site-header .desktop-search-actions,
body.founders-flow-lock #site-header .header-actions,
body.founders-flow-lock #bottom-nav-placeholder{ display:none !important; }
body.founders-flow-lock #site-header .logo-link{ pointer-events:none !important; cursor:default; }
