/* ============================================================
   site.css — Mundo del Café · Creando Patria
   Paleta: Espresso oscuro, crema, dorado tostado, verde grano
   ============================================================ */
:root{
  /* Fondos — espresso oscuro / grano tostado */
  --bg:#0f0a06;--bg2:#0b0704;--s1:#1a120b;--s2:#20160d;--s3:#281c11;
  --nl:#3a2917;--nd:#050301;--nl2:#4a3520;--nd2:#030201;
  /* Acentos */
  --c1:#c98a5a;   /* café con leche / caramelo */
  --c2:#a5794f;   /* madera tostada */
  --c3:#7a4a2a;   /* café espresso */
  --c4:#d4a860;   /* dorado crema */
  --c5:#8aa06a;   /* verde grano / especialidad */
  --c6:#8f6b4c;   /* moka */
  /* Textos */
  --text:#ecdfce;--text2:#9a8168;--text3:#5f4a37;--text4:#3d2e20;
  /* 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:152px;}
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(212,168,96,.6);}60%{box-shadow:0 0 0 5px rgba(212,168,96,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(201,138,90,.15) 30%,rgba(212,168,96,.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 */
.hero{margin:1.5rem 2rem;background:var(--s1);box-shadow:var(--neu-lg);border-radius:20px;overflow:hidden;position:relative;display:grid;grid-template-columns:1fr 300px;min-height:255px;}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 90% at 0% 50%,rgba(201,138,90,.05) 0%,transparent 60%),radial-gradient(ellipse 45% 70% at 100% 0%,rgba(139,58,90,.04) 0%,transparent 55%);}
.hero::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,138,90,.2) 30%,rgba(212,168,96,.15) 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;}
.hero-right{background:var(--s2);box-shadow:inset 3px 0 8px rgba(0,0,0,.25);display:flex;flex-direction:column;padding:1.25rem;gap:.4rem;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,.05);margin-bottom:.25rem;}

/* 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%,#2a1a0d 0%,#0f0805 100%);}
.tc2{background:radial-gradient(ellipse at 40% 30%,#241608 0%,#0e0905 100%);}
.tc3{background:radial-gradient(ellipse at 40% 30%,#2a1608 0%,#0f0704 100%);}
.tc4{background:radial-gradient(ellipse at 40% 30%,#241d05 0%,#0d0b04 100%);}
.tc5{background:radial-gradient(ellipse at 40% 30%,#111a08 0%,#080c05 100%);}
.tc6{background:radial-gradient(ellipse at 40% 30%,#1c130a 0%,#0a0805 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(201,138,90,.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(201,138,90,.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{overflow:hidden;}
.art-img{width:100%;max-height:460px;object-fit:cover;display:block;}
.art-body{padding:2rem 2.25rem;font-size:15.5px;line-height:1.8;background:#fdf8f5;color:#2a1a14;border-radius:0 0 var(--r) var(--r);}
.art-body h2{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:700;color:#1a0e0a;margin:1.75rem 0 .85rem;letter-spacing:-.01em;}
.art-body h3{font-size:1.05rem;font-weight:600;color:#2a1a14;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:#3a2218;}
.art-body a{color:#8b3a20;border-bottom:1px solid rgba(139,58,32,.3);}
.art-body a:hover{border-color:#8b3a20;}
.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:#3a2218;}
.art-body blockquote{border-left:3px solid var(--c1);padding:.85rem 1.25rem;background:#f5ede7;border-radius:0 var(--rs) var(--rs) 0;margin:1.25rem 0;font-style:italic;color:#5a3020;font-family:'Crimson Pro',serif;font-size:17px;}
.art-body strong{color:#1a0e0a;}
.art-source{padding:.75rem 2.25rem;border-top:1px solid rgba(139,58,32,.12);background:#fdf8f5;font-size:12px;color:#7a5a4a;display:flex;align-items:center;gap:.5rem;}
.art-source a{color:#8b3a20;}
.art-share{padding:1.25rem 2.25rem;border-top:1px solid rgba(139,58,32,.12);background:#fdf8f5;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;font-size:12px;font-weight:600;color:#7a5a4a;}
.share-btn{padding:.42rem .9rem;border-radius:var(--rs);background:#efe5de;box-shadow:2px 2px 6px rgba(139,58,32,.15),-1px -1px 4px rgba(255,255,255,.8);color:#5a3020;font-size:11.5px;font-weight:500;transition:all .18s;border:none;cursor:pointer;}
.share-btn:hover{background:#e8d5cb;color:#1a0e0a;}
.article-aside{display:flex;flex-direction:column;gap:1rem;position:sticky;top:160px;}

/* 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(201,138,90,.05) 0%,transparent 60%);}
.cat-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,138,90,.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(201,138,90,.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(201,138,90,.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(201,138,90,.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(201,138,90,.12) 35%,rgba(212,168,96,.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;}
  .hero-right{display:none;}
  .article-layout{grid-template-columns:1fr;}
  .article-aside{display:none;}
}

/* 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{flex-wrap:wrap;gap:.75rem;}
  .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;}
  .navbar{gap:1rem;padding:0 1rem;}
  .nav-main{display:none;}
  .legal-body{margin:0 1rem;padding:1.5rem;}

  /* Catbar móvil compacta */
  .catbar{height:34px;top:88px;padding:0 .75rem;}
  .cat-btn{font-size:10px;padding:.25rem .6rem;}

  /* Hero móvil */
  .hero{grid-template-columns:1fr !important;}
  .hero-left-desktop{display:none !important;}
  .hero-right-desktop{display:none !important;}
  .hero-libro{
    border-radius:var(--r) !important;
    padding:1.75rem 1.25rem !important;
    min-height:auto !important;
  }

  /* ── FIX TÍTULOS ARTÍCULO EN MÓVIL ── */

  /* Título principal */
  .art-title{
    font-size:1.15rem;
    line-height:1.28;
    letter-spacing:-.005em;
  }

  /* Subtítulo */
  .art-subtitle{
    font-size:13.5px;
    line-height:1.6;
    margin-bottom:.75rem;
  }

  /* Cabecera artículo — menos padding lateral */
  .art-header{
    padding:1.25rem 1rem 1rem;
  }

  /* Cuerpo artículo — menos padding lateral */
  .art-body{
    padding:1.25rem 1rem;
  }

  /* H2 dentro del cuerpo */
  .art-body h2{
    font-size:1.1rem;
    margin:1.25rem 0 .6rem;
  }

  /* H3 dentro del cuerpo */
  .art-body h3{
    font-size:0.95rem;
    margin:1rem 0 .45rem;
  }

  /* Párrafos y listas */
  .art-body p,
  .art-body li{
    font-size:15px;
    line-height:1.78;
  }

  /* Blockquote */
  .art-body blockquote{
    font-size:15px;
    padding:.65rem 1rem;
    margin:.9rem 0;
  }

  /* Fuente y compartir */
  .art-source,
  .art-share{
    padding:.75rem 1rem;
  }

  /* Meta info artículo */
  .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;
  }
}
