/* Sección: styles.css */

:root{
  --blue:#0e5fd8;
  --deep:#073c7d;
  --navy:#081d46;
  --sky:#eaf5ff;
  --orange:#ff6a00;
  --green:#0cb65f;
  --red:#ef4444;
  --text:#0d1b3a;
  --muted:#61708a;
  --card:#ffffff;
  --line:#dfe9f3;
  --shadow:0 12px 34px rgba(3,47,105,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#dfefff 0,#f7fbff 240px,#f4f7fb 100%);
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
#app{max-width:820px;margin:0 auto;min-height:100vh;background:#f8fbff;box-shadow:0 0 40px rgba(0,0,0,.05)}
.hero{
  color:white;
  padding:22px 20px 20px;
  background:
    radial-gradient(circle at 85% 30%,rgba(255,255,255,.18),transparent 30%),
    linear-gradient(135deg,#07376e,#0d65bd);
  border-radius:0 0 28px 28px;
  position:sticky;top:0;z-index:10;
}
.brand-v06{display:flex;align-items:center;justify-content:space-between;gap:16px}
.main-brand-logo{display:block;width:min(420px,68vw);height:auto;max-height:74px;object-fit:contain;object-position:left center;filter:drop-shadow(0 3px 9px rgba(0,0,0,.18))}
.brand-tagline{margin:0;max-width:220px;text-align:right;font-size:13px;line-height:1.25;color:rgba(255,255,255,.92);font-weight:700}
.brand{display:flex;gap:14px;align-items:center}
.logo{font-weight:900;font-size:28px;display:flex;align-items:center}
.logo .waves{color:var(--orange);letter-spacing:-7px}
.logo .tower{color:white;font-size:34px;transform:rotate(180deg);display:inline-block;margin:0 4px}
.brand h1{margin:0;font-size:30px;line-height:1}
.brand h1 span{color:#72c9ff}
.brand p{margin:7px 0 0;opacity:.9}
.search-admin-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:18px}
.search-wrap{margin-top:0}
.search-wrap input{
  width:100%;padding:15px 18px;border:0;border-radius:999px;
  box-shadow:0 8px 18px rgba(0,0,0,.10);outline:none;color:var(--text)
}
.selvamar-bar{
  margin-top:12px;width:100%;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.16);
  color:#fff;border-radius:16px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  backdrop-filter:blur(8px);box-shadow:0 8px 18px rgba(0,0,0,.12)
}
.selvamar-badge-image{
  width:54px;height:54px;border-radius:12px;object-fit:cover;border:2px solid rgba(255,255,255,.28);
  box-shadow:0 6px 14px rgba(0,0,0,.16);background:white
}
.selvamar-label{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.selvamar-label strong{font-size:18px}
.selvamar-label small{opacity:.9;font-size:12px}
.selvamar-link{font-size:13px;font-weight:800;white-space:nowrap}
main{padding:18px 18px 110px}
.view{display:none}
.view.active{display:block}
.chips{display:flex;gap:10px;overflow:auto;padding:2px 0 14px}
.chip{
  border:0;background:#edf2f7;color:#1d3152;border-radius:999px;padding:10px 16px;white-space:nowrap
}
.chip.active{background:var(--blue);color:#fff}
.weekend-card{
  display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;
  color:white;border-radius:22px;padding:22px;
  background:linear-gradient(135deg,rgba(3,48,103,.94),rgba(13,104,188,.88)),
    radial-gradient(circle at 80% 20%,#4ea5e9,transparent 45%);
  box-shadow:var(--shadow)
}
.weekend-card h2{font-size:32px;margin:2px 0 8px}
.weekend-card p{margin:0 0 14px;line-height:1.45}
.eyebrow{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.14em;opacity:.8}
.weekend-art{font-size:45px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}
.btn{border:0;border-radius:13px;padding:12px 18px;font-weight:800}
.orange{background:var(--orange);color:white}
.primary{background:var(--blue);color:#fff;width:100%;padding:15px}
.partner{
  width:100%;border:0;margin:14px 0 6px;background:#e8f5ff;border-radius:18px;padding:15px;
  display:grid;grid-template-columns:auto 1fr 1fr auto;gap:13px;align-items:center;text-align:left;color:var(--text)
}
.partner-logo{width:72px;height:72px;object-fit:cover;border-radius:16px;box-shadow:0 6px 16px rgba(3,47,105,.12);background:#fff}.partner-text small{display:block;color:#23558d;font-size:10px}.partner-text strong{font-size:20px}.partner-text span{color:#2e93e8}
.partner-copy{font-size:12px;color:#1b5796;border-left:1px solid #99c8ef;padding-left:14px}.chev{font-size:28px;color:var(--blue)}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px;gap:10px}
.section-title h2{margin:0;font-size:24px}
.section-title.compact h2{font-size:19px}
.link-btn{border:0;background:transparent;color:var(--blue);font-weight:800}
.events{display:grid;gap:12px}
.event-card{
  background:#fff;border:1px solid #e9eef5;border-radius:18px;padding:12px;
  display:grid;grid-template-columns:126px 1fr auto;gap:14px;box-shadow:0 6px 20px rgba(3,47,105,.06);align-items:center
}
.event-img{
  width:126px;height:104px;border-radius:13px;object-fit:cover;background:linear-gradient(135deg,#d8eaff,#9fc7ec);
  display:flex;align-items:center;justify-content:center;font-size:43px
}
.event-main h3{margin:0 0 7px;font-size:18px}.meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:13px}
.event-desc{color:var(--muted);font-size:13px;margin-top:7px;line-height:1.35}
.tag{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;color:white;margin-bottom:6px}
.tag.Mercadillo{background:var(--orange)}.tag.Encuentro{background:#1976d2}.tag.Activación{background:#1aaa55}.tag.Feria{background:#7b55d9}.tag.Radioclub{background:#0e9c9c}.tag.Curso{background:#965c22}.tag.Concurso{background:#d13a8a}
.card-actions{display:flex;flex-direction:column;gap:8px}.icon-btn{border:0;background:#edf5ff;color:var(--blue);border-radius:12px;padding:10px;font-weight:800}
.nearby{background:#eaf5ff;border-radius:20px;padding:1px 14px 14px;margin-top:14px}
.near-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.near-card{background:#fff;border-radius:14px;padding:12px}.near-card strong{display:block}.near-card small{color:var(--muted)}
.page-card{background:white;border-radius:22px;padding:18px;box-shadow:var(--shadow)}
.muted{color:var(--muted);margin-top:4px}
.form{display:grid;gap:14px}.form label{font-weight:750;font-size:14px;display:grid;gap:7px}
.form input,.form select,.form textarea{
  width:100%;border:1px solid #d9e4ef;background:#fbfdff;border-radius:12px;padding:12px;outline:none
}
.form textarea{min-height:130px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-box{background:#eaf5ff;border-radius:14px;padding:13px;color:#1d528c}
.fake-map{min-height:460px;border-radius:20px;background:linear-gradient(145deg,#d8f0ff,#eef8ef);position:relative;overflow:hidden;margin-top:16px}
.fake-map:before{content:"";position:absolute;inset:11% 18%;background:#d2e9c5;clip-path:polygon(6% 25%,25% 9%,48% 14%,66% 6%,88% 20%,97% 45%,83% 65%,68% 68%,56% 88%,37% 78%,25% 88%,7% 63%);border:2px solid rgba(41,117,74,.15)}
.map-title{position:absolute;top:20px;left:20px;font-weight:900;font-size:25px}.map-pin{position:absolute;background:var(--orange);color:white;padding:7px 9px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 8px rgba(0,0,0,.15)}.map-pin span{display:block;transform:rotate(45deg);font-size:9px;font-weight:800}
.bottom-nav{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(820px,100%);
  padding:10px 10px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);
  background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-top:1px solid #dce5ef;z-index:20
}
.nav{border:0;background:transparent;color:#5d6c80;display:grid;gap:3px;justify-items:center;font-size:11px}.nav span{font-size:22px}.nav.active{color:var(--blue);font-weight:800}.publish-nav span{border:1px solid currentColor;border-radius:50%;width:28px;height:28px;line-height:25px}
dialog{border:0;border-radius:22px;padding:0;width:min(600px,92vw);box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(3,16,40,.65)}#dialogContent{padding:28px}.dialog-close{position:absolute;right:12px;top:9px;border:0;background:#eef4fa;border-radius:50%;width:34px;height:34px;font-size:22px}
.dialog-hero{font-size:64px;text-align:center;background:#e8f5ff;border-radius:16px;padding:22px}.dialog-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted)}
.admin-fab{position:fixed;right:18px;bottom:90px;width:48px;height:48px;border:0;border-radius:50%;background:#071d46;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.22);z-index:25}
.tabs{display:flex;gap:8px;margin-bottom:14px}.tab{border:0;border-radius:999px;padding:9px 14px;background:#edf2f7}.tab.active{background:var(--blue);color:#fff}
.mod-card{border:1px solid #e4ebf2;border-radius:16px;padding:14px;margin:10px 0}.mod-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.approve,.edit,.reject{border-radius:10px;padding:9px 12px;font-weight:800}.approve{border:0;background:var(--green);color:white}.edit{border:1px solid #7fb7ef;background:#edf6ff;color:#1262b8}.reject{border:1px solid #ff9f9f;background:#fff5f5;color:#d92a2a}.badge{background:#eef5ff;color:var(--blue);border-radius:999px;padding:7px 11px;font-weight:800;font-size:12px}
.empty{padding:30px;text-align:center;color:var(--muted);background:#f8fafc;border-radius:15px}
@media (max-width:620px){
  .hero{padding:18px 14px}.brand h1{font-size:25px}.brand p{font-size:12px}
  main{padding:14px 12px 105px}.weekend-card{grid-template-columns:1fr}.weekend-art{display:none}
  .partner{grid-template-columns:72px 1fr auto}.partner-copy{display:none}
  .event-card{grid-template-columns:92px 1fr}.event-img{width:92px;height:92px}.card-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}
  .near-grid,.grid2{grid-template-columns:1fr}
}

.admin-login-box{padding:30px;min-width:min(420px,88vw)}
.admin-login-icon{font-size:52px;text-align:center;margin-bottom:8px}
.admin-login-box h2{text-align:center;margin:0 0 6px}
.login-error{background:#fff0f0;color:#b42318;border:1px solid #f3b3b3;border-radius:12px;padding:10px 12px;font-weight:700}
.admin-session{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#edf6ff;border-radius:14px;padding:10px 12px;margin-bottom:12px}
.logout-btn{border:1px solid #ffaaaa;background:white;color:#c62828;border-radius:10px;padding:8px 10px;font-weight:800}

.admin-header-btn{border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:11px 14px;display:flex;align-items:center;gap:7px;font-weight:800;white-space:nowrap;backdrop-filter:blur(10px)}
.admin-header-btn:hover{background:rgba(255,255,255,.22)}
.admin-shield{font-size:18px;line-height:1}
@media (max-width:620px){.search-admin-row{grid-template-columns:1fr}.admin-header-btn{justify-content:center;width:100%}}

/* v0.5 */
.filter-panel{background:#fff;border:1px solid #e4ebf3;border-radius:16px;padding:12px;margin-bottom:14px;box-shadow:0 5px 18px rgba(3,47,105,.05)}
.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.filter-grid label{font-size:12px;font-weight:800;color:#496078;display:grid;gap:5px}.filter-grid input,.filter-grid select{border:1px solid #d9e4ef;border-radius:10px;padding:9px;background:#fbfdff;min-width:0}
.real-map{height:520px;border-radius:18px;overflow:hidden;margin-top:14px;border:1px solid #dfe8f1;z-index:1}
.selvamar-page-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}.selvamar-page-head img{width:96px;height:96px;border-radius:18px;object-fit:cover;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.news-grid{display:grid;gap:12px}.news-card{border:1px solid #e4ebf3;border-radius:16px;padding:16px;background:#fbfdff}.news-card small{color:var(--blue);font-weight:800}.news-card h3{margin:6px 0}.news-card p{color:var(--muted);margin-bottom:0}
.admin-tools{margin:8px 0 12px}.admin-tools input{width:100%;border:1px solid #d9e4ef;border-radius:12px;padding:11px}
.status-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}.status-pill{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.status-pending{background:#fff1c7;color:#9a6200}.status-approved{background:#dff7e9;color:#087842}.status-rejected{background:#ffe3e3;color:#b42318}.status-expired{background:#eceff3;color:#5c6675}
.detail-poster{width:100%;max-height:280px;object-fit:cover;border-radius:16px;margin-bottom:14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.detail-box{background:#f5f9fd;border-radius:12px;padding:10px}.share-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.secondary{background:#eef5ff;color:var(--blue)}
.favorite-home{margin-top:14px;background:#fff;border:1px solid #e8edf3;border-radius:18px;padding:14px}.favorite-home h3{margin:0 0 10px}
@media(max-width:620px){.filter-grid{grid-template-columns:1fr 1fr}.real-map{height:420px}.selvamar-page-head{align-items:flex-start}.selvamar-page-head img{width:78px;height:78px}.detail-grid{grid-template-columns:1fr}}

/* v0.6 branding polish */
.hero{padding-top:14px}
.search-admin-row{margin-top:12px}
.selvamar-bar{margin-top:10px}
.admin-header-btn{min-height:46px}
@media(max-width:620px){
  .brand-v06{display:block}
  .main-brand-logo{width:min(360px,88vw);max-height:66px;margin:0 auto;object-position:center}
  .brand-tagline{text-align:center;max-width:none;margin-top:4px;font-size:12px}
}

/* v0.7 premium redesign */
:root{
  --surface:#ffffff;
  --surface-soft:#f5f8fc;
  --ink:#071a38;
  --blue-2:#1484ff;
  --blue-3:#56b7ff;
  --orange-2:#ff8a1f;
  --ring:0 0 0 4px rgba(20,132,255,.12);
}
body{background:linear-gradient(180deg,#edf5ff 0,#f6f9fd 260px,#eef3f8 100%)}
#app{max-width:1180px;background:transparent;box-shadow:none}
main{padding:24px 24px 120px}
.top-shell{
  position:sticky;top:0;z-index:30;border-radius:0 0 30px 30px;padding:14px 22px 16px;
  background:
    radial-gradient(circle at 83% 14%,rgba(91,185,255,.25),transparent 30%),
    radial-gradient(circle at 18% 0%,rgba(255,138,31,.13),transparent 22%),
    linear-gradient(135deg,#061f46 0%,#0a4e93 55%,#0c6cc3 100%);
  box-shadow:0 18px 50px rgba(7,38,82,.22)
}
.topbar{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}
.brand-button{border:0;background:transparent;padding:0;display:flex;align-items:center}
.main-brand-logo{width:260px;max-height:62px;object-fit:contain;object-position:left center;display:block}
.desktop-nav{display:flex;justify-content:center;align-items:center;gap:6px}
.desktop-nav button{border:0;background:transparent;color:rgba(255,255,255,.82);font-weight:800;padding:10px 12px;border-radius:12px}
.desktop-nav button:hover{background:rgba(255,255,255,.1);color:#fff}
.desktop-nav .desktop-publish{background:#fff;color:#0b58a7;padding-inline:16px;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.compact-admin{padding:10px 12px;min-height:40px;background:rgba(255,255,255,.08)}
.hero-search-row{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:end;padding:28px 6px 10px}
.hero-copy{max-width:650px}
.hero-kicker,.section-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.hero-kicker{color:#9dd9ff}
.hero-copy h1{font-size:clamp(34px,5vw,58px);line-height:.98;margin:8px 0 12px;letter-spacing:-.045em;color:#fff}
.hero-copy h1 span{color:#73c9ff}
.hero-copy p{margin:0;max-width:620px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.55}
.hero-search-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:14px;border-radius:20px;backdrop-filter:blur(12px)}
.premium-search{position:relative}
.premium-search .search-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#4a6787;font-size:22px;z-index:1}
.premium-search input{padding-left:46px;border-radius:15px;box-shadow:none;background:#fff;min-height:52px}
.premium-search input:focus{box-shadow:var(--ring)}
.hero-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hero-shortcuts button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}
.premium-selvamar{margin-top:10px;padding:9px 12px;border-radius:14px;grid-template-columns:auto 1fr auto;background:rgba(3,17,38,.24);box-shadow:none}
.premium-selvamar .selvamar-badge-image{width:42px;height:42px;border-radius:10px}
.premium-selvamar .selvamar-label strong{font-size:15px}.premium-selvamar .selvamar-label small{font-size:11px}
.selvamar-cta{border:0;background:transparent;color:#fff;font-weight:900;padding:8px 10px}

.home-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:16px;margin-bottom:22px}
.featured-panel{min-height:220px;border-radius:26px;padding:24px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#071f47,#0e6cc4);box-shadow:0 16px 38px rgba(5,52,111,.16)}
.featured-panel:before{content:"";position:absolute;width:320px;height:320px;border:58px solid rgba(255,255,255,.07);border-radius:50%;right:-100px;top:-110px}
.featured-panel:after{content:"";position:absolute;width:170px;height:170px;background:rgba(255,138,31,.16);border-radius:50%;right:80px;bottom:-110px}
.featured-content{position:relative;z-index:1;max-width:72%}
.featured-label{display:inline-flex;gap:7px;align-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.featured-panel h2{font-size:30px;line-height:1.08;margin:14px 0 10px;letter-spacing:-.03em}
.featured-meta{display:flex;gap:14px;flex-wrap:wrap;color:rgba(255,255,255,.82);font-size:13px}
.featured-actions{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}
.featured-actions button{border-radius:12px;padding:10px 14px;font-weight:900}
.featured-primary{border:0;background:#fff;color:#0b58a7}.featured-secondary{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff}
.featured-emoji{position:absolute;right:34px;top:50%;transform:translateY(-50%);font-size:86px;z-index:1;filter:drop-shadow(0 15px 20px rgba(0,0,0,.18))}
.stats-panel{display:grid;grid-template-columns:1fr;gap:10px}
.stat-card{background:#fff;border:1px solid #e5edf5;border-radius:20px;padding:18px 20px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;box-shadow:0 8px 26px rgba(3,47,105,.06)}
.stat-card span{font-size:32px;font-weight:950;color:var(--deep);letter-spacing:-.04em}.stat-card small{color:var(--muted);font-weight:800;text-align:right}
.home-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:6px 0 10px}.home-toolbar h2{margin:3px 0 0;font-size:26px}.section-kicker{color:var(--blue)}
.filters-toggle{border:1px solid #dbe6f1;background:#fff;color:#234d7d;border-radius:12px;padding:10px 13px;font-weight:800;display:none}
.chips{padding-bottom:12px}
.chip{background:#fff;border:1px solid #e2eaf3;padding:10px 15px;font-weight:750}.chip.active{background:#0d65c1;border-color:#0d65c1;box-shadow:0 8px 18px rgba(14,95,216,.16)}
.filter-panel{margin-bottom:18px;border-radius:18px;box-shadow:0 8px 24px rgba(3,47,105,.05)}
.premium-weekend{grid-template-columns:auto 1fr auto;align-items:center;padding:18px 20px;border-radius:20px;background:linear-gradient(100deg,#071f47,#0e5fae)}
.premium-weekend .weekend-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:28px}.premium-weekend h2{font-size:23px;margin:0 0 3px}.premium-weekend p{margin:0;color:rgba(255,255,255,.78)}
.editorial-strip{margin:14px 0 4px;background:linear-gradient(90deg,#fff,#f4f9ff);border:1px solid #dfebf6;border-radius:18px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(3,47,105,.05)}
.editorial-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#0b3f82,#147fd9);color:#fff;display:grid;place-items:center;font-weight:950;letter-spacing:-.05em}.editorial-strip div:nth-child(2){display:grid}.editorial-strip small{font-size:10px;color:#4676a8;font-weight:900;letter-spacing:.12em}.editorial-strip strong{font-size:18px}.editorial-strip span{font-size:12px;color:var(--muted)}.editorial-strip button{border:0;background:#eaf4ff;color:#0d63bd;border-radius:12px;padding:10px 12px;font-weight:900}
.section-title{margin-top:26px}.section-title>div h2{margin:3px 0 0}
.events{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.event-card{grid-template-columns:110px 1fr;position:relative;padding:14px;border-radius:20px;transition:.18s ease;align-items:start}.event-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(3,47,105,.11)}
.event-img{width:110px;height:110px;border-radius:16px;background:linear-gradient(135deg,#e0f1ff,#b5d8f5);font-size:44px}.event-main h3{font-size:17px;line-height:1.2}.event-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end;border-top:1px solid #edf2f7;padding-top:10px}.icon-btn{padding:8px 11px}
.nearby{border:1px solid #dceaf7;background:linear-gradient(180deg,#eff8ff,#e9f4fd)}
.favorite-home{box-shadow:0 8px 24px rgba(3,47,105,.05)}
.page-card{border:1px solid #e3ebf3;box-shadow:0 12px 32px rgba(3,47,105,.07)}
.bottom-nav{display:none}
.admin-fab{bottom:24px;right:24px;background:#06234e}

@media(max-width:900px){
  #app{max-width:820px}
  .desktop-nav{display:none}
  .hero-search-row{grid-template-columns:1fr;padding-top:20px;gap:18px}
  .hero-copy h1{font-size:42px}
  .home-overview{grid-template-columns:1fr}.stats-panel{grid-template-columns:repeat(3,1fr)}
  .stat-card{display:grid;justify-content:start}.stat-card small{text-align:left}
  .events{grid-template-columns:1fr}
  .bottom-nav{display:grid}
  main{padding-bottom:110px}
  .admin-fab{bottom:90px}
}
@media(max-width:620px){
  .top-shell{padding:11px 12px 13px;border-radius:0 0 22px 22px}
  .topbar{grid-template-columns:1fr auto;gap:8px}.main-brand-logo{width:min(255px,72vw);max-height:52px;margin:0;object-position:left center}.compact-admin span:last-child{display:none}
  .hero-search-row{padding:14px 2px 4px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:14px}.hero-kicker{font-size:9px}
  .hero-search-card{padding:10px;border-radius:16px}.premium-search input{min-height:48px}.hero-shortcuts{overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.hero-shortcuts button{white-space:nowrap}
  .premium-selvamar{grid-template-columns:auto 1fr auto}.selvamar-cta{font-size:0}.selvamar-cta:after{content:"→";font-size:18px}
  main{padding:18px 12px 105px}
  .featured-panel{min-height:250px;padding:20px}.featured-content{max-width:100%;padding-right:0}.featured-emoji{font-size:58px;right:18px;top:35px;transform:none;opacity:.25}.featured-panel h2{font-size:25px;padding-right:40px}
  .stats-panel{grid-template-columns:repeat(3,1fr);gap:7px}.stat-card{padding:12px 10px;border-radius:16px}.stat-card span{font-size:24px}.stat-card small{font-size:10px}
  .home-toolbar{align-items:center}.home-toolbar h2{font-size:22px}.filters-toggle{display:block}
  .filter-panel{display:none}.filter-panel.open{display:block}.filter-grid{grid-template-columns:1fr 1fr}
  .premium-weekend{grid-template-columns:auto 1fr;padding:14px}.premium-weekend .btn{grid-column:1/-1;width:100%}.premium-weekend .weekend-icon{width:48px;height:48px}.premium-weekend h2{font-size:20px}
  .editorial-strip{grid-template-columns:auto 1fr}.editorial-strip button{grid-column:1/-1;width:100%}
  .events{grid-template-columns:1fr}.event-card{grid-template-columns:86px 1fr}.event-img{width:86px;height:86px}.event-main h3{font-size:16px}
}


/* v0.8 — cabecera compacta y auto-ocultable */
.top-shell{
  transition:transform .28s ease, padding .24s ease, border-radius .24s ease, box-shadow .24s ease;
  will-change:transform;
}
.top-shell.header-hidden{transform:translateY(calc(-100% - 8px));box-shadow:none}
.top-shell.is-compact{padding:8px 18px 9px;border-radius:0 0 18px 18px;box-shadow:0 10px 28px rgba(7,38,82,.17)}
.top-shell.is-compact .main-brand-logo{width:205px;max-height:44px}
.top-shell.is-compact .desktop-nav button{padding:7px 9px;font-size:13px}
.top-shell.is-compact .desktop-nav .desktop-publish{padding-inline:12px}
.top-shell.is-compact .hero-search-row{grid-template-columns:1fr;padding:6px 0 2px;gap:0}
.top-shell.is-compact .hero-copy{display:none}
.top-shell.is-compact .hero-search-card{padding:0;background:transparent;border:0;backdrop-filter:none}
.top-shell.is-compact .premium-search input{min-height:42px;padding-top:9px;padding-bottom:9px;border-radius:13px}
.top-shell.is-compact .hero-shortcuts{display:none}
.top-shell.is-compact .premium-selvamar{margin-top:6px;padding:5px 9px;border-radius:11px}
.top-shell.is-compact .premium-selvamar .selvamar-badge-image{width:30px;height:30px;border-radius:8px}
.top-shell.is-compact .premium-selvamar .selvamar-label strong{font-size:13px}
.top-shell.is-compact .premium-selvamar .selvamar-label small{display:none}
.top-shell.is-compact .selvamar-cta{padding:4px 6px;font-size:11px}
.private-access{width:38px;height:38px;min-height:38px;padding:0;display:grid;place-items:center;border-radius:12px}
.private-access .admin-shield{font-size:16px}
@media(max-width:620px){
  .top-shell.is-compact{padding:6px 10px 7px;border-radius:0 0 16px 16px}
  .top-shell.is-compact .main-brand-logo{width:min(190px,66vw);max-height:40px}
  .top-shell.is-compact .hero-search-row{padding:5px 0 1px}
  .top-shell.is-compact .premium-search input{min-height:40px;font-size:14px}
  .top-shell.is-compact .premium-selvamar{padding:4px 7px}
  .top-shell.is-compact .premium-selvamar .selvamar-badge-image{width:27px;height:27px}
  .top-shell.is-compact .selvamar-cta{font-size:0}
  .top-shell.is-compact .selvamar-cta:after{content:"→";font-size:16px}
  .private-access{width:36px;height:36px;min-height:36px}
}


/* v0.10 — cabecera estable: tamaño fijo + ocultación solo por transform */
.top-shell{
  padding:8px 18px 9px !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 10px 28px rgba(7,38,82,.17);
  transition:transform .24s ease, box-shadow .24s ease !important;
  will-change:transform;
}
.top-shell .main-brand-logo{width:205px !important;max-height:44px !important}
.top-shell .desktop-nav button{padding:7px 9px !important;font-size:13px !important}
.top-shell .desktop-nav .desktop-publish{padding-inline:12px !important}
.top-shell .hero-search-row{grid-template-columns:1fr !important;padding:6px 0 2px !important;gap:0 !important}
.top-shell .hero-copy{display:none !important}
.top-shell .hero-search-card{padding:0 !important;background:transparent !important;border:0 !important;backdrop-filter:none !important}
.top-shell .premium-search input{min-height:42px !important;padding-top:9px !important;padding-bottom:9px !important;border-radius:13px !important}
.top-shell .hero-shortcuts{display:none !important}
.top-shell .premium-selvamar{margin-top:6px !important;padding:5px 9px !important;border-radius:11px !important}
.top-shell .premium-selvamar .selvamar-badge-image{width:30px !important;height:30px !important;border-radius:8px !important}
.top-shell .premium-selvamar .selvamar-label strong{font-size:13px !important}
.top-shell .premium-selvamar .selvamar-label small{display:none !important}
.top-shell .selvamar-cta{padding:4px 6px !important;font-size:11px !important}
.top-shell.header-hidden{transform:translateY(calc(-100% - 10px)) !important;box-shadow:none !important}
.top-shell.is-compact{ /* retained only for backward compatibility; no geometry changes */ }
@media (max-width:620px){
  .top-shell{padding:6px 10px 7px !important;border-radius:0 0 16px 16px !important}
  .top-shell .main-brand-logo{width:min(190px,66vw) !important;max-height:40px !important}
  .top-shell .hero-search-row{padding:5px 0 1px !important}
  .top-shell .premium-search input{min-height:40px !important;font-size:14px !important}
  .top-shell .premium-selvamar{padding:4px 7px !important}
  .top-shell .premium-selvamar .selvamar-badge-image{width:27px !important;height:27px !important}
  .top-shell .selvamar-cta{font-size:0 !important}
  .top-shell .selvamar-cta:after{content:"→";font-size:16px}
}


/* v0.11 — Mobile Premium */
@media (max-width:720px){
  :root{--mobile-bg:#07111d;--mobile-card:#0d1a28;--mobile-card2:#122235;--mobile-line:#22364b;--mobile-text:#f7fbff;--mobile-muted:#9fb0c4}
  body{background:var(--mobile-bg);color:var(--mobile-text)}
  #app{background:var(--mobile-bg);box-shadow:none;max-width:none}
  .top-shell{background:linear-gradient(180deg,#0c2034 0%,#081522 100%);border-radius:0;border-bottom:1px solid var(--mobile-line);padding:8px 12px 10px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
  .topbar{min-height:50px;gap:8px}
  .brand-button{max-width:225px;min-width:0;display:flex;align-items:center}
  .main-brand-logo{width:205px;max-height:46px;object-fit:contain;object-position:left center}
  .desktop-nav{display:none!important}
  .private-access{margin-left:auto;width:38px;height:38px;padding:0;justify-content:center;border-radius:12px;background:#122235;border:1px solid #294157}
  .hero-search-row{display:block;margin-top:6px}
  .hero-copy{display:none}
  .hero-search-card{background:transparent;padding:0;border:0;box-shadow:none}
  .premium-search{background:#122235;border:1px solid #294157;border-radius:14px;box-shadow:none}
  .premium-search input{background:transparent!important;color:#fff!important;padding:12px 12px!important}
  .premium-search input::placeholder{color:#8194a8}
  .hero-shortcuts{display:none}
  .premium-selvamar{margin-top:8px;padding:6px 9px;border-radius:12px;background:#0d1b2a;border:1px solid #22364b;display:flex;min-height:42px}
  .selvamar-badge-image{width:32px;height:32px;border-radius:8px}
  .selvamar-label strong{font-size:13px}.selvamar-label small{font-size:10px;color:#aebbc9}
  .selvamar-cta{font-size:11px;padding:6px 8px;margin-left:auto;color:#49a9ff}
  main{padding:12px 12px 92px;background:var(--mobile-bg)}
  .home-overview{display:block!important;margin:0}
  .featured-panel{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important}
  .featured-visual{position:relative;min-height:360px;border-radius:22px;overflow:hidden;padding:18px;display:flex;align-items:flex-end;background:
    linear-gradient(180deg,rgba(4,12,23,.08) 15%,rgba(4,12,23,.20) 45%,rgba(4,12,23,.94) 100%),
    radial-gradient(circle at 70% 25%,rgba(37,145,255,.42),transparent 34%),
    linear-gradient(135deg,#183957,#0a1a2b 58%,#11294a);background-image:linear-gradient(180deg,rgba(4,12,23,.08),rgba(4,12,23,.94)),var(--featured-image,linear-gradient(135deg,#1b4c75,#0a1a2b));background-size:cover;background-position:center;box-shadow:0 18px 35px rgba(0,0,0,.32)}
  .featured-visual.category-Encuentro{background-image:linear-gradient(180deg,rgba(4,12,23,.02),rgba(4,12,23,.95)),radial-gradient(circle at 70% 25%,#175ca0,#0b2035 60%,#08131f)}
  .featured-visual.category-Mercadillo{background-image:linear-gradient(180deg,rgba(4,12,23,.04),rgba(4,12,23,.96)),radial-gradient(circle at 70% 25%,#89511a,#12233a 58%,#08131f)}
  .featured-visual.category-Activacin{background-image:linear-gradient(180deg,rgba(4,12,23,.04),rgba(4,12,23,.96)),radial-gradient(circle at 70% 25%,#176d65,#10253a 58%,#08131f)}
  .featured-content{position:relative;z-index:3;max-width:92%}
  .featured-content h2{font-size:29px;line-height:1.08;margin:10px 0 12px;color:#fff}
  .featured-label{display:inline-block;background:#ff3349;color:#fff;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:900;letter-spacing:.04em}
  .featured-meta{display:flex;gap:11px;flex-wrap:wrap;color:#dce8f4;font-size:13px;margin-bottom:14px}
  .featured-actions{display:flex;gap:8px}.featured-primary{background:#087df6;color:#fff;border:0;border-radius:999px;padding:11px 17px;font-weight:800}.featured-secondary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 14px;font-weight:700}
  .featured-emoji{position:absolute;right:22px;top:58px;font-size:82px;opacity:.82;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));z-index:2}
  .featured-date{position:absolute;top:16px;left:16px;background:#0c76ea;border-radius:10px;padding:6px 9px;text-align:center;z-index:4;box-shadow:0 8px 18px rgba(0,0,0,.25)}
  .featured-date strong{display:block;font-size:20px;line-height:1}.featured-date span{font-size:10px;font-weight:800}
  .stats-panel{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
  .stat-card{background:#0e1c2b!important;border:1px solid #20364c!important;color:#fff!important;padding:10px 6px!important;border-radius:14px!important;text-align:center!important;min-height:68px!important}
  .stat-card span{font-size:22px!important;color:#4db0ff!important}.stat-card small{display:block;color:#93a7bb!important;font-size:10px!important}
  .home-toolbar{margin:18px 0 8px}.home-toolbar h2{font-size:20px;margin:3px 0;color:#fff}.section-kicker{color:#4baaff!important;font-size:10px!important}
  .filters-toggle{background:#102235!important;color:#d9e7f4!important;border:1px solid #294159!important;border-radius:10px!important}
  .chips{gap:7px;padding:4px 0 10px;scrollbar-width:none}.chip{background:#102235!important;border:1px solid #294159!important;color:#c8d7e7!important;padding:9px 13px!important}.chip.active{background:#087df6!important;border-color:#087df6!important;color:#fff!important}
  .filter-panel{background:#0d1a28!important;border:1px solid #22374d!important;color:#fff!important}.filter-panel label{color:#9eb0c3!important}.filter-panel input,.filter-panel select{background:#122235!important;color:#fff!important;border-color:#294159!important}
  .premium-weekend{display:none!important}.editorial-strip{display:none!important}
  .section-title{margin:18px 0 10px}.section-title h2{color:#fff;font-size:22px}.link-btn{color:#45a9ff!important}
  .events{grid-template-columns:1fr!important;gap:10px!important}
  .premium-event{background:#0d1a28!important;border:1px solid #1e3348!important;border-radius:16px!important;padding:0!important;grid-template-columns:122px 1fr auto!important;overflow:hidden;min-height:120px;box-shadow:none!important}
  .premium-event .event-img{width:122px!important;height:100%!important;min-height:120px!important;border-radius:0!important;position:relative;background:linear-gradient(145deg,#173d5d,#0b1a29)!important;background-size:cover!important;background-position:center!important;display:block!important}
  .event-img.category-Mercadillo{background:linear-gradient(145deg,#67401b,#102235)!important}.event-img.category-Encuentro{background:linear-gradient(145deg,#174d7a,#102235)!important}.event-img.category-Activacin{background:linear-gradient(145deg,#17635e,#102235)!important}.event-img.category-Feria{background:linear-gradient(145deg,#553475,#102235)!important}
  .event-emoji{position:absolute;font-size:42px;right:10px;bottom:10px;opacity:.76}.date-badge{position:absolute;top:8px;left:8px;background:#0c76ea;border-radius:8px;padding:5px 7px;color:white;text-align:center;z-index:2}.date-badge strong{display:block;font-size:17px;line-height:1}.date-badge span{font-size:9px;font-weight:900}.premium-event .tag{position:absolute;bottom:8px;left:8px;margin:0;font-size:9px;padding:4px 6px}
  .premium-event .event-main{padding:12px 6px 10px 0;align-self:center}.premium-event .event-main h3{color:#fff;font-size:16px;margin:0 0 8px;line-height:1.18}.premium-event .meta{color:#a7b8c9;font-size:11px;gap:7px}.premium-event .event-desc{display:none}.premium-event .card-actions{padding:8px 8px 8px 0;gap:5px;align-self:center}.premium-event .icon-btn{background:#13283d!important;color:#60b6ff!important;border-radius:10px!important;padding:8px 9px!important;font-size:11px}.premium-event .fav-btn{font-size:17px!important}
  .nearby{background:#0d1a28!important;border:1px solid #21364a!important}.near-card{background:#122235!important;color:#fff!important}.near-card small{color:#9fb0c4!important}
  .favorite-home{background:#0d1a28!important;color:#fff!important;border:1px solid #21364a!important;border-radius:18px!important;padding:14px!important}.mod-card{background:#122235!important;border-color:#273d54!important;color:#fff!important}.muted{color:#9fb0c4!important}
  .page-card{background:#0b1826!important;color:#fff!important;border:1px solid #1f3448!important;box-shadow:none!important;padding:14px!important}.page-card h2{color:#fff}.form input,.form select,.form textarea{background:#122235!important;color:#fff!important;border-color:#294159!important}.form label{color:#c8d7e7!important}.info-box{background:#102842!important;color:#b8d9f8!important}
  .selvamar-page-head{align-items:center!important}.selvamar-page-head img{width:74px!important;height:74px!important;border-radius:16px!important}.news-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.premium-news{background:#0d1a28!important;border:1px solid #22364b!important;border-radius:16px!important;overflow:hidden!important;padding:0!important;display:grid!important;grid-template-columns:110px 1fr!important}.news-visual{min-height:126px;background:linear-gradient(145deg,#14456b,#07131f);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px;color:#53b5ff}.news-1{background:linear-gradient(145deg,#4a3718,#101c29)}.news-2{background:linear-gradient(145deg,#1a4b43,#101c29)}.news-body{padding:12px}.news-body h3{color:#fff;margin:3px 0 6px;font-size:16px}.news-body p{color:#9fb0c4;font-size:12px;margin:0 0 8px}.news-body small{color:#55b3ff}.news-body button{border:0;background:transparent;color:#51b2ff;padding:0;font-weight:800;font-size:12px}
  .bottom-nav{background:rgba(7,17,29,.96)!important;border-top:1px solid #21364b!important;backdrop-filter:blur(18px);padding-top:8px!important}.nav{color:#91a4b8!important}.nav span{font-size:20px!important}.nav.active{color:#2499ff!important}.nav.active:after{content:'';display:block;width:16px;height:2px;background:#2499ff;border-radius:2px;margin-top:2px}
  dialog{background:#0b1826!important;color:#fff!important}.dialog-close{background:#142538!important;color:#fff!important}.detail-box{background:#122235!important;color:#fff!important;border-color:#2a4057!important}.secondary{background:#14283d!important;color:#fff!important;border-color:#2c4660!important}
}


/* v0.12 — corrección tarjetas escritorio/tablet */
@media (min-width:721px){
  .premium-event{
    grid-template-columns:110px minmax(0,1fr) !important;
    overflow:hidden;
  }
  .premium-event .event-img{
    position:relative !important;
    overflow:hidden;
    flex:none;
  }
  .premium-event .date-badge{
    position:absolute;
    top:8px;
    left:8px;
    z-index:3;
    min-width:42px;
    padding:5px 7px;
    border-radius:9px;
    background:#0c76ea;
    color:#fff;
    text-align:center;
    line-height:1;
    box-shadow:0 5px 12px rgba(0,0,0,.18);
  }
  .premium-event .date-badge strong{
    display:block;
    font-size:17px;
    line-height:1;
    letter-spacing:0;
  }
  .premium-event .date-badge span{
    display:block;
    margin-top:3px;
    font-size:9px;
    line-height:1;
    font-weight:900;
    letter-spacing:.04em;
  }
  .premium-event .event-emoji{
    position:absolute;
    right:10px;
    bottom:12px;
    font-size:40px;
    line-height:1;
    opacity:.82;
  }
  .premium-event .tag{
    position:absolute;
    left:8px;
    bottom:8px;
    z-index:3;
    margin:0;
    max-width:calc(100% - 16px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .premium-event .event-main{
    min-width:0;
    padding-right:4px;
  }
  .premium-event .event-main h3{
    overflow-wrap:anywhere;
  }
  .premium-event .card-actions{
    grid-column:1/-1;
    width:100%;
  }
}


/* v0.13 — anti-spam, multiadministrador e históricos */
.publish-rate-status{margin-top:-4px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:700}
.publish-rate-status.ok{background:#eaf8ef;color:#17643a;border:1px solid #c8ead4}
.publish-rate-status.wait{background:#fff4df;color:#8a5600;border:1px solid #f2d49d}
#publishSubmitBtn:disabled{opacity:.55;cursor:not-allowed}
.admin-history-block{margin-top:28px;padding-top:20px;border-top:1px solid rgba(127,147,170,.22)}
.admin-history-block h3{margin:0 0 4px}.history-list{display:grid;gap:8px}
.history-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid #dce4ed;border-radius:12px;background:#fff}
.history-row strong{display:block}.history-row small{display:block;margin-top:4px;color:#687787}.history-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;color:#687787}
@media(max-width:720px){.publish-rate-status.ok{background:#10291e;color:#9ee7bb;border-color:#24573a}.publish-rate-status.wait{background:#33250e;color:#ffd992;border-color:#684b17}.history-row{background:#122235!important;border-color:#273d54!important;color:#fff;align-items:flex-start;flex-direction:column}.history-meta{justify-content:flex-start;color:#9fb0c4}.admin-history-block{border-top-color:#22364b}}


/* v0.14.1 — histórico público de eventos pasados */
.past-events-section{margin:34px 0 26px;padding-top:22px;border-top:1px solid rgba(127,147,170,.22)}
.past-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.past-event-card{display:grid;grid-template-columns:132px 1fr;gap:16px;padding:16px;border:1px solid #dce4ed;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(17,38,63,.05)}
.past-event-date{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:12px;background:#f1f5f9;padding:12px;color:#44576b}
.past-event-date strong{font-size:14px}.past-event-date span{font-size:11px;margin-top:6px;text-transform:uppercase;letter-spacing:.04em}
.past-event-body h3{margin:0}.past-event-body p{margin:6px 0}.past-event-body small{color:#687787}
.past-event-title-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.verified-badge{font-size:11px;font-weight:800;padding:4px 7px;border-radius:999px;background:#eaf8ef;color:#17643a;border:1px solid #c8ead4}
.past-event-actions{margin-top:8px}
@media(max-width:900px){.past-events{grid-template-columns:1fr}}
@media(max-width:620px){.past-event-card{grid-template-columns:1fr}.past-event-date{align-items:flex-start;text-align:left}.verified-badge{background:#10291e;color:#9ee7bb;border-color:#24573a}.past-event-card{background:#122235;border-color:#273d54;color:#fff}.past-event-body small{color:#9fb0c4}}


/* Sección: cabecera-fija-original.css */
/* RadioEncuentros — cabecera original siempre visible, logo equilibrado.
   Únicamente modifica presentación; no afecta PHP, API ni MySQL. */
.top-shell,
.top-shell.header-hidden {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  transform: none !important;
}
.top-shell .topbar {
  gap: 14px !important;
}
/* Pastilla compacta: menos espacio blanco que la versión anterior. */
.top-shell .brand-button {
  box-sizing: border-box;
  display: flex !important;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
  width: 270px;
  min-width: 0;
  max-width: 100%;
  height: 70px;
  padding: 7px 9px !important;
  border: 0;
  border-radius: 15px;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.10);
}
.top-shell .main-brand-logo,
.top-shell.is-compact .main-brand-logo {
  display: block;
  width: 250px !important;
  max-width: 100% !important;
  max-height: 62px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain;
  object-position: center;
  filter: none !important;
}
@media (max-width: 900px) {
  .top-shell .brand-button { width: 225px; height: 61px; padding: 6px 8px !important; }
  .top-shell .main-brand-logo,
  .top-shell.is-compact .main-brand-logo { width: 212px !important; max-height: 52px !important; }
}
@media (max-width: 620px) {
  .top-shell .topbar { gap: 8px !important; }
  .top-shell .brand-button { width: min(215px, 65vw); height: 58px; padding: 5px 7px !important; border-radius: 12px; }
  .top-shell .main-brand-logo,
  .top-shell.is-compact .main-brand-logo { width: 203px !important; max-height: 49px !important; }
}


/* Sección: noticias-tarjetas-v5.css */
/* RadioEncuentros: tarjetas compactas de noticias. Sustituye v3 y v4. */
#selvamarView #selvamarNews .news-card.premium-news {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#selvamarView #selvamarNews .news-card.premium-news .news-visual {
  display: block !important;
  width: 200px !important;
  height: 160px !important;
  min-height: 0 !important;
  max-height: 160px !important;
  min-width: 0 !important;
  aspect-ratio: auto !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: #102b4a !important;
  border-radius: 0 !important;
}
#selvamarView #selvamarNews .news-card.premium-news .news-visual > span { display: none !important; }
#selvamarView #selvamarNews .news-card.premium-news .news-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  padding: 13px 16px !important;
}
#selvamarView #selvamarNews .news-card.premium-news .news-body h3 {margin: 4px 0 6px !important;line-height:1.22 !important;font-size:17px !important;}
#selvamarView #selvamarNews .news-card.premium-news .news-body p {margin:0 0 10px !important;line-height:1.4 !important;}
#selvamarView #selvamarNews .news-card.premium-news .news-body a.btn {display:inline-flex !important; width:auto !important; padding:9px 13px !important; text-decoration:none !important;}
@media(max-width:620px){
  #selvamarView #selvamarNews .news-card.premium-news {grid-template-columns: 112px minmax(0,1fr) !important;}
  #selvamarView #selvamarNews .news-card.premium-news .news-visual {width:112px !important;height:125px !important;max-height:125px !important;}
  #selvamarView #selvamarNews .news-card.premium-news .news-body {padding:10px !important;}
  #selvamarView #selvamarNews .news-card.premium-news .news-body h3 {font-size:14px !important;}
  #selvamarView #selvamarNews .news-card.premium-news .news-body p {font-size:12px !important;display:-webkit-box !important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
}


/* Ajustes de la cabecera original */

    /* Identidad original, logotipo legible, sin depender del CSS en caché */
    .top-shell, .top-shell.header-hidden {
      position: sticky !important; top: 0 !important; z-index: 1000 !important;
      transform: none !important;
    }
    .top-shell .brand-button, .top-shell.is-compact .brand-button {
      display: inline-flex !important; flex-direction: row !important;
      align-items: center !important; justify-content: flex-start !important;
      gap: 10px !important; flex: 0 1 auto !important;
      width: auto !important; min-width: 0 !important; max-width: min(100%, 345px) !important;
      height: auto !important; min-height: 60px !important;
      padding: 8px 14px !important; border: 0 !important;
      border-radius: 13px !important; background: #fff !important;
      color: #092b59 !important; text-align: left !important;
      box-shadow: 0 3px 10px rgba(0,0,0,.10) !important;
    }
    .top-shell .re-brand-icon {
      width: 45px !important; height: 45px !important; flex: 0 0 45px !important;
      object-fit: contain !important; display: block !important;
    }
    .top-shell .re-brand-words {display:flex !important; flex-direction:column !important; gap:2px !important; min-width:0 !important;}
    .top-shell .re-brand-words strong {
      display:block !important; color:#073d83 !important; font-weight:850 !important;
      font-size:clamp(19px, 1.9vw, 25px) !important; line-height:1.05 !important;
      letter-spacing:-.55px !important; white-space:nowrap !important;
    }
    .top-shell .re-brand-words small {
      display:block !important; color:#37516d !important; font-size:12px !important;
      line-height:1.25 !important; font-weight:750 !important; letter-spacing:.6px !important;
    }
    @media(max-width:620px){
      .top-shell .topbar {gap:8px !important;}
      .top-shell .brand-button, .top-shell.is-compact .brand-button {
        min-height:50px !important; padding:7px 9px !important; gap:7px !important;
        max-width: calc(100vw - 90px) !important; border-radius:11px !important;
      }
      .top-shell .re-brand-icon {width:34px !important; height:34px !important; flex-basis:34px !important;}
      .top-shell .re-brand-words strong {font-size:clamp(15px, 4.15vw, 19px) !important;letter-spacing:-.65px !important;}
      .top-shell .re-brand-words small {font-size:10px !important;letter-spacing:.1px !important;}
    }
  

/* Sección: radioencuentros-carteles-v1.css */
/* RadioEncuentros - Carteles completos v1. Aislado: NO modifica Noticias ni Mapa. */
/* La tarjeta usa dos fondos: degradado de lectura y cartel del evento. */
.premium-event .event-img[style*="background-image"] {
  background-size: 100% 100%, contain !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-color: #102235 !important;
}
/* Cartel destacado: prioridad sobre los colores por categoría. */
.featured-visual[style*="--featured-image"] {
  background-image: linear-gradient(180deg,rgba(4,12,23,.06) 0%,rgba(4,12,23,.15) 45%,rgba(4,12,23,.95) 100%), var(--featured-image) !important;
  background-size: 100% 100%, contain !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-color: #102235 !important;
}
/* Cartel completo al abrir los detalles. */
.detail-poster {
  width: 100% !important;
  height: min(60vh, 560px) !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #101f30;
}


/* Sección: radioencuentros-calendario-v1.css */
/* RadioEncuentros: calendario mensual, estilos encapsulados */
.re-monthly{margin:18px 0;color:#163254}.re-monthly *{box-sizing:border-box}.re-monthly-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.re-monthly-head h3{flex:1;margin:0;font-size:clamp(18px,3vw,23px);text-align:center;color:#143b70}.re-monthly-head button,.re-monthly-clear{border:1px solid #d6e3f4;background:#fff;color:#1854a0;border-radius:10px;min-height:37px;padding:5px 12px;cursor:pointer}.re-monthly-head>button:not(.re-monthly-today){font-size:27px;line-height:1}.re-monthly-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.re-weekday{text-align:center;font-size:12px;color:#566b83;padding:9px 0}.re-monthly-blank{min-height:73px}.re-monthly-day{min-height:73px;border:1px solid #e0e9f4;background:#fff;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;padding:9px;color:#18385b;cursor:pointer;min-width:0}.re-monthly-day:hover,.re-monthly-day:focus-visible{border-color:#1d69bc;outline:none}.re-monthly-day.today{box-shadow:inset 0 0 0 2px #83b4ef}.re-monthly-day.has-events{background:#e8f2ff;border-color:#a7c9f1}.re-monthly-day.selected{background:#185bb2;color:#fff;border-color:#185bb2}.re-monthly-day small{font-size:10px;line-height:1.15;overflow-wrap:anywhere}.re-monthly-results{margin-top:22px}.re-monthly-results h3{font-size:18px;margin:0 0 10px}.re-monthly-clear{margin:0 0 14px}.re-monthly-events{display:grid;gap:9px}.re-monthly-event{border:1px solid #e0e9f4;border-radius:12px;padding:14px;display:flex;justify-content:space-between;gap:15px;align-items:center;background:#fff}.re-monthly-event strong{font-size:14px}.re-monthly-event p{margin:5px 0;font-size:12px}.re-monthly-event small{color:#66788d}.re-monthly-event button{border:0;border-radius:10px;background:#1765bf;color:#fff;padding:10px 13px;white-space:nowrap;cursor:pointer}.re-monthly-empty{padding:15px;color:#65788a}.re-monthly [hidden]{display:none!important}@media(max-width:600px){.re-monthly-grid{gap:3px}.re-monthly-day,.re-monthly-blank{min-height:58px}.re-monthly-day{padding:5px;border-radius:6px;font-size:12px}.re-monthly-day small{font-size:9px}.re-monthly-event{align-items:flex-start;flex-direction:column}.re-monthly-event button{align-self:flex-end}}


/* Sección: radioencuentros-fichas-v1.css */
.re-full-dialog{border:0;border-radius:18px;padding:0;width:min(900px,95vw);max-height:92vh;background:#fff;color:#152c4e;box-shadow:0 18px 55px #061c3d55}.re-full-dialog::backdrop{background:#07162baa}.re-full-wrap{position:relative}.re-full-close{position:sticky;top:8px;float:right;z-index:3;margin:8px;border:0;border-radius:50%;width:40px;height:40px;background:#eef3fb;color:#123c75;font-size:28px;cursor:pointer}.re-full-body{padding:16px 25px 30px;display:grid;grid-template-columns:minmax(170px,.8fr) minmax(230px,1.3fr);gap:24px}.re-full-poster img{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:12px;background:#f2f5fb}.re-full-info h2{margin:8px 0 20px;line-height:1.2}.re-full-category{color:#0b5ca8;font-size:13px;font-weight:bold}.re-full-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.re-full-fields>div{display:flex;flex-direction:column;gap:4px}.re-full-fields b{font-size:13px;color:#61748e}.re-full-fields span{font-size:15px}.re-full-description{white-space:pre-wrap;line-height:1.6}.re-full-location{font-size:13px;color:#56708d}.re-full-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.re-full-actions a,.re-full-actions button{border:1px solid #cad9eb;border-radius:9px;padding:9px 13px;color:#0a4d95;background:#f3f7fe;text-decoration:none;font:inherit;cursor:pointer}.re-full-launch{margin:12px 0}.re-full-loading{grid-column:1/-1}.re-full-feedback{font-size:13px;overflow-wrap:anywhere}@media(max-width:650px){.re-full-body{display:block;padding:16px}.re-full-poster img{max-height:38vh;margin-bottom:14px}.re-full-fields{grid-template-columns:1fr 1fr}.re-full-dialog{width:96vw}}
/* Cartel ausente o no disponible: aprovechar todo el ancho de la ficha. */
.re-full-body.re-full-no-poster{grid-template-columns:minmax(0,1fr)}
.re-full-body.re-full-no-poster .re-full-info{min-width:0}
