/*
Theme Name: CAS · FASA
Description: Tema del sitio de la Cámara Argentina de Supermercados y FASA. Liviano, sin constructores visuales.
Author: DATAMEK
Version: 1.0.0
Requires PHP: 8.1
Text Domain: cas
*/

:root{
  --azul:#0b3d91; --azul-osc:#082c69; --azul-claro:#e8effb; --celeste:#2f7de1;
  --oro:#f2a900; --oro-claro:#fff6e0; --texto:#1b2433; --gris:#5d6b80; --borde:#e3e8f0;
  --fondo:#f6f8fb; --blanco:#fff; --radio:14px; --sombra:0 6px 24px rgba(16,40,90,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--texto);background:var(--fondo);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.angosto{max-width:820px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Header */
.site-header{background:var(--blanco);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:20}
.admin-bar .site-header{top:32px}
.nav{display:flex;align-items:center;gap:24px;height:76px}
.logos{display:flex;align-items:center;gap:14px;height:48px;flex:none}
.logos img{height:48px;width:auto}
.logos .sep{width:1px;height:32px;background:var(--borde)}
.menu{display:flex;gap:2px;margin-left:auto;list-style:none;align-items:center}
.menu li{position:relative}
.menu a{display:block;padding:9px 13px;border-radius:9px;font-size:14.5px;font-weight:500;color:#33415a}
.menu a:hover,.menu .current-menu-item>a,.menu .current-menu-parent>a{background:var(--azul-claro);color:var(--azul)}
.menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--borde);border-radius:12px;box-shadow:var(--sombra);padding:8px;min-width:230px;list-style:none}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}
.menu .menu-item-has-children>a::after{content:" ▾";font-size:11px}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font:inherit;font-weight:600;border-radius:10px;padding:11px 18px;background:var(--azul);color:#fff;font-size:15px}
.btn:hover{background:var(--azul-osc)}
.btn.sec{background:#fff;color:var(--azul);border:1.5px solid var(--azul)}
.btn.sec:hover{background:var(--azul-claro)}
.hamb{display:none;margin-left:auto;background:none;border:0;font-size:26px;cursor:pointer;color:var(--texto)}

/* Hero portada */
.hero{position:relative;color:#fff;background:linear-gradient(100deg,rgba(8,44,105,.94) 0%,rgba(11,61,145,.8) 55%,rgba(11,61,145,.4) 100%),var(--hero-img,none) center/cover,var(--azul)}
.hero .wrap{padding-top:76px;padding-bottom:96px}
.hero h1{font-size:44px;line-height:1.1;font-weight:800;max-width:660px;letter-spacing:-.5px}
.hero p{font-size:18px;opacity:.92;max-width:580px;margin:16px 0 28px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn.sec{background:transparent;color:#fff;border-color:#fff}
.hero .btn.sec:hover{background:rgba(255,255,255,.12)}
.hero .nota{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.14);border-radius:30px;padding:6px 14px 6px 6px;font-size:13.5px;margin-bottom:18px}
.hero .nota b{background:var(--oro);color:#3d2a00;border-radius:20px;padding:2px 9px;font-size:12px}

.sec-t{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:56px 0 20px}
.sec-t h2{font-size:26px;letter-spacing:-.3px}
.sec-t a{color:var(--celeste);font-weight:600;font-size:14.5px}

/* Accesos */
.accesos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-48px;position:relative}
.acc{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:22px;display:flex;flex-direction:column;gap:6px;transition:transform .15s}
.acc:hover{transform:translateY(-3px)}
.acc i{font-style:normal;font-size:26px}
.acc b{font-size:16px}
.acc small{color:var(--gris);font-size:13.5px}

/* Tarjetas de noticias */
.grid-not{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.not{background:#fff;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);display:flex;flex-direction:column;transition:transform .15s}
.not:hover{transform:translateY(-3px)}
.not .img{aspect-ratio:16/10;background:#dfe6f1;overflow:hidden}
.not .img img{width:100%;height:100%;object-fit:cover}
.not .img.sin{display:grid;place-items:center;background:linear-gradient(135deg,var(--azul-claro),#fff)}
.not .img.sin img{width:38%;height:auto;object-fit:contain;opacity:.9}
.not.big{grid-row:span 2}
.not.big .img{aspect-ratio:auto;flex:1;min-height:260px}
.not .tx{padding:16px 18px 18px}
.tag{display:inline-block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--azul);background:var(--azul-claro);padding:3px 8px;border-radius:6px}
.not h3{font-size:16.5px;line-height:1.3;margin:8px 0 6px}
.not.big h3{font-size:22px}
.not time,.meta{font-size:13px;color:var(--gris)}

/* Banda directorio */
.banda{margin:64px 0;background:linear-gradient(120deg,var(--azul) 0%,#164fb0 100%);color:#fff;border-radius:22px;padding:40px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center}
.banda h2{font-size:30px;line-height:1.15}
.banda p{opacity:.9;margin:12px 0 22px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat{background:rgba(255,255,255,.1);border-radius:14px;padding:18px;text-align:center}
.stat b{display:block;font-size:28px}
.stat small{opacity:.85;font-size:13px}
.buscador{display:flex;background:#fff;border-radius:12px;padding:6px;gap:6px;box-shadow:var(--sombra)}
.buscador input{flex:1;border:0;outline:0;font:inherit;font-size:15.5px;padding:10px 12px;color:var(--texto);min-width:0;background:transparent}

/* Tarjetas genéricas */
.card{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:26px}
.card h3{font-size:19px;margin-bottom:8px;color:var(--azul)}
.card p{color:var(--gris);font-size:14.5px;margin-bottom:14px}
.card .mas{font-weight:600;color:var(--celeste);font-size:14.5px}
.card .lg{height:60px;margin-bottom:14px}
.card .lg img{height:100%;width:auto}

/* Revista */
.revistas{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.rev{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.rev .tapa{aspect-ratio:3/4;background:#e7ecf4;overflow:hidden}
.rev .tapa img{width:100%;height:100%;object-fit:cover}
.rev.ancha .tapa{aspect-ratio:16/10}
.rev .tx{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.rev h3{font-size:15.5px;line-height:1.3}
.rev .btn{margin-top:auto;justify-content:center;padding:9px 12px;font-size:14px}

/* Sponsors */
.sponsors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.spon{background:#fff;border-radius:12px;border:1px solid var(--borde);overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:2/1;transition:box-shadow .15s}
.spon:hover{box-shadow:var(--sombra)}
.spon{padding:10px}
.spon img{width:100%;height:100%;object-fit:contain}

/* Cabecera de páginas internas */
.cab{background:linear-gradient(100deg,var(--azul-osc),var(--azul));color:#fff}
.cab .wrap{padding-top:44px;padding-bottom:44px}
.cab h1{font-size:34px;line-height:1.15;letter-spacing:-.3px}
.cab p{opacity:.9;margin-top:8px;max-width:680px}
.cab .tag{background:rgba(255,255,255,.16);color:#fff}
.miga{font-size:13px;opacity:.8;margin-bottom:10px}
.miga a:hover{text-decoration:underline}

/* Contenido de entradas y páginas */
.contenido{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:36px 40px;margin:-28px auto 0;position:relative}
.contenido > * + *{margin-top:1em}
.contenido h2,.contenido h3,.contenido h4{line-height:1.3;color:var(--azul-osc);margin-top:1.5em}
.contenido h2{font-size:24px}.contenido h3{font-size:20px}.contenido h4{font-size:17px}
.contenido p,.contenido li{font-size:16.5px;color:#2a3446}
.contenido ul,.contenido ol{padding-left:1.4em}
.contenido a{color:var(--celeste);text-decoration:underline}
.contenido img{border-radius:10px;margin:1.2em auto}
.contenido table{width:100%;border-collapse:collapse;font-size:15px}
.contenido td,.contenido th{border:1px solid var(--borde);padding:8px}
.contenido iframe{max-width:100%}
.contenido figure{margin:1.2em 0}
.destacada{border-radius:var(--radio);overflow:hidden;margin:-28px 0 0;position:relative;box-shadow:var(--sombra)}
.destacada + .contenido{margin-top:24px}
.compartir{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--borde);font-size:14px;color:var(--gris)}
.compartir a{border:1px solid var(--borde);border-radius:8px;padding:6px 12px;color:var(--texto);text-decoration:none;font-weight:600}

/* Listados */
.filtro-cats{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 8px}
.filtro-cats a{padding:8px 14px;border-radius:20px;background:#fff;border:1px solid var(--borde);font-size:14px;font-weight:600;color:#33415a}
.filtro-cats a.on,.filtro-cats a:hover{background:var(--azul);color:#fff;border-color:var(--azul)}
.paginas{display:flex;gap:6px;justify-content:center;margin:40px 0 20px;flex-wrap:wrap}
.paginas .page-numbers{min-width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#fff;border:1px solid var(--borde);font-weight:600;font-size:14px;padding:0 10px}
.paginas .current{background:var(--azul);color:#fff;border-color:var(--azul)}
.vacio{background:#fff;border-radius:12px;padding:40px;text-align:center;color:var(--gris)}

/* Entidades */
.entidades{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.entidad{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:22px;display:flex;flex-direction:column;gap:10px}
.entidad .lg{height:64px;display:flex;align-items:center}
.entidad .lg img{max-height:64px;width:auto}
.entidad .lg .sigla{font-size:26px;font-weight:800;color:var(--azul)}
.entidad h3{font-size:16px;line-height:1.3}
.dato{display:flex;gap:8px;font-size:14px;color:#3b475b;word-break:break-word}
.dato i{font-style:normal;flex:none}
.mapa{border:0;width:100%;height:260px;border-radius:12px}

/* Directorio */
.dir{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:28px 0 60px}
.filtros{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:20px;align-self:start;position:sticky;top:96px}
.filtros h4{font-size:14px;margin:18px 0 8px}
.filtros h4:first-child{margin-top:0}
.filtros label{display:flex;gap:8px;font-size:14px;padding:4px 0;cursor:pointer;color:#33415a}
.grid-emp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.emp{background:#fff;border-radius:12px;border:1px solid var(--borde);padding:16px;display:flex;gap:14px;transition:.15s}
.emp:hover{border-color:var(--celeste);box-shadow:var(--sombra)}
.emp .av{width:56px;height:56px;border-radius:12px;flex:none;overflow:hidden;background:var(--azul-claro);display:grid;place-items:center;font-weight:800;color:var(--azul)}
.emp .av img{width:100%;height:100%;object-fit:contain;background:#fff}
.emp h4{font-size:15px;line-height:1.25}
.emp p{font-size:13px;color:#3b475b;margin-top:4px}
.ficha{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;padding:0 0 60px}
.ficha-logo{width:140px;height:140px;border-radius:18px;background:#fff;box-shadow:var(--sombra);overflow:hidden;flex:none}
.ficha-logo img{width:100%;height:100%;object-fit:contain}

/* Contacto */
.form label{display:block;font-weight:600;font-size:14px;margin:14px 0 6px}
.form input,.form textarea,.form select{width:100%;padding:11px 12px;border:1px solid var(--borde);border-radius:10px;font:inherit;font-size:15px;background:#fff}
.form textarea{min-height:140px}
.ok{background:#e6f6ec;color:#1d6b3a;border-radius:10px;padding:14px 16px;margin-bottom:16px;font-weight:600}

/* Footer */
.site-footer{background:#0a1f44;color:#c6d1e4;margin-top:72px}
.site-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-top:48px;padding-bottom:40px}
.site-footer h5{color:#fff;font-size:14.5px;margin-bottom:12px}
.site-footer a{display:block;font-size:14px;padding:3px 0;opacity:.85}
.site-footer a:hover{opacity:1}
.foot-logos{display:inline-flex;gap:14px;align-items:center;background:#fff;border-radius:12px;padding:10px 14px}
.foot-logos img{height:40px;width:auto}
.copy{border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:12.5px;padding:16px;color:#8fa0bd}

@media (max-width:1100px){.logos .lg-x{display:none}}
@media (max-width:960px){
  .logos,.logos img{height:38px}
  .menu{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px;border-bottom:1px solid var(--borde);max-height:80vh;overflow:auto}
  .menu.abierto{display:flex}
  .menu .sub-menu{display:block;position:static;box-shadow:none;border:0;padding:0 0 0 14px}
  .hamb{display:block}
  .nav .btn{display:none}
  .accesos,.revistas,.sponsors{grid-template-columns:repeat(2,1fr)}
  .grid-not,.grid-3,.entidades,.grid-emp{grid-template-columns:1fr 1fr}
  .not.big{grid-column:span 2;grid-row:auto}
  .banda,.ficha,.dir{grid-template-columns:1fr}
  .filtros{position:static}
  .site-footer .wrap{grid-template-columns:1fr 1fr}
  .contenido{padding:26px 22px}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  .hero h1{font-size:31px}
  .cab h1{font-size:27px}
  .grid-not,.grid-3,.entidades,.grid-emp,.accesos{grid-template-columns:1fr}
  .not.big{grid-column:auto}
  .banda{padding:26px}
  .site-footer .wrap{grid-template-columns:1fr}
}
