/*
Theme Name: Algargos
Theme URI: https://algargos.com
Author: MasLeads Digital
Description: Tema a medida para algargos.com. Sin page builders, sin frameworks: HTML semántico, CSS propio y JavaScript sin librerías. Arte, Historia y Geografía para Bachillerato e IB.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: algargos
*/

/* =========================================================
   1. Variables
   ========================================================= */
:root{
  --papel:#EFE3CC;
  --papel-alt:#E6D6B8;
  --papel-hueco:#F6EEDD;
  --tinta:#2B2118;
  --tinta-2:#6B5B47;
  --noche:#14324A;
  --noche-alt:#0E2536;
  --acento:#A8632B;
  --acento-2:#C89A4A;
  --fondo-cab:#14324A;
  --linea:rgba(43,33,24,.18);
  --linea-fuerte:rgba(43,33,24,.38);
  --sobre-noche:#EFE3CC;
  --trama:none;
  --trama-tam:40px 40px;
  --trama-cab:none;
  --max:1180px;
  --paso:clamp(56px,7vw,104px);
  --barra:64px;
  --cab-alt:62px;
}

/* =========================================================
   2. Base
   ========================================================= */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--papel);color:var(--tinta);
  font-family:'Lora',Georgia,serif;font-size:1.05rem;line-height:1.75;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
h1,h2,h3,h4{font-family:'Marcellus',Georgia,serif;font-weight:400;line-height:1.15}
.env{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-9999px;top:0;z-index:100;background:var(--noche);color:var(--papel);padding:12px 20px}
.saltar:focus{left:0}

/* =========================================================
   3. Cabecera
   ========================================================= */
.cabecera{
  position:sticky;top:0;z-index:60;
  background:rgba(239,227,204,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;transition:border-color .3s ease;
}
.cabecera.fija{border-bottom-color:var(--linea)}
.cabecera .env{display:flex;align-items:center;gap:22px;height:74px;transition:height .3s ease}
.cabecera.fija .env{height:var(--cab-alt)}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;margin-right:auto}
.logo img{max-height:42px;width:auto}
.logo-nombre{font-family:'Marcellus',serif;font-size:1.5rem;letter-spacing:.06em}
.logo-nombre span{color:var(--acento)}
.logo-tag{font-size:.72rem;color:var(--tinta-2);letter-spacing:.08em;display:none}
@media(min-width:1080px){.logo-tag{display:block}}

.nav{display:none;gap:24px;align-items:center}
@media(min-width:1020px){.nav{display:flex}}
.nav ul{list-style:none;display:flex;gap:24px;align-items:center}
.nav li{position:relative}
.nav a{font-family:'Marcellus',serif;font-size:.94rem;text-decoration:none;padding:4px 0;display:block;position:relative}
.nav > ul > li > a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--acento);transition:width .25s ease}
.nav > ul > li > a:hover::after,.nav > ul > li > a:focus-visible::after{width:100%}
.nav .sub-menu{
  position:absolute;top:100%;left:-18px;min-width:260px;list-style:none;display:block;
  background:var(--papel-hueco);border:1px solid var(--linea);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.nav li:hover > .sub-menu,.nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav .sub-menu a{padding:9px 14px}
.nav .sub-menu a:hover{background:var(--papel-alt);color:var(--acento)}

.utiles{display:flex;align-items:center;gap:8px}
.icono{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--linea);border-radius:50%;
 transition:border-color .2s ease,background .2s ease}
.icono:hover{border-color:var(--linea-fuerte);background:var(--papel-alt)}
.icono svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.menu-movil{display:grid}
@media(min-width:1020px){.menu-movil{display:none}}
.nav-movil{display:none;border-top:1px solid var(--linea);background:var(--papel)}
.nav-movil.abierto{display:block}
.nav-movil ul{list-style:none;padding:12px 24px 20px}
.nav-movil .sub-menu{padding:0 0 0 16px}
.nav-movil a{display:block;padding:11px 0;text-decoration:none;font-family:'Marcellus',serif;border-bottom:1px solid var(--linea)}

/* =========================================================
   4. Botones y enlaces comunes
   ========================================================= */
.boton{
  display:inline-block;padding:14px 28px;text-decoration:none;
  font-family:'Marcellus',serif;font-size:.98rem;
  background:var(--acento-2);color:#17212C;border:1px solid var(--acento-2);
  transition:transform .2s ease,background .2s ease;
}
.boton:hover{background:#dcbe86;transform:translateY(-2px)}
.boton.linea{background:transparent;color:var(--sobre-noche);border-color:rgba(239,227,204,.4)}
.boton.linea:hover{background:rgba(239,227,204,.08);border-color:rgba(239,227,204,.75)}
.boton.oscura{background:var(--noche);color:var(--papel);border-color:var(--noche)}
.boton.oscura:hover{background:#1b4263}
.enlace-mas{font-family:'Marcellus',serif;font-size:.94rem;text-decoration:none;
 border-bottom:1px solid var(--acento);padding-bottom:2px;color:var(--acento);white-space:nowrap}

/* =========================================================
   5. Migas de pan
   ========================================================= */
.migas{font-size:.84rem;color:var(--tinta-2);padding:18px 0}
.migas ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.migas li::after{content:'›';margin-left:6px;opacity:.5}
.migas li:last-child::after{content:''}
.migas a{text-decoration:none}
.migas a:hover{color:var(--acento)}

/* =========================================================
   6. Tarjetas de artículo
   ========================================================= */
.rejilla{display:grid;gap:34px}
@media(min-width:700px){.rejilla{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.rejilla{grid-template-columns:repeat(3,1fr)}}
.tarjeta{display:flex;flex-direction:column;gap:13px}
.tarjeta .lam{position:relative;aspect-ratio:3/2;overflow:hidden;border:1px solid var(--linea);
 background-color:var(--papel-alt);background-image:var(--trama);background-size:var(--trama-tam)}
.tarjeta .lam img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tarjeta:hover .lam img{transform:scale(1.03)}
.tarjeta .etq{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 background:var(--papel);border:1px solid var(--linea);padding:9px 15px;
 font-family:'Marcellus',serif;font-size:.8rem;letter-spacing:.08em;color:var(--acento)}
.tarjeta-meta{font-size:.82rem;color:var(--tinta-2);display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.tarjeta-meta b{font-weight:400;color:var(--acento)}
.tarjeta-meta i{font-style:normal;opacity:.4}
.tarjeta h3{font-size:1.22rem;line-height:1.3}
.tarjeta h3 a{text-decoration:none}
.tarjeta:hover h3 a{text-decoration:underline;text-decoration-color:var(--acento)}
.tarjeta p{font-size:.94rem;color:var(--tinta-2);line-height:1.6}

/* =========================================================
   7. Secciones genéricas
   ========================================================= */
.seccion{padding:var(--paso) 0}
.seccion + .seccion{border-top:1px solid var(--linea)}
.titulo-bloque{margin-bottom:42px;max-width:64ch}
.titulo-bloque h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:12px}
.titulo-bloque p{color:var(--tinta-2)}
.fila-titulo{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;max-width:none}

/* =========================================================
   8. Paginación
   ========================================================= */
.paginacion{margin-top:56px;display:flex;justify-content:center}
.paginacion .page-numbers{
  display:inline-block;padding:9px 15px;margin:0 3px;text-decoration:none;
  font-family:'Marcellus',serif;font-size:.94rem;border:1px solid var(--linea);
}
.paginacion .current{background:var(--noche);color:var(--papel);border-color:var(--noche)}
.paginacion a:hover{border-color:var(--acento);color:var(--acento)}

/* =========================================================
   9. Pie
   ========================================================= */
.pie{background:var(--noche-alt);color:rgba(239,227,204,.78);padding:var(--paso) 0 36px}
.pie-rejilla{display:grid;gap:36px}
@media(min-width:760px){.pie-rejilla{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.pie h2{font-family:'Marcellus',serif;font-size:.96rem;color:var(--sobre-noche);margin-bottom:16px;letter-spacing:.05em}
.pie ul{list-style:none;display:grid;gap:9px;font-size:.94rem}
.pie a{text-decoration:none}
.pie a:hover{color:var(--acento-2)}
.pie-intro p{font-size:.95rem;max-width:40ch;margin-bottom:20px}
.redes{display:flex;flex-wrap:wrap;gap:10px}
.redes a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(239,227,204,.28);border-radius:50%;
 transition:border-color .2s ease,background .2s ease}
.redes a:hover{border-color:var(--acento-2);background:rgba(239,227,204,.06)}
.redes svg{width:17px;height:17px;fill:currentColor}
.pie-legal{margin-top:46px;padding-top:20px;border-top:1px solid rgba(239,227,204,.16);
 display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:.84rem;color:rgba(239,227,204,.55)}

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