/* ==========================================================
   0) VARIABLES
========================================================== */
:root{
  --brand-gradient: linear-gradient(35deg, rgb(60,0,90) 0%, rgb(110,0,160) 60%, rgb(140,0,200) 100%);
  --header-gap: 3px;
  --header-h: 72px;
  --header-h-desktop: 56px;

  /* Post Filter */
  --pf-accent:#8300E9;
  --pf-border:#e6e6ea;
  --pf-bg:#fff;
  --pf-muted:#7b7b86;
  --pf-text:#2b2b2f;
}


@media (max-width:768px){ :root{ --header-gap:14px; } }

/* ==========================================================
   1) RESETS / PEQUEÑOS FIXES
========================================================== */
html, body{ overflow-x:hidden !important; }

*::selection{ background:rgb(110,0,160); color:#fff; }
*::-moz-selection{ background:rgb(110,0,160); color:#fff; }

/* Tipografía global */
body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6{
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Links globales */
a,
a:visited{
  color: var(--pf-accent) !important;
}

/* Quita “tap highlight” iOS */
html, body, a, button,
.ast-mobile-popup-drawer, .ast-mobile-popup-drawer *,
.ast-mobile-header-content, .ast-mobile-header-content *,
.ast-mobile-backdrop{
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}

/* 404 sin header/footer */
.error404 .site-header, .error404 .site-footer{ display:none !important; }

/* ==========================================================
   2) TÍTULOS (Astra + Divi)
========================================================== */
/* Página normal: oculta SOLO H1 de página */
body.page .ast-article-single .entry-header .entry-title,
body.page .et_pb_page_title{
  display:none !important;
}

/* Mantén títulos en módulos Blog */
body.page .et_pb_post .entry-title,
body.page .et_pb_blog .entry-title,
body.page .et_pb_blog_grid .entry-title{
  display:block !important;
}

/* Blog archive title (Astra) */
body.blog .ast-archive-title{ display:none !important; }

/* Single post title siempre visible */
body.single-post .entry-title{ display:block !important; }

/* ==========================================================
   3) HEADER GLOBAL: GRADIENTE + FIJO + ALTURAS
========================================================== */
/* Gradiente (aplicación global robusta) */
header,
#masthead,
.site-header,
.ast-site-header,
.ast-main-header-bar,
.main-header-bar,
.ast-above-header,
.ast-primary-header-bar,
.ast-below-header,
.ast-below-header-bar{
  background: var(--brand-gradient) !important;
  background-color: transparent !important;
}

/* Header fijo */
#masthead{
  position:fixed !important;
  top:0; left:0; right:0;
  z-index:9999 !important;
  /* En tu versión anterior estaba en blanco. Lo dejamos igual para no cambiar “capas”. */
  background: var(--ast-global-color-3, #fff) !important;
}

/* Admin bar */
body.admin-bar #masthead{ top:32px !important; }
@media (max-width:782px){ body.admin-bar #masthead{ top:46px !important; } }

/* Empuje global del contenido (EXCEPTO páginas podcast) */
body{ padding-top: var(--header-h) !important; }
body.page-id-1973{ padding-top:0 !important; }

/* Menú off-canvas bajo header fijo */
.ast-mobile-popup-drawer.active{ margin-top: var(--header-h) !important; }

/* Anclajes */
[id]{ scroll-margin-top: calc(var(--header-h) + 8px); }

/* Quita transiciones del header/menú */
#masthead, #masthead *{ transition:none !important; animation:none !important; }

/* ==========================================================
   4) HEADER: LOGO + HAMBURGUESA (DESKTOP/MÓVIL)
========================================================== */
#ast-desktop-header .main-header-bar,
#ast-mobile-header  .main-header-bar{
  min-height: var(--header-h) !important;
  height: var(--header-h) !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  position:relative !important;
}

#ast-desktop-header .custom-logo,
#ast-mobile-header  .custom-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-height: calc(var(--header-h) - 16px) !important;
}

#ast-desktop-header .site-branding,
#ast-mobile-header  .site-branding{
  position:relative !important;
  left:1rem !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
}

#ast-desktop-header .main-header-menu-toggle,
#ast-mobile-header  .main-header-menu-toggle,
#ast-desktop-header .ast-mobile-menu-trigger-minimal,
#ast-mobile-header  .ast-mobile-menu-trigger-minimal{
  position:absolute !important;
  right:.75rem !important;
  top:50% !important;
  transform: translateY(-50%) !important;
  margin:0 !important;
  padding:.5rem !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:1001 !important;
}

@media (max-width:480px){
  #ast-mobile-header .site-branding{ left:.75rem !important; }
  #ast-mobile-header .main-header-menu-toggle{ right:.75rem !important; padding:.4rem !important; }
}

/* Sin outline/box-shadow en botón hamburguesa */
.ast-header-break-point .main-header-menu-toggle,
.ast-header-break-point .ast-mobile-menu-trigger-minimal,
.ast-header-break-point .main-header-menu-toggle:focus,
.ast-header-break-point .main-header-menu-toggle:active,
.ast-header-break-point .ast-mobile-menu-trigger-minimal:focus,
.ast-header-break-point .ast-mobile-menu-trigger-minimal:active{
  outline:none !important;
  box-shadow:none !important;
  border:none !important;
}

/* ==========================================================
   5) MENÚ (COLOR + NO WRAP + SOCIAL)
========================================================== */
.main-header-menu a{ color:#fff !important; }
.main-header-menu a:hover{ color:#ffcc00 !important; }

.ast-desktop .main-header-bar .main-header-menu{ flex-wrap:nowrap !important; }
.ast-desktop .main-header-menu > .menu-item > .menu-link{
  white-space:nowrap !important;
  word-break:normal !important;
}

/* Oculta social si no cabe */
@media (max-width:1360px){
  .ast-desktop .ast-header-social-1{ display:none !important; }
}

/* Forzar redes en una sola fila en desktop y evitar wrapping */
.ast-desktop [class*="ast-header-social"],
.ast-desktop .ast-header-social-1,
.ast-desktop .ast-header-social-2{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}

/* Si la ventana se hace pequeña, ocultar las redes (en mobile/off-canvas) */
@media (max-width:1360px){
  .ast-header-break-point .ast-mobile-header-content [class*="ast-header-social"]{
    display:none !important;
  }
}

/* Ajuste compacidad desktop */
@media (min-width:1325px){
  .main-header-bar .ast-container{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
  }

  .ast-primary-header-bar .ast-builder-grid-row,
  .ast-desktop .ast-primary-header-bar .ast-builder-grid-row,
  .ast-desktop .ast-primary-header-bar .ast-builder-grid-row-inner{
    column-gap:16px !important;
    grid-column-gap:16px !important;
  }

  .main-header-bar, .ast-primary-header-bar{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  #ast-desktop-header .site-branding{
    margin-right:0 !important;
    left:0 !important;
  }
  #ast-desktop-header .ast-header-social-1,
  #ast-desktop-header .ast-header-social-2{
    margin-left:0 !important;
  }
  .ast-desktop .main-header-menu{ margin-left:0 !important; }

  .ast-desktop .main-header-menu > .menu-item > .menu-link{
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

/* Rollback “no ocultes barra desktop” */
@media (max-width:2000px){
  body.ast-desktop .main-header-bar{ display:flex !important; }
}

/* ==========================================================
   6) SUBMENÚS DESKTOP (animación + nivel 3 lateral)
========================================================== */
.main-header-menu .sub-menu{
  background: rgba(40,0,60,.8) !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}
.main-header-menu .sub-menu a{ color:#ddd !important; }
.main-header-menu .sub-menu a:hover{
  color:#ffcc00 !important;
  background: rgba(70,0,110,.85) !important;
}

@media (min-width:1325px){
  /* Submenú nivel 2: fade + drop */
  .main-header-menu .sub-menu{
    position:absolute;
    opacity:0;
    visibility:hidden;
    transform: translateY(8px);
    will-change: opacity, transform;
    transition: opacity .16s ease-out, transform .16s ease-out, visibility 0s linear .16s;
    backface-visibility:hidden;
    pointer-events:none;
    background: rgba(44,0,74,.97) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.22) !important;
    z-index:99999 !important;
  }

  .main-header-menu li.menu-item-has-children:hover > .sub-menu,
  .main-header-menu li.menu-item-has-children:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform: translateY(0);
    transition: opacity .16s ease-out, transform .16s ease-out, visibility 0s;
    pointer-events:auto;
  }

  /* Nivel 3 a la derecha */
  .main-header-menu .sub-menu .sub-menu{
    top:0 !important;
    left:100% !important;
    transform: translateX(8px);
  }
  .main-header-menu .sub-menu li.menu-item-has-children:hover > .sub-menu,
  .main-header-menu .sub-menu li.menu-item-has-children:focus-within > .sub-menu{
    opacity:1 !important;
    visibility:visible !important;
    transform: translateX(0);
    transition: opacity .16s ease-out, transform .16s ease-out, visibility 0s;
  }

  /* Puente invisible */
  .main-header-menu .sub-menu .sub-menu::before{
    content:"" !important;
    position:absolute !important;
    top:0; bottom:0;
    left:-10px;
    width:10px;
    background:transparent;
    pointer-events:auto;
  }

  /* Flecha gira */
  .ast-header-navigation-arrow .ast-arrow-svg{
    transition: transform .16s ease;
    transform-origin:50% 50%;
  }
  li.menu-item-has-children:hover > a .ast-header-navigation-arrow .ast-arrow-svg{
    transform: rotate(180deg);
  }
}

/* Padres con href="#" no clicables (desktop) */
@media (min-width:1325px){
  .main-header-menu .menu-item-has-children > a[href="#"],
  .main-header-menu .menu-item-has-children > a[href="#0"],
  .main-header-menu .menu-item-has-children > a[href=""]{
    pointer-events:none;
  }
}

/* ==========================================================
   7) “ÁREA PRIVADA” (menu-item-482) + CANDADO
========================================================== */
/* Desktop pill */
.main-header-menu .menu-item-482 > a{
  padding:6px 14px !important;
  border-radius:10px;
  margin-left:16px;
  line-height:1.2;
  text-align:center;
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
  background: linear-gradient(35deg,
      rgba(60,0,90,.88) 0%,
      rgba(110,0,160,.9) 55%,
      rgba(140,0,200,.92) 100%) !important;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 2px 6px rgba(0,0,0,.15);
}
.main-header-menu .menu-item-482 > a:hover,
.main-header-menu .menu-item-482 > a:focus,
.main-header-menu .menu-item-482 > a:focus-visible{
  background: linear-gradient(35deg,#ffd700 0%,#ffe45a 55%,#fff8a3 100%) !important;
  color:#3a0050 !important;
  border-color:#ffcc00;
  text-shadow:none;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.2),
    0 3px 10px rgba(0,0,0,.22);
  text-decoration:none;
  outline:none;
}
.main-header-menu .menu-item-482.current-menu-item > a{
  filter:brightness(1.05);
  border-color:rgba(255,255,255,.45);
}

/* ✅ media query arreglada (antes pxpx) */
@media (max-width:1249.98px){
  .main-header-menu .menu-item-482 > a{
    margin-left:0;
    border-radius:8px;
    text-align:center;
    background: rgba(60,0,90,.95) !important;
    box-shadow:none;
  }
}

/* Candado */
.main-header-menu .menu-item-482 > a::after{
  content:"🔒";
  font-size:1em;
  margin-left:6px;
  color:#ffcc00;
  vertical-align:middle;
  transition: transform .2s ease, color .2s ease;
}
.main-header-menu .menu-item-482 > a:hover::after{
  transform: scale(1.15);
  color:#3a0050;
}

/* Ajuste alto uniforme desktop */
@media (min-width:1325px){
  .main-header-bar{ min-height: var(--header-h-desktop) !important; }

  .ast-desktop .main-header-menu > .menu-item > .menu-link{
    display:inline-flex !important;
    align-items:center !important;
    height: var(--header-h-desktop) !important;
    line-height:1 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .ast-desktop .main-header-menu .menu-item-482 > a{
    display:inline-flex !important;
    align-items:center !important;
    height: calc(var(--header-h-desktop) - 4px) !important;
    line-height:1 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .site-branding{ display:flex !important; align-items:center !important; }
  .site-branding .custom-logo{
    display:block !important;
    max-height: calc(var(--header-h-desktop) - 8px) !important;
  }
}

/* ==========================================================
   8) MENÚ MÓVIL (off-canvas + dropdown) + SAFE AREA + SIN HOVER PEGADO
========================================================== */
html body.ast-header-break-point .ast-mobile-popup-drawer,
html body.ast-header-break-point .ast-mobile-popup-drawer .main-header-bar-navigation,
html body.ast-header-break-point .main-header-bar{
  background: var(--brand-gradient) !important;
}

html body.ast-header-break-point .main-header-menu .menu-link,
html body.ast-header-break-point .main-header-menu a{
  color:#fff !important;
}

/* Área Privada base morada en móvil */
html body.ast-header-break-point .main-header-menu .menu-item-482 > a,
html body.ast-header-break-point .main-header-menu .menu-item-482 a{
  color:#fff !important;
  text-align:center !important;
  background: linear-gradient(35deg,
      rgba(60,0,90,.9) 0%,
      rgba(110,0,160,.92) 55%,
      rgba(140,0,200,.94) 100%) !important;
}

html body.ast-header-break-point .main-header-menu .menu-item:hover > .menu-link,
html body.ast-header-break-point .main-header-menu .current-menu-item > .menu-link{
  color:#ffcc00 !important;
  background: rgba(255,255,255,.06) !important;
}

/* Dropdown móvil (≤1325) */
@media (max-width:1325px){
  .ast-mobile-header-content{
    background: var(--brand-gradient) !important;
    padding-top:0 !important;
    padding-bottom:0 !important;

    max-height: calc(100svh - var(--header-h));
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
  }

  /* Evitar “cajones” blancos */
  .ast-mobile-header-content .main-header-bar-navigation,
  .ast-mobile-header-content #ast-mobile-site-navigation,
  .ast-mobile-header-content #ast-hf-mobile-menu,
  .ast-mobile-header-content #ast-hf-mobile-menu > li,
  .ast-mobile-header-content #ast-hf-mobile-menu > li > a.menu-link{
    background:transparent !important;
  }

  .ast-mobile-header-content #ast-hf-mobile-menu a.menu-link{
    color:#fff !important;
    text-decoration:none !important;
  }

  /* Área Privada base morada en móvil */
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 a.menu-link,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a{
    color:#fff !important;
    background: linear-gradient(35deg,
        rgba(60,0,90,.9) 0%,
        rgba(110,0,160,.92) 55%,
        rgba(140,0,200,.94) 100%) !important;
  }

  .ast-mobile-header-content #ast-hf-mobile-menu li:not(.menu-item-482):hover > a.menu-link,
  .ast-mobile-header-content #ast-hf-mobile-menu .current-menu-item:not(.menu-item-482) > a.menu-link{
    color:#ffcc00 !important;
    background: rgba(255,255,255,.06) !important;
  }
  /* Área Privada hover/active dorado */
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482:hover > a.menu-link,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482.current-menu-item > a.menu-link,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:active,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:focus,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:focus-visible{
    color:#3a0050 !important;
    background: linear-gradient(35deg,#ffd700,#ffe45a,#fff8a3) !important;
  }

  /* Submenús */
  .ast-mobile-header-content #ast-hf-mobile-menu .sub-menu{
    background: rgba(40,0,60,.88) !important;
    border:0 !important;
  }
  .ast-mobile-header-content #ast-hf-mobile-menu .sub-menu a{ color:#ddd !important; }
  .ast-mobile-header-content #ast-hf-mobile-menu .sub-menu a:hover{
    color:#ffcc00 !important;
    background: rgba(70,0,110,.8) !important;
  }

  /* Toggles visibles */
  .ast-mobile-header-content #ast-hf-mobile-menu .ast-menu-toggle,
  .ast-mobile-header-content #ast-hf-mobile-menu .ast-header-navigation-arrow,
  .ast-mobile-header-content #ast-hf-mobile-menu .ast-icon,
  .ast-mobile-header-content #ast-hf-mobile-menu .ast-icon svg{
    color:#fff !important;
    fill:#fff !important;
    stroke:#fff !important;
    opacity:1 !important;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
  }

  .ast-mobile-header-content #ast-hf-mobile-menu .ast-menu-toggle:focus,
  .ast-mobile-header-content #ast-hf-mobile-menu .ast-menu-toggle:focus-visible,
  .ast-mobile-header-content #ast-hf-mobile-menu .ast-header-navigation-arrow:focus,
  .ast-mobile-header-content #ast-hf-mobile-menu .ast-header-navigation-arrow:focus-visible{
    outline: none !important;
    box-shadow: none !important;
  }

  /* Apertura submenú */
  .ast-mobile-header-content
  #ast-hf-mobile-menu .menu-item .ast-menu-toggle[aria-expanded="true"] + .sub-menu{
    display:block !important;
  }

  /* Área Privada destacada en móvil (base morada + hover dorado) */
  #ast-hf-mobile-menu .menu-item-482 a,
  #ast-hf-mobile-menu .menu-item-482 > a,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 a{
    display:inline-block !important;
    margin:8px 12px !important;
    padding:10px 16px !important;
    border-radius:12px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    text-align:center !important;
    color:#fff !important;
    background: linear-gradient(35deg,
        rgba(60,0,90,.9) 0%,
        rgba(110,0,160,.92) 55%,
        rgba(140,0,200,.94) 100%) !important;
    border:1px solid rgba(255,255,255,.25) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.2),
                inset 0 0 0 1px rgba(255,255,255,.08) !important;
    transition: all .3s ease !important;
    white-space:nowrap !important;
  }
  #ast-hf-mobile-menu .menu-item-482 a:hover,
  #ast-hf-mobile-menu .menu-item-482 a:focus,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:hover,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:focus,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482:hover > a.menu-link{
    background: linear-gradient(35deg,#ffd700,#ffe45a,#fff8a3) !important;
    color:#3a0050 !important;
    border-color:#ffcc00 !important;
    box-shadow: 0 0 18px rgba(255,255,0,.55),
                inset 0 0 8px rgba(255,255,255,.35) !important;
    text-decoration:none !important;
  }

  /* Centrado li 482 */
  .ast-header-break-point #ast-hf-mobile-menu > li.menu-item-482{
    display:flex !important;
    justify-content:center !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .ast-header-break-point #ast-hf-mobile-menu > li.menu-item-482 > a,
  .ast-header-break-point #ast-hf-mobile-menu > li.menu-item-482 > a.menu-link{
    padding-left:0 !important;
    padding-right:0 !important;
    margin:8px 0 !important;
    background: linear-gradient(35deg,
        rgba(60,0,90,.9) 0%,
        rgba(110,0,160,.92) 55%,
        rgba(140,0,200,.94) 100%) !important;
    color:#fff !important;
  }

  /* Redes en una fila centrada */
  .ast-header-break-point .ast-mobile-header-content [class*="ast-header-social"]{
    text-align:center !important;
    display:block !important;
    padding:14px 0 18px !important;
    margin-inline:auto !important;
    width:auto !important;
    transform:none !important;
  }
  .ast-header-break-point .ast-mobile-header-content [class*="ast-header-social"] .ast-social-container,
  .ast-header-break-point .ast-mobile-header-content [class*="ast-header-social"] .ast-social-inner-wrap{
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:14px !important;
  }
  .ast-header-break-point .ast-mobile-header-content [class*="ast-builder-social-element-wrap"]{
    display:contents !important;
  }
  .ast-header-break-point .ast-mobile-header-content [class*="ast-header-social"] a{
    display:inline-block !important;
    line-height:1 !important;
    color:#fff !important;
    font-size:22px !important;
    text-decoration:none !important;
  }
  .ast-header-break-point .ast-mobile-header-content [class*="ast-header-social"] a:hover{
    color:#ffcc00 !important;
  }
  /* Capas */
  .ast-header-break-point .ast-mobile-header-content{ z-index:9999 !important; }
}

/* Fallback sin svh */
@supports not (height:100svh){
  @media (max-width:1325px){
    .ast-header-break-point .ast-mobile-header-content{
      max-height: calc(100vh - var(--header-h));
    }
  }
}

/* Admin-bar extra en móvil */
@media (max-width:1325px){
  body.admin-bar .ast-mobile-header-content{
    max-height: calc(100svh - var(--header-h) - 46px);
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
  }
}

/* “Hover pegado” en táctil: neutraliza */
@media (max-width:1325px) and (hover:none) and (pointer:coarse){
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item > .menu-link,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item:hover > .menu-link,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item > .menu-link:active,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item > .menu-link:focus,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item > .menu-link:focus-visible{
    color:#fff !important;
    background:transparent !important;
    outline:none !important;
    box-shadow:none !important;
  }

  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item.ast-submenu-expanded > .menu-link,
  html body.ast-header-break-point #ast-hf-mobile-menu .current-menu-item > .menu-link{
    color:#ffcc00 !important;
    background: rgba(255,255,255,.06) !important;
  }

  /* Área Privada base morada en táctil */
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 > a,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 a.menu-link,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 a.menu-link{
    color:#fff !important;
    background: linear-gradient(35deg,
        rgba(60,0,90,.9) 0%,
        rgba(110,0,160,.92) 55%,
        rgba(140,0,200,.94) 100%) !important;
    border:1px solid rgba(255,255,255,.25) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.2),
                inset 0 0 0 1px rgba(255,255,255,.08) !important;
  }

  /* Tap/active dorado */
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 > a:active,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 > a:focus,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 > a:focus-visible,
  html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482:active > a,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:active,
  .ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:focus{
    background: linear-gradient(35deg,#ffd700,#ffe45a,#fff8a3) !important;
    color:#3a0050 !important;
    border-color:#ffcc00 !important;
    box-shadow: 0 0 14px rgba(255,255,0,.55), inset 0 0 8px rgba(255,255,255,.35) !important;
    transition: none !important;
  }

}

/* Refuerzo touch: eliminar highlight/overlay en iOS y forzar comportamiento táctil */
html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 > a,
.ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a,
html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 a.menu-link,
.ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 a.menu-link{
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
  -webkit-appearance: none !important;
}

/* Asegurar active rápido sin transición que permita ver el color morado */
html body.ast-header-break-point #ast-hf-mobile-menu .menu-item-482 > a:active,
.ast-mobile-header-content #ast-hf-mobile-menu .menu-item-482 > a:active{
  transition: none !important;
  -webkit-transition: none !important;
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}

/* ==========================================================
   9) BLOQUEO SCROLL + BACKDROP
========================================================== */
body.no-scroll{
  position:fixed !important;
  overflow:hidden !important;
  inset:0 !important;
  width:100% !important;
}

.ast-mobile-backdrop{
  position:fixed !important;
  inset:0 !important;
  background: rgba(0,0,0,.4) !important;
  opacity:0;
  visibility:hidden;
  transition: opacity .2s ease;
  z-index:9998;
}
.ast-mobile-backdrop.show{
  opacity:1;
  visibility:visible;
}

/* ==========================================================
   10) BELOW HEADER (solo en Actualidad ID 977)
========================================================== */
.site-header .ast-below-header-bar{ display:none !important; }
.page-id-977 .site-header .ast-below-header-bar{ display:block !important; }
.page-id-977 .site-header .ast-below-header,
.page-id-977 .site-header .ast-below-header-bar{ background:transparent !important; }

/* ==========================================================
   11) ESPACIADOS TOP (Astra/Divi/Elementor)
========================================================== */
.site-header, .main-header-bar{ margin-bottom:0 !important; }
#content.site-content, .ast-plain-container #primary, .ast-container{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* ==========================================================
   11.1) ANCHO GLOBAL 1200 (EXCEPTO 1973)
========================================================== */
body:not(.page-id-1973) .ast-container,
body:not(.page-id-1973) .ast-plain-container #primary,
body:not(.page-id-1973) #content.site-content{
  max-width:1140px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body:not(.page-id-1973) .et_pb_row,
body:not(.page-id-1973) .et_pb_row_inner,
body:not(.page-id-1973) .et_pb_slider,
body:not(.page-id-1973) .et_pb_fullwidth_slider{
  max-width:1140px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Primer section Divi ID 977 sin hueco */
.page-id-977.et_divi_builder .entry-content .et_pb_section:first-of-type,
.page-id-977.et_divi_builder .et_builder_inner_content .et_pb_section:first-of-type{
  padding-top:0 !important;
  margin-top:0 !important;
}
body.et_divi_builder .entry-content .et_pb_row:first-of-type{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Sidebar images (Actualidad ID 977) */
.page-id-977 .et_pb_column_1_4 .et_pb_image,
.page-id-977 .et_pb_column_1_4 .et_pb_image a{
  text-align:center !important;
}
.page-id-977 .et_pb_column_1_4 .et_pb_image .et_pb_image_wrap{
  display:inline-block !important;
  float:none !important;
}
.page-id-977 .et_pb_column_1_4 .et_pb_image img{
  width:100% !important;
  max-width:280px !important;
  height:auto !important;
  display:block !important;
  float:none !important;
  margin:0 auto !important;
}

/* ==========================================================
   12) HERO GUTENBERG (Media Text)
========================================================== */
.wp-block-media-text .wp-block-media-text__media img{
  max-height:650px;
  min-width:225px;
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
}

@media (min-width:1024px){
  .wp-block-media-text.alignwide.has-media-on-the-right .wp-block-media-text__media{
    padding-right:120px !important;
  }
}

@media (min-width:768px) and (max-width:1366px){
  .wp-block-media-text .wp-block-media-text__content h1{ font-size:1.9rem; line-height:1.3; margin:32px 0 16px; }
  .wp-block-media-text .wp-block-media-text__content h2{ font-size:1.5rem; line-height:1.35; margin:24px 0 12px; }
  .wp-block-media-text .wp-block-media-text__content h3{ font-size:1.25rem; line-height:1.4; margin:16px 0 8px; }
}

@media (max-width:768px){
  .wp-block-media-text .wp-block-media-text__media img{
    max-width:50%;
    margin:0 auto 16px auto;
  }
  .wp-block-media-text .wp-block-media-text__content h1{ font-size:1.4rem; line-height:1.3; text-align:center; }
  .wp-block-media-text .wp-block-media-text__content h2{ font-size:1.2rem; line-height:1.3; text-align:center; }
  .wp-block-media-text .wp-block-media-text__content h3{ font-size:1.1rem; line-height:1.4; text-align:center; }
  .wp-block-media-text .wp-block-media-text__content p { font-size:1rem;  line-height:1.5; text-align:center; }
}

/* ==========================================================
   13) POPUP MODAL
========================================================== */
.popup{
  display:none;
  position:fixed;
  z-index:99999 !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  background: rgba(0,0,0,.6);
  justify-content:center;
  align-items:center;
}

.popup-content{
  background:#fff;
  padding:20px;
  border-radius:12px;
  max-width:400px;
  width:90%;
  text-align:center;
  box-shadow:0 6px 20px rgba(0,0,0,.3);
  animation: fadeIn .3s ease;
}
.popup .close{
  position:absolute;
  top:10px;
  right:20px;
  font-size:24px;
  font-weight:bold;
  cursor:pointer;
}
@keyframes fadeIn{
  from{ opacity:0; transform:scale(.9); }
  to{ opacity:1; transform:scale(1); }
}

body .et_pb_section_0{ margin-top:-15px !important; }


/* ==========================================================
   15) BLOG GRID GLOBAL (Divi) — CONSISTENTE
========================================================== */
.et_pb_blog_grid .et_pb_post{ margin-bottom:0 !important; }

.et_pb_blog_grid .et_pb_salvattore_content{
  display:grid !important;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)) !important;
  grid-auto-flow: row !important;
  gap:40px !important;
  row-gap:40px !important;
}

.et_pb_blog_grid .et_pb_post{
  display:flex !important;
  flex-direction:column !important;
  height:400px !important;
  overflow:hidden !important;
  background:#fff !important;
  border-radius:12px !important;
  box-shadow:0 6px 16px rgba(0,0,0,.06) !important;
  border:1px solid rgba(0,0,0,.06) !important;
  padding:0 !important;
}

/* Limitar ancho global (excepto páginas especiales) sin tocar display */
body:not(.page-id-2747):not(.page-id-1438):not(.page-id-1407):not(.page-id-1356) .et_pb_blog_grid .et_pb_post{
  width:100% !important;
  max-width:420px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-self:center !important;
}


.et_pb_blog_grid .et_pb_post .entry-featured-image-url{
  display:block !important;
  height:260px !important;
  margin:0 !important;
  overflow:hidden !important;
  border-top-left-radius:12px !important;
  border-top-right-radius:12px !important;
}
.et_pb_blog_grid .et_pb_post .entry-featured-image-url img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

.et_pb_blog_grid .et_pb_post .entry-title{
  margin:0 0 1px !important;
  font-size:1.02rem !important;
  line-height:1.25 !important;
}
.et_pb_blog_grid .et_pb_post .post-content{
  margin:0 1px 14px !important;
  color:#555 !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
  flex:1 1 auto !important;
}
.et_pb_blog_grid .et_pb_post .more-link{
  display:inline-block !important;
  margin:0 14px 16px !important;
}

/* Responsive */
@media (max-width:1325px){
  .et_pb_blog_grid .et_pb_salvattore_content{
    /* deja tus columnas automáticas (no tocar grid-template-columns) */
    justify-content: center !important;   /* centra el grid */
  }

  .et_pb_blog_grid .et_pb_salvattore_content > *{
    justify-self: center !important;
  }

  .et_pb_blog_grid .et_pb_post{
    width: clamp(380px, 100%, 450px) !important;
    max-width: 450px !important;
  }

  /* Override solo para páginas no excluidas */
  body:not(.page-id-2747):not(.page-id-1438):not(.page-id-1407):not(.page-id-1356) .et_pb_blog_grid .et_pb_post{
    width: clamp(380px, 100%, 420px) !important;
    max-width: 420px !important;
  }
}

@media (max-width:768px){
  .et_pb_blog_grid .et_pb_salvattore_content{
    grid-template-columns:1fr !important;
    gap:16px !important;
    max-width:450px !important;
    margin:0 auto !important;
  }
  .et_pb_blog_grid .et_pb_post{
    height:380px !important;
  }
  .et_pb_blog_grid .et_pb_post .entry-featured-image-url{
    height:240px !important;
    margin-bottom:2px !important;
  }
  .et_pb_blog_grid .et_pb_post .entry-featured-image-url img{
    height:100% !important;
    object-position: top center !important;
  }
  /* En móvil, asegura que la fecha ocupe espacio y no se solape con el título */
  .et_pb_blog_grid .et_pb_post .post-meta{
    position: static !important;
    display: block !important;
    margin: 6px 0 0 !important;
  }
  .et_pb_blog_grid .et_pb_post .entry-title{
    margin-top:6px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
  .et_pb_blog_grid .et_pb_post .post-content{
    margin:0 12px 6px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
  .et_pb_blog_grid .et_pb_post .more-link{ margin:0 12px 14px !important; }
}

/* ==========================================================
   FIX iPhone 375px: evitar min-width 380px que descuadra cards
   (parche quirúrgico: no toca el grid)
========================================================== */
@media (max-width: 420px){

  /* En tu CSS hay un clamp(380px, 100%, 450px) que en 375px desborda.
     Aquí lo anulamos SOLO en pantallas pequeñas. */
  body .et_pb_blog_grid article.et_pb_post,
  body .et_pb_blog_grid .et_pb_post{
    width: 100% !important;
    max-width: 450px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  /* Un pelín de aire lateral por si el contenedor va justo */
  body .et_pb_blog_grid .et_pb_salvattore_content{
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  /* Override solo para páginas no excluidas */
  body:not(.page-id-2747):not(.page-id-1438):not(.page-id-1407):not(.page-id-1356) .et_pb_blog_grid article.et_pb_post,
  body:not(.page-id-2747):not(.page-id-1438):not(.page-id-1407):not(.page-id-1356) .et_pb_blog_grid .et_pb_post{
    max-width: 420px !important;
  }
}

/* Filtrado: ocultar (después de overrides de ancho) */
.et_pb_blog_grid article.et_pb_post.pf-hidden{ display:none !important; }

/* ==========================================================
   16) PÁGINAS ESPECIALES 1356 / 1407 / 1438 (2 columnas + horizontal)
========================================================== */
.page-id-1356 .et_pb_blog_0 .et_pb_salvattore_content,
.page-id-1407 .et_pb_blog_0 .et_pb_salvattore_content,
.page-id-1438 .et_pb_blog_0 .et_pb_salvattore_content,
.page-id-2747 .et_pb_blog_0 .et_pb_salvattore_content{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap:20px !important;
}

.page-id-1356 .et_pb_blog_0 .et_pb_salvattore_content > [class^="column"],
.page-id-1407 .et_pb_blog_0 .et_pb_salvattore_content > [class^="column"],
.page-id-1438 .et_pb_blog_0 .et_pb_salvattore_content > [class^="column"],
.page-id-2747 .et_pb_blog_0 .et_pb_salvattore_content > [class^="column"]{
  display:contents !important;
}

.page-id-1356 .et_pb_blog_0 .et_pb_post,
.page-id-1407 .et_pb_blog_0 .et_pb_post,
.page-id-1438 .et_pb_blog_0 .et_pb_post,
.page-id-2747 .et_pb_blog_0 .et_pb_post{
  display:grid !important;
  grid-template-columns:180px 1fr !important;
  grid-template-rows:auto auto !important;
  gap:16px !important;
  align-items:start !important;
  background:#fff !important;
  border-radius:12px !important;
  padding:16px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.06) !important;
  min-height:180px !important;
}

.page-id-1356 .et_pb_blog_0 .et_pb_image_container,
.page-id-1407 .et_pb_blog_0 .et_pb_image_container,
.page-id-1438 .et_pb_blog_0 .et_pb_image_container,
.page-id-2747 .et_pb_blog_0 .et_pb_image_container{
  grid-column:1 / 2 !important;
  grid-row:1 / 3 !important;
  width:180px !important;
  height:180px !important;
  overflow:hidden !important;
  border-radius:12px !important;
  margin:0 !important;
  align-self:start !important;
  display:block !important;
  line-height:0 !important;
}
.page-id-1356 .et_pb_blog_0 .et_pb_image_container a,
.page-id-1407 .et_pb_blog_0 .et_pb_image_container a,
.page-id-1438 .et_pb_blog_0 .et_pb_image_container a,
.page-id-2747 .et_pb_blog_0 .et_pb_image_container a{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
.page-id-1356 .et_pb_blog_0 .et_pb_image_container img,
.page-id-1407 .et_pb_blog_0 .et_pb_image_container img,
.page-id-1438 .et_pb_blog_0 .et_pb_image_container img,
.page-id-2747 .et_pb_blog_0 .et_pb_image_container img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:12px !important;
  display:block !important;
}
.page-id-1356 .et_pb_blog_0 .et_pb_image_container::before,
.page-id-1407 .et_pb_blog_0 .et_pb_image_container::before,
.page-id-1438 .et_pb_blog_0 .et_pb_image_container::before,
.page-id-2747 .et_pb_blog_0 .et_pb_image_container::before{
  content:none !important;
}

.page-id-1356 .et_pb_blog_0 .entry-title,
.page-id-1407 .et_pb_blog_0 .entry-title,
.page-id-1438 .et_pb_blog_0 .entry-title,
.page-id-2747 .et_pb_blog_0 .entry-title{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 0 6px 0 !important;
  font-size:1.1rem !important;
  line-height:1.3 !important;
  text-align:left !important;
}
.page-id-1356 .et_pb_blog_0 .post-content,
.page-id-1407 .et_pb_blog_0 .post-content,
.page-id-1438 .et_pb_blog_0 .post-content,
.page-id-2747 .et_pb_blog_0 .post-content{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:0 !important;
  color:#555 !important;
  font-size:.95rem !important;
  text-align:left !important;
}
.page-id-1356 .et_pb_blog_0 .post-content p,
.page-id-1407 .et_pb_blog_0 .post-content p,
.page-id-1438 .et_pb_blog_0 .post-content p,
.page-id-2747 .et_pb_blog_0 .post-content p{
  margin:0 !important;
}
.page-id-1356 .et_pb_blog_0 .post-meta,
.page-id-1407 .et_pb_blog_0 .post-meta,
.page-id-1438 .et_pb_blog_0 .post-meta,
.page-id-2747 .et_pb_blog_0 .post-meta{
  display:none !important;
}

@media (min-width:769px){
  .page-id-1356 .et_pb_blog_0 .et_pb_post,
  .page-id-1407 .et_pb_blog_0 .et_pb_post,
  .page-id-1438 .et_pb_blog_0 .et_pb_post,
  .page-id-2747 .et_pb_blog_0 .et_pb_post{
    height:212px !important;
    overflow:hidden !important;
    align-content:start !important;
    align-items:start !important;
  }
  .page-id-1356 .et_pb_blog_0 .et_pb_post .entry-title,
  .page-id-1407 .et_pb_blog_0 .et_pb_post .entry-title,
  .page-id-1438 .et_pb_blog_0 .et_pb_post .entry-title,
  .page-id-2747 .et_pb_blog_0 .et_pb_post .entry-title{
    margin-top:35px !important;
    margin-bottom:-45px !important;
  }
}

@media (max-width:768px){
  .page-id-1356 .et_pb_blog_0 .et_pb_salvattore_content,
  .page-id-1407 .et_pb_blog_0 .et_pb_salvattore_content,
  .page-id-1438 .et_pb_blog_0 .et_pb_salvattore_content,
  .page-id-2747 .et_pb_blog_0 .et_pb_salvattore_content{
    grid-template-columns:1fr !important;
  }

  .page-id-1356 .et_pb_blog_0 .et_pb_post,
  .page-id-1407 .et_pb_blog_0 .et_pb_post,
  .page-id-1438 .et_pb_blog_0 .et_pb_post,
  .page-id-2747 .et_pb_blog_0 .et_pb_post{
    grid-template-columns:140px 1fr !important;
    gap:14px !important;
    min-height:140px !important;
    height:180px !important;
    padding:16px !important;
    overflow:hidden !important;
  }

  .page-id-1356 .et_pb_blog_0 .et_pb_image_container,
  .page-id-1407 .et_pb_blog_0 .et_pb_image_container,
  .page-id-1438 .et_pb_blog_0 .et_pb_image_container,
  .page-id-2747 .et_pb_blog_0 .et_pb_image_container{
    width:140px !important;
    height:140px !important;
    align-self:center !important;
    justify-self:center !important;
  }

  .page-id-1356 .et_pb_blog_0 .entry-title,
  .page-id-1407 .et_pb_blog_0 .entry-title,
  .page-id-1438 .et_pb_blog_0 .entry-title,
  .page-id-2747 .et_pb_blog_0 .entry-title{
    margin:0 0 4px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    line-height:1.25 !important;
  }

  .page-id-1356 .et_pb_blog_0 .post-content,
  .page-id-1407 .et_pb_blog_0 .post-content,
  .page-id-1438 .et_pb_blog_0 .post-content,
  .page-id-2747 .et_pb_blog_0 .post-content{
    margin:0 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    line-height:1.4 !important;
  }

  .page-id-1356 .et_pb_post .entry-title,
  .page-id-1407 .et_pb_post .entry-title,
  .page-id-1438 .et_pb_post .entry-title,
  .page-id-2747 .et_pb_post .entry-title{
    margin-top:15px !important;
    margin-bottom:-25px !important;
  }
}

/* ==========================================================
   17) FILTRO POSTS (pf-*) — LIMPIO
========================================================== */
.pf-wrap{ display:grid; gap:10px; }

/* Searchbar */
.pf-searchbar{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--pf-border);
  border-radius:12px;
  background: var(--pf-bg);
  padding:4px 8px;
  height:42px;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
#pf-search{
  flex:1;
  border:none;
  outline:none;
  font-size:1rem;
  background:transparent;
  color:var(--pf-text);
  height:100%;
  line-height:1;
  padding:0 6px;
  display:flex;
  align-items:center;
}
#pf-search::placeholder{ color:var(--pf-muted); }

.pf-clear{
  border:none;
  background:transparent;
  color:#999;
  font-size:1.2rem;
  width:32px; height:32px;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: background .15s ease, color .15s ease;
}
.pf-clear:hover{ background:rgba(0,0,0,.06); color:var(--pf-text); }

.pf-adv-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:none;
  background:transparent;
  color:#777;
  font-weight:500;
  cursor:pointer;
  padding:0 10px;
  height:32px;
  border-radius:8px;
  white-space:nowrap;
  transition: background .15s ease, color .15s ease, transform .1s ease;
  line-height:1;
}
.pf-adv-toggle:hover{ background:rgba(131,0,233,.08); color:var(--pf-accent); }
.pf-adv-toggle:active{ transform: translateY(1px); }
.pf-adv-toggle[aria-expanded="true"]{ color:var(--pf-accent); background:rgba(131,0,233,.06); }
.pf-adv-icon{ width:16px; height:16px; flex-shrink:0; margin-top:1px; }

@media (max-width:768px){
  .pf-searchbar{ height:40px; gap:4px; }
  .pf-adv-toggle{ padding:0 8px; font-size:.95rem; }
}

/* Panel */
.pf-adv{
  border:1px solid var(--pf-border);
  background:#fafafe;
  border-radius:12px;
  padding:10px 12px;
  animation: fadeSlide .2s ease;
  color:#777;
}
@keyframes fadeSlide{
  from{ opacity:0; transform: translateY(-4px); }
  to{ opacity:1; transform: translateY(0); }
}
.pf-block{ display:grid; gap:6px; margin-bottom:10px; }
.pf-block-title{
  font-size:.9rem;
  font-weight:600;
  color:#777 !important;
  text-transform:uppercase;
  letter-spacing:.03em;
  position:relative;
  overflow:visible;
}
.pf-date-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:6px !important;
}
#pf-date, #pf-from, #pf-to{
  border:1px solid var(--pf-border);
  border-radius:8px;
  padding:6px 8px;
  font-size:.95rem;
  color:#777 !important;
}
#pf-date:focus, #pf-from:focus, #pf-to:focus{ border-color:var(--pf-accent); outline:none; }
.pf-range{ display:flex; align-items:center; gap:6px; }
.pf-range-sep{ color:var(--pf-muted); }
#pf-range[hidden]{ display:none !important; }

/* Categorías */
.pf-cats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.pf-cats label{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid var(--pf-border);
  background:#f7f7f9;
  color:#777;
  padding:8px 18px;
  border-radius:9999px;
  font-size:.92rem;
  font-weight:500;
  cursor:pointer;
  user-select:none;
  line-height:1.2;
  transition: all .18s ease;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.pf-cats input[type="checkbox"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  overflow:hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border:0;
  padding:0;
  margin:-1px;
}
.pf-cats label > span{ pointer-events:none; }
.pf-cats label:not(.is-active):hover{
  background:rgba(131,0,233,.08);
  color:var(--pf-accent);
  border-color:rgba(131,0,233,.2);
}
.pf-cats label.is-active{
  background:rgba(131,0,233,.1) !important;
  border-color:rgba(131,0,233,.4) !important;
  color:var(--pf-accent) !important;
  box-shadow:0 2px 5px rgba(131,0,233,.15);
  transform: translateY(-1px);
}
.pf-cats input[type="checkbox"]:focus-visible + span,
.pf-cats label:focus-visible{
  outline:2px solid var(--pf-accent);
  outline-offset:2px;
}
@media (max-width:768px){
  .pf-cats{ gap:6px; }
  .pf-cats label{ padding:7px 14px; font-size:.9rem; }
}
#pf-cats{ margin-bottom:18px !important; }
@media (min-width:769px){ #pf-cats{ margin-bottom:22px !important; } }

/* Tooltips */
.pf-tip-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.9rem;
  font-weight:600;
  color:#777;
  width:18px; height:18px;
  border-radius:50%;
  margin-left:4px;
  cursor:help;
  position:relative;
  transition: color .15s ease;
  user-select:none;
}
.pf-tip-icon:hover{ color:var(--pf-accent); }

.pf-tip-icon[data-tip]::after{
  content: attr(data-tip);
  position:absolute;
  left:50%;
  top:100%;
  transform: translate(-50%, 10px);
  background:#2b2b2f;
  color:#fff;
  font-size:.85rem;
  line-height:1.3;
  padding:8px 10px;
  border-radius:8px;
  white-space:normal;
  max-width:260px;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
  opacity:0;
  pointer-events:none;
  transition: opacity .15s ease, transform .15s ease;
  z-index:4000;
}
.pf-tip-icon[data-tip]::before{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  transform: translate(-50%, 4px);
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-top:6px solid #2b2b2f;
  opacity:0;
  transition: opacity .15s ease;
  z-index:4001;
}
.pf-tip-icon:hover::after,
.pf-tip-icon:hover::before,
.pf-tip-icon:focus-visible::after,
.pf-tip-icon:focus-visible::before{
  opacity:1;
  transform: translate(-50%, 6px);
}
.pf-tip-icon:focus-visible{
  outline:2px solid var(--pf-accent);
  outline-offset:2px;
}

/* Inputs date SOLO móvil */
@media (max-width:768px){
  .pf-date-wrap{ position:relative; display:inline-block; max-width:100%; }
  .pf-date-wrap > input[type="date"]{
    box-sizing:border-box;
    padding-left:.1rem !important;
    padding-right:4rem !important;
    background-image:none !important;
  }
  .pf-date-wrap > input[type="date"]::-webkit-calendar-picker-indicator{
    opacity:0; pointer-events:none;
  }
  .pf-date-wrap .pf-cal{
    display:block !important;
    position:absolute;
    right:10px;
    top:50%;
    transform: translateY(-50%);
    width:24px;
    height:24px;
    border:0;
    background:none;
    padding:0;
    margin:0;
    line-height:0;
    opacity:.9;
    z-index:1;
    pointer-events:none !important;
  }
  .pf-date-wrap .pf-cal svg{ display:block; width:100%; height:100%; }
}

/* ==========================================================
   18) BOTONES PISTAS (audio/video)
========================================================== */
.audio-tracks, .video-tracks{
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid rgba(0,0,0,.06);
}
.audio-tracks__title, .video-tracks__title{
  font-size:.85rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#777;
  margin-bottom:6px;
}
.audio-tracks__list, .video-tracks__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.audio-tracks__btn, .video-tracks__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:9999px;
  font-size:.9rem;
  font-weight:500;
  border:1px solid var(--pf-border);
  background:#f7f7f9;
  color:#555;
  cursor:pointer;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .1s ease;
  min-width:110px;
}
.audio-tracks__btn:hover, .video-tracks__btn:hover{
  background: rgba(131,0,233,.08);
  color: var(--pf-accent);
  border-color: rgba(131,0,233,.35);
  box-shadow:0 2px 4px rgba(0,0,0,.08);
}
@media (hover:none) and (pointer:coarse){
  .audio-tracks__btn:hover, .video-tracks__btn:hover{
    background:#f7f7f9;
    color:#555;
    border-color: var(--pf-border);
    box-shadow:0 1px 2px rgba(0,0,0,.04);
  }
}
.audio-tracks__btn:focus-visible, .video-tracks__btn:focus-visible{
  outline:2px solid var(--pf-accent);
  outline-offset:2px;
}
@media (max-width:768px){
  .audio-tracks__btn, .video-tracks__btn{ padding:6px 10px; font-size:.85rem; }
}
@media (max-width:768px){
  .audio-tracks, .video-tracks{
    margin-top:18px;
    padding-top:12px;
  }
}
@media (max-width:480px){
  .audio-tracks__btn, .video-tracks__btn{ min-width:90px; padding:6px 10px; }
}
.audio-tracks__btn.pf-track-active, .video-tracks__btn.pf-track-active{
  background: rgba(131,0,233,.08);
  color: var(--pf-accent);
  border-color: rgba(131,0,233,.35);
  box-shadow:0 2px 4px rgba(0,0,0,.08);
}

/* ==========================================================
   FIX: evitar marcas persistentes al abrir menú móvil en DESKTOP
   Cuando el off-canvas móvil se abre accidentalmente en desktop
   (por ejemplo via JS), limpiamos estados :focus/:active para
   que no queden "marcas" visibles en los enlaces.
========================================================== */
@media (min-width:1325px){
  .ast-mobile-popup-drawer.active .main-header-menu .menu-link,
  .ast-mobile-popup-drawer.active .main-header-menu .menu-link:focus,
  .ast-mobile-popup-drawer.active .main-header-menu .menu-link:active,
  .ast-mobile-popup-drawer.active .main-header-menu .menu-link:focus-visible{
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    color: #fff !important;
  }

  /* También cubrir el caso donde se muestra .ast-mobile-header-content */
  .ast-desktop .ast-mobile-header-content .main-header-menu .menu-link,
  .ast-desktop .ast-mobile-header-content .main-header-menu .menu-link:focus,
  .ast-desktop .ast-mobile-header-content .main-header-menu .menu-link:active{
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    color: #fff !important;
  }

  /* Quitar cualquier tap-highlight restante dentro del drawer en desktop */
  .ast-mobile-popup-drawer.active, .ast-mobile-popup-drawer.active *{
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
  }
}

/* ----------------------------------------------------------
   EXTRA OVERRIDE: Área Privada en táctil (base morada + tap dorado)
-----------------------------------------------------------*/
@media (max-width:1325px) and (hover:none) and (pointer:coarse){
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link,
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:link,
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:visited{
    background-image: linear-gradient(35deg,rgba(60,0,90,.9) 0%,rgba(110,0,160,.92) 55%,rgba(140,0,200,.94) 100%) !important;
    background-color: rgba(60,0,90,.95) !important;
    background-repeat: no-repeat !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.25) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.2), inset 0 0 0 1px rgba(255,255,255,.08) !important;
    transition: none !important;
    -webkit-transition: none !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    touch-action: manipulation !important;
    outline: none !important;
    -webkit-appearance: none !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
  }

  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:hover,
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:active,
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:focus,
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:focus-visible{
    background-image: linear-gradient(35deg,#ffd700 0%,#ffe45a 60%,#fff8a3 100%) !important;
    background-color: #ffcc00 !important;
    color: #3a0050 !important;
    border-color: #ffcc00 !important;
    box-shadow: 0 0 18px rgba(255,255,0,.55), inset 0 0 8px rgba(255,255,255,.35) !important;
  }

  /* Asegurar el candado mantiene el color correcto */
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link::after{
    color:#ffcc00 !important;
  }
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:active::after,
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:focus::after,
  html body.ast-header-break-point .ast-mobile-header-content #ast-hf-mobile-menu li.menu-item-482 > a.menu-link:focus-visible::after{
    color:#3a0050 !important;
  }
}

/* ==========================================================
   SIMPLE CALENDAR — CABECERA UNIFICADA (GLOBAL)
   Botones prev/next sin “caja”, todo en un solo gradiente
========================================================== */
.simcal-calendar .simcal-calendar-grid thead,
.simcal-calendar .simcal-calendar-grid thead tr,
.simcal-calendar .simcal-calendar-head{
  background: var(--brand-gradient) !important;
  background-color:#8300E9 !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
.simcal-calendar .simcal-calendar-grid thead th,
.simcal-calendar .simcal-calendar-head th,
.simcal-calendar .simcal-calendar-head td,
.simcal-calendar .simcal-calendar-nav,
.simcal-calendar .simcal-nav,
.simcal-calendar .simcal-nav th,
.simcal-calendar .simcal-nav td,
.simcal-calendar .simcal-prev-wrapper,
.simcal-calendar .simcal-next-wrapper,
.simcal-calendar .simcal-current{
  background: transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.simcal-calendar .simcal-nav .simcal-nav-button,
.simcal-calendar .simcal-nav a,
.simcal-calendar .simcal-nav button{
  background: transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#fff !important;
  padding:2px 8px !important;
  line-height:1 !important;
  appearance:none !important;
}
.simcal-calendar .simcal-current,
.simcal-calendar .simcal-current a,
.simcal-calendar .simcal-current-month,
.simcal-calendar .simcal-current-year{
  color:#fff !important;
}
.simcal-calendar .simcal-nav svg,
.simcal-calendar .simcal-nav svg *{
  fill:#fff !important;
  stroke:#fff !important;
}

/* ==========================================================
   SIMPLE CALENDAR — páginas 977 y 2402 (TU CSS + ajustes mínimos)
   - NO se toca menú/título/nav
   - Compacto (<=1200px): números grandes centrados + (JS) popup único con TODOS los eventos
   - Desktop grande (>1200px): 2402 normal con eventos y ajuste de distribución + texto más grande
========================================================== */

/* --- 1) BASE: no deformar la tabla --- */
body.page-id-977 .simcal-calendar .simcal-calendar-grid,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid{
  width:100% !important;
  table-layout:fixed !important;
}

/* Asegura centrado y compactación general sin romper popups */
body.page-id-977 .simcal-calendar .simcal-calendar-grid th,
body.page-id-977 .simcal-calendar .simcal-calendar-grid td,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid th,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid td{
  text-align:center !important;
  vertical-align:middle !important;
}

/* Celdas cuadradas siempre */
body.page-id-977 .simcal-calendar .simcal-calendar-grid td,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid td{
  position:relative !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.page-id-977 .simcal-calendar .simcal-calendar-grid td::before,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid td::before{
  content:"";
  display:block;
  padding-top:100%;
}
body.page-id-977 .simcal-calendar .simcal-calendar-grid td > div,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid td > div{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}

/* Mes (cabecera) con gradiente + texto blanco */
body.page-id-977 .simcal-calendar .simcal-calendar-head,
body.page-id-977 .simcal-calendar .simcal-calendar-nav,
body.page-id-977 .simcal-calendar .simcal-nav,
body.page-id-2402 .simcal-calendar .simcal-calendar-head,
body.page-id-2402 .simcal-calendar .simcal-calendar-nav,
body.page-id-2402 .simcal-calendar .simcal-nav{
  background: var(--brand-gradient) !important;
  background-color:#8300E9 !important;
  color:#fff !important;
  border-radius:6px !important;
}
body.page-id-977 .simcal-calendar .simcal-nav a,
body.page-id-977 .simcal-calendar .simcal-nav button,
body.page-id-977 .simcal-calendar .simcal-current,
body.page-id-977 .simcal-calendar .simcal-current a,
body.page-id-977 .simcal-calendar .simcal-current-month,
body.page-id-977 .simcal-calendar .simcal-current-year,
body.page-id-2402 .simcal-calendar .simcal-nav a,
body.page-id-2402 .simcal-calendar .simcal-nav button,
body.page-id-2402 .simcal-calendar .simcal-current,
body.page-id-2402 .simcal-calendar .simcal-current a,
body.page-id-2402 .simcal-calendar .simcal-current-month,
body.page-id-2402 .simcal-calendar .simcal-current-year{
  color:#fff !important;
}
body.page-id-977 .simcal-calendar .simcal-nav button,
body.page-id-977 .simcal-calendar .simcal-nav a,
body.page-id-2402 .simcal-calendar .simcal-nav button,
body.page-id-2402 .simcal-calendar .simcal-nav a{
  background: transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:2px 8px !important;
  line-height:1 !important;
  appearance:none !important;
}
body.page-id-977 .simcal-calendar .simcal-nav svg,
body.page-id-977 .simcal-calendar .simcal-nav svg *,
body.page-id-2402 .simcal-calendar .simcal-nav svg,
body.page-id-2402 .simcal-calendar .simcal-nav svg *{
  fill:#fff !important;
  stroke:#fff !important;
}

/* Mes + botones sin divisiones (barra continua) */
body.page-id-977 .simcal-calendar .simcal-calendar-head,
body.page-id-977 .simcal-calendar .simcal-calendar-nav,
body.page-id-977 .simcal-calendar .simcal-nav,
body.page-id-2402 .simcal-calendar .simcal-calendar-head,
body.page-id-2402 .simcal-calendar .simcal-calendar-nav,
body.page-id-2402 .simcal-calendar .simcal-nav{
  border:0 !important;
  box-shadow:none !important;
}
body.page-id-977 .simcal-calendar .simcal-calendar-head *,
body.page-id-977 .simcal-calendar .simcal-calendar-nav *,
body.page-id-977 .simcal-calendar .simcal-nav *,
body.page-id-2402 .simcal-calendar .simcal-calendar-head *,
body.page-id-2402 .simcal-calendar .simcal-calendar-nav *,
body.page-id-2402 .simcal-calendar .simcal-nav *{
  border-color: transparent !important;
  box-shadow:none !important;
}

/* Eventos: sin fondo, numero en color + subrayado (todos los calendarios) */
body .simcal-calendar .simcal-day-has-events,
body .simcal-calendar .simcal-day-has-events .simcal-day-number,
body .simcal-calendar .simcal-day-has-events a{
  background: transparent !important;
}
body .simcal-calendar .simcal-day-has-events .simcal-day-number{
  color:#8300E9 !important;
  text-decoration: underline !important;
  text-decoration-color: currentColor !important;
  text-underline-offset:2px;
  text-decoration-thickness:2px;
}
body .simcal-calendar .simcal-day-has-events .simcal-day-number a{
  color: inherit !important;
  text-decoration: inherit !important;
}
body .simcal-calendar .simcal-day-has-events{
  cursor:pointer !important;
}

/* Hoy: sombreado global */
body .simcal-calendar .simcal-day-today,
body .simcal-calendar .simcal-today{
  background:#b783ef !important;
  color:#fff !important;
}
body .simcal-calendar .simcal-day-today .simcal-day-number,
body .simcal-calendar .simcal-today .simcal-day-number{
  color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
}
/* Hoy con eventos: mantener sombreado de hoy y marcar número como evento (todos) */
body .simcal-calendar .simcal-day-today.simcal-day-has-events,
body .simcal-calendar .simcal-today.simcal-day-has-events{
  /* no anulamos el fondo de "hoy" */
  color: inherit !important;
}
body .simcal-calendar .simcal-day-today.simcal-day-has-events .simcal-day-number,
body .simcal-calendar .simcal-today.simcal-day-has-events .simcal-day-number{
  color:#8300E9 !important;
  background: transparent !important;
  text-decoration: underline !important;
  text-decoration-color: currentColor !important;
  text-underline-offset:2px;
  text-decoration-thickness:2px;
}
body .simcal-calendar .simcal-day-today.simcal-day-has-events .simcal-day-number a,
body .simcal-calendar .simcal-today.simcal-day-has-events .simcal-day-number a{
  color: inherit !important;
  text-decoration: inherit !important;
}

/* Unificar hover: sombreado en todas las celdas (excepto hoy) */
body.page-id-977 .simcal-calendar .simcal-calendar-grid td:not(.simcal-day-today):not(.simcal-today):hover,
body.page-id-977 .simcal-calendar .simcal-calendar-grid td:not(.simcal-day-today):not(.simcal-today):hover > div,
body.page-id-977 .simcal-calendar .simcal-day:not(.simcal-day-today):not(.simcal-today):hover,
body.page-id-977 .simcal-calendar .simcal-day-has-events:not(.simcal-day-today):not(.simcal-today):hover,
body.page-id-977 .simcal-calendar .simcal-day-has-events:not(.simcal-day-today):not(.simcal-today):hover > div,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid td:not(.simcal-day-today):not(.simcal-today):hover,
body.page-id-2402 .simcal-calendar .simcal-calendar-grid td:not(.simcal-day-today):not(.simcal-today):hover > div,
body.page-id-2402 .simcal-calendar .simcal-day:not(.simcal-day-today):not(.simcal-today):hover,
body.page-id-2402 .simcal-calendar .simcal-day-has-events:not(.simcal-day-today):not(.simcal-today):hover,
body.page-id-2402 .simcal-calendar .simcal-day-has-events:not(.simcal-day-today):not(.simcal-today):hover > div{
  background-color: rgba(0,0,0,.06) !important;
}

/* --- 2) DESKTOP GRANDE: dejarlo "normal" (que se vea contenido) --- */
@media (min-width: 981px){
  body.page-id-2402 .simcal-calendar .simcal-calendar-grid td{
    height:auto !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.15 !important;
    overflow:hidden !important;
  }

  /* En grande: sí permitimos que el plugin muestre contenido */
  body.page-id-2402 .simcal-calendar .simcal-events,
  body.page-id-2402 .simcal-calendar .simcal-event{
    display:block !important;
  }

  /* 2402 (DESKTOP >1200px) — ajuste de distribución (sin cambiar tamaño del calendario) */
  body.page-id-2402 .simcal-calendar .simcal-calendar-grid td > div{
    padding:6px !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-events{
    margin:auto 0 !important;
    padding:0 !important;
    text-align:left !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event,
  body.page-id-2402 .simcal-calendar .simcal-event-title,
  body.page-id-2402 .simcal-calendar .simcal-event-details{
    text-align:left !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event{
    margin:0 !important;
    padding:0 !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event-title{
    display:block;
    margin:0 !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event-details{
    margin:0 !important;
  }

  /* Mayor legibilidad en calendario grande */
  body.page-id-2402 .simcal-calendar .simcal-day-number{
    font-size:12px !important;
    font-weight:600 !important;
    color:#3a0050 !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event a,
  body.page-id-2402 .simcal-calendar .simcal-event a:link,
  body.page-id-2402 .simcal-calendar .simcal-event a:visited,
  body.page-id-2402 .simcal-calendar .simcal-event a:hover,
  body.page-id-2402 .simcal-calendar .simcal-event a:focus,
  body.page-id-2402 .simcal-calendar .simcal-event a:active,
  body.page-id-2402 .simcal-calendar .simcal-event-title a,
  body.page-id-2402 .simcal-calendar .simcal-event-title a:link,
  body.page-id-2402 .simcal-calendar .simcal-event-title a:visited,
  body.page-id-2402 .simcal-calendar .simcal-event-title a:hover,
  body.page-id-2402 .simcal-calendar .simcal-event-title a:focus,
  body.page-id-2402 .simcal-calendar .simcal-event-title a:active,
  body.page-id-2402 .simcal-calendar .simcal-event-details a,
  body.page-id-2402 .simcal-calendar .simcal-event-details a:link,
  body.page-id-2402 .simcal-calendar .simcal-event-details a:visited,
  body.page-id-2402 .simcal-calendar .simcal-event-details a:hover,
  body.page-id-2402 .simcal-calendar .simcal-event-details a:focus,
  body.page-id-2402 .simcal-calendar .simcal-event-details a:active{
    text-decoration:none !important;
    border-bottom:0 !important;
  }
  body.page-id-2402 .simcal-calendar a:hover,
  body.page-id-2402 .simcal-calendar a:focus,
  body.page-id-2402 .simcal-calendar a:active{
    text-decoration:none !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event-bubble a,
  body.page-id-2402 .simcal-calendar .simcal-tooltip a,
  body.page-id-2402 .simcal-calendar .simcal-event-bubble a:hover,
  body.page-id-2402 .simcal-calendar .simcal-tooltip a:hover,
  body.page-id-2402 .simcal-calendar .simcal-event-bubble a:focus,
  body.page-id-2402 .simcal-calendar .simcal-tooltip a:focus,
  body.page-id-2402 .simcal-calendar .simcal-event-bubble a:active,
  body.page-id-2402 .simcal-calendar .simcal-tooltip a:active{
    text-decoration:none !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
  /* Truncado a 3 líneas para evitar cortes */
  body.page-id-2402 .simcal-calendar .simcal-event-title,
  body.page-id-2402 .simcal-calendar .simcal-event-title a{
    display:-webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
    max-width:100% !important;
    line-height:1.2 !important;
    max-height: calc(3 * 1.2em) !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event-title,
  body.page-id-2402 .simcal-calendar .simcal-event-title *,
  body.page-id-2402 .simcal-calendar .simcal-event a *,
  body.page-id-2402 .simcal-calendar .simcal-event-title a *{
    text-decoration:none !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event-title,
  body.page-id-2402 .simcal-calendar .simcal-event-title:hover,
  body.page-id-2402 .simcal-calendar .simcal-event-title:focus,
  body.page-id-2402 .simcal-calendar .simcal-event-title:active{
    text-decoration:none !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-events,
  body.page-id-2402 .simcal-calendar .simcal-event,
  body.page-id-2402 .simcal-calendar .simcal-event:hover,
  body.page-id-2402 .simcal-calendar .simcal-day,
  body.page-id-2402 .simcal-calendar .simcal-day:hover{
    text-decoration:none !important;
    text-decoration-line:none !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-events{
    overflow:hidden !important;
  }
}

/* --- 3) SIDEBAR (columna 1/4 de Divi): siempre mini y cuadrado --- */
body.page-id-977 .et_pb_column_1_4 .simcal-calendar{
  width:100% !important;
  max-width:none !important;
  display:block !important;
  --simcal-mini-ratio: 1; /* 1 = cuadrado perfecto */
  --simcal-num-scale: 2;
}
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid th{
  font-size:8px !important;
  padding:1px 1px !important;
  line-height:1 !important;
  min-height:0 !important;
}
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-day-number{
  font-size:7px !important;
  line-height:1 !important;
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  z-index:1;
  min-height:0 !important;
  transform: scale(var(--simcal-num-scale));
  transform-origin:center;
}

/* celdas cuadradas: 1:1 usando el ancho real del sidebar */
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td{
  position:relative;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  line-height:0 !important;
  font-size:0 !important;
  overflow:hidden !important;
}
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td::before,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td::before{
  content:"";
  display:block;
  padding-top: calc(var(--simcal-mini-ratio) * 100%);
}

/* Compacto en sidebar: ocultar texto pero mantener click (bubble) */
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-events,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-event,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-events,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-event{
  margin:0 !important;
  padding:0 !important;
}
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-event-title,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-event-details,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-event-title,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-event-details{
  font-size:0 !important;
  line-height:0 !important;
}
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-day-events,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-day-events{
  position:absolute;
  inset:0;
  margin:0 !important;
  padding:0 !important;
  font-size:0 !important;
}
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-event-bubble-trigger,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-event-bubble-trigger{
  position:absolute;
  inset:0;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  background:transparent !important;
  opacity:0 !important;
  cursor:pointer !important;
  pointer-events:auto;
  z-index:2;
  text-indent:-9999px !important;
  overflow:hidden !important;
}

/* En sidebar: usar popup agrupado (oculta el nativo) */
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-event-bubble,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-event-bubble,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-tooltip,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-tooltip{
  display:none !important;
}

/* --- 4) COMPACTO (<=980px): cuadrado siempre, sin texto dentro --- */
@media (max-width: 980px){ /* ajusta 1200 -> 900 si quieres ocultar antes */

  /* Hacer cuadrado según ancho visible del calendario */
  body.page-id-977 .simcal-calendar .simcal-calendar-grid td,
  body.page-id-2402 .simcal-calendar .simcal-calendar-grid td{
    position:relative;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body.page-id-977 .simcal-calendar .simcal-calendar-grid td::before,
  body.page-id-2402 .simcal-calendar .simcal-calendar-grid td::before{
    content:"";
    display:block;
    padding-top:100%;
  }
  body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td,
  body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td{
    overflow:hidden !important;
  }

  /* Ocultar el texto de eventos en compacto (como ya hacías) */
  body.page-id-977 .simcal-calendar .simcal-events,
  body.page-id-977 .simcal-calendar .simcal-event,
  body.page-id-2402 .simcal-calendar .simcal-events,
  body.page-id-2402 .simcal-calendar .simcal-event{
    margin:0 !important;
    padding:0 !important;
  }

  body.page-id-977 .simcal-calendar .simcal-event-title,
  body.page-id-977 .simcal-calendar .simcal-event-details,
  body.page-id-2402 .simcal-calendar .simcal-event-title,
  body.page-id-2402 .simcal-calendar .simcal-event-details{
    font-size:0 !important;
    line-height:0 !important;
  }

body.page-id-977 .simcal-calendar .simcal-day-events,
body.page-id-2402 .simcal-calendar .simcal-day-events{
  position:absolute;
  inset:0;
  margin:0 !important;
  padding:0 !important;
  font-size:0 !important;
}

  /* ✅ Número grande y centrado (TODOS los días) SOLO en compacto
     (no afecta sidebar 1/4) */
  body.page-id-977  :not(.et_pb_column_1_4) .simcal-calendar .simcal-day-number,
  body.page-id-2402 :not(.et_pb_column_1_4) .simcal-calendar .simcal-day-number{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important; /* ajusta 16/18/20 */
    line-height:1 !important;
    z-index:3 !important;
    pointer-events:none !important; /* el hover lo gestiona el TD/JS */
  }

  /* Sidebar apilada: mismo tamaño/forma que el compacto principal */
  body.page-id-977 .et_pb_column_1_4 .simcal-calendar,
  body.page-id-2402 .et_pb_column_1_4 .simcal-calendar{
    --simcal-mini-ratio: 1;
    --simcal-num-scale: 1;
  }
  body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-day-number,
  body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-day-number{
    font-size:18px !important;
    transform:none !important;
  }

  /* Trigger de popup ocupando toda la celda (táctil y hover) */
  body.page-id-977 .simcal-calendar .simcal-event-bubble-trigger,
  body.page-id-2402 .simcal-calendar .simcal-event-bubble-trigger{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    opacity:0 !important;
    pointer-events:auto !important;
    z-index:4 !important;
    text-indent:-9999px !important;
  }

  body.page-id-977 .simcal-calendar .simcal-event-bubble,
  body.page-id-2402 .simcal-calendar .simcal-event-bubble{
    z-index:20 !important;
  }

  /* En móvil: sin puntos (igual que 977) */
  body.page-id-977 .simcal-calendar .simcal-events-dots,
  body.page-id-2402 .simcal-calendar .simcal-events-dots{
    display:none !important;
  }
}

/* --- 5) MÓVIL (<=980px): ajustes tipografía --- */
@media (max-width: 980px){
  body.page-id-977 .simcal-calendar .simcal-calendar-grid thead th,
  body.page-id-2402 .simcal-calendar .simcal-calendar-grid thead th{
    font-size:10px !important;
    padding:3px 1px !important;
    line-height:1 !important;
  }

  /* Cuando la sidebar baja y ocupa 100%, no pisar la altura cuadrada */
  body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td,
  body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid td{
    height:auto !important;
  }
}

/* 977/2402: ocultar popup nativo, usamos el personalizado */
body.page-id-977 .simcal-calendar .simcal-event-bubble,
body.page-id-2402 .simcal-calendar .simcal-event-bubble,
body.page-id-977 .simcal-calendar .simcal-tooltip,
body.page-id-2402 .simcal-calendar .simcal-tooltip{
  display:none !important;
}

/* ==========================================================
   2402 — Desktop grande
   Ajuste fino de tamaño de texto (sin tocar layout)
========================================================== */
@media (min-width: 981px){
  body.page-id-2402 .simcal-calendar .simcal-event-title{
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  body.page-id-2402 .simcal-calendar .simcal-event-details{
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}

/* Permitir scroll en popups nativos de Simple Calendar */
.simcal-tooltip,
.simcal-event-bubble,
.simcal-injected-popup{
  max-height: min(320px, 45vh);
  overflow: auto;
  overscroll-behavior: contain;
}

/* ==========================================================
   POPUP PERSONALIZADO (SIEMPRE)
   Páginas: 977 y 2402
========================================================== */

/* Tu popup (overlay) */
.simcal-all-events-popup{
  position: fixed;
  z-index: 999999;
  max-width: min(380px, 92vw);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  padding: 12px 14px;

  font-size: 13px;
  line-height: 1.25;

  overflow: auto;
  max-height: min(320px, 45vh);
  -webkit-user-select: text;
  user-select: text;
}

/* Más separación entre eventos (lo que pedías) */
.simcal-all-events-popup .simcal-ae-item{
  margin: 0 0 14px 0;   /* <-- antes 10 */
}
.simcal-all-events-popup .simcal-ae-item:last-child{
  margin-bottom: 0;
}

/* Título del evento */
.simcal-all-events-popup .simcal-ae-title{
  font-weight: 700;
  margin: 0 0 4px 0;
  display:block;
}

/* Detalles multilínea legibles */
.simcal-all-events-popup .simcal-ae-details{
  margin: 0;
  opacity: .92;
  white-space: pre-line; /* respeta saltos de línea */
}
.simcal-all-events-popup .simcal-ae-link{
  text-decoration: underline;
}

/* Colores del popup: título y campos */
.simcal-all-events-popup .simcal-ae-title,
.simcal-all-events-popup a.simcal-ae-title{
  color:#8300E9 !important;
}
.simcal-all-events-popup .simcal-ae-label{
  color:#b783ef !important;
}
.simcal-all-events-popup .simcal-ae-details,
.simcal-all-events-popup .simcal-ae-link{
  color: inherit !important;
}

/* ====== EVENTOS PINTADOS EN CELDA (solo lo que inyecta el JS) ====== */
.simcal-injected-events{
  margin: 6px 6px 0 6px;
  text-align: left;
  line-height: 1.15;
  font-size: 14px;
}

.simcal-injected-event{
  display:block;
  padding: 2px 0;
  cursor: default;
}

/* un poco más de separación entre eventos */
.simcal-injected-event + .simcal-injected-event{
  margin-top: 6px;
}

/* Popup (uno por evento al hover) */
.simcal-injected-popup{
  position: fixed;
  z-index: 999999;
  max-width: min(380px, 92vw);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.25;
  white-space: pre-line;
  display:none;
}

/* ==========================================================
   2402 (>980px) — eventos dentro de la celda con separación
   (no cambia apariencia, solo hace distinguibles varios eventos)
========================================================== */
@media (min-width: 981px){
  body.page-id-2402 .simcal-calendar .simcal-events{
    margin-top: 6px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body.page-id-2402 .simcal-calendar .simcal-event{
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* separación entre eventos */
  body.page-id-2402 .simcal-calendar .simcal-event + .simcal-event{
    margin-top: 8px !important;
  }

  body.page-id-2402 .simcal-calendar .simcal-event-title{
    display:block !important;
    margin: 0 0 2px 0 !important;
  }

  body.page-id-2402 .simcal-calendar .simcal-event-details{
    margin: 0 !important;
  }
}

/* SOLO página 977: link pegado al calendario */
body.page-id-977 .cal-link-977{
  margin-top: -20px !important; /* ajusta: -6 / -8 / -10 / -14 */
  padding-top: 0 !important;
}

/* Quitar márgenes del párrafo dentro del módulo (Divi mete margin-bottom) */
body.page-id-977 .cal-link-977 p{
  margin: 0 !important;
}

body.page-id-977 .cal-title-977{
  margin-bottom: 6px !important; /* ajusta: -6 / -8 / -10 / -14 */
  padding-bottom: 0 !important;
}
body.page-id-977 .cal-title-977 p{
  margin: 0 !important;
}

/* Sidebar debajo: centrar calendario y titulo; link alineado a la izquierda */
@media (max-width: 980px){
  body.page-id-977 .et_pb_column_1_4 .simcal-calendar{
    max-width:450px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.page-id-977 .cal-title-977{
    max-width:450px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  body.page-id-977 .cal-link-977{
    max-width:450px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }
}

/* Home: ocultar link "ver calendario completo" en movil */
@media (max-width: 980px){
  body.home .cal-link-977{ display:none !important; }
}

/* ==========================================================
   SIMPLE CALENDAR — NAV UNIFICADA (FORZADO)
   Quita cajas prev/next y mantiene un solo gradiente
========================================================== */
body .simcal-calendar table.simcal-calendar-grid thead.simcal-calendar-head,
body .simcal-calendar table.simcal-calendar-grid thead.simcal-calendar-head tr{
  background: var(--brand-gradient) !important;
  background-color:#8300E9 !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
body .simcal-calendar table.simcal-calendar-grid thead.simcal-calendar-head th,
body .simcal-calendar table.simcal-calendar-grid thead.simcal-calendar-head th.simcal-prev-wrapper,
body .simcal-calendar table.simcal-calendar-grid thead.simcal-calendar-head th.simcal-next-wrapper,
body .simcal-calendar table.simcal-calendar-grid thead.simcal-calendar-head th.simcal-current{
  background: transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
body .simcal-calendar .simcal-nav-button,
body .simcal-calendar .simcal-nav-button.simcal-prev,
body .simcal-calendar .simcal-nav-button.simcal-next,
body .simcal-calendar .simcal-nav button,
body .simcal-calendar .simcal-nav a{
  background: transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#fff !important;
}

/* Google Forms embebido (global, solo afecta a forms) */
.et_pb_code iframe[src*="docs.google.com/forms"]{
  width: 100% !important;
  max-width: 100% !important;
  height: calc(100vh - var(--header-h)) !important;
  min-height: 800px !important;
}
@media (max-width: 768px){
  .et_pb_code iframe[src*="docs.google.com/forms"]{
    min-height: 900px !important;
  }
}

/*
.et_pb_blurb_description .donacion-card{
  max-width: 760px;
  margin: 0 auto;
  padding: 34px 38px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.et_pb_blurb_description .donacion-card h2,
.et_pb_blurb_description .donacion-card h3{
  margin: 0 0 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.et_pb_blurb_description .donacion-card p{
  margin: 0 0 14px;
  color: rgba(0,0,0,.75);
  line-height: 1.65;
  font-size: 16px;
}

.et_pb_blurb_description .donacion-card .iban{
  display: block;
  text-align: center;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 12px 14px;
  margin: 14px 0 18px;
  border-radius: 12px;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.08);
}
*/

.cf-turnstile {
  display: none !important;
}


/* ==========================================================
   404
========================================================== */
body.error404 .pf-404{
  padding: 4.5rem 1rem;
}
body.error404 .pf-404 .ast-container{
  max-width: 1100px;
  margin: 0 auto;
}
body.error404 .pf-404__inner{
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) minmax(220px, 1fr);
  gap: 32px;
  align-items: center;
}
body.error404 .pf-404__inner--single{
  grid-template-columns: minmax(320px, 1fr);
}
body.error404 .pf-404__eyebrow{
  font-size: .85rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #7b7b86;
  margin: 0 0 6px 0;
}
body.error404 .pf-404__title{
  font-size: clamp(2.2rem, 4.6vw, 3.4rem);
  line-height: 1.15;
  margin: 0 0 10px 0;
}
body.error404 .pf-404__lead{
  margin: 0 0 14px 0;
  color: #555;
  font-size: 1.05rem;
  line-height: 1.6;
}
body.error404 .pf-404__lead + .pf-404__lead{
  margin-top: 2px;
}
body.error404 .pf-404__lead:last-of-type{
  margin-bottom: 20px;
}
body.error404 .pf-404__actions{
  margin-top: 6px;
}
body.error404 .pf-404__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 9999px;
  border: 1px solid rgba(0,0,0,.06);
  background: linear-gradient(35deg,#3c005a 0%,#6e00a0 55%,#8c00c8 100%);
  color: #fff !important;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease;
}
body.error404 .pf-404__btn:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
}
body.error404 .pf-404__media{
  min-height: 260px;
  border-radius: 18px;
  background:
    radial-gradient(120px 120px at 20% 20%, rgba(131,0,233,.25), transparent 60%),
    radial-gradient(180px 180px at 80% 30%, rgba(255,204,0,.22), transparent 65%),
    linear-gradient(135deg, #f6f2ff 0%, #f2f2f8 100%);
  position: relative;
  overflow: hidden;
}
body.error404 .pf-404__media::before{
  content: "404";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 800;
  color: rgba(60,0,90,.15);
  letter-spacing: .1em;
}
body.error404 .pf-404--simple .pf-404__media::before{
  content: none;
}
body.error404 .pf-404__image{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 18px;
}
body.error404 .pf-404__logo{
  display: inline-block;
  max-width: 92px;
  height: auto;
  margin: 0 0 14px 0;
}
body.error404 .pf-404__media--photo{
  background: none;
  padding: 0;
}
@media (max-width: 900px){
  body.error404 .pf-404__inner{
    grid-template-columns: 1fr;
    text-align: center;
  }
  body.error404 .pf-404__inner--single{
    text-align: center;
  }
  body.error404 .pf-404__actions{
    display: flex;
    justify-content: center;
  }
}

/* Single post: eliminar fondo tipo rectángulo y usar el fondo global */
body.single-post #content.site-content,
body.single-post .ast-container,
body.single-post .ast-article-single{
  background: transparent !important;
}

/* ==========================================================
   FIX ESPACIO ENTRE POSTS EN MÓVIL (DIVI)
   (poner al FINAL del CSS)
========================================================== */
@media (max-width:768px){

  /* 1) Fuerza separación por margen en cada tarjeta */
  body .et_pb_blog_grid article.et_pb_post,
  body .et_pb_blog_grid .et_pb_post{
    margin-bottom: 24px !important;   /* ajusta 16/24/32 */
  }

  /* 2) Evita que una regla antigua lo anule */
  body .et_pb_blog_grid .et_pb_post:last-child{
    margin-bottom: 0 !important;
  }

  /* 3) Si Divi mete columnas "salvattore", añade hueco también ahí */
  body .et_pb_blog_grid .et_pb_salvattore_content > .column,
  body .et_pb_blog_grid .et_pb_salvattore_content > [class^="column"]{
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;            /* ajusta */
  }

  /* 4) Por si el post trae padding/margen raro interno */
  body .et_pb_blog_grid .et_pb_post{
    clear: both !important;
  }
}
/* =========================
   ASTRA: FOOTER GLOBAL (alineado a tu brand gradient)
   ========================= */

:root{
  --footer-bg: #F4ECFF;      /* lila suave con toque magenta */
  --footer-border: #E3CCFF;  /* separación sutil */
  --footer-text: #2F2A35;    /* texto ligeramente cálido */
}

/* Fondo del footer (afecta a todo el site: posts + pages) */
#colophon,
#colophon .site-below-footer-wrap,
#colophon .site-footer-below-section,
#colophon .ast-builder-grid-row-container,
#colophon .ast-builder-grid-row-container-inner {
  background: var(--footer-bg) !important;
}

/* Evita que algún bloque interno lo ponga blanco */
#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright p {
  background: transparent !important;
}

/* Línea superior sutil */
#colophon{
  border-top: 1px solid var(--footer-border) !important;
}

/* Tipografía */
#colophon,
#colophon p,
#colophon a{
  color: var(--footer-text) !important;
}

#colophon a:hover{
  text-decoration: underline;
}

/* Forzar color de texto real en Astra footer */
#colophon .ast-footer-copyright,
#colophon .ast-footer-copyright p,
#colophon .ast-footer-copyright a {
  color: var(--footer-text, #4A4453) !important;
}

/* ==========================================================
   18) HOME (977) — REDUCCIÓN DE CARGA VISUAL
========================================================== */
body.home,
body.page-id-977{
  --home-bg:#f4f3fa;
  --home-card-border:rgba(31,24,52,.1);
  --home-card-shadow:0 4px 14px rgba(20,14,38,.08);
  --home-title:#2e2942;
  --home-copy:#5f5873;
  background: var(--home-bg) !important;
}

body.home #content.site-content,
body.page-id-977 #content.site-content{
  padding-left: 20px !important;
  padding-right: 20px !important;
}

body.home .et_pb_blog_grid .et_pb_salvattore_content,
body.page-id-977 .et_pb_blog_grid .et_pb_salvattore_content{
  gap:24px !important;
  row-gap:24px !important;
}

body.home .et_pb_blog_grid .et_pb_post,
body.page-id-977 .et_pb_blog_grid .et_pb_post{
  border-radius:14px !important;
  border:1px solid var(--home-card-border) !important;
  box-shadow: var(--home-card-shadow) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.home .et_pb_blog_grid .et_pb_post .entry-title a,
body.home .et_pb_blog_grid .et_pb_post .entry-title a:visited,
body.page-id-977 .et_pb_blog_grid .et_pb_post .entry-title a,
body.page-id-977 .et_pb_blog_grid .et_pb_post .entry-title a:visited{
  color: var(--home-title) !important;
}

body.home .et_pb_blog_grid .et_pb_post .entry-title a:hover,
body.page-id-977 .et_pb_blog_grid .et_pb_post .entry-title a:hover{
  color: var(--pf-accent) !important;
}

body.home .et_pb_blog_grid .et_pb_post .post-meta,
body.page-id-977 .et_pb_blog_grid .et_pb_post .post-meta{
  color:#6d6683 !important;
  font-size:.82rem !important;
}

body.home .et_pb_blog_grid .et_pb_post .post-content,
body.page-id-977 .et_pb_blog_grid .et_pb_post .post-content{
  color: var(--home-copy) !important;
}

body.home .et_pb_column_1_4 .et_pb_image img,
body.page-id-977 .et_pb_column_1_4 .et_pb_image img{
  border-radius:10px !important;
  box-shadow:0 2px 10px rgba(20,14,38,.08) !important;
}

body.home .simcal-calendar,
body.page-id-977 .simcal-calendar{
  border-radius:10px !important;
  overflow:hidden !important;
  box-shadow:0 2px 10px rgba(20,14,38,.08) !important;
}

body.home .et_pb_column_1_4 .simcal-calendar,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar{
  background:#fff !important;
  border:1px solid rgba(31,24,52,.12) !important;
  padding:0 !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid{
  margin:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}

/* Sidebar calendario: fijar navegación para que next no se desplace */
body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper,
body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper{
  padding:0 !important;
  vertical-align:middle !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper{
  text-align:left !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper{
  text-align:right !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button,
body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-prev,
body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-next,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-prev,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-next,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-prev,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-next{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  transform:none !important;
  transition:transform .12s ease !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper .simcal-nav-button,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper .simcal-nav-button,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-prev-wrapper .simcal-nav-button{
  margin-left:0 !important;
  margin-right:auto !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper .simcal-nav-button,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper .simcal-nav-button,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-head th.simcal-next-wrapper .simcal-nav-button{
  margin-right:0 !important;
  margin-left:auto !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav svg,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav svg,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav svg{
  display:block !important;
  width:12px !important;
  height:12px !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-prev:hover,
body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-next:hover,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-prev:hover,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-next:hover,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-prev:hover,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-next:hover{
  transform:translateY(-1px) !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-prev:active,
body.home .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-next:active,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-prev:active,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-next:active,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-prev:active,
body.page-id-2402 .et_pb_column_1_4 .simcal-calendar .simcal-nav .simcal-nav-button.simcal-next:active{
  transform:none !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid tbody tr:last-child td:first-child,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid tbody tr:last-child td:first-child{
  border-bottom-left-radius:10px !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid tbody tr:last-child td:last-child,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-grid tbody tr:last-child td:last-child{
  border-bottom-right-radius:10px !important;
}

body.home .et_pb_column_1_4 .simcal-calendar .simcal-calendar-list,
body.home .et_pb_column_1_4 .simcal-calendar .simcal-events-list-container,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-calendar-list,
body.page-id-977 .et_pb_column_1_4 .simcal-calendar .simcal-events-list-container{
  margin:0 !important;
  padding:0 !important;
}

@media (min-width:981px){
  body.home .et_pb_column_1_4,
  body.page-id-977 .et_pb_column_1_4{
    background:#f4ecff !important;
    border:1px solid transparent !important;
    border-radius:16px !important;
    padding:14px 14px 16px !important;
    box-sizing:border-box !important;
    box-shadow:0 6px 14px rgba(20,14,38,.06) !important;
  }

  body.home .et_pb_column_1_4 .et_pb_module,
  body.page-id-977 .et_pb_column_1_4 .et_pb_module{
    margin-bottom:14px !important;
  }

  body.home .et_pb_column_1_4 .et_pb_module:last-child,
  body.page-id-977 .et_pb_column_1_4 .et_pb_module:last-child{
    margin-bottom:0 !important;
  }
}

@media (min-width:1100px){
  body.home .et_pb_row,
  body.page-id-977 .et_pb_row{
    column-gap:32px !important;
  }
}

@media (min-width:981px){
  body.home .et_pb_blog_grid .et_pb_salvattore_content,
  body.page-id-977 .et_pb_blog_grid .et_pb_salvattore_content{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_blog_grid .et_pb_post{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
}

@media (max-width:980px){
  html.home-no-x{
    overflow-x:hidden !important;
  }

  body.home,
  body.page-id-977{
    overflow-x:hidden !important;
    margin:0 !important;
  }

  body.home #page,
  body.home .site,
  body.home .ast-container,
  body.home .ast-plain-container #primary,
  body.home #content.site-content,
  body.page-id-977 #page,
  body.page-id-977 .site,
  body.page-id-977 .ast-container,
  body.page-id-977 .ast-plain-container #primary,
  body.page-id-977 #content.site-content{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body.home #content.site-content,
  body.page-id-977 #content.site-content{
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row,
  body.home .et_pb_row_inner,
  body.page-id-977 .et_pb_row,
  body.page-id-977 .et_pb_row_inner{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row > .et_pb_column,
  body.home .et_pb_row_inner > .et_pb_column,
  body.page-id-977 .et_pb_row > .et_pb_column,
  body.page-id-977 .et_pb_row_inner > .et_pb_column{
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    margin-left:0 !important;
  }

  body.home .et_pb_slider,
  body.home .et_pb_fullwidth_slider,
  body.home .et_pb_slides,
  body.home .et_pb_slide,
  body.page-id-977 .et_pb_slider,
  body.page-id-977 .et_pb_fullwidth_slider,
  body.page-id-977 .et_pb_slides,
  body.page-id-977 .et_pb_slide{
    max-width:100% !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_slider .et_pb_container,
  body.home .et_pb_slider .et_pb_slide_image,
  body.home .et_pb_slider .et_pb_slide_image img,
  body.page-id-977 .et_pb_slider .et_pb_container,
  body.page-id-977 .et_pb_slider .et_pb_slide_image,
  body.page-id-977 .et_pb_slider .et_pb_slide_image img{
    max-width:100% !important;
    overflow-x:hidden !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_blog_grid .et_pb_salvattore_content,
  body.page-id-977 .et_pb_blog_grid .et_pb_salvattore_content{
    display:block !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .et_pb_blog_grid .et_pb_salvattore_content > .column,
  body.home .et_pb_blog_grid .et_pb_salvattore_content > [class^="column"],
  body.page-id-977 .et_pb_blog_grid .et_pb_salvattore_content > .column,
  body.page-id-977 .et_pb_blog_grid .et_pb_salvattore_content > [class^="column"]{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  body.home .et_pb_blog_grid article.et_pb_post,
  body.home .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_blog_grid article.et_pb_post,
  body.page-id-977 .et_pb_blog_grid .et_pb_post{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Bloque de noticias: neutraliza offsets de Divi/Salvattore en móvil */
  body.home .et_pb_row_2 > .et_pb_column_3_4,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4{
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .et_pb_blog_0,
  body.page-id-977 .et_pb_blog_0,
  body.home .et_pb_blog_0 .et_pb_blog_grid,
  body.page-id-977 .et_pb_blog_0 .et_pb_blog_grid,
  body.home .et_pb_blog_0 .et_pb_ajax_pagination_container,
  body.page-id-977 .et_pb_blog_0 .et_pb_ajax_pagination_container,
  body.home .et_pb_blog_0 .et_pb_salvattore_content,
  body.page-id-977 .et_pb_blog_0 .et_pb_salvattore_content{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Concordancia móvil global: todas las páginas con blog grid (excepto especiales) */
  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) #content.site-content{
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }

  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_0,
  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_0 .et_pb_blog_grid,
  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_0 .et_pb_ajax_pagination_container,
  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_0 .et_pb_salvattore_content{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_salvattore_content > .column,
  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_salvattore_content > [class^="column"]{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid article.et_pb_post,
  body:not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_post{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Contenedor móvil único: slider, título y posts con el mismo ancho/centrado */
  body.home .et_pb_row_0,
  body.home .et_pb_row_1,
  body.home .et_pb_row_2,
  body.page-id-977 .et_pb_row_0,
  body.page-id-977 .et_pb_row_1,
  body.page-id-977 .et_pb_row_2{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4{
    width:100% !important;
    max-width:420px !important;
    float:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:0 !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_1_4,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_1_4{
    width:100% !important;
    max-width:420px !important;
    float:none !important;
    margin:16px auto 0 !important;
  }

  body.home #n2-ss-2-align,
  body.page-id-977 #n2-ss-2-align{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  body.home #n2-ss-2-align .n2-padding,
  body.page-id-977 #n2-ss-2-align .n2-padding{
    padding-left:0 !important;
    padding-right:0 !important;
  }

}

/* ==========================================================
   HOME 977 — POSTS CENTRADOS Y ALTURA COMO EL RESTO
   (dejar slider intacto)
========================================================== */
@media (max-width:980px){
  body.home .et_pb_row_2,
  body.page-id-977 .et_pb_row_2{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    float:none !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_0,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_ajax_pagination_container,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_0,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_ajax_pagination_container,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    height:400px !important;
  }
}

@media (max-width:768px){
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post{
    height:380px !important;
  }
}

/* Home/977: fallback temprano a 1 columna para evitar solapes al reducir ancho */
@media (max-width:1500px){
  body.home .et_pb_blog_grid .et_pb_salvattore_content,
  body.page-id-977 .et_pb_blog_grid .et_pb_salvattore_content{
    grid-template-columns:1fr !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    gap:24px !important;
    row-gap:24px !important;
  }

  body.home .et_pb_blog_grid article.et_pb_post,
  body.home .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_blog_grid article.et_pb_post,
  body.page-id-977 .et_pb_blog_grid .et_pb_post{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* ==========================================================
   BLOG GRID (PÁGINAS NORMALES) — ALTURA PROPORCIONAL
   Mantiene base visual de Home y permite crecer al ensanchar.
========================================================== */
body:not(.home):not(.page-id-977):not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1796):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_post{
  height:auto !important;
  min-height:400px !important;
}

body:not(.home):not(.page-id-977):not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1796):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_post .entry-featured-image-url{
  height:auto !important;
  min-height:260px !important;
  aspect-ratio:21 / 13 !important;
}

body:not(.home):not(.page-id-977):not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1796):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_post .entry-featured-image-url img{
  width:100% !important;
  height:100% !important;
}

@media (max-width:768px){
  body:not(.home):not(.page-id-977):not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1796):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_post{
    min-height:380px !important;
  }

  body:not(.home):not(.page-id-977):not(.page-id-1356):not(.page-id-1407):not(.page-id-1438):not(.page-id-1796):not(.page-id-1973):not(.page-id-2747) .et_pb_blog_grid .et_pb_post .entry-featured-image-url{
    min-height:240px !important;
  }
}

/* ==========================================================
   HOME 977 — AIRE VERTICAL EN MÓVIL HORIZONTAL
========================================================== */
@media (max-width:980px) and (orientation:landscape){
  body.home .et_pb_row_1,
  body.page-id-977 .et_pb_row_1{
    margin-top:20px !important;
    margin-bottom:16px !important;
  }

  body.home .et_pb_row_2,
  body.page-id-977 .et_pb_row_2{
    margin-top:0 !important;
    margin-bottom:20px !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post{
    margin-bottom:20px !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post:last-child,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post:last-child,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post:last-child,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post:last-child{
    margin-bottom:0 !important;
  }
}

/* ==========================================================
   HOME 977 — FIX FINAL CENTRADO POSTS (portrait + landscape)
========================================================== */
@media (max-width:980px){
  body.home .et_pb_row_2,
  body.page-id-977 .et_pb_row_2{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4{
    float:none !important;
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_0,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_ajax_pagination_container,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_0,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_ajax_pagination_container,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content > .column,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content > [class^="column"],
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content > .column,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_salvattore_content > [class^="column"]{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    height:400px !important;
  }
}

@media (max-width:768px){
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.home .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid article.et_pb_post,
  body.page-id-977 .et_pb_row_2 > .et_pb_column_3_4 .et_pb_blog_grid .et_pb_post{
    height:380px !important;
  }
}
