/* ===== NEWSAN — overrides login ===== */

.bodyLogin {
  --login-primary: #db0007;
  --login-accent: #a50005;
  background-color: #fff !important;
  background-image: radial-gradient(
    ellipse 85% 55% at 50% -12%,
    rgba(255, 255, 255, 0.72) 0%,
    rgba(219, 0, 7, 0.25) 42%,
    transparent 68%
  );
}

.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-unilever {
  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;
}

.logo-navbar {
  height: 60px;
}

/* ===== NEWSAN — navbar arnewpga XL (2x) ===== */

.navbar-arnewpga-xl.navbar-custom {
  min-height: var(--navbar-altura, 131px);
}

.navbar-arnewpga-xl .navbar-brand {
  font-size: 3.2rem;
  padding: 1rem 2rem;
}

.navbar-arnewpga-xl .nav-link {
  font-size: 1.76rem;
  padding: 1.5rem 1.7rem !important;
  gap: 8px;
}

.navbar-arnewpga-xl .nav-action-btn {
  margin: 0 4px;
}

.navbar-arnewpga-xl .cart-badge {
  top: 12px;
  right: 8px;
  font-size: 1.3rem;
  width: 32px;
  height: 32px;
}

.navbar-arnewpga-xl .nav-fidelity-badge {
  font-size: 1.1rem;
  padding: 0.35rem 0.75rem !important;
}

.navbar-arnewpga-xl .nav-icon-btn {
  font-size: 2.2rem;
  padding: 1.5rem 1.2rem !important;
}

.navbar-arnewpga-xl .nav-user-btn {
  margin-left: 8px;
}

.navbar-arnewpga-xl .nav-divider {
  height: 48px;
  margin: 0 12px;
}

.navbar-arnewpga-xl .navbar-toggler {
  padding: 0.8rem 1.4rem;
}

.navbar-arnewpga-xl .navbar-toggler i {
  font-size: 2.4rem;
}

.navbar-arnewpga-xl .navbar-search-form {
  min-width: 180px;
  max-width: none;
}

.navbar-arnewpga-xl .input-group-sm > .form-control,
.navbar-arnewpga-xl .input-group-sm > .input-group-append > .btn {
  font-size: 1.6rem;
  padding: 0.75rem 1rem;
  height: auto;
}

.navbar-arnewpga-xl .dropdown-large {
  min-width: 560px;
  max-width: 680px;
}

.navbar-arnewpga-xl .scrollable-menu {
  max-height: 840px;
}

.navbar-arnewpga-xl .btn-catalogo-menu {
  padding: 1.2rem 2rem;
  font-size: 1.64rem;
}

.navbar-arnewpga-xl .categTitle {
  font-size: 1.5rem;
}

.navbar-arnewpga-xl .dropdown-subitem {
  font-size: 1.4rem;
  padding: 0.5rem 0;
}

.navbar-arnewpga-xl .logo-navbar {
  height: 96px;
}

/* Pantallas medianas: reducir escala XL para evitar overflow y buscador aplastado */
@media (max-width: 1399px) {
  .navbar-arnewpga-xl .navbar-brand {
    font-size: 2.4rem;
    padding: 0.75rem 1.25rem;
  }

  .navbar-arnewpga-xl .nav-link {
    font-size: 1.2rem;
    padding: 1rem 1rem !important;
  }

  .navbar-arnewpga-xl .nav-fidelity-badge {
    font-size: 0.85rem;
    padding: 0.25rem 0.5rem !important;
  }

  .navbar-arnewpga-xl .nav-icon-btn {
    font-size: 1.6rem;
    padding: 1rem 0.85rem !important;
  }

  .navbar-arnewpga-xl .input-group-sm > .form-control,
  .navbar-arnewpga-xl .input-group-sm > .input-group-append > .btn {
    font-size: 1.1rem;
    padding: 0.5rem 0.75rem;
  }

  .navbar-arnewpga-xl .logo-navbar {
    height: 72px;
  }

  .navbar-arnewpga-xl .navbar-toggler i {
    font-size: 2rem;
  }
}

/* Hasta XL el menú es colapsable: mismos estilos mobile que el resto del carrito */
@media (max-width: 1199px) {
  .navbar-arnewpga-xl .navbar-collapse {
    background-color: #FAFAFA;
    padding: 0.5rem 1rem 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
  }

  .navbar-arnewpga-xl .searchBtn .input-group {
    width: 100%;
  }

  .navbar-arnewpga-xl .searchBtn input {
    width: 100% !important;
  }
}