/* Menú por acciones: conserva el logo y la paleta Documenta. */
.portal-header.portal-header--documenta{height:74px}
.portal-header--documenta .portal-header-inner{position:relative;width:min(1320px,calc(100% - 64px));height:100%;gap:14px}
.portal-header--documenta .portal-brand{flex:0 0 176px;margin-right:auto}
.portal-header--documenta .portal-brand img{width:176px}
.portal-header--documenta .portal-quick-search,
.portal-header--documenta .portal-reserve-link,
.portal-header--documenta .portal-login-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.25}
.portal-header--documenta .portal-quick-search{justify-content:flex-start;gap:10px;flex:0 1 340px;min-width:180px;height:40px;padding:0 15px;border:1px solid #dce1e7;border-radius:10px;background:#f8f9fa;color:#6b7280;font-weight:500}
.portal-header--documenta .portal-quick-search:hover{border-color:#c7cdd6;background:#fff;color:#111317}
.portal-header--documenta .portal-reserve-link{height:40px;padding:0 15px;border:1px solid #e10600;border-radius:10px;color:#c90500}
.portal-header--documenta .portal-reserve-link:hover{background:#fff4f3}
.portal-header--documenta .portal-header-cta{order:0;min-height:40px;padding:0 16px;border-radius:10px;font-size:13px;font-weight:700}
.portal-header--documenta .portal-menu-button{order:0;display:flex;align-items:center;justify-content:center;gap:8px;width:auto;height:40px;min-width:83px;padding:0 11px;color:#111317}
.portal-header--documenta .portal-menu-button b{font-size:13px;font-weight:650}
.portal-header--documenta .portal-login-link{color:#343942;padding:10px 0 10px 4px}
.portal-header--documenta .portal-login-link:hover{color:#e10600}
.portal-header.portal-header--documenta nav{position:absolute;top:64px;right:0;left:auto;display:none;grid-template-columns:repeat(2,minmax(180px,1fr));width:min(490px,calc(100vw - 32px));max-height:calc(100dvh - 86px);overflow:auto;margin:0;padding:20px;gap:15px;border:1px solid #e1e5eb;border-radius:15px;background:#fff;box-shadow:0 16px 46px rgba(17,19,23,.14)}
.portal-header.portal-header--documenta nav.is-open{display:grid}
.portal-header--documenta .portal-menu-group{display:grid;align-content:start;gap:2px}
.portal-header--documenta .portal-menu-group strong{padding:4px 10px 8px;color:#7a8290;font-size:11px;font-weight:750;letter-spacing:.03em}
.portal-header.portal-header--documenta nav a{display:block;padding:9px 10px;border-radius:7px;color:#222936;font-size:13px;font-weight:550;letter-spacing:0;line-height:1.3}
.portal-header.portal-header--documenta nav a:hover{background:#fff4f3;color:#c90500}
.portal-header--documenta .portal-menu-mobile-actions,.portal-header--documenta .portal-menu-login{display:none}
/* Tamaños de la referencia Documenta Trámites: títulos contenidos y texto legible. */
.portal-site .portal-hero h1{font-size:clamp(2.15rem,3.1vw,2.85rem);line-height:1.12;letter-spacing:-.035em}
.portal-site .portal-hero-copy>p{font-size:1rem;line-height:1.55}
.portal-site .portal-eyebrow{font-size:.75rem;letter-spacing:.055em}
.portal-site .portal-section-heading h2,.portal-site .portal-b2b h2,.portal-site .portal-final-cta h2,
.portal-site .portal-finder-teaser h2,.portal-site .portal-verification-teaser h2,
.portal-site .entity-type-section-head h2,.portal-site .entity-type-offers h2,
.portal-site .platform-public-features h2,.portal-site .platform-public-steps h2,.portal-site .platform-public-cta h2{font-size:clamp(1.8rem,2.5vw,2.65rem);line-height:1.16;letter-spacing:-.03em}
.portal-site .portal-simple-shell h1,.portal-site .finder-page-heading h1,.portal-site .entity-profile-hero h1,
.portal-site .editorial-public-hero h1,.portal-site .editorial-article-header h1,.portal-site .verification-hero h1,
.portal-site .entity-type-hero h1,.portal-site .portal-contact-hero h1,.portal-site .platform-public-hero h1{font-size:clamp(2.15rem,3.1vw,2.85rem);line-height:1.12;letter-spacing:-.035em}
@media(max-width:1040px){
 .portal-header--documenta .portal-header-inner{gap:10px}
 .portal-header--documenta .portal-quick-search,.portal-header--documenta .portal-login-link{display:none}
 .portal-header--documenta .portal-brand{margin-right:auto}
 .portal-header--documenta .portal-menu-mobile-actions,.portal-header--documenta .portal-menu-login{display:grid}
 .portal-header.portal-header--documenta nav{top:64px;left:auto;right:0}
}
@media(max-width:700px){
 .portal-header.portal-header--documenta{height:68px}
 .portal-header--documenta .portal-header-inner{height:68px;width:calc(100% - 32px);gap:8px}
 .portal-header--documenta .portal-brand{flex:0 0 132px}
 .portal-header--documenta .portal-brand img{width:132px}
 .portal-header--documenta .portal-reserve-link{display:none}
 .portal-header--documenta .portal-header-cta{min-height:38px;padding:0 10px;font-size:11px}
 .portal-header--documenta .portal-menu-button{min-width:84px;width:auto;height:38px;padding:0 11px}
 .portal-header.portal-header--documenta nav{top:60px;left:0;right:0;grid-template-columns:1fr;width:100%;max-height:calc(100dvh - 75px);padding:12px;gap:8px}
 .portal-site .portal-hero h1,.portal-site .portal-simple-shell h1,.portal-site .finder-page-heading h1,
 .portal-site .entity-profile-hero h1,.portal-site .editorial-public-hero h1,.portal-site .editorial-article-header h1,
 .portal-site .verification-hero h1,.portal-site .entity-type-hero h1,.portal-site .portal-contact-hero h1,
 .portal-site .platform-public-hero h1{font-size:clamp(2rem,7vw,2.5rem)}
 .portal-site .portal-section-heading h2,.portal-site .portal-b2b h2,.portal-site .portal-final-cta h2{font-size:clamp(1.7rem,6vw,2.15rem)}
}
/* El componente controla el panel abierto; estos estilos priorizan el botón visible. */
.portal-header--documenta .portal-menu-button .portal-menu-icon{display:block;flex:none}
.portal-header--documenta .portal-menu-button:hover,
.portal-header--documenta .portal-menu-button[aria-expanded='true']{border-color:#f4bbb8;background:#fff2f1;color:#c90500}
.portal-header--documenta .portal-menu-button{transition:background .18s ease,color .18s ease,border-color .18s ease}
.portal-header--documenta .portal-menu-group a:hover{background:#fff2f1;color:#c90500;transform:translateX(2px)}
.portal-header--documenta .portal-menu-group a{transition:background .16s ease,color .16s ease,transform .16s ease}
@media(max-width:420px){.portal-header--documenta .portal-header-cta{display:none}.portal-header--documenta .portal-menu-button{width:auto;min-width:84px;padding:0 11px}}
/* Menú flotante aprobado: dos columnas, transiciones discretas. */
.portal-header.portal-header--documenta nav,
.portal-header.portal-header--documenta nav.is-open {
  display: grid;
  grid-template-columns: repeat(2, minmax(170px, 1fr));
  width: min(470px, calc(100vw - 32px));
  gap: 12px;
  padding: 21px;
  border: 1px solid #dde2e8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 38px rgb(17 19 23 / 11%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transform-origin: top right;
  transition: opacity 180ms cubic-bezier(.2,.8,.2,1),
              transform 180ms cubic-bezier(.2,.8,.2,1),
              visibility 180ms;
}
.portal-header.portal-header--documenta nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.portal-header.portal-header--documenta nav a {
  font-size: 13px;
  font-weight: 550;
  line-height: 1.4;
}
.portal-header.portal-header--documenta nav a:hover,
.portal-header.portal-header--documenta nav a:focus-visible {
  background: #fff1f0;
  color: #c90500;
  transform: none;
}
.portal-header--documenta .portal-menu-group + .portal-menu-group:not(.portal-menu-mobile-actions) {
  border-left: 1px solid #eef0f3;
  padding-left: 12px;
}
@media (max-width:1040px) {
  .portal-header.portal-header--documenta nav,
  .portal-header.portal-header--documenta nav.is-open {
    top: 64px;
    right: 0;
    left: auto;
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
}
@media (max-width:700px) {
  .portal-header.portal-header--documenta nav,
  .portal-header.portal-header--documenta nav.is-open {
    top: 60px;
    right: 0;
    left: auto;
    width: min(390px, calc(100vw - 32px));
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .portal-header--documenta .portal-menu-group + .portal-menu-group:not(.portal-menu-mobile-actions) {
    border-left: 0;
    border-top: 1px solid #eef0f3;
    padding: 8px 0 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .portal-header.portal-header--documenta nav,
  .portal-header.portal-header--documenta nav.is-open,
  .portal-header--documenta .portal-menu-group a {
    transition: none !important;
    transform: none !important;
  }
}
