/** Shopify CDN: Minification failed

Line 21651:0 Unexpected "<"

**/

/* IMPORTANTE: para ver las tipografías correctamente, abrir el archivo en
   un navegador (Chrome, Safari, Firefox), NO en un visor de HTML básico.
   Los visores simples de Android no soportan @font-face con data URIs. */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */
@font-face {
  font-family: 'Gragio';
  src: url('data:application/font-woff;base64,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') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: block;
}

/* Fraunces 300 - light (para títulos grandes) */
@font-face {
  font-family: 'Fraunces';
  src: url('data:application/font-woff;base64,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') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: block;
}

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */
@font-face {
  font-family: 'Fraunces';
  src: url('data:application/font-woff;base64,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') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* Fraunces 700 - bold (archivo estático bold real) */
@font-face {
  font-family: 'Fraunces';
  src: url('data:application/font-woff;base64,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') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

/* Fraunces 400 italic */
@font-face {
  font-family: 'Fraunces';
  src: url('data:application/font-woff;base64,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') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}

/* Fraunces 700 italic */
@font-face {
  font-family: 'Fraunces';
  src: url('data:application/font-woff;base64,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') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: block;
}
/* ============================================
   VARIABLES
   ============================================ */
:root {
  /* Paleta extendida y más rica */
  --frambuesa: #D30F57;
  --frambuesa-oscuro: #A60B45;
  --frambuesa-claro: #E5A0B6;
  --beige: #EDDFC4;
  --beige-oscuro: #DCC9A6;
  --crema: #E5DCD6;
  --crema-clara: #EFE8E2;
  --kraft: #C9A57A;
  --kraft-oscuro: #A8895E;
  --verde-patio: #6B7C4A;
  --terracota: #B8826A;
  --rosa-empolvado: #E6BFC4;
  --rosa-logo: #CAAAB5;
  --rosa-banner: #EAC1C3;
  --footer-bg: #B29277;
  --tinta: #2A1B16;
  --tinta-media: #5A4438;
  --tinta-suave: #8A7264;

  /* Tipografía: Gragio (display decorativo) + Fraunces (todo lo demás) */
  --font-display: 'Gragio', 'Fraunces', Georgia, serif;
  --font-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-sans: 'Fraunces', Georgia, 'Times New Roman', serif;

  /* Espaciado */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;
  --space-xxl: 9rem;

  --max-width: 1380px;
  --transition: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta);
  background: var(--crema);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  position: relative;
}

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(229, 220, 214, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-description em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* CTA bajo UNESCO: botón con isotipo que lleva a Sobre Petalú */
.intro-cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: var(--space-md);
}

.intro-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.95rem 1.7rem 0.95rem 1.2rem;
  background: var(--frambuesa);
  color: var(--crema);
  border-radius: 999px;
  font-family: var(--font-serif);
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--transition);
  box-shadow: 0 4px 14px rgba(211, 15, 87, 0.18);
}

.intro-cta:hover {
  background: var(--frambuesa-oscuro);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(211, 15, 87, 0.28);
}

.intro-cta > svg:first-child {
  width: 24px;
  height: auto;
  color: var(--crema);
  flex-shrink: 0;
}

.intro-cta-arrow {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.intro-cta:hover .intro-cta-arrow {
  transform: translateX(4px);
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  aspect-ratio: 4/5;
}

.collection-card .placeholder {
  width: 100%;
  height: 100%;
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr 1fr;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {
  html, body { overflow-x: hidden; }
  
  :root {
    --space-xl: 4rem;
    --space-xxl: 6rem;
  }

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
  .collections-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > * {
  animation: fadeUp 0.9s ease-out backwards;
}
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   BLOQUE DE CONTACTO HOME (pre-footer)
   ============================================ */
.home-contact {
  padding: var(--space-xl) 0;
  background: var(--crema-clara);
  position: relative;
  overflow: hidden;
}

.home-contact-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}

.home-contact-text .eyebrow {
  margin-bottom: 0.6rem;
}

.home-contact-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: 0.8rem;
}

.home-contact-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.home-contact-desc {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--tinta-media);
  font-weight: 400;
}

.home-contact-desc strong {
  font-weight: 700;
  color: var(--frambuesa);
  font-style: italic;
}

.home-contact-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.home-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.95rem 1.6rem;
  background: var(--frambuesa);
  color: var(--crema);
  border-radius: 999px;
  font-family: var(--font-serif);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--transition);
  box-shadow: 0 4px 14px rgba(211, 15, 87, 0.18);
}

.home-contact-btn:hover {
  background: var(--frambuesa-oscuro);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(211, 15, 87, 0.28);
}

.home-contact-btn.email {
  background: transparent;
  color: var(--frambuesa);
  border: 1px solid var(--frambuesa);
  box-shadow: none;
}

.home-contact-btn.email:hover {
  background: var(--frambuesa);
  color: var(--crema);
  box-shadow: 0 6px 18px rgba(211, 15, 87, 0.2);
}

.home-contact-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .home-contact-inner {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .home-contact-actions {
    justify-content: flex-start;
  }
}

/* ============================================
   BLOQUE INSTAGRAM (pre-footer)
   ============================================ */
.instagram-feed {
  padding: var(--space-xl) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.instagram-feed-header {
  margin-bottom: var(--space-md);
}

.instagram-feed-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.6rem;
}

.instagram-feed-eyebrow::before,
.instagram-feed-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.instagram-feed-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: 0.5rem;
}

.instagram-feed-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.instagram-feed-handle {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--tinta-media);
  font-size: 1rem;
  margin-bottom: var(--space-md);
}

.instagram-feed-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
  max-width: 900px;
  margin: 0 auto var(--space-md);
}

.instagram-post {
  aspect-ratio: 1;
  background: var(--beige);
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;
  border-radius: 4px;
  transition: transform 0.4s ease;
}

.instagram-post:hover {
  transform: scale(0.98);
}

.instagram-post .placeholder {
  inset: 0;
  position: absolute;
}

.instagram-post::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(211, 15, 87, 0);
  transition: background 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.instagram-post:hover::after {
  background: rgba(211, 15, 87, 0.25);
}

.instagram-post-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.instagram-post:hover .instagram-post-icon {
  opacity: 1;
}

.instagram-post-icon svg {
  width: 36px;
  height: 36px;
  color: var(--crema);
}

.instagram-feed-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.95rem 1.7rem;
  background: transparent;
  color: var(--frambuesa);
  border: 1px solid var(--frambuesa);
  border-radius: 999px;
  font-family: var(--font-serif);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--transition);
}

.instagram-feed-cta:hover {
  background: var(--frambuesa);
  color: var(--crema);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(211, 15, 87, 0.2);
}

.instagram-feed-cta svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .instagram-feed-grid {
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  .instagram-feed-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* ==========================================
   ESTILOS ADICIONALES EXTRAIDOS
   ========================================== */

/* --- Estilos de petalu-producto.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PÁGINA DE PRODUCTO INDIVIDUAL
   ============================================ */

/* Breadcrumb */
.breadcrumb {
  padding: var(--space-md) 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: 0.85rem;
  color: var(--tinta-media);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.breadcrumb a {
  color: var(--tinta-media);
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: var(--frambuesa);
}

.breadcrumb .sep {
  opacity: 0.5;
}

.breadcrumb .current {
  color: var(--tinta);
  font-weight: 400;
}

/* Layout de producto: galería + info */
.product-page {
  padding: var(--space-md) 0 var(--space-xl);
}

.product-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

/* Galería: foto principal + thumbnails */
.gallery {
  position: sticky;
  top: 110px;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.gallery-main {
  aspect-ratio: 4/5;
  background: var(--beige);
  position: relative;
  overflow: hidden;
}

.gallery-main .placeholder {
  transition: transform 0.6s ease;
}

.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
}

.gallery-thumb {
  aspect-ratio: 1;
  background: var(--beige);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.3s;
}

.gallery-thumb.active {
  border-color: var(--frambuesa);
}

.gallery-thumb:hover {
  border-color: var(--frambuesa);
}

.gallery-thumb .placeholder-label {
  font-size: 0.7rem;
  padding: 0.4rem 0.7rem;
}

/* Info de producto */
.product-info-side {
  padding-top: 0.5rem;
}

.product-collection-tag {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.product-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: 0.8rem;
}

.product-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.product-price-big {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 400;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.product-stock {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
  margin-bottom: var(--space-md);
  padding: 0.5rem 0.9rem;
  background: var(--rosa-banner);
  border-radius: 999px;
}

.product-stock-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--frambuesa);
}

.product-stock strong {
  font-style: normal;
  font-weight: 700;
  color: var(--frambuesa);
}

/* Description corta */
.product-description {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--tinta-media);
  margin-bottom: var(--space-md);
  font-weight: 400;
}

/* Materiales (etiqueta visible siempre) */
.product-materials {
  display: inline-flex;
  align-items: baseline;
  gap: 0.6rem;
  font-family: var(--font-serif);
  font-size: 0.95rem;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  padding: 0.55rem 1rem;
  background: var(--crema-clara);
  border-radius: 999px;
  flex-wrap: wrap;
}

.product-materials-label {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 1.05rem;
  font-weight: 400;
}

/* CTA carrito */
.product-actions {
  margin-bottom: var(--space-md);
}

.add-to-cart {
  width: 100%;
  background: var(--frambuesa);
  color: var(--crema);
  border: none;
  padding: 1.1rem 2rem;
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}

.add-to-cart:hover {
  background: var(--frambuesa-oscuro);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(211, 15, 87, 0.25);
}

/* Bloques de información extra */
.info-blocks {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(42, 27, 22, 0.12);
}

.info-block {
  border-bottom: 1px solid rgba(42, 27, 22, 0.12);
}

.info-block-header {
  width: 100%;
  background: transparent;
  border: none;
  padding: 1.1rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--tinta);
  text-align: left;
  letter-spacing: 0.005em;
  transition: color 0.2s;
}

.info-block-header:hover {
  color: var(--frambuesa);
}

.info-block-header .icon {
  width: 14px;
  height: 14px;
  position: relative;
  flex-shrink: 0;
  margin-left: 1rem;
}

.info-block-header .icon::before,
.info-block-header .icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transition: transform 0.3s ease;
}

.info-block-header .icon::after {
  transform: rotate(90deg);
}

.info-block.open .info-block-header .icon::after {
  transform: rotate(0deg);
}

.info-block-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  font-family: var(--font-serif);
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--tinta-media);
}

.info-block.open .info-block-content {
  max-height: 800px;
}

.info-block-content-inner {
  padding: 0 0 1.4rem;
}

.info-block-content p {
  margin-bottom: 0.7rem;
}

.info-block-content p:last-child {
  margin-bottom: 0;
}

.info-block-content em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

.info-block-content ul {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
}

.info-block-content ul li {
  position: relative;
  padding-left: 1.4rem;
  margin-bottom: 0.5rem;
}

.info-block-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--frambuesa);
}

/* Aviso unicidad inline en ficha */
.uniqueness-inline {
  background: var(--rosa-banner);
  padding: 1rem 1.2rem;
  border-radius: 6px;
  margin-bottom: var(--space-md);
  font-family: var(--font-serif);
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--tinta);
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
}

.uniqueness-inline svg {
  width: 28px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
  margin-top: 2px;
}

.uniqueness-inline strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.15rem;
  margin-bottom: 0.2rem;
  line-height: 1.1;
}

.uniqueness-inline em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

/* Aviso de tiempo de entrega */
.delivery-notice {
  margin-top: var(--space-md);
  margin-bottom: var(--space-md);
  padding: 1rem 1.2rem;
  border: 1px dashed rgba(211, 15, 87, 0.35);
  border-radius: 6px;
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  background: transparent;
  font-family: var(--font-serif);
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--tinta);
}

.delivery-notice svg {
  width: 26px;
  height: 26px;
  color: var(--frambuesa);
  flex-shrink: 0;
  margin-top: 2px;
}

.delivery-notice strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.15rem;
  margin-bottom: 0.2rem;
  line-height: 1.1;
}

.delivery-notice em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Productos relacionados */
.related-products {
  padding: var(--space-xl) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.12);
}

.related-header {
  text-align: center;
  margin-bottom: var(--space-lg);
}

.related-header .eyebrow {
  margin-bottom: 0.6rem;
}

.related-header .section-title {
  margin-top: 0;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

@media (max-width: 1024px) {
  .product-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .gallery {
    position: static;
  }

  .related-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .product-title {
    font-size: clamp(2rem, 7vw, 2.8rem);
  }

  .product-price-big {
    font-size: 1.6rem;
  }

  .related-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .uniqueness-inline {
    flex-direction: column;
    gap: 0.5rem;
  }

  .delivery-notice {
    flex-direction: column;
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  .related-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* --- Estilos de petalu-colecciones.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PÁGINA SOBRE PETALÚ
   ============================================ */

/* Hero editorial */
.about-hero {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.about-hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.about-hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.about-hero-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--tinta-media);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}

/* Secciones de la historia */
.about-section {
  padding: var(--space-xl) 0;
}

.about-section.alt-bg {
  background: var(--rosa-banner);
}

.about-section.dark-bg {
  background: var(--footer-bg);
  color: var(--crema);
}

.about-section.dark-bg .about-section-eyebrow {
  color: var(--rosa-banner);
}

.about-section.dark-bg .about-section-title,
.about-section.dark-bg .about-text {
  color: var(--crema);
}

.about-section.dark-bg .about-text strong {
  color: var(--rosa-banner);
}

.about-section-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.6rem;
}

.about-section-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 720px;
}

.about-section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Layouts de columnas */
.about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.about-two-col.image-right {
  grid-template-columns: 1.1fr 1fr;
}

.about-two-col.image-left {
  grid-template-columns: 1fr 1.1fr;
}

.about-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  position: relative;
  overflow: hidden;
}

.about-image.wide {
  aspect-ratio: 16/10;
}

.about-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--tinta);
  font-weight: 400;
}

.about-text p {
  margin-bottom: 1.1rem;
}

.about-text p:last-child {
  margin-bottom: 0;
}

.about-text strong {
  font-weight: 700;
  color: var(--frambuesa);
}

.about-text em {
  font-style: italic;
  color: var(--frambuesa);
}

/* Bloque trío de fundadoras */
.founders-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.founder-card {
  text-align: center;
  padding: var(--space-md) 1rem;
  border-top: 1px solid rgba(211, 15, 87, 0.3);
}

.founder-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.3rem;
  line-height: 1;
  font-weight: 400;
}

.founder-role {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

/* Cita destacada */
.about-quote-section {
  padding: var(--space-xxl) var(--space-md);
  background: var(--footer-bg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.about-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 5rem;
  color: var(--rosa-banner);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.about-quote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--crema);
  max-width: 880px;
  margin: 0 auto;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.about-quote-text .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--rosa-banner);
  font-weight: 400;
}

/* Manifiesto - texto centrado grande */
.manifesto {
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.manifesto-text {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  line-height: 1.55;
  color: var(--tinta);
  max-width: 760px;
  margin: 0 auto;
  font-weight: 400;
}

.manifesto-text p {
  margin-bottom: 1.4rem;
}

.manifesto-text p:last-child {
  margin-bottom: 0;
}

.manifesto-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.manifesto-text strong {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
  font-size: 1.3em;
}

/* CTA final */
.about-cta {
  padding: var(--space-xl) 0;
  text-align: center;
  background: var(--rosa-banner);
}

.about-cta-eyebrow {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.about-cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.about-cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Anécdota destacada */
.anecdote {
  background: var(--crema-clara);
  padding: var(--space-md) var(--space-lg);
  border-left: 3px solid var(--frambuesa);
  margin: var(--space-md) 0;
  border-radius: 0 6px 6px 0;
}

.anecdote-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.4rem;
  display: block;
}

.anecdote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta);
}

.anecdote-source {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(211, 15, 87, 0.25);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  color: var(--tinta-media);
  letter-spacing: 0.02em;
}

.anecdote-source em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

@media (max-width: 768px) {
  .about-two-col,
  .about-two-col.image-right,
  .about-two-col.image-left {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .founders-grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .founder-card {
    padding: 1.5rem 1rem;
  }

  .anecdote {
    padding: var(--space-sm) var(--space-md);
  }
}

/* ============================================
   PÁGINA COLECCIONES
   ============================================ */
.collections-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.collection-feature {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--tinta);
  overflow: hidden;
  border-radius: 4px;
  transition: transform 0.3s ease;
}

.collection-feature:hover {
  transform: translateY(-4px);
}

.collection-feature .placeholder {
  aspect-ratio: 4/5;
}

.collection-feature .placeholder::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(42, 27, 22, 0) 40%, rgba(42, 27, 22, 0.55) 100%);
  pointer-events: none;
}

.collection-feature-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--space-md);
  z-index: 2;
  color: var(--crema);
}

.collection-feature-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--rosa-banner);
  margin-bottom: 0.4rem;
  letter-spacing: 0.06em;
}

.collection-feature-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  color: var(--crema);
  margin: 0 0 0.5rem;
  line-height: 1;
  font-weight: 400;
}

.collection-feature-desc {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--crema);
  margin-bottom: 0.8rem;
  max-width: 380px;
  font-weight: 400;
  opacity: 0.95;
}

.collection-feature-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--crema);
  border-bottom: 1px solid var(--crema);
  padding-bottom: 4px;
  transition: gap 0.3s ease;
}

.collection-feature:hover .collection-feature-link {
  gap: 0.9rem;
}

@media (max-width: 1024px) {
  .collections-page-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .collections-page-grid {
    grid-template-columns: 1fr;
  }

  .collection-feature .placeholder {
    aspect-ratio: 3/4;
  }
}

/* ============================================
   PÁGINA CUIDADOS
   ============================================ */
.care-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  max-width: 900px;
  margin: 0 auto;
}

.care-card {
  background: var(--crema);
  padding: var(--space-md) var(--space-md);
  border-radius: 6px;
  position: relative;
  border-top: 3px solid var(--frambuesa);
}

.care-card-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.4rem;
  color: var(--frambuesa);
  line-height: 1;
  margin-bottom: 0.6rem;
  font-weight: 400;
  opacity: 0.85;
}

.care-card-title {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--tinta);
  margin-bottom: 0.6rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}

.care-card-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta-media);
  font-weight: 400;
}

.care-iso {
  display: block;
  width: 48px;
  height: auto;
  color: var(--rosa-banner);
  margin: 0 auto var(--space-sm);
}

@media (max-width: 768px) {
  .care-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* --- Estilos de petalu-tienda.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

.uniqueness-banner__text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* --- Estilos de petalu-sobre.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PÁGINA SOBRE PETALÚ
   ============================================ */

/* Hero editorial */
.about-hero {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.about-hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.about-hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.about-hero-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--tinta-media);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}

/* Secciones de la historia */
.about-section {
  padding: var(--space-xl) 0;
}

.about-section.alt-bg {
  background: var(--rosa-banner);
}

.about-section.dark-bg {
  background: var(--footer-bg);
  color: var(--crema);
}

.about-section.dark-bg .about-section-eyebrow {
  color: var(--rosa-banner);
}

.about-section.dark-bg .about-section-title,
.about-section.dark-bg .about-text {
  color: var(--crema);
}

.about-section.dark-bg .about-text strong {
  color: var(--rosa-banner);
}

.about-section-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.6rem;
}

.about-section-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 720px;
}

.about-section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Layouts de columnas */
.about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.about-two-col.image-right {
  grid-template-columns: 1.1fr 1fr;
}

.about-two-col.image-left {
  grid-template-columns: 1fr 1.1fr;
}

.about-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  position: relative;
  overflow: hidden;
}

.about-image.wide {
  aspect-ratio: 16/10;
}

.about-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--tinta);
  font-weight: 400;
}

.about-text p {
  margin-bottom: 1.1rem;
}

.about-text p:last-child {
  margin-bottom: 0;
}

.about-text strong {
  font-weight: 700;
  color: var(--frambuesa);
}

.about-text em {
  font-style: italic;
  color: var(--frambuesa);
}

/* Cenefa decorativa entre secciones */
.about-cenefa {
  display: block;
  width: 240px;
  max-width: 70%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.7;
  margin: 0 auto;
  padding: var(--space-md) 0;
}

.about-cenefa.on-dark {
  color: var(--rosa-banner);
  opacity: 0.85;
}

/* Isotipo decorativo flotante (marca de agua) */
.about-iso-deco {
  position: absolute;
  width: 90px;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.12;
  pointer-events: none;
  z-index: 0;
}

.about-iso-deco.on-dark {
  color: var(--rosa-banner);
  opacity: 0.18;
}

.about-iso-deco.top-left {
  top: 8%;
  left: 6%;
  transform: rotate(-18deg);
}

.about-iso-deco.bottom-right {
  bottom: 8%;
  right: 6%;
  transform: rotate(15deg);
}

.about-iso-deco.bottom-left {
  bottom: 12%;
  left: 8%;
  transform: rotate(20deg);
}

.about-iso-deco.top-right {
  top: 10%;
  right: 8%;
  transform: rotate(-25deg);
}

/* Asegurar que el contenido quede sobre la marca de agua */
.about-quote-section,
.manifesto {
  position: relative;
  overflow: hidden;
}

.about-quote-section > 

.manifesto > 

/* Bloque trío de fundadoras */
.founders-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.founder-card {
  text-align: center;
  padding: var(--space-md) 1rem;
  border-top: 1px solid rgba(211, 15, 87, 0.3);
}

.founder-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.3rem;
  line-height: 1;
  font-weight: 400;
}

.founder-role {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

/* Cita destacada */
.about-quote-section {
  padding: var(--space-xxl) var(--space-md);
  background: var(--footer-bg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.about-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 5rem;
  color: var(--rosa-banner);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.about-quote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--crema);
  max-width: 880px;
  margin: 0 auto;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.about-quote-text .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--rosa-banner);
  font-weight: 400;
}

/* Manifiesto - texto centrado grande */
.manifesto {
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.manifesto-text {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  line-height: 1.55;
  color: var(--tinta);
  max-width: 760px;
  margin: 0 auto;
  font-weight: 400;
}

.manifesto-text p {
  margin-bottom: 1.4rem;
}

.manifesto-text p:last-child {
  margin-bottom: 0;
}

.manifesto-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.manifesto-text strong {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
  font-size: 1.3em;
}

/* CTA final */
.about-cta {
  padding: var(--space-xl) 0;
  text-align: center;
  background: var(--rosa-banner);
}

.about-cta-eyebrow {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.about-cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.about-cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Anécdota destacada */
.anecdote {
  background: var(--crema-clara);
  padding: var(--space-md) var(--space-lg);
  border-left: 3px solid var(--frambuesa);
  margin: var(--space-md) 0;
  border-radius: 0 6px 6px 0;
}

.anecdote-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.4rem;
  display: block;
}

.anecdote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta);
}

.anecdote-source {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(211, 15, 87, 0.25);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  color: var(--tinta-media);
  letter-spacing: 0.02em;
}

.anecdote-source em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

@media (max-width: 768px) {
  .about-two-col,
  .about-two-col.image-right,
  .about-two-col.image-left {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .founders-grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .founder-card {
    padding: 1.5rem 1rem;
  }

  .anecdote {
    padding: var(--space-sm) var(--space-md);
  }
}

/* ============================================
   BLOQUE INSTAGRAM (pre-footer)
   ============================================ */
.instagram-feed {
  padding: var(--space-xl) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.instagram-feed-header {
  margin-bottom: var(--space-md);
}

.instagram-feed-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.6rem;
}

.instagram-feed-eyebrow::before,
.instagram-feed-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.instagram-feed-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: 0.5rem;
}

.instagram-feed-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.instagram-feed-handle {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--tinta-media);
  font-size: 1rem;
  margin-bottom: var(--space-md);
}

.instagram-feed-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
  max-width: 900px;
  margin: 0 auto var(--space-md);
}

.instagram-post {
  aspect-ratio: 1;
  background: var(--beige);
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;
  border-radius: 4px;
  transition: transform 0.4s ease;
}

.instagram-post:hover {
  transform: scale(0.98);
}

.instagram-post .placeholder {
  inset: 0;
  position: absolute;
}

.instagram-post::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(211, 15, 87, 0);
  transition: background 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.instagram-post:hover::after {
  background: rgba(211, 15, 87, 0.25);
}

.instagram-post-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.instagram-post:hover .instagram-post-icon {
  opacity: 1;
}

.instagram-post-icon svg {
  width: 36px;
  height: 36px;
  color: var(--crema);
}

.instagram-feed-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.95rem 1.7rem;
  background: transparent;
  color: var(--frambuesa);
  border: 1px solid var(--frambuesa);
  border-radius: 999px;
  font-family: var(--font-serif);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--transition);
}

.instagram-feed-cta:hover {
  background: var(--frambuesa);
  color: var(--crema);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(211, 15, 87, 0.2);
}

.instagram-feed-cta svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .instagram-feed-grid {
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  .instagram-feed-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* --- Estilos de petalu-contacto.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PÁGINA SOBRE PETALÚ
   ============================================ */

/* Hero editorial */
.about-hero {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.about-hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.about-hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.about-hero-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--tinta-media);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}

/* Secciones de la historia */
.about-section {
  padding: var(--space-xl) 0;
}

.about-section.alt-bg {
  background: var(--rosa-banner);
}

.about-section.dark-bg {
  background: var(--footer-bg);
  color: var(--crema);
}

.about-section.dark-bg .about-section-eyebrow {
  color: var(--rosa-banner);
}

.about-section.dark-bg .about-section-title,
.about-section.dark-bg .about-text {
  color: var(--crema);
}

.about-section.dark-bg .about-text strong {
  color: var(--rosa-banner);
}

.about-section-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.6rem;
}

.about-section-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 720px;
}

.about-section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Layouts de columnas */
.about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.about-two-col.image-right {
  grid-template-columns: 1.1fr 1fr;
}

.about-two-col.image-left {
  grid-template-columns: 1fr 1.1fr;
}

.about-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  position: relative;
  overflow: hidden;
}

.about-image.wide {
  aspect-ratio: 16/10;
}

.about-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--tinta);
  font-weight: 400;
}

.about-text p {
  margin-bottom: 1.1rem;
}

.about-text p:last-child {
  margin-bottom: 0;
}

.about-text strong {
  font-weight: 700;
  color: var(--frambuesa);
}

.about-text em {
  font-style: italic;
  color: var(--frambuesa);
}

/* Bloque trío de fundadoras */
.founders-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.founder-card {
  text-align: center;
  padding: var(--space-md) 1rem;
  border-top: 1px solid rgba(211, 15, 87, 0.3);
}

.founder-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.3rem;
  line-height: 1;
  font-weight: 400;
}

.founder-role {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

/* Cita destacada */
.about-quote-section {
  padding: var(--space-xxl) var(--space-md);
  background: var(--footer-bg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.about-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 5rem;
  color: var(--rosa-banner);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.about-quote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--crema);
  max-width: 880px;
  margin: 0 auto;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.about-quote-text .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--rosa-banner);
  font-weight: 400;
}

/* Manifiesto - texto centrado grande */
.manifesto {
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.manifesto-text {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  line-height: 1.55;
  color: var(--tinta);
  max-width: 760px;
  margin: 0 auto;
  font-weight: 400;
}

.manifesto-text p {
  margin-bottom: 1.4rem;
}

.manifesto-text p:last-child {
  margin-bottom: 0;
}

.manifesto-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.manifesto-text strong {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
  font-size: 1.3em;
}

/* CTA final */
.about-cta {
  padding: var(--space-xl) 0;
  text-align: center;
  background: var(--rosa-banner);
}

.about-cta-eyebrow {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.about-cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.about-cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Anécdota destacada */
.anecdote {
  background: var(--crema-clara);
  padding: var(--space-md) var(--space-lg);
  border-left: 3px solid var(--frambuesa);
  margin: var(--space-md) 0;
  border-radius: 0 6px 6px 0;
}

.anecdote-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.4rem;
  display: block;
}

.anecdote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta);
}

.anecdote-source {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(211, 15, 87, 0.25);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  color: var(--tinta-media);
  letter-spacing: 0.02em;
}

.anecdote-source em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

@media (max-width: 768px) {
  .about-two-col,
  .about-two-col.image-right,
  .about-two-col.image-left {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .founders-grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .founder-card {
    padding: 1.5rem 1rem;
  }

  .anecdote {
    padding: var(--space-sm) var(--space-md);
  }
}

/* ============================================
   PÁGINA CONTACTO
   ============================================ */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
  max-width: 900px;
  margin: 0 auto;
}

.contact-card {
  background: var(--crema);
  padding: var(--space-md) var(--space-md);
  border-radius: 6px;
  text-align: center;
  text-decoration: none;
  color: var(--tinta);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-top: 3px solid var(--frambuesa);
}

.contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(42, 27, 22, 0.1);
}

.contact-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--rosa-banner);
  display: grid;
  place-items: center;
  color: var(--frambuesa);
  margin-bottom: 0.4rem;
}

.contact-card-icon svg {
  width: 28px;
  height: 28px;
}

.contact-card-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  font-weight: 400;
  line-height: 1;
}

.contact-card-value {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  color: var(--tinta);
  font-weight: 700;
  word-break: break-word;
}

.contact-card-hint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.88rem;
  color: var(--tinta-media);
  line-height: 1.4;
}

/* Bloque de horario */
.contact-schedule {
  text-align: center;
  padding: var(--space-md) var(--space-md);
  margin: var(--space-md) auto 0;
  max-width: 720px;
}

.contact-schedule-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.6rem;
}

.contact-schedule-eyebrow::before,
.contact-schedule-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.contact-schedule-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.55;
  color: var(--tinta);
}

.contact-schedule-text strong {
  font-weight: 700;
  color: var(--frambuesa);
  font-style: italic;
}

@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   PÁGINA CUIDADOS
   ============================================ */
.care-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  max-width: 900px;
  margin: 0 auto;
}

.care-card {
  background: var(--crema);
  padding: var(--space-md) var(--space-md);
  border-radius: 6px;
  position: relative;
  border-top: 3px solid var(--frambuesa);
}

.care-card-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.4rem;
  color: var(--frambuesa);
  line-height: 1;
  margin-bottom: 0.6rem;
  font-weight: 400;
  opacity: 0.85;
}

.care-card-title {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--tinta);
  margin-bottom: 0.6rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}

.care-card-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta-media);
  font-weight: 400;
}

.care-iso {
  display: block;
  width: 48px;
  height: auto;
  color: var(--rosa-banner);
  margin: 0 auto var(--space-sm);
}

@media (max-width: 768px) {
  .care-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* --- Estilos de petalu-faq.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PÁGINA SOBRE PETALÚ
   ============================================ */

/* Hero editorial */
.about-hero {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.about-hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.about-hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.about-hero-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--tinta-media);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}

/* Secciones de la historia */
.about-section {
  padding: var(--space-xl) 0;
}

.about-section.alt-bg {
  background: var(--rosa-banner);
}

.about-section.dark-bg {
  background: var(--footer-bg);
  color: var(--crema);
}

.about-section.dark-bg .about-section-eyebrow {
  color: var(--rosa-banner);
}

.about-section.dark-bg .about-section-title,
.about-section.dark-bg .about-text {
  color: var(--crema);
}

.about-section.dark-bg .about-text strong {
  color: var(--rosa-banner);
}

.about-section-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.6rem;
}

.about-section-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 720px;
}

.about-section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Layouts de columnas */
.about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.about-two-col.image-right {
  grid-template-columns: 1.1fr 1fr;
}

.about-two-col.image-left {
  grid-template-columns: 1fr 1.1fr;
}

.about-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  position: relative;
  overflow: hidden;
}

.about-image.wide {
  aspect-ratio: 16/10;
}

.about-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--tinta);
  font-weight: 400;
}

.about-text p {
  margin-bottom: 1.1rem;
}

.about-text p:last-child {
  margin-bottom: 0;
}

.about-text strong {
  font-weight: 700;
  color: var(--frambuesa);
}

.about-text em {
  font-style: italic;
  color: var(--frambuesa);
}

/* Bloque trío de fundadoras */
.founders-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.founder-card {
  text-align: center;
  padding: var(--space-md) 1rem;
  border-top: 1px solid rgba(211, 15, 87, 0.3);
}

.founder-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.3rem;
  line-height: 1;
  font-weight: 400;
}

.founder-role {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

/* Cita destacada */
.about-quote-section {
  padding: var(--space-xxl) var(--space-md);
  background: var(--footer-bg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.about-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 5rem;
  color: var(--rosa-banner);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.about-quote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--crema);
  max-width: 880px;
  margin: 0 auto;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.about-quote-text .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--rosa-banner);
  font-weight: 400;
}

/* Manifiesto - texto centrado grande */
.manifesto {
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.manifesto-text {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  line-height: 1.55;
  color: var(--tinta);
  max-width: 760px;
  margin: 0 auto;
  font-weight: 400;
}

.manifesto-text p {
  margin-bottom: 1.4rem;
}

.manifesto-text p:last-child {
  margin-bottom: 0;
}

.manifesto-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.manifesto-text strong {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
  font-size: 1.3em;
}

/* CTA final */
.about-cta {
  padding: var(--space-xl) 0;
  text-align: center;
  background: var(--rosa-banner);
}

.about-cta-eyebrow {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.about-cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.about-cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Anécdota destacada */
.anecdote {
  background: var(--crema-clara);
  padding: var(--space-md) var(--space-lg);
  border-left: 3px solid var(--frambuesa);
  margin: var(--space-md) 0;
  border-radius: 0 6px 6px 0;
}

.anecdote-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.4rem;
  display: block;
}

.anecdote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta);
}

.anecdote-source {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(211, 15, 87, 0.25);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  color: var(--tinta-media);
  letter-spacing: 0.02em;
}

.anecdote-source em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

@media (max-width: 768px) {
  .about-two-col,
  .about-two-col.image-right,
  .about-two-col.image-left {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .founders-grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .founder-card {
    padding: 1.5rem 1rem;
  }

  .anecdote {
    padding: var(--space-sm) var(--space-md);
  }
}

/* ============================================
   PÁGINA FAQ
   ============================================ */
.faq-list {
  max-width: 760px;
  margin: 0 auto;
  border-top: 1px solid rgba(42, 27, 22, 0.12);
}

.faq-item {
  border-bottom: 1px solid rgba(42, 27, 22, 0.12);
}

.faq-question {
  width: 100%;
  background: transparent;
  border: none;
  padding: 1.3rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--tinta);
  text-align: left;
  letter-spacing: -0.005em;
  line-height: 1.35;
  gap: 1.4rem;
  transition: color 0.2s;
}

.faq-question:hover {
  color: var(--frambuesa);
}

.faq-question .icon {
  width: 16px;
  height: 16px;
  position: relative;
  flex-shrink: 0;
}

.faq-question .icon::before,
.faq-question .icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transition: transform 0.3s ease;
}

.faq-question .icon::after {
  transform: rotate(90deg);
}

.faq-item.open .faq-question .icon::after {
  transform: rotate(0deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--tinta-media);
}

.faq-item.open .faq-answer {
  max-height: 800px;
}

.faq-answer-inner {
  padding: 0 0 1.5rem;
}

.faq-answer p {
  margin-bottom: 0.7rem;
}

.faq-answer p:last-child {
  margin-bottom: 0;
}

.faq-answer em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.faq-answer strong {
  font-weight: 700;
  color: var(--tinta);
}

.faq-answer a {
  color: var(--frambuesa);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}

.faq-answer a:hover {
  text-decoration: none;
}

/* ============================================
   PÁGINA CUIDADOS
   ============================================ */
.care-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  max-width: 900px;
  margin: 0 auto;
}

.care-card {
  background: var(--crema);
  padding: var(--space-md) var(--space-md);
  border-radius: 6px;
  position: relative;
  border-top: 3px solid var(--frambuesa);
}

.care-card-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.4rem;
  color: var(--frambuesa);
  line-height: 1;
  margin-bottom: 0.6rem;
  font-weight: 400;
  opacity: 0.85;
}

.care-card-title {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--tinta);
  margin-bottom: 0.6rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}

.care-card-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta-media);
  font-weight: 400;
}

.care-iso {
  display: block;
  width: 48px;
  height: auto;
  color: var(--rosa-banner);
  margin: 0 auto var(--space-sm);
}

@media (max-width: 768px) {
  .care-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* --- Estilos de petalu-cuidados.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PÁGINA SOBRE PETALÚ
   ============================================ */

/* Hero editorial */
.about-hero {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.about-hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.about-hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.about-hero-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--tinta-media);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}

/* Secciones de la historia */
.about-section {
  padding: var(--space-xl) 0;
}

.about-section.alt-bg {
  background: var(--rosa-banner);
}

.about-section.dark-bg {
  background: var(--footer-bg);
  color: var(--crema);
}

.about-section.dark-bg .about-section-eyebrow {
  color: var(--rosa-banner);
}

.about-section.dark-bg .about-section-title,
.about-section.dark-bg .about-text {
  color: var(--crema);
}

.about-section.dark-bg .about-text strong {
  color: var(--rosa-banner);
}

.about-section-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.6rem;
}

.about-section-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 720px;
}

.about-section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Layouts de columnas */
.about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.about-two-col.image-right {
  grid-template-columns: 1.1fr 1fr;
}

.about-two-col.image-left {
  grid-template-columns: 1fr 1.1fr;
}

.about-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  position: relative;
  overflow: hidden;
}

.about-image.wide {
  aspect-ratio: 16/10;
}

.about-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--tinta);
  font-weight: 400;
}

.about-text p {
  margin-bottom: 1.1rem;
}

.about-text p:last-child {
  margin-bottom: 0;
}

.about-text strong {
  font-weight: 700;
  color: var(--frambuesa);
}

.about-text em {
  font-style: italic;
  color: var(--frambuesa);
}

/* Bloque trío de fundadoras */
.founders-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.founder-card {
  text-align: center;
  padding: var(--space-md) 1rem;
  border-top: 1px solid rgba(211, 15, 87, 0.3);
}

.founder-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.3rem;
  line-height: 1;
  font-weight: 400;
}

.founder-role {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

/* Cita destacada */
.about-quote-section {
  padding: var(--space-xxl) var(--space-md);
  background: var(--footer-bg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.about-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 5rem;
  color: var(--rosa-banner);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.about-quote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--crema);
  max-width: 880px;
  margin: 0 auto;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.about-quote-text .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--rosa-banner);
  font-weight: 400;
}

/* Manifiesto - texto centrado grande */
.manifesto {
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.manifesto-text {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  line-height: 1.55;
  color: var(--tinta);
  max-width: 760px;
  margin: 0 auto;
  font-weight: 400;
}

.manifesto-text p {
  margin-bottom: 1.4rem;
}

.manifesto-text p:last-child {
  margin-bottom: 0;
}

.manifesto-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.manifesto-text strong {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
  font-size: 1.3em;
}

/* CTA final */
.about-cta {
  padding: var(--space-xl) 0;
  text-align: center;
  background: var(--rosa-banner);
}

.about-cta-eyebrow {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.about-cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.about-cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Anécdota destacada */
.anecdote {
  background: var(--crema-clara);
  padding: var(--space-md) var(--space-lg);
  border-left: 3px solid var(--frambuesa);
  margin: var(--space-md) 0;
  border-radius: 0 6px 6px 0;
}

.anecdote-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.4rem;
  display: block;
}

.anecdote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta);
}

.anecdote-source {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(211, 15, 87, 0.25);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  color: var(--tinta-media);
  letter-spacing: 0.02em;
}

.anecdote-source em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

@media (max-width: 768px) {
  .about-two-col,
  .about-two-col.image-right,
  .about-two-col.image-left {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .founders-grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .founder-card {
    padding: 1.5rem 1rem;
  }

  .anecdote {
    padding: var(--space-sm) var(--space-md);
  }
}

/* ============================================
   PÁGINA CUIDADOS
   ============================================ */
.care-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  max-width: 900px;
  margin: 0 auto;
}

.care-card {
  background: var(--crema);
  padding: var(--space-md) var(--space-md);
  border-radius: 6px;
  position: relative;
  border-top: 3px solid var(--frambuesa);
}

.care-card-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.4rem;
  color: var(--frambuesa);
  line-height: 1;
  margin-bottom: 0.6rem;
  font-weight: 400;
  opacity: 0.85;
}

.care-card-title {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--tinta);
  margin-bottom: 0.6rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}

.care-card-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta-media);
  font-weight: 400;
}

.care-iso {
  display: block;
  width: 48px;
  height: auto;
  color: var(--rosa-banner);
  margin: 0 auto var(--space-sm);
}

@media (max-width: 768px) {
  .care-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* --- Estilos de petalu-404.html --- */

/* ============================================
   FUENTES EMBEBIDAS (autocontenidas, sin internet)
   Gragio = display decorativo (custom)
   Fraunces = todo lo demás (regular + italic)
   ============================================ */

/* Fraunces 300 - light (para títulos grandes) */

/* Fraunces 400 - regular (archivo estático con peso ya aplicado) */

/* Fraunces 700 - bold (archivo estático bold real) */

/* Fraunces 400 italic */

/* Fraunces 700 italic */

/* ============================================
   VARIABLES
   ============================================ */

html { scroll-behavior: smooth; font-size: 16px; }

/* Grain overlay sutil en todo el body */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-md);
  position: relative;
}

/* ============================================
   ISOTIPO SVG (pétalo de la "ú")
   ============================================ */
.petal-icon {
  display: inline-block;
  vertical-align: middle;
}

/* ============================================
   TIPOGRAFÍA
   ============================================ */
.kicker {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.kicker::before {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--frambuesa);
  display: inline-block;
}

.eyebrow {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--tinta-media);
  display: inline-block;
  margin-bottom: 0.9rem;
}

.roman {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  letter-spacing: 0.02em;
}

/* Numeración editorial moderna - sustituye números romanos italic */
.section-num {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section-num::after {
  content: '';
  width: 8px;
  height: 1px;
  background: var(--frambuesa);
}

.eyebrow-row {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

/* ============================================
   BOTONES
   ============================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.05rem 2.2rem;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

.btn-primary {
  background: var(--frambuesa);
  color: var(--crema);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.btn-primary:hover::before { transform: translateY(0); }
.btn-primary span { position: relative; z-index: 1; }

.btn-ghost {
  border: 1px solid var(--tinta);
  color: var(--tinta);
}
.btn-ghost:hover {
  background: var(--tinta);
  color: var(--crema);
}

.btn-link {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  padding-bottom: 4px;
}

.btn-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--frambuesa);
  transform-origin: right;
  transition: transform 0.4s ease;
}

.btn-link:hover::after {
  transform-origin: left;
  transform: scaleX(0.7);
}

.btn-link .arrow { transition: transform 0.3s; }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--crema);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.1rem var(--space-md);
  max-width: var(--max-width);
  margin: 0 auto;
}

.logo-link {
  display: inline-block;
  line-height: 0;
}

.logo-img {
  height: 78px;
  width: auto;
  display: block;
  color: var(--frambuesa);
}

.main-nav {
  display: flex;
  gap: 2.6rem;
  justify-content: center;
}

.main-nav a {
  font-family: var(--font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tinta);
  position: relative;
  padding: 0.4rem 0;
  transition: color 0.3s;
}

.main-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 18px;
  height: 1px;
  background: var(--frambuesa);
  transition: transform 0.3s ease;
}

.main-nav a:hover { color: var(--frambuesa); }
.main-nav a:hover::after { transform: translateX(-50%) scaleX(1); }

.main-nav a.active {
  color: var(--frambuesa);
}
.main-nav a.active::after {
  transform: translateX(-50%) scaleX(1);
}

.header-actions {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
  align-items: center;
}

.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
}
.icon-btn:hover { background: var(--beige); }
.icon-btn svg { width: 17px; height: 17px; stroke: var(--tinta); }

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--frambuesa);
  color: var(--crema);
  font-size: 0.6rem;
  font-weight: 400;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* ============================================
   MENÚ HAMBURGUESA MÓVIL
   ============================================ */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  transition: var(--transition);
  position: relative;
  z-index: 1000;
}

/* Cuando el menú está abierto, fijar el botón sobre el panel para que sea siempre visible */
body.nav-open .menu-toggle {
  position: fixed;
  top: 1.4rem;
  right: 1.4rem;
  z-index: 1001;
}

.menu-toggle:hover { background: var(--beige); }

.menu-toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--tinta);
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}
body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Overlay oscuro detrás del panel */
.nav-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(42, 27, 22, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  cursor: pointer;
}

body.nav-open .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Panel deslizante desde la derecha */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 78%;
  max-width: 360px;
  height: 100vh;
  height: 100dvh;
  background-color: #FBF6EF;
  display: flex;
  flex-direction: column;
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 5rem 2rem 2rem;
  box-shadow: -20px 0 60px rgba(42, 27, 22, 0.25);
  border-left: 1px solid rgba(42, 27, 22, 0.08);
  overflow-y: auto;
}

.mobile-nav-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.nav-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav a {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: right;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(42, 27, 22, 0.08);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.25s ease, padding 0.25s ease;
  display: block;
  text-decoration: none;
}

body.nav-open .mobile-nav a {
  opacity: 1;
  transform: translateX(0);
}
body.nav-open .mobile-nav a:nth-child(1) { transition-delay: 0.2s; }
body.nav-open .mobile-nav a:nth-child(2) { transition-delay: 0.27s; }
body.nav-open .mobile-nav a:nth-child(3) { transition-delay: 0.34s; }
body.nav-open .mobile-nav a:nth-child(4) { transition-delay: 0.41s; }

.mobile-nav a:hover,
.mobile-nav a:active {
  color: var(--frambuesa);
  padding-right: 6px;
}

.mobile-nav a.active {
  color: var(--frambuesa);
}

/* Pequeño detalle decorativo: isotipo abajo del panel */
.mobile-nav-decoration {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa);
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

body.nav-open .mobile-nav-decoration {
  opacity: 1;
}

.mobile-nav-decoration svg {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
}

body.nav-open {
  overflow: hidden;
}

/* ============================================
   HERO - Asimétrico editorial
   ============================================ */
.hero {
  padding: var(--space-lg) 0 var(--space-xl);
  position: relative;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
}

.hero-text {
  position: relative;
  padding-right: var(--space-md);
}

.hero-meta {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--space-md);
}

.hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  display: inline-block;
}

.hero-description {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 460px;
  margin-bottom: var(--space-md);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-md);
}

/* Imagen del hero con marco asimétrico */
.hero-visual {
  position: relative;
  aspect-ratio: 4/5;
}

.hero-image-frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-image-frame::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  border: 1px solid var(--frambuesa);
  z-index: -1;
}

/* Etiqueta editorial sobre la imagen */
.hero-badge {
  position: absolute;
  top: -12px;
  right: -20px;
  background: var(--frambuesa);
  color: var(--crema);
  padding: 0.7rem 1.2rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  z-index: 2;
  transform: rotate(3deg);
  box-shadow: 0 4px 20px rgba(200, 51, 107, 0.25);
}

/* Stats / detalle bajo el hero */
.hero-stats {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(42, 27, 22, 0.1);
  align-items: center;
}

.hero-stat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
}

.hero-stat-petal {
  width: 18px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.hero-stat-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--tinta);
  letter-spacing: 0.005em;
}

.hero-stat + .hero-stat::before {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--tinta-suave);
  margin: 0 0.5rem;
}

/* Placeholders elegantes */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--beige-oscuro) 0%, var(--rosa-empolvado) 100%);
}

.placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 40%, rgba(200, 51, 107, 0.18) 0%, transparent 45%),
    radial-gradient(circle at 70% 70%, rgba(107, 124, 74, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(232, 196, 200, 0.4) 0%, transparent 50%);
}

.placeholder-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
  text-align: center;
  padding: 0.7rem 1.4rem;
  background: rgba(229, 220, 214, 0.85);
  backdrop-filter: blur(6px);
  border-radius: 999px;
  border: 1px solid rgba(42, 27, 22, 0.1);
  letter-spacing: 0.02em;
}

/* ============================================
   INTRO - con isotipo grande + sello Patrimonio destacado
   ============================================ */
.intro {
  padding: var(--space-xxl) 0;
  position: relative;
  overflow: hidden;
  background: var(--rosa-banner);
}

/* Líneas decorativas en los bordes (detalle editorial) */
.intro::before,
.intro::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: var(--frambuesa);
  opacity: 0.4;
}
.intro::before { top: var(--space-md); }
.intro::after { bottom: var(--space-md); }

.intro-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 0 var(--space-md);
}

.intro-isotipo-wrap {
  margin-bottom: var(--space-md);
  display: flex;
  justify-content: center;
}

.intro-isotipo-img {
  width: 64px;
  height: auto;
  display: block;
  color: var(--frambuesa);
}

.intro-text {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  letter-spacing: -0.005em;
}

.intro-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Firma "el taller" con líneas a los lados */
.intro-signature {
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.sig-line {
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.sig-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--frambuesa);
  letter-spacing: 0.01em;
}

/* Texto Patrimonio Humanidad - destacado y elegante */
.intro-unesco-text {
  margin-top: var(--space-lg);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-md) var(--space-md);
  border-top: 1px solid rgba(200, 51, 107, 0.3);
  border-bottom: 1px solid rgba(200, 51, 107, 0.3);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tinta);
  text-align: center;
  letter-spacing: 0.005em;
}

.intro-unesco-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* ============================================
   SECCIÓN BASE
   ============================================ */
.section {
  padding: var(--space-xl) 0;
  position: relative;
}

.section-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid rgba(42, 27, 22, 0.18);
  position: relative;
}

/* Detalle: pequeña marca frambuesa al inicio del borde */
.section-header::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.section-header-text { grid-column: 1 / -2; }

.section-header-link {
  align-self: end;
  padding-bottom: 0.3rem;
}

.section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.8rem, 5.8vw, 4.6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-top: 0.5rem;
}

.section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Divider ornamental entre secciones (cenefa de pétalos) */
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md) 0;
  max-width: 480px;
  margin: 0 auto;
}

.ornament-cenefa {
  width: 100%;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.85;
}

/* ============================================
   PRODUCTOS DESTACADOS
   ============================================ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}

.product-card {
  display: block;
  position: relative;
}

.product-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.product-image .placeholder {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image .placeholder {
  transform: scale(1.06);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--crema);
  color: var(--frambuesa);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.75rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  z-index: 2;
}

.product-quick-add {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: var(--tinta);
  color: var(--crema);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.85rem;
  text-align: center;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(10px);
  transition: var(--transition);
  z-index: 2;
}

.product-card:hover .product-quick-add {
  opacity: 1;
  transform: translateY(0);
}

.product-info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.product-collection {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  margin-bottom: 0.2rem;
}

.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
}

.product-name .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.product-price {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta);
  white-space: nowrap;
  padding-top: 1.1rem;
}

/* ============================================
   COLECCIONES - Mosaico asimétrico
   ============================================ */
.collections-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-md);
}

.collection-card {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 4/5;
}

.collection-card.large {
  grid-row: 1 / 3;
  aspect-ratio: 3/5;
}

.collection-card .placeholder {
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.collection-card:hover .placeholder {
  transform: scale(1.08);
}

.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    transparent 40%,
    rgba(42, 27, 22, 0.1) 70%,
    rgba(42, 27, 22, 0.7) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-md);
  color: var(--crema);
}

.collection-meta {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 0.5rem;
}

.collection-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
}

.collection-card.large .collection-name {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}

/* ============================================
   BANNER - Cita editorial grande
   ============================================ */
.banner {
  position: relative;
  padding: var(--space-xxl) var(--space-md);
  text-align: center;
  overflow: hidden;
  background: var(--footer-bg);
}

.banner-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 6rem;
  color: var(--crema);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.banner-quote {
  position: relative;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--crema);
  max-width: 920px;
  margin: 0 auto;
  letter-spacing: -0.025em;
}

.banner-quote em {
  color: var(--rosa-banner);
  font-weight: 400;
}

.banner-attribution {
  position: relative;
  margin-top: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 0.95rem;
  opacity: 0.85;
}

.banner-attribution::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--crema);
  opacity: 0.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter {
  padding: var(--space-xl) 0;
  background: var(--rosa-banner);
  position: relative;
}

.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

.newsletter-text-side {
  position: relative;
}

.newsletter-decoration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 8rem;
  color: var(--frambuesa);
  opacity: 0.1;
  line-height: 0.7;
  position: absolute;
  top: -40px;
  left: -10px;
  pointer-events: none;
  user-select: none;
}

.newsletter-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 2.8rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: var(--space-sm);
  color: var(--tinta);
}

.newsletter-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

.newsletter-text {
  color: var(--tinta-media);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 420px;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.newsletter-input-wrap {
  display: flex;
  gap: 0.5rem;
}

.newsletter-input {
  flex: 1;
  padding: 1.05rem 1.4rem;
  border: 1px solid var(--tinta-suave);
  border-radius: 999px;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--tinta);
  transition: var(--transition);
}

.newsletter-input:focus {
  outline: none;
  border-color: var(--frambuesa);
  background: var(--crema-clara);
}

.newsletter-input::placeholder {
  color: var(--tinta-suave);
  font-family: var(--font-serif);
  font-style: italic;
}

.newsletter-fineprint {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.8rem;
  color: var(--tinta-suave);
  padding-left: 0.5rem;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background: var(--footer-bg);
  color: var(--crema);
  padding: var(--space-lg) 0 var(--space-md);
  position: relative;
  overflow: hidden;
}

.footer-bg-isotipo {
  position: absolute;
  bottom: -180px;
  right: -180px;
  width: 420px;
  height: auto;
  opacity: 0.18;
  transform: rotate(-15deg);
  pointer-events: none;
  color: var(--frambuesa);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(229, 220, 214, 0.5);
  position: relative;
  z-index: 1;
}

.footer-brand .logo-img-footer {
  height: 78px;
  width: auto;
  margin-bottom: var(--space-sm);
  color: var(--frambuesa);
  display: block;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--crema);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.005em;
  opacity: 1;
}

.footer-col h4 {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(211, 15, 87, 0.5);
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.footer-col a {
  color: var(--crema);
  font-size: 1rem;
  transition: var(--transition);
  font-family: var(--font-serif);
  font-weight: 400;
  opacity: 1;
}

.footer-col a:hover {
  color: var(--frambuesa);
  opacity: 1;
  padding-left: 6px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-md);
  font-size: 0.82rem;
  color: var(--crema);
  opacity: 1;
  flex-wrap: wrap;
  gap: var(--space-sm);
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.footer-social {
  display: flex;
  gap: 0.7rem;
}

.footer-social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 220, 214, 0.4);
  border-radius: 50%;
  transition: var(--transition);
}

.footer-social a:hover {
  border-color: var(--frambuesa);
  background: rgba(211, 15, 87, 0.12);
  transform: translateY(-2px);
}

.footer-social a:hover svg {
  stroke: var(--frambuesa);
}

.footer-social svg {
  width: 15px;
  height: 15px;
  stroke: var(--crema);
  fill: none;
  stroke-width: 1.5;
  transition: stroke 0.3s ease;
}

.footer-legal {
  display: flex;
  gap: 1.2rem;
}
.footer-legal a {
  color: var(--crema);
  opacity: 0.85;
  transition: var(--transition);
  font-style: normal;
}
.footer-legal a:hover {
  opacity: 1;
  color: var(--frambuesa);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); }

  .collections-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .collection-card.large { grid-row: auto; aspect-ratio: 4/5; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .newsletter-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

@media (max-width: 900px) {
  /* Mostrar hamburguesa, ocultar nav inline */
  .menu-toggle { display: flex; }
  .main-nav { display: none; }

  /* En tablet/móvil: logo izquierda, acciones derecha (con hamburguesa al final) */
  .header-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .logo-link {
    grid-column: 1;
    justify-self: start;
  }

  .header-actions {
    grid-column: 3;
  }

  /* Ocultar buscar y cuenta en móvil/tablet — solo carrito + hamburguesa */
  .icon-search,
  .icon-account {
    display: none;
  }
}

@media (max-width: 768px) {

  /* Header acciones más compactas en móvil */
  .header-actions { gap: 0.3rem; }
  .header-actions .icon-btn { width: 38px; height: 38px; }

  /* Botones: padding reducido y tracking más cerrado para que quepa en móvil */
  .btn {
    padding: 0.95rem 1.4rem;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
  }

  .hero {
    padding: var(--space-md) 0 var(--space-lg);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .hero-text { padding-right: 0; }

  .hero-visual { aspect-ratio: 3/4; }

  .hero-stats {
    flex-wrap: wrap;
    gap: 0.8rem var(--space-md);
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .section-header-link {
    justify-self: start;
  }

  .intro-unesco-text {
    font-size: 1rem;
    padding: var(--space-sm);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .newsletter-input-wrap {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ANIMACIONES DE ENTRADA
   ============================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-text > 
.hero-text > *:nth-child(1) { animation-delay: 0.1s; }
.hero-text > *:nth-child(2) { animation-delay: 0.2s; }
.hero-text > *:nth-child(3) { animation-delay: 0.3s; }
.hero-text > *:nth-child(4) { animation-delay: 0.4s; }
.hero-text > *:nth-child(5) { animation-delay: 0.5s; }

.hero-visual { animation: fadeUp 1.1s ease-out 0.3s backwards; }

/* ============================================
   PÁGINA DE TIENDA
   ============================================ */

/* Cabecera de página - solo tipografía */
.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}

.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 1.2rem;
}

.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.page-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.5;
}

/* Barra de filtros */
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(42, 27, 22, 0.15);
  border-bottom: 1px solid rgba(42, 27, 22, 0.15);
  position: relative;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.shop-toolbar::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--frambuesa);
}

.filters-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.filter-btn {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--tinta);
  background: transparent;
  border: 1px solid rgba(42, 27, 22, 0.2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.filter-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.filter-btn.active {
  background: var(--frambuesa);
  border-color: var(--frambuesa);
  color: var(--crema);
}

.filter-btn svg {
  width: 11px;
  height: 11px;
  transition: transform 0.3s;
}

.filter-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.filter-divider {
  width: 1px;
  height: 22px;
  background: rgba(42, 27, 22, 0.18);
  margin: 0 0.4rem;
}

/* Dropdown de filtros - CSS puro con :focus-within (sin JS) */
.filter-dropdown {
  position: relative;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 180px;
  background: var(--crema-clara);
  border: 1px solid rgba(42, 27, 22, 0.12);
  border-radius: 12px;
  padding: 0.4rem;
  box-shadow: 0 8px 28px rgba(42, 27, 22, 0.1);
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 10;
}

/* Mostrar el menú cuando el botón está enfocado o el contenedor tiene foco interno */
.filter-dropdown:focus-within .filter-menu,
.filter-dropdown.open .filter-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Rotar la flecha del botón al estar abierto */
.filter-dropdown:focus-within .filter-btn svg,
.filter-dropdown.open .filter-btn svg {
  transform: rotate(180deg);
}

.filter-option {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  padding: 0.6rem 0.9rem;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}

.filter-option:hover {
  background: var(--rosa-banner);
  color: var(--frambuesa);
}

.filter-option.selected {
  background: var(--frambuesa);
  color: var(--crema);
}

/* Sort */
.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.sort-label {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-media);
}

.sort-select {
  font-family: var(--font-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 27, 22, 0.3);
  padding: 0.4rem 1.5rem 0.4rem 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232A1B16' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 11px;
  outline: none;
}

.sort-select:focus {
  border-bottom-color: var(--frambuesa);
}

/* Contador de resultados */
.shop-meta {
  padding: var(--space-md) 0 var(--space-sm);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.shop-count {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

.shop-count strong {
  font-style: normal;
  font-weight: 700;
  color: var(--tinta);
}

/* Grid de productos (ya existe products-grid pero ajustamos para tienda) */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md) var(--space-md);
  padding: var(--space-sm) 0 var(--space-xl);
}

/* Banner de unicidad - cada pieza es única */
.uniqueness-banner {
  background: var(--rosa-banner);
  padding: var(--space-md) var(--space-md);
  margin: 0 auto var(--space-lg);
  max-width: var(--max-width);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
}

.uniqueness-banner__icon {
  width: 36px;
  height: auto;
  color: var(--frambuesa);
  flex-shrink: 0;
}

.uniqueness-banner__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--tinta);
  font-weight: 400;
  max-width: 640px;
  letter-spacing: 0.005em;
}

.uniqueness-banner__text strong {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  color: var(--frambuesa);
  font-size: 1.6rem;
  letter-spacing: -0.005em;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

@media (max-width: 768px) {
  .uniqueness-banner {
    flex-direction: column;
    text-align: center;
    gap: 0.8rem;
    padding: var(--space-sm) var(--space-md);
  }

  .uniqueness-banner__text {
    font-size: 0.95rem;
  }

  .uniqueness-banner__icon {
    width: 28px;
  }
}

/* Paginación */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  padding: var(--space-md) 0 var(--space-xl);
}

.pagination-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--tinta);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition);
}

.pagination-btn:hover {
  border-color: var(--frambuesa);
  color: var(--frambuesa);
}

.pagination-btn.active {
  background: var(--frambuesa);
  color: var(--crema);
  border-color: var(--frambuesa);
}

.pagination-btn.arrow svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.pagination-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Bloque CTA pre-footer */
.cta-block {
  background: var(--rosa-banner);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.cta-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.8rem;
}

.cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--tinta);
  max-width: 720px;
  margin: 0 auto var(--space-sm);
}

.cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.cta-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--tinta-media);
  max-width: 540px;
  margin: 0 auto var(--space-md);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .shop-grid { grid-template-columns: repeat(2, 1fr); }

  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .filters-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .filter-divider { display: none; }

  .sort-wrap {
    justify-content: flex-end;
  }

  .shop-meta {
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PÁGINA SOBRE PETALÚ
   ============================================ */

/* Hero editorial */
.about-hero {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}

.about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}

.about-hero-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.about-hero-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.about-hero-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--tinta-media);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}

/* Secciones de la historia */
.about-section {
  padding: var(--space-xl) 0;
}

.about-section.alt-bg {
  background: var(--rosa-banner);
}

.about-section.dark-bg {
  background: var(--footer-bg);
  color: var(--crema);
}

.about-section.dark-bg .about-section-eyebrow {
  color: var(--rosa-banner);
}

.about-section.dark-bg .about-section-title,
.about-section.dark-bg .about-text {
  color: var(--crema);
}

.about-section.dark-bg .about-text strong {
  color: var(--rosa-banner);
}

.about-section-eyebrow {
  display: inline-block;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa);
  margin-bottom: 0.6rem;
}

.about-section-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
  max-width: 720px;
}

.about-section-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Layouts de columnas */
.about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: start;
}

.about-two-col.image-right {
  grid-template-columns: 1.1fr 1fr;
}

.about-two-col.image-left {
  grid-template-columns: 1fr 1.1fr;
}

.about-image {
  aspect-ratio: 4/5;
  background: var(--beige);
  position: relative;
  overflow: hidden;
}

.about-image.wide {
  aspect-ratio: 16/10;
}

.about-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--tinta);
  font-weight: 400;
}

.about-text p {
  margin-bottom: 1.1rem;
}

.about-text p:last-child {
  margin-bottom: 0;
}

.about-text strong {
  font-weight: 700;
  color: var(--frambuesa);
}

.about-text em {
  font-style: italic;
  color: var(--frambuesa);
}

/* Bloque trío de fundadoras */
.founders-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.founder-card {
  text-align: center;
  padding: var(--space-md) 1rem;
  border-top: 1px solid rgba(211, 15, 87, 0.3);
}

.founder-name {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.3rem;
  line-height: 1;
  font-weight: 400;
}

.founder-role {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--tinta-media);
}

/* Cita destacada */
.about-quote-section {
  padding: var(--space-xxl) var(--space-md);
  background: var(--footer-bg);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.about-quote-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 5rem;
  color: var(--rosa-banner);
  line-height: 0.5;
  margin-bottom: var(--space-md);
  display: block;
}

.about-quote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--crema);
  max-width: 880px;
  margin: 0 auto;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.about-quote-text .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--rosa-banner);
  font-weight: 400;
}

/* Manifiesto - texto centrado grande */
.manifesto {
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.manifesto-text {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  line-height: 1.55;
  color: var(--tinta);
  max-width: 760px;
  margin: 0 auto;
  font-weight: 400;
}

.manifesto-text p {
  margin-bottom: 1.4rem;
}

.manifesto-text p:last-child {
  margin-bottom: 0;
}

.manifesto-text em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.manifesto-text strong {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
  font-size: 1.3em;
}

/* CTA final */
.about-cta {
  padding: var(--space-xl) 0;
  text-align: center;
  background: var(--rosa-banner);
}

.about-cta-eyebrow {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--frambuesa);
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.about-cta-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-md);
}

.about-cta-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

/* Anécdota destacada */
.anecdote {
  background: var(--crema-clara);
  padding: var(--space-md) var(--space-lg);
  border-left: 3px solid var(--frambuesa);
  margin: var(--space-md) 0;
  border-radius: 0 6px 6px 0;
}

.anecdote-label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--frambuesa);
  margin-bottom: 0.4rem;
  display: block;
}

.anecdote-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta);
}

.anecdote-source {
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(211, 15, 87, 0.25);
  font-family: var(--font-serif);
  font-size: 0.78rem;
  color: var(--tinta-media);
  letter-spacing: 0.02em;
}

.anecdote-source em {
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 700;
}

@media (max-width: 768px) {
  .about-two-col,
  .about-two-col.image-right,
  .about-two-col.image-left {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .founders-grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .founder-card {
    padding: 1.5rem 1rem;
  }

  .anecdote {
    padding: var(--space-sm) var(--space-md);
  }
}

/* ============================================
   PÁGINA 404
   ============================================ */
.error-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-xl) var(--space-md);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.error-content {
  max-width: 620px;
  position: relative;
  z-index: 1;
}

.error-iso {
  width: 110px;
  height: auto;
  color: var(--frambuesa);
  opacity: 0.4;
  margin: 0 auto var(--space-sm);
  display: block;
  transform: rotate(-12deg);
}

.error-code {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(5rem, 14vw, 9rem);
  color: var(--frambuesa);
  line-height: 0.9;
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.error-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--tinta);
  margin-bottom: var(--space-sm);
}

.error-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
  font-weight: 400;
}

.error-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--tinta-media);
  margin-bottom: var(--space-md);
}

.error-text em {
  font-style: italic;
  color: var(--frambuesa);
}

.error-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================
   PÁGINA CUIDADOS
   ============================================ */
.care-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  max-width: 900px;
  margin: 0 auto;
}

.care-card {
  background: var(--crema);
  padding: var(--space-md) var(--space-md);
  border-radius: 6px;
  position: relative;
  border-top: 3px solid var(--frambuesa);
}

.care-card-num {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.4rem;
  color: var(--frambuesa);
  line-height: 1;
  margin-bottom: 0.6rem;
  font-weight: 400;
  opacity: 0.85;
}

.care-card-title {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--tinta);
  margin-bottom: 0.6rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}

.care-card-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--tinta-media);
  font-weight: 400;
}

.care-iso {
  display: block;
  width: 48px;
  height: auto;
  color: var(--rosa-banner);
  margin: 0 auto var(--space-sm);
}

@media (max-width: 768px) {
  .care-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   LLUVIA DE PÉTALOS (intro al cargar)
   ============================================ */
.petal-rain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  overflow: hidden;
}

.petal-rain__item {
  position: absolute;
  color: var(--frambuesa);
  will-change: transform, opacity;
  animation-name: petalFall;
  animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1);
  animation-fill-mode: forwards;
}

.petal-rain__item svg {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 6px rgba(211, 15, 87, 0.15));
}

@keyframes petalFall {
  0% {
    transform: translate3d(0, -50px, 0) rotate(var(--rot-start));
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translate3d(var(--drift), 105vh, 0) rotate(var(--rot-end));
    opacity: 0;
  }
}

/* Respeto preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .petal-rain { display: none; }
}

/* ============================================
   PÁGINA LEGAL / POLÍTICAS
   ============================================ */

.legal-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  background: var(--crema);
  border-bottom: 1px solid var(--beige);
}
.legal-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}
.legal-header-eyebrow::before,
.legal-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}
.legal-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 0.6rem;
}
.legal-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}
.legal-meta {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--tinta-suave);
}

/* Layout de dos columnas */
.legal-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--space-xl);
  padding: var(--space-xl) 0 var(--space-xxl);
  align-items: start;
}

/* Índice lateral */
.legal-nav {
  position: sticky;
  top: 100px;
}
.legal-nav-title {
  font-family: var(--font-serif);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--tinta-suave);
  margin-bottom: 1rem;
}
.legal-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--beige-oscuro);
}
.legal-nav ul li {
  padding: 0;
}
.legal-nav ul li a {
  display: block;
  padding: 0.45rem 0 0.45rem var(--space-sm);
  font-family: var(--font-serif);
  font-size: 0.85rem;
  color: var(--tinta-suave);
  transition: color var(--transition), border-color var(--transition);
  border-left: 2px solid transparent;
  margin-left: -2px;
  line-height: 1.4;
}
.legal-nav ul li a:hover,
.legal-nav ul li a.active {
  color: var(--frambuesa);
  border-left-color: var(--frambuesa);
}

/* Contenido */
.legal-content {
  max-width: 720px;
}
.legal-section {
  margin-bottom: var(--space-xl);
  scroll-margin-top: 100px;
}
.legal-section:last-child {
  margin-bottom: 0;
}
.legal-section-number {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--frambuesa-claro);
  margin-bottom: 0.3rem;
  display: block;
}
.legal-section h2 {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: 1.6rem;
  color: var(--tinta);
  margin-bottom: 1rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.legal-section p {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--tinta-media);
  margin-bottom: 1rem;
}
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul, .legal-section ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}
.legal-section li {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--tinta-media);
  margin-bottom: 0.3rem;
}
.legal-section strong {
  font-weight: 400;
  color: var(--tinta);
}
.legal-section a {
  color: var(--frambuesa);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-section a:hover { color: var(--frambuesa-oscuro); }
.legal-divider {
  border: none;
  border-top: 1px solid var(--beige);
  margin: var(--space-lg) 0;
}

/* Bloque destacado */
.legal-highlight {
  background: var(--beige);
  border-left: 3px solid var(--frambuesa-claro);
  padding: var(--space-sm) var(--space-md);
  border-radius: 0 4px 4px 0;
  margin-bottom: 1rem;
}
.legal-highlight p {
  margin-bottom: 0;
  font-style: italic;
}

/* Contacto inline */
.legal-contact-box {
  background: var(--crema-clara);
  border: 1px solid var(--beige-oscuro);
  border-radius: 4px;
  padding: var(--space-md);
  margin-top: var(--space-lg);
}
.legal-contact-box p {
  margin-bottom: 0.5rem;
}
.legal-contact-box p:last-child { margin-bottom: 0; }

/* Responsive */
@media (max-width: 900px) {
  .legal-layout {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
  .legal-nav {
    position: static;
    background: var(--beige);
    border-radius: 4px;
    padding: var(--space-sm) var(--space-md);
  }
  .legal-nav ul {
    border-left: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0;
  }
  .legal-nav ul li a {
    border-left: none;
    padding: 0.3rem 0.7rem 0.3rem 0;
    border-right: 1px solid var(--beige-oscuro);
    margin-left: 0;
  }
  .legal-nav ul li:last-child a { border-right: none; }
}

</style>
/* ============================================
   CARRITO
   ============================================ */

.page-header {
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  position: relative;
}
.page-header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-serif);
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--frambuesa);
  margin-bottom: var(--space-sm);
}
.page-header-eyebrow::before,
.page-header-eyebrow::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--frambuesa);
}
.page-title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.8rem, 6.5vw, 5rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--tinta);
  margin-bottom: 0.5rem;
}
.page-title .display-word {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--frambuesa);
}

/* Layout carrito */
.cart-section {
  padding: 0 0 var(--space-xxl);
}
.cart-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: var(--space-lg);
  align-items: start;
}

/* Tabla de productos */
.cart-table {
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--beige-oscuro);
}
.cart-table-header {
  display: grid;
  grid-template-columns: 1fr 120px 100px 80px;
  gap: var(--space-sm);
  padding: 1rem var(--space-md);
  background: var(--beige);
  font-family: var(--font-serif);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--tinta-media);
}
.cart-item {
  display: grid;
  grid-template-columns: 1fr 120px 100px 80px;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-bottom: 1px solid var(--beige);
  align-items: center;
  transition: background var(--transition);
}
.cart-item:last-child { border-bottom: none; }
.cart-item:hover { background: var(--crema-clara); }

.cart-item-info {
  display: flex;
  gap: var(--space-md);
  align-items: center;
}
.cart-item-img {
  width: 72px;
  height: 72px;
  background: var(--beige);
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.cart-item-img svg {
  width: 28px;
  height: 28px;
  color: var(--frambuesa-claro);
}
.cart-item-name {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--tinta);
  line-height: 1.3;
  margin-bottom: 0.25rem;
}
.cart-item-variant {
  font-size: 0.8rem;
  color: var(--tinta-suave);
  font-style: italic;
}
.cart-item-price {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  color: var(--tinta);
  font-weight: 400;
}
.cart-qty {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid var(--beige-oscuro);
  border-radius: 3px;
  width: fit-content;
  background: var(--crema-clara);
}
.cart-qty button {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--tinta-media);
  transition: color var(--transition);
}
.cart-qty button:hover { color: var(--frambuesa); }
.cart-qty span {
  font-family: var(--font-serif);
  font-size: 0.9rem;
  min-width: 20px;
  text-align: center;
  color: var(--tinta);
}
.cart-item-total {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  color: var(--tinta);
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.cart-remove {
  color: var(--tinta-suave);
  font-size: 0.75rem;
  transition: color var(--transition);
  line-height: 1;
}
.cart-remove:hover { color: var(--frambuesa); }

/* Nota de carrito */
.cart-note {
  margin-top: var(--space-md);
}
.cart-note label {
  display: block;
  font-family: var(--font-serif);
  font-size: 0.8rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--tinta-media);
  margin-bottom: 0.5rem;
}
.cart-note textarea {
  width: 100%;
  padding: 0.9rem 1rem;
  background: var(--crema-clara);
  border: 1px solid var(--beige-oscuro);
  border-radius: 3px;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  color: var(--tinta);
  resize: vertical;
  min-height: 80px;
  transition: border-color var(--transition);
}
.cart-note textarea:focus {
  outline: none;
  border-color: var(--frambuesa-claro);
}

/* Resumen del pedido */
.cart-summary {
  background: var(--beige);
  border-radius: 4px;
  padding: var(--space-md);
  position: sticky;
  top: 100px;
}
.cart-summary-title {
  font-family: var(--font-serif);
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--tinta-media);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--beige-oscuro);
}
.cart-summary-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.75rem;
  font-family: var(--font-serif);
  font-size: 0.9rem;
  color: var(--tinta-media);
}
.cart-summary-line.total {
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--beige-oscuro);
  font-size: 1.1rem;
  color: var(--tinta);
  font-weight: 400;
}
.cart-summary-line.total span:last-child {
  font-size: 1.25rem;
  color: var(--frambuesa);
}
.cart-summary-shipping {
  font-size: 0.8rem;
  color: var(--tinta-suave);
  margin-bottom: var(--space-md);
  font-style: italic;
}
.btn-checkout {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--frambuesa);
  color: var(--crema);
  font-family: var(--font-serif);
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-align: center;
  border-radius: 3px;
  cursor: pointer;
  border: none;
  transition: background var(--transition);
  position: relative;
  overflow: hidden;
}
.btn-checkout::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--frambuesa-oscuro);
  transform: translateY(100%);
  transition: transform var(--transition);
}
.btn-checkout:hover::before { transform: translateY(0); }
.btn-checkout span { position: relative; z-index: 1; }

.cart-continue {
  display: block;
  text-align: center;
  margin-top: var(--space-sm);
  font-family: var(--font-serif);
  font-size: 0.82rem;
  color: var(--tinta-suave);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition);
}
.cart-continue:hover { color: var(--frambuesa); }

.cart-trust {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--beige-oscuro);
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.cart-trust-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.78rem;
  color: var(--tinta-suave);
  font-family: var(--font-serif);
}
.cart-trust-item svg {
  width: 14px;
  height: 14px;
  stroke: var(--verde-patio);
  flex-shrink: 0;
}

/* Estado vacío */
.cart-empty {
  text-align: center;
  padding: var(--space-xxl) 0;
}
.cart-empty-isotipo {
  width: 60px;
  margin: 0 auto var(--space-md);
  color: var(--frambuesa-claro);
}
.cart-empty h2 {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: 2rem;
  color: var(--tinta);
  margin-bottom: 0.75rem;
}
.cart-empty p {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--tinta-suave);
  margin-bottom: var(--space-lg);
}

/* Responsive */
@media (max-width: 900px) {
  .cart-layout {
    grid-template-columns: 1fr;
  }
  .cart-table-header { display: none; }
  .cart-item {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .cart-item-info { grid-column: 1; }
  .cart-item-price::before { content: 'Precio: '; font-size: 0.75rem; color: var(--tinta-suave); }
  .cart-summary { position: static; }
}


/* ============================================
   MAPEO AUTOMÁTICO DE POLÍTICAS DE SHOPIFY
   ============================================ */
.shopify-policy-body {
  counter-reset: policy-section;
  max-width: 720px;
}

/* Ocultar el título duplicado que mete Shopify por defecto */
.shopify-policy__title {
  display: none !important;
}

/* Títulos H2 (Generan el 01, 02... automático) */
.shopify-policy-body h2 {
  counter-increment: policy-section;
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 1.3rem; /* Reducido para que no sea tan grande */
  color: var(--tinta);
  margin-top: var(--space-xl);
  margin-bottom: 0.8rem;
  line-height: 1.3;
}
.shopify-policy-body h2::before {
  content: counter(policy-section, decimal-leading-zero);
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 0.95rem;
  color: var(--frambuesa-claro);
  margin-bottom: 0.2rem;
}

/* Párrafos base */
.shopify-policy-body p, 
.shopify-policy__body p {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--tinta-media);
  margin-bottom: 1rem;
}

/* Listas */
.shopify-policy-body ul, 
.shopify-policy-body ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}
.shopify-policy-body li {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--tinta-media);
  margin-bottom: 0.3rem;
}

/* Citas (Blockquote) -> Se convierte en la caja destacada */
.shopify-policy-body blockquote {
  background: var(--beige);
  border-left: 3px solid var(--frambuesa-claro);
  padding: var(--space-sm) var(--space-md);
  border-radius: 0 4px 4px 0;
  margin-bottom: 1.5rem;
  margin-left: 0;
  margin-right: 0;
}
/* Forzar tamaño de texto normal dentro de la cita para que no se vea gigante */
.shopify-policy-body blockquote * {
  font-family: var(--font-serif) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  font-style: italic !important;
  color: var(--tinta-media) !important;
  margin-bottom: 0.5rem;
}
.shopify-policy-body blockquote h2::before {
  display: none !important; /* Si mete un H2 en la cita, quitamos el número */
}

/* Línea separadora */
.shopify-policy-body hr {
  border: none;
  border-top: 1px solid var(--beige);
  margin: var(--space-lg) 0;
}

/* Enlaces */
.shopify-policy-body a {
  color: var(--frambuesa);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.shopify-policy-body a:hover {
  color: var(--frambuesa-oscuro);
}

/* Negritas */
.shopify-policy-body strong,
.shopify-policy-body b {
  font-weight: 400;
  color: var(--tinta);
}

/* FIX OVERRIDES */
.collections-grid { grid-template-columns: repeat(3, 1fr) !important; grid-template-rows: auto !important; }
.collection-card.large { grid-row: auto !important; grid-column: auto !important; aspect-ratio: 4/5 !important; }
.collection-card .placeholder { width: 100% !important; height: 100% !important; }
@media (max-width: 1024px) { .collections-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 768px) { .collections-grid { grid-template-columns: 1fr !important; } }

