:root{ --pcd-topbar:#EFF1AF; --pcd-dark:#0E1220; }
*{ box-sizing:border-box }
html, body{ margin:0; padding:0; font-family: Arimo, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; }
body{ color: var(--pcd-dark); overflow-x:hidden; }

/* Top bar */
.site-header.pcd{ background:var(--pcd-topbar); position:sticky; top:0; z-index:50; }
.navbar{ min-height:44px; padding:.35rem 0; display:flex; align-items:center; justify-content:center; position:relative; }
.container{ width:min(1200px, 100%); margin:0 auto; padding:0 12px; }

/* Burguer (base/móvil) */
.pcd-burger{ position:absolute; left:.5rem; top:50%; transform:translateY(-50%); width:24px; height:24px; border:0; background:transparent; border-radius:6px; cursor:pointer; }
.pcd-burger--icon span, .pcd-burger--icon span::before, .pcd-burger--icon span::after{ display:block; position:absolute; left:6px; right:6px; height:2px; background:var(--pcd-dark); content:""; }
.pcd-burger--icon span{ top:50%; transform:translateY(-50%); }
.pcd-burger--icon span::before{ top:-4px; }
.pcd-burger--icon span::after { top: 4px; }

/* Marca centrada (base/móvil) */
.pcd-center-brand{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); text-align:center; }
.pcd-center-logo{ height:20px; width:auto; display:inline-block; }

/* Menú horizontal visible en desktop */
.pcd-primary{ display:none; }
@media (min-width: 1024px){
  .navbar{ display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; min-height:48px; }
  .pcd-burger{ position:static; transform:none; justify-self:start; align-self:center; }
  .pcd-center-brand{ position:static; transform:none; text-align:center; justify-self:center; align-self:center; }
  .pcd-center-logo{ height:18px; }
  .pcd-primary{ display:block; position:static; transform:none; justify-self:end; align-self:center; max-width:100%; }
  .pcd-primary .menu{ display:flex; align-items:center; justify-content:flex-end; gap:.65rem; margin:0; padding:0; list-style:none; white-space:nowrap; }
  .pcd-primary .menu > li{ position:relative; }
  .pcd-primary .menu > li > a{ display:block; padding:.45rem .6rem; border-radius:10px; font-weight:700; text-decoration:none; color:var(--pcd-dark); font-size:.92rem; }
  .pcd-primary .menu > li > a:hover{ background:rgba(0,0,0,.06); }
  .pcd-primary .menu > li > ul.sub-menu{ position:absolute; left:0; top:100%; min-width:220px; background:#fff; border-radius:14px; box-shadow:0 12px 28px rgba(0,0,0,.18); padding:.35rem 0; margin:0; list-style:none; display:none; z-index:60; }
  .pcd-primary .menu > li:hover > ul.sub-menu,
  .pcd-primary .menu > li:focus-within > ul.sub-menu{ display:block; }
  .pcd-primary .menu > li > ul.sub-menu > li > a{ display:block; padding:.6rem .9rem; color:var(--pcd-dark); text-decoration:none; white-space:nowrap; }
  .pcd-primary .menu > li > ul.sub-menu > li > a:hover{ background:var(--pcd-topbar); }
}

/* Drawer L→R (móvil) */
.drawer{ position:fixed; inset:0; display:block; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .26s ease; }
.drawer.open{ visibility:visible; opacity:1; pointer-events:auto; }
.drawer-backdrop{ position:absolute; inset:0; background:rgba(2,8,23,.35); opacity:0; transition:opacity .26s ease; }
.drawer.open .drawer-backdrop{ opacity:1; }
.drawer-panel{ position:absolute; left:0; top:0; bottom:0; width:min(86vw,360px); background:#fff; box-shadow:0 10px 22px rgba(0,0,0,.2); overflow:auto; padding:.25rem 0; transform:translateX(-100%); transition:transform .26s cubic-bezier(.22,.61,.36,1); }
.drawer.open .drawer-panel{ transform:translateX(0); }
.drawer .menu{ list-style:none; margin:0; padding:0; }
.drawer .menu > li > a{ display:block; padding:.9rem 1rem; font-weight:700; text-decoration:none; color:var(--pcd-dark); }
.drawer .menu .sub-menu > li > a{ display:block; padding:.7rem 1.25rem; color:var(--pcd-dark); text-decoration:none; font-weight:600; }
.drawer .menu a:hover{ background:var(--pcd-topbar); }

/* Footer */
.site-footer{ background:var(--pcd-topbar); border-top:1px solid rgba(0,0,0,.06); }
.site-footer .container{ padding:12px; }
.site-footer .footer-inline{ text-align:center; font-size:.9rem; }
.site-footer .footer-inline a{ color:var(--pcd-dark); text-decoration:none; }
.site-footer .footer-inline a:hover{ text-decoration:underline; }
.site-footer .footer-inline .sep{ opacity:.5; margin:0 .5rem; }

/* Page banner */
.pcd-page-banner__bg{ height:280px; border-bottom-left-radius:20px; border-bottom-right-radius:20px; box-shadow:0 10px 22px rgba(0,0,0,.15); background-size:cover; background-position:center; margin-bottom:18px; }
@media (max-width:960px){ .pcd-page-banner__bg{ height:220px; } }

/* Títulos */
.container .entry-title{ font-family:"League Spartan", Arimo, sans-serif; font-weight:800; }
h1,h2,h3,h4{ font-family:"League Spartan", Arimo, sans-serif; }

/* Anti-glyph reforzado */
html::before, body::before, html::after, body::after{ content:none !important; display:none !important; }

/* === PCD 1.7.9-fix2: Estabilidad de submenús === */
.pcd-primary .menu > li{ position:relative; }
.pcd-primary .menu > li::after{
  content:""; position:absolute; left:0; right:0; top:100%; height:10px;
}
.pcd-primary .menu > li > ul.sub-menu{ top:100%; }
.pcd-primary .menu > li.open > ul.sub-menu{ display:block; }

/* === PCD 1.7.9-fix2: Centrado robusto del logo y columnas explícitas === */
.navbar{ display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; }
.pcd-burger{ grid-column:1; justify-self:start; }
.pcd-center-brand{ grid-column:2; justify-self:center; text-align:center; }
.pcd-primary{ grid-column:3; justify-self:end; max-width:100%; }
@media (min-width: 1024px){
  .pcd-burger{ display:none !important; }
}


/* === PCD 1.8.1: Fondo adaptable (solo primer nivel de submenú) === */
.pcd-primary .menu > li > ul.sub-menu{
  background: url("../img/submenu-bg.png") no-repeat center / cover;
  border: none;
  border-radius: 14px;
  overflow: hidden;
}
.pcd-primary .menu > li > ul.sub-menu > li > ul.sub-menu{
  background: none; border-radius: 0; overflow: visible;
}


/* === PCD 1.8.2: Logo escritorio fijo y logo móvil adaptativo === */
.pcd-logo-desktop{ width:63.5px; height:28.5px; object-fit:contain; display:inline-block; }
.pcd-logo-mobile{ display:none; height:auto; max-height:clamp(40px, 7.5vw, 64px); width:auto; max-width:80vw; }
@media (max-width:1023px){
  .pcd-logo-desktop{ display:none; }
  .pcd-logo-mobile{ display:inline-block; }
}


/* === PCD 1.8.3: Indicador para items con submenú (solo desktop) === */
@media (min-width:1024px){
  .pcd-primary .menu > li.menu-item-has-children > a{
    position:relative;
    padding-right: .85rem; /* espacio para el indicador */
  }
  .pcd-primary .menu > li.menu-item-has-children > a::after{
    content:""; display:inline-block; vertical-align:middle;
    margin-left:.35rem;
    width:.5em; height:.5em;
    /* Triángulo hacia abajo usando borde y currentColor */
    border-left:.28em solid transparent;
    border-right:.28em solid transparent;
    border-top:.35em solid currentColor;
    transform: translateY(-5%);
  }
  /* Opcional: al abrir (via :hover o .open) se gira el indicador */
  .pcd-primary .menu > li.menu-item-has-children:hover > a::after,
  .pcd-primary .menu > li.menu-item-has-children.open > a::after{
    transform: rotate(180deg) translateY(15%);
  }
}


/* === PCD 1.8.4: Indicador sutil tipo "chevron" === */
@media (min-width:1024px){
  .pcd-primary .menu > li.menu-item-has-children > a{
    position:relative;
    padding-right:.75rem;
  }
  .pcd-primary .menu > li.menu-item-has-children > a::after{
    content:"";
    display:inline-block;
    width:6px; height:6px;
    margin-left:.45rem;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    opacity:.72;
    transform: translateY(-1px) rotate(45deg); /* apunta hacia abajo */
    transition: transform .18s ease, opacity .18s ease;
  }
  .pcd-primary .menu > li.menu-item-has-children:hover > a::after,
  .pcd-primary .menu > li.menu-item-has-children.open > a::after{
    transform: translateY(-1px) rotate(-135deg); /* apunta hacia arriba */
    opacity:1;
  }
  @media (prefers-reduced-motion: reduce){
    .pcd-primary .menu > li.menu-item-has-children > a::after{
      transition: none;
    }
  }
}


/* === PCD 1.8.5: Pulido visual indicador + submenús elegantes === */

/* Chevron más fino y proporcionado */
@media (min-width:1024px){
  .pcd-primary .menu > li.menu-item-has-children > a{
    position:relative;
    padding-right:.7rem;
  }
  .pcd-primary .menu > li.menu-item-has-children > a::after{
    width:5px; height:5px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    opacity:.66;
    transform: translateY(-1px) rotate(45deg);
    transition: transform .22s ease, opacity .22s ease;
  }
  .pcd-primary .menu > li.menu-item-has-children:hover > a::after,
  .pcd-primary .menu > li.menu-item-has-children.open > a::after{
    transform: translateY(-1px) rotate(-135deg);
    opacity:.95;
  }
}

/* Aparición del submenú con leve fade+deslizamiento */
@keyframes pcd-submenu-appear{
  from{ opacity:0; transform: translateY(-4px); }
  to{   opacity:1; transform: translateY(0); }
}
@media (min-width:1024px){
  .pcd-primary .menu > li:hover > ul.sub-menu,
  .pcd-primary .menu > li.open  > ul.sub-menu{
    animation: pcd-submenu-appear .18s ease both;
  }
}

/* Hover de item más elegante (sin cambiar colores de marca) */
.pcd-primary .menu > li > ul.sub-menu > li > a{
  border-radius:10px;
  padding:.55rem .9rem;
  transition: background-color .18s ease, transform .18s ease;
}
.pcd-primary .menu > li > ul.sub-menu > li > a:hover{
  /* velo suave para que destaque sobre la imagen de fondo */
  background-color: rgba(255,255,255,.16);
  transform: translateX(2px);
}


/* === PCD 1.8.6: Fondo de submenú con blur premium moderado === */
@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){
  .pcd-primary .menu > li > ul.sub-menu{
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    background-color: rgba(255,255,255,0.25);
    border: 1px solid rgba(255,255,255,0.3);
  }
}
