.shop-main {
  width: min(1100px, calc(100% - 2rem));
  margin: 1.2rem auto 4rem;
}

.shop-main h1 {
  font-size: clamp(2.4rem, 8vw, 4rem);
}

.shop-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  align-items: center;
}

.shop-links a {
  text-decoration: none;
  font-weight: 600;
}

.shop-note {
  color: var(--ink-soft);
  max-width: 40rem;
}

.product-grid,
.cart-list {
  display: grid;
  gap: 0.9rem;
}

.product-card,
.cart-row,
.pay-form {
  padding: 1.1rem;
  border: 1px solid rgba(246, 226, 192, 0.22);
  border-radius: 22px;
  background: rgba(32, 20, 18, 0.94);
}

.product-photo {
  width: calc(100% + 2.2rem);
  max-width: none;
  height: 220px;
  margin: -1.1rem -1.1rem 0.9rem;
  object-fit: cover;
  border-radius: 22px 22px 0 0;
}

.product-card h2,
.cart-row h2 {
  font-size: 1.8rem;
  margin-bottom: 0.3rem;
}

.product-cat,
.sample-pill {
  margin-bottom: 0.35rem;
  color: var(--rose);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.product-price {
  font-family: var(--serif);
  font-size: 2rem;
  margin: 0.2rem 0 0.6rem;
}

.product-card input,
.cart-row input,
.pay-form input,
.pay-form textarea,
.pay-form select {
  margin-top: 0.3rem;
}

.product-card .btn,
.shop-actions .btn {
  margin-top: 0.8rem;
}

.cart-row {
  display: grid;
  gap: 0.6rem;
}

.cart-total {
  font-family: var(--serif);
  font-size: 2.2rem;
}

.shop-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

html[data-lang="es"] .lang-en { display: none; }
html:not([data-lang="es"]) .lang-es { display: none; }

@media (min-width: 800px) {
  .product-grid { grid-template-columns: 1fr 1fr; }
  .cart-row { grid-template-columns: 1.4fr 120px auto; align-items: center; }
}
