/* Andalucía Solidaria con Palestina — hoja de estilos */
@font-face{font-family:"Fira Sans";src:url(fuentes/fira-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(fuentes/fira-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(fuentes/fira-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(fuentes/fira-sans-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Literata";src:url(fuentes/literata-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Literata";src:url(fuentes/literata-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Literata";src:url(fuentes/literata-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --verde:#00783c;      /* verde del logotipo, oscurecido para texto */
  --verde-claro:#e5f1ea;
  --rojo:#c8102e;       /* rojo del logotipo */
  --tinta:#1c2420;
  --gris:#58635d;
  --linea:#d8ddd9;
  --piedra:#f2f4f1;
  --blanco:#fff;
  --sans:"Fira Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"Literata",Georgia,"Times New Roman",serif;
  --ancho:1180px;
  --medida:40rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--blanco);color:var(--tinta);font:400 1rem/1.55 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--rojo)}
:focus-visible{outline:3px solid var(--rojo);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--sans);line-height:1.15;margin:0 0 .5em;text-wrap:pretty}
h1{text-wrap:balance}
.saltar{position:absolute;left:-999px;top:0;background:var(--tinta);color:#fff;padding:.6rem 1rem;z-index:99}
.saltar:focus{left:1rem}

/* ---------- cabecera ---------- */
.cabecera{border-bottom:1px solid var(--linea);background:var(--blanco);position:relative;z-index:20}
.cabecera::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--verde) 0 50%,var(--rojo) 50% 100%)}
.cabecera__in{max-width:var(--ancho);margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo img{width:150px}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;align-items:center}
.menu a,.menu summary{display:block;padding:.5rem .7rem;color:var(--tinta);text-decoration:none;font-weight:500;font-size:.95rem;border-radius:4px;cursor:pointer}
.menu summary{list-style:none}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"";display:inline-block;width:.4em;height:.4em;margin-left:.45em;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-.2em) rotate(45deg)}
.menu a:hover,.menu summary:hover{background:var(--piedra);color:var(--tinta)}
.menu .activo>a,.menu .activo>details>summary{color:var(--verde);box-shadow:inset 0 -2px 0 var(--verde);border-radius:0}
.menu a[aria-current]{color:var(--verde)}
.sub{position:relative}
.sub ul{list-style:none;margin:0;padding:.4rem;position:absolute;left:0;top:calc(100% + .35rem);min-width:14rem;background:var(--blanco);border:1px solid var(--linea);border-radius:6px;box-shadow:0 10px 30px rgba(28,36,32,.12)}
.sub ul a{font-weight:400}
.nav-movil{display:none}
@media (max-width:980px){
  .nav-escritorio{display:none}
  .nav-movil{display:block}
  .nav-movil>summary{list-style:none;width:44px;height:44px;display:grid;place-content:center;gap:5px;cursor:pointer;border:1px solid var(--linea);border-radius:6px}
  .nav-movil>summary::-webkit-details-marker{display:none}
  .nav-movil>summary span{display:block;width:20px;height:2px;background:var(--tinta);transition:transform .2s}
  .nav-movil[open]>summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-movil[open]>summary span:nth-child(2){opacity:0}
  .nav-movil[open]>summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-movil nav{position:absolute;left:0;right:0;top:100%;background:var(--blanco);border-bottom:1px solid var(--linea);padding:.5rem 1.25rem 1rem;box-shadow:0 12px 24px rgba(28,36,32,.1)}
  .nav-movil .menu{flex-direction:column;align-items:stretch}
  .nav-movil .menu a,.nav-movil .menu summary{padding:.75rem .25rem;font-size:1.05rem;border-bottom:1px solid var(--piedra)}
  .nav-movil .activo>a,.nav-movil .activo>details>summary{box-shadow:none}
  .nav-movil .sub ul{position:static;border:0;box-shadow:none;padding:0 0 0 1rem;min-width:0}
  .logo img{width:120px}
}

main{display:block}

/* ---------- portada ---------- */
.portada{position:relative;min-height:min(78vh,640px);display:flex;align-items:flex-end;color:#fff;background:#5e0c16;overflow:hidden}
.portada__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portada::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,5,10,0) 20%,rgba(40,5,10,.82) 100%)}
.portada__txt{position:relative;z-index:1;max-width:var(--ancho);width:100%;margin:0 auto;padding:4rem 1.25rem 3.5rem}
.portada h1{font-size:clamp(2.6rem,7.5vw,6rem);font-weight:800;letter-spacing:-.025em;line-height:.95;max-width:11ch;margin-bottom:1.5rem}
.portada p{max-width:36rem;font-size:1.15rem;line-height:1.5}
.boton{display:inline-block;background:var(--verde);color:#fff;text-decoration:none;font-weight:700;padding:.8rem 1.3rem;border-radius:4px}
.boton:hover{background:var(--tinta);color:#fff}
.boton--claro{background:#fff;color:var(--tinta)}
.boton--claro:hover{background:var(--verde);color:#fff}

.inicio-actualidad,.inicio-temas,.cab-seccion,.rejilla--listado,.paginas,.mas{max-width:var(--ancho);margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}
.inicio-actualidad{padding-top:3.5rem;padding-bottom:3rem}
.titular{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:2px solid var(--tinta);margin-bottom:1.75rem;padding-bottom:.5rem}
.titular h2,.inicio-temas>h2,.mas h2{font-size:1.9rem;font-weight:800;margin:0}
.titular a{font-weight:500}

/* ---------- tarjetas ---------- */
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:2.25rem 1.75rem}
.tarjeta{display:flex;flex-direction:column;gap:.85rem}
.tarjeta__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--piedra)}
.tarjeta__img img{width:100%;height:100%;object-fit:cover}
.tarjeta h3{font-size:1.2rem;font-weight:700;margin:.2rem 0 .45rem}
.tarjeta h3 a{color:var(--tinta);text-decoration:none}
.tarjeta h3 a:hover{color:var(--verde);text-decoration:underline}
.tarjeta p{margin:0;color:var(--gris);font-size:.95rem}
.tarjeta--sin-img{border-top:3px solid var(--verde);padding-top:.75rem}
.meta{font-size:.85rem;color:var(--gris);display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.tarjeta .meta{margin:0}
.etiqueta{color:var(--rojo);font-weight:700;text-decoration:none}
a.etiqueta:hover{text-decoration:underline}
.tarjeta--grande{display:grid;grid-template-columns:1.35fr 1fr;gap:2rem;align-items:center;margin-bottom:2.75rem;padding-bottom:2.75rem;border-bottom:1px solid var(--linea)}
.tarjeta--grande h3{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-.01em}
.tarjeta--grande p{font-size:1.05rem}
@media (max-width:760px){.tarjeta--grande{grid-template-columns:1fr;gap:1rem}}

/* ---------- temas ---------- */
.inicio-temas{padding-top:3rem;padding-bottom:3.5rem}
.inicio-temas>h2{border-bottom:2px solid var(--tinta);padding-bottom:.5rem;margin-bottom:0}
.temas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));column-gap:2.5rem}
.temas a{display:block;padding:1.25rem 0;border-bottom:1px solid var(--linea);text-decoration:none;color:var(--tinta)}
.temas strong{display:block;font-size:1.3rem;color:var(--verde);margin-bottom:.25rem}
.temas span{color:var(--gris)}
.temas a:hover strong{color:var(--rojo);text-decoration:underline}

.inicio-video{background:var(--tinta);color:#fff;padding:3.5rem 1.25rem}
.inicio-video__in{max-width:calc(var(--ancho) - 2.5rem);margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:2.5rem;align-items:center}
@media (max-width:860px){.inicio-video__in{grid-template-columns:1fr;gap:1rem}}
.inicio-video h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}
.inicio-video p{color:#cdd6d0;margin:0}
.inicio-video .video{margin:0}

/* ---------- vídeo ---------- */
.video{position:relative;aspect-ratio:16/9;background:#000;margin:1.75rem 0}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- cabeceras de sección ---------- */
.cab-seccion{padding-top:3rem;padding-bottom:2rem}
.cab-seccion h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.02em;margin:0}
.cab-seccion p{color:var(--gris);font-size:1.15rem;max-width:40rem;margin:.75rem 0 0}
.rejilla--listado{padding-bottom:2rem}
.paginas{display:flex;justify-content:center;gap:1.5rem;align-items:center;padding-top:1rem;padding-bottom:4rem;flex-wrap:wrap}
.paginas a{font-weight:700;border:1px solid var(--linea);padding:.6rem 1.1rem;border-radius:4px;text-decoration:none}
.paginas a:hover{border-color:var(--verde);background:var(--verde-claro);color:var(--verde)}
.paginas span{color:var(--gris)}

/* ---------- artículo ---------- */
.articulo{padding:3rem 1.25rem 2rem}
.articulo__cab{max-width:52rem;margin:0 auto 2rem}
.articulo__cab h1{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;letter-spacing:-.02em;margin-top:.75rem}
.articulo__portada{max-width:62rem;margin:0 auto 2.5rem}
.articulo__portada img{width:100%;max-height:640px;object-fit:cover}
.prosa{max-width:var(--medida);margin:0 auto;font-family:var(--serif);font-size:1.125rem;line-height:1.75}
.prosa p,.prosa ul,.prosa ol,.prosa blockquote{margin:0 0 1.25em}
.prosa h2{font-size:1.75rem;font-weight:700;margin:2.2em 0 .6em}
.prosa h3{font-size:1.35rem;font-weight:700;margin:1.8em 0 .5em}
.prosa h4{font-size:1.15rem;font-weight:700;margin:1.6em 0 .5em}
.prosa h5,.prosa h6{font-family:var(--sans);font-size:1rem;margin:1.4em 0 .4em}
.prosa img{margin:1.75rem auto}
.prosa figure{margin:2rem 0}
.prosa figcaption{font-family:var(--sans);font-size:.875rem;color:var(--gris);margin-top:-1rem}
.prosa blockquote{border-left:3px solid var(--rojo);padding-left:1.25rem;margin-left:0;font-style:italic}
.prosa hr{border:0;border-top:1px solid var(--linea);margin:2.5rem 0}
.prosa li{margin-bottom:.4em}
.prosa a{word-break:break-word}
.tabla{overflow-x:auto;margin:1.5rem 0}
.tabla table{border-collapse:collapse;font-family:var(--sans);font-size:.95rem;min-width:100%}
.tabla td,.tabla th{border:1px solid var(--linea);padding:.5rem .75rem;vertical-align:top}

.mas{border-top:2px solid var(--tinta);padding-top:2rem;padding-bottom:4rem;margin-top:2rem}
.mas h2{margin-bottom:1.75rem}

/* ---------- páginas de contenido ---------- */
.pagina{padding-bottom:3rem}
.pagina .cab-seccion{padding-bottom:1.5rem}
.pagina__portada{max-width:var(--ancho);margin:0 auto;padding:0 1.25rem}
.pagina__portada img{width:100%;max-height:520px;object-fit:cover}
.pagina__lema{max-width:var(--medida);margin:2rem auto 1rem;padding:0 1.25rem}
.pagina__lema .lema{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;line-height:1.25;color:var(--verde);margin:0 0 .75rem}
.pagina__lema p{color:var(--gris);font-size:1.1rem}
.prosa--pagina{max-width:var(--ancho);padding:0 1.25rem}
.prosa--pagina>*:not(.b-section){max-width:var(--medida);margin-left:auto;margin-right:auto}
.b-section{margin:2rem 0}
.b-section--tinte{background:var(--piedra);padding:1.5rem 1.75rem;border-radius:6px}
.b-section--tinte ul{list-style:none;padding:0;margin:0}
.b-section--tinte h4{font-family:var(--sans);margin:.3rem 0;font-size:1.05rem}
.b-row{display:flex;flex-wrap:wrap;gap:1.25rem 2.5rem;margin:0 auto}
.b-col{flex:1 1 100%;min-width:0}
.b-col--1_2{flex-basis:calc(50% - 1.25rem)}
.b-col--1_3{flex-basis:calc(33.33% - 1.7rem)}
.b-col--2_3{flex-basis:calc(66.66% - 1rem)}
.b-col--1_4{flex-basis:calc(25% - 1.9rem)}
.b-col--3_4{flex-basis:calc(75% - .7rem)}
.b-col--4_4{flex-basis:100%}
@media (max-width:760px){.b-col{flex-basis:100%!important}}
.b-image img{margin:0 auto;border-radius:4px}
.b-text>*:first-child{margin-top:0}
.b-slide{padding:1.5rem 0}
.b-tab{border-top:2px solid var(--tinta);padding-top:1rem;margin-top:2.5rem}
.b-tab h2{margin-top:0}
.galeria-pendiente{display:none}

/* ---------- pie ---------- */
.pie{background:var(--piedra);border-top:1px solid var(--linea);margin-top:0}
.pie__in{max-width:var(--ancho);margin:0 auto;padding:3rem 1.25rem 2rem;display:flex;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}
.pie__marca{max-width:22rem}
.pie__marca img{width:150px;margin-bottom:1rem}
.pie__marca p{color:var(--gris);margin:0}
.pie__apoyo>p{font-size:.85rem;color:var(--gris);margin:0 0 .75rem}
.pie__logos{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.pie__logos img{height:72px;width:auto;background:#fff;padding:.4rem;border-radius:4px}
.pie__legal{max-width:calc(var(--ancho) - 2.5rem);margin:0 auto;padding:1.25rem 0;border-top:1px solid var(--linea);display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9rem;color:var(--gris)}
.pie__legal a{color:var(--gris)}

.error404{padding-bottom:6rem}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- etiquetas y comentarios ---------- */
.etiquetas{font-family:var(--sans);font-size:.95rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--linea);display:flex;flex-wrap:wrap;gap:.4rem .5rem;align-items:center}
.etiquetas span{color:var(--gris);margin-right:.25rem}
.etiquetas a{background:var(--verde-claro);color:var(--verde);padding:.2rem .6rem;border-radius:3px;text-decoration:none}
.etiquetas a:hover{background:var(--verde);color:#fff}
.comentarios{font-family:var(--sans);margin-top:2.5rem}
.comentarios h2{font-size:1.4rem;margin:0 0 1rem}
.comentarios ol{list-style:none;padding:0;margin:0}
.comentarios li{border-left:3px solid var(--linea);padding:.25rem 0 .25rem 1rem;margin-bottom:1.5rem;font-size:1rem;line-height:1.6}
.comentario__autor{margin:0 0 .35rem;color:var(--gris);font-size:.9rem}
.comentario__autor strong{color:var(--tinta)}
.comentarios li p{margin:0 0 .6em}
.antetitulo{margin:0 0 .4rem;color:var(--rojo);font-weight:700}

/* ---------- galería ---------- */
.galeria-indice{background:var(--piedra);border-radius:6px;padding:1.25rem 1.5rem;margin:0 auto 2.5rem}
.prosa--pagina>.galeria-indice{max-width:none}
.galeria-indice ul{list-style:none;margin:0;padding:0;columns:3 15rem;column-gap:2rem;font-family:var(--sans);font-size:.95rem}
.galeria-indice li{margin:0 0 .45rem;break-inside:avoid}
.es-galeria .prosa--pagina>h2,.es-galeria .prosa--pagina>h3,.es-galeria .prosa--pagina>p{max-width:none}
.es-galeria .prosa--pagina>h2{border-top:2px solid var(--tinta);padding-top:1rem;margin-top:3rem}
.prosa--pagina>.galeria{max-width:none}
.galeria{list-style:none;margin:1rem 0 2.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}
.galeria li{margin:0}
.galeria a{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--piedra);border-radius:3px}
.galeria img{width:100%;height:100%;object-fit:cover;margin:0;transition:transform .25s}
.galeria a:hover img{transform:scale(1.04)}
.galeria a:focus-visible{outline-offset:-3px}
.prosa--pagina>dialog.visor,.visor{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,14,12,.95);color:#fff}
.visor[open]{display:flex;align-items:center;justify-content:center}
.visor::backdrop{background:rgba(10,14,12,.95)}
.visor figure{margin:0;max-width:calc(100vw - 8rem);text-align:center}
.visor img{max-width:100%;max-height:calc(100vh - 6rem);margin:0 auto;object-fit:contain}
.visor figcaption{font-family:var(--sans);font-size:.9rem;color:#cdd6d0;margin-top:.75rem}
.visor button{position:absolute;background:transparent;color:#fff;border:0;font-size:2.6rem;line-height:1;cursor:pointer;width:3.5rem;height:3.5rem;border-radius:50%}
.visor button:hover{background:rgba(255,255,255,.12)}
.visor__cerrar{top:1rem;right:1rem}
.visor__ant{left:1rem;top:50%;transform:translateY(-50%)}
.visor__sig{right:1rem;top:50%;transform:translateY(-50%)}
@media (max-width:640px){.visor figure{max-width:100vw}.visor__ant,.visor__sig{top:auto;bottom:1rem;transform:none}}
@media (prefers-reduced-motion:reduce){.galeria img{transition:none}}
