/* Redesign 2026: capa visual global manteniendo paleta existente. */

:root {
  --surface-0: #ffffff;
  --surface-1: #fcfcfb;
  --surface-2: #f7f5f2;
  --line-soft: rgba(10, 10, 10, 0.08);
  --line-strong: rgba(10, 10, 10, 0.2);
  --fx-glow: 0 20px 40px rgba(10, 10, 10, 0.08);
}

body {
  letter-spacing: 0.005em;
  background:
    radial-gradient(circle at 15% -10%, rgba(176, 138, 62, 0.1), transparent 40%),
    radial-gradient(circle at 85% 5%, rgba(10, 10, 10, 0.06), transparent 32%),
    var(--surface-0);
}

.section {
  padding-block: clamp(3rem, 6vw, 5.5rem);
}

.section-title {
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section-subtitle {
  letter-spacing: 0.02em;
  text-transform: none;
}

.card {
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(2px);
}

.card:hover {
  border-color: var(--line-strong);
  box-shadow: var(--fx-glow);
  transform: translateY(-2px);
}

.btn {
  border-radius: 999px;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: none;
  min-height: 46px;
}

.btn-primary {
  box-shadow: 0 12px 24px rgba(10, 10, 10, 0.16);
}

.btn-primary:hover {
  box-shadow: 0 16px 32px rgba(10, 10, 10, 0.2);
}

.btn-secondary,
.btn-outline {
  border-width: 1.5px;
}

.navbar {
  background: rgba(255, 255, 255, 0.86);
  border-bottom: 1px solid rgba(10, 10, 10, 0.12);
  backdrop-filter: blur(12px);
}

.nav-link {
  border-radius: 999px;
}

.hero {
  min-height: clamp(70vh, 88vh, 96vh);
  background:
    radial-gradient(circle at 50% 15%, rgba(176, 138, 62, 0.16), transparent 28%),
    linear-gradient(180deg, #fff, var(--surface-2));
}

.hero-title {
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.08;
}

.hero-subtitle {
  max-width: 70ch;
  margin-inline: auto;
}

.search-section {
  background: transparent;
  border-bottom: none;
  padding-top: clamp(2rem, 4vw, 3rem);
}

.search-container {
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--line-soft);
  border-radius: 28px;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  box-shadow: var(--shadow-md);
}

.search-input,
.search-select,
.form-control,
.filter-control {
  border-radius: 14px;
  border-color: rgba(10, 10, 10, 0.12);
  background: #fff;
}

.categories-grid .category-card {
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(250, 248, 245, 0.92));
}

.categories-grid .category-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--fx-glow);
}

.products-grid .product-card,
.product-card-catalog,
.page-producto a.product-card-related {
  border-radius: 18px;
  border-color: rgba(10, 10, 10, 0.1);
  box-shadow: var(--shadow-sm);
}

.products-grid .product-card:hover,
.product-card-catalog:hover,
.page-producto a.product-card-related:hover {
  transform: translateY(-6px);
  box-shadow: var(--fx-glow);
}

.products-grid .product-image,
.product-card-catalog .product-image-catalog,
.product-thumb-related img {
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}

.products-grid .product-info,
.product-info-catalog,
.page-producto .product-info {
  gap: 0.65rem;
}

.product-price,
.product-price-catalog,
.page-producto .product-price {
  letter-spacing: 0.01em;
}

.footer {
  background:
    linear-gradient(160deg, #111 0%, #0a0a0a 45%, #1a1a1a 100%);
}

@media (max-width: 768px) {
  .card,
  .product-card-catalog,
  .category-card {
    border-radius: 14px;
  }

  .search-container {
    border-radius: 16px;
  }
}
