
:root{
  --azul:#0e4d92;
  --azul-oscuro:#0a3a6e;
  --azul-claro:#e8f1fb;
  --texto:#26313c;
  --texto-suave:#5b6b7b;
  --borde:#e3e9f0;
  --fondo:#f7fafc;
  --blanco:#ffffff;
  --acento:#0e8a6d;
  --max:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;color:var(--texto);background:var(--fondo);line-height:1.7;font-size:17px}
img{max-width:100%;height:auto}
a{color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:var(--blanco);border-bottom:3px solid var(--azul);box-shadow:0 1px 8px rgba(14,77,146,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;flex-wrap:wrap;gap:10px}
.brand h1,.brand p.logo{font-family:'Lora',Georgia,serif;font-size:1.55rem;font-weight:700;color:var(--azul-oscuro);line-height:1.2}
.brand a{color:inherit;text-decoration:none}
.brand .tagline{font-size:.95rem;color:var(--texto-suave);margin-top:2px}
.main-nav{display:flex;gap:22px;flex-wrap:wrap}
.main-nav a{font-weight:600;font-size:.95rem;color:var(--texto);padding:4px 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a.active{color:var(--azul);border-bottom-color:var(--azul);text-decoration:none}

/* Layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;padding:44px 0}
@media(max-width:900px){.layout{grid-template-columns:1fr;padding:28px 0}}

/* Cards / listing */
.post-card{background:var(--blanco);border:1px solid var(--borde);border-radius:12px;padding:30px 34px;margin-bottom:26px;box-shadow:0 1px 4px rgba(20,40,70,.05)}
.post-card h2{font-family:'Lora',Georgia,serif;font-size:1.45rem;line-height:1.3;margin-bottom:8px}
.post-card h2 a{color:var(--azul-oscuro)}
.post-card h2 a:hover{color:var(--azul);text-decoration:none}
.post-meta{font-size:.85rem;color:var(--texto-suave);margin-bottom:14px;display:flex;gap:14px;flex-wrap:wrap}
.post-meta .cats a{color:var(--acento);font-weight:600}
.post-card .excerpt{color:var(--texto)}
.leer-mas{display:inline-block;margin-top:12px;font-weight:700;font-size:.92rem}

/* Article */
.article{background:var(--blanco);border:1px solid var(--borde);border-radius:12px;padding:40px 46px;box-shadow:0 1px 4px rgba(20,40,70,.05)}
@media(max-width:600px){.article{padding:26px 20px}}
.article h1{font-family:'Lora',Georgia,serif;font-size:2rem;line-height:1.25;color:var(--azul-oscuro);margin-bottom:10px}
.article .post-meta{margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--borde)}
.article-content p{margin-bottom:1.1em;text-align:left}
.article-content h2,.article-content h3{font-family:'Lora',Georgia,serif;color:var(--azul-oscuro);margin:1.4em 0 .6em}
.article-content ul,.article-content ol{margin:0 0 1.1em 1.4em}
.article-content strong{color:var(--azul-oscuro)}
.article-content table{border-collapse:collapse;margin:1.2em 0;width:100%}
.article-content td,.article-content th{border:1px solid var(--borde);padding:8px 12px}
.post-figure{margin:1.6em auto;text-align:center}
.post-figure img{border-radius:8px;box-shadow:0 2px 12px rgba(20,40,70,.12)}
.post-figure figcaption{font-size:.85rem;color:var(--texto-suave);margin-top:8px;font-style:italic}
.video-embed{position:relative;padding-bottom:56.25%;height:0;margin:1.6em 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px rgba(20,40,70,.15)}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* Sidebar */
.sidebar .widget{background:var(--blanco);border:1px solid var(--borde);border-radius:12px;padding:24px 26px;margin-bottom:24px;box-shadow:0 1px 4px rgba(20,40,70,.05)}
.sidebar .widget h3{font-family:'Lora',Georgia,serif;font-size:1.05rem;color:var(--azul-oscuro);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--azul);padding-bottom:8px;margin-bottom:14px}
.sidebar ul{list-style:none}
.sidebar li{padding:5px 0;border-bottom:1px dashed var(--borde);font-size:.92rem}
.sidebar li:last-child{border-bottom:none}
.doctor-card{text-align:center}
.doctor-card img{border-radius:10px;margin-bottom:12px}
.doctor-card .nombre{font-family:'Lora',Georgia,serif;font-weight:700;color:var(--azul-oscuro);font-size:1.1rem}
.bio-list li{text-align:left;position:relative;padding-left:18px}
.bio-list li::before{content:'›';position:absolute;left:2px;color:var(--acento);font-weight:700}
.cat-list a{color:var(--texto)}
.cat-list a:hover{color:var(--azul)}
.cat-list .num{color:var(--texto-suave);font-size:.85rem}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;margin:30px 0;flex-wrap:wrap}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--borde);border-radius:8px;background:var(--blanco);font-weight:600;font-size:.9rem}
.pagination span.current{background:var(--azul);color:#fff;border-color:var(--azul)}
.pagination a:hover{background:var(--azul-claro);text-decoration:none}

/* Footer */
.site-footer{background:var(--azul-oscuro);color:#cfe0f2;margin-top:50px;padding:44px 0 90px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:34px}
.site-footer h4{color:#fff;font-family:'Lora',Georgia,serif;margin-bottom:12px;font-size:1rem}
.site-footer ul{list-style:none}
.site-footer li{padding:3px 0;font-size:.9rem}
.site-footer a{color:#a8c8e8}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:18px;font-size:.85rem;color:#9fb8d4;text-align:center}

/* Cookie bar */
#cookie-bar{position:fixed;bottom:0;left:0;right:0;background:#132a42;color:#e4edf7;padding:14px 20px;display:none;z-index:1000;box-shadow:0 -2px 14px rgba(0,0,0,.3)}
#cookie-bar .cb-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between}
#cookie-bar p{font-size:.88rem;margin:0;flex:1 1 400px}
#cookie-bar a{color:#8fc1f0;text-decoration:underline}
#cookie-bar .cb-btns{display:flex;gap:10px}
#cookie-bar button{border:0;border-radius:8px;padding:9px 20px;font-weight:700;cursor:pointer;font-size:.88rem}
#cb-accept{background:#0e8a6d;color:#fff}
#cb-reject{background:transparent;color:#cfe0f2;border:1px solid #56718d}
