
/* =========================================================
   Calendario de viajes, pestañas de Noticias y Ticker
   ========================================================= */

/* ---------- tabs ---------- */
.info-tabs{ display:flex; gap:6px; background:#fff; border:1px solid rgba(30,61,107,.12); border-radius:999px; padding:5px; margin-bottom:22px; width:max-content; max-width:100%; overflow-x:auto; }
.info-tab{ border:0; background:transparent; padding:9px 18px; border-radius:999px; font:inherit; font-weight:700; font-size:.9rem; color:var(--navy-dark); cursor:pointer; white-space:nowrap; }
.info-tab.active{ background:var(--navy); color:#fff; }
.info-tab:focus-visible{ outline:2px solid var(--orange); outline-offset:2px; }

/* ---------- trip calendar ---------- */
.trip-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
@media (max-width:760px){ .trip-grid{ grid-template-columns:1fr; } }

.trip-card{ background:#fff; border-radius:16px; padding:22px; border:1px solid rgba(30,61,107,.10); box-shadow:0 6px 20px rgba(30,61,107,.06); }
.trip-date{ font-size:1.35rem; line-height:1.25; color:var(--navy-dark); margin:10px 0 4px; text-transform:none; }
.trip-date span, .cal-title span{ display:inline-block; }
.trip-date span::first-letter{ text-transform:uppercase; }
.trip-dest{ color:var(--text-muted); margin:0 0 10px; font-size:.92rem; }
.trip-count{ display:inline-block; background:rgba(30,61,107,.07); color:var(--navy-dark); border-radius:999px; padding:6px 14px; font-size:.9rem; margin:0 0 14px; }
.trip-count b{ color:var(--orange); font-size:1.05rem; }
.trip-facts{ list-style:none; padding:0; margin:0 0 14px; display:grid; gap:8px; }
.trip-facts li{ display:flex; justify-content:space-between; gap:12px; font-size:.88rem; border-bottom:1px dashed rgba(30,61,107,.14); padding-bottom:8px; }
.trip-facts li span{ color:var(--text-muted); }
.trip-facts li strong{ color:var(--navy-dark); text-align:right; }
.trip-facts li::before{ content:none; }
.trip-note{ font-size:.88rem; background:var(--warn-bg, #FFF6E0); border-radius:10px; padding:10px 12px; margin:0 0 14px; }
.trip-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.trip-actions .btn{ padding:10px 16px; font-size:.88rem; }
.btn-outline{ background:#fff; border:1.5px solid var(--navy); color:var(--navy); }
.btn-outline:hover{ background:rgba(30,61,107,.06); }

.cal{ background:#fff; border-radius:16px; padding:16px; border:1px solid rgba(30,61,107,.10); }
.cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.cal-title{ color:var(--navy-dark); font-size:1rem; }
.cal-title span::first-letter{ text-transform:uppercase; }
.cal-nav{ width:34px; height:34px; border-radius:50%; border:1px solid rgba(30,61,107,.18); background:#fff; font-size:1.2rem; line-height:1; cursor:pointer; color:var(--navy); }
.cal-nav:hover{ background:rgba(30,61,107,.06); }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal-dow{ text-align:center; font-size:.72rem; font-weight:700; color:var(--text-muted); padding:4px 0; }
.cal-day{ aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; font-size:.85rem; border-radius:10px; color:var(--navy-dark); position:relative; border:0; background:transparent; font-family:inherit; padding:0; }
.cal-day.is-empty{ visibility:hidden; }
.cal-day.is-today{ box-shadow:inset 0 0 0 1.5px rgba(30,61,107,.35); font-weight:700; }
.cal-day.is-cierre::after{ content:""; position:absolute; bottom:5px; left:50%; width:6px; height:6px; margin-left:-3px; border-radius:50%; background:var(--orange); }
.cal-day.is-trip{ background:var(--navy); color:#fff; font-weight:800; cursor:pointer; }
.cal-day.is-trip:hover{ filter:brightness(1.15); }
.cal-day.is-trip.is-selected{ background:var(--orange); }
.cal-day.is-trip.is-past{ background:rgba(30,61,107,.25); }
.cal-legend{ display:flex; gap:16px; flex-wrap:wrap; margin-top:12px; font-size:.78rem; color:var(--text-muted); }
.cal-legend span{ display:flex; align-items:center; gap:6px; }
.dot{ width:10px; height:10px; border-radius:50%; display:inline-block; }
.dot-trip{ background:var(--navy); }
.dot-cierre{ background:var(--orange); }

.trip-list{ margin-top:16px; }
.trip-list-title{ font-size:.82rem; font-weight:700; color:var(--text-muted); margin:0 0 8px; text-transform:uppercase; letter-spacing:.04em; }
.trip-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.trip-chip{ border:1px solid rgba(30,61,107,.18); background:#fff; border-radius:999px; padding:7px 14px; font:inherit; font-size:.85rem; color:var(--navy-dark); cursor:pointer; }
.trip-chip:hover{ border-color:var(--navy); }
.trip-chip b{ color:var(--orange); }

/* ---------- ticker ---------- */
.ticker{ display:flex; align-items:stretch; background:var(--navy-dark, #152C4E); color:#fff; font-size:.86rem; overflow:hidden; }
.ticker[hidden]{ display:none; }
.ticker-label{ flex:0 0 auto; background:var(--orange); color:#fff; font-weight:800; padding:9px 14px; text-transform:uppercase; letter-spacing:.05em; font-size:.74rem; display:flex; align-items:center; }
.ticker-viewport{ flex:1; overflow:hidden; position:relative; }
.ticker-track{ display:flex; width:max-content; animation:ticker-scroll 60s linear infinite; }
.ticker:hover .ticker-track, .ticker:focus-within .ticker-track{ animation-play-state:paused; }
.ticker-run{ display:flex; align-items:center; }
.ticker-item{ background:none; border:0; color:#fff; font:inherit; padding:9px 4px; cursor:pointer; white-space:nowrap; }
.ticker-item:hover{ text-decoration:underline; }
.ticker-brand{ font-weight:800; color:#FFD8A8; margin-right:6px; }
.ticker-sep{ opacity:.45; padding:0 14px; }
@keyframes ticker-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation:none; }
  .ticker-viewport{ overflow-x:auto; }
}

/* ---------- news modal (sin salir del sitio) ---------- */
.news-modal{ position:fixed; inset:0; background:rgba(12,24,44,.55); display:none; align-items:center; justify-content:center; padding:16px; z-index:1000; }
.news-modal.open{ display:flex; }
.news-modal-box{ background:#fff; border-radius:18px; max-width:520px; width:100%; padding:26px 22px 22px; position:relative; max-height:90vh; overflow:auto; box-shadow:0 20px 50px rgba(0,0,0,.25); }
.news-modal-box h3{ color:var(--navy-dark); font-size:1.25rem; line-height:1.3; margin:10px 0; }
.news-modal-box p{ font-size:.93rem; }
.news-modal-meta{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:.82rem; }
.news-modal-x{ position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%; border:0; background:rgba(30,61,107,.08); cursor:pointer; font-size:1rem; }
.news-modal-cta{ margin-top:16px; background:var(--paper, #F6F3EC); border-radius:14px; padding:14px; }
.news-modal-cta p{ margin:0 0 12px; }
