/*
Theme Name: IESTP El Dorado Final Corregido
Theme URI: https://iestpeldorado.edu.pe/
Author: IESTP EL DORADO
Author URI: https://iestpeldorado.edu.pe/
Description: Tema institucional corregido para IESTP El Dorado con portada institucional, menú funcional y estilos cargados correctamente.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: iestp-el-dorado
*/

:root{
  --verde:#6f7d2c;
  --verde-oscuro:#55611f;
  --amarillo:#d4a514;
  --fondo:#f5f6ef;
  --texto:#1f2617;
  --blanco:#ffffff;
  --borde:#e5e8db;
  --gris:#6a725e;
  --sombra:0 10px 28px rgba(0,0,0,.08);
  --radio:16px;
  --contenedor:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--texto);background:var(--fondo);line-height:1.6}
a{color:var(--verde-oscuro);text-decoration:none}
a:hover{color:var(--verde)}
img{max-width:100%;height:auto;display:block}
.site-description{display:none}
.container{max-width:var(--contenedor);margin:0 auto;padding:0 20px}

.topbar{background:linear-gradient(90deg,var(--verde-oscuro),var(--verde));color:#fff;font-size:14px}
.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:10px 20px;flex-wrap:wrap}
.topbar a{color:#fff}

.site-header{background:#fff;border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:50}
.header-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.branding{display:flex;align-items:center;gap:16px;min-width:0}
.branding img{width:auto;max-height:92px}
.branding-text h1{font-size:28px;line-height:1.1;margin:0;color:var(--verde-oscuro)}
.branding-text .tagline{margin:4px 0 0;color:var(--gris);font-size:14px}

.menu-toggle{display:none;background:var(--verde);color:#fff;border:none;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer}
.primary-nav ul{list-style:none;display:flex;align-items:center;gap:8px;margin:0;padding:0;flex-wrap:nowrap}
.primary-nav li{position:relative;white-space:nowrap}
.primary-nav > ul > li > a{display:block;padding:12px 16px;border-radius:10px;font-weight:700;color:var(--texto)}
.primary-nav > ul > li.current-menu-item > a,
.primary-nav > ul > li.current-menu-ancestor > a,
.primary-nav > ul > li > a:hover{background:var(--verde);color:#fff}
.primary-nav .sub-menu{position:absolute;left:0;top:100%;min-width:230px;background:#fff;border:1px solid var(--borde);padding:10px;border-radius:14px;box-shadow:var(--sombra);list-style:none;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s ease;z-index:80}
.primary-nav .sub-menu li{white-space:normal}
.primary-nav .sub-menu a{display:block;padding:10px 12px;border-radius:10px;font-weight:700}
.primary-nav .sub-menu a:hover{background:rgba(111,125,44,.12)}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}

.hero{position:relative;background:url('assets/img/hero.png') center/cover no-repeat;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(63,73,20,.82),rgba(63,73,20,.45),rgba(63,73,20,.18))}
.hero .container{position:relative;z-index:1;padding:80px 20px 84px;display:grid;grid-template-columns:1.25fr .9fr;gap:36px;align-items:start}
.hero h2{font-size:58px;line-height:1.02;margin:0 0 18px;font-weight:800;max-width:700px}
.hero p{font-size:21px;max-width:650px;margin:0 0 24px}
.btn{display:inline-block;background:var(--amarillo);color:#111;padding:14px 22px;border-radius:12px;font-weight:800}
.btn:hover{filter:brightness(.95);color:#111}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quick-card{background:rgba(255,255,255,.94);color:var(--texto);padding:24px;border-radius:18px;box-shadow:var(--sombra);border:1px solid rgba(255,255,255,.55)}
.quick-card h3{margin:0 0 8px;font-size:26px;color:var(--verde-oscuro)}
.quick-card p{margin:0;font-size:16px;color:#30382a}

.section{padding:68px 0}
.section-title{font-size:48px;line-height:1.1;text-align:center;margin:0 0 16px;color:var(--verde-oscuro)}
.section-intro{max-width:820px;margin:0 auto 38px;text-align:center;font-size:19px;color:#4d5641}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.feature-card,.info-card{background:#fff;border:1px solid var(--borde);border-radius:18px;padding:28px;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.feature-card h3,.info-card h3{margin:0 0 10px;color:var(--verde-oscuro);font-size:28px;line-height:1.2}
.feature-card p,.info-card p{margin:0;color:#434b37;font-size:17px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}

.page-wrap{padding:42px 0}
.content-card{background:#fff;border:1px solid var(--borde);border-radius:18px;box-shadow:0 6px 18px rgba(0,0,0,.04);padding:34px}
.content-card h1{margin-top:0;color:var(--verde-oscuro);font-size:42px}
.content-card h2,.content-card h3{color:var(--verde-oscuro)}

.site-footer{background:linear-gradient(90deg,var(--verde-oscuro),var(--verde));color:#fff;margin-top:50px}
.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:28px;padding:46px 0}
.site-footer h3{margin:0 0 14px;font-size:24px;color:#fff}
.site-footer p,.site-footer li,.site-footer a{color:#fff;opacity:.98}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:0 0 10px}
.footer-bottom{padding:14px 0;border-top:1px solid rgba(255,255,255,.18);font-size:14px;text-align:center}

@media (max-width: 1100px){
  .hero .container{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 920px){
  .branding-text h1{font-size:22px}
  .menu-toggle{display:block}
  .primary-nav{display:none;width:100%}
  .primary-nav.open{display:block}
  .header-main{flex-wrap:wrap}
  .primary-nav ul{flex-direction:column;align-items:flex-start;width:100%}
  .primary-nav li{width:100%}
  .primary-nav > ul > li > a{width:100%}
  .primary-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:none;padding:6px 0 0 14px;background:transparent}
  .primary-nav li:hover > .sub-menu,.primary-nav li:focus-within > .sub-menu{display:block}
}
@media (max-width: 700px){
  .branding img{max-height:72px}
  .hero .container{padding:58px 20px 60px}
  .hero h2{font-size:40px}
  .hero p{font-size:18px}
  .quick-grid,.card-grid,.two-col,.footer-main{grid-template-columns:1fr}
  .section-title{font-size:36px}
  .content-card{padding:24px}
  .content-card h1{font-size:34px}
}

/* AJUSTE FINAL: MENU SUPERIOR ESTABLE + SUBMENUS VERTICALES */
.site-header{position:sticky;top:0;z-index:999;background:#fff;}
.header-main{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;}
.branding{flex:0 0 auto;max-width:330px;}
.branding img,.custom-logo{max-height:90px;width:auto;}
.branding-text h1{display:none;}
.branding-text .tagline{font-size:15px;line-height:1.35;color:#4d5641;margin:0;font-weight:600;}
.primary-nav{flex:1;display:flex;justify-content:flex-end;}
.primary-nav ul#primary-menu,.primary-nav>ul,.primary-nav .menu{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;margin:0;padding:0;list-style:none;}
.primary-nav li{position:relative;list-style:none;margin:0;white-space:nowrap;}
.primary-nav>ul>li>a,.primary-nav .menu>li>a{display:flex;align-items:center;min-height:44px;padding:10px 13px;border-radius:10px;font-weight:800;font-size:15px;color:#1f2617;text-decoration:none;}
.primary-nav>ul>li.current-menu-item>a,.primary-nav>ul>li.current-menu-ancestor>a,.primary-nav>ul>li>a:hover,.primary-nav .menu>li.current-menu-item>a,.primary-nav .menu>li.current-menu-ancestor>a,.primary-nav .menu>li>a:hover{background:var(--verde);color:#fff;}
.primary-nav .sub-menu{position:absolute;top:100%;left:0;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;min-width:260px;margin:0;padding:10px;background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:9999;}
.primary-nav li.menu-item-has-children::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;background:transparent;}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.primary-nav .sub-menu li{display:block;width:100%;white-space:normal;}
.primary-nav .sub-menu a{display:block;width:100%;padding:11px 13px;border-radius:9px;font-weight:700;font-size:15px;color:#2f3e1b;text-decoration:none;line-height:1.35;}
.primary-nav .sub-menu a:hover{background:rgba(111,125,44,.12);color:var(--verde-oscuro);}
@media (min-width:921px) and (max-width:1180px){.container{max-width:1140px}.branding{max-width:250px}.branding img,.custom-logo{max-height:76px}.branding-text .tagline{display:none}.primary-nav>ul>li>a,.primary-nav .menu>li>a{font-size:14px;padding:9px 10px}}
@media (max-width:920px){.header-main{min-height:auto;align-items:center}.branding{max-width:calc(100% - 90px)}.branding img,.custom-logo{max-height:72px}.menu-toggle{display:block}.primary-nav{display:none;width:100%;flex:0 0 100%;justify-content:flex-start}.primary-nav.open{display:block}.primary-nav ul#primary-menu,.primary-nav>ul,.primary-nav .menu{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%}.primary-nav li{width:100%}.primary-nav>ul>li>a,.primary-nav .menu>li>a{width:100%;justify-content:flex-start}.primary-nav .sub-menu{position:static;display:flex!important;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none;border:0;background:#f5f6ef;border-radius:10px;margin:4px 0 6px;padding:8px 8px 8px 18px}.primary-nav li.menu-item-has-children::after{display:none}}
