/**
 * Ancho de layout GINO (child override — no tocar Bootstrap/Hummingbird parent).
 *
 * Bootstrap XXL fija .container en 1320px (@media min-width: 1400px).
 * Aquí pisamos solo los bloques de página del child, con selectores más específicos.
 *
 * Carga: bloque inline al final de np-header.css (asset ya registrado).
 */
:root {
  --gino-header-max: 1530px;
  --gino-home-max: 1530px;
  --gino-plp-max: 1570px;
  --gino-pdp-max: 1500px;
  --gino-checkout-max: 1500px;
  --gino-breadcrumb-max: 1530px;
  --gino-footer-max: 1447px;
  --gino-auth-max: 540px;
}

/*
 * Login / formularios estrechos (authentication.tpl → container--limited-sm).
 * El parent pone max-width:540px, pero .container en md+/lg+/xl+ (misma
 * especificidad, después en el CSS) lo ensancha a 720–1320px en desktop.
 * Selector más específico: no toca PLP/PDP/home ni mobile (width:100% + tope).
 */
.container.container--limited-sm {
  max-width: var(--gino-auth-max);
}

/* Evita scroll horizontal por full-bleed con 100vw (scrollbar gutter). No corta scroll vertical.
 * overflow-x ≠ visible en html/body rompe sticky; en PDP mobile pdp.css lo anula. */
html,
body {
  overflow-x: clip;
}

.header-banner,
.np-sc-topbar,
.np-official-bar,
#dx-tbar-container {
  max-width: 100% !important;
  width: 100%;
  box-sizing: border-box;
}

/*
 * Sticky header + overlays: ver mismo bloque en np-header.css.
 * Duplicado aquí por si este asset carga sin el embed del header.
 */
/*
 * Bootstrap al abrir modal: overflow:hidden + padding-right (~15px) por el scrollbar.
 * Con PLP a 1570px eso empuja el layout y aparece scroll horizontal.
 * Anulamos el padding; overflow visible mantiene sticky del header.
 */
/*
 * Evita padding-right de Bootstrap al abrir modal (scroll horizontal PLP).
 * NO forzar overflow:visible con pickup Bluex / quickview / filtros:
 * eso + smooth-scroll mataba el scroll interno de listas.
 */
html.modal-open:not(:has(body.pz-pickup-modal-open)):not(:has(body.np-qv-open)):not(:has(body.np-filter-open)),
html.modal-open:not(:has(body.pz-pickup-modal-open)):not(:has(body.np-qv-open)):not(:has(body.np-filter-open)) body,
body.modal-open:not(.pz-pickup-modal-open):not(.np-qv-open):not(.np-filter-open),
html.overflow-hidden:not(.npmm-menu-open):not(.np-filter-open),
body.overflow-hidden:not(.npmm-menu-open):not(.np-filter-open):not(.pz-pickup-modal-open):not(.np-qv-open),
html.np-se-search-open,
body.np-se-search-open,
html:has(.modal.show):not(:has(body.pz-pickup-modal-open)):not(:has(#myModal.show)),
body:has(.modal.show):not(.pz-pickup-modal-open):not(:has(#myModal.show)),
html:has(.offcanvas.show):not(.npmm-menu-open):not(.np-filter-open):not(:has(.npmm-mobile.offcanvas.show)):not(:has(#offcanvas-faceted.show)),
body:has(.offcanvas.show):not(.npmm-menu-open):not(.np-filter-open):not(:has(.npmm-mobile.offcanvas.show)):not(:has(#offcanvas-faceted.show)) {
  overflow: visible !important;
  overflow-x: clip !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
  height: auto !important;
  max-height: none !important;
}

/* Pickup Bluex: respetar scroll lock del módulo (lista scrolleable) */
body.pz-pickup-modal-open,
html:has(body.pz-pickup-modal-open) {
  overflow: hidden !important;
  padding-right: 0 !important;
}

/* Refuerzo: 100% (no 100vw) — 100vw incluye scrollbar y genera scroll horizontal */
.modal,
.modal.show,
.modal.quickview,
.np-pdp-cuotas-modal,
.np-pdp-cuotas-modal.show,
.np-pdp-cuotas-modal.np-qv-child-open {
  overflow-x: hidden !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box;
}

html:has(.np-qv-child-open),
body:has(.np-qv-child-open),
html:has(.np-pdp-cuotas-modal.show),
body:has(.np-pdp-cuotas-modal.show) {
  overflow-x: clip !important;
}

/* Header */
.np-wh-header .header-bottom__container,
.np-wh-header.header-bottom .container-md {
  max-width: var(--gino-header-max);
}

/* Footer */
.footer-container .container {
  max-width: var(--gino-footer-max) !important;
}

/* Breadcrumb: links más negros/negrita; página actual queda muted */
.breadcrumb__wrapper a.breadcrumb-link,
.breadcrumb__wrapper a.breadcrumb-link span {
  color: #5a5a5a !important;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.breadcrumb__wrapper a.breadcrumb-link:hover,
.breadcrumb__wrapper a.breadcrumb-link:hover span {
  color: #3a3a3a !important;
  opacity: 0.72;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* Solo el texto final (sin enlace) — no pisar el span dentro del <a> */
.breadcrumb__wrapper .breadcrumb-item > span {
  color: #6b7280;
  font-weight: 500;
}

@media (min-width: 1200px) {
  /* Alertas Bootstrap de producto/carrito alineadas al contenido GINO. */
  #notifications .container {
    max-width: 1533px;
  }

  .breadcrumb__wrapper > .container {
    max-width: var(--gino-breadcrumb-max);
  }

  /* Home: columnas del layout + contenido fbhomeprojects (.pzhome-shell) */
  body#index .columns-container.container {
    max-width: var(--gino-home-max);
  }

  /* PDP */
  body#product .columns-container.container {
    max-width: var(--gino-pdp-max);
  }

  /* Carrito / checkout / confirmación */
  body#cart .columns-container.container,
  body#checkout .columns-container.container,
  body#order-confirmation .columns-container.container {
    max-width: var(--gino-checkout-max) !important;
    padding-left: max(1.25rem, env(safe-area-inset-left, 0px));
    padding-right: max(1.25rem, env(safe-area-inset-right, 0px));
  }

  /* PLP / listados */
  body#category .columns-container.container,
  body#search .columns-container.container,
  body#manufacturer .columns-container.container,
  body#supplier .columns-container.container,
  body#new-products .columns-container.container,
  body#best-sales .columns-container.container,
  body#prices-drop .columns-container.container,
  /* pm_advancedsearch4: URLs /s/ (SEO) y resultados */
  body.advancedsearch-seo .columns-container.container,
  body.as4-search-results .columns-container.container,
  body[id^='advancedsearch-seo-'] .columns-container.container,
  body#module-pm_advancedsearch4-seo .columns-container.container,
  body#module-pm_advancedsearch4-searchresults .columns-container.container {
    max-width: var(--gino-plp-max);
  }
}

/* ========== Form check GINO (desk + mobile) ========== */
.form-check-input {
  --bs-form-check-bg: #ffffff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  border: 1.7px solid #090b11;
  flex-shrink: 0;
  height: 16px;
  width: 16px;
  margin-top: 1px;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.form-check-input:checked {
  background-color: #202d40;
  border-color: #5d5d5d;
  box-shadow: 0px 0px 5px -1px #202d40cf;
}

@media (max-width: 767.98px) {
  .form-check-input {
    height: 15px;
    width: 15px;
  }
  .form-check-input:checked {
    box-shadow: 0px 0px 6px -1px #202d40cf;
  }
}
