/* ============================================================
   MONOLITH — Página del carrito (tema oscuro)
   (usa styles.css como base: header, drawer, tipografías)
   ============================================================ */

.cart-page {
  background-color: #000000;
  color: #ffffff;
}

/* En cart.html el header es la misma barra negra, con borde sutil */
.site-header--solid {
  background: #000000;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  height: calc(64px + env(safe-area-inset-top, 0px));
}

.cart-main {
  max-width: 680px;
  margin: 0 auto;
  padding: calc(env(safe-area-inset-top, 0px) + 130px) clamp(1.5rem, 6vw, 3rem) 5rem;
  min-height: 70vh;
}

.cart-title {
  font-family: "Archivo Black", "Archivo", "Arial Black", sans-serif;
  font-size: clamp(1.25rem, 3.5vw, 1.7rem);
  letter-spacing: 0.34em;
  padding-left: 0.34em;
  text-align: center;
  color: #ffffff;
  margin-bottom: clamp(3rem, 8vh, 4.5rem);
}

/* ---------- Estado vacío ---------- */

.cart-empty {
  text-align: center;
  padding: 1.5rem 0 3rem;
}

.cart-empty__title {
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  color: #ffffff;
}

.cart-empty__text {
  margin-top: 1.1rem;
  font-family: "Cormorant Garamond", "Garamond", Georgia, serif;
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.65);
}

.cart-empty__link {
  display: inline-block;
  margin-top: 2.75rem;
  padding: 0.95rem 2.2rem;
  border: 1px solid #ffffff;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-decoration: none;
  color: #ffffff;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.cart-empty__link:hover,
.cart-empty__link:focus-visible {
  background-color: #ffffff;
  color: #000000;
}

/* ---------- Lista de artículos ---------- */

.cart-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cart-item {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.cart-item__image {
  width: 72px;
  height: 88px;
  object-fit: cover;
  background-color: #141414;
  flex-shrink: 0;
}

.cart-item__info {
  flex: 1;
  min-width: 0;
}

.cart-item__name {
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #ffffff;
}

.cart-item__size {
  margin-top: 0.3rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.5);
}

.cart-item__price {
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: #ffffff;
}

.cart-item__controls {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.cart-item__qty-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  font-size: 0.9rem;
  cursor: pointer;
}

.cart-item__qty-btn:hover,
.cart-item__qty-btn:focus-visible {
  border-color: #ffffff;
}

.cart-item__qty {
  min-width: 1.4rem;
  text-align: center;
  font-size: 0.85rem;
  color: #ffffff;
}

.cart-item__remove {
  margin-left: 0.75rem;
  background: transparent;
  border: 0;
  padding: 0.4rem 0;
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cart-item__remove:hover,
.cart-item__remove:focus-visible {
  color: #ffffff;
}

/* ---------- Resumen ---------- */

.cart-summary {
  margin-top: 2.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.cart-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.9rem;
}

.cart-summary__label {
  font-size: 0.68rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.cart-summary__value {
  font-size: 0.9rem;
  font-weight: 500;
  color: #ffffff;
}

.cart-checkout {
  display: block;
  width: 100%;
  margin-top: 1.9rem;
  padding: 1.1rem;
  background-color: #ffffff;
  color: #000000;
  border: 0;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  cursor: pointer;
}

.cart-checkout:disabled {
  background-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.35);
  cursor: not-allowed;
}

.cart-checkout:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.cart-back {
  display: block;
  margin-top: 1.9rem;
  text-align: center;
  font-size: 0.66rem;
  letter-spacing: 0.26em;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}

.cart-back:hover,
.cart-back:focus-visible {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ---------- Footer mínimo ---------- */

.cart-footer {
  padding: 2rem 1.5rem calc(2rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background-color: #000000;
}

.cart-footer .footer__copy {
  margin-top: 0;
}

/* ---------- Responsive ---------- */

@media (max-width: 520px) {
  .cart-item {
    flex-wrap: wrap;
  }

  .cart-item__controls {
    width: 100%;
    justify-content: flex-end;
  }
}
