:root{
  --bg1:#0c172d;
  --bg2:#17356d;
  --bg3:#56c0ff;
  --sea:#ccecff;
  --foam:#56c0ff;
  --text:#e8f4ff;
  --muted:rgba(232,244,255,.76);
  --card:rgba(8,20,44,.58);
  --stroke:rgba(86,192,255,.24);
  --accent-deep:rgba(7,21,47,.95);
  --accent-blue:rgba(26,60,122,.95);
  --accent-blue-soft:rgba(26,60,122,.18);
  --accent-glow:rgba(86,192,255,.18);
  --accent-cream:rgba(204,236,255,.96);
  --shadow: 0 18px 40px rgba(0,0,0,.35);
  --gold:#f0c674;
  --gold-soft:rgba(240,198,116,.16);
  --gold-line:rgba(240,198,116,.5);
}

*{ box-sizing:border-box; }

.icon{
  width:18px;
  height:18px;
  flex-shrink:0;
  display:inline-block;
  vertical-align:-3px;
}

.icon-slot{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
}

.tab-icon,
.navbtn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.tab-icon .icon{ width:16px; height:16px; }
.navbtn-icon .icon{ width:24px; height:24px; }
.subtab-icon .icon{ width:16px; height:16px; }

.landing-chip{ gap:8px; }
.landing-chip-icon{ flex-shrink:0; }
.landing-chip-icon .icon{ width:18px; height:18px; }

.icon-btn,
.photo-remove-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@keyframes fadeSlideIn{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes modalBackdropIn{
  from{ opacity:0; }
  to{ opacity:1; }
}
@keyframes modalCardIn{
  from{ opacity:0; transform:translateY(10px) scale(.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

.item,
.subtabs-wrap,
.notice,
.error,
.success-notice{
  animation:fadeSlideIn .22s ease both;
}

.modal,
.lightbox-backdrop{
  animation:modalBackdropIn .18s ease both;
}

.modal-card,
.lightbox-shell{
  animation:modalCardIn .22s cubic-bezier(.22,1,.36,1) both;
}

.floating-help-btn,
.floating-back-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.floating-publish-btn.is-visible,
.back-to-top-btn.is-visible{
  gap:6px;
}

.section-focus-hero-title .icon{
  vertical-align:-4px;
}

html, body{ min-height:100%; }

html{
  background:var(--bg1);
}

body{
  margin:0;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  letter-spacing:-.01em;
  background:
    radial-gradient(1200px 700px at 72% 12%, rgba(86,192,255,.14), transparent 58%),
    radial-gradient(900px 600px at 22% 24%, rgba(56,95,161,.14), transparent 55%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
  overflow-x:hidden;
}

body.splash-lock,
body.publish-loading-lock{
  overflow:hidden;
}

.app-splash{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(780px 420px at 50% 28%, rgba(188,226,247,.16), transparent 60%),
    linear-gradient(180deg, rgba(2,19,35,.96), rgba(4,36,68,.98));
  opacity:0;
  visibility:hidden;
  transition:opacity .32s ease, visibility .32s ease;
}

.app-splash.is-visible{
  opacity:1;
  visibility:visible;
}

.app-splash.is-hiding{
  opacity:0;
  visibility:hidden;
}

.ad-carousel{
  position:relative;
  width:100%;
  max-width:640px;
  margin:0 auto 16px;
  border-radius:20px;
  overflow:hidden;
  aspect-ratio:4/3;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(86,192,255,.18);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}

.btn-spinner{
  display:inline-block;
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:currentColor;
  animation:btnSpin .7s linear infinite;
  vertical-align:-2px;
}

@keyframes btnSpin{
  to{ transform:rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
  .btn-spinner{ animation:none; }
}

.ad-destination-toggle{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}

.ad-destination-option{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1.5px solid rgba(86,192,255,.22);
  background:rgba(255,255,255,.03);
  cursor:pointer;
  font-size:14px;
}

.ad-destination-option:has(input:checked){
  border-color:rgba(86,192,255,.6);
  background:rgba(86,192,255,.08);
}

.ad-destination-option input{
  width:16px;
  height:16px;
  flex-shrink:0;
}

.ad-featured-cta-wrap{
  display:flex;
  justify-content:center;
  margin-top:10px;
}

.ad-featured-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 16px;
  border-radius:999px;
  background:rgba(255,159,67,.12);
  color:#ffcb8a;
  font-weight:700;
  font-size:12.5px;
  border:1px solid rgba(255,159,67,.4);
  text-decoration:none;
}

.ad-featured-cta .icon{
  width:14px;
  height:14px;
}

.ad-featured-cta-badge{
  display:inline-block;
  padding:1px 7px;
  border-radius:999px;
  background:rgba(216, 137, 255, .22);
  color:#f3d9ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
}

.ad-featured-cta:hover{
  background:rgba(255,159,67,.2);
}

.ad-featured-cta:active{
  transform:scale(.96);
}

.ad-carousel-label{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(6,17,38,.62);
  backdrop-filter:blur(4px);
  color:#eaf5ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  pointer-events:none;
}

.ad-carousel-tag{
  font-size:9px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(220,230,240,.65);
  border:1px solid rgba(220,230,240,.3);
  border-radius:999px;
  padding:2px 6px;
}

.ad-carousel-track{
  display:flex;
  height:100%;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}

.ad-carousel-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  display:block;
}

.ad-carousel-media{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}

.ad-carousel-media-bg{
  position:absolute;
  inset:-20px;
  width:calc(100% + 40px);
  height:calc(100% + 40px);
  object-fit:cover;
  filter:blur(38px) brightness(.4) saturate(.65);
  transform:scale(1.18);
}

.ad-carousel-media-fg{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.ad-carousel-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:10px;
  display:flex;
  justify-content:center;
  gap:6px;
}

.ad-carousel-dot{
  width:8px;
  height:8px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.5);
  background:rgba(255,255,255,.35);
  cursor:pointer;
  transition:background .2s ease, width .2s ease;
}

.ad-carousel-dot.is-active{
  width:20px;
  background:#56c0ff;
  border-color:#56c0ff;
}

.app-splash-shell{
  position:relative;
  display:grid;
  justify-items:center;
  gap:18px;
  text-align:center;
}

.app-splash-ring{
  position:absolute;
  inset:auto;
  width:240px;
  height:240px;
  border-radius:999px;
  border:1px solid rgba(188,226,247,.18);
  box-shadow:
    0 0 0 18px rgba(188,226,247,.05),
    0 0 70px rgba(188,226,247,.14);
  animation:splashPulse 1.8s ease-in-out infinite;
}

.app-splash-logo-wrap{
  position:relative;
  width:172px;
  height:172px;
  border-radius:50%;
  padding:0;
  background:radial-gradient(circle at 50% 38%, rgba(204,236,255,.10), rgba(255,255,255,.02) 62%, rgba(255,255,255,0) 74%);
  border:1px solid rgba(204,236,255,.14);
  box-shadow:
    0 22px 54px rgba(0,0,0,.30),
    0 0 0 12px rgba(204,236,255,.03);
  backdrop-filter:blur(8px);
  animation:splashRise .5s cubic-bezier(.22,.85,.32,1) both;
  overflow:hidden;
}

.app-splash-logo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 14%;
  border-radius:50%;
  display:block;
  animation:splashLogoAssemble .62s cubic-bezier(.32,.72,.24,1) .2s both;
}

.app-splash-logo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg, transparent 42%, rgba(255,255,255,.30) 50%, transparent 58%);
  transform:translateX(-130%);
  animation:splashLogoShine .55s ease .82s 1;
  pointer-events:none;
}

.app-splash-title{
  font-size:44px;
  font-weight:900;
  letter-spacing:-.8px;
  color:var(--text);
  animation:splashRise .5s cubic-bezier(.22,.85,.32,1) .68s both;
}

.app-splash-subtitle{
  margin-top:8px;
  color:var(--muted);
  font-size:16px;
  animation:splashRise .5s cubic-bezier(.22,.85,.32,1) .82s both;
}

@keyframes splashLogoAssemble{
  from{
    clip-path:circle(0% at 50% 38%);
    transform:scale(1.06);
  }
  to{
    clip-path:circle(150% at 50% 38%);
    transform:scale(1);
  }
}

@keyframes splashLogoShine{
  from{ transform:translateX(-130%); }
  to{ transform:translateX(130%); }
}

@keyframes splashRise{
  from{
    transform:translateY(18px) scale(.96);
    opacity:0;
  }
  to{
    transform:translateY(0) scale(1);
    opacity:1;
  }
}

@keyframes splashPulse{
  0%, 100%{
    transform:scale(.96);
    opacity:.72;
  }
  50%{
    transform:scale(1.05);
    opacity:1;
  }
}

a{ color:inherit; text-decoration:none; }

.container{
  max-width:1050px;
  margin:0 auto;
  padding: 22px 18px 110px;
  display:grid;
  gap:18px;
}

.landing-page{
  background:
    linear-gradient(180deg, rgba(8,22,48,.82), rgba(12,35,78,.78) 56%, rgba(10,28,61,.84)),
    radial-gradient(960px 560px at 50% 10%, rgba(86,192,255,.26), transparent 62%),
    radial-gradient(760px 460px at 50% 38%, rgba(31,69,138,.16), transparent 60%),
    linear-gradient(180deg, rgba(8,22,48,.18), rgba(86,192,255,.10)),
    url("/assets/fondo-aura-plus.png?v=20260706ap20") 78% center / cover no-repeat fixed,
    linear-gradient(180deg, #0c172d, #17356d 64%, #0a214c);
}

/* Foto de fondo del municipio activo: solo se activa cuando ya se entro a su contenido,
   asi la pantalla de seleccion de municipios no comparte la misma imagen.
   --municipio-photo lo define el JS segun la pestana elegida (data-municipio-photo). */
.landing-page.municipio-open{
  background:
    linear-gradient(180deg, rgba(8,22,48,.82), rgba(12,35,78,.78) 56%, rgba(10,28,61,.84)),
    radial-gradient(960px 560px at 50% 10%, rgba(86,192,255,.26), transparent 62%),
    radial-gradient(760px 460px at 50% 38%, rgba(31,69,138,.16), transparent 60%),
    linear-gradient(180deg, rgba(8,22,48,.18), rgba(86,192,255,.10)),
    var(--municipio-photo, url("/assets/fondo_sanpedroplus.jpg?v=20260706ap20")) center center / cover no-repeat fixed,
    linear-gradient(180deg, #0c172d, #17356d 64%, #0a214c);
}

/* iOS Safari no soporta bien background-attachment:fixed fuera del <body>:
   la foto se ve encogida/mal encuadrada. En movil se usa scroll en su lugar. */
@media (pointer: coarse){
  .landing-page,
  .landing-page.municipio-open{
    background-attachment: scroll;
  }
}

.landing-container{
  min-height:100vh;
  align-content:center;
  justify-items:center;
  gap:26px;
  padding-top:38px;
  padding-bottom:96px;
}

.landing-header{
  width:100%;
  justify-content:center;
  padding:24px 16px;
  position:relative;
  border-radius:22px;
  overflow:hidden;
  animation: fadeSlideIn .6s ease both;
}

.landing-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,19,40,.42) 0%, rgba(10,26,55,.50) 100%),
    url("/assets/fondo-aura-plus.png?v=20260706ap20") 78% center / cover no-repeat;
  border-radius:22px;
  z-index:0;
}

/* Foto de fondo del municipio activo dentro del header, solo cuando ya se entro a su contenido */
.municipio-open .landing-header::before{
  background:
    linear-gradient(180deg, rgba(8,19,40,.46) 0%, rgba(10,26,55,.54) 100%),
    var(--municipio-photo, url("/assets/fondo_sanpedroplus.jpg?v=20260706ap20")) center center / cover no-repeat;
}

/* San Pedro: sube el encuadre de la foto en el header para que se vea la iglesia,
   no solo el paisaje de fondo. */
body[data-municipio="san-pedro"] .landing-header::before{
  background-position: 50% 50%, center 82%;
}

.landing-header > *{
  position:relative;
  z-index:1;
}

.landing-header .brand{
  flex-direction:column;
  text-align:center;
  gap:18px;
}

.landing-header .logo-img{
  width:144px;
  height:144px;
  border-radius:50%;
  object-fit:cover;
  object-position:center 14%;
  padding:0;
  background:transparent;
  border:2px solid rgba(204,236,255,.18);
  animation:
    logoGlowPulse 3.6s ease-in-out infinite,
    logoFloat 5s ease-in-out infinite;
}

@keyframes logoGlowPulse{
  0%, 100%{
    box-shadow:
      0 24px 54px rgba(0,0,0,.30),
      0 0 0 10px rgba(204,236,255,.04),
      0 0 0 0 rgba(86,192,255,.30);
  }
  50%{
    box-shadow:
      0 24px 54px rgba(0,0,0,.30),
      0 0 0 10px rgba(204,236,255,.07),
      0 0 36px 8px rgba(86,192,255,.42);
  }
}

@keyframes logoFloat{
  0%, 100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}

.landing-header .brand h1{
  font-size:56px;
  letter-spacing:-1.1px;
}

/* Antes de elegir municipio, el logo y la foto de fondo ya muestran la marca
   "Aura Plus"; ocultamos el titulo aqui para no repetirla una tercera vez. */
body:not(.municipio-open) .landing-header .brand h1{
  display:none;
}

.landing-header .brand small{
  font-size:22px;
  font-weight:700;
  letter-spacing:.2px;
  line-height:1.3;
}

.brand-tagline-accent{
  color: var(--foam);
  text-shadow: 0 6px 22px rgba(86,192,255,.28);
}

header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 10px 6px;
}

.brand{ display:flex; align-items:center; gap:16px; }
.logo{
  width:46px; height:46px;
  border-radius:14px;
  background:
    radial-gradient(40px 40px at 30% 30%, rgba(204,236,255,.42), transparent 55%),
    linear-gradient(135deg, rgba(86,192,255,.96), rgba(18,57,127,.98));
  border: 1px solid rgba(204,236,255,.28);
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.logo:after{
  content:"";
  position:absolute; inset:-10px;
  background: radial-gradient(50% 40% at 50% 80%, rgba(255,255,255,.25), transparent 60%);
  transform: rotate(-8deg);
}

.brand h1{ font-size:30px; line-height:1.05; margin:0; letter-spacing:.2px; font-weight:900; }
.brand small{ display:block; color:var(--muted); font-size:16px; margin-top:6px; }

.pill{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}

.card{
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius:24px;
  box-shadow: var(--shadow);
  padding: 22px;
  backdrop-filter: blur(10px);
}

.landing-card{
  width:min(100%, 860px);
  padding:32px 30px 28px;
  text-align:center;
  background:
    linear-gradient(180deg, rgba(204,236,255,.16), rgba(255,255,255,.04)),
    radial-gradient(420px 180px at 50% 0%, rgba(86,192,255,.18), transparent 70%),
    rgba(7,23,53,.58);
  border-color:rgba(86,192,255,.24);
  box-shadow:
    0 28px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(16px);
}

.landing-card.is-revealed{
  animation: fadeSlideIn .32s ease both;
}

.municipio-back-wrap{
  display:none;
  width:min(100%, 860px);
  margin:0 0 16px;
}

.municipio-open .municipio-tabs-wrap{
  display:none;
}

.municipio-open .municipio-back-wrap{
  display:flex;
  animation: fadeSlideIn .35s ease both;
}

.municipio-back-btn{
  display:flex;
  width:max-content;
  margin:0;
  padding:12px 22px;
  font-size:14px;
}

.btn.primary.municipio-back-btn{
  background:linear-gradient(135deg, #1f5fd6, #0d3fb0);
  color:#f5faff;
  border:1.5px solid rgba(255,255,255,.35);
  box-shadow:
    0 10px 26px rgba(86,192,255,.38),
    0 0 0 1px rgba(86,192,255,.14);
}

.btn.primary.municipio-back-btn:hover{
  transform:translateY(-2px);
  box-shadow:
    0 14px 30px rgba(86,192,255,.48),
    0 0 0 1px rgba(86,192,255,.2);
}

.municipio-back-btn:active{
  transform:scale(.97);
}

.title{
  font-size:42px;
  line-height:1.03;
  margin:0;
  letter-spacing:-.7px;
}
.title span{ color: var(--foam); text-shadow: 0 6px 22px rgba(86,192,255,.28); }

.subtitle{
  margin:12px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
  max-width: 60ch;
}

.landing-card .subtitle{
  margin:0 auto;
  font-size:17px;
  line-height:1.6;
  max-width:42rem;
}

.landing-categories{
  margin-top:18px;
  padding:16px 14px 12px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.10);
  transition:margin-top .28s ease, transform .28s ease;
}

.landing-card.is-searching .landing-categories{
  margin-top:26px;
  transform:translateY(4px);
}

.landing-categories-label{
  margin:0 0 14px;
  text-align:center;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(184,228,255,.86);
}

.landing-chips{
  margin-top:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.landing-chip{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(204,236,255,.12);
  border:1px solid rgba(86,192,255,.20);
  color:rgba(232,244,255,.96);
  font-weight:700;
  font-size:14px;
  text-align:center;
  transition:transform .12s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.landing-chip-label{
  min-width:0;
  text-align:center;
}

.landing-chip-count{
  display:inline-flex;
  vertical-align:middle;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  margin-left:2px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.12);
  color:inherit;
  font-size:11px;
  font-weight:900;
  font-family:inherit;
  line-height:1;
}

.landing-chip-count[hidden]{
  display:none;
}

.landing-chip:hover{
  transform:translateY(-1px);
  background:rgba(86,192,255,.18);
  border-color:rgba(86,192,255,.38);
  box-shadow:0 10px 24px rgba(86,192,255,.12);
}

.landing-chip:active{
  transform:scale(.97);
  background:rgba(86,192,255,.22);
}

.landing-chip:focus-visible{
  outline:none;
  border-color:rgba(86,192,255,.6);
  box-shadow:
    0 0 0 2px rgba(86,192,255,.16),
    0 10px 24px rgba(86,192,255,.10);
}

.municipio-tabs-wrap{
  width:min(100%, 860px);
  margin:0 0 16px;
  animation: fadeSlideIn .5s ease .1s both;
}

.municipio-tabs-label{
  margin:0 0 10px;
  text-align:center;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(184,228,255,.86);
}

.municipio-tabs{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:center;
  gap:10px;
  padding:4px 4px 10px;
}

.municipio-tab{
  flex:0 1 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:104px;
  min-height:58px;
  padding:12px 18px;
  border-radius:16px;
  background:rgba(6,17,38,.62);
  border:1.5px solid rgba(86,192,255,.32);
  color:#eaf5ff;
  font-weight:700;
  font-size:14px;
  text-align:center;
  cursor:pointer;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 20px rgba(0,0,0,.30);
  transition:transform .18s cubic-bezier(.2,.9,.2,1), border-color .2s ease, background .2s ease, box-shadow .2s ease;
  position:relative;
  overflow:hidden;
}

.municipio-tab:not(.is-disabled){
  border-color:rgba(120,206,255,.75);
  box-shadow:
    0 8px 22px rgba(0,0,0,.32),
    0 0 0 1px rgba(86,192,255,.12),
    0 0 22px rgba(86,192,255,.28);
}

.municipio-tab.is-active{
  background:linear-gradient(135deg, #1f5fd6, #0d3fb0);
  border-color:transparent;
  color:#f5faff;
  box-shadow:0 10px 26px rgba(86,192,255,.45);
  animation:none;
}

.municipio-tab:active:not(.is-disabled){
  transform:scale(.97);
}

.municipio-tab.is-disabled{
  background:rgba(6,17,38,.48);
  border-color:rgba(148,163,184,.22);
  color:rgba(220,230,240,.58);
  box-shadow:none;
  cursor:not-allowed;
}

.municipio-tab.is-disabled:hover{
  transform:none;
}

.municipio-tab:not(.is-disabled):hover{
  transform:translateY(-2px);
  border-color:rgba(120,206,255,.95);
}

.municipio-tab-soon{
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
  color:rgba(220,230,240,.5);
}

.municipio-tab.is-active .municipio-tab-soon{
  color:rgba(245,250,255,.75);
}

/* Movil: 3 pestanas por fila (3 + 2) en vez de una fila larga con scroll,
   para que se vean todos los municipios sin desplazar horizontalmente. */
@media (max-width: 520px){
  .municipio-tabs{
    gap:8px;
  }

  .municipio-tab{
    min-width:0;
    min-height:62px;
    flex:0 0 calc(33.333% - 6px);
    padding:10px 8px;
    font-size:12.5px;
  }

  .municipio-tab--coast,
  .municipio-region-toggle{
    flex:0 1 auto;
    min-height:62px;
  }
}

.municipio-region{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-top:14px;
}

.municipio-region-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
}

.municipio-tab--coast{
  flex-direction:row;
  justify-content:center;
  gap:8px;
  min-width:104px;
  min-height:58px;
  padding:12px 20px;
  background:rgba(6,38,36,.55);
  border-color:rgba(45,212,191,.55);
  color:#d7fff6;
  box-shadow:0 8px 20px rgba(0,0,0,.28), 0 0 16px rgba(45,212,191,.22);
  animation:none;
}

.municipio-tab--coast:not(.is-disabled):hover{
  border-color:rgba(94,234,212,.9);
}

.municipio-tab--coast.is-active{
  background:linear-gradient(135deg, #0f766e, #115e59);
  border-color:transparent;
  color:#f5faff;
  box-shadow:0 10px 26px rgba(45,212,191,.45);
}

.municipio-region-toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:104px;
  min-height:58px;
  padding:12px 20px;
  border-radius:16px;
  background:rgba(40,22,6,.55);
  border:1.5px solid rgba(255,159,67,.55);
  color:#ffe9d6;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.28), 0 0 16px rgba(255,140,66,.16);
}

.municipio-region-toggle:hover{
  transform:translateY(-2px);
  border-color:rgba(255,180,84,.9);
}

.municipio-region-toggle:active{ transform:scale(.97); }

.municipio-region-toggle[aria-expanded="true"]{
  background:linear-gradient(135deg, #ffb454, #ff6f3c);
  border-color:transparent;
  color:#2a1200;
  box-shadow:0 10px 24px rgba(255,140,66,.4);
}

.municipio-region-chevron{
  display:inline-block;
  font-size:11px;
  transition:transform .2s ease;
}

.municipio-region-toggle[aria-expanded="true"] .municipio-region-chevron{
  transform:rotate(180deg);
}

.municipio-region-panel{
  width:100%;
  margin-top:0;
  padding:0 12px;
  border:1.5px dashed rgba(255,159,67,.45);
  border-radius:18px;
  background:rgba(40,22,6,.2);
  overflow:hidden;
  max-height:0;
  opacity:0;
  transform:translateY(-8px);
  transition:
    max-height .42s cubic-bezier(.22,.8,.24,1),
    opacity .3s ease,
    transform .3s ease,
    margin-top .42s cubic-bezier(.22,.8,.24,1),
    padding .42s cubic-bezier(.22,.8,.24,1);
}

.municipio-region-panel.is-open{
  max-height:360px;
  opacity:1;
  transform:translateY(0);
  margin-top:14px;
  padding:16px 12px 6px;
}

.municipio-region-panel-label{
  margin:0 0 10px;
  text-align:center;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,205,158,.85);
}

@media (prefers-reduced-motion: reduce){
  .municipio-region-panel{
    transition:none !important;
  }
}

@media (min-width: 720px){
  .landing-chips{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.row{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.landing-actions{
  justify-content:center;
  margin-top:16px !important;
}

.home-secondary-actions:has(#homeAdvertisingBtn[hidden]){
  display:flex;
  justify-content:center;
}

[hidden]{
  display:none !important;
}

.landing-actions .btn{
  min-width:170px;
  justify-content:center;
  padding:14px 18px;
}

.landing-cta-group{
  gap:12px;
}

.landing-cta{
  position:relative;
  min-width:220px !important;
  min-height:60px;
  padding:16px 24px !important;
  border-radius:18px;
  font-size:17px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow: 0 18px 36px rgba(0,0,0,.20);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
  animation: landingCtaReveal .7s ease both;
}

.landing-cta::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:24px;
  pointer-events:none;
  opacity:.0;
  animation: landingCtaPulse 2.4s ease-out infinite;
}

.landing-cta:hover,
.landing-cta:focus-visible{
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 22px 44px rgba(0,0,0,.24);
  filter: saturate(1.08);
}

.landing-cta:focus-visible{
  outline: 3px solid rgba(255,255,255,.22);
  outline-offset: 3px;
}

.landing-cta-primary{
  box-shadow: 0 20px 42px rgba(86,192,255,.20);
}

.landing-cta-primary::after{
  border: 2px solid rgba(86,192,255,.28);
}

.landing-cta-secondary{
  background: linear-gradient(135deg, rgba(18,57,127,.82), rgba(12,38,85,.88));
  border: 1px solid rgba(86,192,255,.26);
  box-shadow: 0 18px 36px rgba(5,16,38,.30);
}

.landing-cta-secondary::after{
  border: 2px solid rgba(86,192,255,.2);
  animation-delay: .35s;
}

.landing-publish-wrap{
  margin-top:14px !important;
}

.landing-search-stack{
  display:grid;
  gap:12px;
}

.landing-search-form{
  margin:0;
}

.landing-searchbar{
  min-height:62px;
  padding:14px 16px;
  border-radius:20px;
  background:rgba(6,16,35,.38);
  border-color:rgba(86,192,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.landing-searchbar:focus-within{
  border-color:rgba(86,192,255,.42);
  box-shadow:
    0 0 0 3px rgba(86,192,255,.10),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.landing-searchbar input{
  font-size:16px;
}

.landing-search-clear{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:none;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:var(--text);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}

.landing-searchbar.has-value .landing-search-clear{
  display:inline-flex;
}

.landing-search-clear:hover{
  background:rgba(86,192,255,.22);
  transform:scale(1.05);
}

.landing-search-clear:active{
  transform:scale(.92);
}

.landing-search-results{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(204,236,255,.12), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.10);
  text-align:left;
  animation:landingSearchReveal .2s ease;
}

.landing-search-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.landing-search-results-title{
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(184,228,255,.9);
}

.landing-search-results-meta{
  color:var(--muted);
  font-size:12px;
}

.landing-search-result{
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  transition:border-color .18s ease, transform .18s ease, background .18s ease;
}

.landing-search-result:has(.landing-search-result-linkarea:hover){
  transform:translateY(-1px);
  background:rgba(86,192,255,.10);
  border-color:rgba(86,192,255,.24);
}

.landing-search-result:has(.landing-search-result-linkarea:active){
  transform:scale(.985);
  background:rgba(86,192,255,.14);
}

.landing-search-result:has(.landing-search-result-linkarea:focus-visible){
  border-color:rgba(86,192,255,.44);
  box-shadow:0 0 0 3px rgba(86,192,255,.12);
}

.landing-search-result-linkarea{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}

.landing-search-result-linkarea:focus-visible{
  outline:none;
}

.landing-search-result-body{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.landing-search-result-thumb{
  flex:0 0 auto;
}

.landing-search-result-thumb .thumb{
  width:76px;
  height:76px;
  border-radius:18px;
}

.landing-search-result-copy{
  min-width:0;
  flex:1 1 auto;
  display:grid;
  gap:8px;
}

.landing-search-result-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.landing-search-result-title{
  margin:0;
  font-size:17px;
  font-weight:800;
  color:var(--text);
}

.landing-search-result-title a{
  color:inherit;
}

.landing-search-result-tag{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(86,192,255,.14);
  border:1px solid rgba(86,192,255,.20);
  color:rgba(184,228,255,.96);
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.landing-search-result-subtitle{
  color:var(--text);
  font-size:14px;
  font-weight:600;
}

.landing-search-result-meta-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
}

.landing-search-result-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}

.landing-search-result-subtag,
.landing-search-result-open,
.landing-search-result-edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
}

.landing-search-result-subtag{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:var(--text);
}

.landing-search-result-open{
  background:rgba(86,192,255,.18);
  border:1px solid rgba(86,192,255,.24);
  color:rgba(184,228,255,.96);
}

.landing-search-result-edit{
  background:rgba(255,159,67,.16);
  border:1px solid rgba(255,159,67,.28);
  color:#ffcb8a;
}

.landing-search-result-description{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.landing-search-results-empty{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

@keyframes landingSearchReveal{
  from{
    opacity:0;
    transform:translateY(-6px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes landingCtaReveal{
  from{
    opacity:0;
    transform: translateY(10px) scale(.96);
  }
  to{
    opacity:1;
    transform: translateY(0) scale(1);
  }
}

@keyframes landingCtaPulse{
  0%{
    opacity:0;
    transform: scale(.96);
  }
  20%{
    opacity:.95;
  }
  100%{
    opacity:0;
    transform: scale(1.08);
  }
}

button{ font-family:inherit; }

.admin-stats-row{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:10px;
  margin:16px 0;
}

.admin-stat-card{
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(6px);
}

.admin-stat-card .admin-stat-value{
  font-size:26px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.1;
  color:var(--text);
}

.admin-stat-card .admin-stat-label{
  margin-top:4px;
  font-size:12.5px;
  color:var(--muted);
  font-weight:600;
}

.admin-stat-card .admin-stat-sub{
  margin-top:6px;
  font-size:11px;
  color:var(--muted);
  opacity:.75;
}

.admin-stat-card.is-clickable{
  cursor:pointer;
  transition:transform .15s ease, background .18s ease;
}

.admin-stat-card.is-clickable:hover{
  background:linear-gradient(160deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
}

.admin-stat-card.is-clickable:active{
  transform:scale(.98);
}

.admin-stat-card.is-warning{
  border-color:var(--gold-line);
  background:linear-gradient(160deg, var(--gold-soft), rgba(255,255,255,.03));
}

.admin-stat-card.is-warning .admin-stat-value{
  color:var(--gold);
}

.admin-stat-card.is-warning.is-clickable:hover{
  background:linear-gradient(160deg, rgba(240,198,116,.24), rgba(255,255,255,.04));
}

.btn{
  appearance:none;
  border:0;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  cursor:pointer;
  transition:
    transform .22s cubic-bezier(.2,.9,.2,1),
    opacity .2s ease,
    box-shadow .28s ease,
    filter .28s ease,
    border-color .28s ease,
    background-color .28s ease;
  display:inline-flex;
  align-items:center;
  gap:10px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn::before,
.btn::after,
.icon-btn::before,
.icon-btn::after,
.tab::before,
.tab::after,
.navbtn::before,
.navbtn::after,
.home-start-btn::before,
.home-start-btn::after,
.floating-help-btn::before,
.floating-help-btn::after,
.floating-publish-btn::before,
.floating-publish-btn::after,
.back-to-top-btn::before,
.back-to-top-btn::after,
.floating-back-btn::before,
.floating-back-btn::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.btn::before,
.icon-btn::before,
.tab::before,
.navbtn::before,
.home-start-btn::before,
.floating-help-btn::before,
.floating-publish-btn::before,
.back-to-top-btn::before,
.floating-back-btn::before{
  left:-30%;
  top:-55%;
  width:62%;
  height:210%;
  background:linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.08) 40%, rgba(255,255,255,0));
  filter:blur(8px);
  transform:translateX(-18%) rotate(14deg);
  opacity:.72;
  transition:transform .44s cubic-bezier(.2,.9,.2,1), opacity .28s ease;
  z-index:0;
}
.btn::after,
.icon-btn::after,
.tab::after,
.navbtn::after,
.home-start-btn::after,
.floating-help-btn::after,
.floating-publish-btn::after,
.back-to-top-btn::after,
.floating-back-btn::after{
  left:12%;
  right:12%;
  bottom:8%;
  height:44%;
  border-radius:999px;
  background:radial-gradient(circle at 50% 0%, rgba(255,255,255,.24), rgba(255,255,255,0) 72%);
  filter:blur(10px);
  opacity:.55;
  transform:scale(.92);
  transition:transform .28s ease, opacity .28s ease;
  z-index:0;
}
.btn > *,
.icon-btn > *,
.tab > *,
.navbtn > *,
.home-start-btn > *,
.floating-help-btn > *,
.floating-publish-btn > *,
.back-to-top-btn > *,
.floating-back-btn > *{
  position:relative;
  z-index:1;
}
.btn:hover,
.icon-btn:hover,
.tab:hover,
.navbtn:hover,
.home-start-btn:hover,
.floating-help-btn:hover,
.floating-publish-btn:hover,
.back-to-top-btn:hover,
.floating-back-btn:hover{
  transform:translateY(-1px);
  filter:saturate(1.06) brightness(1.03);
}
.btn:hover::before,
.icon-btn:hover::before,
.tab:hover::before,
.navbtn:hover::before,
.home-start-btn:hover::before,
.floating-help-btn:hover::before,
.floating-publish-btn:hover::before,
.back-to-top-btn:hover::before,
.floating-back-btn:hover::before{
  transform:translateX(22%) rotate(14deg);
}
.btn:hover::after,
.icon-btn:hover::after,
.tab:hover::after,
.navbtn:hover::after,
.home-start-btn:hover::after,
.floating-help-btn:hover::after,
.floating-publish-btn:hover::after,
.back-to-top-btn:hover::after,
.floating-back-btn:hover::after{
  transform:scale(1.03);
  opacity:.72;
}
.btn:active,
.icon-btn:active,
.tab:active,
.navbtn:active,
.home-start-btn:active,
.floating-help-btn:active,
.floating-publish-btn:active,
.back-to-top-btn:active,
.floating-back-btn:active{
  transform:translateY(1px) scale(.975);
}
.btn:active::before,
.icon-btn:active::before,
.tab:active::before,
.navbtn:active::before,
.home-start-btn:active::before,
.floating-help-btn:active::before,
.floating-publish-btn:active::before,
.back-to-top-btn:active::before,
.floating-back-btn:active::before{
  opacity:.95;
  transform:translateX(34%) rotate(18deg) scale(1.02);
}
.btn:active::after,
.icon-btn:active::after,
.tab:active::after,
.navbtn:active::after,
.home-start-btn:active::after,
.floating-help-btn:active::after,
.floating-publish-btn:active::after,
.back-to-top-btn:active::after,
.floating-back-btn:active::after{
  opacity:.92;
  transform:scale(1.08);
}
.btn:focus-visible,
.icon-btn:focus-visible,
.tab:focus-visible,
.navbtn:focus-visible,
.home-start-btn:focus-visible,
.floating-help-btn:focus-visible,
.floating-publish-btn:focus-visible,
.back-to-top-btn:focus-visible,
.floating-back-btn:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(138,188,215,.18),
    0 16px 32px rgba(0,0,0,.24);
}
.liquid-ripple{
  --liquid-ripple-blur: 3px;
  --liquid-ripple-opacity: .9;
  --liquid-ripple-scale-start: .18;
  --liquid-ripple-scale-mid: .92;
  --liquid-ripple-scale-end: 1.22;
  --liquid-ripple-opacity-mid: .48;
  --liquid-travel-x: 0px;
  --liquid-travel-y: 0px;
  --liquid-pull-x: 0px;
  --liquid-pull-y: 0px;
  --liquid-tilt: 0deg;
  position:absolute;
  z-index:0;
  pointer-events:none;
  border-radius:999px;
  filter:blur(calc(var(--liquid-ripple-blur) * .35));
  transform:translate3d(0, 0, 0);
}
.liquid-ripple-core,
.liquid-ripple-trail{
  position:absolute;
  inset:0;
  border-radius:999px;
  mix-blend-mode:screen;
  transform-origin:center;
}
.liquid-ripple-core{
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.66), rgba(255,255,255,.22) 24%, rgba(255,255,255,0) 58%),
    radial-gradient(circle at 52% 54%, rgba(167,240,255,.34), rgba(31,162,255,.14) 48%, rgba(31,162,255,0) 74%);
  filter:blur(var(--liquid-ripple-blur));
  opacity:var(--liquid-ripple-opacity);
  animation:liquidRippleCore .76s cubic-bezier(.2,.9,.2,1) forwards;
}
.liquid-ripple-trail{
  inset:12% 18%;
  background:
    radial-gradient(circle at 28% 50%, rgba(255,255,255,.22), rgba(255,255,255,.08) 36%, rgba(255,255,255,0) 72%),
    linear-gradient(90deg, rgba(167,240,255,.22), rgba(31,162,255,.08) 58%, rgba(31,162,255,0));
  filter:blur(calc(var(--liquid-ripple-blur) * 1.4));
  opacity:calc(var(--liquid-ripple-opacity) * .72);
  animation:liquidRippleTrail .76s cubic-bezier(.2,.9,.2,1) forwards;
}

@keyframes liquidRippleCore{
  0%{
    transform:
      translate(var(--liquid-pull-x), var(--liquid-pull-y))
      scale(var(--liquid-ripple-scale-start))
      rotate(calc(var(--liquid-tilt) * -.35));
    opacity:var(--liquid-ripple-opacity);
  }
  55%{
    transform:
      translate(calc(var(--liquid-travel-x) * .38), calc(var(--liquid-travel-y) * .38))
      scale(var(--liquid-ripple-scale-mid))
      rotate(calc(var(--liquid-tilt) * .25));
    opacity:var(--liquid-ripple-opacity-mid);
  }
  100%{
    transform:
      translate(var(--liquid-travel-x), var(--liquid-travel-y))
      scale(var(--liquid-ripple-scale-end))
      rotate(var(--liquid-tilt));
    opacity:0;
  }
}

@keyframes liquidRippleTrail{
  0%{
    transform:
      translate(calc(var(--liquid-pull-x) * 1.25), calc(var(--liquid-pull-y) * 1.25))
      scaleX(.28)
      scaleY(.62)
      rotate(var(--liquid-tilt));
    opacity:calc(var(--liquid-ripple-opacity) * .54);
  }
  45%{
    transform:
      translate(calc(var(--liquid-travel-x) * -.16), calc(var(--liquid-travel-y) * -.16))
      scaleX(.96)
      scaleY(.86)
      rotate(var(--liquid-tilt));
    opacity:calc(var(--liquid-ripple-opacity-mid) * .78);
  }
  100%{
    transform:
      translate(calc(var(--liquid-travel-x) * -.5), calc(var(--liquid-travel-y) * -.5))
      scaleX(1.32)
      scaleY(.92)
      rotate(var(--liquid-tilt));
    opacity:0;
  }
}

@media (min-width: 861px){
  .liquid-ripple{
    --liquid-ripple-blur: 2px;
    --liquid-ripple-opacity: .72;
    --liquid-ripple-scale-start: .14;
    --liquid-ripple-scale-mid: .78;
    --liquid-ripple-scale-end: 1.02;
    --liquid-ripple-opacity-mid: .34;
  }
}

@media (max-width: 860px){
  .liquid-ripple{
    --liquid-ripple-blur: 4px;
    --liquid-ripple-opacity: .98;
    --liquid-ripple-scale-start: .2;
    --liquid-ripple-scale-mid: 1;
    --liquid-ripple-scale-end: 1.34;
    --liquid-ripple-opacity-mid: .58;
  }
}

.btn.primary{
  background: linear-gradient(135deg, rgba(112,200,255,.98), rgba(86,192,255,.92));
  color:#142036;
  border:1px solid rgba(204,236,255,.34);
  box-shadow: 0 14px 30px rgba(86,192,255,.18);
}
.btn.secondary{
  background: rgba(14,41,91,.58);
  border: 1px solid rgba(86,192,255,.18);
  color: var(--text);
}
.btn.ghost{
  background: rgba(204,236,255,.03);
  border: 1px dashed rgba(86,192,255,.28);
  color: var(--muted);
}
.btn-directions{
  background: linear-gradient(135deg, rgba(45,212,191,.26), rgba(45,212,191,.14));
  border: 1px solid rgba(45,212,191,.48);
  color: #99f6e4;
}
.btn-directions:hover{
  background: linear-gradient(135deg, rgba(45,212,191,.34), rgba(45,212,191,.2));
}
.btn.danger{
  background: rgba(255,70,70,.12);
  border: 1px solid rgba(255,70,70,.25);
  color: rgba(255,220,220,.95);
}
.btn.small{ padding:10px 12px; border-radius:12px; }

.home-return-btn{
  animation:home-return-pulse 2.6s ease-in-out 3;
}

.home-return-btn:hover,
.home-return-btn:focus-visible{
  animation-play-state:paused;
}

@keyframes home-return-pulse{
  0%, 100%{
    transform:scale(1);
    box-shadow:0 6px 16px rgba(86,192,255,.28), 0 0 0 0 rgba(86,192,255,.45);
  }
  50%{
    transform:scale(1.035);
    box-shadow:0 8px 26px rgba(86,192,255,.4), 0 0 0 9px rgba(86,192,255,0);
  }
}

@media (prefers-reduced-motion: reduce){
  .home-return-btn{
    animation:none;
    box-shadow:0 6px 16px rgba(86,192,255,.22);
  }
}

.home-toolbar{
  align-items:center;
}

.home-toolbar-top{
  justify-content:flex-start;
  margin-bottom:14px;
}

.home-publish-actions{
  width:100%;
  justify-content:center;
}

.home-publish-actions .btn{
  width:min(220px, 100%);
  justify-content:center;
}

.home-quickbar{
  position:sticky;
  top:10px;
  z-index:60;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:18px;
  background:rgba(8,25,57,.78);
  border:1px solid rgba(86,192,255,.14);
  backdrop-filter:blur(12px);
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}

.welcome-strip{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(86,192,255,.22);
  background:
    linear-gradient(135deg, rgba(86,192,255,.14), rgba(20,55,119,.14)),
    rgba(255,255,255,.04);
  margin-bottom:14px;
}

.welcome-strip strong{
  display:block;
  margin-bottom:6px;
}

.welcome-strip-steps{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}

.welcome-step{
  padding:8px 10px;
  border-radius:12px;
  background:rgba(204,236,255,.10);
  border:1px solid rgba(86,192,255,.16);
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.home-start-btn{
  background: linear-gradient(135deg, rgba(112,200,255,.98), rgba(86,192,255,.92));
  color:#142036;
  border:1px solid rgba(204,236,255,.34);
  box-shadow: 0 14px 28px rgba(86,192,255,.18);
  font-weight:900;
  letter-spacing:.02em;
  padding:12px 18px;
}

.home-start-btn:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.floating-help-btn{
  position:fixed;
  right:18px;
  bottom:98px;
  z-index:1200;
  padding:14px 18px;
  border-radius:18px;
  border:1px solid rgba(204,236,255,.22);
  background:linear-gradient(135deg, rgba(112,200,255,.98), rgba(86,192,255,.92));
  color:#142036;
  box-shadow:0 18px 36px rgba(86,192,255,.18);
  font-weight:900;
  letter-spacing:.02em;
}

.floating-help-btn::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:2px solid rgba(86,192,255,.55);
  opacity:.6;
  transform:scale(1);
  pointer-events:none;
  animation:helpPulseRing 2.2s ease-in-out infinite;
  will-change:transform, opacity;
}

.floating-help-btn:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

.floating-help-btn:hover::after{
  animation-play-state:paused;
}

.floating-help-btn:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(86,192,255,.18),
    0 18px 36px rgba(86,192,255,.18);
}

@keyframes helpPulseRing{
  0%{ transform:scale(1); opacity:.55; }
  70%{ transform:scale(1.3); opacity:0; }
  100%{ transform:scale(1.3); opacity:0; }
}

.floating-publish-btn,
.back-to-top-btn,
.floating-back-btn{
  position:fixed;
  right:18px;
  z-index:1190;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  box-shadow:0 18px 36px rgba(0,0,0,.22);
}

.floating-publish-btn{
  bottom:158px;
  padding:14px 18px;
  background:linear-gradient(135deg, rgba(22,59,126,.96), rgba(86,192,255,.88));
  color:#eff8ff;
  font-weight:900;
  letter-spacing:.02em;
  display:none;
}

.publish-cta-wrap{
  position:relative;
  display:flex;
  border-radius:18px;
}

.publish-cta-wrap--sm{
  border-radius:14px;
}

.publish-cta-glow-clip{
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}

.publish-cta-glow-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}

.publish-cta-glow-svg rect{
  x:0;
  y:0;
  width:100%;
  height:100%;
  rx:18px;
  fill:none;
  stroke:#56c0ff;
  stroke-width:13px;
  filter:blur(9px);
  opacity:.32;
  transform-box:fill-box;
  transform-origin:center;
  animation:publishCtaBreathe 3.6s ease-in-out infinite;
}

.publish-cta-wrap--sm .publish-cta-glow-svg rect{
  rx:14px;
}

.publish-cta-ring{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}

.publish-cta-ring rect{
  x:0;
  y:0;
  width:100%;
  height:100%;
  rx:18px;
  fill:none;
  stroke:rgba(180,222,255,.8);
  stroke-width:1.5px;
  opacity:.85;
}

.publish-cta-wrap--sm .publish-cta-ring rect{
  rx:14px;
}

@keyframes publishCtaBreathe{
  0%, 100%{
    opacity:.3;
    transform:scale(1);
  }
  50%{
    opacity:.65;
    transform:scale(1.015);
  }
}

@media (prefers-reduced-motion: reduce){
  .publish-cta-glow-svg rect{
    animation:none;
    opacity:.45;
  }
}

.back-to-top-btn{
  bottom:222px;
  padding:12px 16px;
  background:rgba(8,25,57,.92);
  color:var(--text);
  display:none;
}

.floating-back-btn{
  bottom:158px;
  padding:14px 18px;
  background:rgba(8,25,57,.92);
  color:var(--text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  font-size:15px;
}

.floating-publish-btn.is-visible,
.back-to-top-btn.is-visible{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.tabs{
  display:flex;
  gap:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  margin-top:12px;
  padding-top:4px;
  padding-bottom:2px;
  transition:
    opacity .34s cubic-bezier(.22,1,.36,1),
    transform .42s cubic-bezier(.22,1,.36,1),
    filter .34s ease,
    max-height .42s cubic-bezier(.22,1,.36,1),
    margin-top .32s ease;
  transform-origin:top center;
}

.tabs::-webkit-scrollbar{
  display:none;
}

.section-tabs-shell{
  display:grid;
  gap:12px;
}

.section-focus-stage{
  display:grid;
  gap:10px;
}

.section-focus-back{
  display:none;
  width:fit-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 24px;
  min-height:54px;
  border-radius:20px;
  border:1px solid rgba(220,235,243,.3);
  background:
    linear-gradient(135deg, rgba(220,235,243,.22), rgba(138,188,215,.16)),
    rgba(255,255,255,.12);
  color:#f7fcff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 18px 32px rgba(5,18,31,.28);
  opacity:0;
  transform:translateY(-8px);
  filter:blur(6px);
  transition:
    opacity .28s cubic-bezier(.22,1,.36,1),
    transform .38s cubic-bezier(.22,1,.36,1),
    filter .3s ease,
    background .24s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}

.section-focus-back:hover{
  background:
    linear-gradient(135deg, rgba(138,188,215,.18), rgba(74,103,128,.18)),
    rgba(255,255,255,.1);
  border-color:rgba(138,188,215,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 16px 28px rgba(5,18,31,.26);
}

.section-focus-back:focus-visible{
  outline:2px solid rgba(138,188,215,.74);
  outline-offset:3px;
}

.section-focus-hero{
  display:none;
  grid-template-columns:minmax(0, 1fr);
  align-items:start;
  gap:16px;
  padding:18px 20px;
  border-radius:24px;
  border:1px solid rgba(138,188,215,.16);
  background:
    radial-gradient(circle at top left, rgba(138,188,215,.12), transparent 42%),
    linear-gradient(135deg, rgba(74,103,128,.26), rgba(16,34,51,.24)),
    rgba(12,24,36,.92);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 18px 36px rgba(0,0,0,.24),
    0 0 0 1px rgba(138,188,215,.08);
  color:#fff;
  position:relative;
  overflow:hidden;
  opacity:0;
  transform:translateY(-16px) scale(.975);
  filter:blur(10px) saturate(.92);
  transition:
    opacity .36s cubic-bezier(.22,1,.36,1),
    transform .46s cubic-bezier(.22,1,.36,1),
    filter .38s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

.section-focus-hero::before{
  content:"";
  position:absolute;
  inset:-30% auto -30% -12%;
  width:42%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.16), transparent);
  opacity:0;
  transform:translateX(-120%) rotate(12deg);
  pointer-events:none;
}

.section-focus-hero-main{
  display:grid;
  gap:6px;
  opacity:0;
  transform:translateY(8px);
  transition:
    opacity .28s ease .06s,
    transform .4s cubic-bezier(.22,1,.36,1) .06s;
}

.section-focus-hero-heading{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.section-focus-hero-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(190,216,229,.76);
}

.section-focus-hero-title{
  font-size:clamp(24px, 3vw, 34px);
  line-height:1;
  font-weight:900;
  text-shadow:0 10px 24px rgba(138,188,215,.12);
}

.section-focus-hero-note{
  font-size:14px;
  line-height:1.45;
  color:rgba(220,235,243,.82);
}

.section-focus-hero-count{
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
  font-size:14px;
  font-weight:900;
  line-height:1;
  opacity:0;
  transform:translateY(6px) scale(.94);
  transition:
    opacity .28s ease .12s,
    transform .42s cubic-bezier(.22,1,.36,1) .12s;
}

.section-tabs-shell.is-focused .section-focus-back,
.section-tabs-shell.is-focused .section-focus-hero{
  display:grid;
}

.section-tabs-shell.is-focused .section-focus-back{
  display:inline-flex;
  opacity:1;
  transform:translateY(0);
  filter:none;
}

.section-tabs-shell.is-focused .section-focus-hero{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:none;
}

.section-tabs-shell.is-focused .section-focus-hero::before{
  opacity:1;
  transform:translateX(340%) rotate(12deg);
  transition:
    opacity .18s ease,
    transform .9s cubic-bezier(.16,1,.3,1) .08s;
}

.section-tabs-shell.is-focused .section-focus-hero-main,
.section-tabs-shell.is-focused .section-focus-hero-count{
  opacity:1;
  transform:translateY(0) scale(1);
}

.section-tabs-shell.is-focused .tabs{
  opacity:0;
  transform:translateY(-16px) scale(.985);
  filter:blur(8px);
  max-height:0;
  overflow:hidden;
  margin-top:0;
  pointer-events:none;
}

body[data-page="home"].section-focused .bottom{
  transform:translateY(120%);
  opacity:0;
  filter:blur(8px);
  pointer-events:none;
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    opacity .28s ease,
    filter .28s ease;
}

.tabs.is-dragging-scroll,
.bottom.is-dragging-scroll{
  cursor:grabbing;
  user-select:none;
}

.tab{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  cursor:pointer;
  font-weight:900;
  font-size:13px;
  color: var(--text);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .3s cubic-bezier(.22,1,.36,1),
    background .24s ease,
    border-color .24s ease,
    box-shadow .28s ease,
    filter .24s ease;
}

.tab::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:6px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(112,200,255,.96), rgba(204,236,255,.92));
  box-shadow:0 6px 16px rgba(86,192,255,.22);
  transform:scaleX(.18);
  transform-origin:center;
  opacity:0;
  transition:
    transform .3s cubic-bezier(.22,1,.36,1),
    opacity .22s ease,
    box-shadow .26s ease;
}

.tab:hover{
  transform:translateY(-2px);
  border-color:rgba(138,188,215,.2);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 18px rgba(4,18,31,.16);
  filter:saturate(1.06);
}

.tab-label{
  display:inline-flex;
  align-items:center;
}

.tab-count[hidden],
.navbtn-count[hidden]{
  display:none;
}

.tab-count{
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.12);
  font-size:11px;
  font-weight:900;
  line-height:1;
}

.tab.active{
  background:
    radial-gradient(circle at top, rgba(160,218,255,.20), transparent 58%),
    linear-gradient(135deg, rgba(74,103,128,.44), rgba(138,188,215,.22)),
    rgba(255,255,255,.10);
  border-color: rgba(86,192,255,.62);
  color:#ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 14px 28px rgba(10,24,37,.28),
    0 0 0 1px rgba(86,192,255,.18),
    0 0 0 4px rgba(86,192,255,.08);
  transform: translateY(-3px) scale(1.03);
  text-shadow: 0 1px 0 rgba(0,0,0,.18);
}

.tab.active::after{
  transform:scaleX(1);
  opacity:1;
}

.tab.active .tab-count{
  background:rgba(86,192,255,.22);
  border-color:rgba(86,192,255,.30);
  box-shadow:0 6px 14px rgba(86,192,255,.16);
}

.subtabs-wrap{
  display:grid;
  gap:10px;
}

.subtabs-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.subtabs-title{
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(204,236,255,.76);
}

.subtabs-meta{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.subtabs{
  display:flex;
  gap:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
}

.subtabs::-webkit-scrollbar{
  display:none;
}

.subtab{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(86,192,255,.16);
  background:rgba(8,25,57,.62);
  color:var(--text);
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
  flex:0 0 auto;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    background .22s ease,
    border-color .22s ease,
    box-shadow .24s ease,
    filter .22s ease;
}

.subtab::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(112,200,255,.96), rgba(204,236,255,.9));
  transform:scaleX(.16);
  transform-origin:center;
  opacity:0;
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    opacity .2s ease;
}

.subtab:hover{
  transform:translateY(-2px);
  border-color:rgba(86,192,255,.28);
  box-shadow:0 10px 18px rgba(4,18,31,.16);
  filter:saturate(1.05);
}

.subtab:active{
  transform:scale(.96);
}

.subtab.active{
  background:linear-gradient(135deg, rgba(112,200,255,.96), rgba(86,192,255,.88));
  color:#142036;
  border-color:rgba(204,236,255,.34);
  box-shadow:
    0 12px 24px rgba(86,192,255,.16),
    inset 0 1px 0 rgba(255,255,255,.26);
  transform:translateY(-2px);
}

.subtab.active::after{
  transform:scaleX(1);
  opacity:1;
}

.subtab-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  min-width:18px;
  font-size:15px;
  line-height:1;
}

.subtab-label{
  display:inline-flex;
  align-items:center;
}

.section-focus-pill{
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
  min-width: 170px;
  padding: 12px 16px;
  border-radius: 18px;
  border: 1px solid rgba(138,188,215,.16);
  background:
    linear-gradient(135deg, rgba(74,103,128,.14), rgba(255,255,255,.05)),
    rgba(8, 25, 42, .78);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 26px rgba(0,0,0,.18);
  text-align: right;
  position: relative;
  overflow: hidden;
}

.section-focus-pill::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 10%, rgba(188,226,247,.12), transparent 70%);
  pointer-events:none;
}

.section-focus-label{
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(188,226,247,.72);
  font-weight: 800;
}

.section-focus-value{
  font-size: 20px;
  line-height: 1.05;
  color: #ffffff;
  text-shadow:
    0 10px 24px rgba(47,110,183,.22),
    0 1px 0 rgba(0,0,0,.16);
}

@media (max-width: 720px){
  .section-focus-pill{
    align-items: flex-start;
    text-align: left;
    width: 100%;
  }

  .floating-help-btn{
    right:14px;
    bottom:92px;
    padding:12px 16px;
  }

}

.label{
  display:block;
  font-size:16px;
  color:rgba(234,246,255,.92);
  font-weight:800;
  margin: 16px 0 8px;
}

.input,
select,
textarea{
  width:100%;
  padding:14px 14px;
  border-radius:14px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
  outline:none;
  font-size:16px;
  line-height:1.35;
}

.input::placeholder,
textarea::placeholder{
  color: rgba(234,246,255,.55);
}

textarea{ min-height: 90px; resize: vertical; }

.searchbar{
  flex:1;
  display:flex;
  gap:10px;
  align-items:center;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:10px 12px;
}
.searchbar input{
  width:100%;
  background:transparent;
  border:0;
  outline:none;
  color: var(--text);
  font-size:14px;
}

.searchbar-clear{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:none;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:var(--text);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}

.searchbar.has-value .searchbar-clear{
  display:inline-flex;
}

.searchbar-clear:hover{
  background:rgba(86,192,255,.22);
  transform:scale(1.05);
}

.searchbar-clear:active{
  transform:scale(.92);
}

.help{
  margin-top:8px;
  font-size:14px;
  color: rgba(234,246,255,.72);
}

.notice{
  padding:14px;
  border-radius:18px;
  background: rgba(0,0,0,.14);
  border:1px dashed rgba(255,255,255,.18);
  color: var(--muted);
}

.list > .notice:only-child{
  text-align:center;
  padding:34px 16px;
  font-size:13.5px;
}

.error{
  padding:14px;
  border-radius:18px;
  background: rgba(255,70,70,.10);
  border:1px solid rgba(255,70,70,.22);
  color: rgba(255,220,220,.95);
}

.notify-prompt-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
  background:rgba(86,192,255,.1);
  border:1px dashed rgba(86,192,255,.32);
}

.notify-interests-edit-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:0;
  border:none;
  background:none;
  color:var(--foam, #5ac1ff);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.notify-interests-edit-link:hover{
  text-decoration:underline;
}

.notify-interests-edit-link .icon{
  width:15px;
  height:15px;
}

.notify-prompt-actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
}

.notify-interests-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.notify-interest-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
  color:var(--text);
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:7px 12px;
  cursor:pointer;
  transition:transform .12s ease;
}

.notify-interest-chip:active{
  transform:scale(.94);
}

.notify-interest-chip.is-active{
  background:rgba(86,192,255,.2);
  border-color:rgba(86,192,255,.5);
  color:#eaf7ff;
}

.hr{
  height:1px;
  background: rgba(255,255,255,.10);
  margin: 14px 0;
}

.publish-step-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin:26px 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(86,192,255,.22);
  font-size:15px;
  font-weight:800;
  color: rgba(234,246,255,.92);
}

.publish-step-header:first-child{
  margin-top:4px;
}

.publish-step-header .icon{
  width:18px;
  height:18px;
  color: rgba(86,192,255,.85);
}

.publish-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  flex:0 0 auto;
  border-radius:50%;
  background: linear-gradient(135deg, #56c0ff, #1354e4);
  color:#04101f;
  font-size:12px;
  font-weight:900;
}

.list{
  display:grid;
  gap:18px;
}

.admin-tabs{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin:16px 0 4px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.admin-tab-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:10px 14px;
  border:none;
  background:transparent;
  color:rgba(255,255,255,.6);
  font-weight:700;
  font-size:13.5px;
  cursor:pointer;
  border-bottom:2.5px solid transparent;
  margin-bottom:-1px;
}

.admin-tab-btn:hover{
  color:#fff;
}

.admin-tab-btn.active{
  color:#fff;
  border-bottom-color:#5ac1ff;
}

.admin-tab-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:19px;
  height:19px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  font-size:11px;
  font-weight:800;
}

.admin-tab-btn.active .admin-tab-count{
  background:rgba(86,192,255,.22);
  color:#5ac1ff;
}

.admin-owner-group + .admin-owner-group{
  margin-top:26px;
  padding-top:20px;
  border-top:1px dashed rgba(255,255,255,.16);
}

.admin-owner-group-header{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:10px;
  width:fit-content;
}

.admin-owner-group--customer .admin-owner-group-header{
  color:#d7dde8;
  background:rgba(255,255,255,.07);
}

.admin-owner-group--courtesy .admin-owner-group-header{
  color:#ffcb8a;
  background:rgba(255,159,67,.14);
}

.admin-owner-group-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:19px;
  height:19px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  font-size:11px;
}

.admin-municipio-group{
  display:grid;
  gap:10px;
}

.admin-municipio-group + .admin-municipio-group{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.10);
}

.admin-municipio-group-header{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  color:#5ac1ff;
  text-transform:uppercase;
}

.admin-municipio-group-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(86,192,255,.16);
  border:1px solid rgba(86,192,255,.4);
  color:#5ac1ff;
  font-size:12px;
  font-weight:800;
}

.agenda-group{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.agenda-group + .agenda-group{
  margin-top:20px;
}

.agenda-group-title{
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--bg3);
  padding-bottom:6px;
  border-bottom:1px solid rgba(86,192,255,.2);
}

.item{
  display:flex;
  gap:12px;
  justify-content:space-between;
  align-items:center;
  padding:14px;
  border-radius:18px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  animation:itemFadeInUp .38s cubic-bezier(.2,.8,.2,1) both;
  transition:transform .12s ease;
}

.item:not(.review-item):last-child{
  margin-bottom:0;
}

.item:not(.review-item){
  margin-bottom:16px;
  flex-direction:column;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  border-color:rgba(255,255,255,.16);
  box-shadow: 0 8px 20px rgba(0,0,0,.32);
}

.item-photo{
  position:relative;
  display:block;
  width:100%;
  height:190px;
  flex:0 0 auto;
  background: rgba(4,12,28,.9);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}

.item-photo img{ width:100%; height:100%; object-fit:contain; display:block; }

.item-photo img.is-portrait{ object-fit:cover; }

.item-photo img.is-fallback{
  object-fit:contain;
  padding:20px;
  background:rgba(8,25,42,.72);
}

.item-photo-placeholder{
  --cat-color: #56c0ff;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--cat-color) 30%, transparent), color-mix(in srgb, var(--cat-color) 14%, #0a1830));
}

.item-photo-placeholder .icon{
  width:44px;
  height:44px;
  color: color-mix(in srgb, var(--cat-color) 75%, white);
  opacity:.85;
}

.item-photo-badge{
  position:absolute;
  top:10px;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  backdrop-filter: blur(6px);
}

.item-photo-badge-new{
  left:10px;
  background: rgba(45,212,191,.88);
  color:#04211d;
}

.item-photo-badge-rating{
  right:10px;
  background: rgba(8,15,30,.62);
  color:#ffd166;
  border:1px solid rgba(255,255,255,.18);
}

.item-body{
  padding:14px 14px 4px;
  min-width:0;
}

.item-category-tag{
  --cat-color: #56c0ff;
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:4px;
  padding:3px 10px 3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.01em;
  color: color-mix(in srgb, var(--cat-color) 82%, white);
  background: color-mix(in srgb, var(--cat-color) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--cat-color) 38%, transparent);
}

.item-category-tag .icon{
  width:12px;
  height:12px;
}

.item:active{
  transform:scale(.98);
}

.item:nth-of-type(1){ animation-delay:.02s; }
.item:nth-of-type(2){ animation-delay:.06s; }
.item:nth-of-type(3){ animation-delay:.10s; }
.item:nth-of-type(4){ animation-delay:.14s; }
.item:nth-of-type(5){ animation-delay:.18s; }
.item:nth-of-type(6){ animation-delay:.22s; }
.item:nth-of-type(7){ animation-delay:.26s; }
.item:nth-of-type(8){ animation-delay:.30s; }
.item:nth-of-type(n+9){ animation-delay:.34s; }

@keyframes itemFadeInUp{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

.skeleton-item{
  animation:itemFadeInUp .3s ease both;
  pointer-events:none;
}

.skeleton-box{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  background:rgba(255,255,255,.08);
}

.skeleton-box::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  animation:skeletonShimmer 1.4s ease-in-out infinite;
}

.skeleton-thumb{
  width:54px;
  height:54px;
  border-radius:14px;
  flex:0 0 auto;
}

.skeleton-photo{
  width:100%;
  height:168px;
  border-radius:0;
  flex:0 0 auto;
}

.skeleton-line{
  border-radius:6px;
}

@keyframes skeletonShimmer{
  100%{ transform:translateX(100%); }
}

@media (prefers-reduced-motion: reduce){
  .item, .skeleton-item{
    animation:none;
  }
  .skeleton-box::after{
    animation:none;
    display:none;
  }
}
.item.item-expiring-soon{
  border-color:rgba(250,204,21,.48);
  background:
    linear-gradient(180deg, rgba(250,204,21,.14), rgba(255,255,255,.05)),
    rgba(255,255,255,.06);
  box-shadow:
    inset 4px 0 0 rgba(250,204,21,.9),
    0 10px 26px rgba(250,204,21,.12);
}
.item-left{ display:flex; gap:12px; align-items:flex-start; min-width:0; flex:1 1 auto; }
.item-title-link{
  display:inline-block;
  color:var(--text);
  font-weight:900;
  text-decoration:none;
  line-height:1.25;
}
.item-title-link:hover{
  text-decoration:underline;
}
.thumb{
  width:54px; height:54px;
  border-radius:14px;
  overflow:hidden;
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.10);
  flex:0 0 auto;
}
.thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.thumb img{ cursor: zoom-in; }
.thumb img.is-fallback{
  object-fit:contain;
  padding:6px;
  background:rgba(8,25,42,.72);
}

.item-actions{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; flex:0 0 auto; }

.admin-ad-extend-inline{ display:flex; align-items:center; gap:6px; }
.admin-ad-extend-inline input[type="date"]{
  width:auto;
  padding:8px 10px;
  border-radius:10px;
  font-size:13px;
}

.item:not(.review-item) .item-actions{
  padding:10px 14px 14px;
}

.item-favorite-btn{
  min-width:118px;
}

.item-favorite-btn.active{
  background:rgba(188,226,247,.14);
  border:1px solid rgba(188,226,247,.34);
  color:#e5f4fd;
}

.item-plan-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}

.item-plan-chip{
  padding:7px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  color:var(--text);
  font-size:12px;
  font-weight:800;
}

.countdown-chip{
  background:rgba(255,136,58,.16);
  border-color:rgba(255,181,112,.34);
  color:#ffd9b0;
}

.mini{ font-size:12px; color: var(--muted); }

.gallery{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
}
.photo{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  position:relative;
}
.photo img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
  cursor: zoom-in;
}

.gallery .photo-hero{
  grid-column: 1 / -1;
}

.gallery .photo-hero img{
  height:230px;
  object-fit:contain;
  background:rgba(4,12,28,.9);
}

.gallery .photo-hero img.is-portrait{
  object-fit:cover;
}
.photo-preview-card{
  background:rgba(7,22,36,.48);
}
.photo-preview-card.is-editor{
  touch-action:none;
}
.photo-primary-badge{
  position:absolute;
  top:8px;
  left:8px;
  z-index:2;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(28,138,196,.94);
  color:#daf2ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.photo-caption{
  padding:8px 10px;
  font-size:11px;
  color:rgba(234,246,255,.74);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-top:1px solid rgba(255,255,255,.08);
}
.photo-remove-btn{
  position:absolute;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  border:none;
  border-radius:999px;
  background:rgba(8,25,42,.88);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  z-index:2;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.photo-editor-actions{
  position:absolute;
  left:8px;
  right:8px;
  bottom:44px;
  z-index:2;
  display:flex;
  gap:6px;
  justify-content:center;
  pointer-events:none;
}
.photo-order-btn{
  pointer-events:auto;
  min-width:118px;
  height:32px;
  padding:0 12px;
  border:none;
  border-radius:999px;
  background:rgba(8,25,42,.88);
  color:#fff;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.photo-order-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.photo-order-btn.drag-handle{
  cursor:grab;
}
.gallery.is-photo-sorting .photo-order-btn.drag-handle{
  cursor:grabbing;
}
.photo-preview-card.is-photo-dragging{
  z-index:5;
  opacity:.92;
  box-shadow:0 20px 34px rgba(0,0,0,.32);
}

.kv{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
}

.landing-download-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:22px;
}

.google-play-badge-link{
  display:inline-flex;
  align-items:center;
  opacity:.92;
  transition:opacity .15s ease, transform .15s ease;
}

.google-play-badge-link:hover{
  opacity:1;
  transform:translateY(-1px);
}

.google-play-badge-link img{
  height:44px;
  width:auto;
  display:block;
}

.app-store-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:44px;
  padding:0 14px;
  background:#000;
  border:1px solid rgba(255,255,255,.25);
  border-radius:10px;
  color:#fff;
  cursor:pointer;
  opacity:.92;
  transition:opacity .15s ease, transform .15s ease;
}

.app-store-badge:hover{
  opacity:1;
  transform:translateY(-1px);
}

.app-store-badge-icon svg{
  width:24px;
  height:24px;
}

.app-store-badge-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.15;
}

.app-store-badge-eyebrow{
  font-size:9px;
  font-weight:500;
  letter-spacing:.01em;
  color:rgba(255,255,255,.8);
}

.app-store-badge-brand{
  font-size:16px;
  font-weight:700;
  font-family:-apple-system, "Helvetica Neue", Arial, sans-serif;
}

footer{
  margin-top: 14px;
  color: rgba(234,246,255,.55);
  font-size:12px;
  padding: 0 6px;
}

.footer-credit{
  color: rgba(234,246,255,.8);
  font-weight: 600;
}

/* Barra inferior tipo app */
.bottom{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  background: rgba(2, 16, 28, .72);
  border-top: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.bottom::-webkit-scrollbar{ display:none; }
.bottom .bar{
  max-width:1050px;
  margin:0 auto;
  display:flex;
  gap:10px;
  justify-content:flex-start;
  align-items:center;
  width:max-content;
  min-width:100%;
}
.navbtn{
  flex:0 0 auto;
  min-width:112px;
  position:relative;
  padding:12px 10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: var(--text);
  font-weight:900;
  font-size:26px;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    background .24s ease,
    border-color .24s ease,
    box-shadow .28s ease,
    opacity .24s ease;
}

.navbtn:hover{
  transform:translateY(-2px);
  border-color:rgba(167,240,255,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 20px rgba(4,18,31,.16);
}

.navbtn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.navbtn-count{
  position:absolute;
  top:6px;
  right:6px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.14);
  color:var(--text);
  font-size:10px;
  font-weight:900;
  line-height:1;
}

.navbtn.active{
  background:
    radial-gradient(circle at top, rgba(167,240,255,.22), transparent 60%),
    linear-gradient(180deg, rgba(31,162,255,.42), rgba(7,210,255,.24)),
    rgba(255,255,255,.10);
  border-color: rgba(167,240,255,.95);
  color:#ffffff;
  box-shadow:
    0 14px 28px rgba(31,162,255,.24),
    inset 0 1px 0 rgba(255,255,255,.16),
    0 0 0 1px rgba(167,240,255,.18),
    0 0 0 4px rgba(31,162,255,.10);
  transform: translateY(-3px) scale(1.04);
}

.navbtn.active .navbtn-count{
  background:rgba(167,240,255,.24);
  border-color:rgba(167,240,255,.34);
  color:#ffffff;
}

body[data-page="home"] .bottom{
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    opacity .28s ease,
    filter .28s ease;
}

@media (max-width: 860px){
  body[data-page="home"] .container{
    padding:12px 12px 280px;
    gap:12px;
  }

  body[data-page="home"] .card{
    padding:16px;
    border-radius:20px;
  }

  .container{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .item:not(.review-item){
    flex-direction:column;
    align-items:stretch;
  }

  .item:not(.review-item) .item-left{
    width:100%;
  }

  .item:not(.review-item) .item-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    justify-content:stretch;
  }

  .item:not(.review-item) .item-actions .btn{
    width:100%;
    min-width:0;
    justify-content:center;
  }

  .item:not(.review-item) .item-actions > *:last-child:nth-child(2n+1){
    grid-column:1 / -1;
  }

  header{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:2px 2px 0;
  }

  .brand{
    width:100%;
    min-width:0;
    align-items:flex-start;
    gap:12px;
  }

  .brand > div{
    min-width:0;
    width:100%;
  }

  .logo-img{
    width:64px;
    height:64px;
    border-radius:18px;
    flex:0 0 auto;
  }

  .brand h1{
    font-size:24px;
  }

  .brand small{
    display:block;
    width:100%;
    line-height:1.45;
    white-space:normal;
    word-break:break-word;
  }

  body[data-page="home"] .home-brand-subtitle{
    display:none !important;
  }

  .section-focus-pill{
    min-width:0;
    width:100%;
    padding:10px 12px;
  }

  .section-focus-value{
    font-size:18px;
  }

  .row{
    width:100%;
    min-width:0;
  }

  .actions{
    width:100%;
    min-width:0;
  }

  .actions .btn{
    max-width:100%;
  }

  .searchbar{
    width:100%;
    min-width:0;
  }

  .searchbar input{
    min-width:0;
  }

  .home-quickbar{
    top:6px;
    gap:8px;
    margin-bottom:10px;
    padding:8px;
    border-radius:16px;
  }

  .home-quickbar .btn{
    flex:1 1 auto;
    justify-content:center;
    min-width:0;
    font-size:13px;
  }

  .welcome-strip{
    flex-direction:column;
    padding:12px 14px;
  }

  .welcome-strip-steps{
    display:none;
  }

  .home-toolbar-top{
    margin-bottom:10px;
  }

  .home-publish-actions{
    display:flex;
    justify-content:center;
    gap:8px;
  }

  .home-search-row{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }

  .home-secondary-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .home-secondary-actions .btn,
  .home-toolbar-top .actions .btn{
    width:100%;
    min-width:0;
    justify-content:center;
    padding:11px 12px;
    font-size:12px;
    gap:6px;
  }

  .home-publish-actions .btn{
    width:min(220px, 100%);
  }

  .searchbar{
    padding:12px 14px;
    border-radius:16px;
  }

  .searchbar input{
    font-size:16px;
  }

  .section-guide-banner{
    padding:12px 14px;
    font-size:14px;
    line-height:1.45;
  }


  .title{ font-size:36px; }
  .gallery{ grid-template-columns: repeat(2, 1fr); }
  .kv{ grid-template-columns: 1fr; }
  .filters-grid{ grid-template-columns: 1fr; }
  .section-focus-back{
    width:100%;
    justify-content:center;
    padding:16px 20px;
    min-height:58px;
    font-size:16px;
    border-radius:22px;
  }

  .section-focus-hero{
    text-align:left;
    padding:16px 16px 18px;
  }

  .section-focus-hero-count{
    min-width:30px;
    height:30px;
    padding:0 9px;
    font-size:13px;
  }

  body[data-page="home"] .tab{
    min-width:max-content;
  }

  .subtabs-head{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  .bottom{
    padding-left:10px;
    padding-right:10px;
    touch-action:pan-x;
  }
  .bottom .bar{
    gap:8px;
  }
  .navbtn{
    min-width:66px;
    padding:10px 8px;
    font-size:21px;
  }
  .landing-container{
    padding-top:26px;
    gap:18px;
  }
  .landing-card{
    padding:24px 18px 20px;
    border-radius:22px;
  }
  .landing-card .subtitle{
    margin-top:0;
    font-size:14px;
    line-height:1.5;
  }
  .landing-card .sub{
    margin-top:12px !important;
    font-size:13px;
    line-height:1.45;
  }
  .landing-chip{
    font-size:13px;
    padding:9px 12px;
  }
  .landing-categories{
    margin-top:14px;
    padding:14px 10px 10px;
    border-radius:20px;
  }
  .landing-actions .btn{
    width:100%;
    min-width:0;
  }
  .landing-actions .publish-cta-wrap{
    width:100%;
  }
  .landing-cta{
    min-height:56px;
    padding:14px 18px !important;
    font-size:16px;
  }
}

@media (min-width: 861px){
  body[data-page="home"] .bottom{
    display:none;
  }

  body[data-page="home"] #sectionBadge{
    display:none;
  }

  .floating-publish-btn{
    display:none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .landing-cta,
  .landing-cta::after{
    animation:none;
  }
  .landing-cta{
    transition:none;
  }
  .tabs,
  .tab,
  .navbtn,
  .section-focus-back,
  .section-focus-hero,
  .section-focus-hero-main,
  .section-focus-hero-count,
  body[data-page="home"] .bottom{
    transition:none !important;
    animation:none !important;
    filter:none !important;
    transform:none !important;
  }
  .section-focus-hero::before{
    display:none;
  }
  .item,
  .subtabs-wrap,
  .notice,
  .error,
  .success-notice,
  .modal,
  .modal-card,
  .lightbox-backdrop,
  .lightbox-shell,
  .app-splash-ring,
  .app-splash-logo-wrap,
  .app-splash-logo-wrap::after,
  .app-splash-logo,
  .app-splash-title,
  .app-splash-subtitle,
  .landing-header,
  .landing-header .logo-img,
  .municipio-tabs-wrap,
  .municipio-tab,
  .municipio-tab::before{
    animation:none !important;
  }
}
.logo-img{
  width:118px;
  height:118px;
  border-radius:26px;
  object-fit:cover;
  object-position:center 16%;
  padding:0;
  background:transparent;
  border:1px solid rgba(204,236,255,.12);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
/* ====== SELECT / DROPDOWNS ====== */
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: rgba(0,0,0,.18);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2356c0ff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px;
  padding-right: 40px;
  color: var(--text);
  border: 1px solid rgba(255,255,255,.12);
}

/* Opciones del menú desplegable */
select option {
  background-color: #ffffff;
  color: #0b2239;
}

/* Encabezado de grupo (ej: "Urabá"). Algunos navegadores moviles (iOS) ignoran
   este estilo y usan su propio menu nativo; por eso el texto de cada opcion
   tambien incluye la region entre parentesis, para que se entienda igual. */
optgroup {
  background-color: #ffffff;
  color: #0b2239;
  font-weight: 800;
  font-style: normal;
}

/* Opción seleccionada */
select option:checked {
  background-color: #1e88e5;
  color: #ffffff;
}

/* Hover (en desktop) */
select option:hover {
  background-color: #bbdefb;
  color: #0b2239;
}
.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  margin-right:8px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
}

.tag-svc{
  background: rgba(56, 189, 248, .18);
  border-color: rgba(56, 189, 248, .35);
}

.tag-nosvc{
  background: rgba(251, 191, 36, .18);
  border-color: rgba(251, 191, 36, .35);
}

.tag-domi{
  background: rgba(34, 197, 94, .18);
  border-color: rgba(34, 197, 94, .35);
}
/* ===== Modal Planes ===== */
.modal{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  display: none;              /* 👈 IMPORTANTE: oculto por defecto */
  align-items: center;
  justify-content: center;
  padding: 18px;
  z-index: 9999;
}

.modal-card{
  width: min(860px, 96vw);
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  overflow: hidden;
}
.modal-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  padding: 16px 16px 10px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.modal-title{ font-size: 18px; font-weight: 900; }
.modal-sub{ font-size: 13px; opacity: .85; margin-top: 4px; }
.icon-btn{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: inherit;
  border-radius: 12px;
  padding: 8px 10px;
  cursor: pointer;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .22s cubic-bezier(.2,.9,.2,1),
    box-shadow .28s ease,
    filter .28s ease,
    border-color .28s ease,
    background-color .28s ease;
}
.modal-body{ padding: 14px 16px 6px; }
.modal-foot{
  padding: 12px 16px 16px;
  border-top: 1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.tutorial-card{
  width:min(640px, 94vw);
}

.tutorial-copy{
  display:grid;
  gap:12px;
}

.tutorial-bullets{
  display:grid;
  gap:12px;
}

body.tutorial-overlay-open::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(3, 11, 20, .26);
  backdrop-filter:blur(.6px);
  z-index:9996;
  pointer-events:none;
}

.tutorial-target-active{
  position:relative;
  z-index:9997 !important;
  border-radius:18px;
  box-shadow:
    0 0 0 4px rgba(167,240,255,.28),
    0 20px 50px rgba(0,0,0,.38);
}

.home-tutorial-coachmark{
  position:fixed;
  z-index:9998;
  width:min(360px, calc(100vw - 24px));
}

.home-tutorial-card{
  background:linear-gradient(180deg, rgba(10,31,51,.96), rgba(8,23,38,.94));
  border:1px solid rgba(167,240,255,.24);
  border-radius:20px;
  box-shadow:0 20px 60px rgba(0,0,0,.42);
  padding:16px;
}

.home-tutorial-step{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}

.home-tutorial-title{
  font-size:18px;
  font-weight:900;
  line-height:1.2;
}

.home-tutorial-text{
  margin-top:8px;
  color:rgba(240,248,255,.9);
  line-height:1.5;
  font-size:14px;
}

.home-tutorial-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

.section-guide-banner{
  border: 1px solid rgba(31,162,255,.22);
  background: linear-gradient(135deg, rgba(31,162,255,.12), rgba(255,255,255,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.advertising-crop-modal-card{
  width:min(560px, 96vw);
  max-height:92vh;
  display:flex;
  flex-direction:column;
}

.advertising-crop-modal-card .modal-body{
  overflow-y:auto;
  flex:1;
  min-height:0;
}

.advertising-crop-body{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.advertising-crop-preview-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
}

.advertising-crop-preview{
  position:relative;
  width:100%;
  max-width:520px;
  aspect-ratio:4 / 3;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.16);
  background-color:rgba(4,23,38,.86);
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}

.advertising-crop-preview--portrait{
  max-width:280px;
}

.advertising-crop-preview-blur{
  position:absolute;
  inset:-20px;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  filter:blur(18px) brightness(.55);
  transform:scale(1.1);
}

.advertising-crop-preview-main{
  position:absolute;
  inset:0;
  background-repeat:no-repeat;
}

.advertising-crop-controls{
  display:grid;
  gap:10px;
  align-content:start;
}

.advertising-crop-controls input[type="range"]{
  width:100%;
}

.advertising-crop-note{
  margin-top:4px;
}

.ad-guide{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.04);
  overflow:hidden;
}

.ad-guide summary{
  list-style:none;
  width:100%;
  border-radius:0;
}

.ad-guide summary::-webkit-details-marker{
  display:none;
}

.ad-guide[open] summary{
  border-bottom:1px solid rgba(255,255,255,.1);
}

.ad-guide-body{
  padding:14px;
}

.ad-guide-steps{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.ad-guide-step{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);
}

.plan-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 860px){
  .plan-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .plan-grid{ grid-template-columns: 1fr; }
}

.plan{
  position: relative;
  border-radius: 16px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}
.plan.best{
  border-color: rgba(31,162,255,.45);
  background: rgba(31,162,255,.12);
}
.plan-badge{
  position:absolute;
  top:10px;
  right:10px;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--gold-line);
  background: linear-gradient(135deg, rgba(240,198,116,.3), rgba(240,198,116,.12));
  color:#ffe9c2;
  font-weight: 800;
  letter-spacing: .02em;
}
.plan-name{ font-weight: 900; }
.plan-price{ font-size: 18px; font-weight: 900; margin-top: 6px; }
.plan-desc{ font-size: 12px; opacity: .85; margin-top: 6px; }
.planGrid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap:12px;
  margin-top:12px;
}
.planCard{
  padding:14px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--text);
  cursor:pointer;
  text-align:left;
  transition:transform .15s ease, background .18s ease;
}
.planCard:hover{
  background: rgba(255,255,255,.10);
}
.planCard:not(.disabled):active{
  transform:scale(.97);
  background: rgba(255,255,255,.14);
}
.planCard.active{
  border-color: rgba(31,162,255,.65);
  background: rgba(31,162,255,.18);
}
.planCard.disabled{
  cursor: not-allowed;
  opacity: .58;
  filter: grayscale(.15);
}
.planCard.disabled:hover{
  background: rgba(255,255,255,.06);
}
.planName{ font-weight:900; }
.planPrice{ opacity:.9; margin-top:4px; }
#plansModal{ display:none; }
.planCard{
  position: relative;
}

.planBadge{
  position:absolute;
  top:10px;
  right:10px;
  font-size:11px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--gold-line);
  background: linear-gradient(135deg, rgba(240,198,116,.3), rgba(240,198,116,.12));
  color:#ffe9c2;
  opacity:1;
  font-weight:800;
  letter-spacing:.02em;
}

.planDesc{
  margin-top:6px;
  font-size:12px;
  opacity:.85;
  line-height:1.25;
}
/* ===== PLAN DESTACADO ===== */
.planCard.featured{
  position: relative;
  border: 2px solid rgba(31,162,255,.75);
  background: linear-gradient(
    180deg,
    rgba(31,162,255,.25),
    rgba(31,162,255,.12)
  );
  box-shadow: 0 0 25px rgba(31,162,255,.35);
  transform: scale(1.04);
  padding-top: 28px; /* 👈 espacio para el badge */
}


.planCard.featured .planName{
  font-size: 16px;
}

.planCard.featured .planPrice{
  font-size: 20px;
  color: #A7F0FF;
}
.plan-selected-bar{
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(31,162,255,.12);
  border: 1px solid rgba(31,162,255,.28);
  color: rgba(234,246,255,.92);
  font-weight: 800;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.plan-selected-bar .muted{
  font-weight: 700;
  opacity: .85;
}

.top,
.top-actions,
.topActions,
.cardHead,
.detail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.lightbox{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  z-index: 10000;
}

.lightbox-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(1, 8, 16, .86);
  backdrop-filter: blur(8px);
}

.lightbox-shell{
    position: relative;
    z-index: 1;
    width: min(1100px, 96vw);
    max-width: 1100px;
  }

.lightbox-stage{
  width: 100%;
  min-width: 0;
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
}

.lightbox-image{
  width: auto;
  max-width: 100%;
  max-height: 78vh;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  background: rgba(0,0,0,.28);
}

.lightbox-caption{
  width: 100%;
  padding: 12px 16px;
  color: var(--text);
  font-size: 14px;
  text-align: center;
  background: rgba(0,0,0,.22);
  word-break: break-word;
}

.lightbox-nav{
    display: none !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 56px;
    height: 56px;
    border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.10);
  color: var(--text);
  font-size: 28px;
  display: inline-flex;
  align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .lightbox-nav.prev{
    left: 14px;
  }

  .lightbox-nav.next{
    right: 14px;
  }

body.lightbox-open{
  overflow: hidden;
}

.evento-interstitial{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  z-index: 10500;
}

.evento-interstitial-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(1, 8, 16, .58);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.evento-interstitial-shell{
  position: relative;
  z-index: 1;
  width: auto;
  height: min(88vh, calc(94vw * 16 / 9));
  max-width: 94vw;
  aspect-ratio: 9 / 16;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
  animation: modalCardIn .28s cubic-bezier(.22,1,.36,1) both;
}

.evento-interstitial-tag{
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.5);
  color: rgba(255,255,255,.85);
  backdrop-filter: blur(4px);
}

.evento-interstitial-progress{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 2;
  background: rgba(255,255,255,.14);
}

.evento-interstitial-progress span{
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #56c0ff, #1f5fd6);
}

.evento-interstitial-close{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.5);
  color: var(--text);
  border: 1px solid rgba(255,255,255,.16);
  cursor: pointer;
}

.evento-interstitial-media{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.35);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.evento-interstitial-media img{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
}

.evento-interstitial-media-bg{
  position: absolute;
  inset: -20px;
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  object-fit: cover;
  filter: blur(38px) brightness(.4) saturate(.65);
  transform: scale(1.18);
}

.evento-interstitial-media-fg{
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.evento-interstitial-cta{
  position: absolute;
  left: 50%;
  bottom: 20px;
  z-index: 3;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 999px;
  background: rgba(10,16,30,.55);
  -webkit-backdrop-filter: blur(16px) saturate(1.5);
  backdrop-filter: blur(16px) saturate(1.5);
  border: 1px solid var(--gold-line);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .01em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 28px rgba(0,0,0,.4);
  transition: transform .15s ease, background .15s ease;
}

.evento-interstitial-cta .icon{
  width: 16px;
  height: 16px;
  color: var(--gold);
}

.evento-interstitial-cta:active{
  transform: translateX(-50%) scale(.96);
  background: rgba(10,16,30,.7);
}

.evento-interstitial-cta[hidden]{
  display: none;
}

body.evento-interstitial-open{
  overflow: hidden;
}

@media (max-width: 720px){
    .lightbox{
      padding: 12px;
    }
  
   .lightbox-nav{
      width: 48px;
      height: 48px;
    }
  
   .lightbox-nav.prev{
    left: 8px;
  }

  .lightbox-nav.next{
    right: 8px;
  }

  .lightbox-image{
    max-height: 72vh;
  }
}

.topActions{
  justify-content:center;
  align-items:center;
  gap:12px;
}

#plansBtn{
  min-width:190px;
  justify-content:center;
  padding:14px 20px;
  border-radius:16px;
  font-size:17px;
  font-weight:900;
  background: linear-gradient(135deg, rgba(31,162,255,1), rgba(7,210,255,.92));
  color:#042033;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 16px 34px rgba(31,162,255,.28);
}

#plansBtn:hover{
  filter: brightness(1.05);
}

.wrap{
  max-width:1050px;
  margin:0 auto;
  padding:0 18px 40px;
}

.badge{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(31,162,255,.16);
  border:1px solid rgba(31,162,255,.32);
  color:var(--foam);
  font-size:12px;
  font-weight:800;
}

.sub{
  color:var(--muted);
  font-size:16px;
  line-height:1.5;
}

#publishForm .label,
#formWrap .label{
  font-size:17px;
}

#publishForm .input,
#publishForm select,
#publishForm textarea,
#formWrap .input,
#formWrap select,
#formWrap textarea{
  font-size:17px;
}

.publish-loading-overlay{
  position:fixed;
  inset:0;
  z-index:9997;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(780px 420px at 50% 28%, rgba(188,226,247,.14), transparent 60%),
    linear-gradient(180deg, rgba(2,19,35,.92), rgba(4,36,68,.96));
  backdrop-filter:blur(4px);
}

.publish-loading-card{
  width:min(100%, 340px);
  display:grid;
  justify-items:center;
  gap:14px;
  text-align:center;
  padding:32px 26px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
  border:1px solid rgba(204,236,255,.18);
  box-shadow:0 22px 54px rgba(0,0,0,.32);
}

.publish-loading-badge{
  position:relative;
  width:96px;
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:4px;
}

.publish-loading-ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:3px solid rgba(127,231,255,.16);
  border-top-color:#7fe7ff;
  border-right-color:#7fe7ff;
  animation:publishSpinnerRotate 1s linear infinite;
}

.publish-loading-logo{
  width:64px;
  height:64px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 8px 20px rgba(0,0,0,.28);
  animation:splashPulse 1.8s ease-in-out infinite;
}

#publishLoadingTitle{
  color:#f4fbff;
  font-size:18px;
  line-height:1.3;
}

#publishLoadingText{
  color:rgba(224,243,255,.84);
  font-size:14px;
  line-height:1.5;
}

.publish-loading-progress{
  width:100%;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  overflow:hidden;
  margin-top:6px;
}

.publish-loading-progress span{
  display:block;
  height:100%;
  width:40%;
  border-radius:999px;
  background:linear-gradient(90deg, #1fa2ff, #7fe7ff);
  animation:publishProgressSlide 1.4s ease-in-out infinite;
}

@keyframes publishSpinnerRotate{
  to{ transform:rotate(360deg); }
}

@keyframes publishProgressSlide{
  0%{ transform:translateX(-150%); }
  100%{ transform:translateX(350%); }
}

@media (max-width: 680px){
  .brand{ gap:12px; }
  .brand h1{ font-size:24px; }
  .brand small{ font-size:14px; }
  .logo-img{
    width:94px;
    height:94px;
    border-radius:22px;
  }
  .landing-header .brand h1{
    font-size:38px;
  }
  .landing-header .brand small{
    font-size:17px;
    font-weight:700;
  }
  .landing-header .logo-img{
    width:108px;
    height:108px;
    border-radius:50%;
    object-position:center 14%;
  }
  .label{
    font-size:15px;
  }

  .landing-search-results{
    padding:12px;
  }

  .landing-search-result{
    padding:12px;
  }

  .landing-search-result-body{
    gap:10px;
  }

  .landing-search-result-thumb .thumb{
    width:68px;
    height:68px;
    border-radius:16px;
  }

  .landing-search-result-top{
    flex-direction:column;
  }

  .landing-search-result-tag{
    align-self:flex-start;
  }

  .landing-search-result-meta-row{
    align-items:flex-start;
  }

  .landing-chip{
    gap:8px;
  }

  .publish-loading-indicator{
    align-items:flex-start;
    padding:14px;
    gap:12px;
  }

  .publish-loading-spinner{
    width:48px;
    height:48px;
    flex-basis:48px;
  }

  .publish-loading-copy strong{
    font-size:15px;
  }

  .publish-loading-copy div{
    font-size:13px;
  }
}

.detail-info-list{
  display:flex;
  flex-direction:column;
  padding:4px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.detail-info-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.detail-info-row:last-child{
  border-bottom:none;
}

.detail-info-label{
  font-size:11.5px;
  font-weight:800;
  color:rgba(234,246,255,.5);
  text-transform:uppercase;
  letter-spacing:.04em;
  flex:0 0 auto;
}

.detail-info-value{
  font-size:14px;
  font-weight:700;
  color:var(--text);
  text-align:right;
  overflow-wrap:anywhere;
}

.success-notice{
  border-style:solid;
  border-color:rgba(34,197,94,.28);
  background:rgba(34,197,94,.12);
  color:rgba(230,255,238,.96);
  margin-bottom:12px;
}

.review-item{
  align-items:flex-start;
  position: relative;
  border: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03)),
    rgba(7, 22, 38, .72);
  box-shadow: inset 4px 0 0 rgba(255,255,255,.06);
}

.review-item.review-item-pending{
  border-color: rgba(245, 158, 11, .22);
  background:
    linear-gradient(180deg, rgba(245,158,11,.12), rgba(255,255,255,.03)),
    rgba(7, 22, 38, .72);
  box-shadow: inset 5px 0 0 rgba(245, 158, 11, .78);
}

.review-item.review-item-approved{
  border-color: rgba(34, 197, 94, .20);
  background:
    linear-gradient(180deg, rgba(34,197,94,.10), rgba(255,255,255,.03)),
    rgba(7, 22, 38, .72);
  box-shadow: inset 5px 0 0 rgba(34, 197, 94, .82);
}

.review-item.review-item-inactive{
  border-color: rgba(148, 163, 184, .18);
  background:
    linear-gradient(180deg, rgba(148,163,184,.10), rgba(255,255,255,.03)),
    rgba(7, 22, 38, .72);
  box-shadow: inset 5px 0 0 rgba(148, 163, 184, .72);
}

.review-item.review-item-expiring-soon{
  border-color: rgba(250, 204, 21, .42);
  background:
    linear-gradient(180deg, rgba(250,204,21,.16), rgba(255,255,255,.03)),
    rgba(7, 22, 38, .72);
  box-shadow:
    inset 5px 0 0 rgba(250, 204, 21, .88),
    0 14px 30px rgba(250, 204, 21, .10);
}

.review-item.review-item-rejected{
  border-color: rgba(239, 68, 68, .22);
  background:
    linear-gradient(180deg, rgba(239,68,68,.10), rgba(255,255,255,.03)),
    rgba(7, 22, 38, .72);
  box-shadow: inset 5px 0 0 rgba(239, 68, 68, .82);
}

.admin-manage-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.admin-select-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}

.admin-manage-card .review-item-body{
  display:flex;
  gap:12px;
  justify-content:space-between;
  align-items:flex-start;
}

.install-app-card{
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid rgba(31,162,255,.22);
  background:
    linear-gradient(135deg, rgba(31,162,255,.13), rgba(255,255,255,.03)),
    rgba(7, 22, 38, .78);
}

.install-app-copy{
  min-width: 0;
}

.install-guide-text{
  margin-top: 8px;
  color: rgba(234,246,255,.82);
  line-height: 1.45;
  font-size: 13px;
}

.install-guide-modal-card{
  max-width: 560px;
}

.install-guide-steps{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
  padding-bottom: 10px;
}

.install-step{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}

.install-step-index{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #08253c;
  background: linear-gradient(135deg, rgba(31,162,255,1), rgba(7,210,255,.9));
  flex: 0 0 auto;
}

.install-step-text{
  color: rgba(234,246,255,.94);
  line-height: 1.45;
}

.pending-focus{
  border-radius: 18px;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, .38), 0 0 32px rgba(245, 158, 11, .18);
  transition: box-shadow .25s ease;
}

@media (max-width: 720px){
  .install-app-card{
    flex-direction: column;
    align-items: stretch;
  }

  .review-item{
    flex-direction:column;
    align-items:stretch;
  }

  .review-item .item-left{
    width:100%;
  }

  .admin-manage-card .review-item-body{
    flex-direction:column;
    align-items:stretch;
  }

  .review-item .item-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    justify-content:stretch;
  }

  .review-item .item-actions .btn{
    width:100%;
    min-width:0;
    justify-content:center;
  }
}

.review-copy{
  min-width:0;
  flex:1 1 auto;
}

.review-topline{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:4px;
}

.review-meta-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.status-pill,
.meta-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
}

.status-pill{
  border:1px solid rgba(255,255,255,.12);
}

.status-pill.pending{
  background:rgba(245,158,11,.18);
  border-color:rgba(245,158,11,.42);
  color:rgba(214,241,255,.98);
}

.status-pill.approved{
  background:rgba(34,197,94,.18);
  border-color:rgba(34,197,94,.42);
  color:rgba(223,255,232,.98);
}

.status-pill.inactive{
  background:rgba(107,114,128,.22);
  border-color:rgba(148,163,184,.38);
  color:rgba(235,242,250,.96);
}

.status-pill.rejected{
  background:rgba(239,68,68,.18);
  border-color:rgba(239,68,68,.42);
  color:rgba(255,225,225,.98);
}

.meta-chip{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:var(--muted);
}

.rating-chip{
  background:rgba(250,204,21,.14);
  border-color:rgba(250,204,21,.28);
  color:rgba(186,229,255,.98);
  font-weight:800;
  gap:4px;
}

.review-stars-icons{
  display:inline-flex;
  align-items:center;
  gap:1px;
}

.review-star{
  width:13px;
  height:13px;
  flex-shrink:0;
  fill:rgba(255,255,255,.28);
  stroke:none;
}

.review-star.is-filled{
  fill:#facc15;
}
.expiring-chip{
  background:rgba(250,204,21,.18);
  border-color:rgba(250,204,21,.4);
  color:rgba(194,232,255,.98);
  font-weight:900;
}

.trust-chip{
  border-color:rgba(125,211,252,.24);
}

.open-status-chip{
  font-weight:800;
}

.open-status-chip.is-open{
  background:rgba(34,197,94,.16);
  border-color:rgba(34,197,94,.4);
  color:rgba(220,255,230,.98);
}

.open-status-chip.is-closed{
  background:rgba(148,163,184,.16);
  border-color:rgba(148,163,184,.36);
  color:rgba(230,236,244,.9);
}

.item-snippet{
  margin-top:8px;
  line-height:1.4;
  max-width:680px;
}

.item-snippet-link{
  display:block;
  color:var(--muted);
  text-decoration:none;
  cursor:pointer;
  transition:color .2s ease, transform .2s ease;
}

.item-snippet-link:hover{
  color:var(--text);
  transform:translateX(2px);
}

.item-snippet-link:active{
  color:var(--text);
  transform:translateX(2px) scale(.98);
}

.item-snippet-link:focus-visible{
  outline:2px solid rgba(167,240,255,.75);
  outline-offset:4px;
  border-radius:8px;
}

.reviews-block{
  padding:16px;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
}

.review-head{
  align-items:flex-start;
}

.review-head-score{
  padding:10px 14px;
  border-radius:16px;
  font-weight:900;
  color:rgba(186,229,255,.98);
  background:rgba(250,204,21,.12);
  border:1px solid rgba(250,204,21,.26);
}

.review-form{
  padding:14px;
  border-radius:18px;
  background:rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.08);
}

.review-stars{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.star-btn{
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.45);
  font-size:24px;
  font-weight:900;
  cursor:pointer;
  transition:transform .15s ease;
}

.star-btn:active{
  transform:scale(.88);
}

.star-btn.active{
  color:rgba(120,207,255,.98);
  border-color:rgba(250,204,21,.34);
  background:rgba(250,204,21,.14);
}

.review-list{
  display:grid;
  gap:12px;
}

.review-comment{
  padding:14px;
  border-radius:18px;
  background:rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.08);
}

.review-comment-top{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:6px;
}

.review-comment-body{
  margin-top:10px;
  color:var(--text);
  line-height:1.5;
  white-space:pre-wrap;
}

.filters-panel{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
}

.filters-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.filters-grid-single{
  grid-template-columns:minmax(0, 1fr);
}

.filter-field{
  display:block;
}

.filter-control{
  width:100%;
}

.filter-type-select-wrap{
  position:relative;
}

.filter-type-select-wrap .filter-control{
  padding-right:52px;
}

.filter-type-clear{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(138,188,215,.24);
  background:rgba(255,255,255,.08);
  color:#e1f4ff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, border-color .18s ease, transform .15s ease;
}

.filter-type-clear:hover{
  background:rgba(138,188,215,.18);
  border-color:rgba(138,188,215,.4);
}

.filter-type-clear:active{
  transform:translateY(-50%) scale(.9);
}

.filters-actions{
  margin-top:12px;
  display:flex;
  justify-content:flex-end;
}

.admin-auth-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.admin-auth-copy{
  flex:1 1 320px;
}

.admin-auth-actions{
  margin-top:0;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
}

.admin-promo-panel{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.admin-promo-controls{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.admin-promo-field{
  min-width:130px;
}

.admin-promo-status{
  width:100%;
  margin-top:12px;
}

.admin-metrics-panel{
  display:grid;
  gap:12px;
}

.admin-metrics-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}

.admin-metrics-head .admin-auth-copy{
  flex:1 1 240px;
}

.admin-metrics-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  flex:0 0 auto;
}

.admin-metrics-actions .filter-control{
  min-width:220px;
}

.admin-metrics-actions .btn{
  white-space:nowrap;
}

.admin-metrics-sub{
  max-width:unset;
  margin-top:6px;
  font-size:14px;
  line-height:1.35;
}

.admin-session-card{
  margin-top:12px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(31,162,255,.12);
  border:1px solid rgba(31,162,255,.28);
  color:rgba(239,248,255,.96);
}

.admin-session-email{
  font-weight:900;
  color:var(--foam);
}

.admin-session-meta{
  margin-top:6px;
  color:var(--muted);
  font-size:14px;
}

.btn.admin-logout{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
}

.promo-notice{
  border-style:solid;
  border-color:rgba(250,204,21,.3);
  background:rgba(250,204,21,.12);
  color:rgba(200,234,255,.98);
}

.courtesy-notice{
  border-style: solid;
  border-color: rgba(56, 189, 248, .28);
  background: rgba(56, 189, 248, .12);
  color: rgba(226, 247, 255, .98);
}

.courtesy-chip{
  border-color: rgba(56, 189, 248, .32);
  background: rgba(56, 189, 248, .14);
  color: rgba(226, 247, 255, .98);
  font-weight: 800;
}

.evento-chip{
  border-color: rgba(216, 137, 255, .35);
  background: rgba(216, 137, 255, .16);
  color: rgba(247, 232, 255, .98);
  font-weight: 800;
}

.confirm-card{
  width:min(560px, 96vw);
}

.confirm-summary{
  margin-top:14px;
  display:grid;
  gap:10px;
}

.confirm-preview{
  width:100%;
  max-width:220px;
  height:160px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  box-shadow:var(--shadow);
}

.confirm-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.confirm-preview.empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-weight:800;
}

.confirm-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
}

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

.plans-builder{
  display:grid;
  gap:10px;
}

.tourism-plan-row{
  margin-top:6px;
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
}

.tourism-plan-price-row,
.price-range-row{
  display:flex;
  align-items:end;
  gap:10px;
}

.schedule-builder{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(86,192,255,.16);
  border-radius:14px;
  padding:12px;
  margin-bottom:14px;
}

.schedule-days{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}

.schedule-day-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  font-weight:700;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  padding:6px 10px;
  cursor:pointer;
}

.schedule-24h-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:600;
  opacity:.85;
  margin-bottom:10px;
  cursor:pointer;
}

.schedule-time-row{
  gap:10px;
}

.tourism-plan-price-row .input,
.price-range-row .input{
  flex:1;
}

.whatsapp-extra-row{
  display:flex;
  align-items:end;
  gap:10px;
  margin-top:8px;
}

.whatsapp-extra-row select{
  flex:0 0 auto;
  width:auto;
  min-width:140px;
}

.whatsapp-extra-row .input{
  flex:1;
}

.tourism-plan-actions{
  display:flex;
  justify-content:flex-start;
}

.whatsapp-grid{
  grid-template-columns:minmax(160px, 220px) minmax(0, 1fr);
  align-items:end;
}

.location-map-picker{
  margin-top:8px;
  display:grid;
  gap:10px;
}

.location-map-container{
  width:100%;
  height:260px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  cursor:crosshair;
}

.location-map-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.location-map-status{
  font-size:12.5px;
  color:var(--muted);
}

.ad-spot-card{
  padding:16px;
  overflow:hidden;
}

.ad-spot-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.ad-spot-head > div{
  min-width:0;
}

.ad-spot-cta-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.ad-banner-link{
  display:block;
  width:100%;
}

.ad-banner-shell{
  display:grid;
  grid-template-columns:minmax(220px, 1fr) minmax(168px, .82fr);
  gap:12px;
  align-items:stretch;
}

.ad-banner-media{
  min-height:180px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
}

.ad-banner-media--feature{
  min-height:190px;
  position:relative;
}

.ad-banner-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:rgba(8, 19, 32, .55);
}

.ad-banner-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  min-width:0;
}

.ad-banner-copy h3{
  margin:0;
  font-size:24px;
  line-height:1.05;
}

.ad-banner-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}

.ad-banner-overlay{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.ad-banner-overlay .btn{
  pointer-events:auto;
  box-shadow:0 14px 30px rgba(3, 11, 20, .38);
}

.support-faq-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.support-faq-card{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
}

.support-faq-card p{
  margin:10px 0 0;
}

.support-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  color:var(--foam);
}

.support-modal-card{
  max-width:720px;
}

.support-ticket-detail{
  display:grid;
  gap:12px;
}

.support-ticket-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.support-ticket-box{
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
}

.support-ticket-message{
  white-space:pre-wrap;
  line-height:1.5;
  color:var(--text);
}

.support-ticket-note{
  margin-top:8px;
}

.metrics-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  width:100%;
}

.admin-metrics-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  align-items:stretch;
}

.metric-card{
  padding:18px 18px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(120, 206, 255, .18), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
  min-height:122px;
  text-align:center;
}

.visitor-stats-section{
  width:100%;
}

.visitor-stat-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  flex-wrap:wrap;
}

.visitor-stat-row:last-child{
  border-bottom:none;
}

.visitor-stat-rank{
  font-size:13px;
  color:var(--text-muted, #8b8fa8);
  min-width:20px;
}

.visitor-stat-name{
  flex:1 1 auto;
  font-weight:600;
  font-size:14px;
}

.visitor-stat-badge{
  font-size:11px;
  padding:2px 8px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  color:var(--text-muted, #8b8fa8);
}

.visitor-stat-count{
  font-size:13px;
  font-weight:700;
  color:var(--accent, #78ceff);
  white-space:nowrap;
}

.metric-value{
  font-size:48px;
  line-height:1;
  font-weight:900;
  color:var(--text);
}

.metric-label{
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  color:var(--text);
  text-wrap:balance;
  word-break:break-word;
}

@media (max-width: 780px){
  .grid2{
    grid-template-columns:1fr;
  }

  .tourism-plan-price-row,
  .price-range-row,
  .whatsapp-extra-row{
    flex-direction:column;
    align-items:stretch;
  }

  .ad-carousel-item{
    flex-basis:min(86vw, 420px);
  }

  .ad-banner-shell{
    grid-template-columns:1fr;
    gap:8px;
  }

  .ad-banner-media--feature{
    min-height:164px;
  }

  .ad-banner-copy h3{
    font-size:16px;
  }

  .ad-banner-copy p{
    font-size:12px;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .ad-banner-copy{
    gap:8px;
  }

  .ad-banner-overlay .btn{
    width:100%;
    justify-content:center;
  }

  .support-faq-grid{
    grid-template-columns:1fr;
  }

  .support-ticket-grid{
    grid-template-columns:1fr;
  }

  .admin-metrics-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .metric-card{
    min-height:110px;
    padding:16px;
  }

  .metric-value{
    font-size:40px;
  }

  .metric-label{
    font-size:14px;
  }

  .admin-metrics-actions{
    width:100%;
    flex:1 1 100%;
    flex-direction:column;
    align-items:stretch;
  }

  .admin-metrics-actions .filter-control,
  .admin-metrics-actions .btn{
    width:100%;
    min-width:0;
  }
}

@media (max-width: 420px){
  .admin-metrics-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .admin-metrics-sub{
    font-size:13px;
  }

  .metric-card{
    min-height:104px;
    border-radius:18px;
    padding:14px;
  }

  .metric-value{
    font-size:34px;
  }

  .metric-label{
    font-size:13px;
    line-height:1.15;
  }
}

@media (max-width: 520px){
  body[data-page="home"] .brand small{
    display:block !important;
  }

  .floating-help-btn{
    right:14px;
    bottom:86px;
    padding:12px 14px;
    border-radius:16px;
    font-size:14px;
  }

  .floating-publish-btn{
    right:14px;
    bottom:142px;
    padding:12px 14px;
    border-radius:16px;
    font-size:14px;
  }

  .back-to-top-btn{
    right:14px;
    bottom:198px;
    padding:10px 14px;
    border-radius:16px;
    font-size:13px;
  }

  .floating-back-btn{
    right:14px;
    bottom:142px;
    padding:12px 16px;
    border-radius:16px;
    font-size:14px;
  }

  .section-focus-pill{
    padding:9px 12px;
    border-radius:16px;
  }

  .section-focus-label{
    font-size:10px;
  }

  .section-focus-value{
    font-size:16px;
  }
}






