/*
Theme Name: Anecdonet Minimal V9
Theme URI: https://www.anecdonet.com/
Author: Anecdonet
Description: Tema ligero y responsive para Anecdonet. Mantiene la portada construida con WordPress/SiteOrigin y optimiza las plantillas de posts, páginas, categorías, etiquetas y footer.
Version: 10.0.0
Text Domain: anecdonet-minimal
License: GNU General Public License v2 or later
*/

:root{--text:#111;--muted:#666;--line:#d7d7d7;--red:#b1262b;--max:1600px;--rail:50px;--reading:1100px}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}
body.admin-bar .aside-menu{top:32px}
a{color:#1769aa;text-decoration:none}
a:hover,a:focus{text-decoration:underline}
img,video,iframe,embed,object{max-width:100%;height:auto}
iframe{border:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Lateral: mismo concepto visual que la web actual, sin icon-font externo. */
.aside-menu{position:fixed;z-index:1000;left:0;top:0;width:50px;height:100vh;background:#fff;border-right:1px solid #eee}
.nav-panel{width:50px;height:100%;background:#fff}
.trigger-nav{padding-top:10px;text-align:center}
.trigger-icon{display:block;width:35px;height:25px;margin:0 auto;position:relative;cursor:pointer}
.trigger-icon .icon-bar{position:absolute;left:0;width:35px;height:2px;background:#111;transition:transform .18s ease,opacity .18s ease}
.trigger-icon .top{top:0}.trigger-icon .middle{top:10px}.trigger-icon .bottom{top:20px}
.nav-toogle[aria-expanded="true"] .top{top:10px;transform:rotate(45deg)}
.nav-toogle[aria-expanded="true"] .middle{opacity:0}
.nav-toogle[aria-expanded="true"] .bottom{top:10px;transform:rotate(-45deg)}
.asidepanel-icon{padding-top:20px;text-align:center}
.asidepanel-icon__item{margin:0 0 20px}
.contact-icons a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#444;text-decoration:none}
.icon-svg{width:21px;height:21px;display:block;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.menu-panel{position:fixed;z-index:900;left:-310px;top:0;width:260px;height:100vh;padding:0 20px;background:#f7f8f9;border-right:1px solid #ddd;box-shadow:8px 0 24px rgba(0,0,0,.08);overflow:auto;transition:left .18s ease}
body.extended-menu .menu-panel{left:50px}
body.extended-menu .site-content{margin-left:310px}
.menu-panel-wrapper{padding-top:30px}.site-branding{margin:0 0 30px}.site-title{margin:0;font-size:30px;line-height:1.1;font-weight:700;text-transform:uppercase;color:#111}.site-title a{color:inherit;text-decoration:none}.site-description{font-size:13px;color:#666;margin:10px 0 0}
.main-navigation ul{list-style:none;margin:0;padding:0}.main-navigation li{position:relative;border-bottom:1px solid #e5e5e5}.main-navigation a{display:block;padding:10px 4px;color:#111;font-size:15px;text-decoration:none;text-transform:uppercase}.main-navigation a:hover,.main-navigation a:focus{color:var(--red)}.main-navigation .sub-menu{display:none;padding-left:14px}.main-navigation li.submenu-open>.sub-menu{display:block}.menu-arrow{position:absolute;right:4px;top:7px;width:30px;height:30px;border:0;background:transparent}.menu-arrow:before{content:"";display:block;width:8px;height:8px;border-right:1px solid #111;border-bottom:1px solid #111;transform:rotate(45deg);margin:7px auto}.submenu-open>.menu-arrow:before{transform:rotate(225deg);margin-top:11px}

#page{min-height:100vh}.site-content{position:relative;margin-left:50px;padding:0 18px 30px;transition:margin-left .18s ease}.content-inner-wrapper{width:100%;max-width:var(--max);margin:0 auto}.content-area{width:100%}.site-main{width:100%}

/* Cabecera de posts, páginas, categorías y etiquetas. */
.inner-banner{border:0;margin:0 auto;max-width:var(--max);padding:10px 0 0}.inner-banner .entry-title{margin:0;padding:8px 10px 16px;text-align:center;color:#111;font-size:clamp(30px,3vw,46px);font-weight:300;letter-spacing:-.015em;line-height:1.15;text-transform:uppercase;border-bottom:1px solid var(--line)}
.entry-title span,.entry-title em,.entry-title i{font-style:normal}

/* El banner actual de Anecdonet sigue siendo externo y automático. */
.anecdonet-banner{width:100%;max-width:1600px;text-align:center;margin:0 auto 24px;overflow:hidden}

/* Posts y páginas */
.hentry{margin:0}.entry-content{width:100%;max-width:var(--max);margin:0 auto}.single .entry-content,.page .entry-content{position:relative}.single-post{width:100%}
.single .entry-content>p,.single .entry-content>ul,.single .entry-content>ol,.single .entry-content>blockquote,.single .entry-content>h2,.single .entry-content>h3,.single .entry-content>h4,.single .entry-content>h5,.single .entry-content>h6{max-width:1100px;margin-left:auto;margin-right:auto}
.entry-content p{margin:0 0 1.45em;line-height:1.65}.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{line-height:1.3;font-weight:400}.entry-content h2{font-size:28px}.entry-content h3{font-size:24px}.entry-content h4{font-size:20px}.entry-content h5{font-size:18px}.entry-content h6{font-size:16px}
.entry-content img{max-width:100%;height:auto}.entry-content figure{margin:1.5em auto;max-width:100%}.entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.entry-content th,.entry-content td{padding:8px;border:1px solid #ddd}.entry-content pre{max-width:100%;overflow:auto;padding:15px;background:#f6f6f6}.entry-content blockquote{margin:1.5em 0;padding:10px 20px;border-left:3px solid var(--red);background:#fafafa}
.alignwide{width:auto;max-width:none;margin-left:-15px;margin-right:-15px}.alignfull{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

/* Bloques y SiteOrigin: no se modifica el contenido de la portada; solo se evita overflow. */
.panel-layout,.panel-grid,.panel-grid-cell,.so-panel,.siteorigin-widget-tinymce,.textwidget{min-width:0;max-width:100%}.panel-grid img,.so-panel img,.siteorigin-widget-tinymce img{max-width:100%;height:auto}.panel-grid iframe,.so-panel iframe{max-width:100%}
.wp-easy-query{max-width:100%}.wp-easy-query img{display:block;max-width:100%;height:auto}.wp-easy-query ul{margin:0;padding:0;list-style:none}.wp-easy-query .post-thumb{position:relative;max-width:100%}.wp-easy-query .post-thumb img{width:100%;height:auto}.wp-easy-query .entry-header h4{margin:0 0 18px;font-size:18px;line-height:1.3}.grid-item-overlay{position:absolute;inset:0;background:rgba(0,0,0,.64);opacity:0;transition:opacity .2s ease}.post-thumb:hover .grid-item-overlay,.post-thumb:focus-within .grid-item-overlay{opacity:1}.grid-item-overlay a{display:block;width:100%;height:100%}

/* Archives: mantém a estética de Anecdonet, mas troca Masonry/JS por CSS Grid. */
.archive-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px;margin:16px auto 40px;max-width:var(--max)}
.archive-card{text-align:center;min-width:0}.archive-card .post-thumb{position:relative;margin:0 0 12px}.archive-card .post-thumb img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px}.archive-card .entry-title{margin:0;font-size:19px;line-height:1.25;text-transform:none;font-weight:600}.archive-card .entry-title a{color:#111}.archive-card .entry-title a:hover{color:var(--red)}
.pagination{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:25px 0 40px}.pagination a,.pagination span{display:inline-block;padding:7px 11px;border:1px solid #ddd;color:#222;text-decoration:none}.pagination .current{background:#222;color:#fff;border-color:#222}

/* Footer automático de posts/páginas/categorías/etiquetas. */
.site-footer{clear:both;background:#fff;color:#4a4a4a}.footer-widget-area{max-width:var(--max);margin:0 auto;padding:20px 0 50px}.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.footer-column{text-align:center;min-width:0}.footer-heading{font-size:18px;font-weight:400;margin:0;padding:10px;background:#fff;color:#111;text-transform:uppercase}.footer-column hr{border:0;border-top:1px solid #ddd;margin:0 0 18px}.footer-column .widget{margin:0 0 20px}.footer-column .widget-title{font-size:16px;font-weight:400}.footer-column img,.footer-column iframe,.footer-column video{max-width:100%;height:auto}
.topic-heading{font-size:18px!important;font-weight:400!important;text-align:center;text-transform:uppercase;background:#fff;padding:10px;margin:25px 0 0!important}.topic-divider{border:0;border-top:1px solid #ddd;margin:0 0 18px}.entry-meta-cat{font-size:15px;text-align:center}.entry-meta-cat a{color:#111}.entry-meta-cat a:hover{color:var(--red)}

/* Cookie banner existente, sin depender de scripts/librerías del tema. */
.cookie-banner-style{position:fixed;z-index:999999;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #eaeaea;box-shadow:0 -2px 8px rgba(0,0,0,.06);padding:8px 16px}.cookie-container{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px}.cookie-banner-style p{margin:0;font-size:13px;line-height:1.4;color:#333}.cookie-buttons{display:flex;gap:6px;flex-shrink:0}.cookie-banner-style button,.cookie-banner-style a.btn-adjust{padding:4px 10px;border-radius:3px;font-size:12px;line-height:1.2;text-decoration:none}.btn-adjust{background:#f0f0f0;color:#333;border:1px solid #dcdcdc}.btn-accept{background:brown;color:#fff;border:1px solid brown}.cookie-banner-hidden{opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .4s,transform .4s}

.scroll-up{position:fixed;right:18px;bottom:18px;width:40px;height:40px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .2s}.scroll-up.is-visible{opacity:1;pointer-events:auto}.scroll-up:before{content:"";width:8px;height:8px;border-left:2px solid #fff;border-top:2px solid #fff;transform:rotate(45deg);margin-top:4px}

/* WordPress core responsiveness. */
.wp-block-gallery,.wp-block-columns,.wp-block-media-text,.wp-block-table{max-width:100%}.wp-block-columns{gap:20px}.wp-block-embed,.wp-block-video,.wp-block-image{max-width:100%}.wp-block-embed iframe{max-width:100%}

@media (max-width:991px){body.admin-bar .aside-menu{top:46px}.menu-panel{width:280px}.site-content{margin-left:50px}.inner-banner .entry-title{font-size:32px}.archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-widget-area{padding-left:10px;padding-right:10px}}
@media (max-width:680px){
  /* =========================================================
     MÓVIL — compacto y proporcionado.
     No modifica la portada ni la estructura de WordPress.
     ========================================================= */
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{font-size:15px;line-height:1.5}

  /* Barra superior negra */
  .aside-menu{
    position:fixed;
    z-index:10000;
    left:0;
    top:0;
    width:100%;
    height:58px;
    background:#050505;
    border:0;
  }
  body.admin-bar .aside-menu{top:46px}
  .nav-panel{
    width:100%;
    height:58px;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 12px 0 16px;
  }
  .trigger-nav{
    order:1;
    margin:0 auto 0 0;
    padding:0;
    text-align:left;
    flex:0 0 auto;
  }
  .trigger-icon{
    width:34px;
    height:27px;
    padding:0;
    border:0;
    background:transparent;
  }
  .trigger-icon .icon-bar{
    left:0;
    width:34px;
    height:2px;
    background:#fff;
  }
  .trigger-icon .top{top:2px}
  .trigger-icon .middle{top:12px}
  .trigger-icon .bottom{top:22px}
  .nav-toogle[aria-expanded="true"] .top{top:12px}
  .nav-toogle[aria-expanded="true"] .bottom{top:12px}

  /* Iconos compactos, como en la referencia móvil. */
  .asidepanel-icon{
    order:2;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    flex:0 0 auto;
  }
  .asidepanel-icon__item{margin:0;display:flex;align-items:center}
  .asidepanel-icon__item:nth-child(1){order:5}
  .asidepanel-icon__item:nth-child(2){order:4}
  .asidepanel-icon__item:nth-child(3){order:3}
  .asidepanel-icon__item:nth-child(4){order:2}
  .contact-icons{display:flex;align-items:center;justify-content:center}
  .contact-icons a{width:30px;height:30px;color:#fff}
  .icon-svg{width:23px;height:23px;stroke-width:1.4}

  /* Banderas */
  .asidepanel-icon .gtranslate_wrapper,
  .asidepanel-icon .gt_switcher,
  .asidepanel-icon .gt_float_switcher,
  .asidepanel-icon .gt-current-lang,
  .asidepanel-icon [class*="gtranslate"]{
    display:flex!important;
    align-items:center;
    justify-content:center;
  }
  .asidepanel-icon img{max-width:26px!important;height:auto!important}

  /* Menú lateral: pequeño, fijo y sin desplazar el contenido. */
  .menu-panel{
    position:fixed;
    z-index:10500;
    left:-100%;
    top:58px;
    width:64vw;
    max-width:310px;
    min-width:250px;
    height:calc(100dvh - 58px);
    padding:0;
    background:#f5f6f8;
    border:0;
    box-shadow:8px 0 24px rgba(0,0,0,.10);
    overflow-y:auto;
    overflow-x:hidden;
    transition:left .2s ease;
  }
  body.extended-menu .menu-panel{left:0}
  body.extended-menu .site-content{margin-left:0}

  .menu-panel-wrapper{padding:34px 24px 42px}
  .site-branding{margin:0 0 38px}
  .site-title{
    font-family:Arial,Helvetica,sans-serif;
    font-size:25px;
    line-height:1.05;
    letter-spacing:.035em;
    font-weight:700;
  }
  .site-description{
    font-family:Arial,Helvetica,sans-serif;
    font-size:12px;
    line-height:1.65;
    letter-spacing:.08em;
    color:#111;
    margin:11px 0 0;
    max-width:245px;
  }

  /* MENU EN MAYÚSCULAS */
  .main-navigation ul{margin:0;padding:0}
  .main-navigation li{border:0}
  .main-navigation a{
    display:block;
    padding:0;
    margin:0 0 20px;
    color:#111;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    line-height:1.25;
    font-weight:400;
    letter-spacing:.045em;
    text-transform:uppercase;
  }
  .main-navigation a:hover,
  .main-navigation a:focus{color:var(--red);text-decoration:none}
  .main-navigation .sub-menu{padding-left:12px}
  .main-navigation .sub-menu a{font-size:13px;margin-bottom:14px}
  .menu-arrow{right:-2px;top:-7px;width:26px;height:26px}

  /* Contenido: nada de escala gigante ni desplazamiento horizontal. */
  #page{min-height:100vh}
  .site-content{
    margin-left:0;
    padding:58px 12px 24px;
    transition:none;
    min-width:0;
    width:100%;
  }
  body.admin-bar .site-content{padding-top:104px}
  .content-inner-wrapper{width:100%;max-width:none;min-width:0}
  .content-area,.site-main,.entry-content{min-width:0;max-width:100%}

  /* Títulos */
  .inner-banner{padding:16px 2px 0;max-width:none}
  .inner-banner .entry-title{
    font-family:Arial,Helvetica,sans-serif;
    font-size:clamp(23px,6vw,31px);
    line-height:1.14;
    font-weight:400;
    letter-spacing:-.015em;
    padding:0 3px 12px;
    border-bottom:1px solid #d4d4d4;
  }

  .entry-content p,.entry-content ul,.entry-content ol,.entry-content blockquote,
  .entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,
  .entry-content h5,.entry-content h6{max-width:100%;overflow-wrap:anywhere}
  .entry-content img,.entry-content figure,.entry-content table,.entry-content iframe,
  .entry-content video,.entry-content embed,.entry-content object{max-width:100%!important}
  .entry-content iframe{width:100%}
  .alignfull,.alignwide{width:100%!important;margin-left:0!important;margin-right:0!important}

  /* Archives / categorías / etiquetas */
  .archive-list{
    grid-template-columns:1fr;
    gap:28px;
    width:100%;
    margin:18px auto 30px;
  }
  .archive-card{width:100%;text-align:center}
  .archive-card .post-thumb{margin-bottom:10px}
  .archive-card .post-thumb img{
    width:100%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
  }
  .archive-card .entry-title{
    font-size:21px;
    line-height:1.16;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:-.01em;
  }

  /* Footer en una columna, con ancho natural para seguir haciendo scroll. */
  .site-footer{width:100%;overflow:hidden}
  .footer-widget-area{padding:22px 8px 44px}
  .footer-grid{display:grid;grid-template-columns:1fr;gap:30px;width:100%}
  .footer-column{width:100%;min-width:0;text-align:center;overflow:hidden}
  .footer-heading{font-size:20px;line-height:1.2;padding:0 0 10px;font-weight:400}
  .footer-column hr{margin:0 0 16px}
  .footer-column .widget{max-width:100%;overflow:hidden}
  .footer-column img,.footer-column iframe,.footer-column video{max-width:100%!important}
  .topic-heading{font-size:17px!important}

  .scroll-up{right:10px;bottom:10px;width:42px;height:42px}

  .cookie-container{flex-direction:column;text-align:center;gap:8px;padding:0 4px}
  .cookie-buttons{justify-content:center;flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:25px 0 40px}.nav-links a,.nav-links span{display:inline-block;padding:7px 11px;border:1px solid #ddd;color:#222;text-decoration:none}.nav-links .current{background:#222;color:#fff;border-color:#222}.wp-block-siteorigin-panels-layout-block{max-width:100%}

/* ANECDONET — AJUSTE MÓVIL FINAL
   Menú compacto tipo panel. No modifica escritorio ni la portada.
*/
@media (max-width:680px){

  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  /* Barra superior */
  .mobile-header,
  .mobile-topbar,
  .site-header{
    min-height:52px!important;
    height:52px!important;
  }

  /* El selector real del menú de Anecdonet */
  .menu-panel{
    position:fixed!important;
    z-index:10500!important;
    top:52px!important;
    left:-100%!important;

    /* MUCHO MÁS PEQUEÑO */
    width:52vw!important;
    max-width:245px!important;
    min-width:0!important;

    height:calc(100dvh - 52px)!important;
    padding:0!important;

    background:#f5f6f8!important;
    box-shadow:5px 0 18px rgba(0,0,0,.12)!important;

    overflow-x:hidden!important;
    overflow-y:auto!important;

    transition:left .18s ease!important;
  }

  body.extended-menu .menu-panel{
    left:0!important;
  }

  /* Contenedor interior */
  .menu-panel-wrapper{
    padding:20px 16px 28px!important;
  }

  /* Cabecera del menú */
  .menu-panel .site-branding{
    margin:0 0 22px!important;
  }

  .menu-panel .site-title{
    font-size:19px!important;
    line-height:1.05!important;
    letter-spacing:.02em!important;
    font-weight:700!important;
  }

  .menu-panel .site-description{
    font-size:9px!important;
    line-height:1.4!important;
    letter-spacing:.045em!important;
    margin:7px 0 0!important;
    max-width:100%!important;
  }

  /* MENÚ EN MAYÚSCULAS — compacto */
  .menu-panel .main-navigation ul{
    margin:0!important;
    padding:0!important;
  }

  .menu-panel .main-navigation li{
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  .menu-panel .main-navigation a{
    display:block!important;
    margin:0!important;
    padding:6px 0!important;

    font-family:Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:400!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;

    color:#111!important;
  }

  .menu-panel .main-navigation a:hover,
  .menu-panel .main-navigation a:focus{
    color:var(--red)!important;
  }

  .menu-panel .main-navigation .sub-menu{
    margin:0!important;
    padding:0 0 0 8px!important;
  }

  .menu-panel .main-navigation .sub-menu a{
    font-size:10px!important;
    padding:4px 0!important;
  }

  .menu-panel .menu-arrow{
    width:20px!important;
    height:20px!important;
    right:0!important;
    top:1px!important;
  }

  /* Botón hamburguesa */
  .menu-toggle,
  .mobile-menu-toggle,
  button.menu-toggle{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    padding:5px!important;
    font-size:16px!important;
  }

  /* Acciones de la barra superior */
  .mobile-actions,
  .header-actions,
  .mobile-header-actions{
    gap:6px!important;
  }

  .mobile-actions a,
  .header-actions a,
  .mobile-header-actions a{
    font-size:12px!important;
  }

  /* Contenido móvil */
  .site-content{
    margin-left:0!important;
    padding:52px 12px 24px!important;
    width:100%!important;
    min-width:0!important;
  }

  body.admin-bar .site-content{
    padding-top:98px!important;
  }

  .content-inner-wrapper,
  .content-area,
  .site-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Títulos */
  .inner-banner .entry-title{
    font-size:clamp(23px,6vw,30px)!important;
    line-height:1.12!important;
  }

  /* Imágenes y contenido */
  .entry-content img,
  .entry-content iframe,
  .entry-content video,
  .entry-content embed,
  .entry-content object{
    max-width:100%!important;
    height:auto;
  }

  .entry-content iframe{
    width:100%!important;
  }

  /* Categorías / etiquetas */
  .archive-list{
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:22px!important;
  }

  /* Footer */
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
}


/* MOBILE MENU VISIBILITY FIX
   Keeps the menu narrow while ensuring the actual navigation is visible.
*/
@media (max-width: 680px) {

  .aside-menu {
    width: 44px !important;
    z-index: 11000 !important;
  }

  .nav-panel {
    width: 44px !important;
  }

  .menu-panel {
    position: fixed !important;
    top: 52px !important;
    left: -300px !important;
    width: 54vw !important;
    max-width: 245px !important;
    min-width: 0 !important;
    height: calc(100dvh - 52px) !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #f7f8f9 !important;
    color: #111 !important;
    z-index: 12000 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  body.extended-menu .menu-panel {
    left: 44px !important;
  }

  body.extended-menu .site-content {
    margin-left: 44px !important;
  }

  .menu-panel-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 22px 15px 28px !important;
  }

  .menu-panel .site-branding,
  .menu-panel .main-navigation,
  .menu-panel .main-navigation > div,
  .menu-panel .main-navigation ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .menu-panel .site-branding {
    margin: 0 0 18px !important;
  }

  .menu-panel .site-title,
  .menu-panel .site-title a {
    display: block !important;
    color: #111 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 19px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    visibility: visible !important;
  }

  .menu-panel .site-description {
    display: block !important;
    color: #555 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    margin: 7px 0 0 !important;
    visibility: visible !important;
  }

  .menu-panel .main-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .menu-panel .main-navigation li {
    display: block !important;
    position: relative !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
  }

  .menu-panel .main-navigation a {
    display: block !important;
    color: #111 !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    visibility: visible !important;
  }

  .menu-panel .main-navigation a:hover,
  .menu-panel .main-navigation a:focus {
    color: #b1262b !important;
  }

  .menu-panel .main-navigation .sub-menu {
    display: none !important;
    padding: 0 0 0 9px !important;
  }

  .menu-panel .main-navigation li.submenu-open > .sub-menu {
    display: block !important;
  }

  .menu-panel .main-navigation .sub-menu a {
    font-size: 10px !important;
    padding: 5px 0 !important;
  }

  .menu-panel .menu-arrow {
    display: block !important;
    right: -2px !important;
    top: 1px !important;
    width: 24px !important;
    height: 24px !important;
    color: #111 !important;
    z-index: 2 !important;
  }

  /* Compact top bar */
  .trigger-nav {
    padding-top: 9px !important;
  }

  .trigger-icon,
  .trigger-icon .icon-bar {
    width: 29px !important;
  }

  .trigger-icon {
    height: 23px !important;
  }

  .trigger-icon .icon-bar {
    height: 2px !important;
  }

  .asidepanel-icon {
    padding-top: 12px !important;
  }

  .asidepanel-icon__item {
    margin-bottom: 10px !important;
  }

  .contact-icons a {
    width: 28px !important;
    height: 28px !important;
  }

  .icon-svg {
    width: 19px !important;
    height: 19px !important;
  }

  .asidepanel-icon img {
    max-width: 22px !important;
  }
}


/* FINAL VISUAL FIXES
   Menu icons/text visibility, post title and "TEMAS TRATADOS".
*/
.contact-icons a,
.contact-icons a:visited,
.contact-icons a:hover,
.contact-icons a:focus {
  color: #111 !important;
  opacity: 1 !important;
}

.contact-icons .icon-svg,
.contact-icons svg,
.contact-icons svg * {
  color: #111 !important;
  stroke: #111 !important;
  fill: none !important;
  opacity: 1 !important;
}

/* Keep the post title clean: one separator only. */
.inner-banner {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.inner-banner .entry-title {
  border-top: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  padding-top: 8px !important;
  padding-bottom: 16px !important;
  text-transform: none !important;
  font-weight: 400 !important;
}

/* The heading used by the post's "TEMAS TRATADOS" block. */
.single .entry-content h4 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Prevent an adjacent separator from creating a second line. */
.single .entry-content h4 + hr,
.single .entry-content h4 + .topic-divider {
  border-top: 0 !important;
  height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Mobile: make sure the actual menu panel and its contents are visible. */
@media (max-width: 680px) {
  .menu-panel {
    color: #111 !important;
    background: #f7f8f9 !important;
  }

  .menu-panel *,
  .menu-panel a,
  .menu-panel a:visited {
    color: #111 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .menu-panel .main-navigation,
  .menu-panel .main-navigation > div,
  .menu-panel .main-navigation ul,
  .menu-panel .main-navigation li {
    visibility: visible !important;
    opacity: 1 !important;
  }

  .menu-panel .main-navigation a {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    text-transform: uppercase !important;
  }

  .menu-panel .site-title,
  .menu-panel .site-title a {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  .menu-panel .site-description {
    color: #555 !important;
    -webkit-text-fill-color: #555 !important;
  }

  .menu-panel .menu-arrow {
    color: #111 !important;
    opacity: 1 !important;
  }

  /* Icons in the mobile rail must remain dark/visible. */
  .asidepanel-icon,
  .asidepanel-icon__item,
  .contact-icons {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .contact-icons a,
  .contact-icons a:visited {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  .contact-icons .icon-svg,
  .contact-icons svg,
  .contact-icons svg * {
    stroke: #111 !important;
    fill: none !important;
    color: #111 !important;
  }

  /* One clean separator under the post title on mobile too. */
  .inner-banner .entry-title {
    border-top: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    text-transform: none !important;
    font-weight: 400 !important;
  }

  .single .entry-content h4 {
    text-align: center !important;
  }
}


/* ICON VISIBILITY + POST TITLE FINAL FIX */
.contact-icons a {
  color: #111 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #111 !important;
}

.contact-icons a svg,
.contact-icons a svg path,
.contact-icons a svg circle,
.contact-icons a svg rect,
.contact-icons a svg line,
.contact-icons a svg polyline,
.contact-icons a svg polygon {
  opacity: 1 !important;
  visibility: visible !important;
  stroke: #111 !important;
  stroke-opacity: 1 !important;
  fill: none !important;
  color: #111 !important;
}

.trigger-icon .icon-bar {
  background-color: #111 !important;
  opacity: 1 !important;
}

.single .inner-banner .entry-title {
  text-transform: none !important;
  font-weight: 400 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
}

.single .entry-content h4 {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile: explicitly render the rail icons dark; do not inherit white from the mobile header. */
@media (max-width: 680px) {
  .aside-menu,
  .nav-panel,
  .trigger-nav,
  .asidepanel-icon,
  .asidepanel-icon__item,
  .contact-icons {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .asidepanel-icon .contact-icons a {
    color: #111 !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-text-fill-color: #111 !important;
  }

  .asidepanel-icon .contact-icons a svg,
  .asidepanel-icon .contact-icons a svg *,
  .asidepanel-icon .contact-icons a svg path,
  .asidepanel-icon .contact-icons a svg circle,
  .asidepanel-icon .contact-icons a svg rect {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    stroke: #111 !important;
    stroke-opacity: 1 !important;
    fill: none !important;
    color: #111 !important;
  }

  .asidepanel-icon .contact-icons a svg {
    width: 21px !important;
    height: 21px !important;
  }

  .trigger-icon,
  .trigger-icon .icon-bar {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .single .inner-banner .entry-title {
    border-top: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    margin-top: 14px !important;
    padding-top: 4px !important;
    padding-bottom: 14px !important;
  }

  .single .entry-content h4 {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
  }
}


/* MOBILE MENU FINAL: NO SHIFT + DARK ICONS */
@media (max-width: 680px) {

  /* The page NEVER moves when the menu opens. */
  body.extended-menu .site-content,
  body.extended-menu main,
  body.extended-menu .site-main {
    margin-left: 0 !important;
    transform: none !important;
  }

  /* Menu opens as an overlay, without pushing the page. */
  .menu-panel {
    position: fixed !important;
    top: 52px !important;
    left: -260px !important;
    width: min(54vw, 245px) !important;
    max-width: 245px !important;
    height: calc(100dvh - 52px) !important;
    margin: 0 !important;
    padding: 20px 15px 28px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 20000 !important;
    background: #f7f7f7 !important;
    color: #111 !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: left .22s ease !important;
  }

  body.extended-menu .menu-panel {
    left: 44px !important;
  }

  .menu-panel,
  .menu-panel *,
  .menu-panel a,
  .menu-panel a:visited {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  .menu-panel .main-navigation,
  .menu-panel .main-navigation > div,
  .menu-panel .main-navigation ul,
  .menu-panel .main-navigation li,
  .menu-panel .main-navigation a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .menu-panel .main-navigation a {
    font-size: 11px !important;
    line-height: 1.2 !important;
    padding: 6px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: .025em !important;
    text-decoration: none !important;
  }

  .menu-panel .site-title,
  .menu-panel .site-title a {
    font-size: 19px !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
  }

  .menu-panel .site-description {
    font-size: 9px !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
  }

  /* Hamburger: always black and opaque. */
  .trigger-icon,
  .trigger-icon .icon-bar {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .trigger-icon .icon-bar,
  body.extended-menu .trigger-icon .icon-bar {
    background: #111 !important;
    background-color: #111 !important;
    border-color: #111 !important;
  }

  /* Home / mail / search icons:
     brightness(0) turns white SVGs/images into solid black,
     regardless of inherited fill/stroke rules. */
  .asidepanel-icon img,
  .asidepanel-icon svg,
  .asidepanel-icon .icon-svg,
  .contact-icons img,
  .contact-icons svg,
  .contact-icons .icon-svg {
    filter: brightness(0) !important;
    -webkit-filter: brightness(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .asidepanel-icon a,
  .contact-icons a {
    color: #111 !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-text-fill-color: #111 !important;
  }

  .asidepanel-icon,
  .asidepanel-icon__item,
  .contact-icons {
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Keep the mobile rail compact. */
  .asidepanel-icon__item {
    margin-bottom: 9px !important;
  }

  .asidepanel-icon img,
  .asidepanel-icon svg,
  .asidepanel-icon .icon-svg {
    width: 20px !important;
    height: 20px !important;
  }

  /* Keep the post title clean: one line only. */
  .single .inner-banner .entry-title {
    border-top: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    box-shadow: none !important;
  }

  /* Center TEMAS TRATADOS. */
  .single .entry-content h4 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* POST TITLE / SINGLE RULE FINAL */

/* Remove every decorative border from the title container itself.
   The only separator is the one directly below the title. */
.inner-banner {
  border: 0 !important;
  box-shadow: none !important;
}

.inner-banner::before,
.inner-banner::after {
  display: none !important;
  content: none !important;
}

.single .inner-banner .entry-title,
.page .inner-banner .entry-title {
  border: 0 !important;
  border-bottom: 1px solid #d7d7d7 !important;
  box-shadow: none !important;
  padding-top: 6px !important;
  padding-bottom: 15px !important;
  margin-bottom: 22px !important;

  /* Editorial serif, close in feel to El Confidencial's headline treatment. */
  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
  color: #171717 !important;
}

/* Prevent a second separator coming from the immediate title wrapper. */
.single .entry-title::before,
.single .entry-title::after,
.page .entry-title::before,
.page .entry-title::after {
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (min-width: 681px) {
  .single .inner-banner .entry-title,
  .page .inner-banner .entry-title {
    font-size: clamp(34px, 3.2vw, 52px) !important;
    line-height: 1.04 !important;
  }
}

@media (max-width: 680px) {
  .single .inner-banner .entry-title,
  .page .inner-banner .entry-title {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.06 !important;
    padding-bottom: 12px !important;
    margin-bottom: 18px !important;
  }
}

/* Center the "TEMAS TRATADOS" heading without changing its content. */
.single .entry-content h4 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* EXACT SVG + TITLE FIX
   The mobile rail uses inline SVGs with stroke="currentColor".
   Force the actual SVG stroke to black instead of relying on inherited color.
*/

/* HOME / SEARCH / MAIL */
.asidepanel-icon .icon-svg,
.asidepanel-icon .contact-icons .icon-svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  color: #111 !important;
  stroke: #111 !important;
  stroke-width: 1.8 !important;
  fill: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.asidepanel-icon .icon-svg path,
.asidepanel-icon .icon-svg circle,
.asidepanel-icon .icon-svg rect,
.asidepanel-icon .icon-svg line,
.asidepanel-icon .icon-svg polyline,
.asidepanel-icon .icon-svg polygon {
  stroke: #111 !important;
  stroke-width: 1.8 !important;
  stroke-opacity: 1 !important;
  fill: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.asidepanel-icon .contact-icons,
.asidepanel-icon .contact-icons a {
  color: #111 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* HAMBURGER */
.trigger-icon .icon-bar {
  background: #111 !important;
  background-color: #111 !important;
  opacity: 1 !important;
}

/* The second line was not coming from the title:
   header.php outputs an <hr> immediately after .inner-banner. */
.inner-banner + hr.wp-block-separator,
.inner-banner + hr.wp-block-separator.has-css-opacity {
  display: none !important;
}

/* POST / PAGE TITLE */
.inner-banner {
  border: 0 !important;
  box-shadow: none !important;
}

.inner-banner::before,
.inner-banner::after {
  display: none !important;
  content: none !important;
}

.inner-banner .entry-title {
  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.025em !important;
  color: #171717 !important;
  border: 0 !important;
  border-bottom: 1px solid #d5d5d5 !important;
  box-shadow: none !important;
  text-align: center !important;
  padding: 8px 10px 15px !important;
  margin: 0 0 22px !important;
}

.inner-banner .entry-title::before,
.inner-banner .entry-title::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (min-width: 681px) {
  .inner-banner .entry-title {
    font-size: clamp(34px, 3.2vw, 50px) !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 680px) {

  /* No page movement when the mobile menu opens. */
  body.extended-menu .site-content {
    margin-left: 44px !important;
    transform: none !important;
  }

  .asidepanel-icon .icon-svg,
  .asidepanel-icon .contact-icons .icon-svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #111 !important;
    color: #111 !important;
  }

  .asidepanel-icon .icon-svg path,
  .asidepanel-icon .icon-svg circle,
  .asidepanel-icon .icon-svg rect {
    stroke: #111 !important;
    stroke-width: 1.8 !important;
  }

  .inner-banner .entry-title {
    font-size: clamp(27px, 7.5vw, 36px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    text-transform: none !important;
    padding: 5px 4px 12px !important;
    margin-bottom: 18px !important;
  }
}