/* CTP Calle Zamora — Opción 3 "Cafetal": colores de las ramas de café del escudo (verde hoja y rojo cereza),
   azul del escudo solo en detalles. Estructura: menú lateral fijo + contenido; portada tipo escenario con tira de miniaturas. */
:root{
  --verde:#21503A; --verde-osc:#153726; --hoja:#5E9A4B; --hoja-clara:#DCEBD3; --cereza:#B3222F; --cereza-osc:#8C1722;
  --azul-escudo:#1B2A5C; --neblina:#EEF3ED; --papel:#FFFFFF; --tinta:#17241D; --gris:#56655C; --suave:#CFDACF; --foco:#E2B93B;
  /* alias que usa el panel de administración */
  --marino:var(--verde); --rojo:var(--cereza); --rojo-osc:var(--cereza-osc); --banda:var(--neblina); --linea:var(--verde); --amarillo:var(--foco);
  --ok:#1C6B3A; --ok-bg:#DFF1E3; --warn:#7A4E00; --warn-bg:#FBEFD5; --off:#5B665F; --off-bg:#E7ECE8; --peligro:#B3222F; --peligro-bg:#FBE4E6;
  --f-titulo:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
  --f-texto:"Karla","Segoe UI",system-ui,sans-serif;
  --lateral:272px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papel);color:var(--tinta);font:17px/1.62 var(--f-texto)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:90;background:var(--verde-osc)}
img{max-width:100%;display:block}
a{color:var(--verde)}
h1,h2,h3,h4{font-family:var(--f-titulo);line-height:1.05;margin:0;text-wrap:balance;font-weight:700}
h1{font-size:clamp(2.3rem,5vw,3.8rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.4rem}
p{margin:0}
:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
svg.i{width:1.05em;height:1.05em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.salto{position:absolute;left:-999px}
.salto:focus{left:16px;top:16px;background:#fff;padding:.5rem 1rem;z-index:99}
.contenedor{max-width:1100px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

.boton{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.3rem;border-radius:999px;font:700 1rem/1 var(--f-texto);text-decoration:none;border:2px solid var(--verde);background:transparent;color:var(--verde);cursor:pointer}
.boton:hover{background:var(--verde);color:#fff}
.boton.rojo{background:var(--cereza);border-color:var(--cereza);color:#fff}
.boton.rojo:hover{background:var(--cereza-osc);border-color:var(--cereza-osc)}
.boton.blanco{border-color:rgba(255,255,255,.7);color:#fff}
.boton.blanco:hover{background:#fff;color:var(--verde)}

/* ---------- armazón: lateral + principal ---------- */
.lateral{position:fixed;top:0;bottom:0;left:0;width:var(--lateral);background:var(--verde-osc);color:#D7E4D9;display:flex;flex-direction:column;z-index:70;overflow-y:auto;padding:calc(1.5rem + env(safe-area-inset-top,0px)) 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px)) max(1.25rem,env(safe-area-inset-left,0px))}
.principal{margin-left:var(--lateral);min-width:0}
.sello{display:grid;justify-items:start;gap:.7rem;text-decoration:none;color:#fff;margin-bottom:1.75rem}
.sello img{width:84px;height:84px;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.sello .t1{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#A9C4AE}
.sello .t2{display:block;font:700 1.75rem/1 var(--f-titulo);color:#fff}
.sello .lema{font:italic 400 .9rem/1.2 var(--f-titulo);color:#E6C25A}
.nav-lat ul{list-style:none;margin:0;padding:0}
.nav-lat>ul>li{border-top:1px solid rgba(255,255,255,.1)}
.nav-lat .enl{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.7rem .2rem;font:600 1.05rem/1.2 var(--f-texto);color:#E7EFE8;text-decoration:none;background:none;border:0;cursor:pointer;text-align:left}
.nav-lat .enl:hover{color:#fff}
.nav-lat .enl svg{transition:transform .2s}
.nav-lat button.enl[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-lat .enl[aria-current="page"]{color:#fff}
.nav-lat .enl[aria-current="page"]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cereza);box-shadow:0 0 0 3px rgba(179,34,47,.35);margin-right:.6rem;flex:none}
.nav-lat .enl[aria-current="page"]{justify-content:flex-start}
.nav-lat button.enl[aria-current="page"] svg{margin-left:auto}
.nav-lat .sub{padding:0 0 .6rem .9rem;border-left:2px solid var(--hoja);margin-left:.2rem}
.nav-lat .sub a{display:block;padding:.35rem .2rem;color:#B9CDBD;text-decoration:none;font-size:.95rem}
.nav-lat .sub a:hover{color:#fff}
.lat-pie{margin-top:auto;padding-top:1.5rem;font-size:.88rem;display:grid;gap:.35rem}
.lat-pie a{color:#E7EFE8}
.lat-pie .admision{display:flex;justify-content:space-between;align-items:center;background:var(--cereza);color:#fff;text-decoration:none;font-weight:700;padding:.65rem .9rem;border-radius:10px;margin-bottom:.75rem}
.lat-pie .admision:hover{background:var(--cereza-osc)}
.barra-movil{display:none}
.velo{display:none}
@media (max-width:980px){
  .lateral{transform:translateX(-105%);transition:transform .25s ease;width:min(320px,88vw);box-shadow:0 0 40px rgba(0,0,0,.35)}
  .lateral.abierto{transform:none}
  .principal{margin-left:0}
  .barra-movil{display:flex;position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--verde-osc);color:#fff;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem max(16px,env(safe-area-inset-right,0px)) .55rem max(16px,env(safe-area-inset-left,0px))}
  .barra-movil a{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font:700 1.25rem/1 var(--f-titulo)}
  .barra-movil img{width:40px;height:40px;border-radius:50%}
  .barra-movil button{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff;border-radius:999px;padding:.45rem .9rem;font:700 .95rem var(--f-texto);display:inline-flex;gap:.4rem;align-items:center;cursor:pointer}
  .velo.activo{display:block;position:fixed;inset:0;background:rgba(10,25,17,.5);z-index:65}
  .cerrar-lat{display:inline-flex!important}
}
.cerrar-lat{display:none;position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));right:1rem;background:transparent;border:0;color:#fff;cursor:pointer;padding:.3rem}
@media (prefers-reduced-motion:reduce){.lateral{transition:none}}

/* ---------- portada: escenario ---------- */
.escenario{background:var(--neblina);padding-block:2rem 1.5rem}
.esc-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:center}
.esc-cartel{position:relative;aspect-ratio:3/2;max-width:100%;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 1px 0 var(--suave),0 24px 40px -28px rgba(21,55,38,.6)}
.esc-cartel img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .5s}
.esc-cartel img.foto{object-fit:cover}
.esc-cartel img.activa{opacity:1}
.esc-info{display:flex;flex-direction:column;gap:1rem;min-width:0}
.esc-info .rotulo{font:600 .85rem/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--cereza);display:flex;align-items:center;gap:.5rem}
.esc-info .rotulo::before{content:"";width:22px;height:2px;background:var(--cereza)}
.esc-info h1{font-size:clamp(1.9rem,3.6vw,2.9rem);color:var(--verde-osc)}
.esc-info .fecha{color:var(--gris)}
.esc-ctrl{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.esc-ctrl .cuenta{font:700 1.1rem/1 var(--f-titulo);font-variant-numeric:tabular-nums;color:var(--gris);margin-right:.5rem}
.esc-ctrl button{width:44px;height:44px;border-radius:50%;border:2px solid var(--verde);background:transparent;color:var(--verde);display:grid;place-items:center;cursor:pointer}
.esc-ctrl button:hover{background:var(--verde);color:#fff}
.tira-mini{display:flex;gap:.75rem;overflow-x:auto;padding:1.25rem 0 .5rem;scrollbar-width:thin}
.tira-mini button{flex:0 0 150px;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:var(--tinta);opacity:.62;transition:opacity .2s}
.tira-mini button:hover,.tira-mini button[aria-current="true"]{opacity:1}
.tira-mini img{width:150px;aspect-ratio:3/2;object-fit:cover;border-radius:10px;border:3px solid transparent;background:#fff}
.tira-mini button[aria-current="true"] img{border-color:var(--cereza)}
.tira-mini span{display:block;font-size:.82rem;line-height:1.25;margin-top:.35rem;font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tira-mini .prog{display:block;height:3px;background:var(--suave);border-radius:2px;margin-top:.35rem;overflow:hidden;position:relative}
.tira-mini .prog i{position:absolute;inset:0 auto 0 0;width:0;background:var(--cereza)}
.tira-mini button[aria-current="true"] .prog i{animation:llenar var(--dur,8s) linear forwards}
.escenario.pausa .tira-mini .prog i{animation-play-state:paused}
@keyframes llenar{to{width:100%}}
@media (prefers-reduced-motion:reduce){.esc-cartel img{transition:none}.tira-mini button[aria-current="true"] .prog i{animation:none;width:100%}}
.sin-anuncios{aspect-ratio:3/2;border:2px dashed var(--suave);border-radius:18px;display:grid;place-items:center;text-align:center;padding:1rem;color:var(--gris)}
@media (max-width:760px){.esc-grid{grid-template-columns:1fr;gap:1.25rem}.escenario{padding-block:1rem 1rem}.tira-mini button{flex-basis:118px}.tira-mini img{width:118px}}

/* ¿quién visita? */
.visitante{padding-block:3.5rem}
.visitante h2{margin-bottom:1.25rem}
.pestanas{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:2px solid var(--suave)}
.pestanas button{background:none;border:0;border-bottom:4px solid transparent;margin-bottom:-2px;padding:.75rem 1rem;font:700 1.05rem var(--f-texto);color:var(--gris);cursor:pointer}
.pestanas button[aria-selected="true"]{color:var(--verde-osc);border-bottom-color:var(--cereza)}
.panel-vis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:1.5rem}
.panel-vis a{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem;border-radius:14px;background:var(--neblina);text-decoration:none;color:var(--tinta);border:2px solid transparent}
.panel-vis a:hover{border-color:var(--verde);background:#fff}
.panel-vis b{font:700 1.2rem/1.15 var(--f-titulo);color:var(--verde-osc)}
.panel-vis span{color:var(--gris);font-size:.94rem}
@media (max-width:760px){.panel-vis{grid-template-columns:1fr}}

/* especialidades en portada */
.esp-port{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.esp-tarj{display:grid;grid-template-rows:auto 1fr;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff}
.esp-tarj img{width:100%;aspect-ratio:16/8;object-fit:cover}
.esp-tarj div{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.6rem}
.esp-tarj.v div{background:var(--verde)}
.esp-tarj.c div{background:var(--cereza)}
.esp-tarj .cod{font:700 .9rem/1 var(--f-texto);letter-spacing:.14em;opacity:.85}
.esp-tarj h3{font-size:1.65rem}
.esp-tarj p{opacity:.92}
.esp-tarj .ir{margin-top:auto;font-weight:700;display:inline-flex;align-items:center;gap:.4rem}
.esp-tarj:hover .ir{text-decoration:underline}
@media (max-width:760px){.esp-port{grid-template-columns:1fr}}

/* línea de tiempo de comunicados */
.linea-tiempo{list-style:none;margin:0;padding:0;position:relative}
.linea-tiempo::before{content:"";position:absolute;left:96px;top:.5rem;bottom:.5rem;width:2px;background:var(--suave)}
.linea-tiempo li{display:grid;grid-template-columns:80px 32px minmax(0,1fr) 140px;gap:0 1rem;align-items:center;padding:.9rem 0}
.linea-tiempo time{text-align:right;font:700 1rem/1.1 var(--f-titulo);color:var(--gris)}
.linea-tiempo time b{display:block;font-size:1.7rem;color:var(--verde-osc)}
.linea-tiempo .punto{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--hoja);justify-self:center;position:relative;z-index:1}
.linea-tiempo li:first-child .punto{border-color:var(--cereza);background:var(--cereza)}
.linea-tiempo a{font:700 1.2rem/1.2 var(--f-titulo);color:var(--tinta);text-decoration:none}
.linea-tiempo a:hover{color:var(--cereza)}
.linea-tiempo small{display:block;color:var(--gris);font:500 .88rem var(--f-texto);margin-top:.15rem}
.linea-tiempo img{width:140px;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
@media (max-width:640px){.linea-tiempo::before{left:66px}.linea-tiempo li{grid-template-columns:50px 32px minmax(0,1fr)}.linea-tiempo img{display:none}.linea-tiempo time b{font-size:1.35rem}}

/* mosaico de fotos */
.mosaico{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;background:var(--papel)}
.mosaico img{width:100%;height:100%;object-fit:cover;min-height:0}
.mosaico img:first-child{grid-row:1/3}
.mosaico figcaption{grid-column:2/4;align-self:end;background:var(--verde-osc);color:#D7E4D9;padding:.75rem 1rem;font-size:.95rem}
.mosaico-wrap{display:grid}
@media (max-width:700px){.mosaico{grid-template-columns:1fr 1fr;grid-template-rows:auto}.mosaico img:first-child{grid-row:auto;grid-column:1/3}.mosaico figcaption{grid-column:1/3}}

.cinta-cereza{background:var(--cereza);color:#fff}
.cinta-cereza .contenedor{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:center;padding-block:3rem}
.cinta-cereza p{opacity:.92;margin:.75rem 0 1.5rem;max-width:52ch}
.cinta-cereza img{border-radius:18px;aspect-ratio:16/10;object-fit:cover;width:100%}
@media (max-width:760px){.cinta-cereza .contenedor{grid-template-columns:1fr}}

/* ---------- bloques compartidos (páginas internas) ---------- */
.seccion{padding-block:3.5rem}
.seccion.banda{background:var(--neblina)}
.titulo-sec{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}
.titulo-sec a{font-weight:700;text-decoration:none;display:inline-flex;gap:.35rem;align-items:center;color:var(--cereza)}
.titulo-sec a:hover{text-decoration:underline}
.lead{font-size:1.18rem;max-width:60ch;color:#33443A}
.portadilla{background:var(--verde);color:#fff;position:relative;overflow:hidden}
.portadilla .contenedor{padding-block:3rem 2.75rem;position:relative;z-index:1}
.portadilla .miga{font-size:.9rem;color:#BFD3C3;margin-bottom:.75rem}
.portadilla .miga a{color:#fff}
.portadilla p.lead{color:#DCE8DE;margin-top:1rem}
.portadilla.con-foto{background-size:cover;background-position:center}
.portadilla.con-foto::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,55,38,.95) 0 50%,rgba(21,55,38,.55))}
.portadilla::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--cereza) 0 33%,var(--hoja) 33% 66%,var(--azul-escudo) 66%)}
.dos-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}
@media (max-width:820px){.dos-col{grid-template-columns:1fr;gap:2rem}}
.texto{max-width:66ch}
.texto p+p{margin-top:1rem}
.etiqueta{display:block;font:600 .85rem/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--cereza);margin-bottom:.6rem}
.cita-grande{font:600 clamp(1.4rem,2.6vw,1.9rem)/1.3 var(--f-titulo);color:var(--verde-osc);background:var(--neblina);border-radius:18px;padding:1.5rem 1.6rem}
.cita-grande.azul{background:var(--hoja-clara)}
.personas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.persona{display:grid;grid-template-columns:60px minmax(0,1fr);gap:1rem;align-items:center;padding:1rem;border-radius:14px;background:var(--neblina)}
.inicial{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:#fff;font:700 1.35rem/1 var(--f-titulo)}
.persona:nth-child(2n) .inicial{background:var(--cereza)}
.persona b{display:block;font:700 1.15rem/1.2 var(--f-titulo)}
.persona span{color:var(--gris);font-size:.92rem}
.documento{display:flex;gap:1.25rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff;border-radius:18px;padding:1.4rem 1.6rem;border:2px solid var(--suave)}
.documento b{font:700 1.4rem/1.15 var(--f-titulo)}
.esp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:3rem;padding-block:3.5rem;border-bottom:2px solid var(--suave)}
.esp:last-of-type{border-bottom:0}
.esp img{border-radius:14px;width:100%;aspect-ratio:16/9;object-fit:cover}
.esp .codigo{font:700 2.6rem/1 var(--f-titulo);color:var(--verde)}
.esp.r .codigo{color:var(--cereza)}
.esp aside{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
@media (max-width:860px){.esp{grid-template-columns:1fr;gap:1.5rem}}
.verbos{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.verbos li{background:var(--hoja-clara);color:var(--verde-osc);border-radius:999px;padding:.25rem .8rem;font-weight:700;font-size:.92rem}
.otras{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.otras>div{background:var(--neblina);border-radius:18px;padding:1.4rem 1.5rem}
.otras h3{text-transform:none!important}
@media (max-width:700px){.otras{grid-template-columns:1fr}}
.filtros{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.filtros button{border:2px solid var(--verde);background:transparent;color:var(--verde);border-radius:999px;font:700 .95rem/1 var(--f-texto);padding:.55rem 1rem;cursor:pointer}
.filtros button[aria-pressed="true"]{background:var(--verde);color:#fff}
.lista-noticias{display:grid;gap:1rem}
.item-noticia{display:grid;grid-template-columns:96px minmax(0,1fr) 200px;gap:1.25rem;align-items:center;padding:1rem;border-radius:16px;background:var(--neblina)}
.fecha-bloque{text-align:center;background:#fff;border-radius:12px;padding:.6rem .3rem;font-family:var(--f-titulo)}
.fecha-bloque b{display:block;font-size:2.2rem;line-height:1;color:var(--verde-osc);font-variant-numeric:tabular-nums}
.fecha-bloque span{font-size:.85rem;color:var(--cereza);font-weight:700;text-transform:uppercase}
.item-noticia h3{font-size:1.3rem;text-transform:none!important}
.item-noticia .cat{display:inline-block;margin-top:.45rem;font-size:.82rem;font-weight:700;background:var(--hoja-clara);color:var(--verde-osc);padding:.15rem .6rem;border-radius:999px}
.item-noticia img{border-radius:10px;aspect-ratio:3/2;object-fit:cover;width:100%}
@media (max-width:700px){.item-noticia{grid-template-columns:76px minmax(0,1fr)}.item-noticia img{grid-column:1/-1}}
.directorio{display:grid;gap:.6rem}
.directorio a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:14px;background:var(--neblina);text-decoration:none;color:var(--tinta)}
.directorio a:hover{background:var(--hoja-clara)}
.directorio a b{display:block;font:700 1.2rem/1.2 var(--f-titulo);color:var(--verde-osc)}
.directorio a span span{color:var(--gris);font-size:.92rem}
.directorio a svg{color:var(--cereza)}
.formulario{display:grid;gap:1rem;background:var(--neblina);border-radius:18px;padding:1.6rem}
.formulario h3{text-transform:none!important}
.formulario label{display:grid;gap:.3rem;font-weight:700}
input,textarea,select{font:inherit;color:var(--tinta);background:#fff;border:2px solid var(--suave);border-radius:10px;padding:.65rem .8rem;width:100%}
input:focus,textarea:focus,select:focus{outline:3px solid var(--foco);outline-offset:0;border-color:var(--verde)}
.confirmacion{background:var(--ok-bg);color:var(--ok);border-radius:10px;padding:.85rem 1rem;font-weight:700}
dl.datos{margin:0;display:grid;gap:.6rem}
dl.datos div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1rem;padding:.9rem 1.1rem;border-radius:12px;background:var(--neblina)}
dl.datos dt{font-weight:700;color:var(--gris)}
dl.datos dd{margin:0;font-weight:700;user-select:all;overflow-wrap:anywhere}
@media (max-width:480px){dl.datos div{grid-template-columns:1fr;gap:.15rem}}

/* pie */
footer.pie{background:var(--neblina);border-top:6px solid var(--verde);font-size:.95rem}
.pie-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-block:2.5rem 2rem}
.pie h4{font-size:1.15rem;color:var(--verde-osc);margin-bottom:.6rem}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.pie a{color:var(--tinta);text-decoration:none}
.pie a:hover{color:var(--cereza);text-decoration:underline}
.pie .lema{font:italic 600 1.3rem/1.2 var(--f-titulo);color:var(--verde)}
.pie-final{border-top:1px solid var(--suave);padding-block:1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--gris)}
@media (max-width:760px){.pie-grid{grid-template-columns:1fr}}
.aviso-flotante{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));background:var(--verde-osc);color:#fff;padding:.75rem 1.2rem;border-radius:999px;font-weight:700;z-index:400}
