/** Shopify CDN: Minification failed

Line 4092:14 Expected identifier but found whitespace
Line 4092:15 Unexpected "0"
Line 4122:0 Unexpected "}"

**/
/* ============================================================

   LEMICH THEME — CSS GLOBAL

   Estilo: Lemich × Restoration Hardware

   Mobile First

   ============================================================ */



/* Google Fonts — loaded via <link rel="preload"> in layout/theme.liquid (single source of truth).

   Do NOT @import here: it forces the browser to discover, fetch and parse the font sheet AFTER

   this CSS arrives, blocking first paint of any element that uses these faces. */



/* Fallback metric override is safe even when fonts haven't loaded. */

:root { --font-fallback-stack: Georgia, 'Times New Roman', serif; }



/* While custom fonts stream from CDN, prevent FOIT in headings. */

.fonts-loading .pdpx-title,

.fonts-loading h1, .fonts-loading h2, .fonts-loading h3 {

  font-family: var(--font-fallback-stack);

}

/* Variables CSS — LEMICH Brandkit 2026 */

:root {

  --color-cream: #F3EEE5;       /* Hueso Cal (Fondo principal 45%) */

  --color-dark: #241C18;        /* Tinta Nogal (Texto principal 20%) */

  --color-gold: #C9B9A8;        /* Arena Taller (Bordes y superficies 15%) */

  --color-rosa-morada: #A67668; /* Rosa Morada (Acentos cálidos 8%) */

  --color-patina: #6F776B;      /* Verde Pátina (Garantías/Naturaleza 7%) */

  --color-arcilla: #B45E45;     /* Arcilla (CTA principal 5%) */

  --color-white: #FFFFFF;

  --color-border: #E5DDD0;

  --color-text-light: #6E6259;

  --color-accent: #B45E45;

  --color-whatsapp: #241C18;

  --color-error: #C0392B;

  --color-success: #6F776B;



  --font-heading: 'Instrument Serif', Georgia, serif;

  --font-body: 'Manrope', -apple-system, sans-serif;

  --font-mono: 'IBM Plex Mono', monospace;



  --spacing-xs: 8px;

  --spacing-sm: 16px;

  --spacing-md: 24px;

  --spacing-lg: 48px;

  --spacing-xl: 80px;

  --spacing-xxl: 120px;



  --border-radius-sm: 2px;

  --border-radius-md: 4px;

  --border-radius-circle: 50%;



  --transition-base: 0.3s ease;

  --transition-slow: 0.6s ease;

  --transition-slower: 1s cubic-bezier(0.16, 1, 0.3, 1);

  --ease-luxe: cubic-bezier(0.16, 1, 0.3, 1);

  --ease-out-soft: cubic-bezier(0.4, 0, 0.2, 1);

  --shadow-sm: 0 2px 8px rgba(44, 24, 16, 0.08);

  --shadow-md: 0 4px 20px rgba(44, 24, 16, 0.12);

  --shadow-lg: 0 24px 60px rgba(44, 24, 16, 0.18);

  --shadow-xl: 0 40px 100px rgba(44, 24, 16, 0.22);



  /* Z-index scale (semantic) */

  --z-base: 1;

  --z-content: 10;

  --z-sticky: 50;

  --z-header: 100;

  --z-drawer: 200;

  --z-overlay: 900;

  --z-modal: 1000;

  --z-toast: 1500;

  --z-tooltip: 2000;



  /* Type scale (modular, 1.250 ratio anchored at 1rem) */

  --text-xs: 0.75rem;

  --text-sm: 0.875rem;

  --text-base: 1rem;

  --text-md: 1.125rem;

  --text-lg: 1.25rem;

  --text-xl: 1.5rem;

  --text-2xl: 2rem;

  --text-3xl: 2.5rem;

  --text-4xl: 3rem;

  --text-5xl: 4rem;

  --text-6xl: 5rem;



  /* Letter spacing for editorial typography */

  --tracking-tight: -0.02em;

  --tracking-normal: 0;

  --tracking-wide: 0.05em;

  --tracking-wider: 0.1em;

  --tracking-widest: 0.2em;

  --tracking-eyebrow: 0.3em;



  /* Hairline borders */

  --hairline: 1px solid var(--color-border);

  --hairline-gold: 1px solid rgba(201, 169, 110, 0.4);



  --container-max: 1400px;

  --container-padding: 20px;

}



/* Reset y Base */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

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

body {

  font-family: var(--font-body);

  background-color: var(--color-cream);

  color: var(--color-dark);

  line-height: 1.6;

  -webkit-font-smoothing: antialiased;

}



/* Tipografía */

h1, h2, h3, h4, h5, h6 {

  font-family: var(--font-heading);

  line-height: 1.2;

  color: var(--color-dark);

}

h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 400; }

h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; }

h3 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; }

h4 { font-size: 1.25rem; font-weight: 500; }

p { font-size: 1rem; line-height: 1.75; color: var(--color-text-light); }

a { color: inherit; text-decoration: none; transition: color var(--transition-base); }



/* Container */

.lemich-container {

  max-width: var(--container-max);

  margin: 0 auto;

  padding: 0 var(--container-padding);

  overflow-x: hidden;

}



/* Botones */

.btn-primary {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 16px 32px;

  background: var(--color-dark);

  color: var(--color-cream);

  font-family: var(--font-body);

  font-size: 0.875rem;

  font-weight: 500;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  border: 2px solid var(--color-dark);

  border-radius: var(--border-radius-sm);

  cursor: pointer;

  transition: all var(--transition-base);

  min-height: 52px;

}

.btn-primary:hover {

  background: transparent;

  color: var(--color-dark);

}

.btn-secondary {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 14px 32px;

  background: transparent;

  color: var(--color-dark);

  font-family: var(--font-body);

  font-size: 0.875rem;

  font-weight: 500;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  border: 2px solid var(--color-dark);

  border-radius: var(--border-radius-sm);

  cursor: pointer;

  transition: all var(--transition-base);

  min-height: 52px;

}

.btn-secondary:hover {

  background: var(--color-dark);

  color: var(--color-cream);

}

.btn-outline-white {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 14px 32px;

  background: transparent;

  color: var(--color-white);

  font-family: var(--font-body);

  font-size: 0.875rem;

  font-weight: 500;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  border: 2px solid var(--color-white);

  border-radius: var(--border-radius-sm);

  cursor: pointer;

  transition: all var(--transition-base);

  min-height: 52px;

}

.btn-outline-white:hover {

  background: var(--color-white);

  color: var(--color-dark);

}



/* Badges */

.badge {

  display: inline-block;

  padding: 4px 10px;

  font-size: 0.7rem;

  font-weight: 600;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  border-radius: 2px;

}

.badge-handmade { background: var(--color-gold); color: var(--color-white); }

.badge-limited { background: var(--color-dark); color: var(--color-cream); }

.badge-sale { background: #8B0000; color: var(--color-white); }



/* Gold accent text */

.text-gold { color: var(--color-gold); }

.text-dark { color: var(--color-dark); }

.text-light { color: var(--color-text-light); }

.eyebrow {

  font-family: var(--font-body);

  font-size: 0.75rem;

  font-weight: 600;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: var(--color-gold);

}



/* Acordeón */

.lemich-accordion { border-top: 1px solid var(--color-border); }

.lemich-accordion__item,

details.lemich-accordion { border-bottom: 1px solid var(--color-border); }

.lemich-accordion__trigger {

  width: 100%;

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 18px 0;

  background: none;

  border: none;

  cursor: pointer;

  font-family: var(--font-body);

  font-size: 0.875rem;

  font-weight: 600;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: var(--color-dark);

  text-align: left;

}

details.lemich-accordion > summary.lemich-accordion__trigger {

  list-style: none;

  display: flex;

}

details.lemich-accordion > summary.lemich-accordion__trigger::-webkit-details-marker { display: none; }

details.lemich-accordion > summary.lemich-accordion__trigger::marker { display: none; content: ''; }

/* Botón no-details (legacy) usa ::after +/. details usa SVG interno. */

.lemich-accordion__trigger:not(summary)::after {

  content: '+';

  font-size: 1.25rem;

  transition: transform var(--transition-base);

  margin-left: 12px;

}

.lemich-accordion__trigger:not(summary)[aria-expanded="true"]::after {

  transform: rotate(45deg);

}

.lemich-accordion__icon {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 24px;

  height: 24px;

  color: var(--color-gold);

  transition: transform var(--transition-base);

}

details.lemich-accordion[open] > summary .lemich-accordion__icon { transform: rotate(45deg); }

.lemich-accordion__label { flex: 1; }

.lemich-accordion__content {

  display: none;

  padding: 0 0 18px;

}

.lemich-accordion__content.is-open { display: block; }

details.lemich-accordion[open] > .lemich-accordion__content { display: block; padding: 0 0 18px; }



/* Section spacing */

.section { padding: var(--spacing-xl) 0; }

.section--sm { padding: var(--spacing-lg) 0; }

.section--dark { background: var(--color-dark); }

.section--cream { background: var(--color-cream); }

.section__title {

  text-align: center;

  margin-bottom: var(--spacing-lg);

}

.section__title h2 { margin-bottom: var(--spacing-xs); }



/* Grid responsivo */

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md); }

.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--spacing-md); }

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



@media (max-width: 768px) {

  :root { --container-padding: 20px; }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr 1fr; gap: 16px; }

  .section { padding: var(--spacing-lg) 0; }

}

@media (max-width: 480px) {

  .grid-3, .grid-4 { grid-template-columns: 1fr 1fr; }

}



/* Utilidades */

.visually-hidden {

  position: absolute; width: 1px; height: 1px;

  padding: 0; margin: -1px; overflow: hidden;

  clip: rect(0,0,0,0); white-space: nowrap; border: 0;

}

.text-center { text-align: center; }

.img-cover { width: 100%; height: 100%; object-fit: cover; display: block; }



/* ============================================================

   PRODUCT CARD

   ============================================================ */

.product-card { position: relative; }

.product-card__image-wrap {

  position: relative;

  overflow: hidden;

  background: var(--color-white);

  aspect-ratio: 1;

  border-radius: var(--border-radius-md);

}

.product-card__image {

  width: 100%; height: 100%;

  object-fit: cover;

  transition: opacity 0.4s ease, transform 0.4s ease;

}

.product-card__image--secondary {

  position: absolute; inset: 0;

  opacity: 0;

}

.product-card:hover .product-card__image--primary { opacity: 0; }

.product-card:hover .product-card__image--secondary { opacity: 1; }

.product-card:hover .product-card__image { transform: scale(1.03); }

.product-card__badge {

  position: absolute; top: 12px; left: 12px; z-index: 2;

}

.product-card__wishlist {

  position: absolute; top: 12px; right: 12px; z-index: 2;

  width: 44px; height: 44px;

  background: var(--color-white);

  border: none; border-radius: 50%;

  display: flex; align-items: center; justify-content: center;

  cursor: pointer;

  transition: all 0.2s ease;

  color: var(--color-text-light);

}

.product-card__wishlist:hover,

.product-card__wishlist.is-active { color: #C0392B; }

.product-card__wishlist.is-active svg { fill: #C0392B; stroke: #C0392B; }

.product-card__info { padding: 14px 0 0; }

.product-card__title {

  display: block;

  font-family: var(--font-body);

  font-size: 0.9375rem;

  font-weight: 500;

  color: var(--color-dark);

  margin-bottom: 6px;

  line-height: 1.4;

}

.product-card__title:hover { color: var(--color-gold); }

.product-card__price { margin-top: 6px; }



/* ============================================================

   HERO EDITORIAL

   ============================================================ */

.hero-editorial {

  position: relative;

  min-height: 70vh;

  display: flex;

  align-items: center;

  overflow: hidden;

  background: var(--color-dark);

}

.hero-editorial__image {

  position: absolute; inset: 0;

  width: 100%; height: 100%;

  object-fit: cover;

  z-index: 0;

}

.hero-editorial__overlay {

  position: absolute; inset: 0;

  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.55) 100%);

  z-index: 1;

}

.hero-editorial__content {

  position: relative;

  z-index: 2;

  color: var(--color-white);

  padding: var(--spacing-lg) 0;

  max-width: 720px;

}

.hero-editorial__content h1 {

  color: var(--color-white);

  font-size: clamp(3rem, 7vw, 5rem);

  margin: var(--spacing-sm) 0;

}

.hero-editorial__content p {

  color: var(--color-white);

  font-size: 1.1rem;

  opacity: 0.92;

  margin-bottom: var(--spacing-md);

}

.hero-editorial__checks {

  font-size: 0.85rem;

  opacity: 0.9;

  margin-bottom: var(--spacing-md);

  letter-spacing: 0.02em;

}

@media (min-width: 768px) {

  .hero-editorial { min-height: 85vh; }

  .hero-editorial__content { text-align: left; }

}

@media (max-width: 767px) {

  .hero-editorial__content { text-align: center; margin: 0 auto; }

  .hero-editorial .btn-outline-white {

    background: var(--color-white);

    color: var(--color-dark);

  }

  .hero-editorial .btn-outline-white:hover {

    background: transparent;

    color: var(--color-white);

  }

}



/* ============================================================

   CATEGORÍAS EN CÍRCULOS

   ============================================================ */

.category-circle__image-wrap {

  width: 100%;

  aspect-ratio: 1;

  border-radius: 50%;

  overflow: hidden;

  transition: transform 0.3s ease, box-shadow 0.3s ease;

}

.category-circle:hover .category-circle__image-wrap {

  transform: scale(1.05);

  box-shadow: 0 8px 24px rgba(44,24,16,0.15);

}

.category-circle__name {

  display: block;

  text-align: center;

  margin-top: 12px;

  font-family: var(--font-body);

  font-size: 0.8125rem;

  font-weight: 600;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  color: var(--color-dark);

}



/* ============================================================

   TABS (Más vendidos)

   ============================================================ */

.tabs-nav {

  display: flex;

  justify-content: center;

  gap: var(--spacing-md);

  border-bottom: 1px solid var(--color-border);

  margin-bottom: var(--spacing-lg);

  overflow-x: auto;

  -webkit-overflow-scrolling: touch;

}

.tabs-nav__btn {

  background: none;

  border: none;

  padding: 12px 8px;

  font-family: var(--font-body);

  font-size: 0.875rem;

  font-weight: 500;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  color: var(--color-text-light);

  cursor: pointer;

  border-bottom: 2px solid transparent;

  transition: all var(--transition-base);

  white-space: nowrap;

}

.tabs-nav__btn.is-active {

  color: var(--color-dark);

  border-bottom-color: var(--color-gold);

}

.tabs-panel { display: none; }

.tabs-panel.is-active {

  display: block;

  animation: fadeIn 0.2s ease;

}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }



/* ============================================================

   TRUST STRIP

   ============================================================ */

.trust-strip {

  background: var(--color-cream);

  border-top: 1px solid var(--color-border);

  border-bottom: 1px solid var(--color-border);

  padding: 40px 0;

}

.trust-strip__grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: var(--spacing-md);

  text-align: center;

}

.trust-strip__icon {

  width: 40px; height: 40px;

  margin: 0 auto var(--spacing-xs);

  color: var(--color-gold);

}

.trust-strip__title {

  font-family: var(--font-body);

  font-size: 0.9rem;

  font-weight: 600;

  color: var(--color-dark);

  margin-bottom: 4px;

}

.trust-strip__subtitle {

  font-family: var(--font-body);

  font-size: 0.78rem;

  color: var(--color-text-light);

}

@media (max-width: 768px) {

  .trust-strip__grid { grid-template-columns: 1fr 1fr; }

}



/* ============================================================

   TESTIMONIOS

   ============================================================ */

.testimonials__grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: var(--spacing-md);

}

.testimonial-card {

  background: var(--color-white);

  border: 1px solid var(--color-border);

  border-radius: var(--border-radius-md);

  padding: var(--spacing-md);

}

.testimonial-card__stars { color: var(--color-gold); margin-bottom: var(--spacing-sm); letter-spacing: 2px; }

.testimonial-card__text {

  font-family: var(--font-body);

  font-size: 0.9375rem;

  color: var(--color-dark);

  line-height: 1.65;

  margin-bottom: var(--spacing-sm);

}

.testimonial-card__author {

  font-size: 0.875rem;

  color: var(--color-text-light);

}

.testimonial-card__author strong {

  color: var(--color-dark);

  display: block;

  font-weight: 600;

}

.testimonials__rating {

  text-align: center;

  margin-bottom: var(--spacing-md);

  color: var(--color-text-light);

  font-size: 0.9rem;

}

.testimonials__rating strong { color: var(--color-dark); }

@media (max-width: 768px) {

  .testimonials__grid {

    grid-template-columns: 1fr;

    gap: var(--spacing-sm);

  }

}



/* ============================================================

   LOOKBOOK EDITORIAL

   ============================================================ */

.lookbook-editorial__grid {

  display: grid;

  grid-template-columns: 60% 40%;

  gap: var(--spacing-lg);

  align-items: center;

}

.lookbook-editorial__image-wrap {

  position: relative;

  aspect-ratio: 4/3;

  overflow: hidden;

  border-radius: var(--border-radius-md);

}

.lookbook-editorial__content h2 { margin-bottom: var(--spacing-sm); }

.lookbook-editorial__content p { margin-bottom: var(--spacing-md); }

@media (max-width: 768px) {

  .lookbook-editorial__grid { grid-template-columns: 1fr; }

}



/* ============================================================

   EDITORIAL GUIDE

   ============================================================ */

.editorial-guide {

  background: var(--color-cream);

}

.editorial-guide__grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: var(--spacing-lg);

  align-items: center;

}

.editorial-guide__list { list-style: none; padding: 0; }

.editorial-guide__item {

  display: flex;

  gap: var(--spacing-sm);

  padding: var(--spacing-sm) 0;

  border-bottom: 1px solid var(--color-border);

}

.editorial-guide__item:last-child { border-bottom: none; }

.editorial-guide__num {

  font-family: var(--font-heading);

  font-size: 1.75rem;

  color: var(--color-gold);

  font-weight: 500;

  min-width: 36px;

}

.editorial-guide__item h4 {

  font-family: var(--font-body);

  font-size: 1rem;

  font-weight: 600;

  margin-bottom: 4px;

}

.editorial-guide__item p { font-size: 0.875rem; margin: 0; }

@media (max-width: 768px) {

  .editorial-guide__grid { grid-template-columns: 1fr; }

}



/* ============================================================

   BLOG PREVIEW

   ============================================================ */

.blog-preview__header {

  display: flex;

  justify-content: space-between;

  align-items: center;

  margin-bottom: var(--spacing-lg);

}

.blog-preview__grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: var(--spacing-md);

}

.blog-card__image-wrap {

  aspect-ratio: 16/9;

  overflow: hidden;

  border-radius: var(--border-radius-md);

  margin-bottom: 12px;

}

.blog-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }

.blog-card:hover .blog-card__image { transform: scale(1.05); }

.blog-card__category {

  display: inline-block;

  font-size: 0.7rem;

  font-weight: 600;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: var(--color-gold);

  margin-bottom: 6px;

}

.blog-card__date {

  font-size: 0.75rem;

  color: var(--color-text-light);

  margin-bottom: 6px;

}

.blog-card__title {

  display: block;

  font-family: var(--font-heading);

  font-size: 1.25rem;

  font-weight: 500;

  color: var(--color-dark);

  margin-bottom: 6px;

  line-height: 1.3;

}

.blog-card__title:hover { color: var(--color-gold); }

.blog-card__link {

  font-size: 0.85rem;

  font-weight: 500;

  color: var(--color-dark);

  letter-spacing: 0.05em;

}

.blog-card__link:hover { color: var(--color-gold); }

@media (max-width: 768px) {

  .blog-preview__grid { grid-template-columns: 1fr 1fr; }

}



/* ============================================================

   NEWSLETTER

   ============================================================ */

.newsletter {

  background: var(--color-dark);

  color: var(--color-cream);

  padding: var(--spacing-xl) 0;

  text-align: center;

}

.newsletter h2 { color: var(--color-cream); }

.newsletter p { color: var(--color-cream); opacity: 0.8; max-width: 560px; margin: 0 auto var(--spacing-md); }

.newsletter__form {

  display: flex;

  max-width: 480px;

  margin: 0 auto;

  gap: 0;

}

.newsletter__input {

  flex: 1;

  padding: 14px 18px;

  border: 1px solid var(--color-cream);

  background: transparent;

  color: var(--color-cream);

  font-family: var(--font-body);

  font-size: 0.875rem;

  border-radius: var(--border-radius-sm) 0 0 var(--border-radius-sm);

}

.newsletter__input::placeholder { color: rgba(250,246,240,0.5); }

.newsletter__submit {

  padding: 14px 24px;

  background: var(--color-gold);

  color: var(--color-dark);

  border: 1px solid var(--color-gold);

  font-family: var(--font-body);

  font-size: 0.8rem;

  font-weight: 600;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  cursor: pointer;

  border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0;

  transition: all var(--transition-base);

}

.newsletter__submit:hover { background: transparent; color: var(--color-gold); }

@media (max-width: 600px) {

  .newsletter__form { flex-direction: column; gap: 12px; }

  .newsletter__input { border-radius: var(--border-radius-sm); }

  .newsletter__submit { border-radius: var(--border-radius-sm); }

}



/* ============================================================

   FOOTER

   ============================================================ */

.site-footer {

  background: var(--color-dark);

  color: var(--color-cream);

  padding: var(--spacing-xl) 0 var(--spacing-md);

}

.footer__grid {

  display: grid;

  grid-template-columns: 1.5fr 1fr 1fr 1fr;

  gap: var(--spacing-lg);

  padding-bottom: var(--spacing-lg);

  border-bottom: 1px solid rgba(250,246,240,0.1);

}

.footer__brand-logo { max-width: 180px; margin-bottom: var(--spacing-sm); }

.footer__tagline { font-size: 0.9rem; opacity: 0.8; max-width: 320px; }

.footer__socials { display: flex; gap: 12px; margin-top: var(--spacing-sm); }

.footer__social-link {

  width: 44px; height: 44px;

  display: inline-flex; align-items: center; justify-content: center;

  border: 1px solid rgba(250,246,240,0.2);

  border-radius: 50%;

  color: var(--color-cream);

  transition: all var(--transition-base);

}

.footer__social-link:hover { color: var(--color-gold); border-color: var(--color-gold); }

.footer__col-title {

  font-family: var(--font-body);

  font-size: 0.8rem;

  font-weight: 600;

  letter-spacing: 0.15em;

  text-transform: uppercase;

  color: var(--color-gold);

  margin-bottom: var(--spacing-sm);

}

.footer__col ul { list-style: none; padding: 0; }

.footer__col li { margin-bottom: 8px; }

.footer__col a, .footer__col span {

  font-size: 0.875rem;

  color: var(--color-cream);

  opacity: 0.8;

  transition: color var(--transition-base);

}

.footer__col a:hover { color: var(--color-gold); opacity: 1; }

.footer__bottom {

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: var(--spacing-sm);

  padding-top: var(--spacing-md);

  font-size: 0.8rem;

  opacity: 0.7;

}

.footer__payments { display: flex; gap: 12px; align-items: center; }

.footer__payments span {

  font-size: 0.7rem;

  padding: 4px 8px;

  border: 1px solid rgba(250,246,240,0.2);

  border-radius: 2px;

  letter-spacing: 0.05em;

}

@media (max-width: 768px) {

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

  .footer__bottom { justify-content: center; text-align: center; }

}



/* ============================================================

   ANNOUNCEMENT BAR

   ============================================================ */

.announcement-bar {

  background: var(--color-dark);

  color: var(--color-cream);

  height: 40px;

  display: flex;

  align-items: center;

  justify-content: center;

  position: relative;

  font-size: 0.75rem;

  letter-spacing: 0.05em;

  overflow: hidden;

}

.announcement-bar__message {

  position: absolute;

  left: 50%;

  transform: translateX(-50%);

  white-space: nowrap;

  opacity: 0;

  transition: opacity 0.4s ease;

  padding: 0 40px;

  text-align: center;

}

.announcement-bar__message.is-active { opacity: 1; }

.announcement-bar__message strong { color: var(--color-gold); font-weight: 600; }

.announcement-bar__close {

  position: absolute;

  right: 12px;

  top: 50%;

  transform: translateY(-50%);

  background: none;

  border: none;

  color: var(--color-cream);

  font-size: 1.1rem;

  cursor: pointer;

  padding: 4px 8px;

  opacity: 0.7;

  z-index: 2;

}

.announcement-bar__close:hover { opacity: 1; }

@media (min-width: 768px) {

  .announcement-bar { height: 44px; font-size: 0.8rem; }

}



/* ============================================================

   HEADER (override Dawn)

   ============================================================ */

.lemich-header {

  position: sticky;

  top: 0;

  z-index: 100;

  background: var(--color-white);

  border-bottom: 1px solid var(--color-border);

  transition: box-shadow var(--transition-base);

}

.lemich-header.is-scrolled { box-shadow: var(--shadow-sm); }

.lemich-header__inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  height: 64px;

  padding: 0 var(--container-padding);

  max-width: var(--container-max);

  margin: 0 auto;

}

.lemich-header__logo img { max-height: 40px; width: auto; }

.lemich-header__nav {

  display: none;

  align-items: center;

  gap: var(--spacing-md);

}

.lemich-header__nav-link {

  font-family: var(--font-body);

  font-size: 0.85rem;

  font-weight: 500;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: var(--color-dark);

  padding: 8px 0;

  position: relative;

}

.lemich-header__nav-link::after {

  content: '';

  position: absolute;

  left: 0; right: 0; bottom: 0;

  height: 1px;

  background: var(--color-gold);

  transform: scaleX(0);

  transform-origin: center;

  transition: transform var(--transition-base);

}

.lemich-header__nav-link:hover::after { transform: scaleX(1); }

.lemich-header__icons { display: flex; align-items: center; gap: 12px; }

.lemich-header__icon-btn {

  background: none;

  border: none;

  color: var(--color-dark);

  cursor: pointer;

  padding: 11px;

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-width: 44px;

  min-height: 44px;

}

.lemich-header__icon-btn:hover { color: var(--color-gold); }

.lemich-header__cart-count,

.lemich-header__wishlist-count {

  position: absolute;

  top: -2px; right: -4px;

  background: var(--color-gold);

  color: var(--color-white);

  border-radius: 50%;

  font-size: 0.65rem;

  font-weight: 600;

  min-width: 16px; height: 16px;

  display: inline-flex; align-items: center; justify-content: center;

  padding: 0 4px;

}

.lemich-header__hamburger { display: inline-flex; }

@media (min-width: 1024px) {

  .lemich-header__nav { display: flex; }

  .lemich-header__hamburger { display: none; }

  .lemich-header__inner { height: 72px; }

}



/* Mobile drawer */

.lemich-drawer {

  position: fixed;

  top: 0; left: 0;

  width: 100%; max-width: 320px;

  height: 100vh;

  background: var(--color-white);

  z-index: 200;

  transform: translateX(-100%);

  transition: transform 0.3s ease;

  display: flex;

  flex-direction: column;

}

.lemich-drawer.is-open { transform: translateX(0); }

.lemich-drawer__header {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 16px 20px;

  border-bottom: 1px solid var(--color-border);

  min-height: 60px;

}

.lemich-drawer__close {

  background: none;

  border: none;

  color: var(--color-dark);

  font-size: 1.5rem;

  cursor: pointer;

  padding: 8px;

  margin: -8px;

}

.lemich-drawer__nav { flex: 1; overflow-y: auto; padding: 8px 0; }

.lemich-drawer__nav-link {

  display: flex;

  align-items: center;

  padding: 16px 20px;

  font-family: var(--font-body);

  font-size: 1rem;

  font-weight: 500;

  color: var(--color-dark);

  border-bottom: 1px solid var(--color-border);

  text-decoration: none;

}

.lemich-drawer__nav-link:hover { color: var(--color-gold); }

.lemich-drawer__sub-trigger {

  display: flex; justify-content: space-between; align-items: center;

  width: 100%;

  padding: 16px 20px;

  font-family: var(--font-body);

  font-size: 1rem;

  font-weight: 500;

  color: var(--color-dark);

  background: none;

  border: none;

  border-bottom: 1px solid var(--color-border);

  cursor: pointer;

  text-align: left;

}

.lemich-drawer__sub-trigger::after { content: '+'; font-size: 1.2rem; transition: transform 0.3s ease; }

.lemich-drawer__sub-trigger.is-open::after { transform: rotate(45deg); }

.lemich-drawer__sub { display: none; padding-left: 16px; background: var(--color-cream); }

.lemich-drawer__sub.is-open { display: block; }

.lemich-drawer__sub a {

  display: block;

  padding: 12px 16px;

  font-size: 0.9rem;

  color: var(--color-text-light);

  border-bottom: 1px solid var(--color-border);

  text-decoration: none;

}

.lemich-drawer__sub a:hover { color: var(--color-gold); }

.lemich-drawer__footer {

  display: flex;

  gap: 12px;

  padding: 16px 20px;

  border-top: 1px solid var(--color-border);

  flex-wrap: wrap;

}

.lemich-drawer__footer a {

  flex: 1;

  min-width: 120px;

  text-align: center;

  padding: 12px 8px;

  border: 1px solid var(--color-border);

  border-radius: var(--border-radius-sm);

  font-size: 0.75rem;

  color: var(--color-dark);

  text-transform: uppercase;

  letter-spacing: 0.05em;

  text-decoration: none;

}

.lemich-drawer__footer a:hover { border-color: var(--color-gold); color: var(--color-gold); }



/* Mobile drawer background */

.lemich-overlay {

  position: fixed; inset: 0;

  background: rgba(0,0,0,0.5);

  z-index: 150;

  opacity: 0;

  pointer-events: none;

  transition: opacity 0.3s ease;

}

.lemich-overlay.is-active { opacity: 1; pointer-events: auto; }



/* Cart drawer (right) */

.lemich-cart-drawer {

  position: fixed;

  top: 0; right: 0;

  width: 100%; max-width: 420px;

  height: 100vh;

  background: var(--color-white);

  z-index: 200;

  transform: translateX(100%);

  transition: transform 0.3s ease;

  display: flex;

  flex-direction: column;

}

.lemich-cart-drawer.is-open { transform: translateX(0); }



/* ============================================================

   PDP (Product Detail Page)

   ============================================================ */

.pdp {

  display: grid;

  grid-template-columns: 55% 45%;

  gap: var(--spacing-lg);

  padding: var(--spacing-lg) 0;

}

.pdp__gallery { position: sticky; top: 100px; align-self: start; }

.pdp__main-image-wrap {

  aspect-ratio: 1;

  background: var(--color-white);

  border-radius: var(--border-radius-md);

  overflow: hidden;

  margin-bottom: 12px;

  cursor: zoom-in;

}

.pdp__main-image { width: 100%; height: 100%; object-fit: cover; }

.pdp__thumbs { display: flex; gap: 8px; overflow-x: auto; }

.pdp__thumb {

  flex: 0 0 80px;

  aspect-ratio: 1;

  background: var(--color-white);

  border: 1px solid var(--color-border);

  border-radius: var(--border-radius-sm);

  overflow: hidden;

  cursor: pointer;

  padding: 0;

}

.pdp__thumb.is-active { border-color: var(--color-gold); }

.pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }

.pdp__info { padding: 0; }

.pdp__title { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: var(--spacing-sm); }

.pdp__badges { display: flex; gap: 8px; margin-bottom: var(--spacing-sm); }

.pdp__price-row {

  display: flex;

  align-items: baseline;

  gap: var(--spacing-sm);

  margin-bottom: var(--spacing-xs);

}

.price-compare { color: var(--color-text-light); text-decoration: line-through; }

.price-current { font-family: var(--font-heading); font-size: 1.75rem; color: var(--color-dark); }

.msi-text { font-size: 0.9rem; color: var(--color-text-light); margin-bottom: var(--spacing-md); }

.pdp__guarantee {

  background: var(--color-cream);

  padding: var(--spacing-sm);

  border-radius: var(--border-radius-md);

  font-size: 0.85rem;

  color: var(--color-dark);

  margin-bottom: var(--spacing-md);

  text-align: center;

}

.pdp__variants { margin-bottom: var(--spacing-md); }

.pdp__variant-label {

  font-size: 0.85rem;

  font-weight: 600;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  margin-bottom: 8px;

}

.pdp__qty-row { display: flex; gap: 12px; align-items: center; margin-bottom: var(--spacing-md); }

.pdp__atc-row { display: flex; flex-direction: column; gap: 8px; margin-bottom: var(--spacing-md); }

.pdp__atc-row .btn-primary, .pdp__atc-row .btn-secondary { width: 100%; }

.pdp__payments { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: var(--spacing-md); }

.pdp__payments span {

  font-size: 0.7rem;

  padding: 4px 10px;

  border: 1px solid var(--color-border);

  border-radius: 2px;

  letter-spacing: 0.05em;

  color: var(--color-text-light);

  background: var(--color-white);

}

.pdp__accordion { margin-top: var(--spacing-md); }

@media (max-width: 1024px) {

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

  .pdp__gallery { position: static; }

}



/* ============================================================

   STICKY ATC (móvil)

   ============================================================ */

.sticky-atc {

  position: fixed;

  bottom: 0; left: 0; right: 0;

  background: var(--color-white);

  border-top: 1px solid var(--color-border);

  z-index: 50;

  padding: 12px 16px;

  display: none;

  align-items: center;

  gap: 12px;

  box-shadow: 0 -2px 10px rgba(0,0,0,0.05);

}

.sticky-atc.is-visible { display: flex; }

.sticky-atc__image { width: 48px; height: 48px; border-radius: var(--border-radius-sm); object-fit: cover; }

.sticky-atc__info { flex: 1; min-width: 0; }

.sticky-atc__title { font-size: 0.8rem; font-weight: 600; color: var(--color-dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.sticky-atc__price { font-size: 0.85rem; color: var(--color-gold); font-weight: 600; }

.sticky-atc__btn { padding: 10px 20px; font-size: 0.8125rem; min-height: 44px; }

@media (min-width: 1024px) { .sticky-atc { display: none !important; } }



/* ============================================================

   COLECCIÓN (Filtros)

   ============================================================ */

.collection {

  display: grid;

  grid-template-columns: 280px 1fr;

  gap: var(--spacing-lg);

  padding: var(--spacing-md) 0;

}

.collection__sidebar { position: sticky; top: 100px; align-self: start; }

.collection__filter-block { border-bottom: 1px solid var(--color-border); padding: var(--spacing-sm) 0; }

.collection__filter-title {

  font-size: 0.85rem;

  font-weight: 600;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  margin-bottom: 12px;

  color: var(--color-dark);

}

.collection__filter-list { list-style: none; padding: 0; }

.collection__filter-list li { margin-bottom: 6px; }

.collection__filter-list label {

  display: flex; align-items: center; gap: 8px;

  font-size: 0.875rem;

  color: var(--color-text-light);

  cursor: pointer;

}

.collection__filter-list input[type="checkbox"] { accent-color: var(--color-gold); }

.collection__sort-row {

  display: flex;

  justify-content: flex-end;

  align-items: center;

  margin-bottom: var(--spacing-md);

  gap: 12px;

}

.collection__sort-select {

  padding: 8px 12px;

  border: 1px solid var(--color-border);

  background: var(--color-white);

  font-family: var(--font-body);

  font-size: 0.85rem;

  color: var(--color-dark);

  border-radius: var(--border-radius-sm);

}

.collection__grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: var(--spacing-md);

}

@media (max-width: 1024px) {

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

  .collection__sidebar { display: none; }

  .collection__sidebar.is-open { display: block; }

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

}

@media (max-width: 767px) {

  .collection__grid {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 12px !important;

    width: 100% !important;

    box-sizing: border-box !important;

  }

  .collection__grid .product-card,

  .product-card {

    min-width: 0 !important;

    width: 100% !important;

    max-width: 100% !important;

    box-sizing: border-box !important;

  }

}



/* ============================================================

   BLOG

   ============================================================ */

.blog-index__header {

  text-align: center;

  padding: var(--spacing-xl) 0;

  background: var(--color-dark);

  color: var(--color-cream);

}

.blog-index__header h1 { color: var(--color-cream); }

.blog-index__header p { color: var(--color-cream); opacity: 0.8; }

.blog-index__grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: var(--spacing-md);

  padding: var(--spacing-lg) 0;

}

@media (max-width: 768px) { .blog-index__grid { grid-template-columns: 1fr; } }



.article__hero {

  width: 100%;

  height: 400px;

  object-fit: cover;

}

.article__content {

  max-width: 760px;

  margin: 0 auto;

  padding: var(--spacing-lg) var(--container-padding);

}

.article__content h2 {

  font-size: 1.75rem;

  margin: var(--spacing-md) 0 var(--spacing-sm);

}

.article__content p { margin-bottom: var(--spacing-sm); }

.article__content img { width: 100%; border-radius: var(--border-radius-md); margin: var(--spacing-md) 0; }

.article__meta {

  display: flex;

  gap: 12px;

  font-size: 0.85rem;

  color: var(--color-text-light);

  margin-bottom: var(--spacing-md);

  flex-wrap: wrap;

}

.article__toc {

  background: var(--color-cream);

  padding: var(--spacing-sm);

  border-radius: var(--border-radius-md);

  margin-bottom: var(--spacing-md);

}

.article__toc-title {

  font-size: 0.85rem;

  font-weight: 600;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  margin-bottom: 8px;

}

.article__toc ul { list-style: none; padding: 0; }

.article__toc li { padding: 4px 0; }

.article__toc a { font-size: 0.85rem; color: var(--color-text-light); }

.article__toc a:hover { color: var(--color-gold); }



/* ============================================================

   ORDER TIMELINE

   ============================================================ */

.order-timeline {

  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  position: relative;

  margin: var(--spacing-md) 0;

}

.order-timeline::before {

  content: '';

  position: absolute;

  top: 16px; left: 16px; right: 16px;

  height: 2px;

  background: var(--color-border);

  z-index: 0;

}

.order-timeline__progress {

  position: absolute;

  top: 16px; left: 16px;

  height: 2px;

  background: var(--color-gold);

  z-index: 1;

  transition: width 0.4s ease;

}

.order-timeline__step {

  position: relative;

  z-index: 2;

  flex: 1;

  text-align: center;

}

.order-timeline__circle {

  width: 32px; height: 32px;

  border-radius: 50%;

  background: var(--color-white);

  border: 2px solid var(--color-border);

  margin: 0 auto 8px;

  display: flex; align-items: center; justify-content: center;

  font-size: 0.9rem;

  color: var(--color-border);

  transition: all 0.3s ease;

}

.order-timeline__step.is-completed .order-timeline__circle {

  background: var(--color-gold);

  border-color: var(--color-gold);

  color: var(--color-white);

}

.order-timeline__step.is-current .order-timeline__circle {

  border-color: var(--color-gold);

  color: var(--color-dark);

  animation: pulse 1.5s ease infinite;

}

@keyframes pulse {

  0%, 100% { box-shadow: 0 0 0 0 rgba(201, 169, 110, 0.5); }

  50% { box-shadow: 0 0 0 8px rgba(201, 169, 110, 0); }

}

.order-timeline__label {

  font-size: 0.75rem;

  color: var(--color-text-light);

  letter-spacing: 0.05em;

  text-transform: uppercase;

}

.order-timeline__step.is-completed .order-timeline__label,

.order-timeline__step.is-current .order-timeline__label { color: var(--color-dark); font-weight: 600; }



/* ============================================================

   RATING STARS

   ============================================================ */

.rating-stars { display: inline-flex; align-items: center; gap: 2px; color: var(--color-gold); font-size: 0.85rem; letter-spacing: 1px; }

.rating-stars__count { color: var(--color-text-light); margin-left: 6px; font-size: 0.8rem; }

.rating-stars--empty { color: var(--color-border); }



/* ============================================================

   TRUST BADGES (PDP)

   ============================================================ */

.trust-badges {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: var(--spacing-md);

  text-align: center;

  padding: var(--spacing-md) 0;

  border-top: 1px solid var(--color-border);

  border-bottom: 1px solid var(--color-border);

  margin: var(--spacing-md) 0;

}

.trust-badges__item { font-size: 0.85rem; }

.trust-badges__icon { font-size: 1.5rem; margin-bottom: 6px; }

.trust-badges__title { font-weight: 600; color: var(--color-dark); margin-bottom: 4px; }

.trust-badges__text { color: var(--color-text-light); font-size: 0.78rem; }

@media (max-width: 768px) { .trust-badges { grid-template-columns: 1fr 1fr; } }



/* ============================================================

   WISHLIST PAGE

   ============================================================ */

.wishlist-page__empty {

  text-align: center;

  padding: var(--spacing-xl) 0;

}

.wishlist-page__grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: var(--spacing-md);

  padding: var(--spacing-md) 0;

}

@media (max-width: 768px) { .wishlist-page__grid { grid-template-columns: 1fr 1fr; } }



/* ============================================================

   CUSTOMER ACCOUNT

   ============================================================ */

.account-layout {

  display: grid;

  grid-template-columns: 240px 1fr;

  gap: var(--spacing-lg);

  padding: var(--spacing-md) 0;

}

.account-layout__nav { list-style: none; padding: 0; }

.account-layout__nav li { margin-bottom: 4px; }

.account-layout__nav a {

  display: block;

  padding: 10px 14px;

  font-size: 0.875rem;

  color: var(--color-dark);

  border-radius: var(--border-radius-sm);

  transition: all var(--transition-base);

}

.account-layout__nav a:hover,

.account-layout__nav a.is-active {

  background: var(--color-cream);

  color: var(--color-gold);

}

@media (max-width: 768px) { .account-layout { grid-template-columns: 1fr; } }



/* ============================================================

   FORMS (Login, Verify, etc.)

   ============================================================ */

.lemich-form {

  max-width: 440px;

  margin: 0 auto;

  background: var(--color-white);

  border-radius: var(--border-radius-md);

  padding: var(--spacing-md);

  box-shadow: var(--shadow-sm);

}

.lemich-form h2 { text-align: center; margin-bottom: var(--spacing-md); }

.lemich-form__group { margin-bottom: var(--spacing-sm); }

.lemich-form__label {

  display: block;

  font-size: 0.8rem;

  font-weight: 600;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  margin-bottom: 6px;

  color: var(--color-dark);

}

.lemich-form__input {

  width: 100%;

  padding: 12px 14px;

  border: 1px solid var(--color-border);

  border-radius: var(--border-radius-sm);

  font-family: var(--font-body);

  font-size: 0.95rem;

  color: var(--color-dark);

  background: var(--color-white);

  transition: border-color var(--transition-base);

}

.lemich-form__input:focus { outline: none; border-color: var(--color-gold); }

.lemich-form__submit { width: 100%; }

.lemich-form__links { text-align: center; margin-top: var(--spacing-sm); font-size: 0.875rem; }

.lemich-form__links a { color: var(--color-gold); }



/* ============================================================

   VERIFY ORDER

   ============================================================ */

.verify-order { max-width: 560px; margin: 0 auto; text-align: center; padding: var(--spacing-md) 0; }

.verify-order__form { background: var(--color-white); padding: var(--spacing-md); border-radius: var(--border-radius-md); box-shadow: var(--shadow-sm); }

.verify-order__result, .verify-order__error { margin-top: var(--spacing-md); padding: var(--spacing-md); border-radius: var(--border-radius-md); }

.verify-order__result { background: var(--color-white); border: 1px solid var(--color-border); }

.verify-order__error { background: #fdf3f2; color: var(--color-error); border: 1px solid #f5c6c2; }

.verify-order__help { margin-top: var(--spacing-md); font-size: 0.9rem; }

.verify-order__help a { color: var(--color-gold); }



/* ============================================================

   FOOTER PAYMENT ICONS

   ============================================================ */

.footer__payments {

  display: flex;

  align-items: center;

  gap: var(--spacing-sm);

  flex-wrap: wrap;

}

.footer__payment-label {

  font-size: 0.75rem;

  color: var(--color-text-light);

  margin-right: var(--spacing-xs);

}

.footer__payment-icon {

  width: 50px;

  height: 35px;

  border-radius: 4px;

  flex-shrink: 0;

}



/* ============================================================

   PDP PAYMENT BADGES

   ============================================================ */

.pdpx-payments {

  display: flex;

  align-items: center;

  gap: 6px;

  flex-wrap: wrap;

  margin-bottom: var(--spacing-sm);

}

.pdpx-pay-badge {

  width: 38px;

  height: 24px;

  border-radius: 3px;

  flex-shrink: 0;

}



/* ============================================================

   PDP ACCORDIONS — Especificaciones y Materiales premium

   ============================================================ */

.pdpx-accordions {

  display: flex;

  flex-direction: column;

  border-top: 1px solid var(--color-border);

  margin-top: var(--spacing-md);

}



.pdpx-accordion {

  border-bottom: 1px solid var(--color-border);

}



.pdpx-accordion summary {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 18px 0;

  cursor: pointer;

  list-style: none;

  font-family: var(--font-heading);

  font-size: 1.05rem;

  font-weight: 500;

  color: var(--color-dark);

  letter-spacing: 0.02em;

  transition: color 0.3s ease;

  gap: 16px;

  user-select: none;

}



.pdpx-accordion summary::-webkit-details-marker { display: none; }



.pdpx-accordion summary:hover { color: var(--color-gold); }



.pdpx-accordion summary svg {

  flex-shrink: 0;

  color: var(--color-gold);

  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);

  opacity: 0.7;

}



.pdpx-accordion[open] summary svg { transform: rotate(180deg); }



/* Accordion body — animated open/close */

.pdpx-accordion > .pdpx-accordion-body {

  display: grid;

  grid-template-rows: 0fr;

  transition: grid-template-rows 0.4s cubic-bezier(0.16, 1, 0.3, 1);

  overflow: hidden;

}



.pdpx-accordion[open] > .pdpx-accordion-body {

  grid-template-rows: 1fr;

}



.pdpx-accordion > .pdpx-accordion-body > * {

  min-height: 0;

  overflow: hidden;

}



.pdpx-accordion-body {

  padding-bottom: 20px;

}



/* ---- Especificaciones Técnicas — dimensión grid ---- */

.pdpx-dimensions {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 12px 32px;

}



@media (max-width: 480px) {

  .pdpx-dimensions { grid-template-columns: 1fr; }

}



.pdpx-dimension-row {

  display: flex;

  align-items: baseline;

  justify-content: space-between;

  padding: 10px 0;

  border-bottom: 1px solid var(--color-border);

  gap: 16px;

}



.pdpx-dimension-row:last-child { border-bottom: none; }



.pdpx-dimension-label {

  font-family: var(--font-body);

  font-size: 0.78rem;

  font-weight: 500;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: var(--color-text-light);

  flex-shrink: 0;

}



.pdpx-dimension-value {

  font-family: var(--font-heading);

  font-size: 1.1rem;

  font-weight: 500;

  color: var(--color-dark);

  text-align: right;

  letter-spacing: 0.01em;

}



/* ---- Materiales y acabados — elegante card ---- */

.pdpx-accordion-body .pdpx-dimension-row {

  flex-direction: column;

  align-items: flex-start;

  gap: 6px;

  padding: 14px 0;

  border-bottom: 1px solid var(--color-border);

  border-radius: 0;

}



.pdpx-accordion-body .pdpx-dimension-row:last-child { border-bottom: none; }



.pdpx-accordion-body .pdpx-dimension-label {

  font-size: 0.7rem;

  color: var(--color-gold);

  letter-spacing: 0.25em;

}



.pdpx-accordion-body .pdpx-dimension-value {

  font-family: var(--font-heading);

  font-size: 1rem;

  font-weight: 400;

  color: var(--color-dark);

  line-height: 1.5;

  letter-spacing: 0.01em;

}



/* ============================================================

   PDP DESCRIPCION — above the fold

   ============================================================ */

.pdp-description {

  padding: var(--spacing-xl) 0;

  border-top: 1px solid var(--color-border);

}



.pdp-description__inner { max-width: 720px; }



.pdp-description__heading {

  font-family: var(--font-heading);

  font-size: clamp(1.5rem, 3vw, 2.2rem);

  font-weight: 400;

  color: var(--color-dark);

  letter-spacing: -0.01em;

  margin-bottom: var(--spacing-md);

}



.pdp-description__body { font-size: 1rem; line-height: 1.8; color: var(--color-text-light); }

.pdp-description__body p { margin-bottom: 1em; }

.pdp-description__body ul { padding-left: 1.5em; margin-bottom: 1em; }

.pdp-description__body li { margin-bottom: 0.4em; }

.pdp-description__body strong { color: var(--color-dark); font-weight: 600; }

.pdp-description__body h3 { font-family: var(--font-heading); font-size: 1.3rem; margin: 1.5em 0 0.5em; color: var(--color-dark); }



/* ============================================================

   PDP LONGFORM EDITORIAL — historia de la colección

   ============================================================ */

.pdp-longform {

  padding: var(--spacing-xl) 0 var(--spacing-xxl);

}



.pdp-longform__section {

  padding: var(--spacing-xl) 0;

  border-top: 1px solid var(--color-border);

}



/* Editorial Blocks — 2-col image + text alternating */

.lemich-editorial-blocks {

  display: flex;

  flex-direction: column;

  gap: var(--spacing-xl);

  margin-bottom: var(--spacing-xl);

}



.lemich-editorial-block {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: var(--spacing-xl);

  align-items: center;

  opacity: 0;

  transform: translateY(32px);

  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);

}



.lemich-editorial-block.is-visible {

  opacity: 1;

  transform: translateY(0);

}



.lemich-editorial-block--reverse {

  direction: ltr;

}

.lemich-editorial-block--reverse .editorial-block__image-wrap {

  order: 2;

}

.lemich-editorial-block--reverse .editorial-block__content {

  order: 1;

}



@media (max-width: 768px) {

  .lemich-editorial-block,

  .lemich-editorial-block--reverse {

    grid-template-columns: 1fr;

  }

  .lemich-editorial-block--reverse .editorial-block__image-wrap,

  .lemich-editorial-block--reverse .editorial-block__content {

    order: unset;

  }

}



.editorial-block__image-wrap {

  position: relative;

  aspect-ratio: 4/5;

  overflow: hidden;

  background: var(--color-border);

}



.editorial-block__image {

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);

}



.lemich-editorial-block:hover .editorial-block__image { transform: scale(1.04); }



.editorial-block__content {

  padding: var(--spacing-md) 0;

}



.editorial-block__eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  font-family: var(--font-body);

  font-size: 0.7rem;

  font-weight: 600;

  letter-spacing: 0.3em;

  text-transform: uppercase;

  color: var(--color-gold);

  margin-bottom: var(--spacing-md);

}



.editorial-block__eyebrow::before {

  content: "";

  display: inline-block;

  width: 32px;

  height: 1px;

  background: var(--color-gold);

  flex-shrink: 0;

}



.editorial-block__title {

  font-family: var(--font-heading);

  font-size: clamp(1.8rem, 3vw, 2.8rem);

  font-weight: 400;

  line-height: 1.1;

  letter-spacing: -0.01em;

  color: var(--color-dark);

  margin: 0 0 var(--spacing-md);

}



.editorial-block__text {

  font-size: 1rem;

  line-height: 1.8;

  color: var(--color-text-light);

  max-width: 480px;

}



.editorial-block__text p { margin-bottom: 1em; }

.editorial-block__text p:last-child { margin-bottom: 0; }



/* ============================================================

   MOBILE COLLECTION PAGE FIXES

   ============================================================ */

@media (max-width: 767px) {

  .facet-filters {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    padding: 12px 0;

    align-items: center;

  }



  .facet-filters button {

    margin-left: 0 !important;

    padding: 10px 16px !important;

    font-size: 0.75rem !important;

    border: 1px solid var(--color-border) !important;

    background: var(--color-white) !important;

    color: var(--color-dark) !important;

    border-radius: 4px !important;

    display: flex !important;

    align-items: center !important;

    gap: 6px !important;

  }



  .facet-filters button svg {

    width: 14px !important;

    height: 14px !important;

  }



  .facet-filters__field {

    flex: 1;

    min-width: 0;

  }



  .facet-filters__sort {

    width: 100%;

    font-size: 0.85rem !important;

    padding: 10px 12px !important;

    border: 1px solid var(--color-border) !important;

    background: var(--color-white) !important;

    border-radius: 4px !important;

  }



  .collection__product-count {

    width: 100%;

    text-align: center;

    font-size: 0.8rem;

    color: var(--color-text-light);

    padding: 8px 0;

  }



  .product-grid {

    display: grid !important;

    grid-template-columns: repeat(2, 1fr) !important;

    gap: 12px !important;

  }



  .product-grid .grid__item {

    min-width: 0;

  }



  .product-card {

    margin-bottom: 0;

  }



  .product-card__info {

    padding: 12px 0 20px !important;

  }



  .product-card__title {

    font-size: 0.85rem !important;

    line-height: 1.3;

  }



  .product-card__price {

    font-size: 0.9rem;

  }



  /* PDP Payment badges smaller on mobile */

  .pdpx-payments {

    gap: 6px !important;

  }



  .pdpx-pay-badge {

    width: 32px !important;

    height: 20px !important;

    flex-shrink: 0;

  }

}



/* Mobile product card text truncation */

@media (max-width: 767px) {

  .product-card__title {

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

  }



  .product-card .card__information {

    padding: 12px 0;

  }



  /* Force 2 columns on all product grids - search, collection, etc. */

  .product-grid,

  .grid.product-grid,

  .template-search .grid.product-grid,

  .collection .grid.product-grid {

    display: grid !important;

    grid-template-columns: repeat(2, 1fr) !important;

    gap: 12px !important;

  }



  .product-grid .grid__item,

  .grid.product-grid .grid__item {

    min-width: 0;

    width: 100% !important;

    max-width: 100% !important;

  }

}



/* ============================================================

   LEMICH BRANDKIT 2026 — STYLES & CRO EXTENSIONS

   ============================================================ */



/* 1. Typography Hierarchy */

.pdpx-title,

.section-title,

.hero__title,

h1, h2 {

  font-family: var(--font-heading), Georgia, serif !important;

  font-weight: 400 !important;

  letter-spacing: -0.01em;

}



body, p, button, input, select, a {

  font-family: var(--font-body), sans-serif;

}



.pdpx-dimension-value,

.pdpx-sku,

.technical-spec {

  font-family: var(--font-mono), monospace !important;

}



/* 2. Brandkit Social Proof Badge */

.pdpx-brandkit-social-proof {

  display: flex;

  align-items: center;

  gap: 6px;

  margin-top: 6px;

  font-size: 0.85rem;

}



.pdpx-stars {

  color: #D4A373;

  letter-spacing: 2px;

}



.pdpx-rating-num {

  font-weight: 700;

  color: var(--color-dark);

}



.pdpx-rating-label {

  color: var(--color-text-light);

}



/* 3. SPEI / Transfer (-5% OFF) Badge */

.pdpx-spei-row {

  display: flex;

  align-items: center;

  justify-content: space-between;

  background: rgba(166, 118, 104, 0.08);

  border: 1px solid rgba(166, 118, 104, 0.25);

  padding: 8px 14px;

  border-radius: 4px;

  margin-top: 10px;

  font-size: 0.85rem;

}



.pdpx-spei-text {

  color: var(--color-dark);

}



.pdpx-spei-tag {

  background: var(--color-rosa-morada);

  color: #FFFFFF;

  font-weight: 700;

  font-size: 0.72rem;

  padding: 2px 7px;

  border-radius: 3px;

  letter-spacing: 0.04em;

}



/* 4. Micro Trust Bar */

.pdpx-micro-trust-bar {

  display: flex;

  align-items: center;

  gap: 8px;

  font-size: 0.82rem;

  color: var(--color-text-light);

  margin-top: 12px;

  padding: 8px 12px;

  background: rgba(243, 238, 229, 0.6);

  border-radius: 4px;

}



.pdpx-trust-dot {

  color: var(--color-gold);

}



/* 5. Primary CTA (Arcilla) & Buy Now Button */

.pdpx-atc {

  background: var(--color-arcilla) !important;

  color: #FFFFFF !important;

  border: none !important;

  border-radius: 4px !important;

  font-weight: 600 !important;

  letter-spacing: 0.05em !important;

  text-transform: uppercase !important;

  font-size: 0.88rem !important;

  padding: 16px 24px !important;

  transition: background 0.25s ease, transform 0.15s ease !important;

}



.pdpx-atc:hover {

  background: #964833 !important;

}



.pdpx-buy-now {

  display: flex;

  align-items: center;

  justify-content: center;

  background: transparent;

  color: var(--color-dark);

  border: 1.5px solid var(--color-dark);

  border-radius: 4px;

  font-weight: 600;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  font-size: 0.85rem;

  padding: 14px 24px;

  text-decoration: none;

  transition: all 0.25s ease;

}



.pdpx-buy-now:hover {

  background: var(--color-dark);

  color: var(--color-cream);

}



/* 6. Kit de Muestras Card */

    min-width: 0;
  }

  .product-card {
    margin-bottom: 0;
  }

  .product-card__info {
    padding: 12px 0 20px !important;
  }

  .product-card__title {
    font-size: 0.85rem !important;
    line-height: 1.3;
  }

  .product-card__price {
    font-size: 0.9rem;
  }

  /* PDP Payment badges smaller on mobile */
  .pdpx-payments {
    gap: 6px !important;
  }

  .pdpx-pay-badge {
    width: 32px !important;
    height: 20px !important;
    flex-shrink: 0;
  }
}

/* Mobile product card text truncation */
@media (max-width: 767px) {
  .product-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-card .card__information {
    padding: 12px 0;
  }

  /* Force 2 columns on all product grids - search, collection, etc. */
  .product-grid,
  .grid.product-grid,
  .template-search .grid.product-grid,
  .collection .grid.product-grid,
  .collection__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .product-grid .grid__item,
  .grid.product-grid .grid__item,
  .collection__grid .product-card,
  .product-card {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ============================================================
   LEMICH BRANDKIT 2026 — STYLES & CRO EXTENSIONS
   ============================================================ */

/* 1. Typography Hierarchy */
.pdpx-title,
.section-title,
.hero__title,
h1, h2 {
  font-family: var(--font-heading), Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
}

body, p, button, input, select, a {
  font-family: var(--font-body), sans-serif;
}

.pdpx-dimension-value,
.pdpx-sku,
.technical-spec {
  font-family: var(--font-mono), monospace !important;
}

/* 2. Brandkit Social Proof Badge */
.pdpx-brandkit-social-proof {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 0.85rem;
}

.pdpx-stars {
  color: #D4A373;
  letter-spacing: 2px;
}

.pdpx-rating-num {
  font-weight: 700;
  color: var(--color-dark);
}

.pdpx-rating-label {
  color: var(--color-text-light);
}

/* 3. SPEI / Transfer (-5% OFF) Badge */
.pdpx-spei-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: rgba(166, 118, 104, 0.08);
  border: 1px solid rgba(166, 118, 104, 0.25);
  padding: 8px 14px;
  border-radius: 4px;
  margin-top: 10px;
  font-size: 0.85rem;
}

.pdpx-spei-text {
  color: var(--color-dark);
  font-size: 0.85rem;
  line-height: 1.3;
}

.pdpx-spei-tag {
  background: var(--color-rosa-morada);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.72rem;
  padding: 3px 8px;
  border-radius: 3px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  flex-shrink: 0;
}

@media (max-width: 480px) {
  .pdpx-spei-row {
    padding: 8px 10px !important;
  }
  .pdpx-spei-text {
    font-size: 0.78rem !important;
  }
  .pdpx-spei-tag {
    font-size: 0.68rem !important;
    padding: 2px 6px !important;
  }
}

/* 4. Micro Trust Bar */
.pdpx-micro-trust-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--color-text-light);
  margin-top: 12px;
  padding: 8px 12px;
  background: rgba(243, 238, 229, 0.6);
  border-radius: 4px;
}

.pdpx-trust-dot {
  color: var(--color-gold);
}

/* 5. Primary CTA (Arcilla) & Buy Now Button */
.pdpx-atc {
  background: var(--color-arcilla) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.88rem !important;
  padding: 16px 24px !important;
  transition: background 0.25s ease, transform 0.15s ease !important;
}

.pdpx-atc:hover {
  background: #964833 !important;
}

.pdpx-buy-now {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--color-dark) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--color-dark) !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
  padding: 14px 24px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.25s ease, opacity 0.25s ease !important;
}

.pdpx-buy-now:hover {
  background: #3D2D26 !important;
  color: #FFFFFF !important;
}

/* 6. Kit de Muestras Card */
.pdpx-swatch-kit-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--color-cream);
  border: 1px solid var(--color-gold);
  padding: 12px 16px;
  border-radius: 6px;
  margin-top: 16px;
  margin-bottom: 24px !important;
}

.pdpx-swatch-icon {
  font-size: 1.4rem;
}

.pdpx-swatch-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  font-size: 0.82rem;
  color: var(--color-dark);
}

.pdpx-swatch-link {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--color-arcilla);
  text-decoration: none;
  white-space: nowrap;
}

.pdpx-swatch-link:hover {
  text-decoration: underline;
}

/* 7. WhatsApp Query Separation */
.pdpx-whatsapp {
  margin-top: 16px !important;
  margin-bottom: 20px !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* 8. PDP Buy Actions Flex & Mobile Buy Now Button Stretch */
.pdpx-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.pdpx-atc {
  width: 100% !important;
  flex: 0 0 100% !important;
}

.pdpx-qty {
  flex: 0 0 auto;
}

.pdpx-buy-now {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  text-align: center !important;
  justify-content: center !important;
  display: inline-flex !important;
}

.pdpx-wishlist {
  flex: 0 0 auto;
}

/* 9. Mobile Header Break & Spacing Fixes */
@media (max-width: 767px) {
  .lemich-header {
    overflow: hidden !important;
    max-width: 100vw !important;
  }

  .lemich-header__inner {
    padding: 0 10px !important;
    height: 56px !important;
    gap: 6px !important;
  }

  .lemich-header__logo img {
    max-height: 30px !important;
    max-width: 120px !important;
    object-fit: contain !important;
  }

  .lemich-header__icons {
    gap: 2px !important;
    flex-shrink: 0 !important;
  }

  .lemich-header__icon-btn {
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 6px !important;
  }

  .lemich-header__icon-btn--desktop {
    display: none !important;
  }

  .lemich-header__cart-count,
  .lemich-header__wishlist-count {
    top: 2px !important;
    right: 2px !important;
  }

  .pdpx-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }

  .pdpx-atc {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  .pdpx-actions .pdpx-wishlist {
    display: none !important;
  }

  .pdpx-buy-now {
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 14px 16px !important;
  }
}


/* Fix: Badge de Descuento en Esquina Superior Izquierda (NUNCA tapado por Favoritos ni Entrega) */
.pdpx-badge--sale {
  left: 16px !important;
  right: auto !important;
  top: 16px !important;
  z-index: 11 !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
}

@media (max-width: 767px) {
  .pdpx-badge--sale {
    left: 12px !important;
    right: auto !important;
    top: 12px !important;
    font-size: 0.72rem !important;
    padding: 5px 10px !important;
    z-index: 11 !important;
  }
}

/* 10. Floating Wishlist Heart Badge on Photo Stage */
.pdpx-wishlist-stage {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 12;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid var(--color-border);
  color: var(--color-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(36, 28, 24, 0.12);
  transition: all 0.25s ease;
  padding: 0;
}

.pdpx-wishlist-stage:hover,
.pdpx-wishlist-stage.is-in-wishlist {
  background: #FFFFFF;
  color: var(--color-arcilla);
  border-color: var(--color-arcilla);
  transform: scale(1.08);
}

/* Delivery badge offset so it never overlaps the wishlist heart circle */
.pdpx-badge--delivery {
  right: 68px !important;
  top: 16px !important;
}

@media (max-width: 767px) {
  .pdpx-badge--delivery {
    right: 60px !important;
    top: 12px !important;
    font-size: 0.7rem !important;
    padding: 4px 8px !important;
  }
  .pdpx-wishlist-stage {
    top: 12px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
  }
}

.pdpx-actions .pdpx-wishlist {
  display: none !important;
}

