/* ===== NEWSAN — overrides login ===== */

.bodyLogin {
  --login-primary: #db0007;
  --login-accent: #a50005;
  background-color: #fafafa !important;
  background-image: none;
}

.bodyLogin .login-logo {
  max-height: min(420px, 42vh);
}

.bodyLogin .login-card {
  border: 1px solid rgba(219, 0, 7, 0.2);
}

.bodyLogin .login-heading {
  color: #1a1a1a;
}

.bodyLogin .form-control.login-input:focus {
  border-color: #db0007;
  box-shadow: 0 0 0 3px rgba(219, 0, 7, 0.18);
}

.bodyLogin .login-btn-submit {
  background: #db0007 !important;
  box-shadow: 0 4px 14px rgba(219, 0, 7, 0.35);
}
.bodyLogin .login-btn-submit:hover,
.bodyLogin .login-btn-submit:focus {
  background: #a50005 !important;
}

.bodyLogin .login-register {
  border-top-color: rgba(219, 0, 7, 0.3);
}
.bodyLogin .login-register a {
  color: #db0007;
}
.bodyLogin .login-register a:hover,
.bodyLogin .login-register a:focus {
  color: #a50005;
  border-bottom-color: #a50005;
}

/* ===== NEWSAN — overrides navbar-custom ===== */

.badge-secondary {
  background-color: #db0007 !important;
  color: #fff !important;
}

/* ===== NEWSAN — overrides cart modal ===== */

.cartModal .modal-header {
  background: #fff !important;
  border-bottom: 3px solid #db0007 !important;
}
.cartModal .modal-header .modal-title i {
  color: #db0007 !important;
}
.cartModal .modal-header .close:hover {
  color: #db0007 !important;
}

#cartModal .table-carrito-modal thead th {
  background-color: #db0007 !important;
  color: #fff !important;
}

.cart-totals .total-line.grand {
  border-top: 2px solid #db0007 !important;
}
.cart-totals .total-line.grand label {
  color: #1a1a1a !important;
}
.cart-totals .total-line.grand span {
  color: #db0007 !important;
}

.cartModal .modal-footer {
  background: #fff !important;
  border-top: 2px solid #db0007 !important;
}

.btn-siguiente {
  background: #db0007 !important;
  border-color: #db0007 !important;
  color: #fff !important;
}
.btn-siguiente:hover {
  background: #a50005 !important;
  border-color: #a50005 !important;
}

.btn-enviarPedido,
.btn-primary-newsan {
  background: #db0007 !important;
  border-color: #db0007 !important;
  color: #fff !important;
}

/* ===== NEWSAN — overrides pagination ===== */

.pagination .page-link {
  color: #db0007;
  border-color: #db0007;
  background-color: #fff;
}
.pagination .page-link:hover {
  background-color: #db0007;
  border-color: #db0007;
  color: #fff;
}
.pagination .page-item.active .page-link,
.pagination .active .page-link {
  background-color: #db0007 !important;
  border-color: #db0007 !important;
  color: #fff !important;
}
.pagination .page-item.disabled .page-link {
  color: #f08080;
  border-color: #f08080;
  background-color: #fff;
}

/* ===== NEWSAN — overrides product card ===== */

.prodCard .card {
  background-color: #fff;
}

.prodCard .card:hover {
  box-shadow: 0 8px 24px rgba(219, 0, 7, 0.18);
}

.prodCard .card .badge {
  background-color: #db0007 !important;
  color: #fff !important;
}

.prodCard .card-title a {
  color: #1a1a1a !important;
}
.prodCard .card-title a:hover {
  color: #db0007 !important;
}

.prodCard .btn-cart {
  background-color: #db0007 !important;
  border-color: #db0007 !important;
  color: #fff !important;
}
.prodCard .btn-cart:hover {
  background-color: #a50005 !important;
  border-color: #a50005 !important;
  color: #fff !important;
}

.navbar-custom {
  background-color: #fff;
  border-bottom: 3px solid #db0007;
}

.navbar-custom .navbar-brand,
.navbar-custom .navbar-brand:hover {
  color: #1a1a1a;
}

.navbar-custom .nav-link {
  color: #1a1a1a !important;
}
.navbar-custom .nav-link:hover,
.navbar-custom .nav-link:focus {
  color: #db0007 !important;
  background-color: rgba(219, 0, 7, 0.08);
}

.navbar-custom .navbar-toggler {
  border-color: rgba(0, 0, 0, 0.3);
  color: #1a1a1a;
}

.nav-divider {
  background: rgba(0, 0, 0, 0.2);
}

.nav-user-btn {
  background-color: rgba(0, 0, 0, 0.08);
}
.nav-user-btn:hover {
  background-color: rgba(219, 0, 7, 0.12) !important;
}

.cart-badge {
  background: #db0007;
  color: #fff;
}

.navbar-custom .dropdown-menu {
  border-top: 3px solid #db0007;
}

/*
 * Links/dropdown: styles.css (.navbar-custom). Logo Newsan grande (como antes del XL en tipografía).
 */
.navbar-arnewpga-xl img.logo-navbar,
.navbar-arnewpga-xl .logo-navbar {
  height: 96px !important;
  max-width: 280px !important;
  width: auto !important;
  object-fit: contain;
}

.navbar-arnewpga-xl.navbar-custom {
  min-height: var(--navbar-altura, 131px);
}

.navbar-arnewpga-xl .navbar-brand {
  padding: 0.5rem 1rem;
  line-height: 1;
}

/* Buscador Newsan: input + botón en la misma línea (no aplica a Arlorealda) */
.navbar-arnewpga-xl .navbar-search-form--inline .input-group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}
.navbar-arnewpga-xl .navbar-search-form--inline .form-control {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.navbar-arnewpga-xl .navbar-search-form--inline .input-group-append {
  display: flex;
  flex-shrink: 0;
  margin-left: 0;
}
.navbar-arnewpga-xl .navbar-search-form--inline .input-group-append .btn-primary {
  background: #db0007;
  border-color: #db0007;
}
.navbar-arnewpga-xl .navbar-search-form--inline .input-group-append .btn-primary:hover {
  background: #a50005;
  border-color: #a50005;
}

/*
 * Newsan tiene muchos ítems en una fila; Bootstrap xl (1200px) deja el menú abierto demasiado pronto.
 * Hasta ~1700px (incl. zoom) usamos hamburguesa como en móvil/tablet.
 */
@media (max-width: 1699.98px) {
  .navbar-arnewpga-xl.navbar-expand-xl .navbar-toggler {
    display: block !important;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    background-color: #fafafa;
    padding: 0.5rem 1rem 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse:not(.show) {
    display: none !important;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
  }

  /* Drawer vertical: anular ml-auto/mr-auto de Bootstrap (evita ítems flotando a la derecha) */
  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show > .navbar-nav,
  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show > .navbar-search-form {
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show > .navbar-nav {
    flex-direction: column;
    align-items: stretch;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show .navbar-nav .nav-item,
  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show .navbar-nav > .nav-link {
    width: 100%;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show .navbar-nav .nav-link {
    justify-content: flex-start;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse.show > .navbar-search-form {
    margin: 0.5rem 0;
  }

  /* Drawer: barra de búsqueda ancha; sin dropdown "Buscar" duplicado */
  .navbar-arnewpga-xl.navbar-expand-xl .navbar-arnewpga-search-dropdown {
    display: none !important;
  }

  .navbar-arnewpga-xl.navbar-expand-xl form.navbar-arnewpga-collapse-search {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    margin: 0.5rem 0 !important;
  }
}

@media (min-width: 1700px) {
  .navbar-arnewpga-xl.navbar-expand-xl .navbar-toggler {
    display: none !important;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-collapse.collapse {
    display: flex !important;
    flex-basis: auto;
    flex-direction: row;
    align-items: center;
    border-top: none;
    padding: 0;
    background-color: transparent;
  }

  .navbar-arnewpga-xl.navbar-expand-xl .navbar-search-form {
    flex: 1 1 auto;
    min-width: 140px;
    max-width: 360px;
  }
}