/*
 * V104 · Cabecera global de Print & Copy.
 * Unifica las dos estructuras historicas de navegacion sin alterar los CTA
 * interiores aprobados para cada pagina.
 */

@font-face {
  font-family: "PC Sans";
  src: url("/assets/fonts/pc-sans/pc-sans-regular.woff") format("woff");
  font-display: swap;
  font-style: normal;
  font-weight: 400 600;
}

@font-face {
  font-family: "PC Sans";
  src: url("/assets/fonts/pc-sans/pc-sans-bold.woff") format("woff");
  font-display: swap;
  font-style: normal;
  font-weight: 700 900;
}

:root {
  --pc-header-font: "PC Sans", Arial, Helvetica, sans-serif;
  --pc-header-ink: #171a21;
  --pc-header-line: #d7dce5;
  --pc-header-pink: #d80068;
  --pc-header-pink-soft: #fff0f7;
  --pc-header-green: #118443;
  --pc-header-height: 84px;
}

html { scroll-padding-top: calc(var(--pc-header-height) + 12px); }

body .pc-site-header,
body .cabecera {
  position: sticky !important;
  z-index: 1000 !important;
  top: 0 !important;
  width: 100% !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pc-header-line) !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: none !important;
  color: var(--pc-header-ink) !important;
  font-family: var(--pc-header-font) !important;
  font-size: 16px !important;
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  backdrop-filter: saturate(180%) blur(12px);
}

body .pc-site-header *,
body .cabecera * { box-sizing: border-box; }

body .pc-site-header__inner,
body .cabecera__fila {
  position: relative !important;
  display: flex !important;
  width: min(calc(100% - 2rem), 1320px) !important;
  max-width: none !important;
  min-height: var(--pc-header-height) !important;
  align-items: center !important;
  gap: 16px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

body .pc-site-header__logo,
body .cabecera .marca {
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

body .pc-site-header__logo img,
body .cabecera .marca img {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  object-fit: contain !important;
}

body .pc-site-nav,
body .cabecera .nav {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin-left: clamp(18px, 3vw, 44px) !important;
  font-family: var(--pc-header-font) !important;
}

body .pc-site-nav,
body .cabecera .nav__lista {
  width: 100% !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(4px, .75vw, 12px) !important;
}

body .cabecera .nav__lista {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .pc-site-nav a,
body .cabecera .nav__enlace {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 11px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--pc-header-ink) !important;
  font-family: var(--pc-header-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transition: color .18s ease, background-color .18s ease !important;
}

body .pc-site-nav a:hover,
body .cabecera .nav__enlace:hover {
  background: #f5f6f8 !important;
  color: var(--pc-header-ink) !important;
}

body .pc-site-nav a[aria-current="page"],
body .cabecera .nav__enlace[aria-current="page"] {
  background: var(--pc-header-pink-soft) !important;
  color: var(--pc-header-pink) !important;
}

body .pc-site-header__wa,
body .cabecera__whatsapp {
  display: inline-flex !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 0 0 12px !important;
  padding: 11px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-family: var(--pc-header-font) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body .pc-site-header__wa,
body .cabecera__whatsapp {
  background: var(--pc-header-green) !important;
  box-shadow: 0 7px 18px rgba(18, 140, 74, .22) !important;
  text-transform: none !important;
}

body .pc-site-header__wa:hover,
body .cabecera__whatsapp:hover { background: #0d6f3a !important; }

body .pc-site-header__budget,
body .cabecera .cabecera__cta { display: none !important; }

body .pc-site-header a:focus-visible,
body .pc-site-header summary:focus-visible,
body .cabecera a:focus-visible,
body .cabecera button:focus-visible {
  outline: 3px solid #111318 !important;
  outline-offset: 3px !important;
}

body .pc-site-menu,
body .cabecera .nav-boton { display: none !important; }

@media (max-width: 1240px) {
  body .pc-site-header__inner,
  body .cabecera__fila {
    width: min(calc(100% - 1.25rem), 1320px) !important;
    min-height: 72px !important;
  }

  body .pc-site-header__logo,
  body .cabecera .marca {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
  }

  body .pc-site-header__logo img,
  body .cabecera .marca img {
    width: 50px !important;
    height: 50px !important;
  }

  body .pc-site-nav,
  body .pc-site-header__inner > .pc-site-header__wa,
  body .pc-site-header__inner > .pc-site-header__budget,
  body .cabecera .nav,
  body .cabecera__fila > .cabecera__whatsapp,
  body .cabecera__fila > .cabecera__cta {
    display: none !important;
  }

  body .pc-site-menu {
    display: block !important;
    margin-left: auto !important;
  }

  body .pc-site-menu summary,
  body .cabecera .nav-boton {
    display: inline-flex !important;
    min-width: 92px !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    margin-left: auto !important;
    padding: 11px 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #15151b !important;
    color: #fff !important;
    font-family: var(--pc-header-font) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  body .pc-site-menu summary::-webkit-details-marker { display: none; }
  body .pc-site-menu summary::before {
    width: 16px;
    height: 12px;
    content: "";
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    box-shadow: inset 0 4px 0 -2px currentColor;
  }

  body .pc-site-menu__panel,
  body .cabecera .nav-movil {
    position: absolute !important;
    z-index: 1010 !important;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 13px !important;
    border: 1px solid var(--pc-header-line) !important;
    border-radius: 0 0 1rem 1rem !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(16, 16, 20, .15) !important;
  }

  body .pc-site-menu__panel { gap: 3px !important; }
  body .cabecera .nav-movil ul {
    display: grid !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body .pc-site-menu__panel a,
  body .cabecera .nav-movil li a {
    display: flex !important;
    min-height: 48px !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: var(--pc-header-ink) !important;
    font-family: var(--pc-header-font) !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
  }

  body .pc-site-menu__panel a[aria-current="page"],
  body .cabecera .nav-movil li a[aria-current="page"] {
    background: var(--pc-header-pink-soft) !important;
    color: var(--pc-header-pink) !important;
  }

  body .pc-site-menu__panel .pc-site-header__wa,
  body .cabecera .nav-movil > .boton {
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 6px 0 0 !important;
    color: #fff !important;
  }

  body .pc-site-menu__panel a.pc-site-header__wa {
    background: var(--pc-header-green) !important;
    box-shadow: 0 7px 18px rgba(18, 140, 74, .18) !important;
  }

  body .cabecera .nav-movil > .boton--whatsapp {
    background: var(--pc-header-green) !important;
    box-shadow: 0 7px 18px rgba(18, 140, 74, .18) !important;
    text-transform: none !important;
  }

  body .cabecera .nav-movil[data-abierto="false"] { display: none !important; }
  body .cabecera .nav-movil[data-abierto="true"] { display: block !important; }
}

@media (min-width: 1241px) {
  body .pc-site-nav { display: flex !important; }
  body .cabecera .nav { display: block !important; }
  body .pc-site-menu,
  body .cabecera .nav-boton,
  body .cabecera .nav-movil { display: none !important; }
}

@media (max-width: 420px) {
  body .pc-site-header__inner,
  body .cabecera__fila { width: min(calc(100% - 1rem), 1320px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  body .pc-site-header *,
  body .cabecera * { transition: none !important; }
}
