/*
Theme Name: Complejo Educativo Caracoles
Theme URI: https://example.com/
Author: Complejo Educativo Caracoles
Description: Tema institucional para el Complejo Educativo Caracoles de Sierra Gorda. Incluye portada, identidad institucional, oferta educativa, planes y programas, noticias, documentos y contacto.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: cec
*/

:root {
  --cec-blue:#173f82;
  --cec-blue-2:#0d6fb8;
  --cec-sky:#eaf5fb;
  --cec-yellow:#f6c500;
  --cec-red:#b82f35;
  --cec-teal:#087f83;
  --cec-ink:#17243b;
  --cec-muted:#5b6778;
  --cec-white:#fff;
  --cec-sand:#f7f1e7;
  --cec-shadow:0 16px 40px rgba(17,42,80,.12);
  --cec-radius:22px;
  --cec-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cec-ink);background:#fff;line-height:1.65}
a{color:var(--cec-blue-2);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto}.container{width:min(calc(100% - 34px),var(--cec-max));margin-inline:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:9999}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,63,130,.1)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;color:var(--cec-ink);font-weight:850;line-height:1.05}.brand img{width:64px;height:64px;object-fit:contain}.brand small{display:block;color:var(--cec-muted);font-weight:650;margin-top:6px}
.nav{margin-left:auto}.nav ul{display:flex;gap:20px;align-items:center;list-style:none;padding:0;margin:0}.nav a{color:var(--cec-ink);font-size:.92rem;font-weight:750}.nav a:hover{color:var(--cec-blue-2);text-decoration:none}.menu-toggle{display:none;border:0;background:var(--cec-blue);color:#fff;border-radius:10px;padding:9px 12px;font-weight:800}
.hero{position:relative;min-height:690px;display:grid;align-items:center;overflow:hidden;background:linear-gradient(110deg,rgba(8,35,76,.93) 0%,rgba(23,63,130,.82) 48%,rgba(8,127,131,.38) 100%),url('assets/images/establecimiento.jpeg') center/cover no-repeat;color:#fff}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(180deg,transparent,#fff)}.hero-content{position:relative;z-index:2;max-width:760px;padding:100px 0 150px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--cec-yellow);font-size:.82rem}.hero h1{font-size:clamp(2.75rem,6vw,5.4rem);line-height:.98;margin:.25em 0 .3em;letter-spacing:-.045em}.hero p{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:680px;color:#eef7ff}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:850;border:2px solid transparent;transition:.2s}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--cec-yellow);color:#17243b}.btn-secondary{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.quick-links{position:relative;z-index:3;margin-top:-80px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.quick-card{background:#fff;border-radius:18px;padding:22px;box-shadow:var(--cec-shadow);border-top:5px solid var(--cec-yellow);color:var(--cec-ink)}.quick-card strong{display:block;font-size:1.05rem}.quick-card span{color:var(--cec-muted);font-size:.9rem}.quick-card:hover{text-decoration:none;transform:translateY(-3px)}
section{padding:92px 0}.section-head{max-width:760px;margin-bottom:40px}.section-head h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:.15em 0}.section-head p{color:var(--cec-muted);font-size:1.08rem}.kicker{color:var(--cec-blue-2);font-weight:850;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.about-grid,.mission-grid,.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.photo-card{border-radius:var(--cec-radius);overflow:hidden;box-shadow:var(--cec-shadow);position:relative}.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-card:after{content:"Sierra Gorda · Región de Antofagasta";position:absolute;left:20px;bottom:20px;background:rgba(15,37,72,.85);color:#fff;padding:9px 14px;border-radius:999px;font-size:.82rem;font-weight:800}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.stat{background:var(--cec-sky);padding:20px;border-radius:16px}.stat b{display:block;font-size:1.7rem;color:var(--cec-blue)}.stat span{font-size:.88rem;color:var(--cec-muted)}
.identity{background:linear-gradient(180deg,var(--cec-sky),#fff)}.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.identity-card{border-radius:var(--cec-radius);padding:32px;box-shadow:var(--cec-shadow);background:#fff;border-left:7px solid var(--cec-blue-2)}.identity-card.environment{border-left-color:var(--cec-teal)}.identity-card h3{font-size:1.55rem;margin-top:0}.identity-card p{color:var(--cec-muted)}
.mission-card{background:var(--cec-blue);color:#fff;padding:40px;border-radius:var(--cec-radius);box-shadow:var(--cec-shadow)}.mission-card p{color:#eaf2ff}.vision-card{background:var(--cec-sand);padding:40px;border-radius:var(--cec-radius)}
.offer-grid,.program-grid,.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.offer-card,.program-card,.value-card{background:#fff;border:1px solid #e5eaf2;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(27,55,95,.07)}.offer-card h3,.program-card h3,.value-card h3{margin-top:0;color:var(--cec-blue)}.offer-card p,.program-card p,.value-card p{color:var(--cec-muted)}.programs{background:#fbfcff}.program-card.featured{border:2px solid var(--cec-yellow);background:#fffdf4}
.values{background:var(--cec-blue);color:#fff}.values .section-head p{color:#dce9ff}.value-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);box-shadow:none}.value-card h3{color:var(--cec-yellow)}.value-card p{color:#e6efff}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{border:1px solid #e6ebf2;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 32px rgba(26,49,80,.08)}.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.post-card-body{padding:22px}.post-card h3{margin:.35em 0;font-size:1.25rem;line-height:1.25}.post-meta{font-size:.82rem;color:var(--cec-muted)}
.docs{background:var(--cec-sand)}.doc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.doc-card{background:#fff;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 28px rgba(27,55,95,.08)}.doc-card strong{font-size:1.1rem}.doc-card a{font-weight:850}
.contact-card{background:var(--cec-blue);color:#fff;border-radius:var(--cec-radius);padding:40px}.contact-card a{color:#fff}.contact-details{display:grid;gap:14px}.map-placeholder{background:linear-gradient(135deg,var(--cec-sky),#fff);border:1px solid #d7e3f0;border-radius:var(--cec-radius);padding:0;overflow:hidden;min-height:300px}.map-placeholder iframe{display:block;width:100%;height:100%;min-height:300px;border:0}
.site-footer{background:#0e2447;color:#d7e6ff;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:32px}.site-footer h3{color:#fff}.site-footer a{color:#d7e6ff}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:32px;padding-top:18px;font-size:.85rem;color:#b9c9e3}
.content-area{padding:72px 0}.entry-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1}.entry-content{max-width:820px}.entry-content img{border-radius:16px}.pagination{margin-top:30px}
@media(max-width:900px){.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:18px 20px;border-bottom:1px solid #ddd}.nav.open{display:block}.nav ul{flex-direction:column;align-items:flex-start}.quick-grid,.offer-grid,.program-grid,.values-grid,.news-grid,.doc-list{grid-template-columns:repeat(2,1fr)}.about-grid,.mission-grid,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.brand span{font-size:.87rem}.brand small{font-size:.72rem}.brand img{width:52px;height:52px}.hero{min-height:620px}.hero-content{padding-top:80px}.quick-grid,.cards-2,.offer-grid,.program-grid,.values-grid,.news-grid,.doc-list,.stats,.footer-grid{grid-template-columns:1fr}section{padding:68px 0}.quick-links{margin-top:-48px}.quick-card{padding:18px}}
