/*
Theme Name: Radio Tridente
Theme URI: https://radiotridente.cl
Author: Radio Tridente
Author URI: https://radiotridente.cl
Description: Tema oficial de Radio Tridente, integrado con Radio Tridente Core.
Version: 0.2.2
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: radio-tridente-theme
*/

:root {
  --rt-pink: #ff174f;
  --rt-pink-soft: #ff4c79;
  --rt-cyan: #16b8ff;
  --rt-bg: #050516;
  --rt-header: #0b0035;
  --rt-panel-a: #080b27;
  --rt-panel-b: #040616;
  --rt-panel-c: #08081d;
  --rt-card: rgba(15, 21, 52, .88);
  --rt-card-border: rgba(255, 255, 255, .10);
  --rt-text: #fff;
  --rt-muted: rgba(255, 255, 255, .72);
  --rt-shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--rt-text);
  background: var(--rt-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.rt-shell { width: min(calc(100% - 32px), var(--rt-shell)); margin-inline: auto; }

/* Header */
.rt-site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(11, 0, 53, .98);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  backdrop-filter: blur(14px);
}
body.admin-bar .rt-site-header { top: 32px; }
.rt-header-inner { min-height: 64px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.rt-brand { display:inline-flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-weight:900; }
.rt-brand img { width:38px; height:38px; object-fit:contain; }
.rt-brand span { font-size:.98rem; }
.rt-nav ul { display:flex; align-items:center; gap:24px; list-style:none; padding:0; margin:0; }
.rt-nav a { color:#fff; text-decoration:none; font-weight:800; font-size:.88rem; }
.rt-nav a:hover,.rt-nav a:focus-visible { color:var(--rt-pink-soft); }
.rt-menu-toggle { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; }
.rt-menu-toggle span,.rt-menu-toggle::before,.rt-menu-toggle::after { content:""; display:block; width:20px; height:2px; margin:4px auto; border-radius:99px; background:currentColor; }

/* Hero exacto al lenguaje original */
.rt-hero { padding: 28px 0 50px; }
.rt-hero-card {
  position:relative;
  max-width:980px;
  margin:auto;
  padding:48px 24px;
  overflow:hidden;
  border-radius:28px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 15% 20%, rgba(13,97,197,.25), transparent 32%),
    radial-gradient(circle at 85% 78%, rgba(255,23,79,.20), transparent 30%),
    linear-gradient(145deg,#080b27,#040616 55%,#08081d);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 70px rgba(0,0,0,.38);
}
.rt-hero-content { position:relative; z-index:2; max-width:760px; margin:auto; }
.rt-hero-logo { display:block; width:185px; max-width:62%; margin:0 auto 25px; filter:drop-shadow(0 15px 25px rgba(0,0,0,.38)); }
.rt-live-heading { display:inline-flex; align-items:center; justify-content:center; gap:12px; margin:0; color:var(--rt-pink-soft); font-size:clamp(29px,4vw,43px); line-height:1.15; font-weight:900; }
.rt-live-dot { width:21px; height:21px; border-radius:50%; background:var(--rt-pink); animation:rt-pulse 1.7s infinite; }
@keyframes rt-pulse { 70% { box-shadow:0 0 0 14px rgba(255,23,79,0); } }
.rt-tagline { margin:12px auto 0; font-size:clamp(16px,2vw,20px); line-height:1.5; font-weight:500; }

.rt-compact-player,.rt-now-card,.rt-pulso-card { max-width:650px; margin:24px auto 0; padding:20px; border-radius:25px; background:var(--rt-card); border:1px solid var(--rt-card-border); box-shadow:0 18px 38px rgba(0,0,0,.25); }

/* Reproductor: réplica compacta del bloque original */
.rt-compact-player { position:relative; min-height:110px; text-align:left; }
.rt-compact-player__label { position:absolute; z-index:4; top:23px; left:116px; margin:0; color:var(--rt-pink-soft); font-size:12px; font-weight:850; letter-spacing:2px; text-transform:uppercase; }
.rt-compact-player::before { content:""; position:absolute; z-index:2; left:116px; right:148px; bottom:25px; height:7px; border-radius:999px; background:rgba(255,255,255,.12); overflow:hidden; }
.rt-compact-player::after { content:""; position:absolute; z-index:3; left:116px; bottom:25px; width:40%; height:7px; border-radius:999px; background:linear-gradient(90deg,var(--rt-pink),var(--rt-cyan)); animation:rt-wave 2.2s ease-in-out infinite alternate; }
@keyframes rt-wave { to { width:72%; } }
.rt-player-wrap--compact .rtc-player { --rtc-accent:var(--rt-pink); --rtc-celeste:var(--rt-cyan); display:grid; grid-template-columns:76px minmax(0,1fr) 126px; grid-template-rows:30px 31px 20px; gap:0 18px; width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#fff; }
.rt-player-wrap--compact .rtc-player__main,.rt-player-wrap--compact .rtc-player__history { display:none!important; }
.rt-player-wrap--compact .rtc-player__controls { display:contents; }
.rt-player-wrap--compact .rtc-player__toggle { grid-column:1; grid-row:1/4; align-self:center; width:70px; height:70px; background:linear-gradient(145deg,var(--rt-pink-soft),var(--rt-pink)); box-shadow:0 12px 25px rgba(255,23,79,.36); }
.rt-player-wrap--compact .rtc-player__toggle:hover { background:linear-gradient(145deg,#ff6b8a,#ff174f); }
.rt-player-wrap--compact .rtc-player__icon { width:31px; height:31px; }
.rt-player-wrap--compact .rtc-player__hint { grid-column:2; grid-row:2; align-self:center; min-width:0; margin:0; color:#fff; font-size:18px; line-height:1.25; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rt-player-wrap--compact .rtc-player__volume { grid-column:3; grid-row:1/4; align-self:center; display:flex; align-items:center; gap:8px; width:100%; }
.rt-player-wrap--compact .rtc-player__mute { width:30px; height:44px; color:#fff; }
.rt-player-wrap--compact .rtc-player__slider { width:90px; flex:0 0 90px; height:44px; accent-color:var(--rt-pink); }
.rt-player-wrap--compact .rtc-player__slider::-webkit-slider-runnable-track { height:22px; border:1px solid rgba(255,255,255,.75); border-radius:2px; background:#4d4775; }
.rt-player-wrap--compact .rtc-player__slider::-webkit-slider-thumb { margin-top:4px; }
.rt-player-wrap--compact .rtc-player__slider::-moz-range-track { height:22px; border:1px solid rgba(255,255,255,.75); border-radius:2px; background:#4d4775; }

.rt-mini-heading { margin:0; color:var(--rt-pink-soft); font-size:12px; font-weight:850; letter-spacing:2px; text-transform:uppercase; }
.rt-now-card { text-align:center; }
.rt-now-title { margin:10px 0 0; color:#fff; font-size:clamp(18px,2.4vw,23px); font-weight:800; line-height:1.35; overflow-wrap:anywhere; }
.rt-now-artist { display:none; }
.rt-now-listeners { margin:8px 0 0; color:var(--rt-cyan); font-size:14px; }
.rt-pulso-card { text-align:center; }
.rt-pulso-question { margin:8px 0 0; color:rgba(255,255,255,.82); font-size:14px; }
.rt-pulso-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:17px; }
.rt-pulso-button,.rt-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:10px 16px; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:#fff; background:rgba(255,255,255,.06); cursor:pointer; font:inherit; font-weight:800; text-decoration:none; transition:transform .15s ease,background .15s ease,border-color .15s ease; }
.rt-pulso-button:hover,.rt-button:hover,.rt-pulso-button:focus-visible,.rt-button:focus-visible { background:rgba(255,23,79,.17); transform:translateY(-2px); }
.rt-pulso-button.is-active { background:rgba(255,23,79,.25); border-color:rgba(255,23,79,.70); }
.rt-pulso-button:disabled { opacity:.65; cursor:default; transform:none; }
.rt-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:17px; }
.rt-actions--stacked { flex-direction:column; align-items:center; }
.rt-actions__row { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.rt-button--primary { background:linear-gradient(135deg,var(--rt-pink-soft),var(--rt-pink)); border-color:transparent; box-shadow:0 10px 25px rgba(255,23,79,.22); }

/* Modal */
.rt-modal-backdrop { position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(2,4,15,.84); backdrop-filter:blur(8px); }
.rt-modal-backdrop.is-open { display:flex; }
.rt-modal { width:min(560px,100%); max-height:92vh; overflow:auto; padding:24px; border-radius:24px; text-align:left; background:#0b1030; border:1px solid rgba(255,255,255,.12); box-shadow:0 24px 70px rgba(0,0,0,.55); }
.rt-modal__head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.rt-modal__head h2 { margin:0; }
.rt-modal__close { width:40px; height:40px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:24px; cursor:pointer; }
.rt-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rt-field { margin:12px 0; }
.rt-field label { display:block; margin-bottom:6px; font-size:13px; font-weight:800; }
.rt-field input,.rt-field select,.rt-field textarea { width:100%; padding:12px; border:1px solid rgba(255,255,255,.14); border-radius:13px; background:rgba(255,255,255,.07); color:#fff; }
.rt-field select option { color:#111; }
.rt-field textarea { min-height:120px; resize:vertical; }
.rt-check { display:flex; gap:8px; margin:12px 0 16px; }
.rt-honeypot { position:absolute; left:-9999px; }
.rt-form-status { min-height:22px; margin-top:10px; color:var(--rt-cyan); }
body.rt-modal-open { overflow:hidden; }

/* Secciones inferiores */
.rt-section { padding:64px 0 34px; }
.rt-section-head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:22px; }
.rt-kicker { margin:0 0 6px; color:var(--rt-pink-soft); text-transform:uppercase; letter-spacing:.13em; font-weight:900; font-size:.76rem; }
.rt-title { margin:0; font-size:clamp(1.7rem,4vw,2.5rem); line-height:1.08; }
.rt-copy { color:var(--rt-muted); line-height:1.65; }
.rt-grid { display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.rt-card { border:1px solid var(--rt-card-border); border-radius:22px; background:#111331; padding:22px; }
.rt-card p { color:var(--rt-muted); }
.rt-news-card { overflow:hidden; padding:0; }
.rt-news-card a { text-decoration:none; }
.rt-news-image { aspect-ratio:16/9; width:100%; object-fit:cover; background:#11112c; }
.rt-news-body { padding:20px; }
.rt-news-meta { color:var(--rt-cyan); font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.rt-news-title { margin:8px 0 0; }
.rt-site-footer { margin-top:38px; border-top:1px solid rgba(255,255,255,.09); padding:32px 0; color:var(--rt-muted); background:#10001f; }
.rt-footer-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; }

@media (max-width: 880px) { .rt-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 782px) { body.admin-bar .rt-site-header { top:46px; } }
@media (max-width: 720px) {
  .rt-menu-toggle { display:block; }
  .rt-nav { position:absolute; top:100%; left:16px; right:16px; display:none; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:#0b1030; box-shadow:0 18px 40px rgba(0,0,0,.35); }
  .rt-nav.is-open { display:block; }
  .rt-nav ul { flex-direction:column; align-items:stretch; gap:0; }
  .rt-nav a { display:block; padding:12px 10px; }
}
@media (max-width: 620px) {
  .rt-shell { width:min(calc(100% - 20px),var(--rt-shell)); }
  .rt-hero { padding:14px 0 32px; }
  .rt-hero-card { padding:36px 16px; border-radius:22px; }
  .rt-hero-content { max-width:100%; }
  .rt-hero-logo { width:145px; margin-bottom:22px; }
  .rt-live-heading { font-size:clamp(28px,9vw,36px); }
  .rt-live-dot { width:17px; height:17px; }
  .rt-tagline { font-size:15px; }
  .rt-compact-player,.rt-now-card,.rt-pulso-card { width:100%; padding:17px 15px; border-radius:22px; }
  .rt-compact-player { min-height:154px; }
  .rt-compact-player__label { top:19px; left:91px; }
  .rt-compact-player::before { left:91px; right:16px; bottom:64px; }
  .rt-compact-player::after { left:91px; bottom:64px; width:44%; }
  .rt-player-wrap--compact .rtc-player { grid-template-columns:60px minmax(0,1fr); grid-template-rows:30px 32px 48px; column-gap:15px; }
  .rt-player-wrap--compact .rtc-player__toggle { width:58px; height:58px; }
  .rt-player-wrap--compact .rtc-player__hint { grid-column:2; grid-row:2; font-size:15px; }
  .rt-player-wrap--compact .rtc-player__volume { grid-column:1/3; grid-row:3; justify-content:center; margin-top:7px; }
  .rt-player-wrap--compact .rtc-player__slider { flex:1 1 auto; width:auto; max-width:230px; }
  .rt-actions__row { width:100%; }
  .rt-actions__row .rt-button { flex:1 1 220px; }
  .rt-pulso-buttons { display:grid; grid-template-columns:1fr; }
  .rt-pulso-button,.rt-button { width:100%; }
  .rt-form-grid { grid-template-columns:1fr; }
  .rt-grid { grid-template-columns:1fr; }
  .rt-section-head { align-items:start; flex-direction:column; }
}
@media (max-width: 380px) {
  .rt-brand span { display:none; }
  .rt-hero-card { padding-inline:12px; }
  .rt-hero-logo { width:125px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }


.rt-skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 100000;
  padding: .75rem 1rem;
  border-radius: .5rem;
  color: #fff;
  background: #111433;
  transform: translateY(-200%);
}
.rt-skip-link:focus { transform: translateY(0); }
