/* =========================================================
   1) Variables & Reset
   ========================================================= */
:root {
  --bg:#eaeaea;                 /* Fondo general */
  --content-bg:#ffffff;
  --card:#f9f9f9;
  --text:#161616;
  --brand:#2563eb;              /* Azul */
  --brand-2:#7c3aed;            /* Violeta */
  --brand-3:#06b6d4;            /* Celeste */
  --brand-4:#f43f5e;            /* Rojo */
  --accent:#ef2f22;             /* Extras (etiqueta roja) */
  --accent-2:#ff4a38;
  --muted:#666;
  --shadow:0 8px 26px rgba(0,0,0,.12);
  --rad:16px;
  --maxw:1240px;                /* ancho wrapper si usas boxed */
  --contentw:1140px;            /* ancho del contenido centrado */
  --header-h:86px;
}

*{ box-sizing:border-box; }
html, body{ overflow-x:hidden; }
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial;
  background:var(--bg);
  color:var(--text);
}
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }

/* =========================================================
   2) Estructura general
   ========================================================= */
.wrapper{
  /* Si quieres layout “boxed”, usa max-width:var(--maxw) y quita las 3 líneas de abajo */
  max-width:100%;
  margin:0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.container{ max-width:var(--contentw); margin:0 auto; padding:0 20px; }

.top-gradient{ height:4px; background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand-3),var(--brand-4),var(--brand)); background-size:300% 100%; animation:flow 8s linear infinite; }
.top-gradient.second{ height:3px; opacity:.6; animation-duration:12s; }
@keyframes flow{ 0%{background-position:0 0} 100%{background-position:300% 0} }

/* =========================================================
   3) Header (sin sticky, sin shrink, sin overflow)
   ========================================================= */
header{
  position:relative;           /* ← ya no es sticky */
  z-index:60;
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.7));
  backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
  overflow:hidden;             /* ← evita scroll horizontal por ::before/::after */
}

/* Luces suaves */
header::before, header::after{
  content:"";
  position:absolute;
  bottom:0;
  width:360px; height:360px;
  filter:blur(60px);
  z-index:-1; pointer-events:none;
}
header::before{
  left:0;
  background:radial-gradient(closest-side, rgba(124,58,237,.18), transparent 70%);
  transform:translate(-30%, -40%);
}
header::after{
  right:0;
  background:radial-gradient(closest-side, rgba(6,182,212,.16), transparent 70%);
  transform:translate(0, -30%); /* ← sin desplazamiento horizontal */
}

/* Top strip + brand + nav */
.header-top{ display:flex; align-items:center; gap:12px; padding:6px 0; font-size:.92rem; }
.social-mini{ display:flex; gap:10px; align-items:center; }
.social-mini a{ width:28px; height:28px; display:grid; place-items:center; border-radius:999px; background:#fff; border:1px solid #eee; box-shadow:0 4px 12px rgba(0,0,0,.05); }

.ticker{ margin-left:auto; display:flex; align-items:center; gap:8px; min-width:0; font-weight:700; background:rgba(37,99,235,.08); border:1px solid rgba(37,99,235,.18); padding:6px 10px; border-radius:999px; }
.dot{ width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:pulso 1.6s infinite; }
@keyframes pulso{ 0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)} 70%{box-shadow:0 0 0 8px rgba(34,197,94,0)} 100%{box-shadow:0 0 0 0 rgba(34,197,94,0)} }

.marquee{ overflow:hidden; white-space:nowrap; display:block; max-width:520px; font-weight:700; }
.marquee span{ display:inline-block; padding-left:100%; animation:scrollx 16s linear infinite; }
@keyframes scrollx{ 0%{transform:translateX(0)} 100%{transform:translateX(-100%)} }

.nav{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:var(--header-h);
  padding:10px 0;
  transition:none; /* ← quitamos transición para evitar flicker */
}
/* Neutralizar “shrink” totalmente */
header.shrink .nav{ min-height:var(--header-h); }
.brand{ display:flex; align-items:center; gap:14px; min-width:0; }
.brand img{
  height: auto;
    width: 170px;
}
header.shrink .brand img{ height:60px; } /* ← no se reduce */

nav{ margin-left:auto; }
.menu{ display:flex; list-style:none; gap:10px; margin:0; padding:0; align-items:center; }
.menu a{
  position:relative; padding:10px 14px; border-radius:999px; font-weight:800; color:#222;
  background:rgba(255,255,255,.6); border:1px solid rgba(0,0,0,.06); backdrop-filter:blur(6px);
}
.menu a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:6px; height:2px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  transform:scaleX(0); transform-origin:left; transition:transform .2s ease; border-radius:2px;
}
.menu a:hover{ box-shadow:0 6px 16px rgba(37,99,235,.18), 0 0 0 2px rgba(37,99,235,.08) inset; }
.menu a:hover::after{ transform:scaleX(1); }

.actions{ display:flex; align-items:center; gap:10px; margin-left:10px; }
.btn{ display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:12px; font-weight:900; border:1px solid transparent; transition:transform .06s ease, filter .12s ease, box-shadow .12s ease; }
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:linear-gradient(90deg,var(--brand),var(--brand-2)); color:#fff; box-shadow:0 8px 18px rgba(37,99,235,.25); }
.btn-ghost{ background:#fff; border-color:#e9e9e9; color:#222; box-shadow:0 6px 16px rgba(0,0,0,.06); }
.btn .eq{ display:inline-grid; grid-auto-flow:column; gap:2px; }
.eq span{ width:3px; height:10px; background:#fff; display:block; animation:bars 1.1s infinite ease-in-out; }
.eq span:nth-child(2){ animation-delay:.1s; } .eq span:nth-child(3){ animation-delay:.2s; }
@keyframes bars{ 0%,100%{transform:scaleY(.6)} 50%{transform:scaleY(1.3)} }

.nav-toggle{ display:none; appearance:none; background:#fff; border:1px solid #e8e8e8; width:44px; height:44px; border-radius:10px; align-items:center; justify-content:center; cursor:pointer; }
.nav-toggle svg{ width:22px; height:22px; }
.header-wave{ display:block; line-height:0; }

.menu-overlay{ position:fixed; inset:0; z-index:70; display:none; background:rgba(0,0,0,.55); }
.menu-overlay.open{ display:block; }
.menu-panel{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.menu-card{ background:#fff; width:min(680px,92vw); max-height:80vh; border-radius:18px; box-shadow:0 34px 90px rgba(0,0,0,.28); padding:18px; display:flex; flex-direction:column; gap:10px; }
.menu-header{ display:flex; align-items:center; justify-content:space-between; }
.menu-title{ font-weight:800; }
.menu-close{ appearance:none; background:#fff; border:1px solid #eee; width:42px; height:42px; border-radius:10px; display:grid; place-items:center; cursor:pointer; }
.menu-list{ list-style:none; margin:6px 0 0; padding:0; overflow:auto; flex:1; display:grid; gap:6px; }
.menu-list a{ display:block; padding:16px 16px; border-radius:12px; font-size:1.05rem; font-weight:800; }
.menu-list a:hover{ background:#f3f6ff; }

/* =========================================================
   4) Slider (alineado al ancho de contenido)
   ========================================================= */
.slider-wrap{
  max-width:var(--contentw);    /* igual que .container */
  margin:20px auto 0;
  padding:0 20px;
  overflow:hidden;              /* sin bordes sobresalientes */
}
.slider{ position:relative; overflow:hidden; border-radius:var(--rad); box-shadow:var(--shadow); }
.slides{ display:flex; transition:transform .6s ease; }
.slide{ min-width:100%; height:380px; position:relative; }
.slide img{ object-fit:cover; width:100%; height:100%; border-radius:var(--rad); }
.dots{ position:absolute; bottom:10px; left:50%; transform:translateX(-50%); display:flex; gap:8px; }
.dot{ width:10px; height:10px; border-radius:50%; background:#ccc; border:none; cursor:pointer; }
.dot.active{ background:var(--brand); }
.ctrl{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.7); border:none; font-size:22px; width:38px; height:38px; border-radius:50%; cursor:pointer; }
.ctrl:hover{ background:rgba(255,255,255,.9); }
.ctrl.prev{ left:10px; } .ctrl.next{ right:10px; }

/* =========================================================
   5) Secciones / Cards / Grids
   ========================================================= */

main{ padding-bottom:20px; }
.section{ margin:30px 0; position:relative; }

/* === Encabezados de sección estilo “Tropical” === */
/* === Encabezados de sección estilo “Tropical” (versión con líneas más largas) === */
.section > h2 {
  display: table;
  margin: 30px auto 24px;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 900;
  text-align: center;
  color: #fff;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  box-shadow: 0 8px 20px rgba(239, 47, 34, .25);
  position: relative;
  z-index: 1;
}

.section > h2::before,
.section > h2::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  background: repeating-linear-gradient(
    to right,
    rgba(0, 0, 0, .18) 0 16px,
    transparent 16px 28px
  );
  width: min(clamp(80px, 32vw, 600px), calc(50% - 20px));


  z-index: -1;
}

.section > h2::before { right: 100%; margin-right: 14px; }
.section > h2::after  { left: 100%;  margin-left: 14px; }

@media (max-width: 600px) {
  .section > h2::before,
  .section > h2::after {
    width: clamp(80px, 32vw, 420px);
  }
}


.players{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:10px 0 30px; align-items:stretch; }
.card{ background:var(--card); border-radius:var(--rad); box-shadow:var(--shadow); display:flex; flex-direction:column; }
.card h3{ margin:0; padding:12px 16px; border-bottom:1px solid #ddd; font-weight:700; }
.card .body{ padding:16px; flex:1; display:flex; }
.embed{ position:relative; width:100%; aspect-ratio:16/9; border-radius:12px; overflow:hidden; background:#000; }
.embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

.news{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.news article{ background:var(--card); border-radius:12px; box-shadow:var(--shadow); overflow:hidden; display:flex; flex-direction:column; }
.news.grid img {
    width: 100%;
    height: auto;
}
.news .cover{ height:190px; background:#ddd; }
.news .cover img{ width:100%; height:100%; object-fit:cover; }
.news .wrap{ padding:14px; display:flex; }
.news h3{ margin:0; font-size:1rem; line-height:1.35; min-height:2.7em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news p{ display:none; }

.hosts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.host{ background:var(--card); border-radius:14px; box-shadow:var(--shadow); padding:16px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; }
.host .avatar{ width:110px; height:110px; border-radius:50%; overflow:hidden; box-shadow:var(--shadow); }
.host .avatar img{ width:100%; height:100%; object-fit:cover; }
.host .name{ font-weight:700; }
.host .role{ color:var(--muted); font-size:.95rem; }

.gallery{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.gallery .item{ position:relative; border-radius:12px; overflow:hidden; box-shadow:var(--shadow); }
.gallery .item img{ width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:1/1; }

.coverage{ display:grid; grid-template-columns:1.5fr 1fr; gap:20px; }
.map{ border-radius:12px; overflow:hidden; box-shadow:var(--shadow); background:#e6eefc; aspect-ratio:16/9; position:relative; }
.map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.freq{ background:var(--card); border-radius:12px; box-shadow:var(--shadow); padding:16px; }
.freq ul{ margin:0; padding-left:18px; }
.freq li{ margin:6px 0; }

.sponsors{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; align-items:center; }
.sponsors .logo{ background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:var(--shadow); height:70px; display:flex; align-items:center; justify-content:center; filter:grayscale(1); opacity:.9; transition:.2s; }
.sponsors .logo img{ max-height:48px; width:auto; }
.sponsors .logo:hover{ filter:none; opacity:1; }

.contact{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact .card{ padding:16px; }
.form{ display:grid; gap:10px; }
.form input,.form textarea{ width:100%; padding:12px; border:1px solid #ddd; border-radius:10px; font:inherit; }
.form textarea{ min-height:120px; resize:vertical; }
.btn-send{ background:var(--brand); color:#fff; border:0; border-radius:10px; padding:12px 16px; cursor:pointer; }
.btn-send:hover{ filter:brightness(.95); }

.socials{ display:flex; gap:16px; justify-content:center; align-items:center; padding:10px 0; background:#f0f0f0; margin:0 20px 30px; border-radius:12px; }
.socials a{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:#fff; box-shadow:var(--shadow); }
.socials img{ width:22px; height:22px; }


/* =========================================================
   6) Social Wall & Footer
   ========================================================= */
.socialwall{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.socialwall .tile{ background:#fff; border:1px solid #eee; border-radius:12px; overflow:hidden; box-shadow:var(--shadow); }
.socialwall .tile iframe{ width:100%; height:420px; border:0; }

footer{ background:#f7f7f7; border-top:1px solid #ddd; border-radius:0 0 var(--rad) var(--rad); }
.foot{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; padding:20px; }
.foot .logo{ display:flex; align-items:center; gap:12px; }
.foot img{ width:70%; height:auto; border-radius:10px; }

/* =========================================================
   7) Single Post (2 columnas estilo revista)
   ========================================================= */
.single-wrap{ padding-top:24px; }
.single-grid.two-cols{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(280px,1.2fr);
  gap:28px; margin-bottom:20px;
}
.single-content{
  min-width:0; background:#fff; border-radius:16px;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
  padding:clamp(16px, 2vw, 28px);
}
.single-header .rtv-heading{ margin:0 0 14px; }
.single-meta{ margin-bottom:12px; opacity:.8; font-weight:600; }
.single-thumb img{ width:100%; height:auto; border-radius:12px; display:block; margin-top:12px; }
.entry-content img{ height:auto; max-width:100%; }

/* Sidebar sticky */
.single-sidebar{ position:sticky; top:96px; align-self:start; display:grid; gap:22px; }
.widget-latest .rtv-heading{ margin-bottom:12px; }
.latest-list{ display:grid; gap:16px; }
.latest-item{
  display:grid; grid-template-columns:110px 1fr; gap:12px;
  align-items:start; padding:10px; border-radius:12px; background:#fff;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.latest-media img{ width:100%; height:auto; border-radius:8px; display:block; }
.latest-title{ font-weight:700; line-height:1.2; display:block; }
.latest-date{ font-size:12px; opacity:.65; display:block; margin-top:6px; }

/* =========================================================
   8) Heading (etiqueta roja)
   ========================================================= */
.rtv-heading{ font-weight:800; line-height:1.1; letter-spacing:-.02em; font-size:clamp(28px, 3.2vw, 30px); }
.rtv-heading--label{}
.rtv-heading--label.is-gradient{}

/* =========================================================
   9) Utilidades
   ========================================================= */
body.menu-open{ overflow:hidden; }

/* =========================================================
   10) Media Queries
   ========================================================= */
@media (max-width:1200px){
  .hosts{ grid-template-columns:repeat(3,1fr); }
  .gallery{ grid-template-columns:repeat(3,1fr); }
  .sponsors{ grid-template-columns:repeat(5,1fr); }
}
@media (max-width:1024px){
  .slide{ height:320px; }
  .coverage{ grid-template-columns:1fr; }
  .socialwall{ grid-template-columns:1fr 1fr; }
}
@media (max-width:980px){
  .header-top{ display:none; }
  .menu, .actions{ display:none; }
  .nav-toggle{ display:flex; }
  .container{ padding:0 16px; }
   .brand { width:100%; }
  .brand img{ width:100%; }
  .nav{ min-height:76px; }
  .players{ grid-template-columns:1fr; }
  .news{ grid-template-columns:1fr 1fr; }
  .hosts{ grid-template-columns:repeat(2,1fr); }
  .gallery{ grid-template-columns:repeat(2,1fr); }
  .sponsors{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:768px){
  .foot{ grid-template-columns:1fr; }
  .slide{ height:240px; }
  .news{ grid-template-columns:1fr; }
  .contact{ grid-template-columns:1fr; }
  .socialwall{ grid-template-columns:1fr; }
  .sponsors{ grid-template-columns:repeat(3,1fr); }
  .single-grid.two-cols{ grid-template-columns:1fr; }
  .single-sidebar{ position:static; }
  .embed-radio { aspect-ratio: auto; height:270px; }
}


/* ===== Contacto (Contact Form 7) ===== */
.contact .card { padding: 18px; }

/* Layout base del formulario */
.wpcf7-form {
  display: grid;
  gap: 14px;
}

.wpcf7-form p {
  margin: 0;
}

.wpcf7-form label {
  display: block;
  font-weight: 700;
  margin: 2px 0 8px;
  color: var(--text);
}

/* Inputs y textarea */
.wpcf7-form .wpcf7-form-control {
  width: 100%;
  display: block;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 12px;
  font: inherit;
  background: #fff;
  color: var(--text);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* === Límite de altura del campo mensaje === */
.wpcf7-form textarea.wpcf7-form-control {
  min-height: 120px;   /* Altura inicial */
  max-height: 220px;   /* No crecerá más de esto */
  resize: vertical;    /* Permite redimensionar solo verticalmente */
  overflow-y: auto;    /* Scroll si el texto sobrepasa */
}

/* Placeholder */
.wpcf7-form ::placeholder {
  color: #9aa3af;
  opacity: 1;
}

/* Focus */
.wpcf7-form .wpcf7-form-control:focus {
  outline: none;
  border-color: rgba(37,99,235,.45);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}

/* Estados de error individuales */
.wpcf7-form .wpcf7-not-valid {
  border-color: rgba(244,63,94,.6);
  box-shadow: 0 0 0 4px rgba(244,63,94,.10);
}

.wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: .92rem;
  color: #c2410c;
}

/* Botón enviar */
.wpcf7-form .wpcf7-submit {
  appearance: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
  box-shadow: 0 10px 22px rgba(37,99,235,.25);
  transition: transform .06s ease, filter .12s ease, box-shadow .12s ease;
}

.wpcf7-form .wpcf7-submit:hover {
  filter: brightness(.97);
  box-shadow: 0 12px 26px rgba(37,99,235,.28);
}

.wpcf7-form .wpcf7-submit:active {
  transform: translateY(1px);
}

/* Spinner de CF7 */
.wpcf7-spinner {
  margin-left: 10px;
  vertical-align: middle;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.15));
}

/* Mensajes de respuesta globales */
.wpcf7-response-output {
  margin: 8px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 10px;
  font-weight: 600;
  border: 1px solid transparent !important;
  background: #f8fafc;
  color: #0f172a;
}

/* Estados (CF7 aplica clases al form) */
.wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(16,185,129,.35) !important;
  background: rgba(16,185,129,.08);
  color: #065f46;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: rgba(244,63,94,.35) !important;
  background: rgba(244,63,94,.08);
  color: #7f1d1d;
}

.wpcf7 form.invalid .wpcf7-response-output {
  border-color: rgba(234,179,8,.35) !important;
  background: rgba(234,179,8,.10);
  color: #78350f;
}

/* Accesibilidad: enfoque visible con teclado */
.wpcf7-form .wpcf7-form-control:focus-visible {
  outline: 2px solid transparent;
  box-shadow: 0 0 0 4px rgba(37,99,235,.18);
}

/* Responsive */
@media (max-width: 600px) {
  .wpcf7-form {
    gap: 12px;
  }
  .wpcf7-form .wpcf7-submit {
    width: 100%;
    justify-content: center;
  }
}



  /* ===== Estilos base ===== */


/* ===== Desktop/Tablet: tabla ===== */
.schedule-desktop{ overflow:auto; border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.08); background:#fff; }
.schedule-table{ width:100%; border-collapse:separate; border-spacing:0; min-width:700px; }
.schedule-table thead th{
  position:sticky; top:0; background:#f7f7fb; z-index:2;
  font-weight:800; text-align:center; padding:10px; border-bottom:1px solid #e5e7eb;
}
.schedule-table .col-hora{ position:sticky; left:0; background:#f7f7fb; text-align:left; z-index:3; width:84px; }
.schedule-table tbody th[scope="row"]{
  position:sticky; left:0; background:#fff; font-weight:800; text-align:left; padding:10px;
  border-right:1px solid #f0f0f0; border-bottom:1px solid #f3f4f6; color:#374151;
}
.schedule-table td{
  padding:10px 12px; text-align:center; border-bottom:1px solid #f3f4f6; border-right:1px solid #f8f8f8;
}
.schedule-table tbody tr:nth-child(odd) td{ background:#fafafb; }
.schedule-table td:hover{ background:#eef4ff; }

/* ===== Mobile: acordeón por día ===== */
.schedule-mobile{ display:none; margin-top:16px; }
.schedule-mobile details{
  background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,.06);
  padding:8px 10px; margin-bottom:10px;
}
.schedule-mobile summary{
  font-weight:900; cursor:pointer; list-style:none; outline:none;
}
.schedule-mobile summary::-webkit-details-marker{ display:none; }
.schedule-mobile ul{ margin:8px 0 0; padding:0; list-style:none; }
.schedule-mobile li{
  display:flex; align-items:center; gap:10px; padding:8px 6px; border-top:1px dashed #e5e7eb;
}
.schedule-mobile li:first-child{ border-top:0; }
.schedule-mobile time{
  min-width:60px; font-weight:700; color:#374151;
}

/* ===== Breakpoint ===== */
@media (max-width: 900px){
  .schedule-desktop{ display:none; }
  .schedule-mobile{ display:block; }
}