/* =========================================================
   ALMARA+  ·  MAIN.CSS
   Marca: negro + dorado  ·  Talles reales para mujeres auténticas
   ========================================================= */

/* ---------- 1) VARIABLES & RESET ---------- */

:root{
  /* BRAND COLORS */
  --gold:          #C9A548;   /* Dorado Almara (primario) */
  --black:         #000000;   /* Negro profundo (fondo premium) */
  --black-soft:    #111111;   /* Texto principal */

  /* NEUTRALS */
  --gray-carbon:   #2C2C2C;
  --gray-medium:   #8A8A8A;
  --gray-soft:     #F4F3EF;

  /* ACCENTS */
  --royal-blue:    #1F3F7A;   /* Acento de contraste */
  --blush:         #E9D9C3;   /* Fondo suave femenino */

  /* BASE UI */
  --bg:            var(--gray-soft);
  --surface:       #ffffff;
  --surface-2:     #F7F6F3;
  --text:          var(--black-soft);
  --muted:         var(--gray-medium);
  --primary:       var(--gold);
  --accent:        var(--royal-blue);
  --accent-soft:   var(--blush);
  --border:        #e5e7eb;

  /* RADIUS */
  --radius-xs: .4rem;
  --radius:    .8rem;
  --radius-lg: 1.2rem;

  /* SOMBRAS Y TRANSICIONES */
  --shadow:    0 6px 20px rgba(0,0,0,.12);
  --shadow-sm: 0 3px 10px rgba(0,0,0,.08);
  --ease:      cubic-bezier(.22,.61,.36,1);

  /* ANCHO CONTENEDOR */
  --max: 1200px;

  /* TIPOGRAFÍA FLUIDA */
  --fs-100: clamp(.78rem,.72rem + .2vw,.85rem);
  --fs-200: clamp(.9rem,.86rem + .2vw,.98rem);
  --fs-300: clamp(1rem,.96rem + .25vw,1.08rem);
  --fs-400: clamp(1.15rem,1.05rem + .5vw,1.35rem);
  --fs-500: clamp(1.35rem,1.2rem + .8vw,1.8rem);
  --fs-600: clamp(1.7rem,1.5rem + 1.2vw,2.4rem);

  /* ESPACIADOS */
  --sp-1: .35rem;
  --sp-2: .6rem;
  --sp-3: .9rem;
  --sp-4: 1.2rem;
  --sp-5: 1.6rem;
  --sp-6: 2rem;
  --sp-7: 2.6rem;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font:400 var(--fs-300)/1.5 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit}
input,select,textarea{font:inherit;color:inherit}

.container{
  max-width:var(--max);
  margin-inline:auto;
  padding-inline:1rem;
}

.hidden{display:none!important}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- 2) TOPBAR, HEADER, NAV ---------- */

.topbar{
  background:var(--black);
  color:var(--gold);
  font-size:var(--fs-100);
  text-align:center;
  padding:.35rem 1rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* HEADER */
.header{
  position:sticky;
  top:0;
  z-index:40;
  background:var(--surface);
  border-bottom:1px solid rgba(0,0,0,.06);
  box-shadow:0 4px 14px rgba(0,0,0,.03);
}
.header__inner{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:.7rem 1rem;
}
.header__logo img{height:32px}

.header__search{
  flex:1;
  display:flex;
  gap:.4rem;
  max-width:560px;
}
.header__search input{
  flex:1;
  padding:.55rem .8rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
}
.header__search input:focus{
  outline:2px solid rgba(201,165,72,.25);
  border-color:var(--gold);
}
.header__search button{
  width:40px;
  height:40px;
  border-radius:999px;
  border:none;
  background:var(--black);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.header__search button .search-icon{
  width:18px;
  height:18px;
  stroke:var(--gold);
  stroke-width:2.2;
  fill:none;
}

.header__actions{
  display:flex;
  align-items:center;
  gap:.9rem;
}
.header__link{
  font-size:var(--fs-200);
  color:var(--black-soft);
}
.header__link:hover{color:var(--gold)}

.cart-icon{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--gray-soft);
}
.cart-icon img{width:18px}
.cart-icon .badge{
  position:absolute;
  top:-6px;
  right:-6px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--gold);
  color:#000;
  font-size:.65rem;
  font-weight:700;
  display:grid;
  place-items:center;
}

/* ===== MOBILE HAMBURGER MENU ===== */
.mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  background:var(--black);
  border:none;
  border-radius:8px;
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:10px;
}
.mobile-menu-toggle span{
  display:block;
  width:22px;
  height:2.5px;
  background:var(--gold);
  border-radius:2px;
  transition:all .3s ease;
}
.mobile-menu-toggle.active span:nth-child(1){
  transform:rotate(45deg) translate(5px, 5px);
}
.mobile-menu-toggle.active span:nth-child(2){
  opacity:0;
}
.mobile-menu-toggle.active span:nth-child(3){
  transform:rotate(-45deg) translate(5px, -5px);
}

/* NAV */
.nav{
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.04);
}
.nav__inner{
  display:flex;
  gap:.8rem;
  padding:.55rem 1rem;
  overflow-x:auto;
}
.nav__item{
  font-size:var(--fs-200);
  color:var(--muted);
  padding:.3rem .7rem;
  border-radius:999px;
  white-space:nowrap;
}
.nav__item.active{
  background:var(--black);
  color:var(--gold);
}
.nav__item:hover:not(.active){
  background:rgba(0,0,0,.04);
  color:var(--black-soft);
}

/* HEADER RESPONSIVE */
@media (max-width: 850px){
  .header__inner{flex-wrap:wrap;row-gap:.5rem}
  .header__logo{order:1}
  .header__actions{order:2}
  .header__search{order:3;width:100%}
}

/* ===== MOBILE NAV (hamburger) ===== */
@media (max-width: 768px){
  .mobile-menu-toggle{
    display:flex;
  }
  .nav{
    position:fixed;
    top:0;
    left:-100%;
    width:85%;
    max-width:320px;
    height:100vh;
    background:var(--black);
    z-index:9998;
    transition:left .3s ease;
    padding-top:70px;
    box-shadow:4px 0 20px rgba(0,0,0,.3);
  }
  .nav.nav--open{
    left:0;
  }
  .nav__inner{
    flex-direction:column;
    gap:0;
    padding:1rem 0;
    overflow-x:visible;
    overflow-y:auto;
    height:calc(100% - 70px);
  }
  .nav__item{
    color:#fff;
    padding:1rem 1.5rem;
    border-radius:0;
    font-size:1rem;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav__item.active{
    background:var(--gold);
    color:var(--black);
  }
  .nav__item:hover:not(.active){
    background:rgba(255,255,255,.1);
    color:var(--gold);
  }
  /* Overlay */
  .nav-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
    z-index:9997;
  }
  .nav-overlay.active{
    display:block;
  }
}

/* ---------- 3) HERO ---------- */

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--sp-7) 1rem;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    135deg,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.35) 50%,
    rgba(0,0,0,.2) 100%
  );
  z-index:1;
}
.hero__content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:700px;
}
.hero__eyebrow{
  font-size:var(--fs-300);
  letter-spacing:.12em;
  color:var(--gold);
  text-transform:uppercase;
  font-weight:600;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
}
.hero__title{
  font-size:clamp(2rem, 5vw, 3.2rem);
  line-height:1.15;
  margin:.6rem 0 1rem;
  color:#fff;
  text-shadow:0 3px 12px rgba(0,0,0,.5);
}
.hero__text{
  color:rgba(255,255,255,.9);
  font-size:var(--fs-400);
  max-width:50ch;
  margin:0 auto;
  text-shadow:0 2px 6px rgba(0,0,0,.4);
}
.hero__actions{
  display:flex;
  gap:1rem;
  margin-top:1.5rem;
  justify-content:center;
}
.hero__actions .btn--ghost{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.5);
  color:#fff;
  backdrop-filter:blur(4px);
}
.hero__actions .btn--ghost:hover{
  background:rgba(255,255,255,.25);
  border-color:#fff;
}

@media (max-width:960px){
  .hero{
    min-height:100vh;
    padding:var(--sp-6) 1rem;
  }
  .hero__title{
    font-size:clamp(1.6rem, 4vw, 2.4rem);
  }
}

/* ---------- 4) BOTONES ---------- */

.btn{
  display:inline-block;
  border:1px solid transparent;
  border-radius:.7rem;
  padding:.6rem 1.05rem;
  font-weight:700;
  letter-spacing:.01em;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s, color .18s, border-color .18s;
  font-size:var(--fs-200);
}
.btn--primary{
  background:var(--gold);
  color:#000;
}
.btn--primary:hover{
  background:#b39340;
}
.btn--ghost{
  background:transparent;
  border-color:var(--border);
  color:var(--black-soft);
}
.btn--soft{
  background:var(--surface-2);
  color:var(--black-soft);
}
.btn--outline{
  border:1px solid var(--gold);
  color:var(--gold);
  background:transparent;
}
.btn--outline:hover{
  background:var(--gold);
  color:#000;
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-sm);
}
.btn:active{
  transform:none;
  box-shadow:none;
}

/* ---------- 5) SECCIONES GENÉRICAS ---------- */

.section{
  padding:var(--sp-6) 1rem;
}
.section__title{
  font-size:var(--fs-500);
  margin-bottom:var(--sp-3);
}
.section__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:var(--sp-3);
}
.section__header a{
  font-size:var(--fs-200);
  color:var(--accent);
}

/* ---------- 6) CATEGORÍAS ---------- */

.categories__grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.category-card{
  background:var(--surface);
  border-radius:var(--radius);
  padding:1.2rem;
  text-align:center;
  font-weight:600;
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}

/* ---------- 7) PRODUCTOS (CARDS) ---------- */

.products__grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

.product-card{
  display:block;
  color:inherit;
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:var(--radius);
  padding:.9rem;
  position:relative;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s;
}
.product-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:rgba(201,165,72,.9);
}
.product-card__img{
  aspect-ratio: 2/3;
  border-radius:.6rem;
  overflow:hidden;
  background:var(--surface-2);
  margin-bottom:.6rem;
  position:relative;
}
.product-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s var(--ease);
}
.product-card:hover .product-card__img img{
  transform:scale(1.05);
}
.product-card__title{
  font-weight:700;
  font-size:var(--fs-200);
}
.product-card__desc{
  color:var(--muted);
  font-size:var(--fs-200);
  margin:.15rem 0 .35rem;
}
.product-card__price{
  font-weight:800;
  margin-top:.25rem;
}
.old-price{
  text-decoration:line-through;
  color:#9aa3af;
  font-weight:400;
  margin-left:.25rem;
}
.discount{
  color:#ef4444;
  font-size:.8em;
  margin-left:.25rem;
}
.badge--sale,.badge--new{
  position:absolute;
  top:.7rem;
  left:.7rem;
  font-size:.65rem;
  padding:.15rem .45rem;
  background:var(--black-soft);
  color:#fff;
  border-radius:999px;
  z-index:2;
}
.badge--sale{
  background:#ef4444;
}
.badge--new{
  background:var(--gold);
  color:#000;
}
.product-card__colors{
  font-size:var(--fs-100);
  color:var(--muted);
  margin-top:.25rem;
}

/* ---------- 8) PROMO, DESTACADOS, NEWSLETTER, TESTIMONIOS ---------- */

.promo{
  display:grid;
  gap:1rem;
  grid-template-columns:1fr .6fr;
  background:var(--surface-2);
  border-radius:var(--radius-lg);
  padding:var(--sp-5) 1rem;
  align-items:center;
}
.promo__image{
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--surface);
}

.highlights{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.highlight-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:var(--sp-4);
  box-shadow:var(--shadow-sm);
}

.newsletter{
  background:var(--accent-soft);
  border-radius:var(--radius-lg);
  text-align:center;
  padding:var(--sp-6) 1rem;
}
.newsletter__form{
  display:flex;
  gap:.6rem;
  justify-content:center;
  margin-top:.6rem;
  flex-wrap:wrap;
}
.newsletter input{
  padding:.6rem .8rem;
  border:1px solid var(--border);
  border-radius:.6rem;
  min-width:230px;
  background:#fff;
}
.form-error{
  color:#ef4444;
  font-size:var(--fs-100);
  margin-top:.4rem;
}

.testimonials{
  max-width:var(--max);
  margin-inline:auto;
  padding:var(--sp-6) 1rem;
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.testimonial{
  background:var(--surface);
  border-radius:var(--radius);
  border:1px solid var(--border);
  padding:var(--sp-4);
}

/* ---------- 9) TIENDA (SHOP) ---------- */

.breadcrumb{
  background:var(--surface-2);
  padding:.6rem 0;
  font-size:var(--fs-200);
}
.breadcrumb a{color:var(--black-soft)}

.shop{
  display:grid;
  gap:1.6rem;
  grid-template-columns:270px 1fr;
  margin:var(--sp-6) auto;
}
.shop__filters{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:var(--sp-4);
  height:max-content;
  position:sticky;
  top:calc(56px + 1rem);
}
.filters__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.6rem;
}
.filters__reset{
  border:none;
  background:transparent;
  color:var(--muted);
  font-size:var(--fs-100);
  cursor:pointer;
}
.filter-box{
  border-top:1px solid var(--border);
  padding-top:.8rem;
  margin-top:.8rem;
}
.filter-box h3{
  font-size:var(--fs-200);
  margin:0 0 .5rem;
}
.filter-box label{
  display:block;
  font-size:var(--fs-200);
  color:var(--text);
  margin-bottom:.35rem;
}
.filter-box input[type="number"],
.filter-box select{
  width:100%;
  padding:.45rem .6rem;
  border:1px solid var(--border);
  border-radius:.6rem;
  background:var(--surface-2);
}

.filter-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}
.tag{
  border:1px solid var(--border);
  background:var(--surface);
  padding:.25rem .6rem;
  border-radius:.5rem;
  font-size:var(--fs-100);
  cursor:pointer;
}
.tag--active{
  background:var(--black-soft);
  color:#fff;
  border-color:var(--black-soft);
}
.color-pills{
  display:flex;
  gap:.45rem;
}
.color-pill{
  width:22px;
  height:22px;
  border-radius:999px;
  border:2px solid #fff;
  outline:1px solid var(--border);
  cursor:pointer;
}
.hint{
  font-size:var(--fs-100);
  color:var(--muted);
  margin-top:.35rem;
}

.shop__results-head{
  margin-bottom:1rem;
}
.pagination{
  display:flex;
  gap:.5rem;
  margin:1.6rem 0;
}
.page{
  border:1px solid var(--border);
  background:var(--surface);
  padding:.45rem .8rem;
  border-radius:.6rem;
  cursor:pointer;
  font-size:var(--fs-200);
}
.page--active{
  background:var(--black-soft);
  color:#fff;
  border-color:var(--black-soft);
}

@media (max-width:960px){
  .shop{grid-template-columns:1fr}
  .shop__filters{
    position:static;
    display:flex;
    gap:1rem;
    overflow:auto;
    white-space:nowrap;
  }
  .filter-box{
    min-width:160px;
    border-top:none;
  }
}

/* ---------- 10) DETALLE DE PRODUCTO ---------- */

/* Product Page Layout */
.product-page{
  display:grid;
  gap:2.5rem;
  grid-template-columns:1fr 1fr;
  padding:var(--sp-5) 1rem var(--sp-7);
  max-width:1200px;
  margin:0 auto;
}

/* Gallery */
.product-gallery{
  display:flex;
  gap:15px;
  flex-direction:row-reverse;
  align-items:flex-start;
}
.gallery-main{
  flex:1;
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--surface-2);
  max-height:650px;
}
.pattern-preview{
  position:absolute;
  inset:0;
  z-index:5;
  display:none;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.06);
  filter:contrast(1.05) saturate(1.05);
  pointer-events:none;
}
.pattern-preview--show{
  display:block;
}
.gallery-main img{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  cursor:zoom-in;
}
.gallery-zoom{
  position:absolute;
  top:15px;
  right:15px;
  width:42px;
  height:42px;
  background:rgba(255,255,255,0.95);
  border:none;
  border-radius:50%;
  font-size:18px;
  cursor:pointer;
  z-index:10;
  box-shadow:0 2px 10px rgba(0,0,0,0.15);
  transition:all 0.3s;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-zoom:hover{
  background:var(--gold);
  transform:scale(1.1);
}
.gallery-zoom{
  position:absolute;
  top:1rem;
  left:1rem;
  width:40px;
  height:40px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.9);
  cursor:pointer;
  font-size:1.1rem;
  box-shadow:var(--shadow-sm);
  z-index:2;
}
/* Thumbnails Wrapper with Navigation */
.gallery-thumbs-wrapper{
  display:flex;
  flex-direction:column;
  width:100px;
  gap:8px;
  flex-shrink:0;
}
.thumb-nav{
  width:100%;
  height:36px;
  background:rgba(0,0,0,0.75);
  border:none;
  color:#fff;
  font-size:16px;
  cursor:pointer;
  transition:all 0.3s;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  flex-shrink:0;
}
.thumb-nav:hover{
  background:var(--gold);
  color:#000;
}
.thumb-nav svg{
  width:20px;
  height:20px;
}
/* Mostrar flecha vertical en desktop, horizontal en mobile */
.thumb-nav .icon-vertical{
  display:block;
}
.thumb-nav .icon-horizontal{
  display:none;
}
.gallery-thumbs{
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow-y:auto;
  overflow-x:hidden;
  max-height:520px;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.gallery-thumbs::-webkit-scrollbar{
  display:none;
}
.gallery-thumb{
  flex-shrink:0;
  width:100%;
  aspect-ratio:1;
  border:3px solid transparent;
  border-radius:8px;
  overflow:hidden;
  cursor:pointer;
  background:var(--surface-2);
  padding:0;
  transition:all 0.2s;
}
.gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-thumb:hover{
  border-color:#ccc;
}
.gallery-thumb.active{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(201,162,39,0.3);
}

/* Product Info */
.product-info{
  padding:.5rem 0;
}
.product-info__badge{
  display:inline-block;
  background:var(--gold);
  color:#000;
  font-size:var(--fs-100);
  font-weight:700;
  padding:.25rem .7rem;
  border-radius:999px;
  margin-bottom:.6rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.product-info__title{
  font-size:clamp(1.8rem, 4vw, 2.4rem);
  font-weight:800;
  line-height:1.15;
  margin-bottom:1rem;
  color:var(--black-soft);
}

/* Prices */
.product-info__prices{
  background:var(--surface-2);
  border-radius:var(--radius);
  padding:1rem;
  margin-bottom:1.2rem;
}
.price-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.4rem 0;
}
.price-row:first-child{
  border-bottom:1px solid var(--border);
  padding-bottom:.6rem;
  margin-bottom:.3rem;
}
.price-label{
  color:var(--muted);
  font-size:var(--fs-200);
}
.price-value{
  font-size:var(--fs-500);
  font-weight:800;
}
.price-wholesale{
  color: #28a745;
  font-size: var(--fs-500);
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  padding: 0.25rem 0.75rem;
  border-radius: 8px;
  display: inline-block;
}
.price-retail{
  color: var(--black);
  font-size: var(--fs-600);
}

/* Price boxes - nueva presentación atractiva */
.product-info__prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 1rem 0;
}

.price-box {
  padding: 1rem;
  border-radius: 12px;
  text-align: center;
  position: relative;
}

.price-box--wholesale {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  border: 2px solid #4caf50;
}

.price-box--retail {
  background: #f8f8f8;
  border: 2px solid #e0e0e0;
}

.price-box__badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #4caf50;
  color: #fff;
  padding: 0.2rem 0.75rem;
  border-radius: 50px;
  font-size: 0.7rem;
  font-weight: 700;
  white-space: nowrap;
}

.price-box__label {
  display: block;
  font-size: 0.75rem;
  color: #666;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.price-box--wholesale .price-box__label {
  color: #2e7d32;
}

.price-box__value {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--black);
}

.price-box--wholesale .price-box__value {
  color: #2e7d32;
  font-size: 1.75rem;
}

@media (max-width: 500px) {
  .product-info__prices {
    grid-template-columns: 1fr;
  }
}

/* Product Options */
.product-option{
  margin-bottom:1.2rem;
}
.product-option {
  margin: 1.5rem 0;
  padding: 1rem;
  background: #fafafa;
  border-radius: 12px;
  border: 1px solid #eee;
}
.option-label{
  display: block;
  font-weight: 700;
  margin-bottom: 0.75rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #333;
}
.color-selector{
  display:flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom:.4rem;
}
.color-option{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 3px solid #fff;
  outline: 3px solid #e0e0e0;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  position: relative;
}
.color-option--pattern{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.color-option--pattern-big{
  width: 56px;
  height: 56px;
}
.color-option:hover{
  transform: scale(1.15);
  outline-color: var(--gold);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.color-option.active{
  outline-color: var(--gold);
  outline-width: 4px;
  transform: scale(1.1);
  box-shadow: 0 4px 15px rgba(201, 162, 39, 0.4);
}
.color-option.active::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}
.color-selected{
  font-size: 0.9rem;
  color: var(--black);
  font-weight: 600;
  margin-left: 0.5rem;
}

/* Size Selector */
.size-selector{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}
.size-option,
.size-tag {
  min-width: 56px;
  height: 56px;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #f5f5f5);
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  position: relative;
}
.size-option:hover,
.size-tag:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(201, 162, 39, 0.2);
}
.size-option.active,
.size-tag.active {
  background: linear-gradient(145deg, var(--gold), #d4af37);
  border-color: var(--gold);
  color: var(--black);
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.4);
  transform: translateY(-2px);
}
.size-tag.active::after {
  content: '✓';
  position: absolute;
  top: -6px;
  right: -6px;
  background: #28a745;
  color: #fff;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.size-option:disabled{
  opacity:.4;
  cursor:not-allowed;
}

/* Size Guide Link */
.size-guide-link{
  display:inline-block;
  color:var(--accent);
  font-weight:700;
  font-size:var(--fs-200);
  text-decoration:underline;
  margin-bottom:1.2rem;
}
.size-guide-link:hover{
  color:var(--gold);
}

/* Quantity & Add to Cart */
.product-actions{
  display:flex;
  gap:1rem;
  align-items:center;
  margin-bottom:1.5rem;
}
.quantity-selector{
  display:flex;
  align-items:center;
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
}
.qty-btn{
  width:44px;
  height:44px;
  border:none;
  background:var(--surface-2);
  font-size:1.2rem;
  cursor:pointer;
  transition:background .2s;
}
.qty-btn:hover{
  background:var(--border);
}
.qty-input{
  width:50px;
  height:44px;
  border:none;
  text-align:center;
  font-weight:700;
  font-size:var(--fs-300);
  background:var(--surface);
}
.qty-input::-webkit-inner-spin-button,
.qty-input::-webkit-outer-spin-button{
  -webkit-appearance:none;
}
.add-to-cart{
  flex:1;
  height:50px;
  font-size:var(--fs-300);
  letter-spacing:.05em;
}
.btn--lg{
  padding:.8rem 1.5rem;
}

/* Product Tabs */
.product-tabs{
  margin-bottom:1.5rem;
}
.tabs-header{
  display:flex;
  gap:0;
  border-bottom:2px solid var(--border);
  margin-bottom:1rem;
}
.tab-btn{
  padding:.7rem 1rem;
  border:none;
  background:transparent;
  font-weight:700;
  font-size:var(--fs-100);
  color:var(--muted);
  cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  transition:color .2s, border-color .2s;
}
.tab-btn:hover{
  color:var(--black-soft);
}
.tab-btn.active{
  color:var(--gold);
  border-bottom-color:var(--gold);
}
.tab-content{
  display:none;
  padding:.5rem 0;
  color:var(--text);
  font-size:var(--fs-200);
  line-height:1.7;
}
.tab-content.active{
  display:block;
}
.tab-content ul{
  list-style:none;
  padding:0;
  margin:.8rem 0;
}
.tab-content li{
  padding:.3rem 0;
}
.info-table{
  width:100%;
  border-collapse:collapse;
}
.info-table td{
  padding:.6rem 0;
  border-bottom:1px solid var(--border);
  font-size:var(--fs-200);
}
.info-table td:first-child{
  width:40%;
  color:var(--muted);
}

/* Wishlist & Share */
.product-extras{
  border-top:1px solid var(--border);
  padding-top:1rem;
}
.wishlist-btn{
  display:flex;
  align-items:center;
  gap:.5rem;
  border:none;
  background:transparent;
  font-size:var(--fs-200);
  cursor:pointer;
  padding:.5rem 0;
  color:var(--text);
  transition:color .2s;
}
.wishlist-btn:hover{
  color:var(--gold);
}
.wishlist-btn .heart{
  font-size:1.3rem;
}
.product-meta{
  margin:.8rem 0;
  font-size:var(--fs-100);
  color:var(--muted);
}
.product-meta p{
  margin:.25rem 0;
}
.product-meta a{
  color:var(--accent);
}
.product-meta a:hover{
  color:var(--gold);
}
.share-buttons{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-top:.8rem;
}
.share-buttons span{
  font-size:var(--fs-100);
  color:var(--muted);
}
.share-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--surface-2);
  display:grid;
  place-items:center;
  font-size:1rem;
  transition:background .2s;
}
.share-btn:hover{
  background:var(--gold);
}

/* Size Guide Section */
.size-guide-section{
  background:var(--surface-2);
  padding:var(--sp-6) 1rem;
  margin-top:var(--sp-5);
}
.size-guide-intro{
  color:var(--muted);
  margin-bottom:1.5rem;
  font-size:var(--fs-200);
}
.size-table-wrapper{
  overflow-x:auto;
  margin-bottom:1.5rem;
}
.size-table{
  width:100%;
  border-collapse:collapse;
  background:var(--surface);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.size-table th,
.size-table td{
  padding:.8rem 1rem;
  text-align:center;
  font-size:var(--fs-200);
}
.size-table th{
  background:var(--black-soft);
  color:var(--gold);
  font-weight:700;
}
.size-table tbody tr:nth-child(even){
  background:var(--surface-2);
}
.size-table tbody tr:hover{
  background:rgba(201,165,72,.1);
}
.size-tips{
  background:var(--surface);
  padding:1rem;
  border-radius:var(--radius);
  border-left:4px solid var(--gold);
}
.size-tips h4{
  margin-bottom:.5rem;
  font-size:var(--fs-300);
}
.size-tips ul{
  list-style:none;
  padding:0;
  margin:0;
}
.size-tips li{
  padding:.3rem 0;
  font-size:var(--fs-200);
  color:var(--muted);
}

/* Related Products */
.related-products{
  background:var(--surface);
  padding:var(--sp-6) 0;
}
.related-products .container{
  padding:0 1rem;
}

/* Trust Badges */
.trust-badges{
  background: linear-gradient(135deg, #f8f5f0 0%, #fff9f0 100%);
  border: 2px solid var(--gold);
  border-radius: 12px;
  padding: 1.25rem;
  margin-top: 1.5rem;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 1rem;
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--black);
  font-size: 0.9rem;
}

.trust-badge__icon {
  font-size: 1.25rem;
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:1.5rem;
}
.trust-item{
  display:flex;
  align-items:center;
  gap:1rem;
  color:var(--gray-soft);
}
.trust-icon{
  font-size:2rem;
}
.trust-item strong{
  display:block;
  color:var(--gold);
  font-size:var(--fs-200);
}
.trust-item p{
  font-size:var(--fs-100);
  margin:0;
  color:var(--gray-medium);
}

/* Responsive - Tablet */
@media (max-width:960px){
  .product-page{
    grid-template-columns:1fr;
    gap:1.5rem;
    padding:1rem;
  }
  .product-actions{
    flex-direction:column;
  }
  .quantity-selector{
    width:100%;
    justify-content:center;
  }
  .add-to-cart{
    width:100%;
  }
  .tabs-header{
    overflow-x:auto;
  }
  .tab-btn{
    white-space:nowrap;
    font-size:.7rem;
    padding:.6rem .7rem;
  }
}

/* Mobile - Gallery horizontal en la parte inferior */
@media (max-width:768px){
  .product-page{
    display:flex;
    flex-direction:column;
    padding:0.5rem;
  }
  .product-gallery{
    flex-direction:column;
    width:100%;
  }
  .gallery-main{
    order:1;
    max-height:none;
    height:auto;
    width:100%;
    aspect-ratio:auto;
  }
  .gallery-main img{
    width:100%;
    height:auto;
    min-height:auto;
    max-height:70vh;
    object-fit:contain;
    object-position:center;
  }
  .gallery-thumbs-wrapper{
    order:2;
    flex-direction:row;
    width:100%;
    align-items:center;
    justify-content:center;
    margin-top:10px;
    gap:8px;
    padding:0 5px;
    box-sizing:border-box;
  }
  /* Flechas horizontales (izquierda/derecha) */
  .thumb-nav{
    width:36px;
    height:50px;
    flex-shrink:0;
  }
  .thumb-nav--prev{
    order:1;
  }
  .thumb-nav--next{
    order:3;
  }
  /* Cambiar íconos de vertical a horizontal */
  .thumb-nav .icon-vertical{
    display:none;
  }
  .thumb-nav .icon-horizontal{
    display:block;
  }
  .gallery-thumbs{
    order:2;
    flex-direction:row;
    flex:1;
    max-width:calc(100% - 90px);
    max-height:none;
    overflow-x:auto;
    overflow-y:hidden;
    gap:8px;
    padding:5px 0;
    scroll-behavior:smooth;
    justify-content:flex-start;
  }
  .gallery-thumb{
    width:60px;
    height:60px;
    min-width:60px;
    aspect-ratio:1;
  }
  /* Product info mobile */
  .product-info{
    width:100%;
    padding:1rem 0.5rem;
  }
  .product-info__title{
    font-size:1.5rem;
  }
  .customer-toggle{
    flex-wrap:wrap;
    gap:0.5rem;
  }
  .customer-toggle__btn{
    font-size:0.85rem;
    padding:0.6rem 1rem;
  }
  .customer-toggle__note{
    font-size:0.8rem;
    padding:0.5rem;
  }
  /* Precios mobile */
  .price-display{
    padding:1rem;
  }
  .price-main{
    flex-direction:column;
    align-items:flex-start;
    gap:0.3rem;
  }
  .price-main__value{
    font-size:1.8rem;
  }
  /* Pricing tiers mini - una columna en móvil */
  .pricing-tiers-mini__grid{
    grid-template-columns:1fr;
    gap:0.8rem;
  }
  .mini-tier{
    padding:0.8rem;
  }
  .mini-tier__qty{
    font-size:0.9rem;
  }
  .mini-tier__price{
    font-size:1.2rem;
  }
}

/* Mobile small - gallery adjustments */
@media (max-width:480px){
  .product-page{
    padding:0.3rem;
  }
  .gallery-main{
    border-radius:var(--radius);
  }
  .gallery-main img{
    max-height:60vh;
  }
  .gallery-thumbs-wrapper{
    gap:5px;
    padding:0 3px;
  }
  .thumb-nav{
    width:30px;
    height:45px;
    font-size:12px;
  }
  .gallery-thumbs{
    gap:6px;
    padding:5px 0;
    max-width:calc(100% - 70px);
  }
  .gallery-thumb{
    width:50px;
    height:50px;
    min-width:50px;
  }
  .product-info__title{
    font-size:1.3rem;
  }
  .price-main__value{
    font-size:1.5rem;
  }
  .pricing-tiers-mini__header{
    font-size:0.85rem;
    padding:0.6rem;
  }
  .mini-tier{
    padding:0.6rem;
  }
  .mini-tier__qty{
    font-size:0.85rem;
  }
  .mini-tier__price{
    font-size:1.1rem;
  }
}

/* Old product-detail styles (legacy) */
.product-detail{
  display:grid;
  gap:1.4rem;
  grid-template-columns:1.1fr .9fr;
  padding:var(--sp-6) 1rem;
}
.product-detail__image{
  border-radius:var(--radius-lg);
  background:var(--surface-2);
  min-height:360px;
  overflow:hidden;
}
.product-detail__info h1{
  font-size:var(--fs-500);
  margin:.2rem 0 .4rem;
}
.product-detail__price{
  font-size:var(--fs-400);
  font-weight:800;
  margin:.4rem 0;
}
.product-detail__desc{
  color:var(--muted);
}
.product-detail label{
  display:block;
  margin:.7rem 0 .3rem;
  font-weight:600;
}
.product-detail select,
.product-detail input[type="number"]{
  width:100%;
  padding:.55rem .7rem;
  border:1px solid var(--border);
  border-radius:.6rem;
  background:var(--surface-2);
}
.product-detail__meta{
  color:var(--muted);
  font-size:var(--fs-100);
  margin-top:.6rem;
}
.input--error{border-color:#ef4444}

@media (max-width:960px){
  .product-detail{grid-template-columns:1fr}
}

/* ---------- 11) CARRITO ---------- */

.cart{
  padding:var(--sp-6) 1rem;
}
.cart h1{
  font-size:var(--fs-500);
  margin-bottom:var(--sp-3);
}
.cart__item{
  display:grid;
  grid-template-columns:90px 1fr auto auto auto;
  gap:.8rem;
  border-bottom:1px solid var(--border);
  padding:.9rem 0;
  align-items:center;
}
.cart__thumb{
  width:90px;
  height:70px;
  border-radius:.5rem;
  background:var(--surface-2);
}
.cart__qty{
  display:flex;
  align-items:center;
  gap:.35rem;
}
.cart__qty button{
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface);
  cursor:pointer;
}
.cart__qty input{
  width:44px;
  text-align:center;
  padding:.45rem;
  border:1px solid var(--border);
  border-radius:.5rem;
  background:var(--surface);
}
.cart__price{
  font-weight:700;
}
.cart__remove{
  border:none;
  background:transparent;
  font-size:1.1rem;
  cursor:pointer;
  color:var(--muted);
}
.cart__summary{
  margin-left:auto;
  margin-top:1rem;
  max-width:340px;
  border:1px solid var(--border);
  border-radius:.9rem;
  padding:1rem;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.cart__summary h2{
  font-size:var(--fs-300);
  margin-bottom:.4rem;
}
.cart__empty{
  padding:2rem 0;
  color:var(--muted);
}

@media (max-width:900px){
  .cart__item{
    grid-template-columns:70px 1fr auto;
  }
  .cart__price,.cart__remove{
    justify-self:end;
  }
}

/* ---------- 12) AUTH (LOGIN & REGISTER) ---------- */

.auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem 1rem;
  background:
    radial-gradient(circle at top left, rgba(201,165,72,.18), transparent 55%),
    radial-gradient(circle at bottom right, rgba(0,0,0,.7), #000);
}

.auth{
  width:100%;
  max-width:420px;
  background:rgba(255,255,255,.97);
  border-radius:1.25rem;
  padding:2.2rem 2rem 1.8rem;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
  border:1px solid rgba(201,165,72,.18);
}
.auth h1{
  font-size:1.6rem;
  margin-bottom:.35rem;
  text-align:center;
}
.auth .auth__subtitle{
  text-align:center;
  font-size:.9rem;
  color:var(--gray-soft);
  margin-bottom:1.5rem;
}
.form{
  display:flex;
  flex-direction:column;
  gap:.8rem;
}
.form label{
  display:block;
  font-size:.9rem;
  font-weight:600;
  color:var(--black-soft);
}
.form input,
.form select{
  width:100%;
  padding:.6rem .8rem;
  border:1px solid var(--border);
  border-radius:.6rem;
  background:var(--surface-2);
  margin-top:.3rem;
  font-size:.95rem;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.form input:focus,
.form select:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(201,165,72,.28);
  background:#fff;
}
.form input[type="file"]{
  padding:.4rem 0;
  background:transparent;
  border:none;
}
.checkbox{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:.3rem 0 .6rem;
  font-size:.9rem;
}
.checkbox input{
  width:auto;
}
.auth__hint{
  font-size:.8rem;
  color:var(--gray-soft);
  margin-top:-.3rem;
  margin-bottom:.6rem;
}
.auth__alt{
  margin-top:1rem;
  font-size:.85rem;
  text-align:center;
}
.auth__alt a{
  color:var(--gold);
  font-weight:600;
}

/* Mensajes de error de formularios */
.form-errors{
  margin-bottom:.8rem;
  padding:.7rem .9rem;
  border-radius:.7rem;
  border:1px solid rgba(220,38,38,.3);
  background:rgba(248,113,113,.08);
  color:#7f1d1d;
  font-size:.85rem;
}
.form-errors ul{
  list-style:none;
  padding-left:0;
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.form-errors li::before{
  content:"⚠ ";
  margin-right:.15rem;
}

/* Mensajes de éxito de formularios (gold theme) */
.form-success{
  margin-bottom:.8rem;
  padding:.7rem .9rem;
  border-radius:.7rem;
  border:1px solid rgba(201,165,72,.35);
  background:rgba(201,165,72,.08);
  color:var(--black-soft);
  font-size:.85rem;
}
.form-success::before{
  content:"✓ ";
  margin-right:.25rem;
  font-weight:700;
  color:var(--gold);
}

@media (max-width:600px){
  .auth{
    padding:1.6rem 1.3rem 1.5rem;
    border-radius:1rem;
  }
}

/* ---------- 12b) AUTH MODAL ---------- */

.no-scroll{
  overflow:hidden;
}

.auth-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.4);
  backdrop-filter:blur(6px);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:9999;
}
.auth-modal--open{
  opacity:1;
  visibility:visible;
}
.auth-modal__overlay{
  position:absolute;
  inset:0;
}
.auth-modal__content{
  position:relative;
  z-index:1;
  width:100%;
  max-width:420px;
  background:#fff;
  border-radius:1.25rem;
  padding:2.1rem 2rem 1.7rem;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
  border:1px solid rgba(201,165,72,.25);
}
.auth-modal__content h2{
  margin:0 0 .4rem;
  text-align:center;
}
.auth-modal__close{
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border-radius:50%;
  border:none;
  background:rgba(0,0,0,.75);
  color:#fff;
  font-size:1.3rem;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s, transform .2s;
}
.auth-modal__close:hover{
  background:var(--gold);
  color:#000;
  transform:scale(1.05);
}

.btn--full{
  width:100%;
  justify-content:center;
  text-align:center;
}

@media (max-width:600px){
  .auth-modal__content{
    margin:0 1rem;
    padding:1.7rem 1.3rem 1.5rem;
  }
}

/* ---------- 13) DASHBOARD ---------- */

.dashboard{
  display:flex;
  flex-direction:column;
  gap:1.8rem;
  margin-top:1.6rem;
}
.dashboard__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1rem;
}
.dashboard__grid--two{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.dashboard-card{
  background:var(--surface-2);
  border-radius:var(--radius);
  padding:1rem 1.1rem;
  border:1px solid rgba(255,255,255,.6);
  box-shadow:var(--shadow-sm);
}
.dashboard-card h3{
  font-size:.95rem;
  margin-bottom:.2rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dashboard-card__value{
  font-size:1.5rem;
  font-weight:700;
}
.dashboard-card__desc{
  font-size:.85rem;
  color:var(--muted);
}
.dashboard__section{
  margin-top:.5rem;
}
.dashboard__section h2{
  font-size:1.05rem;
  margin-bottom:.6rem;
}
.dashboard-panel{
  background:var(--surface-2);
  border-radius:var(--radius);
  padding:.9rem 1rem;
  border:1px solid var(--border);
}
.dashboard-muted{
  font-size:.85rem;
  color:var(--muted);
}
.dashboard-pill{
  display:inline-block;
  margin-top:.4rem;
  padding:.15rem .6rem;
  border-radius:999px;
  background:var(--gray-soft);
  font-size:.8rem;
}
.dashboard__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.dashboard-chip{
  display:flex;
  flex-direction:column;
  gap:.1rem;
  padding:.45rem .7rem;
  border-radius:.7rem;
  background:var(--surface-2);
  border:1px solid var(--border);
  font-size:.8rem;
}
.dashboard-chip span{
  color:var(--muted);
}
.dashboard-table-wrapper{
  overflow:auto;
}
.dashboard-table{
  width:100%;
  border-collapse:collapse;
  font-size:.85rem;
}
.dashboard-table th,
.dashboard-table td{
  padding:.4rem .55rem;
  border-bottom:1px solid var(--border);
  text-align:left;
}
.dashboard-table th{
  background:var(--surface-2);
  font-weight:600;
}
.dashboard-table__desc{
  max-width:260px;
}

/* ---------- 14) FOOTER ---------- */

.footer{
  margin-top:var(--sp-7);
  background:var(--black);
  color:var(--gray-soft);
  border-top:1px solid rgba(201,165,72,.4);
}
.footer__inner{
  display:grid;
  gap:1.5rem;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  padding:2.2rem 1rem 1.5rem;
}
.footer__col h3,
.footer__col h4{
  color:var(--gold);
  font-size:var(--fs-300);
  margin-bottom:.5rem;
}
.footer__col ul{
  list-style:none;
  padding:0;
  margin:0;
}
.footer__col li{
  margin-bottom:.35rem;
}
.footer__col a{
  color:var(--gray-soft);
  font-size:var(--fs-200);
}
.footer__col a:hover{
  color:var(--gold);
}
.footer__col-main .btn{
  margin-top:.4rem;
}

/* franja inferior */
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.05);
  padding:.6rem 0 .7rem;
  font-size:var(--fs-100);
}
.footer__bottom-inner{
  display:flex;
  justify-content:space-between;
  gap:.8rem;
  align-items:center;
}

@media (max-width:700px){
  .footer__bottom-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ---------- 14) ACCESIBILIDAD MOTION ---------- */

@media (prefers-reduced-motion: reduce){
  *{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* ---------- 15) CART NOTIFICATIONS ---------- */

.cart-notification {
  position: fixed;
  top: 100px;
  right: 20px;
  background: var(--black);
  color: #fff;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  box-shadow: 0 10px 40px rgba(0,0,0,0.3);
  z-index: 9999;
  transform: translateX(120%);
  transition: transform 0.3s ease;
  max-width: 350px;
}

.cart-notification.show {
  transform: translateX(0);
}

.cart-notification--success {
  border-left: 4px solid var(--gold);
}

.cart-notification--success span {
  color: var(--gold);
  font-size: 1.25rem;
}

.cart-notification--error {
  border-left: 4px solid #ef4444;
}

.cart-notification--error span {
  color: #ef4444;
  font-size: 1.25rem;
}

.cart-notification p {
  margin: 0;
  font-size: 0.95rem;
}

/* Cart icon animation */
@keyframes cartBounce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.3); }
}

.cart-bounce {
  animation: cartBounce 0.5s ease;
}

.cart-icon {
  position: relative;
}

.cart-icon .badge {
  position: absolute;
  top: -8px;
  right: -8px;
  background: var(--gold);
  color: var(--black);
  font-size: 0.7rem;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---------- 16) CART PAGE STYLES ---------- */

.cart-page {
  padding: 2rem 0 4rem;
  min-height: 60vh;
}

.cart-page h1 {
  font-size: 2rem;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.cart-page h1 span {
  font-size: 1rem;
  color: #666;
  font-weight: 400;
}

.cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 2rem;
  align-items: start;
}

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

/* Cart Items */
.cart-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cart-item {
  display: grid;
  grid-template-columns: 100px 1fr auto auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cart-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

@media (max-width: 600px) {
  .cart-item {
    grid-template-columns: 80px 1fr;
    gap: 1rem;
  }
}

.cart-item__image {
  width: 100px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  background: #f5f5f5;
}

@media (max-width: 600px) {
  .cart-item__image {
    width: 80px;
    height: 100px;
  }
}

.cart-item__info h3 {
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}

.cart-item__info p {
  color: #666;
  font-size: 0.9rem;
  margin: 0;
}

.cart-item__info .item-sku {
  font-size: 0.8rem;
  color: #999;
  margin-top: 0.25rem;
}

.cart-item__price {
  text-align: right;
}

.cart-item__price .price-unit {
  font-size: 0.85rem;
  color: #666;
}

.cart-item__price .price-total {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gold);
}

.cart-item__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 600px) {
  .cart-item__actions {
    grid-column: span 2;
    flex-direction: row;
    justify-content: space-between;
  }
}

.qty-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
}

.qty-controls button {
  width: 32px;
  height: 32px;
  border: none;
  background: #f5f5f5;
  cursor: pointer;
  font-size: 1rem;
  transition: background 0.2s;
}

.qty-controls button:hover {
  background: var(--gold);
  color: #fff;
}

.qty-controls input {
  width: 40px;
  text-align: center;
  border: none;
  font-size: 1rem;
  font-weight: 600;
}

.btn-remove {
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
  font-size: 0.85rem;
  padding: 0.25rem 0.5rem;
  transition: color 0.2s;
}

.btn-remove:hover {
  color: #ef4444;
}

/* Cart Summary */
.cart-summary {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  position: sticky;
  top: 100px;
}

.cart-summary h2 {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #eee;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
}

.summary-row.total {
  font-size: 1.25rem;
  font-weight: 700;
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 2px solid var(--gold);
}

.summary-row.total .amount {
  color: var(--gold);
}

.summary-row.savings {
  color: #22c55e;
  font-weight: 600;
}

.cart-summary .btn {
  width: 100%;
  margin-top: 1.5rem;
  padding: 1rem;
  font-size: 1rem;
}

.cart-summary .btn--whatsapp {
  background: #25D366;
  color: #fff;
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.cart-summary .btn--whatsapp:hover {
  background: #128C7E;
}

.continue-shopping {
  text-align: center;
  margin-top: 1rem;
}

.continue-shopping a {
  color: #666;
  font-size: 0.9rem;
}

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

/* Empty Cart */
.cart-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: #fff;
  border-radius: 12px;
}

.cart-empty__icon {
  font-size: 4rem;
  margin-bottom: 1rem;
}

.cart-empty h2 {
  margin-bottom: 0.5rem;
}

.cart-empty p {
  color: #666;
  margin-bottom: 1.5rem;
}

/* Promo code */
.promo-code {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

.promo-code label {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  color: #666;
}

.promo-code__input {
  display: flex;
  gap: 0.5rem;
}

.promo-code__input input {
  flex: 1;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.9rem;
}

.promo-code__input button {
  padding: 0.75rem 1rem;
  background: var(--black);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.85rem;
}

.promo-code__input button:hover {
  background: var(--gold);
}

/* ---------- 17) PRODUCT CARD CART BUTTON ---------- */

.product-card__actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.5rem;
}

.product-card__link {
  flex: 1;
}

.product-card__cart {
  width: 40px;
  height: 40px;
  border: 2px solid var(--gold);
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  font-size: 1.1rem;
  transition: all 0.2s ease;
  display: grid;
  place-items: center;
}

.product-card__cart:hover {
  background: var(--gold);
  transform: scale(1.1);
}

.product-card__cart:active {
  transform: scale(0.95);
}

/* Cart icon in header */
.cart-icon {
  position: relative;
  font-size: 1.5rem;
  text-decoration: none;
  display: flex;
  align-items: center;
}

/* ---------- 18) HOMEPAGE ENHANCED STYLES ---------- */

/* Hero scroll indicator */
.hero__scroll {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  color: #fff;
  font-size: 0.85rem;
  animation: bounce 2s infinite;
}

.scroll-indicator {
  font-size: 1.5rem;
  margin-top: 0.25rem;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-10px); }
}

/* Features Bar */
.features-bar {
  background: var(--black);
  color: #fff;
  padding: 1.5rem 0;
}

.features-bar__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

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

@media (max-width: 500px) {
  .features-bar__inner {
    grid-template-columns: 1fr;
  }
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.feature-icon {
  font-size: 1.5rem;
}

.feature-item strong {
  display: block;
  font-size: 0.95rem;
}

.feature-item p {
  margin: 0;
  font-size: 0.8rem;
  opacity: 0.7;
}

/* Enhanced Categories */
.categories__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

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

.category-card {
  position: relative;
  height: 280px;
  border-radius: 12px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  transition: transform 0.3s ease;
}

.category-card:hover {
  transform: translateY(-5px);
}

.category-card--featured {
  grid-row: span 2;
  height: 100%;
}

@media (max-width: 900px) {
  .category-card--featured {
    grid-row: span 1;
    height: 280px;
  }
}

.category-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 60%);
}

.category-card__content {
  position: relative;
  z-index: 2;
  padding: 1.5rem;
  width: 100%;
}

.category-card__label {
  display: block;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
}

.category-card__count {
  display: block;
  color: var(--gold);
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

/* Section eyebrow */
.section__eyebrow {
  display: block;
  color: var(--gold);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}

.section__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: 1rem;
}

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

/* Products grid variations */
.products__grid--3 {
  grid-template-columns: repeat(3, 1fr);
}

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

@media (max-width: 500px) {
  .products__grid--3 {
    grid-template-columns: 1fr;
  }
}

.products--alt {
  background: #f8f8f8;
  padding: 3rem 0;
  margin: 0;
}

.products--sale {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 3rem 0;
}

.products--sale .section__title,
.products--sale h2 {
  color: #fff;
}

.products--sale .section__eyebrow {
  color: #ef4444;
}

/* Badge hot */
.badge--hot {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  color: #fff;
}

/* Promo Banner */
.promo-banner {
  background: linear-gradient(135deg, var(--gold) 0%, #c9a227 100%);
  padding: 0;
  overflow: hidden;
}

.promo-banner__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: 400px;
}

@media (max-width: 800px) {
  .promo-banner__inner {
    grid-template-columns: 1fr;
  }
}

.promo-banner__content {
  padding: 3rem;
  color: var(--black);
}

.promo-banner__eyebrow {
  display: inline-block;
  background: var(--black);
  color: var(--gold);
  padding: 0.5rem 1rem;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.promo-banner__content h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.promo-banner__content h2 .highlight {
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.promo-banner__content p {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  max-width: 400px;
}

.promo-banner__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.promo-banner__image {
  height: 100%;
  min-height: 400px;
}

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

@media (max-width: 800px) {
  .promo-banner__image {
    min-height: 300px;
  }
}

/* Enhanced Highlights */
.highlights__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

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

.highlight-card {
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  transition: transform 0.3s ease;
}

.highlight-card:hover {
  transform: translateY(-5px);
}

.highlight-card__icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.highlight-card h3 {
  margin-bottom: 0.75rem;
}

.highlight-card p {
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}

.highlight-card--primary {
  background: linear-gradient(135deg, var(--gold) 0%, #c9a227 100%);
  color: var(--black);
}

.highlight-card--secondary {
  background: var(--black);
  color: #fff;
}

.highlight-card--accent {
  background: #f5f5f5;
  border: 2px solid var(--gold);
}

/* About Section */
.about-section {
  padding: 4rem 0;
  background: #fff;
}

.about-section__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

@media (max-width: 800px) {
  .about-section__inner {
    grid-template-columns: 1fr;
  }
}

.about-section__image img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 12px;
}

@media (max-width: 800px) {
  .about-section__image img {
    height: 350px;
  }
}

.about-section__content h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.about-section__content p {
  margin-bottom: 1rem;
  color: #555;
  line-height: 1.7;
}

.about-section__list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.about-section__list li {
  padding: 0.5rem 0;
  font-size: 1rem;
}

/* Testimonials Section */
.testimonials-section {
  background: #f8f8f8;
  padding: 4rem 0;
}

.testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
}

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

.testimonial-card {
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.testimonial-card__stars {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.testimonial-card__text {
  font-style: italic;
  color: #555;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.testimonial-card__avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--gold);
  flex-shrink: 0;
}

.testimonial-card__author strong {
  display: block;
}

.testimonial-card__author span {
  font-size: 0.85rem;
  color: #888;
}

.testimonials__stats {
  display: flex;
  justify-content: center;
  gap: 4rem;
  flex-wrap: wrap;
}

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

.stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--gold);
}

.stat-label {
  font-size: 0.9rem;
  color: #666;
}

/* Newsletter Section */
.newsletter-section {
  background: linear-gradient(135deg, var(--black) 0%, #1a1a1a 100%);
  padding: 4rem 0;
}

.newsletter-section__inner {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.newsletter-section__icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.newsletter-section__content h2 {
  color: #fff;
  margin-bottom: 0.75rem;
}

.newsletter-section__content p {
  color: rgba(255,255,255,0.8);
  margin-bottom: 1.5rem;
}

.newsletter-form {
  display: flex;
  gap: 0.5rem;
  max-width: 450px;
  margin: 0 auto;
}

@media (max-width: 500px) {
  .newsletter-form {
    flex-direction: column;
  }
}

.newsletter-form input {
  flex: 1;
  padding: 1rem;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
}

.newsletter-form .btn {
  white-space: nowrap;
}

.newsletter-section__note {
  margin-top: 1rem;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.5);
}

/* Instagram Section */
.instagram-section {
  padding: 4rem 0;
}

.instagram__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.5rem;
}

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

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

.instagram__item {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}

.instagram__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.instagram__item:hover img {
  transform: scale(1.1);
}

.instagram__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: grid;
  place-items: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  font-size: 1.5rem;
}

.instagram__item:hover .instagram__overlay {
  opacity: 1;
}

/* WhatsApp Float Button */
.whatsapp-float {
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 60px;
  height: 60px;
  background: #25D366;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
  z-index: 999;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 30px rgba(37, 211, 102, 0.5);
}

/* Footer enhanced */
.footer__social {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.footer__social a {
  font-size: 1.25rem;
  transition: transform 0.2s;
}

.footer__social a:hover {
  transform: scale(1.2);
}

.footer__social img{
  width: 32px;
  height: 32px;
  display: block;
  object-fit: contain;
}

.footer__whatsapp {
  color: #25D366 !important;
  font-weight: 600;
}

/* Button variations */
.btn--whatsapp {
  background: #25D366;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.btn--whatsapp:hover {
  background: #128C7E;
}

.btn--outline {
  background: transparent;
  border: 2px solid currentColor;
  color: inherit;
}

.btn--outline:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--black);
}

/* ---------- 19) COLLECTION PAGE ---------- */

.collection-hero {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.collection-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.collection-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.7));
}

.collection-hero__content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  padding: 2rem;
}

.collection-hero__season {
  display: inline-block;
  background: var(--gold);
  color: var(--black);
  padding: 0.5rem 1.5rem;
  border-radius: 50px;
  font-weight: 600;
  margin-bottom: 1rem;
}

.collection-hero h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.collection-categories__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: -60px auto 0;
  position: relative;
  z-index: 10;
  max-width: 1000px;
}

@media (max-width: 800px) {
  .collection-categories__grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: -40px;
  }
}

.collection-cat {
  height: 150px;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.collection-cat::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  transition: background 0.3s;
}

.collection-cat:hover::before {
  background: rgba(0,0,0,0.2);
}

.collection-cat span {
  position: relative;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
}

/* Lookbook */
.lookbook {
  padding: 4rem 0;
  background: #f8f8f8;
}

.lookbook__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 200px);
  gap: 1rem;
}

@media (max-width: 800px) {
  .lookbook__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
}

.lookbook__item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.lookbook__item--large {
  grid-column: span 2;
  grid-row: span 2;
}

@media (max-width: 800px) {
  .lookbook__item--large {
    grid-column: span 2;
    grid-row: span 1;
  }
}

.lookbook__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.lookbook__item:hover img {
  transform: scale(1.05);
}

.lookbook__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.lookbook__item:hover .lookbook__overlay {
  opacity: 1;
}

.lookbook__tag {
  color: var(--gold);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
}

.lookbook__overlay h3 {
  color: #fff;
  margin: 0.25rem 0 0.75rem;
}

/* Collection Features */
.collection-features {
  padding: 4rem 0;
}

.collection-features__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

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

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

.collection-feature__icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.collection-feature h3 {
  margin-bottom: 0.5rem;
}

.collection-feature p {
  color: #666;
  font-size: 0.9rem;
}

.collection-cta {
  background: var(--gold);
  padding: 4rem 0;
  text-align: center;
}

.collection-cta h2 {
  color: var(--black);
  margin-bottom: 0.5rem;
}

.collection-cta p {
  color: var(--black);
  margin-bottom: 1.5rem;
}

.collection-cta__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ---------- 20) GIFT CARD PAGE ---------- */

.giftcard-hero {
  background: linear-gradient(135deg, var(--black) 0%, #1a1a1a 100%);
  padding: 4rem 0;
  text-align: center;
  color: #fff;
}

.giftcard-hero h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

.giftcard-options {
  padding: 4rem 0;
}

.giftcard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
}

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

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

.giftcard-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  position: relative;
  transition: transform 0.3s;
}

.giftcard-card:hover {
  transform: translateY(-5px);
}

.giftcard-card--popular {
  border: 3px solid var(--gold);
}

.giftcard-card__badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: var(--gold);
  color: var(--black);
  padding: 0.25rem 0.75rem;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  z-index: 2;
}

.giftcard-card__design {
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
  padding: 2rem;
  color: #fff;
  text-align: center;
}

.giftcard-card__design--gold {
  background: linear-gradient(135deg, var(--gold) 0%, #c9a227 100%);
  color: var(--black);
}

.giftcard-card__design--premium {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.giftcard-card__design--vip {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.giftcard-card__logo {
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}

.giftcard-card__amount {
  font-size: 2rem;
  font-weight: 700;
}

.giftcard-card__tagline {
  font-size: 0.7rem;
  opacity: 0.8;
  margin-top: 0.5rem;
}

.giftcard-card__info {
  padding: 1.5rem;
  text-align: center;
}

.giftcard-card__info h3 {
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

.giftcard-card__info p {
  color: #666;
  font-size: 0.85rem;
  margin-bottom: 1rem;
}

.giftcard-custom {
  background: #f8f8f8;
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}

.giftcard-custom h3 {
  margin-bottom: 0.5rem;
}

.giftcard-custom > p {
  color: #666;
  margin-bottom: 1.5rem;
}

.giftcard-custom__form {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 0.5rem;
}

.giftcard-custom__input {
  display: flex;
  align-items: center;
  background: #fff;
  border: 2px solid #ddd;
  border-radius: 8px;
  padding: 0 1rem;
}

.giftcard-custom__input span {
  font-weight: 600;
  color: #666;
}

.giftcard-custom__input input {
  border: none;
  padding: 0.75rem 0.5rem;
  font-size: 1rem;
  width: 120px;
}

.giftcard-custom small {
  color: #999;
  font-size: 0.8rem;
}

.giftcard-how {
  background: #f8f8f8;
  padding: 4rem 0;
}

.giftcard-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

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

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

.giftcard-step__number {
  width: 50px;
  height: 50px;
  background: var(--gold);
  color: var(--black);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 1.25rem;
  margin: 0 auto 1rem;
}

.giftcard-step h3 {
  margin-bottom: 0.5rem;
}

.giftcard-step p {
  color: #666;
  font-size: 0.9rem;
}

.giftcard-faq {
  padding: 4rem 0;
}

.giftcard-cta {
  background: var(--black);
  padding: 4rem 0;
  text-align: center;
  color: #fff;
}

.giftcard-cta h2 {
  margin-bottom: 0.5rem;
}

.giftcard-cta p {
  margin-bottom: 1.5rem;
  opacity: 0.8;
}

/* FAQ styles */
.faq-list {
  max-width: 700px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid #eee;
}

.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: 1.25rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 1rem;
  text-align: left;
}

.faq-question span:first-child {
  font-weight: 600;
}

.faq-icon {
  font-size: 1.5rem;
  color: var(--gold);
  transition: transform 0.3s;
}

.faq-item--open .faq-icon {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
}

.faq-item--open .faq-answer {
  max-height: 200px;
}

.faq-answer p {
  padding-bottom: 1.25rem;
  color: #666;
}

/* ---------- 21) SIZE GUIDE PAGE ---------- */

.talles-hero {
  background: linear-gradient(135deg, var(--black) 0%, #1a1a1a 100%);
  padding: 4rem 0;
  text-align: center;
  color: #fff;
}

.talles-hero h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

.talles-hero p {
  max-width: 600px;
  margin: 0 auto;
  opacity: 0.8;
}

.talles-measure {
  padding: 4rem 0;
}

.measure-grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 3rem;
  align-items: start;
}

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

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

.body-diagram {
  max-width: 200px;
  height: auto;
}

.measure-instructions {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.measure-step {
  display: flex;
  gap: 1rem;
}

.measure-step__icon {
  font-size: 1.5rem;
}

.measure-step h3 {
  margin-bottom: 0.25rem;
}

.measure-step p {
  color: #666;
  font-size: 0.95rem;
}

.measure-tip {
  background: #f8f8f8;
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid var(--gold);
}

.measure-tip ul {
  margin: 0.75rem 0 0 1.5rem;
  color: #555;
}

.measure-tip li {
  margin-bottom: 0.25rem;
}

.talles-tables {
  padding: 4rem 0;
  background: #f8f8f8;
}

.talles-tabs {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  justify-content: center;
}

.talles-tab {
  padding: 0.75rem 1.5rem;
  background: #fff;
  border: 2px solid #ddd;
  border-radius: 50px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s;
}

.talles-tab:hover {
  border-color: var(--gold);
}

.talles-tab.active {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--black);
}

.talles-table {
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
}

.talles-table h3 {
  margin-bottom: 1.5rem;
}

.table-responsive {
  overflow-x: auto;
}

.talles-table table {
  width: 100%;
  border-collapse: collapse;
}

.talles-table th,
.talles-table td {
  padding: 1rem;
  text-align: center;
  border-bottom: 1px solid #eee;
}

.talles-table th {
  background: var(--black);
  color: #fff;
  font-weight: 600;
}

.talles-table tr:hover {
  background: #f8f8f8;
}

.talles-tips {
  padding: 4rem 0;
}

.tips-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

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

.tip-card {
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.tip-card__icon {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.tip-card h3 {
  margin-bottom: 0.5rem;
}

.tip-card p {
  color: #666;
  font-size: 0.95rem;
}

.talles-cta {
  background: var(--gold);
  padding: 4rem 0;
  text-align: center;
}

.talles-cta h2 {
  color: var(--black);
  margin-bottom: 0.5rem;
}

.talles-cta p {
  color: var(--black);
  margin-bottom: 1.5rem;
}

/* ---------- 22) ABOUT PAGE ---------- */

.about-hero {
  position: relative;
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.about-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.about-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

.about-hero__content {
  position: relative;
  z-index: 2;
}

.about-hero h1 {
  font-size: 3rem;
  margin-bottom: 0.5rem;
}

/* ===== NOSOTROS - STORY SECTIONS ===== */

/* Story Intro */
.story-intro {
  padding: 4rem 0;
  background: linear-gradient(180deg, #f8f5f0 0%, #fff 100%);
}

.story-intro__content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.story-intro__content h2 {
  font-size: 2.25rem;
  margin-bottom: 1.5rem;
}

.story-intro__lead {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #444;
}

/* Story Chapter */
.story-chapter {
  padding: 4rem 0;
}

.story-chapter--alt {
  background: #f8f8f8;
}

.story-chapter__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

@media (max-width: 800px) {
  .story-chapter__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.story-chapter__number {
  font-size: 4rem;
  font-weight: 800;
  color: var(--gold);
  opacity: 0.3;
  line-height: 1;
  margin-bottom: 0.5rem;
}

.story-chapter__content h3 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
}

.story-chapter__content p {
  color: #555;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.story-chapter__content--centered {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.story-chapter__highlight {
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 1.5rem;
}

.story-chapter__highlight span {
  color: var(--gold);
  font-weight: 800;
}

.story-chapter__image img {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  display: block;
}

/* Story Name Section */
.story-name {
  padding: 5rem 0;
  background: linear-gradient(135deg, var(--black) 0%, #1a1a1a 100%);
  color: #fff;
}

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

.story-name__content h3 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

/* ---------- 23) ACCOUNT / MI CUENTA ---------- */

.account-page {
  background: linear-gradient(180deg, #f8f5f0 0%, #ffffff 40%, #f8f8f8 100%);
}

.account-hero {
  position: relative;
  padding: 3.5rem 0 2.5rem;
  text-align: center;
  background: radial-gradient(circle at top left, rgba(201,165,72,0.15), transparent 55%),
              radial-gradient(circle at top right, rgba(31,63,122,0.12), transparent 55%);
}

.account-hero h1 {
  font-size: 2.4rem;
  margin-bottom: .5rem;
}

.account-hero p {
  max-width: 600px;
  margin: 0 auto;
  color: var(--muted);
}

.account {
  padding: 0 0 4rem;
}

.account__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.account__subtitle {
  color: var(--muted);
}

.account__grid {
  display: grid;
  grid-template-columns: 2fr 1.4fr;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.account-card {
  background: #fff;
  border-radius: 1.2rem;
  padding: 1.5rem 1.6rem;
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(0,0,0,0.03);
}

.account-card h2 {
  margin-bottom: .75rem;
  font-size: 1.2rem;
}

.account-card--main {
  grid-row: span 2;
}

.account__welcome {
  margin-bottom: 1.4rem;
}

.account-info {
  display: grid;
  gap: .75rem;
}

.account-info dt {
  font-size: var(--fs-200);
  color: var(--muted);
}

.account-info dd {
  font-weight: 600;
}

.badge--active {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .15rem .55rem;
  border-radius: 999px;
  background: #e7f5e8;
  color: #216e39;
  font-size: .75rem;
}

.badge--active::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #2ecc71;
}

.loyalty-summary {
  display: flex;
  gap: 1rem;
  margin: 1rem 0 1.25rem;
}

.loyalty-summary__points,
.loyalty-summary__tier {
  flex: 1;
  background: var(--surface-2);
  border-radius: .9rem;
  padding: .9rem 1rem;
}

.loyalty-summary__label {
  display: block;
  font-size: var(--fs-100);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .2rem;
}

.loyalty-summary__value {
  font-size: 1.6rem;
  font-weight: 700;
}

.loyalty-summary__hint {
  display: block;
  margin-top: .25rem;
  font-size: var(--fs-200);
  color: var(--muted);
}

.loyalty-note {
  font-size: var(--fs-200);
  color: var(--muted);
  margin-bottom: 1rem;
}

.loyalty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.loyalty-history {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.loyalty-history__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .7rem .9rem;
  border-radius: .8rem;
  background: var(--surface-2);
}

.loyalty-history__item--earn {
  border-left: 3px solid #28a745;
}

.loyalty-history__item--redeem {
  border-left: 3px solid #d9534f;
}

.loyalty-history__points {
  font-weight: 600;
}

.loyalty-history__desc {
  font-size: var(--fs-200);
  color: var(--muted);
}

.loyalty-history__date {
  font-size: var(--fs-100);
  color: var(--muted);
}

.loyalty-history__empty {
  font-size: var(--fs-200);
  color: var(--muted);
}

.account__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

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

  .account-card--main {
    grid-row: auto;
  }

  .account__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .account__footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

.story-name__subtitle {
  color: rgba(255,255,255,0.7);
  margin-bottom: 2.5rem;
}

.story-name__letters {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.letter-card {
  background: rgba(255,255,255,0.05);
  border: 2px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 2rem 2.5rem;
  text-align: center;
  transition: all 0.3s;
}

.letter-card:hover {
  border-color: var(--gold);
  transform: translateY(-5px);
}

.letter-card .letter {
  display: block;
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--gold);
  margin-bottom: 0.5rem;
}

.letter-card .meaning {
  display: block;
  font-size: 1rem;
  color: rgba(255,255,255,0.8);
}

.letter-card--special {
  background: linear-gradient(135deg, rgba(201,162,39,0.2) 0%, rgba(201,162,39,0.1) 100%);
  border-color: var(--gold);
  padding: 2rem 3rem;
}

.letter-card--special .description {
  display: block;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.6);
  margin-top: 0.75rem;
  max-width: 200px;
  line-height: 1.4;
}

/* Story Plus Section */
.story-plus {
  padding: 5rem 0;
  background: linear-gradient(135deg, #fff9f0 0%, #f8f5f0 100%);
}

.story-plus__content {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.plus-symbol {
  font-size: 5rem;
  font-weight: 800;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 1rem;
}

.story-plus__content h3 {
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
}

.story-plus__content blockquote {
  font-size: 1.5rem;
  font-style: italic;
  color: #333;
  padding: 1.5rem 2rem;
  background: #fff;
  border-left: 5px solid var(--gold);
  border-radius: 0 12px 12px 0;
  margin: 2rem 0;
  text-align: left;
}

.story-plus__content blockquote em {
  color: var(--gold);
  font-weight: 700;
}

.story-plus__content > p {
  color: #555;
  line-height: 1.8;
}

/* Story Exigencia */
.story-exigencia {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.story-exigencia h3 {
  font-size: 1.75rem;
  margin-bottom: 2rem;
}

.exigencia-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}

.exigencia-item {
  background: #fff;
  padding: 1rem 1.5rem;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  transition: all 0.2s;
}

.exigencia-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.exigencia-icon {
  font-size: 1.25rem;
}

.exigencia-footer {
  color: #666;
  font-style: italic;
}

/* Story Future */
.story-future {
  padding: 5rem 0;
  background: linear-gradient(180deg, #fff 0%, #f8f5f0 100%);
}

.story-future__content {
  max-width: 750px;
  margin: 0 auto;
  text-align: center;
}

.story-future__content h3 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

.story-future__content > p {
  color: #555;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.story-future__quote {
  background: linear-gradient(135deg, var(--gold) 0%, #d4af37 100%);
  padding: 2rem;
  border-radius: 16px;
  margin: 2.5rem 0;
}

.story-future__quote .quote-icon {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.75rem;
}

.story-future__quote p {
  color: var(--black);
  font-size: 1.1rem;
  line-height: 1.7;
  margin: 0;
}

.story-future__quote em {
  font-weight: 700;
}

.story-future__ending {
  margin-top: 3rem;
}

.ending-text {
  font-size: 1.25rem;
  color: #666;
  margin-bottom: 0.5rem;
}

.ending-slogan {
  font-size: 2rem;
  font-weight: 800;
  color: var(--black);
}

.ending-slogan span {
  color: var(--gold);
}

/* Legacy styles for about-story (keep for compatibility) */
.about-story {
  padding: 4rem 0;
}

.about-story__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

@media (max-width: 800px) {
  .about-story__grid {
    grid-template-columns: 1fr;
  }
}

.about-story__content p {
  margin-bottom: 1rem;
  color: #555;
  line-height: 1.7;
}

.about-story__image img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 12px;
}

.about-values {
  padding: 4rem 0;
  background: #f8f8f8;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

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

.value-card {
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
}

.value-card__icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.value-card h3 {
  margin-bottom: 0.5rem;
}

.value-card p {
  color: #666;
  font-size: 0.9rem;
}

.about-numbers {
  background: var(--black);
  padding: 4rem 0;
}

.numbers-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  text-align: center;
}

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

.number-item__value {
  display: block;
  font-size: 3rem;
  font-weight: 700;
  color: var(--gold);
}

.number-item__label {
  color: rgba(255,255,255,0.7);
  font-size: 0.9rem;
}

.about-mission {
  padding: 4rem 0;
}

.about-mission__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

@media (max-width: 800px) {
  .about-mission__grid {
    grid-template-columns: 1fr;
  }
}

.about-mission__image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 12px;
}

.about-mission__content blockquote {
  font-size: 1.25rem;
  font-style: italic;
  color: #333;
  border-left: 4px solid var(--gold);
  padding-left: 1.5rem;
  margin: 1.5rem 0;
}

.about-team {
  padding: 4rem 0;
  background: #f8f8f8;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

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

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

.team-member img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--gold);
  margin-bottom: 1rem;
}

.team-member h3 {
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

.team-member p {
  color: #666;
  font-size: 0.85rem;
}

/* Founders Grid */
.founders-grid {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
}

.founder-card {
  background: #fff;
  padding: 2.5rem 2rem;
  border-radius: 20px;
  text-align: center;
  box-shadow: 0 4px 30px rgba(0,0,0,0.08);
  max-width: 280px;
  transition: transform 0.3s;
}

.founder-card:hover {
  transform: translateY(-8px);
}

.founder-card__initial {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, var(--gold) 0%, #d4af37 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--black);
  margin: 0 auto 1rem;
}

.founder-card h3 {
  font-size: 1.5rem;
  margin-bottom: 0.25rem;
}

.founder-card__role {
  color: var(--gold);
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.founder-card__desc {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.6;
}

.about-wholesale {
  padding: 4rem 0;
  background: linear-gradient(135deg, var(--gold) 0%, #c9a227 100%);
}

.about-wholesale__content {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.about-wholesale__content h2 {
  color: var(--black);
  margin-bottom: 0.5rem;
}

.about-wholesale__content > p {
  color: var(--black);
  margin-bottom: 2rem;
}

.about-wholesale__benefits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.wholesale-benefit {
  background: rgba(255,255,255,0.3);
  padding: 0.75rem 1rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}

.about-cta {
  background: var(--black);
  padding: 4rem 0;
  text-align: center;
  color: #fff;
}

.about-cta h2 {
  margin-bottom: 0.5rem;
}

.about-cta p {
  margin-bottom: 1.5rem;
  opacity: 0.8;
}

/* ---------- 23) CONTACT PAGE ---------- */

.contact-hero {
  background: linear-gradient(135deg, var(--black) 0%, #1a1a1a 100%);
  padding: 4rem 0;
  text-align: center;
  color: #fff;
}

.contact-hero h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

.contact-content {
  padding: 4rem 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 3rem;
}

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

.contact-form-wrapper {
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.05);
}

.contact-form-wrapper h2 {
  margin-bottom: 1.5rem;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 600px) {
  .form-row {
    grid-template-columns: 1fr;
  }
}

.form-group {
  margin-bottom: 1rem;
}

.form-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #eee;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--gold);
}

.form-group textarea {
  resize: vertical;
  min-height: 120px;
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.contact-info__card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.05);
}

.contact-info__card h3 {
  margin-bottom: 1.5rem;
}

.contact-method {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #eee;
}

.contact-method:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.contact-method__icon {
  font-size: 1.5rem;
}

.contact-method__content h4 {
  margin-bottom: 0.25rem;
  font-size: 1rem;
}

.contact-method__content p {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

.contact-method__content a {
  color: var(--gold);
  font-weight: 600;
}

.contact-info__card--showroom {
  background: linear-gradient(135deg, var(--gold) 0%, #c9a227 100%);
  color: var(--black);
}

.contact-info__card--showroom h3 {
  color: var(--black);
}

.contact-showroom__note {
  font-size: 0.9rem;
  margin: 1rem 0;
}

.contact-faq {
  padding: 4rem 0;
  background: #f8f8f8;
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

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

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

.faq-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 12px;
}

.faq-card h3 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.faq-card p {
  color: #666;
  font-size: 0.9rem;
}

.faq-card a {
  color: var(--gold);
  font-weight: 600;
}

.contact-map {
  height: 300px;
  background: #ddd;
}

.map-placeholder {
  height: 100%;
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.map-placeholder__content {
  text-align: center;
  color: #fff;
}

.map-placeholder__content span {
  font-size: 3rem;
}

.map-placeholder__content h3 {
  margin: 0.5rem 0 0.25rem;
}

.map-placeholder__content p {
  opacity: 0.7;
  margin-bottom: 1rem;
}

/* Btn small */
.btn--sm {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
}

.btn--lg {
  padding: 1rem 2rem;
  font-size: 1rem;
}

/* ---------- 24) PRICING BANNER ---------- */

.pricing-banner {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 4rem 0;
  color: #fff;
}

.pricing-banner__header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.pricing-banner__icon {
  font-size: 3rem;
  display: block;
  margin-bottom: 0.5rem;
}

.pricing-banner__header h2 {
  color: var(--gold);
  margin-bottom: 0.5rem;
}

.pricing-banner__header p {
  opacity: 0.8;
}

.pricing-banner__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  max-width: 1000px;
  margin: 0 auto;
}

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

@media (max-width: 500px) {
  .pricing-banner__grid {
    grid-template-columns: 1fr;
  }
}

.pricing-banner__tier {
  background: rgba(255,255,255,0.05);
  border: 2px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s;
  position: relative;
}

.pricing-banner__tier:hover {
  border-color: var(--gold);
  transform: translateY(-5px);
}

.pricing-banner__tier--best {
  background: linear-gradient(135deg, rgba(40, 167, 69, 0.2) 0%, rgba(32, 201, 151, 0.2) 100%);
  border-color: #28a745;
}

.tier-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #28a745;
  color: #fff;
  padding: 0.25rem 1rem;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.tier-qty {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}

.pricing-banner__tier--best .tier-qty {
  color: #28a745;
}

.tier-label {
  font-size: 0.9rem;
  opacity: 0.7;
  margin-bottom: 0.75rem;
}

.tier-formula {
  background: rgba(201, 162, 39, 0.2);
  color: var(--gold);
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.85rem;
  margin-bottom: 0.75rem;
}

.pricing-banner__tier--best .tier-formula {
  background: rgba(40, 167, 69, 0.3);
  color: #a5d6a7;
}

.tier-example {
  font-size: 0.8rem;
  opacity: 0.6;
}

.tier-example strong {
  color: #fff;
  opacity: 1;
}

.pricing-banner__cta {
  text-align: center;
  margin-top: 2rem;
}

.pricing-banner__note {
  font-size: 0.85rem;
  opacity: 0.6;
  margin-top: 1rem;
}

/* ===== ZOOM MODAL ===== */
.zoom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.zoom-modal.active {
  opacity: 1;
  visibility: visible;
}

.zoom-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  cursor: pointer;
}

.zoom-modal__content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zoom-modal__content img {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  animation: zoomIn 0.3s ease;
}

@keyframes zoomIn {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.zoom-modal__close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 45px;
  height: 45px;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.zoom-modal__close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}

.zoom-modal__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 2;
}

.zoom-modal__nav:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-50%) scale(1.1);
}

.zoom-modal__nav--prev {
  left: -70px;
}

.zoom-modal__nav--next {
  right: -70px;
}

.zoom-modal__counter {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
}

/* Make main image clickable */
.gallery-main {
  cursor: zoom-in;
}

.gallery-main img {
  transition: transform 0.3s ease;
}

.gallery-main:hover img {
  transform: scale(1.02);
}

/* Responsive zoom modal */
@media (max-width: 768px) {
  .zoom-modal__nav--prev {
    left: 10px;
  }
  
  .zoom-modal__nav--next {
    right: 10px;
  }
  
  .zoom-modal__close {
    top: 10px;
    right: 10px;
  }
  
  .zoom-modal__counter {
    bottom: 20px;
  }
}

/* ---------- 25) AJUSTES GLOBALES MOBILE ---------- */

/* ===== MOBILE GENERAL (≤768px) ===== */
@media (max-width: 768px){
  /* Pricing banner - cards en columna */
  .pricing-banner__grid{
    grid-template-columns: 1fr !important;
    gap: .75rem;
  }
  .pricing-banner__tier{
    padding: 1.25rem 1rem;
  }
  .tier-qty{
    font-size: 2rem;
  }
  
  /* Shop filters - evitar desborde */
  .shop{
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .shop__filters{
    position: static;
    display: block;
    overflow-x: visible;
    white-space: normal;
    padding: 1rem;
  }
  .filter-box{
    min-width: auto;
    border-top: 1px solid var(--border);
    padding-top: .8rem;
    margin-top: .8rem;
  }
  .filter-box:first-child{
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
  
  /* Products grid - 2 columnas en tablet, 1 en móvil chico */
  .products__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
  }
  .products__grid--3{
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Product page layout */
  .product-page{
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1rem;
  }
  
  /* Categories grid */
  .categories__grid{
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Features bar */
  .features-bar__inner{
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  
  /* Highlights grid */
  .highlights__grid{
    grid-template-columns: 1fr;
  }
  
  /* Testimonials */
  .testimonials__grid{
    grid-template-columns: 1fr;
  }
  
  /* About grids */
  .about-section__inner,
  .about-story__grid,
  .about-mission__grid,
  .story-chapter__grid{
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  /* Values and numbers */
  .values-grid,
  .numbers-grid{
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Topbar text smaller */
  .topbar{
    font-size: .7rem;
    padding: .3rem .5rem;
  }
  .topbar p{
    white-space: normal;
    line-height: 1.3;
  }
}

/* ===== MOBILE SMALL (≤480px) ===== */
@media (max-width: 480px){
  .container{
    padding-inline: .75rem;
  }

  .section{
    padding: var(--sp-5) .75rem;
  }

  .hero{
    padding: var(--sp-6) .9rem;
    min-height: 85vh;
  }

  .hero__title{
    font-size: 1.6rem;
  }

  .hero__text{
    font-size: 1rem;
  }

  .hero__actions{
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
  }

  .header__inner{
    padding: .6rem .75rem;
    row-gap: .4rem;
  }

  /* Products - 1 columna en móvil muy chico */
  .products__grid,
  .products__grid--3{
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .product-card{
    padding: .75rem;
  }
  
  .product-card__img{
    aspect-ratio: 2/3;
  }

  /* Categories - 1 columna */
  .categories__grid{
    grid-template-columns: 1fr;
  }
  .category-card{
    height: 180px;
  }
  .category-card--featured{
    grid-row: auto;
    height: 220px;
  }

  /* Features bar - 1 columna */
  .features-bar__inner{
    grid-template-columns: 1fr;
    gap: .75rem;
  }
  .feature-item{
    justify-content: center;
    text-align: center;
    flex-direction: column;
    gap: .35rem;
  }

  /* Pricing tiers mini (en product detail) */
  .pricing-tiers-mini__grid{
    grid-template-columns: 1fr !important;
    gap: .5rem;
  }

  /* Price boxes en product detail */
  .price-boxes-row{
    grid-template-columns: 1fr;
  }

  /* Product options */
  .product-option{
    padding: .75rem;
  }
  .color-selector{
    flex-wrap: wrap;
  }
  .size-selector{
    gap: .5rem;
  }
  .size-option,
  .size-tag{
    min-width: 48px;
    height: 48px;
    font-size: .9rem;
  }

  /* Product actions */
  .product-actions{
    flex-direction: column;
    gap: .75rem;
  }
  .quantity-selector{
    width: 100%;
    justify-content: center;
  }
  .add-to-cart{
    width: 100%;
  }

  /* Trust badges */
  .trust-badges{
    flex-direction: column;
    gap: .75rem;
    padding: 1rem;
  }
  .trust-badge{
    justify-content: center;
  }

  /* Cart page */
  .cart-page{
    padding-inline: .75rem;
  }
  .cart-layout{
    grid-template-columns: 1fr;
  }
  .cart-item{
    grid-template-columns: 70px 1fr;
    gap: .75rem;
    padding: 1rem;
  }
  .cart-item__image{
    width: 70px;
    height: 90px;
  }
  .cart-item__actions{
    grid-column: span 2;
    flex-direction: row;
    justify-content: space-between;
    margin-top: .5rem;
  }

  /* Account page */
  .account__header,
  .account__footer{
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem;
  }
  .account__grid{
    grid-template-columns: 1fr;
  }
  .loyalty-summary{
    flex-direction: column;
    gap: .75rem;
  }
  .loyalty-actions{
    flex-direction: column;
  }
  .loyalty-actions .btn{
    width: 100%;
    text-align: center;
  }

  /* Values and numbers - 1 columna */
  .values-grid,
  .numbers-grid,
  .team-grid{
    grid-template-columns: 1fr;
  }

  /* Founders */
  .founders-grid{
    flex-direction: column;
    gap: 1.5rem;
  }
  .founder-card{
    max-width: 100%;
  }

  /* Newsletter */
  .newsletter-form{
    flex-direction: column;
  }
  .newsletter-form input,
  .newsletter-form .btn{
    width: 100%;
  }

  /* Instagram grid */
  .instagram__grid{
    grid-template-columns: repeat(2, 1fr);
  }

  /* WhatsApp float */
  .whatsapp-float{
    width: 52px;
    height: 52px;
    bottom: 18px;
    right: 18px;
  }

  /* Footer */
  .footer__inner{
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
  }
  .footer__social{
    justify-content: center;
  }
  .footer__bottom-inner{
    flex-direction: column;
    text-align: center;
    gap: .5rem;
  }

  /* Giftcard */
  .giftcard-grid{
    grid-template-columns: 1fr;
  }
  .giftcard-steps{
    grid-template-columns: 1fr;
  }

  /* Talles page */
  .measure-grid{
    grid-template-columns: 1fr;
  }
  .talles-tabs{
    flex-wrap: wrap;
  }
  .talles-tab{
    padding: .5rem 1rem;
    font-size: .85rem;
  }
  .tips-grid{
    grid-template-columns: 1fr;
  }

  /* Contact */
  .contact-grid{
    grid-template-columns: 1fr;
  }
  .form-row{
    grid-template-columns: 1fr;
  }

  /* Collection */
  .collection-categories__grid{
    grid-template-columns: 1fr;
    margin-top: -30px;
  }
  .collection-cat{
    height: 120px;
  }
  .lookbook__grid{
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .lookbook__item--large{
    grid-column: auto;
    grid-row: auto;
  }
  .collection-features__grid{
    grid-template-columns: 1fr;
  }

  /* FAQ */
  .faq-grid{
    grid-template-columns: 1fr;
  }
}
