/*
Theme Name: Azorneo V4.1 (Elementor Home + UDLAP Blog)
Theme URI: https://utdeoriental.edu.mx/
Author: ChatGPT
Description: Tema estable para PHP 7.1+. Home 100% Elementor Free (sin shortcodes). Blog replicando estructura tipo UDLAP. No modifica portada ni página de entradas automáticamente.
Version: 4.1.0
License: GPLv2 or later
Text Domain: azorneo-v4
*/

:root{
  --guinda:#931935;
  --dorado:#c9925b;
  --verde:#0e312d;
  --text:#111827;
  --muted:#6b7280;
  --bg:#ffffff;
  --soft:#f6f7f9;
  --border:rgba(17,24,39,.12);
  --shadow:0 18px 32px rgba(0,0,0,.08);
  --radius:18px;
  --radius2:14px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
a{color:inherit}
img{max-width:100%;height:auto}
.container{width:min(1160px,calc(100% - 32px));margin:0 auto}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border)}
.h-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.brand{font-weight:1000;text-decoration:none;display:flex;align-items:center;gap:10px}
.brand__mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--guinda),#7a142c)}
.brand__text{display:flex;flex-direction:column;line-height:1.1}
.brand__text b{font-size:14px;letter-spacing:.02em}
.brand__text span{font-size:12px;color:var(--muted);font-weight:800}
.nav{display:flex;align-items:center;gap:18px}
.nav a{font-weight:900;text-decoration:none;opacity:.92}
.nav a:hover{opacity:1;text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:#fff;font-weight:1000;text-decoration:none}
.btn:hover{background:rgba(147,25,53,.06)}
.btn--primary{border-color:rgba(147,25,53,.25);color:var(--guinda)}
.mob{display:none}
@media(max-width:980px){.nav{display:none}.mob{display:inline-flex}}

/* Offcanvas */
.off{position:fixed;inset:0;pointer-events:none;z-index:80}
.off.is-open{pointer-events:auto}
.off__back{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:opacity .18s ease}
.off.is-open .off__back{opacity:1}
.off__panel{position:absolute;top:0;right:0;height:100%;width:min(420px,90vw);background:#fff;transform:translateX(100%);transition:transform .22s ease;border-left:1px solid var(--border);padding:14px}
.off.is-open .off__panel{transform:translateX(0)}
.off__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 4px 10px}
.off__title{font-weight:1100}
.off__close{border:1px solid var(--border);background:#fff;border-radius:999px;width:40px;height:40px;font-weight:1100;cursor:pointer}
.off__close:hover{background:rgba(0,0,0,.04)}
.off__list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px;border-radius:14px;text-decoration:none;font-weight:1000}
.off__list a:hover{background:rgba(0,0,0,.04)}

/* Blog UDLAP-like */
.blog-wrap{padding:18px 0 22px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}
.kicker{font-size:13px;font-weight:900;color:var(--muted);text-transform:lowercase}
.ticker{flex:1;min-width:220px;display:flex;align-items:center;gap:12px}
.ticker__label{font-weight:1100;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ticker__track{overflow:hidden;white-space:nowrap;flex:1}
.ticker__items{display:inline-block;will-change:transform;animation:azTicker 26s linear infinite}
.ticker__items a{font-weight:900;text-decoration:none;margin-right:18px}
.ticker__items a:hover{text-decoration:underline}
@keyframes azTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.ticker__items{animation:none}}

.blog-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.blog-nav__brand{font-weight:1100;text-decoration:none}
.catbar{display:flex;gap:10px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-weight:1000;text-decoration:none;background:#fff}
.chip:hover{background:rgba(147,25,53,.06)}
.search{display:flex;align-items:center;gap:8px}
.search input[type="search"]{border:1px solid var(--border);border-radius:999px;padding:10px 12px;min-width:220px}
.search button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 12px;font-weight:1000;cursor:pointer}
.search button:hover{background:rgba(147,25,53,.06)}

.feature{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:start}
@media(max-width:980px){.feature{grid-template-columns:1fr}}
.card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.card__img{display:block;height:320px;overflow:hidden;background:#f5f5f5}
.card__img img{width:100%;height:100%;object-fit:cover;display:block}
.card__body{padding:16px 16px 18px}
.meta{font-size:12px;color:var(--muted);font-weight:1000;margin-bottom:6px}
.title{margin:0 0 8px;font-size:24px;line-height:1.18;letter-spacing:-.02em}
.title a{text-decoration:none;font-weight:1100}
.title a:hover{text-decoration:underline}
.desc{margin:0 0 10px;color:var(--muted)}
.readmore{font-weight:1100;color:var(--guinda);text-decoration:none}
.readmore:hover{text-decoration:underline}

.side{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:12px}
.mini{display:flex;gap:12px;padding:10px;border-radius:var(--radius2);text-decoration:none}
.mini:hover{background:rgba(0,0,0,.03)}
.mini__thumb{width:86px;height:64px;border-radius:12px;overflow:hidden;background:#f3f3f3;flex:0 0 auto}
.mini__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mini__meta{font-size:12px;color:var(--muted);font-weight:1000}
.mini__title{font-size:14px;font-weight:1100;line-height:1.25;margin:2px 0 0}
.mini + .mini{margin-top:6px}

.section{padding:18px 0}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.section__head h2{margin:0;font-size:22px;letter-spacing:-.02em}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid{grid-template-columns:1fr}}
.post{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 14px 24px rgba(0,0,0,.06)}
.post .card__img{height:180px}
.post .title{font-size:18px}
.post .card__body{padding:14px 14px 16px}
.two{display:grid;grid-template-columns:2fr 1fr;gap:18px}
@media(max-width:980px){.two{grid-template-columns:1fr}}
.sidebox{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:12px}
.sidebox h3{margin:4px 6px 10px;font-size:16px}
.sidebox ul{list-style:none;margin:0;padding:0}
.sidebox li a{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;text-decoration:none;font-weight:1000}
.sidebox li a:hover{background:rgba(0,0,0,.03)}
.sidebox time{font-size:11px;color:var(--muted);font-weight:1000}

/* Footer */
.site-footer{margin-top:30px;border-top:1px solid var(--border);background:var(--soft)}
.f-wrap{padding:22px 0;color:var(--muted);font-weight:800}
