/* ============================================================
   site.css — Tai Chi · Creando Patria
   Paleta: "Tinta y Jade" — tinta china oscura, jade, bronce cálido
   ============================================================ */
:root{
  /* Fondos — tinta china oscura con veladura verde-azulada */
  --bg:#0a0f0d;--bg2:#070b09;--s1:#111815;--s2:#151d19;--s3:#1c2621;
  --nl:#263129;--nd:#030504;--nl2:#34423a;--nd2:#020302;
  /* Acentos */
  --c1:#6fae8c;   /* jade — acento principal */
  --c2:#4f8a76;   /* verde bosque / té oscuro */
  --c3:#345c4c;   /* jade profundo */
  --c4:#c9a869;   /* bronce cálido / dorado templado */
  --c5:#8ec6ab;   /* jade claro / menta */
  --c6:#7a93a0;   /* piedra azulada */
  /* Textos */
  --text:#e3ece6;--text2:#8fa89c;--text3:#55685f;--text4:#33403a;
  /* Radios */
  --r:16px;--rs:10px;--rx:6px;
  /* Neumorfismo */
  --neu-out:6px 6px 16px var(--nd),-4px -4px 10px var(--nl);
  --neu-in:inset 4px 4px 10px var(--nd),inset -3px -3px 7px var(--nl);
  --neu-in2:inset 3px 3px 7px var(--nd2),inset -2px -2px 5px var(--nl2);
  --neu-sm:3px 3px 8px var(--nd),-2px -2px 6px var(--nl);
  --neu-lg:8px 8px 22px var(--nd),-5px -5px 14px var(--nl);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;font-size:15px;line-height:1.65;min-height:100vh;padding-top:108px;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;}
img{display:block;max-width:100%;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--nl);border-radius:2px;}

/* TOPBAR */
.topbar{background:var(--bg2);border-bottom:1px solid rgba(255,255,255,.035);height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;position:fixed;top:0;left:0;right:0;z-index:300;}
.topbar-links{display:flex;gap:1.75rem;align-items:center;}
.topbar-links a{color:var(--text3);transition:color .2s;font-size:11.5px;}
.topbar-links a:hover{color:var(--text2);}
.topbar-links a.hi{color:var(--c1);}
.topbar-logo-link{display:flex;align-items:center;flex-shrink:0;}
.topbar-logo{width:28px;height:28px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.1);transition:opacity .2s;}
.topbar-logo:hover{opacity:.85;}
.topbar-right{display:flex;align-items:center;gap:.75rem;}
.tb-live{display:flex;align-items:center;gap:.45rem;font-size:9.5px;letter-spacing:.14em;color:var(--text3);}
.pulse{width:5px;height:5px;border-radius:50%;background:var(--c4);animation:hb 2.4s infinite;}
@keyframes hb{0%,100%{box-shadow:0 0 0 0 rgba(201,168,105,.6);}60%{box-shadow:0 0 0 5px rgba(201,168,105,0);}}
.soc-icons,.redes-arriba{display:flex;gap:.35rem;align-items:center;}
.soc,.red-arriba{width:30px;height:30px;background:var(--s2);
  box-shadow:4px 4px 8px var(--nd),-3px -3px 7px var(--nl);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--text3);transition:all .22s;flex-shrink:0;}
.soc svg,.red-arriba svg{width:13px;height:13px;fill:currentColor;transition:fill .22s;}
.red-arriba:hover,.soc:hover{box-shadow:inset 3px 3px 7px var(--nd),inset -2px -2px 5px var(--nl);}
.red-arriba.youtube:hover{color:#ff0000;}
.red-arriba.twitter:hover{color:#e7e7e7;}
.red-arriba.telegram:hover{color:#2aabee;}
.red-arriba.whatsapp:hover{color:#25d366;}
.red-arriba.facebook:hover{color:#1877f2;}
.red-arriba.instagram:hover{color:#e1306c;}
.red-arriba.tiktok:hover{color:#ee1d52;}

/* NAVBAR */
.navbar{background:var(--s1);box-shadow:var(--neu-out),0 1px 0 rgba(255,255,255,.03);height:66px;display:flex;align-items:center;padding:0 2rem;gap:2rem;position:fixed;top:42px;left:0;right:0;z-index:299;margin-bottom:0 !important;}
.logo{display:flex;align-items:center;gap:.9rem;flex-shrink:0;}
.logo-img-wrap{width:44px;height:44px;border-radius:50%;background:var(--s2);box-shadow:var(--neu-out);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.logo-img-wrap img{width:42px;height:42px;border-radius:50%;object-fit:cover;}
.logo-text{line-height:1.2;}
.logo-name{font-family:'Playfair Display',Georgia,serif;font-size:16px;font-weight:700;color:var(--text);letter-spacing:.01em;display:block;}
.logo-name em{font-style:normal;color:var(--c1);}
.logo-sub{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--text3);font-weight:400;display:block;margin-top:1px;}
.nav-main{display:flex;align-items:center;gap:.15rem;}
.nav-link{padding:.42rem .95rem;border-radius:var(--rs);font-size:11.5px;font-weight:500;letter-spacing:.04em;color:var(--text2);background:transparent;border:none;cursor:pointer;transition:all .18s;display:flex;align-items:center;gap:.3rem;white-space:nowrap;text-decoration:none;}
.nav-link:hover{background:var(--s2);box-shadow:var(--neu-sm);color:var(--text);}
.nav-link.active{background:var(--s2);box-shadow:var(--neu-in);color:var(--c1);}
.nav-link.inactive{opacity:.32;cursor:default;pointer-events:none;}
.nav-sep{width:1px;height:18px;background:rgba(255,255,255,.06);flex-shrink:0;}
.nav-r{margin-left:auto;display:flex;align-items:center;gap:.6rem;}
.btn-access{display:flex;align-items:center;gap:.45rem;padding:.42rem 1.1rem;border-radius:var(--rs);background:var(--s2);box-shadow:var(--neu-out);color:var(--text2);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;transition:all .18s;text-decoration:none;}
.btn-access:hover{box-shadow:var(--neu-in);color:var(--text);}
.btn-access-dot{width:7px;height:7px;border-radius:50%;background:var(--c4);box-shadow:0 0 6px var(--c4);}
.search-wrap-nav{display:flex;align-items:center;background:var(--s2);box-shadow:var(--neu-in);border-radius:var(--rs);overflow:hidden;height:34px;}
.search-wrap-nav input{background:transparent;border:none;outline:none;color:var(--text);font-family:'Inter',sans-serif;font-size:12.5px;padding:.4rem .85rem;width:160px;transition:width .2s;}
.search-wrap-nav input:focus{width:220px;}
.search-wrap-nav button{background:transparent;border:none;cursor:pointer;padding:.4rem .85rem;color:var(--text3);font-size:13px;transition:color .18s;}
.search-wrap-nav button:hover{color:var(--c1);}

/* CATBAR */
.catbar{background:var(--s2);box-shadow:0 3px 10px var(--nd),0 1px 0 rgba(255,255,255,.03);height:44px;display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center;padding:0 2rem;gap:.2rem;position:-webkit-sticky;position:sticky;top:108px;z-index:190;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap;}
.catbar::-webkit-scrollbar{display:none;}
.catbar::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,174,140,.15) 30%,rgba(201,168,105,.12) 65%,transparent);}
.cat-btn{display:inline-flex !important;align-items:center;gap:.45rem;padding:.33rem .9rem;border-radius:var(--rx);font-size:11.5px;font-weight:500;letter-spacing:.02em;color:var(--text3);background:transparent;border:none;cursor:pointer;transition:all .18s;white-space:nowrap;flex-shrink:0;text-decoration:none;vertical-align:middle;}
.cat-btn:hover{background:var(--s3);box-shadow:var(--neu-sm);color:var(--text2);}
.cat-btn.active{background:var(--s1);box-shadow:var(--neu-in2);color:var(--text);}
.cat-pip{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block;}
.cat-sep{width:1px;height:14px;background:rgba(255,255,255,.05);flex-shrink:0;display:inline-block;margin:0 .1rem;vertical-align:middle;}

/* ============================================================
   HERO — con imagen de fondo (1.png) + overlay y libro recomendado
   ============================================================ */
.hero{
  margin:1.5rem 2rem;
  background:var(--s1);
  background-image:
    linear-gradient(90deg, rgba(10,15,13,.96) 0%, rgba(10,15,13,.85) 45%, rgba(10,15,13,.55) 100%),
    url('../img/10.png');
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
  box-shadow:var(--neu-lg);
  border-radius:20px;
  overflow:hidden;
  position:relative;
  display:grid;
  grid-template-columns:300px 1fr;
  min-height:255px;
}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 90% at 0% 50%,rgba(111,174,140,.08) 0%,transparent 60%);}
.hero::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,174,140,.25) 30%,rgba(201,168,105,.18) 65%,transparent);}
.hero-left{padding:2.25rem 2.5rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
.hero-badges{display:flex;gap:.5rem;margin-bottom:1.1rem;align-items:center;flex-wrap:wrap;}
.hbadge{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);padding:.22rem .7rem;border-radius:20px;background:var(--s2);box-shadow:var(--neu-in2);}
.hbadge.accent{color:var(--c1);}
.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:700;line-height:1.1;color:var(--text);margin-bottom:1rem;letter-spacing:-.01em;}
.hero h1 .hl{color:var(--c1);}
.hero h1 .hl2{color:var(--c4);}
.hero-desc{font-family:'Crimson Pro',Georgia,serif;font-size:15px;font-weight:300;color:var(--text2);line-height:1.75;max-width:440px;margin-bottom:1.6rem;}
.hero-stats{display:flex;gap:1.25rem;}
.hstat{background:var(--s2);box-shadow:var(--neu-in2);border-radius:var(--rs);padding:.6rem 1rem;text-align:center;position:relative;overflow:hidden;}
.hstat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px 2px 0 0;}
.hstat.c1::before{background:var(--c1);}.hstat.c2::before{background:var(--c2);}.hstat.c4::before{background:var(--c4);}
.hstat-num{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;line-height:1;}
.hstat.c1 .hstat-num{color:var(--c1);}.hstat.c2 .hstat-num{color:var(--c2);}.hstat.c4 .hstat-num{color:var(--c4);}
.hstat-lbl{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-top:3px;}

/* Columna derecha — libro recomendado, con fondo propio sobre la imagen */
.hero-right{
  background:linear-gradient(180deg, rgba(7,11,9,.72), rgba(7,11,9,.9));
  backdrop-filter:blur(3px);
  box-shadow:inset -3px 0 8px rgba(0,0,0,.35);
  display:flex;flex-direction:column;padding:1.25rem;gap:.75rem;position:relative;z-index:1;
}
.hero-right-title{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.25rem;}

.hero-libro-card{display:flex;flex-direction:column;gap:.75rem;text-decoration:none;color:inherit;background:var(--s1);box-shadow:var(--neu-out);border-radius:var(--rs);padding:.85rem;transition:transform .22s,box-shadow .22s;}
.hero-libro-card:hover{transform:translateY(-2px);box-shadow:var(--neu-lg);}
.hero-libro-cover{width:100%;aspect-ratio:2/3;border-radius:var(--rx);overflow:hidden;box-shadow:var(--neu-in2);}
.hero-libro-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-libro-info{display:flex;flex-direction:column;gap:.35rem;}
.hero-libro-title{font-family:'Playfair Display',serif;font-size:14px;font-weight:700;color:var(--c1);line-height:1.25;}
.hero-libro-sub{font-family:'Crimson Pro',serif;font-size:12px;color:var(--text3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.hero-libro-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;padding:.35rem .8rem;border-radius:var(--rx);background:var(--s2);box-shadow:var(--neu-sm);color:var(--c4);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;transition:box-shadow .18s;}
.hero-libro-card:hover .hero-libro-btn{box-shadow:var(--neu-in2);}

/* SECTION HEADERS */
.sec-row{display:flex;align-items:center;gap:.85rem;margin:2rem 2rem .85rem;scroll-margin-top:160px;}
.sec-label{font-family:'Playfair Display',serif;font-size:17px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.65rem;white-space:nowrap;letter-spacing:-.01em;}
.sec-bar{width:3px;height:18px;border-radius:2px;flex-shrink:0;}
.sec-count{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text3);background:var(--s2);box-shadow:var(--neu-in2);padding:.22rem .7rem;border-radius:20px;}
.sec-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.05) 0%,transparent 100%);}
.sec-more{font-size:11px;color:var(--text3);letter-spacing:.04em;transition:color .18s;}
.sec-more:hover{color:var(--c1);}

/* NEWS CARDS */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 2rem;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:0 2rem;}
.nc{background:var(--s1);box-shadow:var(--neu-lg);border-radius:var(--r);overflow:hidden;transition:transform .22s,box-shadow .22s;display:flex;flex-direction:column;position:relative;text-decoration:none;color:inherit;cursor:pointer;}
.nc:hover{transform:translateY(-3px);box-shadow:10px 10px 26px var(--nd2),-4px -4px 14px var(--nl);}
.nc::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);}
/* FIX: imágenes cuadradas — aspect-ratio en lugar de height fija */
.nc-thumb{width:100%;height:auto;aspect-ratio:4/3;position:relative;overflow:hidden;flex-shrink:0;}
.nc-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .32s;}
.nc:hover .nc-thumb img{transform:scale(1.04);}
.nc-thumb-ph{width:100%;height:100%;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3.2rem;}
.nc-sm .nc-thumb{aspect-ratio:3/2;height:auto;}
.nc-sm .nc-thumb-ph{height:100%;}
.nc-thumb-bar{position:absolute;bottom:0;left:0;right:0;height:2px;}
.nc-body{padding:1rem 1.15rem 1.25rem;flex:1;display:flex;flex-direction:column;}
.nc-tags{display:flex;gap:.35rem;margin-bottom:.6rem;flex-wrap:wrap;}
.pill{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .6rem;border-radius:20px;background:var(--s2);box-shadow:var(--neu-in2);display:inline-block;}
.p-hot{color:#c46070;}.p-new{color:var(--c1);}
.nc-title{font-size:13.5px;font-weight:600;line-height:1.4;color:var(--text);margin-bottom:.5rem;flex:1;letter-spacing:-.01em;}
.nc-meta{display:flex;align-items:center;gap:.6rem;font-size:10.5px;color:var(--text3);margin-bottom:.45rem;}
.nc-dot{width:2px;height:2px;border-radius:50%;background:var(--text3);}
.nc-excerpt{font-family:'Crimson Pro',Georgia,serif;font-size:13px;color:var(--text3);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* Thumbs placeholder gradients — tonos café */
.tc1{background:radial-gradient(ellipse at 40% 30%,#14251d 0%,#080f0a 100%);}
.tc2{background:radial-gradient(ellipse at 40% 30%,#0f1f1c 0%,#060f0d 100%);}
.tc3{background:radial-gradient(ellipse at 40% 30%,#16241a 0%,#081209 100%);}
.tc4{background:radial-gradient(ellipse at 40% 30%,#221c0d 0%,#0c0a05 100%);}
.tc5{background:radial-gradient(ellipse at 40% 30%,#0d211a 0%,#06110d 100%);}
.tc6{background:radial-gradient(ellipse at 40% 30%,#101a1e 0%,#070d0f 100%);}

/* FEATURED */
.layout-fs{display:grid;grid-template-columns:1fr 285px;gap:1rem;padding:0 2rem;}
.featured{background:var(--s1);box-shadow:var(--neu-lg);border-radius:var(--r);overflow:hidden;cursor:pointer;transition:box-shadow .22s;position:relative;text-decoration:none;color:inherit;}
.featured:hover{box-shadow:10px 10px 26px var(--nd2),-4px -4px 14px var(--nl);}
.featured::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,174,140,.2),transparent);}
.feat-thumb{width:100%;height:245px;position:relative;overflow:hidden;}
.feat-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.featured:hover .feat-thumb img{transform:scale(1.03);}
.feat-body{padding:1.4rem 1.6rem 1.6rem;}
.feat-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;line-height:1.3;color:var(--text);margin-bottom:.65rem;letter-spacing:-.01em;}
.feat-excerpt{font-family:'Crimson Pro',Georgia,serif;font-size:14px;color:var(--text2);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* SIDEBAR & WIDGETS */
.sidebar{display:flex;flex-direction:column;gap:1rem;}
.widget{background:var(--s1);box-shadow:var(--neu-lg);border-radius:var(--r);overflow:hidden;}
.w-head{padding:.75rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.04);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);display:flex;align-items:center;gap:.5rem;}
.w-head-bar{width:2px;height:13px;border-radius:2px;}
.cat-list{padding:.6rem .75rem;display:flex;flex-direction:column;gap:.35rem;}
.cat-row{display:flex;align-items:center;justify-content:space-between;padding:.48rem .8rem;border-radius:var(--rs);background:var(--s2);box-shadow:var(--neu-sm);cursor:pointer;transition:all .18s;}
.cat-row:hover{box-shadow:var(--neu-in2);}
.cat-left{display:flex;align-items:center;gap:.55rem;font-size:12px;color:var(--text2);}
.cat-pip{width:7px;height:7px;border-radius:50%;}

/* BREADCRUMB */
.breadcrumb{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem 2rem;font-size:12px;color:var(--text3);}
.breadcrumb a{color:var(--text3);transition:color .18s;}
.breadcrumb a:hover{color:var(--text2);}

/* ARTICLE */
.article-layout{display:grid;grid-template-columns:1fr 280px;gap:1.25rem;padding:0 2rem;margin-bottom:2rem;align-items:start;}
.article-main{background:var(--s1);box-shadow:var(--neu-lg);border-radius:var(--r);overflow:hidden;position:relative;}
.article-main::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,174,140,.08),transparent);}
.art-header{padding:2rem 2.25rem 1.5rem;}
.art-title{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;line-height:1.2;color:var(--text);margin-bottom:.85rem;letter-spacing:-.01em;}
.art-subtitle{font-family:'Crimson Pro',serif;font-size:16px;color:var(--text2);line-height:1.65;margin-bottom:1rem;}
.art-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:11.5px;color:var(--text3);}
.art-img-wrap{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  height:380px;
  background:linear-gradient(180deg, var(--s2) 0%, var(--bg2) 100%);
}
.art-img-wrap::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('../img/21.png');
  background-size:cover;
  background-position:center;
  z-index:0;
}
.art-img-wrap::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(7,11,9,.2);
  z-index:1;
}
.art-img{
  position:relative;
  z-index:2;
  height:100%;
  width:auto;
  max-width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  margin:0 auto;
  border-left:1px solid rgba(201,168,105,.35);
  border-right:1px solid rgba(201,168,105,.35);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    -18px 0 40px rgba(0,0,0,.6),
    18px 0 40px rgba(0,0,0,.6),
    0 10px 40px rgba(0,0,0,.55);
}
.art-body{padding:2rem 2.25rem;font-size:15.5px;line-height:1.8;background:#f6faf7;color:#1c2b23;border-radius:0 0 var(--r) var(--r);}
.art-body h2{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:700;color:#0f1a14;margin:1.75rem 0 .85rem;letter-spacing:-.01em;}
.art-body h3{font-size:1.05rem;font-weight:600;color:#1c2b23;margin:1.4rem 0 .6rem;}
.art-body p{margin-bottom:1.1rem;font-family:'Crimson Pro',serif;font-size:17px;line-height:1.85;color:#24352c;}
.art-body a{color:#2f7a5c;border-bottom:1px solid rgba(47,122,92,.3);}
.art-body a:hover{border-color:#2f7a5c;}
.art-body ul,.art-body ol{padding-left:1.5rem;margin-bottom:1.1rem;}
.art-body li{margin-bottom:.4rem;font-family:'Crimson Pro',serif;font-size:17px;color:#24352c;}
.art-body blockquote{border-left:3px solid var(--c1);padding:.85rem 1.25rem;background:#eaf3ee;border-radius:0 var(--rs) var(--rs) 0;margin:1.25rem 0;font-style:italic;color:#2c4a3c;font-family:'Crimson Pro',serif;font-size:17px;}
.art-body strong{color:#0f1a14;}
.art-source{padding:.75rem 2.25rem;border-top:1px solid rgba(47,122,92,.12);background:#f6faf7;font-size:12px;color:#4f6b60;display:flex;align-items:center;gap:.5rem;}
.art-source a{color:#2f7a5c;}
.art-share{padding:1.25rem 2.25rem;border-top:1px solid rgba(47,122,92,.12);background:#f6faf7;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;font-size:12px;font-weight:600;color:#4f6b60;}
.share-btn{padding:.42rem .9rem;border-radius:var(--rs);background:#e3ede7;box-shadow:2px 2px 6px rgba(47,90,70,.15),-1px -1px 4px rgba(255,255,255,.8);color:#2c4a3c;font-size:11.5px;font-weight:500;transition:all .18s;border:none;cursor:pointer;}
.share-btn:hover{background:#d3e6da;color:#0f1a14;}
.article-aside{display:flex;flex-direction:column;gap:1rem;position:sticky;top:160px;}

/* LIBRO RECOMENDADO — widget en sidebar del artículo */
.w-libro{padding:1rem;display:flex;flex-direction:column;gap:.85rem;}
.w-libro-cover{width:100%;aspect-ratio:2/3;border-radius:var(--rs);overflow:hidden;box-shadow:var(--neu-in2);}
.w-libro-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.w-libro:hover .w-libro-cover img{transform:scale(1.03);}
.w-libro-title{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--c1);line-height:1.25;}
.w-libro-sub{font-family:'Crimson Pro',serif;font-size:12.5px;color:var(--text3);line-height:1.55;}
.w-libro-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .9rem;border-radius:var(--rs);background:var(--s2);box-shadow:var(--neu-out);color:var(--c4);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:box-shadow .18s;}
.w-libro-btn:hover{box-shadow:var(--neu-in);}

/* CATEGORY HERO */
.cat-hero{margin:1.5rem 2rem;background:var(--s1);box-shadow:var(--neu-lg);border-radius:20px;padding:2.25rem 2.75rem;display:flex;align-items:center;gap:1.75rem;position:relative;overflow:hidden;}
.cat-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 0% 50%,rgba(111,174,140,.05) 0%,transparent 60%);}
.cat-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,174,140,.18),transparent);opacity:.8;}
.cat-hero-icon{font-size:3.5rem;flex-shrink:0;position:relative;z-index:1;}
.cat-hero-title{font-family:'Playfair Display',serif;font-size:2.1rem;font-weight:700;color:var(--text);margin-bottom:.4rem;position:relative;z-index:1;letter-spacing:-.01em;}
.cat-hero-desc{font-family:'Crimson Pro',serif;font-size:14.5px;color:var(--text2);line-height:1.65;position:relative;z-index:1;margin-bottom:.5rem;}
.cat-hero-count{font-size:10.5px;color:var(--text3);letter-spacing:.1em;position:relative;z-index:1;text-transform:uppercase;}

/* SEARCH */
.search-hero{margin:1.5rem 2rem;background:var(--s1);box-shadow:var(--neu-lg);border-radius:20px;padding:2.25rem 2.75rem;position:relative;overflow:hidden;}
.search-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,174,140,.15),transparent);}
.search-big-wrap{display:flex;align-items:center;gap:.75rem;background:var(--s2);box-shadow:var(--neu-in);border-radius:var(--r);padding:.55rem .55rem .55rem 1rem;}
.search-big-wrap input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:'Inter',sans-serif;font-size:14px;}
.search-big-wrap input::placeholder{color:var(--text3);}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.48rem 1.1rem;border-radius:var(--rs);background:var(--s1);box-shadow:var(--neu-out);color:var(--c1);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;border:none;cursor:pointer;transition:all .18s;}
.btn-primary:hover{box-shadow:var(--neu-in);color:var(--text);}
.search-info{font-family:'Crimson Pro',serif;font-size:15px;color:var(--text2);margin-top:1rem;}
.search-results{display:flex;flex-direction:column;gap:1rem;padding:0 2rem;}
.sr-item{background:var(--s1);box-shadow:var(--neu-lg);border-radius:var(--r);display:flex;gap:1.25rem;padding:1.25rem;overflow:hidden;transition:transform .18s,box-shadow .18s;text-decoration:none;color:inherit;}
.sr-item:hover{transform:translateX(3px);box-shadow:10px 10px 26px var(--nd2),-4px -4px 14px var(--nl);}
.sr-thumb{width:110px;height:85px;border-radius:var(--rs);object-fit:cover;flex-shrink:0;}
.sr-thumb-ph{width:110px;height:85px;border-radius:var(--rs);background:var(--s2);box-shadow:var(--neu-in2);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0;}
.sr-body{flex:1;min-width:0;}
.sr-title{font-size:14.5px;font-weight:600;color:var(--text);margin-bottom:.35rem;line-height:1.35;letter-spacing:-.01em;}
.sr-excerpt{font-family:'Crimson Pro',serif;font-size:13px;color:var(--text3);line-height:1.55;margin-bottom:.5rem;}
mark{background:rgba(111,174,140,.18);color:inherit;border-radius:3px;padding:0 2px;}

/* PAGINATION */
.pagination{display:flex;gap:.35rem;justify-content:center;margin:1.5rem 2rem 1rem;}
.page-btn{width:32px;height:32px;border-radius:var(--rx);background:var(--s2);box-shadow:var(--neu-sm);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text2);transition:all .18s;text-decoration:none;}
.page-btn:hover{box-shadow:var(--neu-in);color:var(--text);}
.page-btn.active{box-shadow:var(--neu-in);color:var(--c1);}

/* ERROR PAGE */
.error-page{text-align:center;padding:6rem 2rem;max-width:480px;margin:0 auto;}
.error-page h1{font-family:'Playfair Display',serif;font-size:5rem;font-weight:700;color:var(--c1);line-height:1;}
.error-page h2{font-size:18px;font-weight:600;margin:.5rem 0 .75rem;}
.error-page p{font-family:'Crimson Pro',serif;font-size:15px;color:var(--text2);line-height:1.7;margin-bottom:2rem;}
.btn-acc{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.35rem;background:var(--s2);box-shadow:var(--neu-out);border-radius:var(--rs);color:var(--c1);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:all .18s;border:none;cursor:pointer;}
.btn-acc:hover{box-shadow:var(--neu-in);}

/* LEGAL */
.legal-wrap{max-width:860px;margin:0 auto 3rem;}
.legal-hero{text-align:center;padding:2.5rem 2rem 1.5rem;}
.legal-hero h1{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--text);margin-bottom:.4rem;}
.legal-hero p{font-size:12px;color:var(--text3);}
.legal-body{background:var(--s1);box-shadow:var(--neu-lg);border-radius:var(--r);padding:2rem 2.5rem;margin:0 2rem;}
.legal-body h2{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--text);margin:1.75rem 0 .65rem;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{font-family:'Crimson Pro',serif;font-size:15.5px;color:var(--text2);line-height:1.8;margin-bottom:.85rem;}
.legal-body a{color:var(--c1);}
.legal-body strong{color:var(--text);}
.legal-body code{background:var(--s2);padding:.1rem .4rem;border-radius:4px;font-size:13px;color:var(--c1);}

/* CONTACT FORM */
.field{margin-bottom:.95rem;}
.field label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:.4rem;}
.field input,.field textarea,.field select{width:100%;padding:.6rem .9rem;background:var(--s2);box-shadow:var(--neu-in);border:none;border-radius:var(--rs);color:var(--text);font-family:'Inter',sans-serif;font-size:13px;outline:none;transition:box-shadow .18s;resize:vertical;}
.field input:focus,.field textarea:focus{box-shadow:var(--neu-in),0 0 0 2px rgba(111,174,140,.18);}
.alert{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:var(--rs);margin-bottom:1.1rem;font-size:13px;}
.alert-success{background:rgba(122,158,126,.1);color:#9dc4a2;border:1px solid rgba(122,158,126,.2);}
.alert-error{background:rgba(196,96,112,.1);color:#e08090;border:1px solid rgba(196,96,112,.2);}

/* FOOTER */
footer{margin:3rem 2rem 1.75rem;background:var(--s1);box-shadow:var(--neu-lg);border-radius:20px;overflow:hidden;position:relative;}
footer::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,174,140,.12) 35%,rgba(201,168,105,.1) 65%,transparent);}
.ft-top{padding:2rem 2.25rem;}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.25rem;}
.ft-brand b{font-family:'Playfair Display',serif;font-size:14.5px;font-weight:700;color:var(--c1);display:block;margin-bottom:.55rem;}
.ft-brand p{font-family:'Crimson Pro',serif;font-size:13.5px;color:var(--text3);line-height:1.7;}
.ft-col h5{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);margin-bottom:.75rem;}
.ft-col a{display:block;font-size:12.5px;color:var(--text3);margin-bottom:.4rem;transition:color .18s;}
.ft-col a:hover{color:var(--text2);}
.ft-col a.dim{opacity:.3;cursor:default;pointer-events:none;}
.ft-bottom{border-top:1px solid rgba(255,255,255,.04);padding:1rem 2.25rem;display:flex;align-items:center;justify-content:space-between;font-size:10.5px;color:var(--text3);}
.ft-live{display:flex;align-items:center;gap:.45rem;}

/* ANIMATIONS */
.nc,.widget,.sr-item{animation:fu .35s ease both;}
@keyframes fu{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.g3 .nc:nth-child(2),.g4 .nc:nth-child(2){animation-delay:.06s;}
.g3 .nc:nth-child(3),.g4 .nc:nth-child(3){animation-delay:.12s;}
.g4 .nc:nth-child(4){animation-delay:.18s;}

/* RESPONSIVE — TABLET */
@media(max-width:1100px){
  .g4{grid-template-columns:repeat(2,1fr);}
  .ft-grid{grid-template-columns:1fr 1fr;}
  .hero{grid-template-columns:1fr;background-position:center;}
  .hero-right{display:none;}
  /* El sidebar deja de ser columna lateral: fluye bajo el artículo */
  .article-layout{grid-template-columns:1fr;}
  .article-aside{
    position:static;
    top:auto;
    flex-direction:row;
    flex-wrap:wrap;
    gap:1rem;
  }
  .article-aside > .widget{flex:1 1 280px;}
  .article-aside .w-libro-cover{max-width:200px;margin:0 auto;}
}

/* RESPONSIVE — MÓVIL */
@media(max-width:768px){
  .topbar-links{display:none;}
  .g3{grid-template-columns:1fr;}
  .g4{grid-template-columns:1fr;}
  .article-layout{grid-template-columns:1fr;padding:0 1rem;}
  .hero-left{padding:1.75rem;}
  .hero-stats{display:none;}
  .ft-grid{grid-template-columns:1fr;}
  .ft-bottom{flex-direction:column;gap:.5rem;text-align:center;}
  .cat-hero{padding:1.5rem;flex-direction:column;text-align:center;}
  .search-hero{padding:1.5rem;}
  .search-big-wrap{flex-direction:column;padding:.85rem;}
  .nav-main{display:none;}
  .legal-body{margin:0 1rem;padding:1.5rem;}

  /* ── NAVBAR MÓVIL: buscador y acceso pasan a una barra propia debajo ── */
  body{padding-top:160px;}
  .navbar{gap:1rem;padding:0 1rem;}

  /* La barra de buscador/acceso se fija justo bajo el navbar (42+66=108px) */
  .nav-r{
    position:fixed;
    top:108px;
    left:0;
    right:0;
    height:52px;
    margin-left:0;
    background:var(--s2);
    box-shadow:0 3px 10px var(--nd);
    display:flex;
    align-items:center;
    gap:.6rem;
    padding:0 1rem;
    z-index:295;
  }
  .nav-r .search-form{flex:1;min-width:0;}
  .search-wrap-nav{width:100%;height:36px;}
  .search-wrap-nav input{width:100%;flex:1;}
  .search-wrap-nav input:focus{width:100%;}
  .btn-access{flex-shrink:0;white-space:nowrap;}

  /* La catbar baja para dejar sitio a la barra de buscador */
  .catbar{height:34px;top:160px;padding:0 .75rem;}
  .cat-btn{font-size:10px;padding:.25rem .6rem;}

  /* Sidebar del artículo apilado en móvil */
  .article-aside{flex-direction:column;padding:0 1rem;}
  .article-aside > .widget{flex:1 1 auto;}
  .w-libro-cover{max-width:220px;margin:0 auto;}

  /* Hero móvil — se elimina todo el texto/imagen, solo queda el libro */
  .hero{
    grid-template-columns:1fr !important;
    background-image:none !important;
    background:transparent !important;
    box-shadow:none !important;
    margin:1rem 1rem 0 !important;
    min-height:0 !important;
  }
  .hero::before,.hero::after{display:none !important;}
  .hero-left{display:none !important;}

  /* Libro del hero — protagonista, grande y vertical */
  .hero-right{
    display:flex !important;
    background:var(--s1);
    box-shadow:var(--neu-lg);
    border-radius:20px;
    padding:1.25rem;
  }
  .hero-libro-card{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem;}
  .hero-libro-cover{width:100%;max-width:260px;margin:0 auto;}
  .hero-libro-info{align-items:center;text-align:center;}
  .hero-libro-title{font-size:19px;}
  .hero-libro-sub{font-size:13.5px;}
  .hero-libro-btn{align-self:center;padding:.55rem 1.4rem;font-size:11.5px;}
  .hero-right-title{text-align:center;border-bottom:none;padding-bottom:.75rem;}

  /* ── FIX TÍTULOS ARTÍCULO EN MÓVIL ── */
  .art-img-wrap{height:300px;}
  .art-title{font-size:1.15rem;line-height:1.28;letter-spacing:-.005em;}
  .art-subtitle{font-size:13.5px;line-height:1.6;margin-bottom:.75rem;}
  .art-header{padding:1.25rem 1rem 1rem;}
  .art-body{padding:1.25rem 1rem;}
  .art-body h2{font-size:1.1rem;margin:1.25rem 0 .6rem;}
  .art-body h3{font-size:0.95rem;margin:1rem 0 .45rem;}
  .art-body p,.art-body li{font-size:15px;line-height:1.78;}
  .art-body blockquote{font-size:15px;padding:.65rem 1rem;margin:.9rem 0;}
  .art-source,.art-share{padding:.75rem 1rem;}
  .art-meta{font-size:10.5px;gap:.5rem;}

  /* Tarjetas de noticias */
  .nc-body{padding:.85rem 1rem 1rem;}
  .nc-title{font-size:12.5px;line-height:1.38;}
  .nc-excerpt{font-size:12px;}

  /* Tarjeta featured */
  .feat-body{padding:1rem 1.1rem 1.25rem;}
  .feat-title{font-size:14px;line-height:1.32;}
  .feat-excerpt{font-size:13px;}

  /* Grids — menos padding lateral */
  .g3,.g4{padding:0 1rem;}

  /* Section headers */
  .sec-row{margin:1.5rem 1rem .65rem;}
  .sec-label{font-size:14px;}

  /* Breadcrumb */
  .breadcrumb{padding:.65rem 1rem;}
}

/* RESPONSIVE — MÓVIL PEQUEÑO */
@media(max-width:480px){
  .art-title{font-size:1.05rem;line-height:1.3;}
  .art-subtitle{font-size:13px;}
  .art-header{padding:1rem .85rem .85rem;}
  .art-body{padding:1rem .85rem;}
  .art-body h2{font-size:1rem;}
  .art-body h3{font-size:0.9rem;}
  .art-body p,.art-body li{font-size:14.5px;}
  .art-body blockquote{font-size:14.5px;}
}