/* Paleta aproximada de las capturas. Cambiar aquí al disponer del manual de marca. */
body.portavida {
  --pv-blue: #3025a5;
  --pv-green: #73a92d;
  --pv-cta: #44751f;
  --pv-cta-hover: #335b17;
  --pv-ink: #20352b;
  --pv-muted: #56655d;
  --pv-background: #f6f8f3;
  --pv-surface: #ffffff;
  --pv-border: #dce5d7;
  --pv-soft: #edf4e5;
  --pv-radius: 24px;
  --pv-control-radius: 12px;
  --pv-shadow: 0 10px 30px rgb(30 58 32 / 7%);
  --pv-font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --pv-font-heading: var(--pv-font);
  background: var(--pv-background);
  color: var(--pv-ink);
  font-family: var(--pv-font);
  font-size: 16px;
  line-height: 1.55;
}
.portavida :where(h1, h2, h3, h4, .elementor-heading-title) {
  color: var(--pv-blue);
  font-family: var(--pv-font-heading);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.portavida :where(h1, .pv-page-title .elementor-heading-title) { font-size: clamp(1.7rem, 4vw, 2.6rem); }
.portavida a { color: var(--pv-blue); }
.portavida a:hover { color: var(--pv-cta); }
.portavida :where(.button, .ast-button, button[type="submit"], input[type="submit"], .elementor-button, .wc-block-components-button) {
  background: var(--pv-cta);
  color: #fff;
  border: 1px solid transparent;
  border-radius: var(--pv-control-radius);
  min-height: 48px;
  padding: .8rem 1.25rem;
  font-family: var(--pv-font);
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  white-space: normal;
  transition: background-color .18s ease;
}
.portavida :where(.button, .ast-button, button[type="submit"], input[type="submit"], .elementor-button, .wc-block-components-button):hover {
  background: var(--pv-cta-hover); color: #fff;
}
.portavida :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--pv-blue); outline-offset: 3px;
}
.portavida :where(button, input, select, textarea):disabled { opacity: .6; cursor: not-allowed; }
.portavida .pv-section { padding: clamp(20px, 4vw, 48px) 16px; }
.portavida .pv-section > .e-con-inner { max-width: 1160px; }
.portavida .pv-muted { color: var(--pv-muted); }
/* Header de Elementor: contenedor con logo y menú como hijos directos. */
.portavida .pv-header {
  background: var(--pv-surface); border-bottom: 1px solid var(--pv-border);
  padding: 12px 20px; position: relative; z-index: 50;
}
.portavida .pv-header, .portavida .pv-header > .e-con-inner {
  display: flex; flex-direction: row; align-items: center;
  justify-content: space-between; flex-wrap: nowrap; gap: 16px;
}
.portavida .pv-header > .e-con-inner { width: 100%; max-width: 1160px; }
.portavida .pv-header .pv-logo { width: auto; flex: 0 1 auto; }
.portavida .pv-logo img { width: 160px; max-width: 100%; height: auto; }
.portavida .pv-header .pv-nav { width: auto; flex: 0 0 auto; }
.portavida .pv-nav .elementor-menu-toggle {
  min-width: 48px; min-height: 48px; border-radius: 12px;
  background: var(--pv-soft); color: var(--pv-blue);
}
.portavida .pv-nav .elementor-nav-menu--dropdown {
  background: var(--pv-surface); border-radius: 12px;
  box-shadow: var(--pv-shadow);
}
.portavida .pv-nav .elementor-item { color: var(--pv-cta); font-family: var(--pv-font); font-weight: 600; }
.portavida .pv-nav .elementor-item:hover,
.portavida .pv-nav .elementor-item-active { color: var(--pv-blue); }
/* Astra: estilos para su Header Builder sin sustituir el menú nativo. */
.portavida .main-header-bar, .portavida .ast-below-header-bar { background: var(--pv-surface); border-color: var(--pv-border); }
.portavida .ast-header-break-point .ast-mobile-header-wrap .ast-primary-header-bar { padding: 8px 16px; }
.portavida .ast-mobile-header-wrap .custom-logo { max-width: 160px; height: auto; }
.portavida .ast-button-wrap .menu-toggle { min-width: 48px; min-height: 48px; color: var(--pv-blue); }
