:root{
  --gold:#c08321;
  --gold-dark:#a36d17;
  --black:#111111;
  --text:#151515;
  --muted:#5b5b5b;
  --line:#e9e2d8;
  --cream:#fbf7ef;
  --soft:#f7f3ec;
  --green:#20a84f;
  --shadow:0 18px 45px rgba(38,28,15,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:'Lato',sans-serif;line-height:1.5}
button,input,select,textarea{font-family:'Lato', sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}.gold{color:var(--gold)}
.topbar{height:34px;background:#f8f2e8;display:flex;align-items:center;justify-content:center;gap:72px;padding:0 34px;font-size:13px;border-bottom:1px solid rgba(0,0,0,.04)}
.topbar-right{display:flex;gap:34px;align-items:center}.topbar a:hover{color:var(--gold)}
.header{height:96px;background:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 46px;border-bottom:1px solid #f0f0f0;position:sticky;top:0;z-index:50;box-shadow:0 2px 18px rgba(0,0,0,.03)}
.brand img{width:220px;height:auto;margin:auto;opacity:1;filter:drop-shadow(0 2px 10px rgba(255,255,255,.75))}.icon-btn{border:0;background:transparent;padding:0;cursor:pointer;color:#000;display:grid;place-items:center}.menu-btn{width:30px;height:24px;gap:5px}.menu-btn span{display:block;width:30px;height:2px;background:#111;border-radius:3px}.header-icons{justify-self:end;display:flex;align-items:center;gap:24px}.header-icons svg{width:28px;height:28px;fill:none;stroke:#080808;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cart{position:relative}.cart span{position:absolute;right:-8px;top:10px;background:var(--gold);color:#fff;font-size:13px;font-weight: 700 !important;min-width:20px;height:20px;border-radius:50%;display:grid;place-items:center}
.side-menu{position:fixed;inset:0 auto 0 0;width:min(340px,85vw);background:#fff;z-index:80;box-shadow:var(--shadow);padding:74px 36px;display:flex;flex-direction:column;gap:22px;transform:translateX(-105%);transition:.28s ease}.side-menu.active{transform:translateX(0)}.side-menu a{font-weight: 700 !important;text-transform:uppercase;letter-spacing:0.025em;font-size:13px}.side-menu a:hover{color:var(--gold)}.close-menu{position:absolute;top:24px;right:26px;border:0;background:transparent;font-size:13px;cursor:pointer}
.hero{height:335px;background:linear-gradient(90deg,rgba(255,252,247,.98) 0%,rgba(255,252,247,.84) 30%,rgba(255,255,255,0) 52%),url('assets/hero-bg.jpg') center/cover no-repeat;position:relative;display:flex;align-items:center;padding:0 0 0 86px}.hero-content{max-width:325px}.hero h1{font-family:'Lato', sans-serif !important;font-size:13px;line-height:.95;margin:0 0 18px;font-weight: 700 !important;letter-spacing:0.025em}.hero h1 span{color:var(--gold)}.hero p{font-size:13px;margin:0 0 18px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;text-transform:uppercase;font-weight: 700 !important;letter-spacing:0.025em;border:0;cursor:pointer;white-space:nowrap}.primary{background:var(--gold);color:#fff;min-width:160px;height:46px;padding:0 24px;box-shadow:0 10px 20px rgba(192,131,33,.18);font-size:13px}.primary:hover{background:var(--gold-dark)}.dots{position:absolute;left:50%;bottom:23px;display:flex;gap:10px}.dots span{width:10px;height:10px;border-radius:50%;border:1.7px solid #111;background:transparent}.dots .active{background:var(--gold);border-color:var(--gold)}
.benefits{height:145px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);border-top:1px solid #f3f3f3;background:#fff}.benefits article{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--line)}.benefits article:last-child{border-right:0}.benefit-icon{font-size:13px;line-height:1;color:var(--gold);margin-bottom:10px}.benefits h3{font-size:13px;text-transform:uppercase;margin:0 0 7px;font-weight: 700 !important}.benefits p{font-size:13px;color:#111;margin:0}
.section{padding:26px 34px 0}.section h2{font-family:'Lato', sans-serif !important;text-align:center;text-transform:uppercase;font-size:13px;line-height:1.2;margin:0}.title-line{width:46px;height:2px;background:var(--gold);margin:10px auto 24px}.collections-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:1060px;margin:0 auto}.collection-card{background:#f7f4ef;text-align:center;transition:.2s ease}.collection-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.collection-card img{width:100%;height:138px;object-fit:cover}.collection-card div{padding:12px 8px 14px}.collection-card h3{font-family:'Lato', sans-serif !important;text-transform:uppercase;font-size:13px;margin:0 0 6px}.collection-card a{font-size:13px}.collection-card a:hover{color:var(--gold)}
.products-section{padding-top:28px}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1060px;margin:0 auto}.product-card{position:relative;background:#fff;border:1px solid #ddd;border-radius:5px;padding:14px 14px 14px;min-height:285px;box-shadow:0 6px 22px rgba(0,0,0,.02)}.product-card img{height:140px;width:100%;object-fit:contain;margin-bottom:8px}.heart{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:13px;color:#9a9a9a;cursor:pointer}.product-card h3{font-size:13px;margin:5px 0 3px;font-weight: 700 !important}.product-card strong{font-size:13px}.rating{color:#f2b21b;font-size:13px;margin:6px 0 10px}.rating span{color:#6b6b6b;margin-left:5px}.outline{width:100%;height:34px;border:1.5px solid var(--gold);background:#fff;color:var(--gold);font-size:13px}.outline:hover{background:var(--gold);color:#fff}
.tracking{width:100%;max-width:none;margin:62px 0 0;background:#fff9f0;border-radius:0;box-shadow:var(--shadow);display:grid;grid-template-columns:76px 235px 1fr;align-items:center;gap:18px;padding:20px 70px;border-top:1px solid #f0e6d8;border-bottom:1px solid #f0e6d8;border-left:0;border-right:0}.tracking-icon{font-size:13px;color:var(--gold);line-height:1}.tracking h2{font-family:'Lato', sans-serif !important;text-transform:uppercase;font-size:13px;margin:0 0 4px}.tracking p{margin:0;color:#333;font-size:13px}.tracking-form{display:grid;grid-template-columns:1fr 190px;gap:0}.tracking-form input{height:48px;border:1px solid #d5cec4;border-radius:4px 0 0 4px;padding:0 16px;font-size:13px;background:#fff}.tracking-form button{height:48px;border-radius:0 4px 4px 0;min-width:0;font-size:13px}.tracking-form small{grid-column:1/-1;margin-top:9px;font-size:13px;color:#444}.tracking-form a{color:var(--gold)}
.whatsapp{width:100%;max-width:none;margin:24px 0 34px;background:linear-gradient(90deg,#f2faf4,#eef8f3);border-radius:0;padding:24px 70px;display:grid;grid-template-columns:78px 1.2fr 260px;gap:22px;align-items:center;position:relative;overflow:hidden;border-top:1px solid #dfeee4;border-bottom:1px solid #dfeee4}.wa-icon{width:64px;height:64px;display:grid;place-items:center;color:var(--green);background:transparent}.wa-icon svg{width:64px;height:64px;display:block;fill:currentColor}.whatsapp h2{font-size:13px;line-height:1.15;text-transform:uppercase;margin:0 0 10px}.whatsapp h2 span{color:var(--green)}.whatsapp p{margin:0;font-size:13px}.whatsapp-btn{background:var(--green);color:#fff;height:48px;padding:0 24px;border-radius:5px;font-size:13px}.secure{grid-column:3;font-size:13px;color:#333;padding-left:8px;margin-top:-12px!important}
.footer{border-top:1px solid #f1ede6;background:#fff;padding:30px 70px 18px;display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:38px}.footer img{width:190px;margin-bottom:10px;opacity:1}.footer p{font-size:13px;margin:0 0 12px}.footer h3{text-transform:uppercase;font-size:13px;margin:0 0 12px}.footer a{display:block;font-size:13px;margin:0 0 6px;color:#111}.footer a:hover{color:var(--gold)}.socials{display:flex;gap:18px;font-weight: 700 !important;font-size:13px}.payments{display:flex;align-items:center;margin:0 0 18px}.payments img{width:min(100%,260px);max-width:260px;height:auto;display:block;object-fit:contain;opacity:1}.payments span{background:#fff;border:1px solid #ddd;border-radius:3px;padding:5px 8px;font-weight: 700 !important;color:#1260ad;font-size:13px}.lock{margin-top:4px!important;margin-bottom:0!important;line-height:1.15}.copyright{grid-column:1/-1;text-align:center;border-top:1px solid #e6e0d8;padding-top:16px;color:#777;font-size:13px}

/* Colecciones estilo imagen de referencia: tarjetas con foto completa, texto centrado y botón sobrepuesto. */
#colecciones.section{padding-top:34px;padding-bottom:6px;background:#fff}
#colecciones h2{text-transform:none;font-size:13px;letter-spacing:0.025em;font-weight: 700 !important}
#colecciones .title-line{width:55px;height:2px;margin:12px auto 26px}
.overlay-collections{max-width:1160px;gap:22px}
.overlay-collections .collection-card{position:relative;min-height:220px;overflow:hidden;background:#111;border-radius:0;box-shadow:none;text-align:center}
.overlay-collections .collection-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,0,0,.12)}
.overlay-collections .collection-card img{width:100%;height:220px;object-fit:cover;filter:saturate(.95);transition:transform .35s ease}
.overlay-collections .collection-card:hover img{transform:scale(1.04)}
.overlay-collections .collection-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.58) 100%);z-index:1}
.overlay-collections .collection-overlay{position:absolute;inset:auto 0 22px;z-index:2;padding:0 12px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.overlay-collections .collection-overlay h3{font-family:'Lato', sans-serif !important;text-transform:uppercase;font-size:13px;letter-spacing:0.025em;margin:0 0 8px;color:#fff}
.overlay-collections .collection-overlay a{display:inline-flex;align-items:center;justify-content:center;min-width:70px;height:25px;padding:0 12px;border-radius:3px;background:rgba(18,13,9,.82);color:#fff;text-transform:uppercase;font-weight: 700 !important;font-size:13px;letter-spacing:0.025em;text-shadow:none}
.overlay-collections .collection-overlay a:hover{background:var(--gold);color:#fff}

@media(max-width:900px){.topbar{height:auto;min-height:44px;gap:8px;flex-direction:column;padding:8px 16px;text-align:center}.topbar-right{display:none}.header{height:94px;padding:0 22px}.brand img{width:190px}.header-icons{gap:14px}.header-icons svg{width:28px;height:28px}.hero{height:430px;padding:0 24px;background-position:58% center}.hero h1{font-size:13px}.hero p{font-size:13px}.benefits{height:auto;grid-template-columns:repeat(2,1fr)}.benefits article{min-height:150px}.collections-grid,.products-grid{grid-template-columns:repeat(2,1fr)}.tracking{width:auto;max-width:none;grid-template-columns:1fr;margin:28px 22px;padding:24px;border:1px solid #f0e6d8;border-radius:6px}.tracking-form{grid-template-columns:1fr}.tracking-form input,.tracking-form button{border-radius:4px}.whatsapp{grid-template-columns:1fr;margin:24px 0;padding:28px 22px;border-radius:0}.secure{grid-column:auto}.footer{grid-template-columns:repeat(2,1fr);padding:34px 28px}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.header{grid-template-columns:45px 1fr auto}.brand img{width:165px}.hero{background-position:66% center}.hero-content{background:rgba(255,255,255,.7);padding:20px;border-radius:8px}.hero h1{font-size:13px}.benefits,.collections-grid,.products-grid{grid-template-columns:1fr}.collection-card img{height:220px}.footer{grid-template-columns:1fr}.section{padding-left:22px;padding-right:22px}.whatsapp h2{font-size:13px}}


/* Ajuste para pantalla estándar de laptop/escritorio: evita que el diseño se vea con demasiado zoom. */
@media (min-width:901px) and (max-width:1440px){
  .topbar{height:32px;font-size:13px}
  .header{height:88px;padding-inline:40px}
  .brand img{width:210px}
  .hero{height:315px;padding-left:78px;background-size:cover}
  .hero h1{font-size:13px}
  .hero p{font-size:13px}
  .benefits{height:132px}
  .section{padding-top:22px}
  .collection-card img{height:126px}
  .product-card{min-height:262px;padding:12px}
  .product-card img{height:124px}
  .tracking{width:100%;max-width:none;margin:24px 0 0;padding:18px 64px;grid-template-columns:76px 250px 1fr;border-left:0;border-right:0;border-radius:0}
  .whatsapp{width:100%;max-width:none;margin:22px 0 28px;padding:21px 64px;border-radius:0}
  .footer{padding-top:26px}
}

@media(max-width:900px){
  #colecciones h2{font-size:13px}
  .overlay-collections{grid-template-columns:repeat(2,1fr);gap:18px}
  .overlay-collections .collection-card,.overlay-collections .collection-card img{height:230px;min-height:230px}
}
@media(max-width:560px){
  .overlay-collections{grid-template-columns:1fr}
  .overlay-collections .collection-card,.overlay-collections .collection-card img{height:270px;min-height:270px}
}


/* Título de productos actualizado */
x0;letter-spacing:0.025em;}

/* Hero con video: el banner principal queda justo debajo del header y usa video de fondo. */
.hero-video{background:#fbf7ef;overflow:hidden;isolation:isolate}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,247,.98) 0%,rgba(255,252,247,.84) 30%,rgba(255,255,255,0) 55%);z-index:-1;pointer-events:none}
.hero-video .hero-content,.hero-video .dots{z-index:1}
@media(max-width:560px){.hero-shade{background:linear-gradient(90deg,rgba(255,252,247,.92) 0%,rgba(255,252,247,.66) 55%,rgba(255,255,255,.1) 100%)}}

/* Header sobre el video: el video del hero se ve también detrás de la barra superior y del header. */
body.video-header-layout{padding-top:0;}
body.video-header-layout .topbar{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:70;
  background:rgba(255,255,255,.54);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.42);
}
body.video-header-layout .header{
  position:absolute;
  top:34px;
  left:0;
  width:100%;
  z-index:69;
  background:rgba(255,255,255,.50);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  border-bottom:1px solid rgba(255,255,255,.45);
  box-shadow:none;
}
body.video-header-layout .hero-video{
  min-height:430px;
  height:430px;
  padding-top:120px;
  align-items:center;
}
body.video-header-layout .hero-shade{
  background:linear-gradient(90deg,rgba(255,252,247,.94) 0%,rgba(255,252,247,.78) 34%,rgba(255,255,255,.12) 62%);
}
body.video-header-layout .hero-content{margin-top:14px;}
body.video-header-layout .dots{bottom:28px;}

@media (min-width:901px) and (max-width:1440px){
  body.video-header-layout .header{top:32px;}
  body.video-header-layout .hero-video{height:405px;min-height:405px;padding-top:112px;}
  body.video-header-layout .hero-content{margin-top:10px;}
}
@media(max-width:900px){
  body.video-header-layout .topbar{position:relative;background:#f8f2e8;backdrop-filter:none;-webkit-backdrop-filter:none;}
  body.video-header-layout .header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
  body.video-header-layout .hero-video{height:420px;min-height:420px;padding-top:0;}
}

/* Ajuste solicitado: header y barra superior completamente transparentes sobre el video. */
body.video-header-layout .topbar{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:0 !important;
}
body.video-header-layout .header{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
body.video-header-layout .header::before,
body.video-header-layout .topbar::before{
  display:none !important;
}

@media(max-width:900px){
  body.video-header-layout .topbar{
    background:transparent !important;
  }
  body.video-header-layout .header{
    background:transparent !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}


/* Actualización: se elimina la barra superior/topbar.
   El header queda directamente sobre el video desde el borde superior. */
.topbar{display:none !important;}
body.video-header-layout .header{
  top:0 !important;
}
body.video-header-layout .hero-video{
  padding-top:96px;
  min-height:396px;
  height:396px;
}
@media (min-width:901px) and (max-width:1440px){
  body.video-header-layout .header{top:0 !important;}
  body.video-header-layout .hero-video{
    padding-top:88px;
    min-height:373px;
    height:373px;
  }
}
@media(max-width:900px){
  body.video-header-layout .header{position:absolute;top:0 !important;}
  body.video-header-layout .hero-video{
    padding-top:94px;
    min-height:420px;
    height:420px;
  }
}
@media(max-width:560px){
  body.video-header-layout .hero-video{
    padding-top:88px;
    min-height:410px;
    height:410px;
  }
}

/* Ajuste final: tamaño del hero estilo Pandora.
   Solo se aumenta la altura del banner para que ocupe la pantalla estándar de laptop/escritorio. */
body.video-header-layout .hero-video{
  height:100vh !important;
  min-height:680px !important;
  padding-top:96px !important;
  align-items:center !important;
}
body.video-header-layout .hero-bg-video{
  height:100% !important;
  object-fit:cover !important;
}
body.video-header-layout .dots{
  bottom:42px !important;
}
@media (min-width:901px) and (max-width:1440px){
  body.video-header-layout .hero-video{
    height:100vh !important;
    min-height:640px !important;
    padding-top:88px !important;
  }
}
@media(max-width:900px){
  body.video-header-layout .hero-video{
    height:82vh !important;
    min-height:560px !important;
    padding-top:94px !important;
  }
}
@media(max-width:560px){
  body.video-header-layout .hero-video{
    height:78vh !important;
    min-height:520px !important;
    padding-top:88px !important;
  }
}

/* Ocultar indicadores/puntos del hero */
.hero .dots, .hero-video .dots { display: none !important; }


/* Actualización: topbar de búsqueda visible sobre el hero.
   Se reactivó la barra superior y se agregó lupa + campo Buscar. */
.topbar.search-topbar{
  display:flex !important;
  position:absolute !important;
  top:0;
  left:0;
  width:100%;
  height:52px;
  z-index:80;
  background:transparent !important;
  border-bottom:0 !important;
  justify-content:center;
  align-items:center;
  padding:0 46px;
  pointer-events:none;
}
.topbar-search-form{
  width:min(460px,44vw);
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#111;
  border-bottom:1.6px solid rgba(17,17,17,.72);
  pointer-events:auto;
}
.topbar-search-form input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#111;
  font-family:'Lato',sans-serif;
  font-size:13px;
  font-weight: 700 !important;
  text-align:left;
  padding:0 4px;
}
.topbar-search-form input::placeholder{color:#111;opacity:.9;}
.topbar-search-icon{
  width:22px;
  height:22px;
  stroke:#111;
  stroke-width:1.9;
  fill:none;
  flex:0 0 auto;
}
body.video-header-layout .header{
  top:52px !important;
}
body.video-header-layout .hero-video{
  padding-top:148px !important;
}
@media (min-width:901px) and (max-width:1440px){
  .topbar.search-topbar{height:48px;padding-inline:40px;}
  .topbar-search-form{width:min(420px,46vw);height:34px;}
  body.video-header-layout .header{top:48px !important;}
  body.video-header-layout .hero-video{padding-top:136px !important;}
}
@media(max-width:900px){
  .topbar.search-topbar{height:46px;padding:0 18px;}
  .topbar-search-form{width:min(360px,70vw);height:32px;}
  body.video-header-layout .header{top:46px !important;position:absolute !important;}
  body.video-header-layout .hero-video{padding-top:140px !important;}
}
@media(max-width:560px){
  .topbar.search-topbar{height:44px;justify-content:flex-end;padding:0 16px;}
  .topbar-search-form{width:160px;gap:8px;}
  .topbar-search-form input{font-size:13px;}
  .topbar-search-icon{width:19px;height:19px;}
  body.video-header-layout .header{top:44px !important;}
  body.video-header-layout .hero-video{padding-top:132px !important;}
}


/* Catálogo emergente al presionar Comprar ahora */
.catalog-modal{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;padding:24px}
.catalog-modal.active{display:flex}
.catalog-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.48)}
.catalog-panel{position:relative;width:min(1080px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 28px 80px rgba(0,0,0,.28);padding:30px}
.catalog-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:13px;line-height:1;cursor:pointer;color:#111}
.catalog-header{text-align:center;margin-bottom:22px}
.catalog-header span{display:block;color:var(--gold);font-size:13px;text-transform:uppercase;font-weight: 700 !important;letter-spacing:0.025em;margin-bottom:6px}
.catalog-header h2{font-family:'Lato', sans-serif !important;font-size:13px;text-transform:uppercase;margin:0 0 8px}
.catalog-header p{margin:0;color:#555}
.catalog-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:12px;align-items:end;margin:0 0 18px;padding:16px;background:#fff8ef;border:1px solid #eadfce;border-radius:8px}
.catalog-filters label{display:grid;gap:6px;text-align:left}
.catalog-filters span{font-size:13px;font-weight: 700 !important;text-transform:uppercase;letter-spacing:0.025em;color:#8a6b2f}
.catalog-filters input,.catalog-filters select{width:100%;height:42px;border:1px solid #d9cbb8;border-radius:5px;padding:0 12px;background:#fff;color:#222;font-family:'Lato', sans-serif;font-size:13px;outline:none}
.catalog-filters input:focus,.catalog-filters select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(186,139,55,.13)}
.catalog-clear{height:42px;white-space:nowrap;padding-left:18px;padding-right:18px}
.catalog-count{margin:-4px 0 14px;text-align:center;font-size:13px;color:#6a6258;font-weight: 700 !important}
.catalog-empty{grid-column:1/-1;text-align:center;border:1px dashed #d9cbb8;background:#fffdf9;border-radius:8px;padding:34px 20px;color:#6a6258}
.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.catalog-item{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;border:1px solid #e5e0d8;border-radius:7px;padding:14px;background:#fffdf9}
.catalog-item img{width:150px;height:130px;object-fit:contain;background:#fff;border-radius:5px}
.catalog-item h3{margin:0 0 6px;font-size:13px}
.catalog-item p{margin:0 0 10px;font-size:13px;color:#666}
.catalog-item strong{display:block;margin-bottom:12px;font-size:13px}
.catalog-cart{max-width:190px}
.catalog-view-all{display:flex;align-items:center;justify-content:center;width:max-content;min-width:240px;max-width:100%;height:46px;margin:22px auto 0;padding:0 26px;border:0;border-radius:999px;background:#111;color:#fff;text-align:center;font-weight: 700 !important;text-transform:uppercase;font-size:13px;letter-spacing:0.025em;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.12);transition:transform .2s ease,background .2s ease,color .2s ease}
.catalog-view-all:hover{transform:translateY(-2px);background:var(--gold);color:#111}
.catalog-page-button{position:sticky;bottom:0;z-index:2}
body.catalog-open{overflow:hidden}
@media(max-width:960px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-clear{grid-column:1/-1;width:100%}}
@media(max-width:720px){.catalog-panel{padding:24px 18px}.catalog-filters{grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr}.catalog-item{grid-template-columns:110px 1fr}.catalog-item img{width:110px;height:105px}.catalog-header h2{font-size:13px}}


/* Panel de administración */
.admin-body{background:#fbf7ef;color:#1d1a16;min-height:100vh;padding:0;font-family:'Lato',sans-serif;}
.admin-header{display:grid;grid-template-columns:170px 1fr auto;gap:24px;align-items:center;padding:24px 48px;background:#fff;border-bottom:1px solid #eadfce;box-shadow:0 6px 26px rgba(47,35,18,.06);}
.admin-logo img{width:150px;height:auto;display:block;}
.admin-header span{display:block;color:var(--gold);font-size:13px;font-weight: 700 !important;letter-spacing:0.025em;text-transform:uppercase;margin-bottom:4px;}
.admin-header h1{font-family:'Lato', sans-serif !important;margin:0;font-size:13px;font-weight: 700 !important;}
.admin-main{width:min(1180px,calc(100% - 48px));margin:34px auto 60px;display:grid;grid-template-columns:1fr;gap:28px;}
.admin-card{background:#fff;border:1px solid #eadfce;border-radius:10px;padding:28px;box-shadow:0 12px 38px rgba(47,35,18,.07);}
.admin-card h2{font-family:'Lato', sans-serif !important;font-size:13px;text-transform:none;margin:0 0 8px;}
.admin-card p{margin:0 0 22px;color:#6a6258;line-height:1.6;}
.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.admin-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight: 700 !important;text-transform:uppercase;letter-spacing:0.025em;color:#3a332b;}
.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid #d9ccba;background:#fffdf9;border-radius:6px;padding:13px 14px;font:500 14px Inter,Arial,sans-serif;color:#1d1a16;outline:none;}
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,137,73,.14);}
.admin-form small{font-size:13px;color:#7d7469;font-weight:500;text-transform:none;letter-spacing:0.025em;}
.full-field{grid-column:1/-1;}
.admin-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.btn.danger,.danger{border-color:#b77b7b !important;color:#8f2e2e !important;background:#fffafa !important;}
.admin-products{display:grid;gap:14px;}
.admin-product-row{display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;border:1px solid #eadfce;background:#fffdf9;border-radius:8px;padding:14px;}
.admin-product-row img{width:120px;height:100px;object-fit:contain;background:#fff;border-radius:6px;}
.admin-product-row h3{margin:0 0 5px;font-size:13px;}
.admin-product-row p{margin:0 0 8px;color:#6a6258;font-size:13px;}
.admin-product-row strong{display:block;margin-bottom:6px;}
.admin-product-row span{display:inline-block;font-size:13px;font-weight: 700 !important;color:var(--gold);text-transform:uppercase;letter-spacing:0.025em;}
.admin-row-actions{display:flex;gap:10px;align-items:center;}
@media(max-width:820px){.admin-header{grid-template-columns:1fr;gap:14px;padding:22px}.admin-main{width:calc(100% - 28px);margin-top:22px}.admin-form{grid-template-columns:1fr}.admin-product-row{grid-template-columns:90px 1fr}.admin-product-row img{width:90px;height:84px}.admin-row-actions{grid-column:1/-1}.admin-header h1{font-size:13px}}


/* Login de administración */
.login-body{min-height:100vh;margin:0;background:linear-gradient(135deg,#fbf7ef 0%,#fff 48%,#f5ecdd 100%);font-family:'Lato',sans-serif;color:#1d1a16;display:grid;place-items:center;padding:28px;}
.login-page{width:100%;display:grid;place-items:center;}
.login-card{width:min(440px,100%);background:#fff;border:1px solid #eadfce;border-radius:12px;box-shadow:0 24px 70px rgba(47,35,18,.12);padding:34px 32px;text-align:center;}
.login-logo{display:inline-flex;justify-content:center;margin-bottom:18px;}
.login-logo img{width:190px;height:auto;}
.login-kicker{display:block;color:var(--gold);font-size:13px;font-weight: 700 !important;letter-spacing:0.025em;text-transform:uppercase;margin-bottom:8px;}
.login-card h1{font-family:'Lato', sans-serif !important;font-size:13px;line-height:1;margin:0 0 10px;font-weight: 700 !important;}
.login-card p{margin:0 0 22px;color:#6a6258;line-height:1.6;font-size:13px;}
.login-form{display:grid;gap:16px;text-align:left;margin-top:18px;}
.login-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight: 700 !important;text-transform:uppercase;letter-spacing:0.025em;color:#3a332b;}
.login-form input{width:100%;border:1px solid #d9ccba;background:#fffdf9;border-radius:6px;padding:14px 15px;font:600 14px Inter,Arial,sans-serif;color:#1d1a16;outline:none;}
.login-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,137,73,.14);}
.login-submit{width:100%;height:48px;margin-top:4px;}
.login-error{min-height:20px;margin:0!important;color:#8f2e2e!important;text-align:center;font-weight: 700 !important;}
.login-note{margin-top:14px;background:#fff8ef;border:1px solid #eadfce;border-radius:7px;padding:12px 14px;font-size:13px;color:#5a5046;line-height:1.55;}
.login-back{display:inline-block;margin-top:18px;color:var(--gold);font-size:13px;font-weight: 700 !important;text-transform:uppercase;letter-spacing:0.025em;}
.admin-header-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;}
.admin-header-actions .btn{width:auto;min-width:132px;padding:0 18px;height:38px;}
@media(max-width:820px){.admin-header-actions{justify-content:flex-start;flex-wrap:wrap}.login-card{padding:28px 22px}.login-card h1{font-size:13px}.login-logo img{width:165px}}

/* Icono de usuario en el header: acceso al login del panel de administración */
.admin-login-icon{
  text-decoration:none;
}
.admin-login-icon:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:6px;
  border-radius:999px;
}


/* Página completa de catálogo */
.catalog-page-body{
  background:#fffaf4;
  color:var(--text);
}
.catalog-page-body .catalog-topbar{
  position:relative !important;
  display:flex !important;
  height:50px;
  background:#fbf4e9 !important;
  border-bottom:1px solid #eadfce !important;
  pointer-events:auto !important;
}
.catalog-page-body .catalog-header-main{
  position:sticky !important;
  top:0 !important;
  background:#fff !important;
  border-bottom:1px solid #eadfce !important;
  box-shadow:0 8px 28px rgba(47,35,18,.06) !important;
}
.catalog-page-main{
  width:100%;
}
.catalog-hero-page{
  min-height:260px;
  padding:76px 34px 58px;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    linear-gradient(90deg,rgba(255,250,244,.96),rgba(255,250,244,.82)),
    url('assets/hero-bg.jpg') center/cover no-repeat;
  border-bottom:1px solid #eadfce;
}
.catalog-hero-page span{
  color:var(--gold);
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.catalog-hero-page h1{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1;
  margin:0 0 14px;
  font-weight: 700 !important;
}
.catalog-hero-page p{
  max-width:690px;
  margin:0;
  color:#62584d;
  line-height:1.7;
  font-size:13px;
}
.catalog-layout-section{
  width:min(1320px,calc(100% - 64px));
  margin:34px auto 54px;
  display:grid;
  grid-template-columns:310px 1fr;
  gap:28px;
  align-items:start;
}
.catalog-sidebar{
  position:sticky;
  top:118px;
  background:#fff;
  border:1px solid #eadfce;
  border-radius:12px;
  padding:22px;
  box-shadow:0 14px 40px rgba(47,35,18,.06);
}
.sidebar-title span,
.catalog-results-head span{
  display:block;
  color:var(--gold);
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.sidebar-title h2,
.catalog-results-head h2{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.05;
  margin:0 0 18px;
  text-transform:none;
}
.catalog-page-filters{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:15px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}
.catalog-page-filters .catalog-clear{
  width:100%;
  height:44px;
  margin-top:2px;
}
.catalog-results-panel{
  background:#fff;
  border:1px solid #eadfce;
  border-radius:12px;
  padding:26px;
  box-shadow:0 14px 40px rgba(47,35,18,.06);
}
.catalog-results-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  border-bottom:1px solid #eadfce;
  padding-bottom:18px;
  margin-bottom:22px;
}
.catalog-results-head h2{margin-bottom:0;}
.catalog-results-head .catalog-count{
  margin:0;
  text-align:right;
  white-space:nowrap;
  color:#6a6258;
}
.catalog-page-grid{
  grid-template-columns:repeat(3,1fr) !important;
  gap:22px !important;
}
.catalog-page-grid .catalog-item{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:0;
  overflow:hidden;
  background:#fffdf9;
  border-radius:10px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.catalog-page-grid .catalog-item:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(47,35,18,.1);
}
.catalog-page-grid .catalog-item img{
  width:100%;
  height:250px;
  object-fit:contain;
  padding:18px;
  background:#fff;
  border-radius:0;
  border-bottom:1px solid #eee6dc;
}
.catalog-page-grid .catalog-item div{
  padding:18px;
}
.catalog-page-grid .catalog-item h3{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  margin-bottom:8px;
}
.catalog-page-grid .catalog-item p{
  min-height:40px;
}
.catalog-page-grid .catalog-item strong{
  font-size:13px;
  color:#111;
}
.catalog-page-grid .catalog-cart{
  max-width:none;
  width:100%;
  height:40px;
}
.catalog-footer{
  margin-top:0;
}
@media(max-width:1100px){
  .catalog-layout-section{grid-template-columns:260px 1fr;width:min(100% - 40px,1120px);gap:20px;}
  .catalog-page-grid{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:820px){
  .catalog-layout-section{grid-template-columns:1fr;width:calc(100% - 28px);}
  .catalog-sidebar{position:relative;top:auto;}
  .catalog-results-head{align-items:flex-start;flex-direction:column;}
  .catalog-results-head .catalog-count{text-align:left;}
  .catalog-hero-page{padding:54px 22px 42px;min-height:220px;}
  .catalog-hero-page h1{font-size:13px;}
}
@media(max-width:560px){
  .catalog-page-grid{grid-template-columns:1fr !important;}
  .catalog-page-grid .catalog-item img{height:220px;}
  .catalog-hero-page h1{font-size:13px;}
}

/* Catálogo más amplio: la página de productos queda de borde a borde en laptop/escritorio. */
.catalog-layout-section{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:34px 18px 54px !important;
  box-sizing:border-box !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  gap:18px !important;
}
.catalog-results-panel,
.catalog-sidebar{
  border-radius:0 !important;
}
.catalog-page-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.catalog-page-grid .catalog-item img{
  height:230px !important;
}
@media(max-width:1280px){
  .catalog-layout-section{
    grid-template-columns:270px minmax(0,1fr) !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .catalog-page-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:980px){
  .catalog-layout-section{grid-template-columns:1fr !important;padding:24px 14px 44px !important;}
  .catalog-sidebar{position:relative !important;top:auto !important;}
  .catalog-page-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:560px){
  .catalog-layout-section{padding-left:0 !important;padding-right:0 !important;}
  .catalog-sidebar,.catalog-results-panel{border-left:0 !important;border-right:0 !important;}
  .catalog-page-grid{grid-template-columns:1fr !important;}
}

/* Catálogo sin hero: los filtros y productos comienzan directamente debajo del header. */
.catalog-page-main .catalog-layout-section{
  padding-top:28px !important;
}


/* Catálogo con fondo blanco */
.catalog-page-body{
  background:#ffffff !important;
}
.catalog-page-main{
  background:#ffffff !important;
}
.catalog-page-body .catalog-topbar,
.catalog-page-body .catalog-header-main,
.catalog-sidebar,
.catalog-results-panel,
.catalog-page-grid .catalog-item,
.catalog-page-grid .catalog-item img,
.catalog-empty{
  background:#ffffff !important;
}
.catalog-page-filters input,
.catalog-page-filters select{
  background:#ffffff !important;
}

/* Ajuste: quitar las líneas doradas del header/topbar en la página de catálogo */
.catalog-page-body .catalog-topbar,
.catalog-page-body .catalog-header-main{
  border-bottom:0 !important;
  box-shadow:none !important;
}
.catalog-page-body .header,
.catalog-page-body .topbar{
  border-bottom:0 !important;
}

/* Ajuste: quitar los cuadros del filtro y del catálogo en catalogo.html */
.catalog-page-body .catalog-sidebar,
.catalog-page-body .catalog-results-panel{
  border:0 !important;
  box-shadow:none !important;
  background:#ffffff !important;
  border-radius:0 !important;
}

.catalog-page-body .catalog-results-head{
  border-bottom:0 !important;
}

.catalog-page-body .catalog-page-grid .catalog-item{
  border:0 !important;
  box-shadow:none !important;
  background:#ffffff !important;
}

.catalog-page-body .catalog-page-grid .catalog-item:hover{
  box-shadow:none !important;
}

.catalog-page-body .catalog-page-grid .catalog-item img{
  border-bottom:0 !important;
}


/* Ajuste tipográfico: Playfair para títulos y Lato para textos generales */
body,
button,
input,
select,
textarea,
a,
p,
li,
span,
label,
small,
strong,
.catalog-filters input,
.catalog-filters select,
.catalog-page-filters input,
.catalog-page-filters select{
  font-family:'Lato', sans-serif;
}

h1,
h2,
h3,
.hero h1,
.section h2,
.collection-card h3,
.overlay-collections .collection-overlay h3,
.products-section .joyas-title,
.tracking h2,
.whatsapp h2,
.catalog-header h2,
.catalog-hero-page h1,
.sidebar-title h2,
.catalog-results-head h2,
.catalog-page-grid .catalog-item h3,
.admin-header h1,
.admin-card h2,
.login-card h1{
  font-family:'Lato', sans-serif !important;
}


/* Ajuste: precios en pesos colombianos y detalles de producto centrados */
.product-card{
  text-align:center !important;
}
.product-card h3,
.product-card strong,
.product-card .rating{
  text-align:center !important;
}
.product-card .btn{
  margin-left:auto !important;
  margin-right:auto !important;
}
.catalog-item div,
.catalog-page-grid .catalog-item div{
  text-align:center !important;
  align-items:center !important;
}
.catalog-item h3,
.catalog-item p,
.catalog-item strong,
.catalog-page-grid .catalog-item h3,
.catalog-page-grid .catalog-item p,
.catalog-page-grid .catalog-item strong{
  text-align:center !important;
}
.catalog-page-grid .catalog-cart{
  margin-left:auto !important;
  margin-right:auto !important;
}
.admin-product-row strong{
  color:#111 !important;
}

/* Estrellas y opiniones en productos del catálogo */
.product-reviews{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:8px 0 13px;
  font-family:'Lato', sans-serif;
  font-size:13px;
  line-height:1;
  color:#6b6258;
}
.review-stars{
  letter-spacing:0.025em;
  color:#c89b3c;
  font-size:13px;
}
.review-score{
  font-weight: 700 !important;
  color:#2f2a24;
}
.review-count{
  color:#7c7369;
}
.catalog-page-grid .catalog-item .product-reviews,
.catalog-item .product-reviews{
  margin-top:9px;
  margin-bottom:14px;
}
.stock-status{
  color:#6b6b6b !important;
  margin-top:0 !important;
}
@media(max-width:560px){
  .product-reviews{font-size:13px;gap:5px;}
  .review-stars{font-size:13px;}
}

/* Ajuste: reducir espacios dentro de cada producto del catálogo */
.catalog-page-grid{
  gap:14px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item{
  min-height:auto !important;
}
.catalog-page-body .catalog-page-grid .catalog-item img{
  height:190px !important;
  padding:10px !important;
  margin:0 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item div{
  padding:10px 12px 14px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item h3{
  font-size:13px;
  line-height:1.15 !important;
  margin:0 0 5px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item p{
  min-height:auto !important;
  margin:0 0 7px !important;
  font-size:13px;
  line-height:1.35 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item strong{
  display:block !important;
  font-size:13px;
  margin:0 0 7px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item .product-reviews,
.catalog-page-body .catalog-item .product-reviews{
  margin:5px 0 9px !important;
}
.catalog-page-body .catalog-page-grid .catalog-cart{
  height:34px !important;
  font-size:13px;
}
.catalog-page-body .stock-status{
  margin:0 0 7px !important;
  font-size:13px;
}

/* También compacta el catálogo emergente si se usa desde la página principal */
.catalog-grid{
  gap:14px !important;
}
.catalog-item{
  padding:10px !important;
  gap:12px !important;
}
.catalog-item img{
  height:112px !important;
}
.catalog-item h3{
  margin:0 0 4px !important;
}
.catalog-item p{
  margin:0 0 7px !important;
}
.catalog-item strong{
  margin-bottom:7px !important;
}
@media(max-width:1280px){
  .catalog-page-body .catalog-page-grid .catalog-item img{height:180px !important;}
}
@media(max-width:560px){
  .catalog-page-body .catalog-page-grid .catalog-item img{height:180px !important;}
  .catalog-page-body .catalog-page-grid .catalog-item div{padding:10px 14px 16px !important;}
}

/* Ajuste final: compactar espacio entre precio, estrellas/opiniones y botón en catálogo */
.catalog-page-body .catalog-page-grid .catalog-item strong,
.catalog-page-body .catalog-item strong{
  margin:0 0 2px !important;
  line-height:1.1 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item .product-reviews,
.catalog-page-body .catalog-item .product-reviews{
  margin:2px 0 5px !important;
  line-height:1 !important;
}
.catalog-page-body .catalog-page-grid .catalog-cart,
.catalog-page-body .catalog-item .catalog-cart{
  margin-top:0 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item div{
  padding-bottom:10px !important;
}


/* Carrito funcional global */
.cart-drawer{position:fixed;inset:0;z-index:1200;display:none;pointer-events:none}
.cart-drawer.active{display:block;pointer-events:auto}
.cart-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.28)}
.cart-panel{position:absolute;top:0;right:0;width:min(430px,100%);height:100%;background:#fff;box-shadow:-18px 0 60px rgba(0,0,0,.18);padding:28px 24px;display:flex;flex-direction:column;gap:18px;transform:translateX(100%);transition:transform .25s ease;font-family:'Lato',sans-serif}
.cart-drawer.active .cart-panel{transform:translateX(0)}
.cart-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eee4d6;padding-bottom:16px}
.cart-header span{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:0.025em;font-size:13px;font-weight: 700 !important;margin-bottom:5px}
.cart-header h2{margin:0;font-family:'Lato', sans-serif !important;font-size:13px;line-height:1.05;color:#111}
.cart-close{border:0;background:transparent;font-size:13px;line-height:1;cursor:pointer;color:#111}
.cart-empty{margin:8px 0 0;color:#6b6258;font-size:13px;line-height:1.5;text-align:center;background:#fffaf3;border:1px solid #f0e5d4;border-radius:8px;padding:18px}
.cart-items{display:flex;flex-direction:column;gap:14px;overflow:auto;padding-right:4px}
.cart-item{display:grid;grid-template-columns:82px 1fr;gap:13px;align-items:center;border-bottom:1px solid #f0ebe4;padding-bottom:14px}
.cart-item img{width:82px;height:82px;object-fit:cover;background:#f8f4ee;border-radius:6px}
.cart-item h3{margin:0 0 4px;font-family:'Lato', sans-serif !important;font-size:13px;color:#111}
.cart-item p{margin:0 0 10px;font-size:13px;color:#6b6258}
.cart-qty{display:flex;align-items:center;gap:8px}
.cart-qty button{border:1px solid #d4a14a;background:#fff;color:#111;height:28px;min-width:28px;border-radius:4px;cursor:pointer;font-weight: 700 !important}
.cart-qty span{min-width:20px;text-align:center;font-weight: 700 !important;font-size:13px}
.cart-remove{border:0!important;background:transparent!important;color:#8a1f1f!important;font-size:13px;font-weight: 700 !important;text-decoration:underline;margin-left:auto;padding:0 4px}
.cart-summary{margin-top:auto;border-top:1px solid #eee4d6;padding-top:18px;display:grid;gap:10px}
.cart-summary div{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.cart-summary strong{font-size:13px;color:#111}
.cart-checkout,.cart-clear{width:100%;height:42px}
.cart-open{overflow:hidden}
@media(max-width:560px){.cart-panel{padding:22px 18px}.cart-header h2{font-size:13px}.cart-item{grid-template-columns:72px 1fr}.cart-item img{width:72px;height:72px}}

/* Ajuste solicitado: botones con texto y borde negro; cambio de color al pasar el cursor */
.btn,
.primary,
.outline,
.whatsapp-btn,
.catalog-clear,
.catalog-cart,
.cart-checkout,
.cart-clear,
.login-submit,
.admin-actions .btn,
.admin-header-actions .btn,
.tracking-form .btn,
.tracking-form button{
  background:#ffffff !important;
  color:#111111 !important;
  border:1.5px solid #111111 !important;
  box-shadow:none !important;
  transition:background-color .22s ease, color .22s ease, border-color .22s ease, transform .18s ease !important;
}

.btn:hover,
.primary:hover,
.outline:hover,
.whatsapp-btn:hover,
.catalog-clear:hover,
.catalog-cart:hover,
.cart-checkout:hover,
.cart-clear:hover,
.login-submit:hover,
.admin-actions .btn:hover,
.admin-header-actions .btn:hover,
.tracking-form .btn:hover,
.tracking-form button:hover{
  background:#111111 !important;
  color:#ffffff !important;
  border-color:#111111 !important;
  transform:translateY(-1px);
}

/* Mantener botones de alerta identificables, pero también con borde negro como base */
.btn.danger,
.danger{
  background:#ffffff !important;
  color:#111111 !important;
  border-color:#111111 !important;
}
.btn.danger:hover,
.danger:hover{
  background:#111111 !important;
  color:#ffffff !important;
  border-color:#111111 !important;
}

/* Botones pequeños del carrito lateral */
.cart-qty button,
.cart-remove{
  background:#ffffff !important;
  color:#111111 !important;
  border:1.3px solid #111111 !important;
  transition:background-color .22s ease, color .22s ease, border-color .22s ease !important;
}
.cart-qty button:hover,
.cart-remove:hover{
  background:#111111 !important;
  color:#ffffff !important;
  border-color:#111111 !important;
}

/* Ajuste solicitado: filtros con letras y bordes negros, y cambio al pasar el cursor */
.catalog-filters input,
.catalog-filters select,
.catalog-page-filters input,
.catalog-page-filters select,
.admin-form input,
.admin-form select,
.admin-form textarea,
.login-form input{
  background:#ffffff !important;
  color:#111111 !important;
  border:1.5px solid #111111 !important;
  box-shadow:none !important;
  transition:background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

.catalog-filters input:hover,
.catalog-filters select:hover,
.catalog-page-filters input:hover,
.catalog-page-filters select:hover,
.admin-form input:hover,
.admin-form select:hover,
.admin-form textarea:hover,
.login-form input:hover{
  border-color:#111111 !important;
  box-shadow:0 0 0 3px rgba(17,17,17,.08) !important;
}

.catalog-filters input:focus,
.catalog-filters select:focus,
.catalog-page-filters input:focus,
.catalog-page-filters select:focus,
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.login-form input:focus{
  background:#ffffff !important;
  color:#111111 !important;
  border-color:#111111 !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(17,17,17,.12) !important;
}

.catalog-filters input::placeholder,
.catalog-page-filters input::placeholder,
.admin-form input::placeholder,
.admin-form textarea::placeholder,
.login-form input::placeholder{
  color:#555555 !important;
}

.catalog-filters span,
.catalog-page-filters span,
.sidebar-title span,
.admin-form label,
.login-form label{
  color:#111111 !important;
}

/* Ajuste solicitado: imágenes del catálogo en formato 1:1, 277.5 x 277.5 en laptop/escritorio */
.catalog-page-body .catalog-page-grid{
  grid-template-columns:repeat(3,minmax(277.5px,1fr)) !important;
  gap:18px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item{
  align-items:center !important;
}
.catalog-page-body .catalog-page-grid .catalog-item img{
  width:277.5px !important;
  height:277.5px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:contain !important;
  padding:10px !important;
  margin:0 auto !important;
  display:block !important;
}
@media(max-width:1280px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(3,minmax(277.5px,1fr)) !important;
  }
}
@media(max-width:980px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(2,minmax(277.5px,1fr)) !important;
  }
}
@media(max-width:620px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:1fr !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item img{
    width:min(277.5px,100%) !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
  }
}

/* Ajuste solicitado: mostrar 4 tarjetas de productos por fila en catálogo en laptop/escritorio */
.catalog-page-body .catalog-layout-section{
  grid-template-columns:240px minmax(0,1fr) !important;
  gap:12px !important;
  padding-left:12px !important;
  padding-right:12px !important;
}
.catalog-page-body .catalog-sidebar{
  padding:18px 14px !important;
}
.catalog-page-body .catalog-results-panel{
  padding:18px 10px !important;
}
.catalog-page-body .catalog-page-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item img{
  width:100% !important;
  max-width:300px !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:contain !important;
  padding:8px !important;
  margin:0 auto !important;
}
@media(max-width:1180px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
  }
}
@media(max-width:980px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:1fr !important;
    padding:24px 14px 44px !important;
  }
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:560px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:1fr !important;
  }
}

/* Ajuste: tarjetas más juntas para mantener el filtro sin deformarse */
.catalog-page-body .catalog-layout-section{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:240px minmax(0,1fr) !important;
  gap:8px !important;
  padding-left:8px !important;
  padding-right:8px !important;
}
.catalog-page-body .catalog-sidebar{
  width:240px !important;
  min-width:240px !important;
  padding:16px 12px !important;
}
.catalog-page-body .catalog-page-filters{
  gap:10px !important;
}
.catalog-page-body .catalog-results-panel{
  min-width:0 !important;
  padding:16px 6px !important;
}
.catalog-page-body .catalog-page-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
}
.catalog-page-body .catalog-page-grid .catalog-item{
  min-width:0 !important;
  padding:6px 5px 10px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item img{
  width:100% !important;
  max-width:300px !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  padding:4px !important;
  object-fit:contain !important;
}
.catalog-page-body .catalog-page-grid .catalog-item h3{
  font-size:13px;
  line-height:1.15 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item p,
.catalog-page-body .catalog-page-grid .catalog-item .product-rating,
.catalog-page-body .catalog-page-grid .catalog-item .review-count{
  font-size:13px;
  line-height:1.25 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item strong{
  font-size:13px;
}
.catalog-page-body .catalog-page-grid .catalog-cart{
  width:100% !important;
  padding:10px 8px !important;
  font-size:13px;
}
@media(max-width:1180px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:6px !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .catalog-page-body .catalog-sidebar{
    width:220px !important;
    min-width:220px !important;
    padding:14px 10px !important;
  }
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
  }
}
@media(max-width:1024px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:880px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:1fr !important;
    padding:20px 10px 40px !important;
  }
  .catalog-page-body .catalog-sidebar{
    width:auto !important;
    min-width:0 !important;
  }
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:560px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:1fr !important;
  }
}

/* Corrección real: reducir espacios horizontales señalados en rojo.
   Las tarjetas dejan de ocupar columnas flexibles gigantes y se fijan a 300px. */
.catalog-page-body .catalog-results-panel{
  padding-left:18px !important;
  padding-right:18px !important;
}
.catalog-page-body .catalog-page-grid{
  display:grid !important;
  grid-template-columns:repeat(4, 300px) !important;
  justify-content:start !important;
  justify-items:center !important;
  align-items:start !important;
  column-gap:18px !important;
  row-gap:34px !important;
}
.catalog-page-body .catalog-page-grid .catalog-item{
  width:300px !important;
  max-width:300px !important;
  min-width:300px !important;
  box-sizing:border-box !important;
}
.catalog-page-body .catalog-page-grid .catalog-item img{
  width:300px !important;
  height:300px !important;
  max-width:300px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:contain !important;
  padding:0 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item div{
  width:100% !important;
  box-sizing:border-box !important;
  padding:12px 8px 10px !important;
}
@media(max-width:1580px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(4, 260px) !important;
    column-gap:14px !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item{
    width:260px !important;
    max-width:260px !important;
    min-width:260px !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item img{
    width:260px !important;
    height:260px !important;
    max-width:260px !important;
  }
}
@media(max-width:1280px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(3, 260px) !important;
    justify-content:center !important;
  }
}
@media(max-width:980px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(2, minmax(0, 300px)) !important;
    justify-content:center !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item{
    width:100% !important;
    min-width:0 !important;
    max-width:300px !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item img{
    width:100% !important;
    height:auto !important;
    max-width:300px !important;
  }
}
@media(max-width:620px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:1fr !important;
  }
}

/* Ajuste: filtro del catálogo más ancho y cómodo */
.catalog-page-body .catalog-layout-section{
  grid-template-columns:360px minmax(0,1fr) !important;
  gap:28px !important;
  padding-left:24px !important;
  padding-right:24px !important;
}
.catalog-page-body .catalog-sidebar{
  width:360px !important;
  min-width:360px !important;
  padding:22px 20px !important;
  box-sizing:border-box !important;
}
.catalog-page-body .catalog-page-filters input,
.catalog-page-body .catalog-page-filters select,
.catalog-page-body .catalog-page-filters button{
  width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:1580px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:330px minmax(0,1fr) !important;
    gap:22px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .catalog-page-body .catalog-sidebar{
    width:330px !important;
    min-width:330px !important;
  }
}
@media(max-width:1280px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:310px minmax(0,1fr) !important;
    gap:18px !important;
  }
  .catalog-page-body .catalog-sidebar{
    width:310px !important;
    min-width:310px !important;
  }
}
@media(max-width:980px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:1fr !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .catalog-page-body .catalog-sidebar{
    width:100% !important;
    min-width:0 !important;
    padding:18px 16px !important;
  }
}

/* Ajuste solicitado: separar un poco más las tarjetas de productos del catálogo sin perder 4 columnas */
.catalog-page-body .catalog-results-panel{
  padding-left:24px !important;
  padding-right:24px !important;
}
.catalog-page-body .catalog-page-grid{
  column-gap:34px !important;
  row-gap:40px !important;
}
@media(min-width:1281px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(4, minmax(260px, 280px)) !important;
    justify-content:start !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item{
    width:100% !important;
    max-width:280px !important;
    min-width:0 !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item img{
    width:100% !important;
    max-width:280px !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
  }
}
@media(min-width:1581px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(4, 285px) !important;
    column-gap:38px !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item{
    width:285px !important;
    max-width:285px !important;
  }
  .catalog-page-body .catalog-page-grid .catalog-item img{
    width:285px !important;
    height:285px !important;
    max-width:285px !important;
  }
}
@media(max-width:1280px){
  .catalog-page-body .catalog-page-grid{
    column-gap:26px !important;
    row-gap:34px !important;
  }
}
@media(max-width:980px){
  .catalog-page-body .catalog-page-grid{
    gap:24px !important;
  }
}

/* Corrección final: compactar el catálogo hacia el borde derecho sin dejar espacio vacío */
.catalog-page-body .catalog-layout-section{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:28px 24px 54px !important;
  grid-template-columns:330px minmax(0,1fr) !important;
  gap:28px !important;
}
.catalog-page-body .catalog-results-panel{
  width:100% !important;
  min-width:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.catalog-page-body .catalog-page-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:28px !important;
  justify-content:stretch !important;
  justify-items:stretch !important;
}
.catalog-page-body .catalog-page-grid .catalog-item{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.catalog-page-body .catalog-page-grid .catalog-item img{
  width:100% !important;
  max-width:300px !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
.catalog-page-body .catalog-page-grid .catalog-cart{
  width:100% !important;
  max-width:none !important;
}
@media(max-width:1280px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:310px minmax(0,1fr) !important;
    gap:22px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .catalog-page-body .catalog-page-grid{
    gap:22px !important;
  }
}
@media(max-width:980px){
  .catalog-page-body .catalog-layout-section{
    grid-template-columns:1fr !important;
    padding:22px 16px 44px !important;
  }
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:560px){
  .catalog-page-body .catalog-page-grid{
    grid-template-columns:1fr !important;
  }
}

/* Selector visual de país/moneda en el header */
.currency-selector{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:4px 2px;
  color:#000;
  font-family:'Lato',sans-serif;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  white-space:nowrap;
}
.flag-co{
  width:24px;
  height:16px;
  display:inline-block;
  border-radius:2px;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(0,0,0,.16);
  background:linear-gradient(to bottom,#fcd116 0 50%,#003893 50% 75%,#ce1126 75% 100%);
}
.currency-text{line-height:1;}
@media(max-width:900px){
  .currency-selector{font-size:13px;gap:6px;}
  .flag-co{width:21px;height:14px;}
}
@media(max-width:640px){
  .currency-selector .currency-text{display:none;}
  .currency-selector{padding:0;min-height:auto;}
}

/* Configuración de precios por gramo */
.pricing-settings-card{border-color:#111 !important;}
.admin-form input[readonly]{background:#f7f7f7;color:#111;font-weight: 700 !important;cursor:not-allowed;}
.admin-product-row small{display:block;margin:4px 0 6px;color:#565656;font-size:13px;font-weight: 700 !important;}
.product-card .product-meta{margin:2px 0 5px;color:#67615a;font-size:13px;line-height:1.35;text-align:center;}
.catalog-page-grid .catalog-item p,.catalog-item p{line-height:1.35;}

.hidden-field {
  display: none !important;
}

.conditional-field input {
  width: 100%;
}


/* Detalles visibles de producto: tipo, talla, peso o cantidad */
.product-details{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:5px 6px;
  margin:4px 0 5px;
  font-family:'Lato',sans-serif;
}
.product-details span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:3px 8px;
  border:1px solid #111;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:13px;
  line-height:1;
  font-weight: 700 !important;
  text-transform:none;
  letter-spacing:0.025em;
}
.catalog-page-grid .catalog-item .product-details{
  margin:5px 0 6px;
}
.catalog-page-grid .catalog-item .product-details span{
  font-size:13px;
  padding:3px 7px;
}
@media(max-width:560px){
  .product-details span{font-size:13px;padding:3px 7px;}
}

/* Selector de talla para cliente en catálogo/productos y carrito */
.size-picker{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin:5px 0 7px;
  font-size:13px;
  color:#111;
  text-align:center;
}
.size-picker span{
  font-weight: 700 !important;
  text-transform:uppercase;
  letter-spacing:0.025em;
}
.size-picker select,
.cart-size-select select{
  height:30px;
  min-width:74px;
  border:1px solid #111;
  border-radius:3px;
  background:#fff;
  color:#111;
  padding:0 8px;
  font-family:'Lato', sans-serif;
  font-size:13px;
  font-weight: 700 !important;
  outline:none;
}
.size-picker select:focus,
.cart-size-select select:focus{
  background:#fff;
  color:#111;
  border-color:#111;
  box-shadow:0 0 0 2px rgba(0,0,0,.08);
}
.single-size strong{
  border:1px solid #111;
  border-radius:3px;
  min-width:64px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  font-size:13px;
}
.cart-size-select{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:13px;
  color:#111;
}
.cart-size-select span{
  font-weight: 700 !important;
  text-transform:uppercase;
  letter-spacing:0.025em;
}
.cart-size-select strong{
  border:1px solid #111;
  border-radius:3px;
  min-width:60px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  font-size:13px;
}


/* Modal de ubicación */
body.location-open {
  overflow: hidden;
}

.location-modal {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.location-modal.active {
  display: flex;
}

.location-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.46);
}

.location-panel {
  position: relative;
  width: min(1120px, 96vw);
  min-height: 520px;
  background: #fff;
  display: grid;
  grid-template-columns: 0.9fr 1.25fr;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.location-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 1px solid #111;
  background: #fff;
  color: #111;
  font-size:13px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  transition: 0.25s ease;
}

.location-close:hover {
  background: #111;
  color: #fff;
}

.location-info {
  padding: 56px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  color: #111;
}

.location-info span {
  text-transform: uppercase;
  letter-spacing:0.025em;
  font-size:13px;
  font-weight: 700 !important;
}

.location-info h2 {
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height: 1;
  margin: 0 0 12px;
}

.location-logo-title {
  margin: 0 0 14px;
}

.location-logo-title img {
  display: block;
  width: min(240px, 72vw);
  height: auto;
  object-fit: contain;
}

.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;
}

.location-info p {
  margin: 0;
  font-size:13px;
  line-height: 1.7;
}

.location-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.location-map {
  min-height: 520px;
  background: #f6f2ed;
}

.location-map iframe {
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
  display: block;
}

@media (max-width: 820px) {
  .location-modal {
    padding: 14px;
  }

  .location-panel {
    width: 100%;
    max-height: 92vh;
    overflow: auto;
    grid-template-columns: 1fr;
  }

  .location-info {
    padding: 54px 24px 28px;
  }

  .location-map,
  .location-map iframe {
    min-height: 360px;
  }
}

/* Corrección: centrar el logo dentro del modal de ubicación */
.location-logo-title{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin:0 0 18px;
}
.location-logo-title img{
  display:block;
  margin:0 auto;
  width:min(260px, 76vw);
  max-width:100%;
  height:auto;
  object-fit:contain;
  transform:none;
}


/* Botón flotante de WhatsApp */
.whatsapp-float{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:1300;
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-family:'Lato',sans-serif;
}
.whatsapp-float-message{
  background:#fff;
  color:#111;
  border:1px solid #111;
  border-radius:999px;
  padding:11px 15px;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  transition:all .22s ease;
  white-space:nowrap;
}
.whatsapp-float-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 14px 34px rgba(37,211,102,.34);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.whatsapp-float-icon svg{
  fill:currentColor;
  display:block;
}
.whatsapp-float:hover .whatsapp-float-message{
  background:#a97817;
  color:#fff;
  border-color:#a97817;
}
.whatsapp-float:hover .whatsapp-float-icon{
  transform:translateY(-3px) scale(1.04);
  background:#a97817;
  box-shadow:0 18px 40px rgba(169,120,23,.32);
}
@media(max-width:700px){
  .whatsapp-float{right:18px;bottom:18px}
  .whatsapp-float-message{display:none}
  .whatsapp-float-icon{width:56px;height:56px}
}

/* Mejora visual de iconos del header */
.header-icons{
  gap:16px !important;
  align-items:center !important;
}
.icon-btn{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(17,17,17,.16) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease !important;
}
.icon-btn:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
}
.header-icons svg{
  width:23px !important;
  height:23px !important;
  stroke:currentColor !important;
  stroke-width:1.75 !important;
}
.location-trigger svg{width:22px !important;height:22px !important;}
.admin-login-icon svg{width:23px !important;height:23px !important;}
.cart svg{width:24px !important;height:24px !important;}
.cart span{
  right:-4px !important;
  top:2px !important;
  background:#111 !important;
  color:#fff !important;
  border:2px solid #fff !important;
  min-width:19px !important;
  height:19px !important;
  font-size:13px;
  line-height:1 !important;
}
.cart:hover span{
  background:#c88b1f !important;
  color:#fff !important;
  border-color:#111 !important;
}
.currency-selector{
  height:44px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(17,17,17,.16) !important;
  background:rgba(255,255,255,.70) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
  color:#111 !important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease !important;
}
.currency-selector:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
}
.flag-co{
  box-shadow:0 0 0 1px rgba(0,0,0,.18) inset !important;
  border-radius:3px !important;
}
.menu-btn{
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(17,17,17,.16) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
  gap:4px !important;
}
.menu-btn span{
  width:21px !important;
  height:2px !important;
  background:currentColor !important;
  transition:background .22s ease !important;
}
.menu-btn:hover span{background:#fff !important;}
.catalog-page-body .header,
.admin-body .admin-header,
.login-body .login-card{
  -webkit-font-smoothing:antialiased;
}
@media(max-width:900px){
  .header-icons{gap:10px !important;}
  .icon-btn{width:40px !important;height:40px !important;}
  .header-icons svg{width:21px !important;height:21px !important;}
  .currency-selector{height:40px !important;padding:0 10px !important;}
}
@media(max-width:560px){
  .header-icons{gap:7px !important;}
  .icon-btn{width:36px !important;height:36px !important;}
  .currency-selector{width:36px !important;height:36px !important;padding:0 !important;justify-content:center !important;}
  .currency-selector .currency-text{display:none !important;}
}


/* Ajuste solicitado: quitar menú hamburguesa y mostrar navegación horizontal debajo del logo */
.menu-btn,
.close-menu{
  display:none !important;
}
.header{
  min-height:126px !important;
  height:auto !important;
  grid-template-columns:1fr auto 1fr !important;
  grid-template-rows:74px 40px !important;
  align-items:center !important;
  row-gap:0 !important;
  padding:0 44px 10px !important;
}
.brand{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:center !important;
  justify-self:center !important;
}
.header-icons{
  grid-column:3 !important;
  grid-row:1 !important;
  justify-self:end !important;
}
.header-nav{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:34px !important;
  position:static !important;
  width:auto !important;
  transform:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  z-index:auto !important;
}
.header-nav a{
  font-family:'Lato',sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
  color:#111 !important;
  line-height:1 !important;
  padding:10px 2px !important;
  border-bottom:1px solid transparent !important;
  transition:color .2s ease,border-color .2s ease !important;
}
.header-nav a:hover{
  color:#000 !important;
  border-bottom-color:#111 !important;
}
body.video-header-layout .header{
  min-height:126px !important;
}
body.video-header-layout .hero-video{
  padding-top:174px !important;
}
.catalog-page-body .catalog-header-main{
  min-height:126px !important;
  border-bottom:0 !important;
}
.catalog-page-main{
  padding-top:0 !important;
}
@media (min-width:901px) and (max-width:1440px){
  .header{
    min-height:118px !important;
    grid-template-rows:70px 36px !important;
    padding:0 38px 9px !important;
  }
  .brand img{width:190px !important;}
  .header-nav{gap:28px !important;}
  .header-nav a{font-size:13px;}
  body.video-header-layout .hero-video{padding-top:166px !important;}
}
@media(max-width:900px){
  .header{
    min-height:132px !important;
    grid-template-columns:1fr auto !important;
    grid-template-rows:76px auto !important;
    padding:0 18px 12px !important;
  }
  .brand{
    grid-column:1 !important;
    justify-self:start !important;
  }
  .header-icons{
    grid-column:2 !important;
    justify-self:end !important;
  }
  .header-nav{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    justify-content:flex-start !important;
    gap:20px !important;
    overflow-x:auto !important;
    padding:8px 0 2px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  .header-nav::-webkit-scrollbar{display:none !important;}
  .header-nav a{
    flex:0 0 auto !important;
    font-size:13px;
  }
  body.video-header-layout .hero-video{padding-top:180px !important;}
}
@media(max-width:560px){
  .header{
    min-height:126px !important;
    grid-template-columns:1fr auto !important;
    padding:0 14px 10px !important;
  }
  .brand img{width:150px !important;}
  .header-nav{gap:16px !important;}
  .header-nav a{font-size:13px;}
  body.video-header-layout .hero-video{padding-top:168px !important;}
}

/* Ajuste: bajar el menú horizontal para que no quede pegado al logo */
.header{
  min-height:142px !important;
  grid-template-rows:76px 44px !important;
  row-gap:14px !important;
  padding-bottom:14px !important;
}
.header-nav{
  align-self:end !important;
  padding-top:10px !important;
  margin-top:8px !important;
}
body.video-header-layout .header{
  min-height:142px !important;
}
body.video-header-layout .hero-video{
  padding-top:196px !important;
}
.catalog-page-body .catalog-header-main{
  min-height:142px !important;
}
@media (min-width:901px) and (max-width:1440px){
  .header{
    min-height:136px !important;
    grid-template-rows:72px 42px !important;
    row-gap:12px !important;
    padding-bottom:13px !important;
  }
  .header-nav{
    margin-top:7px !important;
    padding-top:9px !important;
  }
  body.video-header-layout .hero-video{padding-top:188px !important;}
}
@media(max-width:900px){
  .header{
    min-height:148px !important;
    grid-template-rows:78px auto !important;
    row-gap:12px !important;
    padding-bottom:14px !important;
  }
  .header-nav{
    padding-top:10px !important;
    margin-top:6px !important;
  }
  body.video-header-layout .hero-video{padding-top:198px !important;}
}
@media(max-width:560px){
  .header{
    min-height:140px !important;
    row-gap:10px !important;
    padding-bottom:12px !important;
  }
  .header-nav{
    margin-top:5px !important;
    padding-top:8px !important;
  }
  body.video-header-layout .hero-video{padding-top:186px !important;}
}


/* Ajuste: menú principal con categorías visibles */
.header-nav{
  gap:24px !important;
  flex-wrap:wrap !important;
  row-gap:8px !important;
}
.header-nav a{
  white-space:nowrap !important;
}
@media (min-width:901px) and (max-width:1440px){
  .header-nav{gap:20px !important;}
  .header-nav a{font-size:13px; letter-spacing:0.025em;}
}
@media(max-width:900px){
  .header-nav{flex-wrap:nowrap !important;}
}


/* Iconos del header estilo lineal: favoritos, ubicación, usuario y bolsa */
.header-icons{
  gap:22px !important;
  align-items:center !important;
}
.currency-selector{
  display:none !important;
}
.header-icons .icon-btn{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#111 !important;
  display:grid !important;
  place-items:center !important;
  transition:color .22s ease, transform .22s ease, opacity .22s ease !important;
}
.header-icons .icon-btn:hover{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  color:#c88b1f !important;
  transform:translateY(-2px) !important;
}
.header-icons .icon-btn svg{
  width:27px !important;
  height:27px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.55 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.header-icons .wishlist-trigger svg{
  width:28px !important;
  height:28px !important;
}
.header-icons .cart svg{
  width:28px !important;
  height:28px !important;
}
.header-icons .cart span{
  right:-9px !important;
  top:-7px !important;
  background:#c88b1f !important;
  color:#fff !important;
  border:0 !important;
  min-width:17px !important;
  height:17px !important;
  font-size:13px;
  font-weight: 700 !important;
}
.header-icons .cart:hover span{
  background:#111 !important;
  border:0 !important;
}
body.video-header-layout .header-icons .icon-btn{
  color:#fff !important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
}
body.video-header-layout .header-icons .icon-btn:hover{
  color:#c88b1f !important;
}
.catalog-page-body .header-icons .icon-btn,
.admin-body .header-icons .icon-btn,
.login-body .header-icons .icon-btn{
  color:#111 !important;
  filter:none !important;
}
@media(max-width:900px){
  .header-icons{gap:17px !important;}
  .header-icons .icon-btn svg{width:24px !important;height:24px !important;}
  .header-icons .wishlist-trigger svg,.header-icons .cart svg{width:25px !important;height:25px !important;}
}
@media(max-width:560px){
  .header-icons{gap:13px !important;}
  .header-icons .icon-btn svg{width:22px !important;height:22px !important;}
  .header-icons .wishlist-trigger svg,.header-icons .cart svg{width:23px !important;height:23px !important;}
}


/* Ajuste solicitado: iconos negros + bandera Colombia y moneda COP en header */
.header-icons{
  gap:18px !important;
}
.header-icons .icon-btn,
body.video-header-layout .header-icons .icon-btn,
.catalog-page-body .header-icons .icon-btn{
  color:#000 !important;
  filter:none !important;
}
.header-icons .icon-btn:hover,
body.video-header-layout .header-icons .icon-btn:hover,
.catalog-page-body .header-icons .icon-btn:hover{
  color:#000 !important;
  opacity:.62 !important;
  transform:translateY(-1px) !important;
}
.country-currency{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#000 !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  white-space:nowrap !important;
  line-height:1 !important;
}
.flag-co{
  width:24px !important;
  height:16px !important;
  display:flex !important;
  flex-direction:column !important;
  border:1px solid rgba(0,0,0,.24) !important;
  border-radius:2px !important;
  overflow:hidden !important;
  box-shadow:0 1px 2px rgba(0,0,0,.08) !important;
}
.flag-co span:nth-child(1){background:#fcd116 !important;flex:2 !important;}
.flag-co span:nth-child(2){background:#003893 !important;flex:1 !important;}
.flag-co span:nth-child(3){background:#ce1126 !important;flex:1 !important;}
.currency-text{color:#000 !important;}
@media(max-width:900px){
  .country-currency{font-size:13px;gap:5px !important;}
  .flag-co{width:21px !important;height:14px !important;}
}
@media(max-width:560px){
  .currency-text{display:none !important;}
  .header-icons{gap:11px !important;}
}

/* Ajuste final: bandera Colombia y $ COP con tamaño y estilo alineado a los iconos */
.header-icons .country-currency,
.country-currency{
  height:32px !important;
  min-width:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:0 2px !important;
  color:#000 !important;
  line-height:1 !important;
}
.header-icons .flag-co,
.flag-co{
  width:26px !important;
  height:26px !important;
  display:flex !important;
  flex-direction:column !important;
  flex:0 0 26px !important;
  border:1.4px solid #000 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  background:none !important;
  box-shadow:none !important;
}
.header-icons .flag-co span,
.flag-co span{
  display:block !important;
  width:100% !important;
}
.header-icons .flag-co span:nth-child(1),
.flag-co span:nth-child(1){background:#fcd116 !important;flex:2 !important;}
.header-icons .flag-co span:nth-child(2),
.flag-co span:nth-child(2){background:#003893 !important;flex:1 !important;}
.header-icons .flag-co span:nth-child(3),
.flag-co span:nth-child(3){background:#ce1126 !important;flex:1 !important;}
.header-icons .currency-text,
.currency-text{
  display:inline-flex !important;
  align-items:center !important;
  height:26px !important;
  color:#000 !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  line-height:1 !important;
  transform:translateY(1px) !important;
}
@media(max-width:900px){
  .header-icons .country-currency,.country-currency{gap:7px !important;height:30px !important;}
  .header-icons .flag-co,.flag-co{width:24px !important;height:24px !important;flex-basis:24px !important;}
  .header-icons .currency-text,.currency-text{height:24px !important;font-size:13px;}
}
@media(max-width:560px){
  .header-icons .country-currency,.country-currency{gap:0 !important;padding:0 !important;}
  .header-icons .currency-text,.currency-text{display:none !important;}
  .header-icons .flag-co,.flag-co{width:24px !important;height:24px !important;flex-basis:24px !important;}
}

/* Ajuste final solicitado: bandera Colombia sin borde/fondo y $ COP en negrilla, alineados al tamaño de los iconos */
.header-icons .country-currency,
.country-currency{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  height:26px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  color:#000 !important;
}
.header-icons .flag-co,
.flag-co{
  width:28px !important;
  height:20px !important;
  flex:0 0 28px !important;
  display:flex !important;
  flex-direction:column !important;
  border:none !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  box-shadow:none !important;
}
.header-icons .flag-co span,
.flag-co span{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
}
.header-icons .flag-co span:nth-child(1),
.flag-co span:nth-child(1){background:#fcd116 !important;flex:2 !important;}
.header-icons .flag-co span:nth-child(2),
.flag-co span:nth-child(2){background:#003893 !important;flex:1 !important;}
.header-icons .flag-co span:nth-child(3),
.flag-co span:nth-child(3){background:#ce1126 !important;flex:1 !important;}
.header-icons .currency-text,
.currency-text{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:24px !important;
  background:transparent !important;
  border:none !important;
  color:#000 !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  line-height:1 !important;
  transform:none !important;
}
@media(max-width:900px){
  .header-icons .country-currency,.country-currency{height:24px !important;gap:6px !important;}
  .header-icons .flag-co,.flag-co{width:25px !important;height:18px !important;flex-basis:25px !important;}
  .header-icons .currency-text,.currency-text{font-size:13px;height:22px !important;font-weight: 700 !important;}
}
@media(max-width:560px){
  .header-icons .country-currency,.country-currency{gap:0 !important;}
  .header-icons .flag-co,.flag-co{width:25px !important;height:18px !important;flex-basis:25px !important;}
  .header-icons .currency-text,.currency-text{display:none !important;}
}

/* Ajuste solicitado: barra de búsqueda al lado izquierdo del header */
.topbar.search-topbar{
  display:none !important;
}
.header .header-search-form{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-self:start !important;
  align-self:center !important;
  width:min(320px,24vw) !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  color:#111 !important;
  border-bottom:1.5px solid rgba(0,0,0,.78) !important;
  pointer-events:auto !important;
  margin:0 !important;
}
.header .header-search-form input{
  width:100% !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#111 !important;
  font-family:'Lato',sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  text-align:left !important;
  padding:0 2px !important;
}
.header .header-search-form input::placeholder{
  color:#111 !important;
  opacity:.9 !important;
}
.header .header-search-form .topbar-search-icon{
  width:21px !important;
  height:21px !important;
  stroke:#111 !important;
  stroke-width:1.9 !important;
  fill:none !important;
  flex:0 0 auto !important;
}
body.video-header-layout .header{
  top:0 !important;
}
body.video-header-layout .hero-video{
  padding-top:148px !important;
}
.catalog-page-body .catalog-header-main{
  top:0 !important;
}
@media (min-width:901px) and (max-width:1440px){
  .header .header-search-form{
    width:min(280px,22vw) !important;
    height:32px !important;
  }
  body.video-header-layout .hero-video{padding-top:144px !important;}
}
@media(max-width:900px){
  .header .header-search-form{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    width:100% !important;
    max-width:360px !important;
    justify-self:start !important;
    margin-top:4px !important;
  }
  .header{
    grid-template-rows:72px auto 38px !important;
    min-height:184px !important;
  }
  body.video-header-layout .hero-video{padding-top:212px !important;}
}
@media(max-width:560px){
  .header .header-search-form{
    max-width:100% !important;
    height:31px !important;
  }
  .header .header-search-form input{font-size:13px;}
  .header .header-search-form .topbar-search-icon{width:19px !important;height:19px !important;}
  .header{min-height:174px !important;}
  body.video-header-layout .hero-video{padding-top:202px !important;}
}

/* Ajuste solicitado: bajar un poco el header para que no quede pegado al borde superior */
body.video-header-layout .header{
  top:24px !important;
}
body.video-header-layout .hero-video{
  padding-top:172px !important;
}
.catalog-page-body .catalog-header-main{
  top:24px !important;
}
@media (min-width:901px) and (max-width:1440px){
  body.video-header-layout .header{top:22px !important;}
  body.video-header-layout .hero-video{padding-top:166px !important;}
  .catalog-page-body .catalog-header-main{top:22px !important;}
}
@media(max-width:900px){
  body.video-header-layout .header{top:16px !important;}
  body.video-header-layout .hero-video{padding-top:228px !important;}
  .catalog-page-body .catalog-header-main{top:16px !important;}
}
@media(max-width:560px){
  body.video-header-layout .header{top:12px !important;}
  body.video-header-layout .hero-video{padding-top:214px !important;}
  .catalog-page-body .catalog-header-main{top:12px !important;}
}

/* Ajuste ideal de header: separación superior equilibrada, menú legible y hero correctamente compensado */
body.video-header-layout .header{
  top:18px !important;
  min-height:132px !important;
}
.header{
  grid-template-rows:70px 36px !important;
  row-gap:10px !important;
  padding:0 44px 12px !important;
}
.brand img{
  width:198px !important;
}
.header-nav{
  margin-top:4px !important;
  padding-top:7px !important;
  gap:26px !important;
}
.header .header-search-form{
  transform:translateY(-3px) !important;
}
.header-icons{
  transform:translateY(-3px) !important;
}
body.video-header-layout .hero-video{
  padding-top:176px !important;
}
.catalog-page-body .catalog-header-main{
  top:18px !important;
  min-height:132px !important;
}
@media (min-width:901px) and (max-width:1440px){
  body.video-header-layout .header{top:16px !important;min-height:126px !important;}
  .header{grid-template-rows:66px 34px !important;row-gap:9px !important;padding:0 38px 11px !important;}
  .brand img{width:186px !important;}
  .header-nav{gap:22px !important;margin-top:3px !important;padding-top:6px !important;}
  body.video-header-layout .hero-video{padding-top:168px !important;}
  .catalog-page-body .catalog-header-main{top:16px !important;min-height:126px !important;}
}
@media(max-width:900px){
  body.video-header-layout .header{top:12px !important;min-height:144px !important;}
  .header{grid-template-rows:74px auto !important;row-gap:10px !important;padding:0 18px 12px !important;}
  .brand img{width:168px !important;}
  .header .header-search-form{transform:none !important;}
  .header-icons{transform:none !important;}
  body.video-header-layout .hero-video{padding-top:200px !important;}
  .catalog-page-body .catalog-header-main{top:12px !important;min-height:144px !important;}
}
@media(max-width:560px){
  body.video-header-layout .header{top:10px !important;min-height:136px !important;}
  .header{row-gap:8px !important;padding:0 14px 10px !important;}
  .brand img{width:150px !important;}
  body.video-header-layout .hero-video{padding-top:188px !important;}
  .catalog-page-body .catalog-header-main{top:10px !important;min-height:136px !important;}
}


/* Modal de rastreo desde el header */
.tracking-modal{
  position:fixed;
  inset:0;
  z-index:170;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.tracking-modal.active{display:flex;}
.tracking-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.38);
}
.tracking-panel{
  position:relative;
  width:min(520px,94vw);
  background:#fff;
  padding:36px 34px 32px;
  box-shadow:0 24px 80px rgba(0,0,0,.22);
  text-align:center;
}
.tracking-close{
  position:absolute;
  right:16px;
  top:10px;
  border:0;
  background:transparent;
  color:#111;
  font-size:13px;
  line-height:1;
  cursor:pointer;
}
.tracking-modal-icon{
  width:58px;
  height:58px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border:1.5px solid #111;
  border-radius:50%;
  font-size:13px;
  color:#111;
}
.tracking-eyebrow{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.025em;
  font-weight: 700 !important;
  color:#111;
}
.tracking-panel h2{
  margin:0 0 10px;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.1;
}
.tracking-panel p{
  margin:0 auto 20px;
  max-width:390px;
  color:#4f4a45;
  font-size:13px;
  line-height:1.55;
}
.tracking-modal-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  margin:0 0 12px;
}
.tracking-modal-form input{
  height:46px;
  border:1.5px solid #111;
  background:#fff;
  color:#111;
  padding:0 14px;
  font-family:'Lato',sans-serif;
  font-weight: 700 !important;
  outline:none;
}
.tracking-modal-form input:focus{
  box-shadow:0 0 0 3px rgba(0,0,0,.08);
}
.tracking-modal-form .btn{height:46px;padding:0 20px;}
.tracking-panel small{
  display:block;
  color:#555;
  font-size:13px;
}
.tracking-panel small a{
  color:#111;
  font-weight: 700 !important;
  text-decoration:underline;
}
body.tracking-open{overflow:hidden;}
@media(max-width:620px){
  .tracking-modal-form{grid-template-columns:1fr;}
  .tracking-modal-form .btn{width:100%;}
  .tracking-panel{padding:32px 22px 26px;}
}


/* WhatsApp section icon update: clean official-style icon, no clover. */
.whatsapp .wa-icon{width:64px;height:64px;display:grid;place-items:center;color:#20a84f;background:transparent;border:0!important;border-radius:0!important;transform:none!important;font-size:13px}
.whatsapp .wa-icon svg{width:64px;height:64px;display:block;fill:currentColor}
.whatsapp .whatsapp-btn{gap:0}

/* WhatsApp section: use uploaded WhatsApp image instead of clover/SVG */
.whatsapp .wa-icon{
  width:82px!important;
  height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  color:inherit!important;
}
.whatsapp .wa-icon img{
  width:82px!important;
  height:82px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  filter:none!important;
}
@media(max-width:900px){
  .whatsapp .wa-icon,
  .whatsapp .wa-icon img{width:72px!important;height:72px!important;}
}

/* WhatsApp community section organized like the reference image */
.whatsapp{
  width:min(1180px, calc(100% - 96px)) !important;
  max-width:1180px !important;
  margin:28px auto 38px !important;
  padding:0 36px !important;
  min-height:148px !important;
  display:grid !important;
  grid-template-columns:106px minmax(300px,1.25fr) minmax(280px,.95fr) 180px !important;
  align-items:center !important;
  gap:24px !important;
  background:linear-gradient(90deg,#f7fbf8 0%,#f1faf4 58%,#eef8f2 100%) !important;
  border:0 !important;
  border-radius:8px !important;
  overflow:hidden !important;
  box-shadow:0 8px 26px rgba(0,0,0,.055) !important;
}
.whatsapp .wa-icon{
  width:86px !important;
  height:86px !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.whatsapp .wa-icon img{
  width:86px !important;
  height:86px !important;
  object-fit:contain !important;
  display:block !important;
}
.whatsapp .wa-copy h2{
  margin:0 0 10px !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.18 !important;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase !important;
  color:#111 !important;
}
.whatsapp .wa-copy h2 span{color:#129d43 !important;}
.whatsapp .wa-copy p{
  max-width:475px !important;
  margin:0 !important;
  font-size:13px;
  line-height:1.55 !important;
  color:#333 !important;
}
.whatsapp .wa-action{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:14px !important;
  min-width:0 !important;
}
.whatsapp .whatsapp-btn{
  min-width:235px !important;
  height:52px !important;
  padding:0 24px !important;
  border-radius:6px !important;
  border:0 !important;
  background:#14a94d !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  box-shadow:0 8px 18px rgba(20,169,77,.2) !important;
}
.whatsapp .whatsapp-btn img{
  width:25px !important;
  height:25px !important;
  object-fit:contain !important;
  filter:none !important;
}
.whatsapp .whatsapp-btn:hover{
  background:#0b8d3b !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}
.whatsapp .secure{
  grid-column:auto !important;
  margin:0 !important;
  padding:0 !important;
  font-size:13px;
  line-height:1.45 !important;
  color:#333 !important;
}
.whatsapp .secure strong{font-weight: 700 !important;}
.wa-phone{
  align-self:end !important;
  justify-self:end !important;
  width:126px !important;
  height:160px !important;
  margin-top:-18px !important;
  margin-bottom:-18px !important;
  transform:rotate(4deg) !important;
  border:7px solid #101010 !important;
  border-radius:22px !important;
  background:#101010 !important;
  box-shadow:0 16px 28px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
}
.wa-phone-screen{
  height:100% !important;
  background:#fff !important;
  border-radius:15px !important;
  overflow:hidden !important;
  font-family:'Lato', sans-serif !important;
}
.wa-phone-bar{
  background:#0f7f41 !important;
  color:#fff !important;
  height:24px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 8px !important;
  font-size:13px;
  font-weight: 700 !important;
}
.wa-phone-screen img{
  width:100% !important;
  height:78px !important;
  object-fit:cover !important;
  display:block !important;
}
.wa-phone-message{
  padding:6px 7px !important;
  font-size:13px;
  line-height:1.35 !important;
  color:#1b1b1b !important;
}
@media(max-width:1040px){
  .whatsapp{
    width:calc(100% - 44px) !important;
    grid-template-columns:88px 1fr 240px !important;
    padding:22px 28px !important;
  }
  .wa-phone{display:none !important;}
}
@media(max-width:760px){
  .whatsapp{
    grid-template-columns:1fr !important;
    text-align:center !important;
    gap:16px !important;
    padding:28px 22px !important;
  }
  .whatsapp .wa-action{align-items:center !important;}
  .whatsapp .wa-copy p{margin:0 auto !important;}
}

/* Mejora visual del teléfono en la sección de WhatsApp */
.wa-phone{
  width:172px !important;
  height:214px !important;
  align-self:end !important;
  justify-self:end !important;
  margin-top:-28px !important;
  margin-bottom:-22px !important;
  transform:rotate(3.5deg) !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}
.wa-phone > img{
  width:100% !important;
  height:auto !important;
  max-height:235px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.22)) !important;
}
.wa-phone-screen,
.wa-phone-bar,
.wa-phone-message{
  display:none !important;
}
@media(max-width:1040px){
  .wa-phone{display:none !important;}
}

/* Teléfono WhatsApp renderizado en CSS: nítido en cualquier resolución */
.whatsapp .wa-phone{
  width:172px !important;
  height:220px !important;
  align-self:end !important;
  justify-self:end !important;
  margin-top:-30px !important;
  margin-bottom:-24px !important;
  transform:rotate(3.5deg) !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}
.whatsapp .wa-phone > img{display:none !important;}
.wa-device{
  position:relative !important;
  width:132px !important;
  height:206px !important;
  padding:8px !important;
  border-radius:25px !important;
  background:linear-gradient(145deg,#101010 0%,#202020 52%,#050505 100%) !important;
  box-shadow:0 18px 28px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.14) !important;
}
.wa-device::before{
  content:"" !important;
  position:absolute !important;
  inset:4px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  pointer-events:none !important;
}
.wa-notch{
  position:absolute !important;
  top:9px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:43px !important;
  height:11px !important;
  background:#060606 !important;
  border-radius:0 0 9px 9px !important;
  z-index:3 !important;
}
.wa-screen{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#e8f5ed 0%,#fff 45%,#f6f6f6 100%) !important;
  font-family:'Lato', sans-serif !important;
}
.wa-chat-header{
  height:34px !important;
  padding:10px 8px 5px !important;
  background:#075e54 !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.wa-avatar{
  width:17px !important;
  height:17px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#075e54 !important;
  display:grid !important;
  place-items:center !important;
  font-size:13px;
  line-height:1 !important;
  font-weight: 700 !important;
}
.wa-chat-header strong{
  display:block !important;
  font-size:13px;
  line-height:1 !important;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  color:#fff !important;
}
.wa-chat-header small{
  display:block !important;
  margin-top:2px !important;
  font-size:13px;
  line-height:1 !important;
  color:rgba(255,255,255,.8) !important;
}
.wa-product-preview{
  margin:9px 9px 6px !important;
  height:69px !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#f1ede8 !important;
  box-shadow:0 4px 10px rgba(0,0,0,.08) !important;
}
.wa-product-preview img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.wa-message{
  max-width:93px !important;
  margin:4px 8px !important;
  padding:5px 7px !important;
  border-radius:8px !important;
  font-size:13px;
  line-height:1.25 !important;
  color:#1b1b1b !important;
  box-shadow:0 2px 4px rgba(0,0,0,.05) !important;
}
.wa-message-in{
  background:#fff !important;
  border-top-left-radius:2px !important;
}
.wa-message-out{
  margin-left:auto !important;
  background:#dcf8c6 !important;
  border-top-right-radius:2px !important;
}
.wa-message.small{max-width:72px !important;}
@media(max-width:1040px){
  .whatsapp .wa-phone{display:none !important;}
}

/* Restaurar nitidez del teléfono y evitar cambios de calidad al pasar el cursor */
.whatsapp .whatsapp-btn,
.whatsapp .whatsapp-btn:hover{
  transform:none !important;
}
.whatsapp .wa-phone,
.whatsapp .wa-device,
.whatsapp .wa-screen,
.whatsapp .wa-product-preview,
.whatsapp .wa-product-preview img{
  will-change:auto !important;
  image-rendering:auto !important;
}

/* Ajuste footer: logo, frase y redes sociales */
.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  max-width:260px;
}
.footer-logo{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:210px;
  max-width:100%;
  margin:0 0 8px;
}
.footer-logo img,
.footer-brand > img{
  width:210px;
  max-width:100%;
  height:auto;
  display:block;
  margin:0;
  object-fit:contain;
}
.footer-tagline,
.footer-brand p{
  max-width:245px;
  margin:2px 0 14px;
  color:#111;
  font-size:13px;
  line-height:1.55;
  letter-spacing:0.025em;
}
.socials{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:2px;
}
.socials a{
  width:28px;
  height:28px;
  border:1px solid transparent;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111;
  margin:0;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;
}
.socials a svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.socials a:nth-child(2) svg,
.socials a:nth-child(3) svg,
.socials a:nth-child(4) svg{
  fill:currentColor;
  stroke:none;
}
.socials a:hover{
  background:#111;
  color:#fff;
  border-color:#111;
  transform:translateY(-1px);
}
@media(max-width:900px){
  .footer-brand{
    align-items:center;
    text-align:center;
    max-width:none;
  }
  .footer-logo{
    justify-content:center;
  }
  .footer-tagline,
  .footer-brand p{
    margin-left:auto;
    margin-right:auto;
  }
}

/* Redes sociales: imágenes actualizadas sin cambiar la estructura del footer */
.socials a img{
  width:28px;
  height:28px;
  display:block;
  object-fit:cover;
  border-radius:50%;
  margin:0;
  opacity:1;
}
.socials a:has(img){
  overflow:hidden;
  border-color:transparent;
}
.socials a:has(img):hover{
  background:transparent;
  color:inherit;
  border-color:transparent;
}

/* Centrar footer brand sin modificar la estructura */
.footer-brand{
  align-items:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.footer-logo{
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.footer-logo img,
.footer-brand > img{
  margin-left:auto !important;
  margin-right:auto !important;
}
.footer-tagline,
.footer-brand p{
  margin-left:auto !important;
  margin-right:auto !important;
}
.footer-brand .socials{
  justify-content:center !important;
  width:100%;
}

/* Ajuste solicitado: agrandar solo el logo de WhatsApp en la sección y ajustar el logo del botón */
.whatsapp .wa-icon,
.whatsapp .wa-icon img{
  width:108px !important;
  height:108px !important;
}
.whatsapp .whatsapp-btn img{
  width:32px !important;
  height:32px !important;
  flex:0 0 32px !important;
}
.whatsapp-float-icon svg{
  width:32px !important;
  height:32px !important;
}
@media(max-width:900px){
  .whatsapp .wa-icon,
  .whatsapp .wa-icon img{
    width:88px !important;
    height:88px !important;
  }
  .whatsapp .whatsapp-btn img{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
}

/* Ajuste solicitado: centrar el botón flotante de WhatsApp en la parte inferior */
.whatsapp-float{
  left:50% !important;
  right:auto !important;
  bottom:26px !important;
  transform:translateX(-50%) !important;
}
@media(max-width:700px){
  .whatsapp-float{
    left:50% !important;
    right:auto !important;
    bottom:18px !important;
    transform:translateX(-50%) !important;
  }
}


/* Mejora visual: íconos de redes sociales blanco y negro estilo premium */
.footer-brand .socials{
  gap:10px !important;
}
.footer-brand .socials a{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  overflow:visible !important;
  background:transparent !important;
  border-color:transparent !important;
}
.footer-brand .socials a img{
  width:34px !important;
  height:34px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  image-rendering:auto !important;
  filter:none !important;
}
.footer-brand .socials a:hover{
  background:transparent !important;
  border-color:transparent !important;
  transform:translateY(-1px) !important;
}


/* Ajuste: hacer más visible el ícono de Instagram sin cambiar la estructura */
.footer-brand .socials a[href*="instagram"] img{
  width:36px !important;
  height:36px !important;
}

.benefit-icon img{width:48px;height:48px;object-fit:contain;display:block}

/* Ajuste solicitado: agrandar solo el ícono de Envío gratis sin modificar la estructura ni bajar el título */
.benefits article:first-child .benefit-icon{
  width:48px;
  height:48px;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
}
.benefits article:first-child .benefit-icon img{
  width:48px;
  height:48px;
  transform:scale(1.5);
  transform-origin:center center;
}

/* Ajuste solicitado: vista horizontal de artículos al pasar el cursor sobre el menú */
.header{overflow:visible !important;}
.menu-product-preview{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  position:absolute !important;
  left:50% !important;
  top:calc(100% - 1px) !important;
  transform:translateX(-50%) translateY(8px) !important;
  width:min(980px, calc(100vw - 48px)) !important;
  background:#fff !important;
  border:1px solid #eeeeee !important;
  box-shadow:0 18px 45px rgba(0,0,0,.10) !important;
  border-radius:0 0 12px 12px !important;
  padding:16px 18px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  z-index:120 !important;
}
.header.menu-preview-open .menu-product-preview,
.header-nav:hover + .menu-product-preview,
.menu-product-preview:hover{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}
.menu-product-preview-inner{
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:16px !important;
}
.menu-preview-card{
  width:190px !important;
  min-width:160px !important;
  display:grid !important;
  grid-template-rows:120px auto auto !important;
  gap:7px !important;
  text-align:center !important;
  text-decoration:none !important;
  color:#111 !important;
  padding:10px 10px 12px !important;
  border:1px solid transparent !important;
  border-radius:9px !important;
  background:#fff !important;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.menu-preview-card:hover{
  border-color:#e8dfd1 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.06) !important;
  transform:translateY(-2px) !important;
}
.menu-preview-card img{
  width:100% !important;
  height:120px !important;
  object-fit:contain !important;
  display:block !important;
}
.menu-preview-card h4{
  margin:0 !important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1.25 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
.menu-preview-card strong{
  font-size:13px;
  font-weight: 700 !important;
  color:#111 !important;
}
@media(max-width:900px){
  .menu-product-preview{display:none !important;}
}

/* Cambio solicitado: menú hover con artículos horizontales + botón Ver todos */
.menu-product-preview-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
}
.menu-preview-products{
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:16px !important;
  min-width:0 !important;
}
.menu-preview-card{
  width:175px !important;
  min-width:150px !important;
  grid-template-rows:108px auto auto !important;
}
.menu-preview-card img{
  height:108px !important;
}
.menu-preview-see-all{
  min-width:118px !important;
  height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1.5px solid var(--gold) !important;
  border-radius:999px !important;
  color:var(--gold) !important;
  background:#fff !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  transition:background .18s ease, color .18s ease, border-color .18s ease !important;
}
.menu-preview-see-all:hover{
  background:var(--gold) !important;
  color:#fff !important;
}
.menu-preview-empty{
  font-size:13px;
  color:#777 !important;
}
@media(max-width:1100px){
  .menu-preview-card{width:150px !important;min-width:135px !important;}
  .menu-preview-products{gap:10px !important;}
  .menu-product-preview{width:min(900px, calc(100vw - 28px)) !important;}
}

/* Mejora visual solicitada: menú hover de artículos más elegante */
.header .menu-product-preview{
  width:min(1120px, calc(100vw - 56px)) !important;
  top:calc(100% + 8px) !important;
  padding:22px 24px 24px !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(222,211,195,.95) !important;
  border-top:3px solid var(--gold) !important;
  border-radius:0 0 22px 22px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.16) !important;
  backdrop-filter:blur(10px) !important;
  transform:translateX(-50%) translateY(12px) !important;
}
.header.menu-preview-open .menu-product-preview,
.header-nav:hover + .menu-product-preview,
.menu-product-preview:hover{
  transform:translateX(-50%) translateY(0) !important;
}
.menu-product-preview-inner{
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}
.menu-preview-products{
  flex:1 1 auto !important;
  justify-content:center !important;
  gap:18px !important;
}
.menu-preview-card{
  width:188px !important;
  min-width:168px !important;
  grid-template-rows:132px auto auto !important;
  gap:9px !important;
  padding:12px 12px 14px !important;
  border:1px solid #eee6db !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff 0%,#fbf8f3 100%) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.045) !important;
  overflow:hidden !important;
}
.menu-preview-card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:18px;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.menu-preview-card:hover{
  border-color:rgba(192,131,33,.45) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.10) !important;
  transform:translateY(-4px) !important;
}
.menu-preview-card img{
  height:132px !important;
  padding:10px !important;
  background:#fff !important;
  border:1px solid #f0ebe4 !important;
  border-radius:14px !important;
  object-fit:contain !important;
  transition:transform .22s ease !important;
}
.menu-preview-card:hover img{
  transform:scale(1.035) !important;
}
.menu-preview-card h4{
  min-height:32px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:2px 0 0 !important;
  color:#161616 !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1.18 !important;
}
.menu-preview-card strong{
  color:var(--gold) !important;
  font-size:13px;
  letter-spacing:0.025em;
}
.menu-preview-see-all{
  flex:0 0 auto !important;
  min-width:132px !important;
  height:44px !important;
  padding:0 22px !important;
  border:1.5px solid #111 !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
}
.menu-preview-see-all:hover{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 14px 28px rgba(192,131,33,.24) !important;
}
.menu-preview-empty{
  padding:18px 22px !important;
  border:1px dashed #ded3c3 !important;
  border-radius:14px !important;
  background:#fbf8f3 !important;
}
@media(max-width:1100px){
  .header .menu-product-preview{width:min(960px, calc(100vw - 28px)) !important;padding:18px !important;}
  .menu-preview-products{gap:12px !important;}
  .menu-preview-card{width:158px !important;min-width:145px !important;grid-template-rows:112px auto auto !important;}
  .menu-preview-card img{height:112px !important;}
  .menu-preview-see-all{min-width:116px !important;padding:0 16px !important;}
}

/* Ajuste solicitado: menú hover sin cuadros en los productos */
.header .menu-product-preview{
  width:min(1120px, calc(100vw - 56px)) !important;
  padding:18px 26px !important;
  background:rgba(255,255,255,.98) !important;
  border:0 !important;
  border-top:1px solid #eadfce !important;
  border-bottom:1px solid #eadfce !important;
  border-radius:0 !important;
  box-shadow:0 14px 35px rgba(0,0,0,.08) !important;
  backdrop-filter:none !important;
}
.menu-product-preview-inner{
  align-items:center !important;
  justify-content:center !important;
  gap:28px !important;
}
.menu-preview-products{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:34px !important;
  flex:0 1 auto !important;
}
.menu-preview-card{
  width:150px !important;
  min-width:130px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
}
.menu-preview-card::before{
  display:none !important;
}
.menu-preview-card:hover{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  transform:none !important;
}
.menu-preview-card img{
  width:100% !important;
  height:105px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  object-fit:contain !important;
  transition:transform .18s ease, opacity .18s ease !important;
}
.menu-preview-card:hover img{
  transform:translateY(-2px) scale(1.03) !important;
  opacity:.96 !important;
}
.menu-preview-card h4{
  min-height:auto !important;
  margin:0 !important;
  display:block !important;
  font-family:'Lato', sans-serif!important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1.25 !important;
  text-align:center !important;
  color:#111 !important;
}
.menu-preview-card strong{
  color:#111 !important;
  font-size:13px;
  font-weight: 700 !important;
}
.menu-preview-see-all{
  min-width:118px !important;
  height:38px !important;
  padding:0 18px !important;
  border:1px solid #111 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#111 !important;
  box-shadow:none !important;
}
.menu-preview-see-all:hover{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
  transform:none !important;
  box-shadow:none !important;
}
@media(max-width:1100px){
  .header .menu-product-preview{width:min(960px, calc(100vw - 28px)) !important;padding:16px 18px !important;}
  .menu-preview-products{gap:18px !important;}
  .menu-preview-card{width:130px !important;min-width:115px !important;}
  .menu-preview-card img{height:92px !important;}
  .menu-preview-see-all{min-width:108px !important;padding:0 14px !important;}
}

/* Ajuste solicitado: ocultar WhatsApp flotante cuando aparece el cuadro de Comprar ahora */
body.catalog-open .whatsapp-float,
body.cart-open .whatsapp-float,
body.product-detail-open .whatsapp-float{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Ajuste: quitar línea dorada del botón Ver joyas destacadas */
.catalog-view-all,.catalog-page-button{border:0 !important;outline:0 !important;}
.catalog-view-all:hover,.catalog-page-button:hover{border:0 !important;}

/* Ajuste solicitado: imágenes del cuadro "Comprar ahora" a 250x250 px */
.catalog-modal .catalog-item{
  grid-template-columns:250px 1fr;
  align-items:center;
}
.catalog-modal .catalog-item img{
  width:250px;
  height:250px;
  object-fit:contain;
}
@media(max-width:720px){
  .catalog-modal .catalog-item{
    grid-template-columns:1fr;
    text-align:center;
  }
  .catalog-modal .catalog-item img{
    width:min(250px,100%);
    height:250px;
    margin:0 auto;
  }
  .catalog-modal .catalog-cart{
    margin:0 auto;
  }
}

/* Ajuste solicitado: aumentar la imagen dentro del cuadro "Comprar ahora" sin deformar los detalles del producto. */
.catalog-modal .catalog-grid{
  gap:18px !important;
}
.catalog-modal .catalog-item{
  grid-template-columns:minmax(300px, 42%) minmax(0, 1fr) !important;
  gap:18px !important;
  overflow:hidden !important;
}
.catalog-modal .catalog-item img{
  width:100% !important;
  max-width:330px !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  margin:0 auto !important;
  transform:scale(1.18) !important;
  transform-origin:center center !important;
}
.catalog-modal .catalog-item > div{
  min-width:0 !important;
}
@media(max-width:900px){
  .catalog-modal .catalog-item{
    grid-template-columns:minmax(250px, 38%) minmax(0, 1fr) !important;
  }
  .catalog-modal .catalog-item img{
    max-width:300px !important;
    transform:scale(1.12) !important;
  }
}
@media(max-width:720px){
  .catalog-modal .catalog-item{
    grid-template-columns:1fr !important;
  }
  .catalog-modal .catalog-item img{
    width:min(330px, 100%) !important;
    max-width:330px !important;
    transform:scale(1.1) !important;
  }
}


/* Ajuste solicitado: el cuadro de productos aparece solo al pasar el cursor por categorías del menú.
   No aparece al pasar o hacer clic en Rastrear pedido. */
.header-nav:hover + .menu-product-preview{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(12px) !important;
}
.header.menu-preview-open .menu-product-preview,
.header.menu-preview-open .menu-product-preview:hover{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}
body.tracking-open .menu-product-preview,
body.location-open .menu-product-preview,
body.cart-open .menu-product-preview,
body.catalog-open .menu-product-preview{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Registro de ventas y rastreo de pedidos */
.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.admin-section-head h2{margin:0 0 8px}
.admin-section-head p{margin:0;color:#5f554c;line-height:1.55}
.admin-sales-summary{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;margin:0 0 18px}
.admin-sales-summary div{border:1px solid #eadfce;background:#fffdf9;border-radius:8px;padding:14px 16px}
.admin-sales-summary span{display:block;text-transform:uppercase;letter-spacing:0.025em;font-size:13px;font-weight: 700 !important;color:#8a7149;margin-bottom:5px}
.admin-sales-summary strong{font-size:13px;color:#111}
.admin-orders{display:grid;gap:14px}
.admin-empty-orders{border:1px dashed #d9ccba;background:#fffdf9;border-radius:8px;padding:18px;text-align:center;color:#675c51}
.admin-order-row{display:grid;grid-template-columns:1fr 230px;gap:18px;border:1px solid #eadfce;background:#fffdf9;border-radius:10px;padding:16px}
.admin-order-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.admin-order-title h3{margin:0;font-family:'Lato', sans-serif !important;font-size:13px;color:#111}
.admin-order-main p{margin:5px 0;color:#5f554c;font-size:13px}
.admin-order-items{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.admin-order-items li{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #eee4d6;padding-top:7px;font-size:13px;color:#2a241f}
.admin-order-actions{display:grid;align-content:start;gap:10px}
.admin-order-actions label{font-size:13px;font-weight: 700 !important;text-transform:uppercase;letter-spacing:0.025em;color:#111}
.admin-order-actions select{width:100%;margin-top:6px;border:1px solid #111;background:#fff;border-radius:4px;padding:10px;font-weight: 700 !important;color:#111}
.admin-order-actions span{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d6c7b1;background:#fff;border-radius:999px;padding:8px 10px;font-size:13px;font-weight: 700 !important;color:#111}
.tracking-result{margin-top:18px;border:1px solid #eadfce;background:#fffdf9;border-radius:10px;padding:15px;text-align:left;color:#2a241f}
.tracking-result strong{display:block;font-family:'Lato', sans-serif !important;font-size:13px;color:#111;margin-bottom:8px}
.tracking-result p{margin:6px 0!important;font-size:13px;line-height:1.45!important;color:#5f554c!important}
.tracking-result ul{margin:10px 0 0;padding-left:18px;color:#2a241f;font-size:13px;line-height:1.5}
@media(max-width:760px){.admin-section-head,.admin-order-title{display:block}.admin-sales-summary,.admin-order-row{grid-template-columns:1fr}.admin-order-actions{border-top:1px solid #eee4d6;padding-top:12px}}

/* Ventas: despacho y guía */
.dispatch-box{margin-top:14px;border:1px solid #eadfce;background:#fff;border-radius:10px;padding:12px}
.dispatch-box h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:0.025em;color:#8a7149;font-weight: 700 !important}
.dispatch-list{margin:0!important}
.dispatch-item{display:grid!important;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;border-top:1px solid #eee4d6;padding:10px 0!important}
.dispatch-item:first-child{border-top:0;padding-top:0!important}
.dispatch-item img{width:58px;height:58px;object-fit:contain;border:1px solid #eadfce;border-radius:8px;background:#fffdf9}
.dispatch-item div{display:grid;gap:3px}
.dispatch-item strong{font-size:13px;color:#111}
.dispatch-item span{font-size:13px;color:#6b6258;line-height:1.35}
.dispatch-item em{font-style:normal;font-weight: 700 !important;font-size:13px;color:#111;white-space:nowrap}
.admin-order-actions input[data-order-guide]{width:100%;margin-top:6px;border:1px solid #111;background:#fff;border-radius:4px;padding:10px;font-weight: 700 !important;color:#111}
.guide-help{display:block;margin-top:-5px;color:#6b6258;font-size:13px;line-height:1.35}
@media(max-width:760px){.dispatch-item{grid-template-columns:52px 1fr}.dispatch-item em{grid-column:2}.dispatch-item img{width:52px;height:52px}}

/* Modal de datos al finalizar compra */
.checkout-modal{
  position:fixed;
  inset:0;
  z-index:1300;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.checkout-modal.active{display:flex;}
.checkout-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.46);
}
.checkout-panel{
  position:relative;
  width:min(720px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  padding:34px;
  box-shadow:0 26px 90px rgba(0,0,0,.28);
}
.checkout-close{
  position:absolute;
  right:16px;
  top:10px;
  border:0;
  background:transparent;
  color:#111;
  font-size:13px;
  line-height:1;
  cursor:pointer;
}
.checkout-eyebrow{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.025em;
  font-weight: 700 !important;
  color:#111;
}
.checkout-panel h2{
  margin:0 34px 10px 0;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.1;
}
.checkout-panel p{
  margin:0 0 22px;
  color:#4f4a45;
  font-size:13px;
  line-height:1.55;
}
.checkout-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.checkout-form label{
  display:grid;
  gap:7px;
  color:#111;
  font-size:13px;
  font-weight: 700 !important;
  text-transform:uppercase;
  letter-spacing:0.025em;
}
.checkout-form input,
.checkout-form select,
.checkout-form textarea{
  width:100%;
  border:1.5px solid #111;
  background:#fff;
  color:#111;
  padding:12px 13px;
  font-family:'Lato',sans-serif;
  font-size:13px;
  font-weight: 700 !important;
  outline:none;
  text-transform:none;
  letter-spacing:0.025em;
}
.checkout-form textarea{resize:vertical;min-height:88px;}
.checkout-form input:focus,
.checkout-form select:focus,
.checkout-form textarea:focus{box-shadow:0 0 0 3px rgba(0,0,0,.08);}
.checkout-wide,
.checkout-total,
.checkout-submit{grid-column:1 / -1;}
.checkout-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:4px;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.14);
  background:#faf7f2;
}
.checkout-total span{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.025em;
  font-weight: 700 !important;
  color:#4f4a45;
}
.checkout-total strong{font-size:13px;color:#111;}
.checkout-submit{width:100%;justify-content:center;}
body.checkout-open{overflow:hidden;}
@media(max-width:680px){
  .checkout-panel{padding:30px 20px 24px;}
  .checkout-form{grid-template-columns:1fr;}
  .checkout-panel h2{font-size:13px;}
}

/* Datos completos del cliente dentro de Ventas/Pedidos para preparar el despacho */
.dispatch-customer-box{margin-top:12px;border:1px solid #eadfce;background:#fffaf2;border-radius:10px;padding:12px}
.dispatch-customer-box h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:0.025em;color:#8a7149;font-weight: 700 !important}
.dispatch-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}
.dispatch-customer-grid div{border-top:1px solid #efe4d5;padding-top:8px}
.dispatch-customer-grid div:nth-child(1),.dispatch-customer-grid div:nth-child(2){border-top:0;padding-top:0}
.dispatch-customer-grid dt{font-size:13px;text-transform:uppercase;letter-spacing:0.025em;font-weight: 700 !important;color:#8a7149;margin-bottom:3px}
.dispatch-customer-grid dd{margin:0;font-size:13px;font-weight: 700 !important;color:#1f1a16;line-height:1.35}
.dispatch-customer-grid .dispatch-wide{grid-column:1 / -1}
@media(max-width:760px){.dispatch-customer-grid{grid-template-columns:1fr}.dispatch-customer-grid div{border-top:1px solid #efe4d5;padding-top:8px}.dispatch-customer-grid div:first-child{border-top:0;padding-top:0}}


/* FIX: Comprar ahora directo a catalogo */
#openCatalogHero { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.catalog-modal { display: none !important; }
body.catalog-open { overflow: auto !important; }

.uppercase-input,
.checkout-form input,
.checkout-form textarea,
.tracking-modal-form input {
  text-transform: uppercase;
}

/* Mejora estética: títulos y subtítulos en Lato */
h1,
h2,
h3,
h4,
h5,
.hero h1,
.section h2,
.collection-card h3,
.overlay-collections .collection-overlay h3,
.products-section .joyas-title,
.tracking h2,
.tracking-panel h2,
.tracking-result strong,
.whatsapp h2,
.whatsapp .wa-copy h2,
.catalog-header h2,
.catalog-hero-page h1,
.sidebar-title h2,
.catalog-results-head h2,
.catalog-item h3,
.catalog-page-grid .catalog-item h3,
.admin-header h1,
.admin-card h2,
.admin-section-head h2,
.admin-order-title h3,
.login-card h1,
.cart-header h2,
.cart-item h3,
.checkout-panel h2,
.location-info h2,
.location-logo-title,
[class*="title"],
[class*="titulo"],
[class*="subtitle"],
[class*="subtitulo"]{
  font-family:'Lato', sans-serif !important;
}

/* Ajuste solicitado: letras en negro para Carrito y título "Comprar ahora" */
.cart-panel,
.cart-panel *,
.cart-header span,
.cart-header h2,
.cart-empty,
.cart-item h3,
.cart-item p,
.cart-qty span,
.cart-summary,
.cart-summary *,
.cart-close,
.cart-remove{
  color:#000000 !important;
}

.catalog-results-head span,
.catalog-results-head h2,
#openCatalogHero,
.catalog-actions .btn,
.catalog-card .btn,
.catalog-cart,
.btn.primary[href="catalogo.html"]{
  color:#000000 !important;
}

#openCatalogHero:hover,
.catalog-actions .btn:hover,
.catalog-card .btn:hover,
.catalog-cart:hover,
.btn.primary[href="catalogo.html"]:hover{
  color:#ffffff !important;
}


/* Ajuste final: mantener fijo el cuadro de productos del menú mientras el cursor baja hacia él. */
.header .menu-product-preview{
  top:calc(100% - 1px) !important;
}
.header .menu-product-preview::before{
  content:'' !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:-22px !important;
  height:22px !important;
  display:block !important;
  background:transparent !important;
  pointer-events:auto !important;
}
.header.menu-preview-open .menu-product-preview,
.header.menu-preview-open .menu-product-preview:hover{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}

/* Detalle ampliado del producto en la página Catálogo */
.catalog-detail-trigger{
  cursor:pointer !important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.catalog-detail-trigger:hover,
.catalog-detail-trigger:focus{
  border-color:#111111 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.10) !important;
  transform:translateY(-2px) !important;
  outline:none !important;
}
.product-detail-modal{
  position:fixed;
  inset:0;
  z-index:1260;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.product-detail-modal.active{display:flex;}
.product-detail-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.54);
}
.product-detail-panel{
  position:relative;
  width:min(1060px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#ffffff;
  color:#111111;
  display:grid;
  grid-template-columns:minmax(300px,1.1fr) minmax(300px,.9fr);
  gap:28px;
  padding:34px;
  box-shadow:0 30px 95px rgba(0,0,0,.30);
  font-family:'Lato', sans-serif !important;
}
.product-detail-close{
  position:absolute;
  top:10px;
  right:15px;
  z-index:2;
  border:0;
  background:transparent;
  color:#111111;
  font-size:13px;
  line-height:1;
  cursor:pointer;
}
.product-detail-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fffaf3;
  border:1px solid #eadfce;
  min-height:520px;
  padding:18px;
}
.product-detail-image{
  width:100%;
  max-width:560px;
  max-height:620px;
  object-fit:contain;
  display:block;
}
.product-detail-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
  padding-right:10px;
}
.product-detail-eyebrow{
  display:block;
  font-size:13px;
  letter-spacing:0.025em;
  text-transform:uppercase;
  font-weight: 700 !important;
  color:#111111;
}
.product-detail-info h2{
  margin:0;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.08;
  color:#111111;
}
.product-detail-description{
  margin:0;
  color:#333333;
  font-size:13px;
  line-height:1.55;
}
.product-detail-price{
  display:block;
  margin:12px 0 0;
  font-size:13px;
  color:#111111;
}
.product-detail-specs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:4px;
}
.product-detail-specs div{
  border:1px solid #eadfce;
  background:#fffdf9;
  padding:10px 12px;
}
.product-detail-specs span{
  display:block;
  margin-bottom:4px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.025em;
  color:#6b6258;
  font-weight: 700 !important;
}
.product-detail-specs b{
  display:block;
  font-size:13px;
  color:#111111;
}
.product-detail-size .size-picker{
  margin-top:2px;
}
.product-detail-cart{
  width:100%;
  justify-content:center;
  min-height:46px;
  margin-top:4px;
}
body.product-detail-open{overflow:hidden;}
@media(max-width:820px){
  .product-detail-panel{
    grid-template-columns:1fr;
    gap:18px;
    padding:28px 18px 22px;
  }
  .product-detail-image-wrap{min-height:320px;}
  .product-detail-info h2{font-size:13px;}
  .product-detail-specs{grid-template-columns:1fr;}
}

/* Galería de detalle: video primero, hasta 4 fotos y descripción visible */
.product-detail-gallery{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-width:0 !important;
}
.product-detail-video{
  width:100% !important;
  max-width:560px !important;
  max-height:620px !important;
  display:block !important;
  background:#000000 !important;
  object-fit:contain !important;
}
.product-detail-thumbs{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
}
.product-detail-thumb{
  min-height:74px !important;
  border:1px solid #eadfce !important;
  background:#ffffff !important;
  padding:5px !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#111111 !important;
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  overflow:hidden !important;
}
.product-detail-thumb.active,
.product-detail-thumb:hover{
  border-color:#111111 !important;
  box-shadow:0 8px 20px rgba(0,0,0,.12) !important;
}
.product-detail-thumb img{
  width:100% !important;
  height:64px !important;
  object-fit:cover !important;
  display:block !important;
}
.product-detail-video-thumb{
  flex-direction:column !important;
  gap:4px !important;
  background:#111111 !important;
  color:#ffffff !important;
  letter-spacing:0.025em;
}
.product-detail-video-thumb span{
  font-size:13px;
  line-height:1 !important;
}
.product-detail-video-thumb b{
  font-size:13px;
  text-transform:uppercase !important;
}
.product-detail-description-box{
  border:1px solid #eadfce !important;
  background:#fffdf9 !important;
  padding:13px 14px !important;
}
.product-detail-description-box > span{
  display:block !important;
  margin-bottom:6px !important;
  font-size:13px;
  letter-spacing:0.025em;
  text-transform:uppercase !important;
  font-weight: 700 !important;
  color:#111111 !important;
  font-family:'Lato', sans-serif !important;
}
@media(max-width:820px){
  .product-detail-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .product-detail-video{
    max-height:360px !important;
  }
}

/* Corrección de nitidez: imágenes pequeñas del carrito y detalle de producto */
.cart-item{
  grid-template-columns:96px 1fr !important;
  align-items:flex-start !important;
}
.cart-item img{
  width:96px !important;
  height:96px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#ffffff !important;
  border:1px solid #eadfce !important;
  padding:6px !important;
  image-rendering:auto !important;
  transform:none !important;
}
.product-detail-image-wrap{
  background:#ffffff !important;
  overflow:hidden !important;
}
.product-detail-image,
.product-detail-video{
  width:100% !important;
  height:auto !important;
  max-width:680px !important;
  max-height:680px !important;
  object-fit:contain !important;
  object-position:center center !important;
  image-rendering:auto !important;
  transform:none !important;
}
.product-detail-thumb{
  background:#ffffff !important;
}
.product-detail-thumb img{
  width:100% !important;
  height:72px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#ffffff !important;
  image-rendering:auto !important;
  transform:none !important;
}
.catalog-page-body .catalog-page-grid .catalog-item img,
.catalog-item img,
.menu-preview-card img,
.dispatch-item img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#ffffff !important;
  image-rendering:auto !important;
}
@media(max-width:560px){
  .cart-item{grid-template-columns:84px 1fr !important;}
  .cart-item img{width:84px !important;height:84px !important;}
  .product-detail-thumb img{height:62px !important;}
}

/* Quitar marco de la imagen dentro del carrito */
.cart-item img{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
}
@media(max-width:560px){
  .cart-item img{
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    padding:0 !important;
    background:transparent !important;
    border-radius:0 !important;
  }
}

/* Centrar imagen dentro del carrito */
.cart-item img{
  justify-self:center !important;
  align-self:center !important;
  display:block !important;
  margin:auto !important;
}
.cart-item{
  align-items:center !important;
}
@media(max-width:560px){
  .cart-item img{
    justify-self:center !important;
    align-self:center !important;
    display:block !important;
    margin:auto !important;
  }
}


/* Página de políticas - Joyería Galindez */
.benefit-policy-link{
  display:block;
  color:inherit;
  text-decoration:none;
  height:100%;
}
.benefit-policy-link:hover h3{
  text-decoration:underline;
  text-underline-offset:4px;
}
.policy-page-body{
  background:#fbf8f3;
  color:#21180f;
}
.policy-page-main{
  padding:130px 6vw 70px;
}
.policy-hero{
  max-width:1100px;
  margin:0 auto 36px;
  padding:56px clamp(24px,5vw,72px);
  border-radius:32px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,232,204,.9));
  box-shadow:0 24px 70px rgba(54,35,12,.12);
  text-align:center;
}
.policy-hero span{
  display:inline-block;
  margin-bottom:12px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  color:#a66a20;
  font-size:13px;
}
.policy-hero h1{
  margin:0;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.05;
  color:#25170c;
}
.policy-hero p{
  max-width:780px;
  margin:18px auto 0;
  color:#6f5c44;
  font-size:13px;
  line-height:1.7;
}
.policy-shortcuts{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.policy-content{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  gap:18px;
}
.policy-card-block{
  background:#fff;
  border:1px solid rgba(163,111,44,.18);
  border-radius:24px;
  padding:clamp(22px,3vw,36px);
  box-shadow:0 16px 50px rgba(54,35,12,.08);
  scroll-margin-top:130px;
}
.policy-card-block h2{
  margin:0 0 14px;
  font-family:'Lato', sans-serif !important;
  color:#2c1b0f;
  font-size:13px;
}
.policy-card-block p,
.policy-card-block li{
  color:#5c4c3b;
  line-height:1.75;
  font-size:13px;
}
.policy-card-block p{
  margin:0 0 12px;
}
.policy-card-block ul{
  margin:8px 0 0;
  padding-left:22px;
}
.policy-card-block li+li{
  margin-top:6px;
}
.policy-highlight{
  border-color:rgba(166,106,32,.42);
  background:linear-gradient(180deg,#fffdf9,#fff7e9);
}
@media (max-width: 720px){
  .policy-page-main{padding:110px 18px 54px;}
  .policy-hero{padding:34px 20px;border-radius:24px;}
  .policy-shortcuts .btn{width:100%;}
}


/* Cuadro emergente de Devolución, política y garantía */
.policy-modal{
  position:fixed;
  inset:0;
  z-index:180;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.policy-modal.active{display:flex;}
.policy-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.46);
}
.policy-panel{
  position:relative;
  width:min(860px,96vw);
  max-height:88vh;
  overflow:hidden;
  background:#fff;
  border-radius:24px;
  box-shadow:0 26px 90px rgba(0,0,0,.25);
  padding:36px 34px 30px;
}
.policy-close{
  position:absolute;
  right:16px;
  top:10px;
  border:0;
  background:transparent;
  color:#111;
  font-size:13px;
  line-height:1;
  cursor:pointer;
}
.policy-eyebrow{
  display:block;
  color:#b88a44;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.policy-panel h2{
  margin:0 38px 18px 0;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  color:#151515;
}
.policy-content{
  max-height:68vh;
  overflow:auto;
  padding-right:10px;
  color:#333;
  line-height:1.65;
}
.policy-content section{
  border-top:1px solid rgba(184,138,68,.24);
  padding:18px 0;
}
.policy-content section:first-child{border-top:0;padding-top:0;}
.policy-content h3{
  margin:0 0 10px;
  color:#151515;
  font-size:13px;
}
.policy-content p{margin:0 0 10px;}
.policy-content ul{margin:0 0 8px 20px;padding:0;}
.policy-content li{margin:5px 0;}
body.policy-open{overflow:hidden;}
@media (max-width:640px){
  .policy-modal{padding:12px;}
  .policy-panel{padding:30px 20px 24px;border-radius:18px;}
  .policy-content{max-height:70vh;padding-right:4px;}
}

/* Ajuste solicitado: mostrar “Joyería Galindez” en color negro */
.brand img,
.footer-logo img,
.footer-brand > img,
.location-logo-title img,
.admin-logo img,
.login-logo img{
  filter:none !important;
  opacity:1 !important;
}
.policy-eyebrow{
  color:#000 !important;
}

.policy-content .faq-section{
  margin-top:8px;
  border-top:2px solid rgba(184,138,68,.45);
  background:linear-gradient(180deg, rgba(184,138,68,.08), rgba(255,255,255,0));
  border-radius:18px;
  padding:24px 18px 18px;
}
.policy-section-title{
  margin-bottom:16px;
}
.policy-section-title span{
  display:block;
  color:#b88a44;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.policy-section-title h3{
  margin:0;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  color:#151515;
}

/* Cuentas de cliente */
.customer-account-trigger{position:relative;}
.customer-account-trigger .account-dot{
  position:absolute;
  right:-2px;
  top:-2px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#c89b3c;
  border:2px solid #fff;
  opacity:0;
  transform:scale(.6);
  transition:.2s ease;
}
.customer-account-trigger.logged .account-dot{
  opacity:1;
  transform:scale(1);
}
.account-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.account-modal.active{display:flex;}
.account-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.54);
  backdrop-filter:blur(3px);
}
.account-panel{
  position:relative;
  width:min(760px, 96vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:26px;
  box-shadow:0 24px 80px rgba(0,0,0,.25);
  padding:32px;
  border:1px solid rgba(200,155,60,.18);
}
.account-close{
  position:absolute;
  right:18px;
  top:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#f5efe7;
  color:#2c241d;
  font-size:13px;
  cursor:pointer;
}
.account-eyebrow{
  display:inline-block;
  color:#c89b3c;
  text-transform:uppercase;
  letter-spacing:0.025em;
  font-size:13px;
  font-weight: 700 !important;
  margin-bottom:8px;
}
.account-panel h2{
  margin:0 0 8px;
  color:#1d1712;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
}
.account-intro{
  margin:0 0 18px;
  color:#74675b;
}
.account-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0;
}
.account-tab{
  border:1px solid rgba(200,155,60,.3);
  background:#fffaf3;
  color:#5d4935;
  padding:10px 14px;
  border-radius:999px;
  font-weight: 700 !important;
  cursor:pointer;
}
.account-tab.active{
  background:#1d1712;
  color:#fff;
  border-color:#1d1712;
}
.account-message{
  min-height:20px;
  margin:4px 0 14px;
  color:#6f6257;
  font-size:13px;
  font-weight: 700 !important;
}
.account-message.success{color:#197047;}
.account-message.error{color:#b43425;}
.account-view{display:none;}
.account-view.active{display:block;}
.account-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.account-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#40362d;
  font-size:13px;
  font-weight: 700 !important;
}
.account-form input{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e3d4c1;
  background:#fffaf5;
  border-radius:15px;
  padding:13px 14px;
  outline:none;
  font-weight: 700 !important;
  color:#241e18;
}
.account-form input:focus{
  border-color:#c89b3c;
  box-shadow:0 0 0 4px rgba(200,155,60,.14);
}
.account-wide,
.account-form .btn{
  grid-column:1 / -1;
}
.account-user-card{
  display:flex;
  align-items:center;
  gap:16px;
  background:#fff8ef;
  border:1px solid rgba(200,155,60,.22);
  border-radius:20px;
  padding:18px;
}
.account-avatar{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#1d1712;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight: 700 !important;
  letter-spacing:0.025em;
}
.account-user-card h3{
  margin:0 0 4px;
  font-size:13px;
  color:#1d1712;
}
.account-user-card p,
.account-profile-details p,
.account-order-card p{
  margin:4px 0;
  color:#6c5f54;
}
.account-profile-details{
  margin:16px 0;
  padding:16px;
  border-radius:18px;
  background:#faf7f1;
}
.account-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.account-orders-box{
  display:grid;
  gap:14px;
}
.account-order-card{
  border:1px solid rgba(200,155,60,.22);
  border-radius:18px;
  padding:16px;
  background:#fffdf9;
}
.account-order-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.account-order-head strong{
  color:#1d1712;
  font-size:13px;
}
.account-order-head span{
  background:#f5ead8;
  color:#7a5728;
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight: 700 !important;
}
.account-order-card ul{
  margin:10px 0 0 18px;
  padding:0;
  color:#554a40;
}
body.account-open{overflow:hidden;}
@media(max-width:640px){
  .account-panel{padding:26px 18px;border-radius:20px;}
  .account-form{grid-template-columns:1fr;}
  .account-panel h2{font-size:13px;}
  .account-tabs{display:grid;grid-template-columns:1fr 1fr;}
  .account-tab{padding:9px 10px;font-size:13px;}
  .account-user-card{align-items:flex-start;}
}

/* Productos, estrellas y opiniones dentro de Mi cuenta > Mis pedidos */
.account-order-products{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.account-order-product{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:12px;
  align-items:start;
  border:1px solid rgba(200,155,60,.18);
  border-radius:16px;
  padding:10px;
  background:#ffffff;
}
.account-order-product img{
  width:82px;
  height:82px;
  object-fit:cover;
  border-radius:14px;
  background:#f6efe5;
}
.account-order-product-info{
  min-width:0;
}
.account-order-product-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.account-order-product-head h4{
  margin:0;
  color:#1d1712;
  font-size:13px;
  line-height:1.25;
}
.account-order-product-head strong{
  color:#7a5728;
  font-size:13px;
  white-space:nowrap;
}
.account-order-product-info > p{
  margin:5px 0 9px;
  color:#6c5f54;
  font-size:13px;
  line-height:1.4;
}
.account-review-status,
.account-review-message{
  margin:7px 0 0 !important;
  color:#6c5f54 !important;
  font-size:13px;
  line-height:1.35 !important;
}
.account-review-status.success,
.account-review-message.success{
  color:#1f7a3a !important;
  font-weight: 700 !important;
}
.account-review-form{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) 1fr auto;
  gap:8px;
  align-items:end;
  margin-top:8px;
}
.account-review-form label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  color:#1d1712;
}
.account-review-form select,
.account-review-form textarea{
  width:100%;
  border:1px solid #d8cab8;
  border-radius:12px;
  background:#fffdf9;
  padding:9px 10px;
  color:#1d1712;
  font:600 12px 'Lato', sans-serif;
  text-transform:none;
}
.account-review-form textarea{
  resize:vertical;
  min-height:42px;
}
.account-review-form .account-review-message{
  grid-column:1 / -1;
}
@media(max-width:760px){
  .account-order-product{grid-template-columns:70px 1fr;}
  .account-order-product img{width:70px;height:70px;}
  .account-review-form{grid-template-columns:1fr;}
}

/* Recuperación de clave para clientes */
.account-help{
  margin:0;
  color:#6f6257;
  font-size:13px;
  line-height:1.45;
  background:#fffaf3;
  border:1px solid #efe2d1;
  border-radius:14px;
  padding:12px 14px;
}

.account-forgot-link {
  grid-column: 1 / -1;
  justify-self: center;
  border: 0;
  background: transparent;
  color: var(--gold-dark);
  font: inherit;
  font-weight: 700 !important;
  text-decoration: underline;
  cursor: pointer;
  padding: 0.25rem 0;
}

.account-forgot-link:hover,
.account-forgot-link:focus-visible {
  color: var(--gold);
  outline: none;
}

/* Ajuste solicitado: textos de cuenta en color negro */
.account-eyebrow,
.account-forgot-link,
.account-forgot-link:hover,
.account-forgot-link:focus-visible{
  color:#000000 !important;
}

/* Mejora visual del cuadro de iniciar sesión de cliente */
.customer-login-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:86px 1fr;
  gap:18px 20px;
  align-items:center;
  padding:24px;
  border:1px solid rgba(200,155,60,.22);
  border-radius:24px;
  background:linear-gradient(135deg,#fffdf9 0%,#fff7ec 100%);
  box-shadow:0 18px 44px rgba(42,31,19,.08);
}
.customer-login-card::before{
  content:"";
  position:absolute;
  inset:auto -70px -90px auto;
  width:190px;
  height:190px;
  border-radius:50%;
  background:rgba(200,155,60,.12);
  pointer-events:none;
}
.customer-login-icon{
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#1d1712;
  background:#fff;
  border:1px solid rgba(200,155,60,.28);
  box-shadow:0 12px 28px rgba(29,23,18,.08);
}
.customer-login-icon svg{
  width:38px;
  height:38px;
}
.customer-login-heading{
  position:relative;
  z-index:1;
}
.customer-login-heading h3{
  margin:0 0 6px;
  font-family:'Lato', sans-serif !important;
  color:#111;
  font-size:13px;
  line-height:1.08;
}
.customer-login-heading p{
  margin:0;
  max-width:520px;
  color:#5f554b;
  font-size:13px;
  line-height:1.55;
  font-weight: 700 !important;
}
.customer-login-form{
  position:relative;
  z-index:1;
  grid-column:1 / -1;
  grid-template-columns:1fr 1fr;
  gap:15px;
  margin-top:2px;
}
.customer-login-form label{
  color:#17120e;
  font-size:13px;
  letter-spacing:0.025em;
  text-transform:uppercase;
}
.customer-login-form input{
  min-height:50px;
  border-radius:14px;
  background:#fff;
  border-color:#dacbb6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.customer-login-form input::placeholder{
  color:#9a8d80;
  font-weight: 700 !important;
}
.customer-login-form input:hover{
  border-color:#c89b3c;
}
.customer-login-submit,
.customer-register-shortcut,
.customer-login-form .account-forgot-link{
  grid-column:1 / -1;
}
.customer-login-submit{
  min-height:50px;
  border-radius:999px;
  font-size:13px;
  letter-spacing:0.025em;
}
.customer-register-shortcut{
  min-height:48px;
  border-radius:999px;
  background:#fff !important;
  color:#1d1712 !important;
  border-color:rgba(29,23,18,.22) !important;
}
.customer-login-form .account-forgot-link{
  justify-self:center;
  width:auto;
  margin-top:0;
  padding:7px 8px;
  border:0;
  background:transparent;
  color:#000 !important;
  font-weight: 700 !important;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}
.customer-login-form .account-forgot-link:hover{
  color:#7a5728 !important;
}
@media(max-width:640px){
  .customer-login-card{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    padding:22px 16px;
    border-radius:20px;
  }
  .customer-login-icon{
    width:68px;
    height:68px;
  }
  .customer-login-icon svg{
    width:34px;
    height:34px;
  }
  .customer-login-heading h3{
    font-size:13px;
  }
  .customer-login-form{
    grid-template-columns:1fr;
    width:100%;
    text-align:left;
  }
}

/* Ajuste compacto: cuadro de iniciar sesión de cliente con menos espacio */
.account-panel{
  width:min(700px, 94vw);
  padding:26px 30px;
  border-radius:22px;
}
.account-tabs{
  margin:14px 0 12px;
}
.account-message{
  min-height:12px;
  margin:2px 0 8px;
}
.customer-login-card{
  grid-template-columns:58px 1fr;
  gap:10px 14px;
  align-items:center;
  padding:18px 20px;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(42,31,19,.06);
}
.customer-login-card::before{
  width:130px;
  height:130px;
  right:-48px;
  bottom:-58px;
}
.customer-login-icon{
  width:54px;
  height:54px;
}
.customer-login-icon svg{
  width:28px;
  height:28px;
}
.customer-login-heading h3{
  margin-bottom:4px;
  font-size:13px;
}
.customer-login-heading p{
  font-size:13px;
  line-height:1.35;
}
.customer-login-form{
  gap:9px 12px;
  margin-top:0;
}
.customer-login-form label{
  gap:5px;
  font-size:13px;
}
.customer-login-form input{
  min-height:42px;
  border-radius:12px;
  padding:10px 12px;
}
.customer-login-submit,
.customer-register-shortcut{
  min-height:42px;
  font-size:13px;
}
.customer-login-form .account-forgot-link{
  padding:4px 8px 0;
  font-size:13px;
}
@media(max-width:640px){
  .account-panel{
    width:min(94vw, 520px);
    padding:22px 16px;
  }
  .customer-login-card{
    padding:16px 14px;
    gap:9px;
  }
  .customer-login-heading h3{
    font-size:13px;
  }
}

/* Modal de cliente estilo tarjeta vertical, similar a la referencia enviada */
.account-modal[data-active-view="login"] .account-panel{
  width:min(390px, 92vw);
  padding:0;
  border-radius:22px;
  overflow:hidden;
  background:#fffdf9;
  border:1px solid rgba(214,196,170,.75);
  box-shadow:0 26px 90px rgba(0,0,0,.34);
}
.account-modal[data-active-view="login"] .account-eyebrow,
.account-modal[data-active-view="login"] #accountModalTitle,
.account-modal[data-active-view="login"] .account-intro,
.account-modal[data-active-view="login"] .account-tabs{
  display:none !important;
}
.account-modal[data-active-view="login"] .account-close{
  right:12px;
  top:12px;
  width:32px;
  height:32px;
  background:rgba(245,239,231,.92);
  font-size:13px;
  z-index:5;
}
.account-modal[data-active-view="login"] .account-message{
  min-height:0;
  margin:0;
  padding:0;
  text-align:center;
  font-size:13px;
}
.account-modal[data-active-view="login"] .account-message:not(:empty){
  padding:10px 20px;
  border-bottom:1px solid rgba(214,196,170,.45);
  background:#fffaf3;
}
.auth-reference-card.customer-login-card{
  display:block;
  padding:28px 20px 20px;
  border:0;
  border-radius:0;
  background:#fffdf9;
  box-shadow:none;
  overflow:hidden;
}
.auth-reference-card.customer-login-card::before{
  display:none;
}
.auth-card-logo{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 12px;
}
.auth-card-logo img{
  width:154px;
  height:auto;
  max-height:none;
  object-fit:contain;
  display:block;
  filter:none !important;
  opacity:1 !important;
}
.auth-card-heading{
  text-align:center;
  margin-bottom:16px;
}
.auth-card-heading h3{
  margin:0 0 8px;
  font-family:'Lato', sans-serif !important;
  color:#1c1712;
  font-size:13px;
  line-height:1.1;
}
.auth-card-heading p{
  margin:0 auto;
  max-width:300px;
  color:#82766b;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.45;
  font-weight:500;
}
.auth-card-form.customer-login-form{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:0;
  width:100%;
  text-align:left;
}
.auth-card-form.customer-login-form label{
  gap:6px;
  color:#5a4d42;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:none;
}
.auth-card-form.customer-login-form input{
  min-height:44px;
  border-radius:13px;
  border:1px solid #dfcfbd;
  background:#fff;
  padding:10px 13px;
  font-size:13px;
  font-weight: 700 !important;
  color:#201a15;
}
.auth-card-link-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-top:-2px;
}
.auth-card-link-row .account-forgot-link{
  width:auto;
  padding:0;
  border:0;
  background:transparent;
  color:#000 !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.auth-card-link-row .account-forgot-link:hover{
  color:#7a5728 !important;
}
.auth-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.auth-card-actions .btn,
.auth-card-form .customer-login-submit,
.auth-card-form .customer-register-shortcut{
  min-height:44px;
  border-radius:13px;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:none;
}
.auth-card-form .customer-login-submit{
  background:#181512 !important;
  border-color:#181512 !important;
  color:#fff !important;
}
.auth-card-form .customer-register-shortcut{
  background:#fff !important;
  color:#2d241c !important;
  border:1px solid #dfcfbd !important;
}
.register-actions-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media(max-width:520px){
  .account-modal[data-active-view="login"]{
    padding:16px;
  }
  .auth-reference-card.customer-login-card{
    padding:26px 18px 18px;
  }
  .auth-card-logo img{
    width:136px;
  }
  .auth-card-heading h3{
    font-size:13px;
  }
  .auth-card-actions,
  .register-actions-row{
    grid-template-columns:1fr;
  }
}

/* Enlace visual de clave olvidada: visible, sin abrir formularios */
.account-forgot-static{
  background: transparent;
  border: 0;
  padding: 0;
  color: #111;
  font-weight: 700 !important;
  text-decoration: underline;
  cursor: default;
  pointer-events: none;
}
.auth-reference-card .auth-card-link-row{
  margin: 2px 0 12px;
  text-align: center;
}

/* Ajuste solicitado: botones del inicio de sesión con la misma fuente de títulos/subtítulos */
.account-modal[data-active-view="login"] .auth-card-actions .btn,
.account-modal[data-active-view="login"] .auth-card-form .customer-login-submit,
.account-modal[data-active-view="login"] .auth-card-form .customer-register-shortcut,
.account-modal[data-active-view="login"] .account-tab,
.account-modal[data-active-view="login"] button{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:none !important;
}

/* Ajuste solicitado: botones de acceso cliente con fuente Lato */
.auth-card-actions .customer-login-submit,
.auth-card-actions .customer-register-shortcut,
.register-actions-row .btn,
.account-modal .customer-login-submit,
.account-modal .customer-register-shortcut,
.account-modal .register-actions-row button{
  font-family:'Lato', sans-serif !important;
}

/* Corrección final: Ingresar y Registrarse deben usar Lato */
.account-modal[data-active-view="login"] .auth-card-actions .btn.customer-login-submit,
.account-modal[data-active-view="login"] .auth-card-actions .btn.customer-register-shortcut,
.account-modal[data-active-view="login"] button.customer-login-submit,
.account-modal[data-active-view="login"] button.customer-register-shortcut,
.account-modal .auth-card-actions button.customer-login-submit,
.account-modal .auth-card-actions button.customer-register-shortcut,
button.btn.primary.customer-login-submit,
button.btn.outline.customer-register-shortcut{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:none !important;
}

/* Corrección final: Crear mi usuario y Ya tengo cuenta también deben usar Lato */
.account-modal[data-active-view="register"] .register-actions-row .btn,
.account-modal[data-active-view="register"] .account-form .btn,
.account-modal .register-actions-row button,
.account-modal .account-form button[data-account-tab="login"]{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:none !important;
}

/* Ajuste solicitado: textos del login con fuente Lato */
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form label,
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form label *,
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form input,
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form input::placeholder,
.account-modal[data-active-view="login"] .auth-card-link-row .account-forgot-link,
.account-modal[data-active-view="login"] .account-forgot-static{
  font-family:'Lato', sans-serif !important;
}

/* Ajuste solicitado: igualar el tamaño del artículo en cada producto del catálogo sin cambiar el tamaño de las imágenes. */
.catalog-page-body .catalog-page-grid{
  align-items:stretch !important;
}
.catalog-page-body .catalog-page-grid .catalog-item{
  height:100% !important;
  min-height:520px !important;
  display:flex !important;
  flex-direction:column !important;
}
.catalog-page-body .catalog-page-grid .catalog-item > div{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
}
.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart{
  margin-top:auto !important;
}
@media(max-width:1280px){
  .catalog-page-body .catalog-page-grid .catalog-item{
    min-height:500px !important;
  }
}
@media(max-width:560px){
  .catalog-page-body .catalog-page-grid .catalog-item{
    min-height:auto !important;
  }
}

/* Opiniones clicables en detalle del producto: panel lateral */
.product-reviews{
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
}
.product-reviews:hover .review-count,
.product-reviews:focus-visible .review-count{
  text-decoration:underline;
}
.product-reviews:focus-visible{
  outline:2px solid #c89b3c;
  outline-offset:4px;
  border-radius:999px;
}
.product-opinions-panel{
  position:absolute;
  top:0;
  right:0;
  z-index:5;
  width:min(390px, 90vw);
  height:100%;
  box-sizing:border-box;
  margin:0;
  padding:24px 22px;
  border-left:1px solid #eadfce;
  background:#fffaf3;
  box-shadow:-18px 0 38px rgba(0,0,0,.16);
  overflow:auto;
  transform:translateX(105%);
  transition:transform .22s ease;
}
.product-opinions-panel.is-open{
  transform:translateX(0);
}
.product-opinions-panel[hidden]{
  display:none !important;
}
.product-opinions-headline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.product-opinions-title{
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  color:#2f2a24;
}
.product-opinions-close{
  width:34px;
  height:34px;
  border:1px solid #eadfce;
  border-radius:50%;
  background:#fff;
  color:#111;
  cursor:pointer;
  font-size:13px;
  line-height:1;
}
.product-opinion-list{
  display:grid;
  gap:10px;
}
.product-opinion-item{
  padding:10px 0;
  border-bottom:1px solid #eadfce;
}
.product-opinion-item:last-child{
  border-bottom:0;
}
.product-opinion-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  font-size:13px;
}
.product-opinion-head span{
  color:#c89b3c;
  letter-spacing:0.025em;
}
.product-opinion-item p,
.product-opinions-empty,
.product-opinions-note{
  margin:7px 0 0;
  font-size:13px;
  line-height:1.45;
  color:#6b6258;
}
.product-opinion-item small{
  display:block;
  margin-top:7px;
  font-size:13px;
  color:#8a8177;
}
.product-opinions-note{
  border-top:1px solid #eadfce;
  padding-top:10px;
  font-weight: 700 !important;
}
@media(max-width:820px){
  .product-opinions-panel{
    width:min(360px, 92vw);
    padding:22px 18px;
  }
}

/* Opiniones sin calificación: no mostrar estrellas hasta que exista una calificación real */
.product-reviews.no-rating{
  color:#777;
}
.product-reviews.no-rating .review-count{
  color:#777;
  margin-left:0;
}

/* Ajuste solicitado: mantener el espacio original del catálogo y evitar que la línea de estrellas/opiniones quede estrecha. No cambia tamaños de imagen ni estructura. */
.catalog-page-body .catalog-page-grid .catalog-item .product-reviews,
.catalog-page-body .catalog-item .product-reviews,
.product-card .product-reviews{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  white-space:nowrap !important;
  width:auto !important;
  max-width:100% !important;
  min-height:22px !important;
  margin:8px auto 14px !important;
  line-height:1.35 !important;
}
.catalog-page-body .catalog-page-grid .catalog-item strong,
.catalog-page-body .catalog-item strong,
.product-card strong{
  margin-bottom:8px !important;
}
.catalog-page-body .catalog-page-grid .catalog-cart,
.catalog-page-body .catalog-item .catalog-cart,
.product-card .catalog-cart{
  margin-top:auto !important;
}
.catalog-page-body .catalog-page-grid .catalog-item > div,
.product-card{
  text-align:center !important;
}


/* Catálogo Joyas Destacadas en inicio, debajo de beneficios */
.featured-jewels-section{padding-top:34px;padding-bottom:36px;background:#fff;}
.featured-jewels-section .section-eyebrow{display:block;text-align:center;text-transform:uppercase;letter-spacing:0.025em;font-size:13px;font-weight: 700 !important;color:var(--gold);margin-bottom:6px;}
.featured-jewels-section .products-grid{margin-top:0;}
.featured-jewels-actions{display:flex;justify-content:center;margin-top:24px;}
.featured-jewels-actions .btn{width:auto;min-width:210px;}
@media(max-width:560px){.featured-jewels-section{padding-top:28px;padding-bottom:30px}.featured-jewels-actions .btn{width:100%;}}

/* Ajuste solicitado: que quepan 5 productos por fila en escritorio, manteniendo imagen cuadrada sin deformarse. */
.featured-jewels-section .products-grid{
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  max-width:1680px !important;
  width:min(96vw, 1680px) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.featured-jewels-section .product-card{
  min-width:0 !important;
  min-height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.featured-jewels-section .product-card img,
.catalog-page-body .catalog-page-grid .catalog-item img,
.catalog-page-grid .catalog-item img,
.catalog-item img{
  width:100% !important;
  max-width:500px !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto 12px !important;
  box-sizing:border-box !important;
}
.catalog-page-body .catalog-page-grid{
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  max-width:1680px !important;
  width:min(96vw, 1680px) !important;
  gap:18px !important;
  justify-items:stretch !important;
}
.catalog-page-body .catalog-page-grid .catalog-item,
.catalog-page-grid .catalog-item{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
@media(max-width:1199px){
  .featured-jewels-section .products-grid,
  .catalog-page-body .catalog-page-grid{grid-template-columns:repeat(3, minmax(0, 1fr)) !important;}
}
@media(max-width:760px){
  .featured-jewels-section .products-grid,
  .catalog-page-body .catalog-page-grid{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;gap:14px !important;}
}
@media(max-width:480px){
  .featured-jewels-section .products-grid,
  .catalog-page-body .catalog-page-grid{grid-template-columns:1fr !important;}
}

/* Ajuste solicitado: quitar las márgenes/gris alrededor de los productos. */
.featured-jewels-section .products-grid,
.catalog-page-body .catalog-page-grid{
  gap:0 !important;
}
.featured-jewels-section .product-card,
.catalog-page-body .catalog-page-grid .catalog-item,
.catalog-page-grid .catalog-item{
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  border-radius:0 !important;
}
.featured-jewels-section .product-card img,
.catalog-page-body .catalog-page-grid .catalog-item img,
.catalog-page-grid .catalog-item img,
.catalog-item img{
  margin:0 auto 8px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}
.featured-jewels-section .product-card > :not(img):not(.heart),
.catalog-page-body .catalog-page-grid .catalog-item > div,
.catalog-page-grid .catalog-item > div{
  padding-left:6px !important;
  padding-right:6px !important;
}
@media(max-width:760px){
  .featured-jewels-section .products-grid,
  .catalog-page-body .catalog-page-grid{gap:8px !important;}
}

/* Ajuste solicitado: compactar el espacio entre precio, opiniones y disponibilidad en todos los productos */
.product-card strong,
.catalog-item strong,
.catalog-page-grid .catalog-item strong{
  display:block !important;
  margin:3px 0 3px !important;
  line-height:1.15 !important;
}

.product-card .product-reviews,
.catalog-item .product-reviews,
.catalog-page-grid .catalog-item .product-reviews{
  margin:3px 0 5px !important;
  padding:0 !important;
  min-height:16px !important;
  line-height:1 !important;
  border:0 !important;
  background:transparent !important;
}

.product-card .stock-status,
.catalog-item .stock-status,
.catalog-page-grid .catalog-item .stock-status{
  margin:0 0 8px !important;
  line-height:1.15 !important;
}

/* Ajuste adicional solicitado: compactar también los productos de la página Catálogo.
   Reduce el espacio vertical entre precio, opiniones y botón en catalogo.html. */
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item > div,
.catalog-page-body .catalog-page-grid .catalog-item > div{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  padding-top:6px !important;
  padding-bottom:8px !important;
}
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3,
.catalog-page-body .catalog-page-grid .catalog-item h3{
  margin:0 0 4px !important;
}
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-details,
.catalog-page-body .catalog-page-grid .catalog-item .product-details{
  margin:2px 0 3px !important;
}
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item p,
.catalog-page-body .catalog-page-grid .catalog-item p{
  margin:0 0 3px !important;
  min-height:0 !important;
}
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item strong,
.catalog-page-body .catalog-page-grid .catalog-item strong{
  display:block !important;
  margin:1px 0 1px !important;
  padding:0 !important;
  line-height:1.05 !important;
}
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-reviews,
.catalog-page-body .catalog-page-grid .catalog-item .product-reviews{
  display:flex !important;
  margin:1px 0 4px !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  line-height:1 !important;
}
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .review-stars,
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .review-score,
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .review-count{
  line-height:1 !important;
}
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .catalog-cart,
.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart{
  margin-top:0 !important;
}

/* Ajuste definitivo: igualar el bloque inferior de productos en Inicio y Catálogo */
.product-card,
.catalog-page-body .catalog-page-grid .catalog-item,
.catalog-grid .catalog-item{
  text-align:center !important;
}

.product-card strong,
.catalog-page-body .catalog-page-grid .catalog-item strong,
.catalog-grid .catalog-item strong{
  display:block !important;
  margin:4px 0 4px !important;
  padding:0 !important;
  line-height:1.12 !important;
}

.product-card .product-reviews,
.catalog-page-body .catalog-page-grid .catalog-item .product-reviews,
.catalog-grid .catalog-item .product-reviews{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:6px !important;
  width:auto !important;
  margin:4px auto 7px !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  line-height:1 !important;
  border:0 !important;
  background:transparent !important;
}

.product-card .review-stars,
.product-card .review-score,
.product-card .review-count,
.catalog-page-body .catalog-page-grid .catalog-item .review-stars,
.catalog-page-body .catalog-page-grid .catalog-item .review-score,
.catalog-page-body .catalog-page-grid .catalog-item .review-count,
.catalog-grid .catalog-item .review-stars,
.catalog-grid .catalog-item .review-score,
.catalog-grid .catalog-item .review-count{
  line-height:1 !important;
}

.product-card .stock-status,
.catalog-page-body .catalog-page-grid .catalog-item .stock-status,
.catalog-grid .catalog-item .stock-status{
  display:block !important;
  margin:0 0 11px !important;
  padding:0 !important;
  min-height:0 !important;
  line-height:1.15 !important;
  color:#6b6b6b !important;
  text-align:center !important;
}

.product-card .catalog-cart,
.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart,
.catalog-grid .catalog-item .catalog-cart{
  margin-top:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.catalog-page-body .catalog-page-grid .catalog-item > div,
.catalog-grid .catalog-item > div{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:0 !important;
}

/* Corrección final: igualar el bloque de detalles de catalogo.html con Joyas Destacadas.
   Quita el espacio extra causado por el alto mínimo y el botón empujado al fondo. */
.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item,
.catalog-page-body .catalog-page-grid .catalog-item{
  min-height:auto !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item > div,
.catalog-page-body .catalog-page-grid .catalog-item > div{
  flex:0 0 auto !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  padding:0 6px 0 !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3,
.catalog-page-body .catalog-page-grid .catalog-item h3{
  font-family:'Lato',sans-serif !important;
  font-size:13px;
  line-height:1.15 !important;
  font-weight: 700 !important;
  margin:5px 0 3px !important;
  min-height:0 !important;
  text-align:center !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-details,
.catalog-page-body .catalog-page-grid .catalog-item .product-details{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:5px 6px !important;
  margin:4px 0 5px !important;
  padding:0 !important;
  min-height:0 !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-details span,
.catalog-page-body .catalog-page-grid .catalog-item .product-details span{
  min-height:22px !important;
  padding:3px 8px !important;
  font-size:13px;
  line-height:1 !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item p,
.catalog-page-body .catalog-page-grid .catalog-item p{
  margin:2px 0 5px !important;
  min-height:0 !important;
  font-size:13px;
  line-height:1.35 !important;
  color:#67615a !important;
  text-align:center !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item strong,
.catalog-page-body .catalog-page-grid .catalog-item strong{
  display:block !important;
  font-size:13px;
  margin:3px 0 3px !important;
  padding:0 !important;
  line-height:1.15 !important;
  text-align:center !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-reviews,
.catalog-page-body .catalog-page-grid .catalog-item .product-reviews{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:6px !important;
  margin:3px auto 5px !important;
  padding:0 !important;
  min-height:16px !important;
  height:auto !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .stock-status,
.catalog-page-body .catalog-page-grid .catalog-item .stock-status{
  display:block !important;
  margin:0 0 8px !important;
  padding:0 !important;
  min-height:0 !important;
  line-height:1.15 !important;
  text-align:center !important;
}

.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .catalog-cart,
.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart{
  margin-top:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  width:auto !important;
  min-width:165px !important;
  height:34px !important;
  padding:0 14px !important;
}

/* Corrección catálogo: quitar el espacio superior del header.
   El header del catálogo estaba con top: 10px/16px/18px en reglas finales,
   lo que dejaba ver contenido por encima al hacer scroll o al cargar la página. */
body.catalog-page-body .catalog-header-main{
  top:0 !important;
  margin-top:0 !important;
}
body.catalog-page-body .catalog-page-main{
  margin-top:0 !important;
}
@media (min-width:901px) and (max-width:1440px){
  body.catalog-page-body .catalog-header-main{top:0 !important;}
}
@media(max-width:900px){
  body.catalog-page-body .catalog-header-main{top:0 !important;}
}
@media(max-width:560px){
  body.catalog-page-body .catalog-header-main{top:0 !important;}
}

/* Ajuste catálogo: mantener el header pegado arriba, pero con aire interno.
   Esto evita que el logo quede visualmente pegado al borde superior de la ventana. */
body.catalog-page-body .catalog-header-main{
  top:0 !important;
  height:116px !important;
  padding-top:12px !important;
  padding-bottom:10px !important;
  box-sizing:border-box !important;
  align-items:center !important;
}
body.catalog-page-body .catalog-header-main .brand img{
  display:block !important;
  max-height:78px !important;
  width:220px !important;
  object-fit:contain !important;
}
@media(max-width:900px){
  body.catalog-page-body .catalog-header-main{
    height:108px !important;
    padding-top:10px !important;
    padding-bottom:8px !important;
  }
  body.catalog-page-body .catalog-header-main .brand img{
    max-height:70px !important;
    width:190px !important;
  }
}
@media(max-width:560px){
  body.catalog-page-body .catalog-header-main{
    height:98px !important;
    padding-top:9px !important;
    padding-bottom:8px !important;
  }
  body.catalog-page-body .catalog-header-main .brand img{
    max-height:62px !important;
    width:165px !important;
  }
}

/* Ajuste inicio: aplicar el mismo criterio del catálogo.
   Header pegado al borde superior, pero con aire interno para que el logo no toque la ventana. */
body.video-header-layout .header{
  top:0 !important;
  min-height:144px !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
  box-sizing:border-box !important;
  align-items:center !important;
}
body.video-header-layout .header .brand img{
  display:block !important;
  width:220px !important;
  max-height:78px !important;
  object-fit:contain !important;
}
body.video-header-layout .hero-video{
  padding-top:176px !important;
}
@media (min-width:901px) and (max-width:1440px){
  body.video-header-layout .header{
    top:0 !important;
    min-height:138px !important;
    padding-top:12px !important;
    padding-bottom:11px !important;
  }
  body.video-header-layout .header .brand img{
    width:220px !important;
    max-height:78px !important;
  }
  body.video-header-layout .hero-video{
    padding-top:168px !important;
  }
}
@media(max-width:900px){
  body.video-header-layout .header{
    top:0 !important;
    min-height:154px !important;
    padding-top:10px !important;
    padding-bottom:12px !important;
  }
  body.video-header-layout .header .brand img{
    width:190px !important;
    max-height:70px !important;
  }
  body.video-header-layout .hero-video{
    padding-top:200px !important;
  }
}
@media(max-width:560px){
  body.video-header-layout .header{
    top:0 !important;
    min-height:146px !important;
    padding-top:9px !important;
    padding-bottom:10px !important;
  }
  body.video-header-layout .header .brand img{
    width:165px !important;
    max-height:62px !important;
  }
  body.video-header-layout .hero-video{
    padding-top:188px !important;
  }
}

/* Corrección: conservar Gr con mayúscula/minúscula exacta */
.product-details span{ text-transform:none !important; }

/* Ajuste visual solicitado: Mi cuenta en blanco, negro y grises */
.account-modal .account-backdrop{
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(3px);
}
.account-panel{
  background:#fff;
  border:1px solid #d9d9d9;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  color:#111;
}
.customer-account-trigger .account-dot{
  background:#111;
  border-color:#fff;
}
.account-close{
  background:#f2f2f2;
  color:#111;
}
.account-close:hover{
  background:#e5e5e5;
}
.account-eyebrow{
  color:#111;
}
.account-panel h2,
.account-user-card h3,
.account-order-head strong{
  color:#111;
}
.account-intro,
.account-message,
.account-user-card p,
.account-profile-details p,
.account-order-card p,
.account-order-card ul{
  color:#555;
}
.account-message.success,
.account-message.error{
  color:#111;
}
.account-tab{
  background:#fff;
  color:#111;
  border:1px solid #cfcfcf;
}
.account-tab:hover{
  background:#f3f3f3;
}
.account-tab.active{
  background:#111;
  color:#fff;
  border-color:#111;
}
.account-form label{
  color:#222;
}
.account-form input{
  background:#fff;
  border:1px solid #cfcfcf;
  color:#111;
}
.account-form input:focus{
  border-color:#111;
  box-shadow:0 0 0 4px rgba(0,0,0,.08);
}
.account-user-card,
.account-profile-details,
.account-order-card{
  background:#fff;
  border:1px solid #d9d9d9;
}
.account-avatar{
  background:#111;
  color:#fff;
}
.account-order-head span{
  background:#111;
  color:#fff;
}
.account-actions .btn,
.account-wide.btn,
.account-form .btn{
  background:#111;
  border-color:#111;
  color:#fff;
}
.account-actions .btn:hover,
.account-wide.btn:hover,
.account-form .btn:hover{
  background:#333;
  border-color:#333;
}
.account-actions .btn-outline,
.account-wide.btn-outline,
.account-form .btn-outline{
  background:#fff;
  border-color:#111;
  color:#111;
}
.account-actions .btn-outline:hover,
.account-wide.btn-outline:hover,
.account-form .btn-outline:hover{
  background:#f3f3f3;
  color:#111;
}
.account-order-product{
  background:#fff;
  border-color:#d9d9d9;
}
.account-review-status,
.account-review-message,
.account-review-status.success,
.account-review-message.success,
.account-review-status.error,
.account-review-message.error{
  color:#111;
}

/* Perfil de cliente: foto de perfil y navegación solo para sesión activa */
.account-user-card{
  align-items:center;
}
.account-user-info{
  min-width:0;
}
.account-avatar{
  overflow:hidden;
  flex:0 0 auto;
}
.account-avatar-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:50%;
  filter:grayscale(100%);
}
.account-photo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.account-photo-upload,
.account-photo-remove{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 14px;
  border:1px solid #111;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
  cursor:pointer;
}
.account-photo-remove{
  background:#fff;
  color:#111;
}
.account-photo-upload:hover{
  background:#333;
  border-color:#333;
}
.account-photo-remove:hover{
  background:#f3f3f3;
}
.account-photo-upload input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.account-photo-help{
  margin-top:8px !important;
  font-size:13px;
  color:#666 !important;
}
@media (max-width: 560px){
  .account-user-card{
    align-items:flex-start;
  }
  .account-photo-actions{
    width:100%;
  }
  .account-photo-upload,
  .account-photo-remove{
    width:100%;
  }
}

/* Iniciales automáticas cuando el cliente no tiene foto de perfil */
.account-avatar.has-initials{
  background:#111;
  color:#fff;
  border:1px solid #111;
  font-size:13px;
  line-height:1;
  text-transform:uppercase;
}
.account-avatar.has-photo{
  background:#fff;
  border:1px solid #d9d9d9;
}

/* Edición de perfil del cliente */
.account-profile-edit-form{
  margin-top:16px;
  padding:16px;
  border:1px solid #d9d9d9;
  border-radius:18px;
  background:#fff;
}
.account-profile-edit-actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  align-items:stretch;
}
.account-profile-edit-actions .btn{
  width:100%;
  min-width:0;
  height:42px;
  padding:0 12px;
  border-radius:4px;
  box-sizing:border-box;
  font-size:13px;
  line-height:1;
  text-align:center;
}
@media (max-width:640px){
  .account-profile-edit-actions{
    grid-template-columns:1fr;
  }
}

/* Usuarios registrados en admin */
.admin-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px;}
.admin-section-head h2{margin-bottom:8px;}
.admin-section-head p{margin-bottom:0;}
.admin-customers-summary{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.admin-customers-summary div,.admin-customer-stats div{min-width:110px;border:1px solid #e6e6e6;background:#fafafa;border-radius:8px;padding:12px 14px;text-align:center;}
.admin-customers-summary span,.admin-customer-stats span{display:block;font-size:13px;font-weight: 700 !important;letter-spacing:0.025em;text-transform:uppercase;color:#666;margin-bottom:5px;}
.admin-customers-summary strong,.admin-customer-stats strong{display:block;font-size:13px;color:#111;}
.admin-search-label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight: 700 !important;text-transform:uppercase;letter-spacing:0.025em;color:#222;margin-bottom:18px;}
.admin-search-label input{width:100%;border:1px solid #d6d6d6;background:#fff;border-radius:8px;padding:14px 15px;font:600 14px Inter,Arial,sans-serif;color:#111;outline:none;}
.admin-search-label input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.08);}
.admin-customers{display:grid;gap:14px;}
.admin-customer-row{display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;border:1px solid #e3e3e3;background:#fff;border-radius:10px;padding:16px;}
.admin-customer-avatar{width:72px;height:72px;border-radius:999px;background:#111;color:#fff;display:grid;place-items:center;overflow:hidden;font-weight: 700 !important;font-size:13px;letter-spacing:0.025em;}
.admin-customer-avatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);}
.admin-customer-info h3{margin:0;font-size:13px;color:#111;}
.admin-customer-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.admin-customer-title strong{font-size:13px;background:#f3f3f3;border:1px solid #ddd;border-radius:999px;padding:7px 10px;color:#111;white-space:nowrap;}
.admin-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;}
.admin-customer-grid p{margin:0;color:#555;font-size:13px;line-height:1.45;}
.admin-customer-grid b{color:#111;}
.admin-customer-address{grid-column:1/-1;}
.admin-customer-stats{display:grid;gap:8px;min-width:150px;}
@media(max-width:820px){.admin-section-head{display:grid}.admin-customers-summary{justify-content:stretch}.admin-customers-summary div{flex:1}.admin-customer-row{grid-template-columns:56px 1fr}.admin-customer-avatar{width:56px;height:56px;font-size:13px}.admin-customer-stats{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}.admin-customer-grid{grid-template-columns:1fr}.admin-customer-title{align-items:flex-start;flex-direction:column}.admin-customer-title strong{white-space:normal}}


.admin-visits-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-top:10px;}
.admin-visits-summary div{border:1px solid #e6e6e6;background:#fafafa;border-radius:8px;padding:14px 16px;text-align:center;}
.admin-visits-summary span{display:block;font-size:13px;font-weight: 700 !important;letter-spacing:0.025em;text-transform:uppercase;color:#666;margin-bottom:6px;}
.admin-visits-summary strong{display:block;font-size:13px;color:#111;}
.admin-visits-note{margin:14px 0 0!important;font-size:13px;color:#666!important;}
@media(max-width:820px){.admin-visits-summary{grid-template-columns:1fr 1fr;}.admin-visits-summary div:last-child{grid-column:1/-1;}}
@media(max-width:520px){.admin-visits-summary{grid-template-columns:1fr;}.admin-visits-summary div:last-child{grid-column:auto;}}

/* Métodos de pago: imagen, pago seguro debajo y contador fijo */
.footer .payments{
  margin:0 0 6px;
}
.footer .payments img{
  display:block;
  margin:0;
}
.footer .lock{
  display:block;
  width:100%;
  margin:6px 0 0 !important;
  padding:0;
  line-height:16px;
  min-height:16px;
  text-align:left;
  white-space:nowrap;
}
.visitor-counter{
  width:max-content;
  max-width:none;
  min-height:22px;
  margin:30px 0 0 !important;
  padding:3px 9px;
  border:1px solid #d8d8d8;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-family:'Lato', sans-serif;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  line-height:14px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  position:relative;
  transform:none;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  font-variant-numeric:tabular-nums;
}
.visitor-counter-label{font-weight: 700 !important;color:#333;text-transform:uppercase;}
.visitor-counter strong{font-size:13px;font-weight: 700 !important;color:#000;min-width:auto;text-align:left;display:inline-block;font-variant-numeric:tabular-nums;}
.visitor-counter-today{font-size:13px;font-weight: 700 !important;color:#333;}
.visitor-counter-today strong{margin-right:2px;}
@media(max-width:560px){.visitor-counter{font-size:13px;min-height:20px;line-height:13px;margin-top:30px!important;padding:3px 8px;gap:4px}.visitor-counter strong,.visitor-counter-today{font-size:13px}}

.visitor-counter-today{display:none!important;}

/* Filtro sticky corregido en catalogo.html */
@media (min-width:981px){
  .catalog-page-body .catalog-layout-section{
    align-items:start !important;
    overflow:visible !important;
  }
  .catalog-page-body .catalog-sidebar{
    position:-webkit-sticky !important;
    position:sticky !important;
    top:86px !important;
    align-self:start !important;
    height:max-content !important;
    max-height:calc(100vh - 104px) !important;
    overflow:visible !important;
    z-index:5 !important;
  }
}
@media (max-width:980px){
  .catalog-page-body .catalog-sidebar{
    position:relative !important;
    top:auto !important;
    max-height:none !important;
  }
}

/* Barra de búsqueda de productos publicados en admin */
.admin-product-searchbar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin:18px 0 8px;}
.admin-product-searchbar .admin-search-label{margin-bottom:0;}
.admin-product-search-summary{margin:0 0 16px!important;color:#555!important;font-size:13px;font-weight: 700 !important;}
@media(max-width:720px){.admin-product-searchbar{grid-template-columns:1fr}.admin-product-searchbar .btn{width:100%;}}

/* Ajuste solicitado: detalle de producto en blanco, negro y gris con fondo blanco */
.product-detail-panel{
  background:#ffffff !important;
  color:#111111 !important;
}
.product-detail-image-wrap{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
}
.product-detail-specs div,
.product-detail-description-box{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  color:#111111 !important;
}
.product-detail-specs span,
.product-detail-description-box > span{
  color:#555555 !important;
}
.product-detail-specs b,
.product-detail-info h2,
.product-detail-price,
.product-detail-eyebrow{
  color:#111111 !important;
}
.product-detail-description{
  color:#444444 !important;
}
.product-detail-thumb{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  color:#111111 !important;
}
.product-detail-thumb.active,
.product-detail-thumb:hover{
  border-color:#111111 !important;
  box-shadow:0 6px 18px rgba(0,0,0,.10) !important;
}
.product-detail-size .size-picker,
.product-detail-size select{
  background:#ffffff !important;
  border:1px solid #777777 !important;
  color:#111111 !important;
}

/* Ajuste: quitar las líneas del contenedor de talla en el detalle del producto */
.product-detail-size .size-picker{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.product-detail-size .size-picker select{
  background:#ffffff !important;
  border:1px solid #777777 !important;
  color:#111111 !important;
}

/* Ajuste solicitado: inicio de sesión de clientes con fondo blanco, negro y gris */
.account-modal[data-active-view="login"] .account-backdrop{
  background:linear-gradient(135deg, rgba(0,0,0,.82) 0%, rgba(45,45,45,.78) 48%, rgba(215,215,215,.72) 100%);
  backdrop-filter:blur(5px);
}
.account-modal[data-active-view="login"] .account-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f2f2f2 100%) !important;
  border:1px solid rgba(0,0,0,.18) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.45) !important;
}
.account-modal[data-active-view="login"] .account-close{
  background:#111111 !important;
  color:#ffffff !important;
  border:1px solid #3a3a3a !important;
}
.account-modal[data-active-view="login"] .account-message:not(:empty){
  background:#f4f4f4 !important;
  border-bottom:1px solid #d2d2d2 !important;
  color:#111111 !important;
}
.account-modal[data-active-view="login"] .auth-reference-card.customer-login-card{
  background:linear-gradient(180deg,#ffffff 0%,#f7f7f7 100%) !important;
  color:#111111 !important;
}
.account-modal[data-active-view="login"] .auth-card-heading h3,
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form label,
.account-modal[data-active-view="login"] .auth-card-link-row .account-forgot-link{
  color:#111111 !important;
}
.account-modal[data-active-view="login"] .auth-card-heading p{
  color:#555555 !important;
}
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form input{
  background:#ffffff !important;
  border:1px solid #bdbdbd !important;
  color:#111111 !important;
  box-shadow:none !important;
}
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form input:focus{
  border-color:#111111 !important;
  box-shadow:0 0 0 4px rgba(0,0,0,.12) !important;
}
.account-modal[data-active-view="login"] .auth-card-form .customer-login-submit{
  background:#111111 !important;
  border-color:#111111 !important;
  color:#ffffff !important;
}
.account-modal[data-active-view="login"] .auth-card-form .customer-login-submit:hover{
  background:#333333 !important;
  border-color:#333333 !important;
}
.account-modal[data-active-view="login"] .auth-card-form .customer-register-shortcut{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid #9a9a9a !important;
}
.account-modal[data-active-view="login"] .auth-card-form .customer-register-shortcut:hover{
  background:#eeeeee !important;
  border-color:#555555 !important;
}

/* Ajuste solicitado: inicio de sesión del panel de administración en blanco, negro y gris */
.login-body{
  background:linear-gradient(135deg,#ffffff 0%,#f3f3f3 48%,#111111 100%) !important;
  color:#111111 !important;
}
.login-page{
  position:relative;
}
.login-card{
  position:relative;
  overflow:hidden;
  background:#ffffff !important;
  border:1.5px solid #111111 !important;
  box-shadow:0 24px 70px rgba(0,0,0,.18) !important;
  color:#111111 !important;
}
.login-card::before{
  content:"";
  position:absolute;
  inset:-80px -70px auto auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(17,17,17,.08);
  pointer-events:none;
}
.login-card::after{
  content:"";
  position:absolute;
  inset:auto auto -95px -80px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(120,120,120,.12);
  pointer-events:none;
}
.login-card > *{
  position:relative;
  z-index:1;
}
.login-kicker,
.login-back,
.login-back:hover,
.login-back:focus-visible{
  color:#111111 !important;
}
.login-card h1{
  color:#000000 !important;
}
.login-card p,
.login-note{
  color:#3f3f3f !important;
}
.login-form label{
  color:#111111 !important;
}
.login-form input{
  background:#ffffff !important;
  color:#111111 !important;
  border:1.5px solid #111111 !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
.login-form input:hover,
.login-form input:focus{
  border-color:#000000 !important;
  box-shadow:0 0 0 3px rgba(17,17,17,.12) !important;
}
.login-form input::placeholder{
  color:#5d5d5d !important;
}
.login-submit{
  background:#ffffff !important;
  color:#111111 !important;
  border:1.5px solid #111111 !important;
  border-radius:999px !important;
}
.login-submit:hover,
.login-submit:focus-visible{
  background:#111111 !important;
  color:#ffffff !important;
  border-color:#111111 !important;
}
.login-note{
  background:#f4f4f4 !important;
  border:1px solid #111111 !important;
}
.login-note strong,
.login-note b{
  color:#000000 !important;
}
.login-error{
  color:#111111 !important;
}

/* Ajuste solicitado: títulos y subtítulos con la misma fuente del menú Catálogo.
   No modifica textos corridos, párrafos ni campos de formulario. */
:root{
  --menu-catalog-font:'Lato', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.subtitle,
.section-title,
.section-subtitle,
.page-title,
.page-subtitle,
.card-title,
.card-subtitle,
.hero h1,
.section h2,
.products-section .joyas-title,
.collection-card h3,
.overlay-collections .collection-overlay h3,
.benefits h3,
.tracking h2,
.whatsapp h2,
.footer h3,
.catalog-header h2,
.catalog-hero-page h1,
.sidebar-title h2,
.catalog-results-head h2,
.catalog-results-head span,
.catalog-item h3,
.catalog-page-grid .catalog-item h3,
.cart-header h2,
.cart-item h3,
.modal h1,
.modal h2,
.modal h3,
.policy-section-title h3,
.auth-card-heading h3,
.customer-login-heading h3,
.location-info h2,
.location-logo-title,
.tracking-panel h2,
.admin-header h1,
.admin-card h2,
.admin-card h3,
.admin-section-head h2,
.login-card h1,
.login-card h2,
.login-card h3,
.menu-preview-card h4{
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
}


/* CORRECCIÓN FUERTE: títulos y subtítulos con la fuente del menú Catálogo.
   Se aplica a encabezados y elementos de título; no se aplica a p, texto corrido,
   descripciones, inputs, labels ni párrafos. */
:root{ --menu-catalog-font:'Lato', sans-serif; }

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body [class*="title"],
body [class*="Title"],
body [class*="titulo"],
body [class*="Titulo"],
body [class*="heading"],
body [class*="Heading"],
body [class*="subtitle"],
body [class*="Subtitle"],
body [class*="subtitulo"],
body [class*="Subtitulo"],
body .joyas-title,
body .product-name,
body .catalog-item h3,
body .cart-item h3,
body .menu-preview-card h4,
body .tracking-result strong,
body .admin-order-title h3{
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
}

/* CORRECCIÓN FINAL: igualar títulos y subtítulos a la tipografía exacta del menú "Catálogo".
   Menú Catálogo = Lato, 700, mayúscula, espaciado .08em.
   No se aplica a párrafos, textos corridos, descripciones, labels, inputs ni botones. */
:root{ --menu-catalog-font:'Lato', sans-serif; }

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .hero h1,
body .section h2,
body .collection-card h3,
body .overlay-collections .collection-overlay h3,
body .products-section .joyas-title,
body .tracking h2,
body .tracking-panel h2,
body .whatsapp h2,
body .whatsapp .wa-copy h2,
body .footer h3,
body .catalog-header h2,
body .catalog-hero-page h1,
body .sidebar-title h2,
body .catalog-results-head h2,
body .catalog-results-head span,
body .catalog-item h3,
body .catalog-page-grid .catalog-item h3,
body .cart-header h2,
body .cart-item h3,
body .checkout-panel h2,
body .location-info h2,
body .location-logo-title,
body .modal h1,
body .modal h2,
body .modal h3,
body .policy-section-title h3,
body .auth-card-heading h3,
body .customer-login-heading h3,
body .admin-header h1,
body .admin-card h2,
body .admin-card h3,
body .admin-section-head h2,
body .admin-order-title h3,
body .login-card h1,
body .login-card h2,
body .login-card h3,
body .menu-preview-card h4,
body [class*="title"],
body [class*="Title"],
body [class*="titulo"],
body [class*="Titulo"],
body [class*="heading"],
body [class*="Heading"],
body [class*="subtitle"],
body [class*="Subtitle"],
body [class*="subtitulo"],
body [class*="Subtitulo"]{
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

/* AJUSTE FINAL: texto normal y párrafos a 13px.
   No afecta títulos/subtítulos, menú, botones, formularios ni precios destacados. */
body,
body p,
body li,
body small,
body .hero p,
body .benefits p,
body .tracking p,
body .whatsapp p,
body .footer p,
body .catalog-item p,
body .catalog-page-grid .catalog-item p,
body .admin-product-row p,
body .login-card p,
body .login-note,
body .cart-empty,
body .cart-item p,
body .product-description,
body .product-meta,
body .product-reviews,
body .catalog-count,
body .tracking-form small{
  font-size:13px;
}


/* AJUSTE GLOBAL DEFINITIVO: texto normal y párrafos a 13px en TODAS las páginas.
   Conserva títulos/subtítulos, menú, botones, formularios, etiquetas e inputs. */
body :where(p, li, small, dd, figcaption),
body :where(.footer-tagline, .copyright, .catalog-count, .product-description, .product-meta, .product-reviews, .cart-empty, .login-note, .account-help, .account-message, .account-intro, .currency-text, .location-info, .policy-content, .tracking-result, .admin-product-search-summary, .admin-customers-summary, .admin-sales-summary, .menu-product-preview-inner){
  font-size:13px;
  line-height:1.5 !important;
}

/* Mantener títulos y subtítulos con la fuente del menú Catálogo. */
body :where(h1, h2, h3, h4, h5, h6, .section-eyebrow, .title-line, .joyas-title, .sidebar-title, .policy-section-title, .auth-card-heading, .customer-login-heading, .login-kicker, .account-eyebrow, .tracking-eyebrow, .checkout-eyebrow, .policy-eyebrow, .admin-section-head, .admin-header h1, .admin-card h2, .admin-card h3){
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
}

/* CORRECCION REAL: texto normal y parrafos a 13px en todas las paginas.
   Selectores con alta especificidad para superar reglas anteriores con !important.
   No incluye titulos, subtitulos, menu, botones, formularios ni precios. */
html body,
html body main,
html body section,
html body article,
html body footer,
html body p,
html body p *,
html body li,
html body li *,
html body small,
html body small *,
html body figcaption,
html body figcaption *,
html body .hero p,
html body .benefits p,
html body .collection-card a,
html body .catalog-item p,
html body .catalog-item p *,
html body .catalog-count,
html body .product-description,
html body .product-meta,
html body .product-reviews,
html body .cart-empty,
html body .cart-item p,
html body .login-card p,
html body .login-note,
html body .account-help,
html body .account-message,
html body .account-intro,
html body .tracking p,
html body .tracking-form small,
html body .whatsapp p,
html body .secure,
html body .footer p,
html body .footer a,
html body .footer-tagline,
html body .copyright,
html body .admin-product-row p,
html body .admin-product-search-summary,
html body .admin-customers-summary span,
html body .admin-customer-grid p,
html body .admin-visits-summary span,
html body .admin-visits-note,
html body .tracking-result,
html body .tracking-result p,
html body .policy-content p,
html body .checkout-summary p,
html body .checkout-item p,
html body .menu-product-preview-inner p{
  font-size:13px;
  line-height:1.5 !important;
}

/* Reafirmar excepciones: titulos/subtitulos/menu/botones/formularios conservan su estilo. */
html body h1,
html body h1 *,
html body h2,
html body h2 *,
html body h3,
html body h3 *,
html body h4,
html body h4 *,
html body h5,
html body h5 *,
html body h6,
html body h6 *,
html body .section-eyebrow,
html body .title-line,
html body .joyas-title,
html body .sidebar-title,
html body .policy-section-title,
html body .auth-card-heading,
html body .customer-login-heading,
html body .login-kicker,
html body .account-eyebrow,
html body .tracking-eyebrow,
html body .checkout-eyebrow,
html body .policy-eyebrow{
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
}


/* AJUSTE 13PX REAL VISIBLE - 2026-06-15
   Texto normal y parrafos en todas las paginas a 13px.
   Incluye textos que no estaban dentro de <p> (span, strong, enlaces de contenido,
   textos de tarjetas, carrito, catalogo, admin, clientes y ventas).
   No cambia titulos/subtitulos ni campos de formulario. */
html body{
  font-size:13px;
}
html body :is(
  p, p *,
  li, li *,
  small, small *,
  figcaption, figcaption *,
  .topbar, .topbar *,
  .hero p, .hero p *,
  .benefits p, .benefits p *,
  .collection-card a,
  .product-card p, .product-card p *,
  .product-card .product-meta,
  .product-card .product-meta *,
  .product-card .product-details,
  .product-card .product-details *,
  .product-card .rating,
  .product-card .rating *,
  .product-card strong,
  .catalog-count,
  .catalog-item p, .catalog-item p *,
  .catalog-item span,
  .catalog-item strong,
  .catalog-filters span,
  .product-description,
  .product-description *,
  .product-meta,
  .product-meta *,
  .product-reviews,
  .product-reviews *,
  .cart-empty,
  .cart-empty *,
  .cart-item p, .cart-item p *,
  .cart-qty span,
  .cart-summary div,
  .cart-summary span,
  .cart-summary strong,
  .checkout-summary p, .checkout-summary p *,
  .checkout-item p, .checkout-item p *,
  .tracking p, .tracking p *,
  .tracking-form small,
  .whatsapp p, .whatsapp p *,
  .secure,
  .footer p, .footer p *,
  .footer a,
  .footer span,
  .footer-tagline,
  .copyright,
  .login-card p, .login-card p *,
  .login-note,
  .login-note *,
  .account-help,
  .account-help *,
  .account-message,
  .account-message *,
  .account-intro,
  .account-intro *,
  .admin-product-row p,
  .admin-product-row p *,
  .admin-product-row span,
  .admin-product-row small,
  .admin-product-search-summary,
  .admin-customers-summary span,
  .admin-customer-grid p,
  .admin-visits-summary span,
  .admin-visits-note,
  .visitor-counter,
  .visitor-counter *,
  .tracking-result,
  .tracking-result *,
  .policy-content p,
  .policy-content p *
){
  font-size:13px;
  line-height:1.5 !important;
}

/* Excepciones: titulos y subtitulos siguen con la fuente del menu Catalogo. */
html body :is(h1,h2,h3,h4,h5,h6,
  .section-eyebrow,.title-line,.joyas-title,.sidebar-title,.policy-section-title,
  .auth-card-heading,.customer-login-heading,.login-kicker,.account-eyebrow,
  .tracking-eyebrow,.checkout-eyebrow,.policy-eyebrow,.catalog-header span,
  .admin-header span,.admin-card h2,.admin-card h3,.admin-header h1
),
html body :is(h1,h2,h3,h4,h5,h6) *{
  font-family:'Lato', sans-serif'Lato', sans-serif) !important;
  font-weight: 700 !important;
}

/* Formularios, botones y navegación conservan sus propios estilos. */
html body :is(button, button *, input, select, textarea, option,
  .btn, .btn *, .primary, .primary *, .outline, .outline *,
  .header-nav a, .side-menu a, .catalog-view-all, .login-back,
  .admin-form label, .login-form label
){
  line-height:inherit;
}

/* CORRECCION SOLICITADA - CATALOGO 13PX VISIBLE
   Aplica 13px especificamente en catalogo.html para texto normal, parrafos,
   filtros, detalles de producto, opiniones, disponibilidad, carrito y modales.
   No cambia titulos/subtitulos, menu, botones, inputs, selects ni textarea. */
body.catalog-page-body :is(
  p, p *,
  li, li *,
  small, small *,
  figcaption, figcaption *,
  .catalog-count,
  .catalog-empty,
  .catalog-filters label > span,
  .catalog-page-filters label > span,
  .catalog-results-head .catalog-count,
  #catalogGrid.catalog-page-grid .catalog-item p,
  #catalogGrid.catalog-page-grid .catalog-item p *,
  #catalogGrid.catalog-page-grid .catalog-item .product-details span,
  #catalogGrid.catalog-page-grid .catalog-item .product-reviews,
  #catalogGrid.catalog-page-grid .catalog-item .product-reviews *,
  #catalogGrid.catalog-page-grid .catalog-item .stock-status,
  #catalogGrid.catalog-page-grid .catalog-item .stock-status *,
  #catalogGrid.catalog-page-grid .catalog-item > div > strong,
  .catalog-page-grid .catalog-item p,
  .catalog-page-grid .catalog-item p *,
  .catalog-page-grid .catalog-item .product-details span,
  .catalog-page-grid .catalog-item .product-reviews,
  .catalog-page-grid .catalog-item .product-reviews *,
  .catalog-page-grid .catalog-item .stock-status,
  .catalog-page-grid .catalog-item .stock-status *,
  .catalog-page-grid .catalog-item > div > strong,
  .cart-empty,
  .cart-empty *,
  .cart-item p,
  .cart-item p *,
  .cart-summary span,
  .cart-summary strong,
  .checkout-panel p,
  .checkout-panel p *,
  .checkout-summary p,
  .checkout-summary p *,
  .checkout-total span,
  .checkout-total strong,
  .location-info p,
  .location-info p *,
  .tracking-panel p,
  .tracking-panel p *,
  .tracking-result,
  .tracking-result *,
  .policy-content p,
  .policy-content p *,
  .account-intro,
  .account-intro *,
  .account-help,
  .account-help *,
  .account-message,
  .account-message *,
  .product-detail-specs span,
  .product-detail-specs b,
  .product-detail-description-box > span,
  .product-detail-description,
  .product-detail-description *,
  .product-opinions-panel,
  .product-opinions-panel *,
  .footer-tagline,
  .footer-tagline *,
  .footer p,
  .footer p *,
  .copyright,
  .visitor-counter,
  .visitor-counter *
){
  font-size:13px;
  line-height:1.5 !important;
}

/* Excepciones de catalogo: conservar titulos/subtitulos, menu, botones y formularios. */
body.catalog-page-body :is(
  h1,h1*,h2,h2*,h3,h3*,h4,h4*,h5,h5*,h6,h6*,
  .section-eyebrow,.catalog-results-head span,.sidebar-title,.checkout-eyebrow,
  .tracking-eyebrow,.policy-eyebrow,.account-eyebrow,.product-detail-eyebrow,
  .header-nav a,.side-menu a,.mobile-catalog-link,.topbar a,
  button,button*,.btn,.btn*,input,select,textarea,option,label
){
  line-height:inherit;
}

/* ==========================================================
   CORRECCION FINAL: TITULOS Y SUBTITULOS IGUAL AL MENU CATALOGO
   Solo aplica a titulos/subtitulos. No modifica parrafos ni texto normal.
   Fuente del menu Catalogo: Lato, 700, uppercase, letter-spacing .08em
   ========================================================== */
html body :is(
  h1, h2, h3, h4, h5, h6,
  h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
  .section-eyebrow,
  .joyas-title,
  .sidebar-title,
  .policy-section-title,
  .auth-card-heading,
  .customer-login-heading,
  .login-kicker,
  .account-eyebrow,
  .tracking-eyebrow,
  .checkout-eyebrow,
  .policy-eyebrow,
  .product-detail-eyebrow,
  .catalog-header > span,
  .catalog-hero-page > span,
  .catalog-results-head > span,
  .admin-header > span,
  .modal-title,
  .card-title,
  .section-title,
  .footer-title
){
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

/* Mantener el texto normal y parrafos sin transformación de titulo. */
html body :is(
  p, p *,
  li, li *,
  small, small *,
  figcaption, figcaption *,
  .product-details,
  .product-details *,
  .product-reviews,
  .product-reviews *,
  .stock-status,
  .stock-status *,
  .catalog-count,
  .catalog-empty,
  .footer p,
  .copyright,
  .visitor-counter,
  .visitor-counter *
){
  text-transform:none !important;
}

/* ==========================================================
   CORRECCIÓN DEFINITIVA VISIBLE
   Títulos y subtítulos igual al menú "Catálogo":
   Lato, negrilla 700, MAYÚSCULAS y espaciado .08em.
   Esta regla va al final y usa selectores específicos para superar
   reglas antiguas del catálogo, inicio, admin, ventas, clientes y login.
   No aplica a párrafos ni texto corrido.
   ========================================================== */
html body h1,
html body h1 *,
html body h2,
html body h2 *,
html body h3,
html body h3 *,
html body h4,
html body h4 *,
html body h5,
html body h5 *,
html body h6,
html body h6 *,
html body .hero h1,
html body .hero h1 *,
html body .section h2,
html body .section h2 *,
html body .products-section .joyas-title,
html body .products-section .joyas-title *,
html body .featured-jewels-section .section-eyebrow,
html body .featured-jewels-section .section-eyebrow *,
html body .collection-card h3,
html body .collection-card h3 *,
html body .overlay-collections .collection-overlay h3,
html body .overlay-collections .collection-overlay h3 *,
html body .benefits h3,
html body .benefits h3 *,
html body .tracking h2,
html body .tracking h2 *,
html body .tracking-panel h2,
html body .tracking-panel h2 *,
html body .whatsapp h2,
html body .whatsapp h2 *,
html body .footer h3,
html body .footer h3 *,
html body .catalog-header h2,
html body .catalog-header h2 *,
html body .catalog-hero-page h1,
html body .catalog-hero-page h1 *,
html body .sidebar-title h2,
html body .sidebar-title h2 *,
html body .catalog-results-head h2,
html body .catalog-results-head h2 *,
html body .catalog-results-head > span,
html body .catalog-results-head > span *,
html body .catalog-page-grid .catalog-item h3,
html body .catalog-page-grid .catalog-item h3 *,
html body #catalogGrid.catalog-page-grid .catalog-item h3,
html body #catalogGrid.catalog-page-grid .catalog-item h3 *,
html body .product-card h3,
html body .product-card h3 *,
html body .product-name,
html body .product-name *,
html body .product-detail-title,
html body .product-detail-title *,
html body .product-detail-eyebrow,
html body .product-detail-eyebrow *,
html body .product-opinions-title,
html body .product-opinions-title *,
html body .cart-header h2,
html body .cart-header h2 *,
html body .cart-item h3,
html body .cart-item h3 *,
html body .checkout-panel h2,
html body .checkout-panel h2 *,
html body .location-info h2,
html body .location-info h2 *,
html body .location-logo-title,
html body .location-logo-title *,
html body .modal h1,
html body .modal h1 *,
html body .modal h2,
html body .modal h2 *,
html body .modal h3,
html body .modal h3 *,
html body .policy-section-title h3,
html body .policy-section-title h3 *,
html body .auth-card-heading h3,
html body .auth-card-heading h3 *,
html body .customer-login-heading h3,
html body .customer-login-heading h3 *,
html body .login-kicker,
html body .login-kicker *,
html body .account-eyebrow,
html body .account-eyebrow *,
html body .tracking-eyebrow,
html body .tracking-eyebrow *,
html body .checkout-eyebrow,
html body .checkout-eyebrow *,
html body .policy-eyebrow,
html body .policy-eyebrow *,
html body .admin-header h1,
html body .admin-header h1 *,
html body .admin-card h2,
html body .admin-card h2 *,
html body .admin-card h3,
html body .admin-card h3 *,
html body .admin-section-head h2,
html body .admin-section-head h2 *,
html body .admin-customer-info h3,
html body .admin-customer-info h3 *,
html body .admin-order-title h3,
html body .admin-order-title h3 *,
html body .login-card h1,
html body .login-card h1 *,
html body .login-card h2,
html body .login-card h2 *,
html body .login-card h3,
html body .login-card h3 *,
html body .menu-preview-card h4,
html body .menu-preview-card h4 *,
html body .modal-title,
html body .modal-title *,
html body .card-title,
html body .card-title *,
html body .section-title,
html body .section-title *,
html body .footer-title,
html body .footer-title *{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

/* Mantener párrafos/texto normal sin mayúsculas forzadas. */
html body p,
html body p *,
html body li,
html body li *,
html body small,
html body small *,
html body .product-details,
html body .product-details *,
html body .product-reviews,
html body .product-reviews *,
html body .stock-status,
html body .stock-status *,
html body .catalog-count,
html body .catalog-empty,
html body .footer p,
html body .footer p *,
html body .copyright,
html body .visitor-counter,
html body .visitor-counter *{
  text-transform:none !important;
}


/* ==========================================================
   AJUSTE DEFINITIVO REAL - FUENTE DE TITULOS/SUBTITULOS
   Igual al menu "Catalogo": Lato, 700, MAYUSCULAS,
   letter-spacing .08em. No se aplica a parrafos ni texto corrido.
   ========================================================== */
:root{--jg-menu-catalogo-font:'Lato',sans-serif;}

/* Fuente exacta del menu para referencia y consistencia */
html body .header-nav a,
html body .side-menu a{
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

/* Encabezados HTML en todas las paginas */
html body h1, html body h1 *,
html body h2, html body h2 *,
html body h3, html body h3 *,
html body h4, html body h4 *,
html body h5, html body h5 *,
html body h6, html body h6 *,

/* Inicio */
html body .hero h1, html body .hero h1 *,
html body .section h2, html body .section h2 *,
html body #colecciones h2, html body #colecciones h2 *,
html body .products-section .joyas-title, html body .products-section .joyas-title *,
html body .featured-jewels-section .section-eyebrow, html body .featured-jewels-section .section-eyebrow *,
html body .collection-card h3, html body .collection-card h3 *,
html body .overlay-collections .collection-overlay h3, html body .overlay-collections .collection-overlay h3 *,
html body .benefits h3, html body .benefits h3 *,
html body .tracking h2, html body .tracking h2 *,
html body .whatsapp h2, html body .whatsapp h2 *,
html body .footer h3, html body .footer h3 *,

/* Catalogo */
html body.catalog-page-body .catalog-sidebar .sidebar-title span,
html body.catalog-page-body .catalog-sidebar .sidebar-title h2,
html body.catalog-page-body .catalog-sidebar .sidebar-title h2 *,
html body.catalog-page-body .catalog-results-head span:first-child,
html body.catalog-page-body .catalog-results-head span:first-child *,
html body.catalog-page-body .catalog-results-head h2,
html body.catalog-page-body .catalog-results-head h2 *,
html body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3,
html body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3 *,
html body.catalog-page-body .catalog-grid .catalog-item h3,
html body.catalog-page-body .catalog-grid .catalog-item h3 *,
html body.catalog-page-body .catalog-header h2,
html body.catalog-page-body .catalog-header h2 *,
html body.catalog-page-body .catalog-header span,
html body.catalog-page-body .catalog-header span *,

/* Detalle, carrito y modales */
html body .product-detail-title, html body .product-detail-title *,
html body .product-detail-eyebrow, html body .product-detail-eyebrow *,
html body .product-opinions-title, html body .product-opinions-title *,
html body .cart-header h2, html body .cart-header h2 *,
html body .cart-item h3, html body .cart-item h3 *,
html body .checkout-panel h2, html body .checkout-panel h2 *,
html body .checkout-eyebrow, html body .checkout-eyebrow *,
html body .location-info h2, html body .location-info h2 *,
html body .location-logo-title, html body .location-logo-title *,
html body .tracking-panel h2, html body .tracking-panel h2 *,
html body .tracking-eyebrow, html body .tracking-eyebrow *,
html body .policy-eyebrow, html body .policy-eyebrow *,
html body .policy-section-title h3, html body .policy-section-title h3 *,
html body .modal-title, html body .modal-title *,
html body .modal h1, html body .modal h1 *,
html body .modal h2, html body .modal h2 *,
html body .modal h3, html body .modal h3 *,

/* Cliente */
html body .auth-card-heading h3, html body .auth-card-heading h3 *,
html body .customer-login-heading h3, html body .customer-login-heading h3 *,
html body .login-kicker, html body .login-kicker *,
html body .account-eyebrow, html body .account-eyebrow *,
html body .account-profile-info h3, html body .account-profile-info h3 *,
html body .account-order-product h4, html body .account-order-product h4 *,

/* Admin, ventas, clientes y login */
html body .admin-header span, html body .admin-header span *,
html body .admin-header h1, html body .admin-header h1 *,
html body .admin-card h2, html body .admin-card h2 *,
html body .admin-card h3, html body .admin-card h3 *,
html body .admin-section-head h2, html body .admin-section-head h2 *,
html body .admin-product-row h3, html body .admin-product-row h3 *,
html body .admin-customer-info h3, html body .admin-customer-info h3 *,
html body .admin-order-title h3, html body .admin-order-title h3 *,
html body .tracking-result strong,
html body .dispatch-box h4, html body .dispatch-box h4 *,
html body .dispatch-customer-box h4, html body .dispatch-customer-box h4 *,
html body .login-card h1, html body .login-card h1 *,
html body .login-card h2, html body .login-card h2 *,
html body .login-card h3, html body .login-card h3 *,
html body .menu-preview-card h4, html body .menu-preview-card h4 *{
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

/* Forzar especificamente los titulos de productos generados por JavaScript */
html body.catalog-page-body #catalogGrid article.catalog-item > div > h3,
html body #productsGrid article.product-card > h3{
  font-family:'Lato', sans-serif!important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

/* Proteccion: parrafos y texto normal no se convierten en titulos. */
html body p, html body p *,
html body li, html body li *,
html body small, html body small *,
html body figcaption, html body figcaption *,
html body .product-details, html body .product-details *,
html body .product-reviews, html body .product-reviews *,
html body .stock-status, html body .stock-status *,
html body .catalog-count, html body .catalog-empty,
html body .footer p, html body .footer p *,
html body .copyright, html body .visitor-counter, html body .visitor-counter *{
  text-transform:none !important;
}


/* ==========================================================
   CORRECCION VISIBLE - DETALLE DEL PRODUCTO
   Titulos/subtitulos exactamente igual al menu Catalogo:
   Lato, 700, mayusculas, letter-spacing .08em.
   No se aplica a parrafos ni descripcion.
   ========================================================== */
html body.catalog-page-body #productDetailModal .product-detail-info #productDetailTitle,
html body.catalog-page-body #productDetailModal .product-detail-info #productDetailTitle *,
html body.catalog-page-body #productDetailModal .product-detail-title,
html body.catalog-page-body #productDetailModal .product-detail-title *,
html body.catalog-page-body #productDetailModal .product-detail-eyebrow,
html body.catalog-page-body #productDetailModal .product-detail-eyebrow *,
html body.catalog-page-body #productDetailModal .product-opinions-title,
html body.catalog-page-body #productDetailModal .product-opinions-title *,
html body.catalog-page-body #productDetailModal .product-detail-specs span,
html body.catalog-page-body #productDetailModal .product-detail-description-box > span,
html body.catalog-page-body #productDetailModal .product-detail-size .size-picker > span{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

/* Mantener textos/parrafos del detalle sin mayusculas forzadas. */
html body.catalog-page-body #productDetailModal .product-detail-description,
html body.catalog-page-body #productDetailModal .product-detail-description *,
html body.catalog-page-body #productDetailModal .product-detail-specs b,
html body.catalog-page-body #productDetailModal .product-detail-price,
html body.catalog-page-body #productDetailModal .product-opinion-item,
html body.catalog-page-body #productDetailModal .product-opinion-item *,
html body.catalog-page-body #productDetailModal .product-opinions-note{
  text-transform:none !important;
  letter-spacing:0.025em;
}

/* ==========================================================
   AJUSTE ESPACIADO VISIBLE - DETALLE DEL PRODUCTO
   Reduce los espacios grandes entre titulo/ref, precio, estrellas
   y ficha tecnica dentro del modal de detalle del catalogo.
   ========================================================== */
html body.catalog-page-body #productDetailModal .product-detail-info{
  justify-content:flex-start !important;
  gap:7px !important;
  padding-top:2px !important;
}
html body.catalog-page-body #productDetailModal .product-detail-eyebrow{
  margin:0 0 4px !important;
  line-height:1.15 !important;
}
html body.catalog-page-body #productDetailModal #productDetailTitle,
html body.catalog-page-body #productDetailModal .product-detail-title{
  margin:0 !important;
  line-height:1.05 !important;
}
html body.catalog-page-body #productDetailModal .product-detail-price{
  margin:4px 0 0 !important;
  line-height:1.1 !important;
}
html body.catalog-page-body #productDetailModal .product-reviews{
  margin:4px 0 6px !important;
  line-height:1 !important;
  justify-content:flex-start !important;
}
html body.catalog-page-body #productDetailModal .review-stars,
html body.catalog-page-body #productDetailModal .review-score,
html body.catalog-page-body #productDetailModal .review-count{
  line-height:1 !important;
}
html body.catalog-page-body #productDetailModal .product-detail-specs{
  margin-top:6px !important;
  gap:8px !important;
}
html body.catalog-page-body #productDetailModal .product-detail-specs div{
  padding:9px 12px !important;
}
html body.catalog-page-body #productDetailModal .product-detail-description-box{
  margin-top:2px !important;
}


/* ==========================================================
   CORRECCION GLOBAL - DETALLE DE PRODUCTO EN TODAS LAS PAGINAS
   Aplica los mismos cambios del catalogo al modal usado por Joyas Destacadas
   en index.html y cualquier otra pagina que abra detalle de producto.
   ========================================================== */
html body #productDetailModal .product-detail-info #productDetailTitle,
html body #productDetailModal .product-detail-info #productDetailTitle *,
html body #productDetailModal .product-detail-title,
html body #productDetailModal .product-detail-title *,
html body #productDetailModal .product-detail-eyebrow,
html body #productDetailModal .product-detail-eyebrow *,
html body #productDetailModal .product-opinions-title,
html body #productDetailModal .product-opinions-title *,
html body #productDetailModal .product-detail-specs span,
html body #productDetailModal .product-detail-description-box > span,
html body #productDetailModal .product-detail-size .size-picker > span{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

html body #productDetailModal .product-detail-description,
html body #productDetailModal .product-detail-description *,
html body #productDetailModal .product-detail-specs b,
html body #productDetailModal .product-detail-price,
html body #productDetailModal .product-reviews,
html body #productDetailModal .product-reviews *,
html body #productDetailModal .product-opinion-item,
html body #productDetailModal .product-opinion-item *,
html body #productDetailModal .product-opinions-note{
  text-transform:none !important;
  letter-spacing:0.025em;
}

html body #productDetailModal .product-detail-info{
  justify-content:flex-start !important;
  gap:7px !important;
  padding-top:2px !important;
}
html body #productDetailModal .product-detail-eyebrow{
  margin:0 0 4px !important;
  line-height:1.15 !important;
}
html body #productDetailModal #productDetailTitle,
html body #productDetailModal .product-detail-title{
  margin:0 !important;
  line-height:1.05 !important;
}
html body #productDetailModal .product-detail-price{
  margin:4px 0 0 !important;
  line-height:1.1 !important;
}
html body #productDetailModal .product-reviews{
  margin:4px 0 6px !important;
  line-height:1 !important;
  justify-content:flex-start !important;
}
html body #productDetailModal .review-stars,
html body #productDetailModal .review-score,
html body #productDetailModal .review-count{
  line-height:1 !important;
}
html body #productDetailModal .product-detail-specs{
  margin-top:6px !important;
  gap:8px !important;
}
html body #productDetailModal .product-detail-specs div{
  padding:9px 12px !important;
}
html body #productDetailModal .product-detail-description-box{
  margin-top:2px !important;
}


/* ==========================================================
   CORRECCION DEFINITIVA - JOYAS DESTACADAS / DETALLE PRODUCTO
   Fuerza los títulos y subtítulos del modal generado desde index.html
   con la misma fuente del menu Catálogo. No toca párrafos/descripción.
   ========================================================== */
html body.video-header-layout #productDetailModal .jg-detail-heading,
html body.video-header-layout #productDetailModal .jg-detail-heading *,
html body.video-header-layout #productDetailModal #productDetailTitle,
html body.video-header-layout #productDetailModal #productDetailTitle *,
html body.video-header-layout #productDetailModal .product-detail-title,
html body.video-header-layout #productDetailModal .product-detail-title *,
html body.video-header-layout #productDetailModal .product-detail-eyebrow,
html body.video-header-layout #productDetailModal .product-detail-eyebrow *,
html body.video-header-layout #productDetailModal .product-opinions-title,
html body.video-header-layout #productDetailModal .product-opinions-title *,
html body.video-header-layout #productDetailModal .product-detail-specs > div > span,
html body.video-header-layout #productDetailModal .product-detail-description-box > span,
html body.video-header-layout #productDetailModal .product-detail-size .size-picker > span,
html body #productDetailModal .jg-detail-heading,
html body #productDetailModal .jg-detail-heading *{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}

html body.video-header-layout #productDetailModal .product-detail-description,
html body.video-header-layout #productDetailModal .product-detail-description *,
html body.video-header-layout #productDetailModal .product-detail-specs > div > b,
html body.video-header-layout #productDetailModal .product-detail-price,
html body.video-header-layout #productDetailModal .product-reviews,
html body.video-header-layout #productDetailModal .product-reviews *,
html body.video-header-layout #productDetailModal .product-opinions-note{
  text-transform:none !important;
  letter-spacing:0.025em;
}


/* ==========================================================
   CORRECCIÓN DEFINITIVA: JOYAS DESTACADAS IGUAL AL CATÁLOGO
   El modal del index.html se fuerza con la misma apariencia del
   detalle de producto de catalogo.html.
   ========================================================== */
html body #productDetailModal.catalog-detail-style .product-detail-panel,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-panel,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-panel{
  background:#ffffff !important;
  color:#111111 !important;
  display:grid !important;
  grid-template-columns:minmax(300px,1.1fr) minmax(300px,.9fr) !important;
  gap:28px !important;
  padding:34px !important;
  font-family:'Lato', sans-serif !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-info,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-info,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:7px !important;
  padding-top:2px !important;
  padding-right:10px !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-eyebrow,
html body #productDetailModal.catalog-detail-style .product-detail-title,
html body #productDetailModal.catalog-detail-style #productDetailTitle,
html body #productDetailModal.catalog-detail-style .product-opinions-title,
html body #productDetailModal.catalog-detail-style .product-detail-specs > div > span,
html body #productDetailModal.catalog-detail-style .product-detail-description-box > span,
html body #productDetailModal.catalog-detail-style .product-detail-size .size-picker > span,
html body #productDetailModal.catalog-detail-style .jg-detail-heading,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-eyebrow,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-title,
html body.video-header-layout #productDetailModal.catalog-detail-style #productDetailTitle,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-opinions-title,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-specs > div > span,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-description-box > span,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-size .size-picker > span,
html body.video-header-layout #productDetailModal.catalog-detail-style .jg-detail-heading{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}
html body #productDetailModal.catalog-detail-style .product-detail-eyebrow,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-eyebrow{
  display:block !important;
  margin:0 0 4px !important;
  line-height:1.15 !important;
  font-size:13px;
  color:#111111 !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-title,
html body #productDetailModal.catalog-detail-style #productDetailTitle,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-title,
html body.video-header-layout #productDetailModal.catalog-detail-style #productDetailTitle{
  margin:0 !important;
  line-height:1.05 !important;
  font-size:13px;
  color:#111111 !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-price,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-price{
  display:block !important;
  margin:4px 0 0 !important;
  line-height:1.1 !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  color:#111111 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
html body #productDetailModal.catalog-detail-style .product-reviews,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-reviews{
  margin:4px 0 6px !important;
  line-height:1 !important;
  justify-content:flex-start !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
html body #productDetailModal.catalog-detail-style .product-detail-specs,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-specs{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:6px !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-specs div,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-specs div{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  color:#111111 !important;
  padding:9px 12px !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-specs > div > span,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-specs > div > span{
  display:block !important;
  margin-bottom:4px !important;
  font-size:13px;
  color:#555555 !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-specs > div > b,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-specs > div > b{
  display:block !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  color:#111111 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
html body #productDetailModal.catalog-detail-style .product-detail-description-box,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-description-box{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  color:#111111 !important;
  margin-top:2px !important;
}
html body #productDetailModal.catalog-detail-style .product-detail-description-box > span,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-description-box > span{
  color:#555555 !important;
  font-size:13px;
}
html body #productDetailModal.catalog-detail-style .product-detail-description,
html body #productDetailModal.catalog-detail-style .product-detail-description *,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-description,
html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-description *{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.55 !important;
  color:#444444 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
@media(max-width:820px){
  html body #productDetailModal.catalog-detail-style .product-detail-panel,
  html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-panel{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:28px 18px 22px !important;
  }
  html body #productDetailModal.catalog-detail-style .product-detail-title,
  html body #productDetailModal.catalog-detail-style #productDetailTitle,
  html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-title,
  html body.video-header-layout #productDetailModal.catalog-detail-style #productDetailTitle{
    font-size:13px;
  }
  html body #productDetailModal.catalog-detail-style .product-detail-specs,
  html body.video-header-layout #productDetailModal.catalog-detail-style .product-detail-specs{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   CORRECCION REAL - JOYAS DESTACADAS IGUAL AL DETALLE DEL CATALOGO
   Cuando el detalle se abre desde index.html, script.js agrega temporalmente
   catalog-page-body al <body>. Estas reglas fuerzan el mismo diseño visual
   que usa catalogo.html para el modal del producto.
   ========================================================== */
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-panel{
  background:#ffffff !important;
  color:#111111 !important;
  display:grid !important;
  grid-template-columns:minmax(300px,1.1fr) minmax(300px,.9fr) !important;
  gap:28px !important;
  padding:34px !important;
  font-family:'Lato', sans-serif !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:7px !important;
  padding-top:2px !important;
  padding-right:10px !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .jg-detail-heading,
html body.catalog-page-body #productDetailModal.catalog-detail-style .jg-detail-heading *,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-eyebrow,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-title,
html body.catalog-page-body #productDetailModal.catalog-detail-style #productDetailTitle,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinions-title,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-specs > div > span,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-description-box > span,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-size .size-picker > span{
  font-family:'Lato', sans-serif !important;
  font-weight: 700 !important;
  text-transform:uppercase !important;
  letter-spacing:0.025em;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-eyebrow{
  display:block !important;
  margin:0 0 4px !important;
  line-height:1.15 !important;
  font-size:13px;
  color:#111111 !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-title,
html body.catalog-page-body #productDetailModal.catalog-detail-style #productDetailTitle{
  margin:0 !important;
  line-height:1.05 !important;
  font-size:13px;
  color:#111111 !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-price{
  display:block !important;
  margin:4px 0 0 !important;
  line-height:1.1 !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  color:#111111 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-reviews,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-reviews *{
  margin-top:0 !important;
  line-height:1 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-specs{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:6px !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-specs div{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  color:#111111 !important;
  padding:9px 12px !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-specs > div > span{
  display:block !important;
  margin-bottom:4px !important;
  font-size:13px;
  color:#555555 !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-specs > div > b{
  display:block !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  color:#111111 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-description-box{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  color:#111111 !important;
  margin-top:2px !important;
}
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-description,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-description *,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinions-note,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinion-item,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinion-item *{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  line-height:1.55 !important;
  color:#444444 !important;
  text-transform:none !important;
  letter-spacing:0.025em;
}
@media(max-width:820px){
  html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-panel{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:28px 18px 22px !important;
  }
  html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-title,
  html body.catalog-page-body #productDetailModal.catalog-detail-style #productDetailTitle{
    font-size:13px;
  }
  html body.catalog-page-body #productDetailModal.catalog-detail-style .product-detail-specs{
    grid-template-columns:1fr !important;
  }
}


/* FIX POSICION MENU PRODUCTOS IGUAL CATALOGO
   El cuadro de productos del menú queda en la misma altura/posición visual en Inicio y Catálogo.
   Se fija al viewport para que no dependa de si el header está sobre el hero o dentro de la página. */
@media (min-width:1441px){
  html body .header .menu-product-preview{
    position:fixed !important;
    top:149px !important;
    left:50vw !important;
    right:auto !important;
    width:min(1120px, calc(100vw - 56px)) !important;
    transform:translateX(-50%) translateY(12px) !important;
  }
  html body .header.menu-preview-open .menu-product-preview,
  html body .header.menu-preview-open .menu-product-preview:hover{
    transform:translateX(-50%) translateY(0) !important;
  }
}
@media (min-width:901px) and (max-width:1440px){
  html body .header .menu-product-preview{
    position:fixed !important;
    top:142px !important;
    left:50vw !important;
    right:auto !important;
    width:min(1120px, calc(100vw - 56px)) !important;
    transform:translateX(-50%) translateY(12px) !important;
  }
  html body .header.menu-preview-open .menu-product-preview,
  html body .header.menu-preview-open .menu-product-preview:hover{
    transform:translateX(-50%) translateY(0) !important;
  }
}
@media(max-width:900px){
  html body .header .menu-product-preview{display:none !important;}
}

/* =========================================================
   FIX visible: evitar que la C de "CATÁLOGO" quede cortada
   en el encabezado del cuadro de productos del catálogo.
   ========================================================= */
.catalog-page-body .catalog-results-panel{
  overflow: visible !important;
  padding-left: 24px !important;
  padding-right: 18px !important;
}
.catalog-page-body .catalog-results-head{
  overflow: visible !important;
  padding-left: 8px !important;
  margin-left: 0 !important;
}
.catalog-page-body #catalogResultsTitle,
.catalog-page-body .catalog-results-head h2{
  overflow: visible !important;
  padding-left: 8px !important;
  margin-left: 0 !important;
  text-indent: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}


/* Resultados visuales en la barra superior de búsqueda: producto + título + precio */
.header .header-search-form{
  position:relative !important;
  overflow:visible !important;
  z-index:3000 !important;
}
.header-search-results{
  position:absolute !important;
  left:0 !important;
  top:calc(100% + 10px) !important;
  width:min(390px, 88vw) !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,.16) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.18) !important;
  padding:8px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  z-index:9999 !important;
}
.header-search-results[aria-hidden="true"]{
  display:none !important;
}
.header-search-result{
  width:100% !important;
  border:0 !important;
  background:#fff !important;
  display:grid !important;
  grid-template-columns:52px 1fr auto !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px !important;
  cursor:pointer !important;
  text-align:left !important;
  color:#111 !important;
}
.header-search-result:hover,
.header-search-result:focus-visible{
  background:#f5f5f5 !important;
  outline:none !important;
}
.header-search-result img{
  width:52px !important;
  height:52px !important;
  object-fit:cover !important;
  background:#f7f4ef !important;
  border:1px solid rgba(0,0,0,.08) !important;
}
.header-search-result-info{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}
.header-search-result-info strong{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.header-search-result-info small{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  color:#666 !important;
  line-height:1.2 !important;
}
.header-search-result b{
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  color:#111 !important;
  white-space:nowrap !important;
}
@media(max-width:560px){
  .header-search-results{
    width:min(320px, 92vw) !important;
  }
  .header-search-result{
    grid-template-columns:46px 1fr !important;
  }
  .header-search-result img{
    width:46px !important;
    height:46px !important;
  }
  .header-search-result b{
    grid-column:2 !important;
    font-size:13px;
  }
}

/* Corrección: mantener nítida la imagen del producto en la barra de búsqueda */
html body .header-search-result{
  grid-template-columns:72px minmax(0,1fr) auto !important;
  gap:12px !important;
  padding:10px !important;
}

html body .header-search-result img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:10px !important;
  image-rendering:auto !important;
  -webkit-font-smoothing:antialiased !important;
  transform:translateZ(0) !important;
}

@media(max-width:560px){
  html body .header-search-result{
    grid-template-columns:60px minmax(0,1fr) !important;
  }

  html body .header-search-result img{
    width:60px !important;
    height:60px !important;
  }
}

/* Corrección: scroll en resultados de búsqueda cuando hay más de 3 productos */
html body .header-search-results{
  max-height:300px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-width:thin !important;
}

html body .header-search-results::-webkit-scrollbar{
  width:8px !important;
}

html body .header-search-results::-webkit-scrollbar-track{
  background:#f4f4f4 !important;
  border-radius:999px !important;
}

html body .header-search-results::-webkit-scrollbar-thumb{
  background:#b8b8b8 !important;
  border-radius:999px !important;
}

@media(max-width:560px){
  html body .header-search-results{
    max-height:264px !important;
  }
}

/* Opiniones de clientes: perfil visible y fotos reales del producto */
.product-opinion-layout{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.product-opinion-avatar{
  width:44px;
  height:44px;
  border-radius:999px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111;
  color:#fff;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  flex:0 0 auto;
  box-shadow:0 6px 16px rgba(17,17,17,.12);
}
.product-opinion-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-opinion-content{
  min-width:0;
}
.product-opinion-photos{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:9px;
}
.product-opinion-photos img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid #eadfce;
  background:#fff;
  box-shadow:0 6px 14px rgba(17,17,17,.08);
}
.account-review-photo-field span{
  display:block;
  margin-top:2px;
  font-size:13px;
  color:#8a8177;
  font-weight: 700 !important;
}
.account-review-photo-field input[type="file"]{
  margin-top:7px;
  width:100%;
  font-size:13px;
}
@media(max-width:520px){
  .product-opinion-layout{
    grid-template-columns:38px minmax(0,1fr);
  }
  .product-opinion-avatar{
    width:38px;
    height:38px;
  }
  .product-opinion-photos img{
    width:64px;
    height:64px;
  }
}

/* Ajuste solicitado: cuadro de opiniones con fondo blanco */
.product-opinions-panel,
html body #productDetailModal .product-opinions-panel,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinions-panel{
  background:#ffffff !important;
}
.product-opinion-item,
html body #productDetailModal .product-opinion-item,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinion-item{
  background:#ffffff !important;
}
.product-opinions-note,
.product-opinions-empty,
html body #productDetailModal .product-opinions-note,
html body #productDetailModal .product-opinions-empty{
  background:#ffffff !important;
}

/* Ajuste solicitado: líneas del cuadro de opiniones en color negro */
.product-opinions-panel,
html body #productDetailModal .product-opinions-panel,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinions-panel{
  border-left-color:#000000 !important;
}
.product-opinion-item,
html body #productDetailModal .product-opinion-item,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinion-item{
  border-bottom-color:#000000 !important;
}
.product-opinions-note,
html body #productDetailModal .product-opinions-note,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinions-note{
  border-top-color:#000000 !important;
}
.product-opinions-close,
html body #productDetailModal .product-opinions-close{
  border-color:#000000 !important;
}

/* Ajuste solicitado: líneas/divisores del cuadro de opiniones en gris claro */
.product-opinions-panel,
html body #productDetailModal .product-opinions-panel,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinions-panel{
  border-color:#e5e5e5 !important;
  border-left-color:#e5e5e5 !important;
}
.product-opinion-item,
html body #productDetailModal .product-opinion-item,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinion-item{
  border-color:#e5e5e5 !important;
  border-bottom-color:#e5e5e5 !important;
}
.product-opinions-note,
.product-opinions-empty,
html body #productDetailModal .product-opinions-note,
html body #productDetailModal .product-opinions-empty,
html body.catalog-page-body #productDetailModal.catalog-detail-style .product-opinions-note{
  border-color:#e5e5e5 !important;
  border-top-color:#e5e5e5 !important;
}
.product-opinions-close,
html body #productDetailModal .product-opinions-close{
  border-color:#e5e5e5 !important;
}

/* FIX DEFINITIVO HERO VIDEO: el video quedaba detrás del fondo del hero por z-index negativo. */
.hero.hero-video{
  position: relative !important;
  overflow: hidden !important;
  background: #000 !important;
  isolation: auto !important;
}
.hero.hero-video .hero-bg-video{
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  z-index: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}
.hero.hero-video .hero-shade{
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.hero.hero-video .hero-content,
.hero.hero-video .dots{
  position: relative !important;
  z-index: 2 !important;
}

/* AJUSTE HERO VIDEO: mejor proporción, sin estirar imagen y con control de audio. */
.hero.hero-video{
  min-height: clamp(560px, 74vh, 760px) !important;
  background: #000 !important;
}
.hero.hero-video .hero-bg-video{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  image-rendering: auto !important;
}
.hero-audio-toggle{
  position: absolute !important;
  right: clamp(16px, 4vw, 48px) !important;
  bottom: clamp(18px, 5vw, 46px) !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(255,255,255,.65) !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.42) !important;
  color: #fff !important;
  font: inherit !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
}
.hero-audio-toggle:hover,
.hero-audio-toggle:focus-visible{
  background: rgba(0,0,0,.62) !important;
  outline: 2px solid rgba(255,255,255,.9) !important;
  outline-offset: 3px !important;
}
.hero-audio-icon{
  font-size:13px;
}
.hero-audio-text{
  font-size:13px;
  white-space: nowrap !important;
}
@media (max-width: 640px){
  .hero.hero-video{
    min-height: 620px !important;
  }
  .hero-audio-toggle{
    right: 14px !important;
    bottom: 18px !important;
    padding: 10px 12px !important;
  }
  .hero-audio-text{
    font-size:13px;
  }
}

/* AJUSTE SOLICITADO: cuadro del menú de productos translúcido y sin líneas doradas/amarillas */
html body .header .menu-product-preview{
  background: rgba(255,255,255,.38) !important;
  border: 1px solid rgba(230,230,230,.35) !important;
  border-top: 1px solid rgba(230,230,230,.35) !important;
  border-bottom: 1px solid rgba(230,230,230,.35) !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.10) !important;
  backdrop-filter: blur(12px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
}
html body .menu-preview-empty{
  background: rgba(255,255,255,.28) !important;
  border: 1px solid rgba(230,230,230,.45) !important;
  border-radius: 12px !important;
  color: #555 !important;
}
html body .menu-preview-card{
  background: rgba(255,255,255,.32) !important;
  border: 1px solid rgba(230,230,230,.38) !important;
  box-shadow: none !important;
}
html body .menu-preview-card:hover{
  border-color: rgba(210,210,210,.65) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.10) !important;
}
html body .menu-preview-card img{
  background: rgba(255,255,255,.35) !important;
  border: 1px solid rgba(230,230,230,.38) !important;
}
html body .menu-preview-see-all{
  border-color: #222 !important;
  background: rgba(255,255,255,.42) !important;
  color: #111 !important;
  box-shadow: none !important;
}
html body .menu-preview-see-all:hover{
  background: rgba(17,17,17,.88) !important;
  border-color: rgba(17,17,17,.88) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.16) !important;
}

/* AJUSTE SOLICITADO: quitar el cuadro individual de cada producto en el menú desplegable */
html body .header .menu-product-preview .menu-preview-card,
html body .header .menu-product-preview .menu-preview-card:hover,
html body .header .menu-product-preview .menu-preview-card:focus,
html body .header .menu-product-preview .menu-preview-card:focus-visible{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
html body .header .menu-product-preview .menu-preview-card::before,
html body .header .menu-product-preview .menu-preview-card::after{
  display: none !important;
  content: none !important;
}
html body .header .menu-product-preview .menu-preview-card img,
html body .header .menu-product-preview .menu-preview-card:hover img{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Ajuste solicitado: divisores del carrito en gris claro */
.cart-header{
  border-bottom:1px solid #e5e5e5 !important;
}
.cart-item{
  border-bottom:1px solid #e5e5e5 !important;
}
.cart-summary{
  border-top:1px solid #e5e5e5 !important;
}


/* Reseñas visibles en la página de inicio */
.home-reviews-section{
  padding-top:26px;
}
.home-reviews-intro{
  margin:10px auto 26px;
  max-width:620px;
  text-align:center;
  color:#6b6258;
  font-weight: 700 !important;
  line-height:1.6;
}
.home-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1180px;
  margin:0 auto;
}
.home-review-card,
.home-reviews-empty{
  background:#fff;
  border:1px solid #eadfce;
  border-radius:24px;
  box-shadow:0 16px 42px rgba(17,17,17,.08);
}
.home-review-card{
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.home-review-top{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.home-review-top strong{
  display:block;
  color:#19130d;
  font-size:13px;
}
.home-review-top span{
  display:block;
  margin-top:3px;
  color:#8a8177;
  font-size:13px;
  font-weight: 700 !important;
}
.home-review-product{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
  padding:9px;
  border:1px solid #f0e4d3;
  border-radius:16px;
  background:#fffaf3;
  text-align:left;
  cursor:pointer;
}
.home-review-product img{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:12px;
  background:#f7f1e7;
}
.home-review-product span{
  min-width:0;
  color:#2b2117;
  font-weight: 700 !important;
  font-size:13px;
}
.home-review-stars{
  color:#c89b3c;
  letter-spacing:0.025em;
  font-size:13px;
  font-weight: 700 !important;
}
.home-review-card p{
  margin:0;
  color:#5f554b;
  font-size:13px;
  line-height:1.6;
}
.home-reviews-empty{
  grid-column:1/-1;
  padding:28px;
  text-align:center;
}
.home-reviews-empty strong{
  display:block;
  color:#19130d;
  font-size:13px;
}
.home-reviews-empty p{
  max-width:560px;
  margin:8px auto 0;
  color:#6b6258;
  line-height:1.6;
}
@media(max-width:960px){
  .home-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .home-reviews-grid{grid-template-columns:1fr;}
  .home-review-card{padding:16px;}
}

/* Mejora visual de reseñas en inicio */
.home-reviews-section{
  position:relative;
  overflow:hidden;
  padding:58px 18px 64px;
  background:linear-gradient(180deg,#fffaf3 0%,#ffffff 72%);
}
.home-reviews-section::before{
  content:"";
  position:absolute;
  inset:24px auto auto 50%;
  width:min(760px,90vw);
  height:min(760px,90vw);
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(201,155,60,.16),rgba(255,255,255,0) 62%);
  pointer-events:none;
}
.home-reviews-shell{
  position:relative;
  max-width:1180px;
  margin:0 auto;
}
.home-reviews-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) 172px;
  gap:24px;
  align-items:end;
  margin-bottom:28px;
}
.home-reviews-heading .joyas-title,
.home-reviews-heading .section-eyebrow{
  text-align:left;
}
.home-reviews-heading .title-line{
  margin-left:0;
}
.home-reviews-intro{
  margin:12px 0 0;
  max-width:560px;
  text-align:left;
  color:#6a5d50;
  font-weight: 700 !important;
}
.home-reviews-summary{
  justify-self:end;
  min-width:160px;
  padding:18px 16px;
  border:1px solid rgba(201,155,60,.35);
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 42px rgba(49,35,19,.10);
  text-align:center;
}
.home-reviews-summary strong{
  display:block;
  color:#1f1710;
  font-size:13px;
  line-height:1;
  font-weight: 700 !important;
}
.home-reviews-summary span{
  display:block;
  margin-top:6px;
  color:#766b60;
  font-size:13px;
  font-weight: 700 !important;
}
.home-reviews-summary-stars{
  color:#c89b3c !important;
  letter-spacing:0.025em;
  font-size:13px;
}
.home-reviews-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  max-width:none;
}
.home-review-card,
.home-reviews-empty{
  border:1px solid rgba(201,155,60,.22);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 48px rgba(36,27,18,.09);
}
.home-review-card{
  min-height:100%;
  padding:20px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.home-review-card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,155,60,.42);
  box-shadow:0 24px 58px rgba(36,27,18,.13);
}
.home-review-top{
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
}
.home-review-client strong,
.home-review-top strong{
  font-size:13px;
  letter-spacing:0.025em;
}
.home-review-client span,
.home-review-top span{
  color:#88796a;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.025em;
}
.home-review-stars-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.home-review-stars{
  color:#c89b3c;
  letter-spacing:0.025em;
  font-size:13px;
  line-height:1;
}
.home-review-badge{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  background:#f6ead6;
  color:#7a5920;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
}
.home-review-card blockquote{
  position:relative;
  margin:0;
  padding:2px 0 0;
  color:#51473e;
  font-size:13px;
  line-height:1.7;
  font-weight: 700 !important;
}
.home-review-card blockquote::before{
  content:"“";
  color:rgba(201,155,60,.34);
  font-size:13px;
  font-family:'Lato', sans-serif;
  line-height:0;
  vertical-align:-18px;
  margin-right:4px;
}
.home-review-product{
  grid-template-columns:62px minmax(0,1fr);
  gap:12px;
  padding:10px;
  border-color:#efe1ca;
  background:linear-gradient(135deg,#fffaf3,#ffffff);
  transition:border-color .2s ease, background .2s ease;
}
.home-review-product:hover,
.home-review-product:focus-visible{
  border-color:#c89b3c;
  outline:none;
}
.home-review-product img{
  width:62px;
  height:62px;
  border-radius:16px;
}
.home-review-product span strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#241a12;
  font-size:13px;
  font-weight: 700 !important;
}
.home-review-product span small{
  display:block;
  margin-top:4px;
  color:#8a7867;
  font-size:13px;
  font-weight: 700 !important;
}
.home-review-card .product-opinion-photos{
  margin-top:auto;
}
.home-review-card .product-opinion-photos img{
  width:100%;
  max-height:190px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid #efe4d4;
}
.home-reviews-empty{
  padding:34px 24px;
  background:linear-gradient(135deg,#ffffff,#fff8ee);
}
.home-reviews-empty-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
  border-radius:50%;
  background:#f2e1c5;
  color:#b88627;
  font-size:13px;
  box-shadow:inset 0 0 0 1px rgba(201,155,60,.28);
}
.home-reviews-actions{
  display:flex;
  justify-content:center;
  margin-top:26px;
}
@media(max-width:960px){
  .home-reviews-heading{
    grid-template-columns:1fr;
    text-align:center;
  }
  .home-reviews-heading .joyas-title,
  .home-reviews-heading .section-eyebrow,
  .home-reviews-intro{
    text-align:center;
  }
  .home-reviews-heading .title-line{
    margin-left:auto;
  }
  .home-reviews-summary{
    justify-self:center;
  }
  .home-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .home-reviews-section{padding:42px 14px 50px;}
  .home-reviews-grid{grid-template-columns:1fr;}
  .home-review-card{padding:17px;border-radius:24px;}
  .home-reviews-summary{width:100%;max-width:240px;}
}

/* Ajuste solicitado: paleta sin dorado/gold — solo blanco, negro y grises */
:root{
  --gold:#111111 !important;
  --gold-dark:#000000 !important;
  --cream:#f7f7f7 !important;
  --soft:#f2f2f2 !important;
  --line:#e5e5e5 !important;
  --shadow:0 18px 45px rgba(0,0,0,.08) !important;
}
.gold,
.topbar a:hover,
.side-menu a:hover,
.hero h1 span,
.benefit-icon,
.collection-card a:hover,
.tracking-icon,
.tracking-form a,
.footer a:hover,
.featured-jewels-section .section-eyebrow{
  color:#111111 !important;
}
.topbar,
.collection-card,
.tracking,
.menu-preview-empty,
.customer-login-card,
.home-reviews-section,
.home-reviews-empty{
  background:#ffffff !important;
}
.title-line,
.cart span,
.primary,
.dots .active,
.outline:hover,
.menu-preview-see-all:hover{
  background:#111111 !important;
  border-color:#111111 !important;
  color:#ffffff !important;
}
.primary{
  box-shadow:0 10px 20px rgba(0,0,0,.16) !important;
}
.primary:hover{
  background:#000000 !important;
}
.outline,
.menu-preview-see-all{
  border-color:#111111 !important;
  color:#111111 !important;
  background:#ffffff !important;
}
.rating,
.home-review-stars,
.home-reviews-summary-stars{
  color:#111111 !important;
}

/* Reseñas de inicio en blanco, negro y gris */
.home-reviews-section{
  background:#ffffff !important;
}
.home-reviews-section::before{
  display:none !important;
}
.home-reviews-intro,
.home-reviews-summary span,
.home-review-client span,
.home-review-top span,
.home-review-card blockquote,
.home-review-card p,
.home-review-product span small,
.home-reviews-empty p{
  color:#555555 !important;
}
.home-reviews-summary,
.home-review-card,
.home-reviews-empty{
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.08) !important;
}
.home-review-card:hover{
  border-color:#111111 !important;
  box-shadow:0 24px 58px rgba(0,0,0,.12) !important;
}
.home-review-client strong,
.home-review-top strong,
.home-reviews-summary strong,
.home-reviews-empty strong,
.home-review-product span strong{
  color:#111111 !important;
}
.home-review-stars,
.home-reviews-summary-stars{
  color:#111111 !important;
}
.home-review-badge{
  background:#eeeeee !important;
  color:#111111 !important;
  border:1px solid #d1d1d1 !important;
}
.home-review-card blockquote::before{
  color:#d0d0d0 !important;
}
.home-review-product{
  background:#f7f7f7 !important;
  border-color:#dddddd !important;
}
.home-review-product:hover,
.home-review-product:focus-visible{
  border-color:#111111 !important;
}
.home-review-product img,
.home-review-card .product-opinion-photos img{
  background:#eeeeee !important;
  border-color:#dddddd !important;
}
.home-reviews-empty-icon{
  background:#eeeeee !important;
  color:#111111 !important;
  box-shadow:inset 0 0 0 1px #d1d1d1 !important;
}

/* Elementos agregados anteriormente con tonos cálidos convertidos a grises */
.customer-login-card{
  border-color:#d9d9d9 !important;
  background:#ffffff !important;
  box-shadow:0 18px 44px rgba(0,0,0,.08) !important;
}
.customer-login-card::before{
  background:#f1f1f1 !important;
}
.customer-login-icon{
  border-color:#d9d9d9 !important;
}
.customer-login-heading p,
.account-help{
  color:#555555 !important;
  background:#f7f7f7 !important;
  border-color:#dddddd !important;
}
.customer-login-form input{
  border-color:#d9d9d9 !important;
}
.customer-login-form input:hover,
.customer-login-form input:focus{
  border-color:#111111 !important;
}
.customer-login-form .account-forgot-link:hover{
  color:#111111 !important;
}

/* Corrección de calidad/proporción para imágenes de reseñas en inicio */
.home-review-product img{
  width:62px !important;
  height:62px !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:6px !important;
  box-sizing:border-box !important;
  background:#f1f1f1 !important;
  image-rendering:auto !important;
}
.home-review-card .product-opinion-photos{
  width:100% !important;
  display:block !important;
  margin-top:12px !important;
}
.home-review-card .product-opinion-photos img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:320px !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  padding:8px !important;
  box-sizing:border-box !important;
  border-radius:18px !important;
  background:#f3f3f3 !important;
  border:1px solid #d8d8d8 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08) !important;
  image-rendering:auto !important;
}
.home-review-top .product-opinion-avatar,
.home-review-top .product-opinion-avatar img{
  width:48px !important;
  height:48px !important;
}
.home-review-top .product-opinion-avatar img{
  object-fit:cover !important;
  object-position:center !important;
  image-rendering:auto !important;
}
@media(max-width:620px){
  .home-review-card .product-opinion-photos img{
    max-height:260px !important;
  }
  .home-review-product img{
    width:58px !important;
    height:58px !important;
  }
}

/* Cambio solicitado: botón "Ver catálogo completo" con el color del video.
   Solo afecta el botón de Joyas Destacadas en la página de inicio. */
.featured-jewels-actions .btn.primary[href="catalogo.html"]{
  background:#ffffff !important;
  color:#000000 !important;
  border:1px solid #000000 !important;
  box-shadow:none !important;
}
.featured-jewels-actions .btn.primary[href="catalogo.html"]:hover,
.featured-jewels-actions .btn.primary[href="catalogo.html"]:focus-visible{
  background:#000000 !important;
  color:#ffffff !important;
  border-color:#000000 !important;
}

/* Cambio solicitado: botón "Comprar ahora" con el mismo color del botón "Ver catálogo completo" del video.
   Solo afecta el botón principal del hero en la página de inicio. */
#openCatalogHero.btn.primary[href="catalogo.html"]{
  background:#ffffff !important;
  color:#000000 !important;
  border:1px solid #000000 !important;
  box-shadow:none !important;
}
#openCatalogHero.btn.primary[href="catalogo.html"]:hover,
#openCatalogHero.btn.primary[href="catalogo.html"]:focus-visible{
  background:#000000 !important;
  color:#ffffff !important;
  border-color:#000000 !important;
}

/* Cambio solicitado: estrellas de reseñas en color #c89b3c */
html body .home-review-stars,
html body .home-reviews-summary-stars,
html body .home-reviews-empty-icon,
html body .review-stars,
html body .product-reviews .review-stars,
html body .account-review-form .review-stars,
html body .catalog-page-body #productDetailModal .review-stars,
html body .product-opinion-stars {
  color: #c89b3c !important;
}


/* Corrección PNG: no forzar fondo blanco detrás de productos con transparencia */
.product-card img,
.catalog-item img,
.catalog-page-grid .catalog-item img,
.catalog-page-body .catalog-page-grid .catalog-item img,
.cart-item img,
.admin-product-row img,
.review-product-thumb,
.review-card img {
  background: transparent !important;
}

.product-card,
.catalog-item,
.catalog-page-grid .catalog-item {
  overflow: visible !important;
}

/* FIX PNG transparente: no pintar cajas blancas detrás de productos subidos en PNG */
html body .menu-preview-card,
html body .menu-preview-card:hover{
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
html body .menu-preview-card img,
html body .product-card img,
html body .catalog-item img,
html body .catalog-page-grid .catalog-item img,
html body .catalog-page-body .catalog-page-grid .catalog-item img,
html body .featured-jewels-section .product-card img,
html body .product-detail-image-wrap,
html body .product-detail-image,
html body .product-detail-thumb,
html body .product-detail-thumb img,
html body .dispatch-item img,
html body .cart-item img,
html body .home-review-product img,
html body .review-product-image,
html body .review-product-thumb,
html body img.product-image{
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
html body .menu-preview-card img{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
}

/* Zoom opcional en Detalle del producto */
.product-detail-image-wrap{
  position:relative !important;
  overflow:hidden !important;
  touch-action:manipulation !important;
}
.product-detail-image-wrap [data-product-zoom-image]{
  cursor:zoom-in !important;
  transition:transform .22s ease, transform-origin .08s linear !important;
  will-change:transform !important;
}
.product-detail-image-wrap.is-zoomed [data-product-zoom-image]{
  transform:scale(2.25) !important;
  cursor:zoom-out !important;
}
.product-detail-zoom-toggle{
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  z-index:4 !important;
  border:1px solid #111111 !important;
  background:#ffffff !important;
  color:#111111 !important;
  padding:10px 14px !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(0,0,0,.14) !important;
}
.product-detail-zoom-toggle:hover,
.product-detail-image-wrap.is-zoomed .product-detail-zoom-toggle{
  background:#111111 !important;
  color:#ffffff !important;
}
.product-detail-zoom-hint{
  position:absolute !important;
  left:14px !important;
  bottom:17px !important;
  z-index:3 !important;
  background:rgba(255,255,255,.88) !important;
  color:#333333 !important;
  border:1px solid rgba(0,0,0,.12) !important;
  padding:8px 10px !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  pointer-events:none !important;
}
.product-detail-image-wrap.is-zoomed .product-detail-zoom-hint{
  display:none !important;
}
@media(max-width:720px){
  .product-detail-zoom-hint{display:none !important;}
  .product-detail-zoom-toggle{right:10px !important; bottom:10px !important; padding:9px 12px !important; font-size:13px;}
  .product-detail-image-wrap.is-zoomed [data-product-zoom-image]{transform:scale(1.8) !important;}
}

/* Vista previa de imágenes en el admin */
.admin-image-preview-panel{
  border:1px solid #d7d7d7;
  background:#f7f7f7;
  border-radius:10px;
  padding:14px;
}
.admin-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.admin-preview-head strong{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.025em;
  color:#111;
}
.admin-preview-head span{
  font-size:13px;
  font-weight: 700 !important;
  color:#555;
  text-align:right;
}
.admin-main-image-preview,
.admin-gallery-image-preview{
  display:grid;
  gap:12px;
}
.admin-main-image-preview{
  grid-template-columns:minmax(180px, 260px);
}
.admin-gallery-image-preview{
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
}
.admin-preview-image-item{
  margin:0;
  border:1px solid #dcdcdc;
  background:transparent;
  border-radius:10px;
  overflow:hidden;
}
.admin-preview-image-item img{
  display:block;
  width:100%;
  height:170px;
  object-fit:contain;
  background:transparent;
}
.admin-main-image-preview .admin-preview-image-item img{
  height:220px;
}
.admin-preview-image-item figcaption{
  border-top:1px solid #e1e1e1;
  padding:8px 10px;
  font-size:13px;
  font-weight: 700 !important;
  color:#333;
  background:#fff;
  word-break:break-word;
}
.admin-preview-empty{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #bdbdbd;
  border-radius:10px;
  color:#666;
  font-size:13px;
  font-weight: 700 !important;
  text-align:center;
  padding:16px;
  background:#fff;
}
.admin-product-image-stack{
  display:grid;
  gap:8px;
  align-items:start;
}
.admin-product-main-img{
  width:120px;
  height:100px;
  object-fit:contain;
  background:transparent;
  border-radius:6px;
}
.admin-product-thumbs{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:4px;
  width:120px;
}
.admin-product-thumbs img{
  width:100%;
  height:30px;
  object-fit:contain;
  border:1px solid #ddd;
  border-radius:4px;
  background:transparent;
}
@media(max-width:820px){
  .admin-main-image-preview{grid-template-columns:1fr;}
  .admin-product-main-img{width:90px;height:84px;}
  .admin-product-thumbs{width:90px;}
  .admin-product-thumbs img{height:24px;}
  .admin-preview-head{align-items:flex-start;flex-direction:column;}
  .admin-preview-head span{text-align:left;}
}
.admin-product-row .admin-product-image-stack img{background:transparent;}
.admin-product-row .admin-product-thumbs img{height:30px;width:100%;}

/* Admin: selector único de imágenes y principal */
.admin-select-main-preview{
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
}
.admin-select-main-preview .admin-preview-image-item{
  position:relative;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.admin-select-main-preview .admin-preview-image-item.is-main-selected{
  border-color:#111;
  box-shadow:0 0 0 2px #111 inset;
}
.admin-main-selector{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  font-size:13px;
  font-weight: 700 !important;
  color:#111;
  cursor:pointer;
}
.admin-main-selector input{
  width:auto;
  margin:0;
  accent-color:#111;
}
.admin-preview-image-item.is-main-selected::before{
  content:'Principal';
  position:absolute;
  top:8px;
  left:8px;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:4px 8px;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
  text-transform:uppercase;
}

/* Admin: vistas previas más pequeñas para selector único de imágenes */
.admin-select-main-preview{
  grid-template-columns:repeat(auto-fill, minmax(92px, 110px));
  gap:10px;
  justify-content:flex-start;
}
.admin-select-main-preview .admin-preview-image-item{
  border-radius:8px;
}
.admin-select-main-preview .admin-preview-image-item img{
  height:78px;
  padding:4px;
}
.admin-select-main-preview .admin-preview-image-item figcaption{
  padding:6px;
  font-size:13px;
  line-height:1.25;
}
.admin-select-main-preview .admin-main-selector{
  font-size:13px;
  gap:4px;
}
.admin-select-main-preview .admin-preview-image-item.is-main-selected::before{
  top:5px;
  left:5px;
  padding:3px 6px;
  font-size:13px;
}
@media(max-width:820px){
  .admin-select-main-preview{grid-template-columns:repeat(auto-fill, minmax(82px, 96px));}
  .admin-select-main-preview .admin-preview-image-item img{height:68px;}
}


/* Admin: imágenes cargadas de manera independiente */
.admin-select-main-preview{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(104px, 118px));
  gap:12px;
  align-items:start;
  justify-content:flex-start;
}
.admin-independent-image-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  background:#fff;
  border:1px solid #d8d8d8;
  border-radius:10px;
  overflow:hidden;
}
.admin-independent-image-card.is-main-selected{
  border-color:#111;
  box-shadow:0 0 0 2px #111 inset;
}
.admin-image-card-top{
  padding:5px 6px;
  border-bottom:1px solid #ececec;
  background:#f5f5f5;
  color:#111;
  font-size:13px;
  font-weight: 700 !important;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:0.025em;
}
.admin-independent-image-frame{
  width:100%;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
}
.admin-select-main-preview .admin-independent-image-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
  background:transparent;
}
.admin-select-main-preview .admin-independent-image-card figcaption{
  display:grid;
  gap:5px;
  padding:6px;
  background:#fff;
  border-top:1px solid #ececec;
}
.admin-select-main-preview .admin-independent-image-card figcaption span{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#333;
  font-size:13px;
  font-weight: 700 !important;
}
.admin-select-main-preview .admin-main-selector{
  justify-content:center;
  padding:4px 5px;
  border:1px solid #dcdcdc;
  border-radius:999px;
  background:#fafafa;
}
.admin-select-main-preview .admin-independent-image-card.is-main-selected .admin-main-selector{
  background:#111;
  color:#fff;
  border-color:#111;
}
@media(max-width:820px){
  .admin-select-main-preview{grid-template-columns:repeat(auto-fill, minmax(92px, 104px));gap:10px;}
  .admin-independent-image-frame{height:72px;}
}


/* Admin: visualización limpia y compacta de imágenes del producto */
.admin-image-preview-panel{
  background:#fff !important;
  border:1px solid #d9d9d9 !important;
  border-radius:10px !important;
  padding:12px !important;
}
.admin-preview-head{
  margin-bottom:10px !important;
}
.admin-select-main-preview{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(74px, 84px)) !important;
  gap:10px !important;
  align-items:start !important;
  justify-content:flex-start !important;
}
.admin-compact-image-item,
.admin-select-main-preview .admin-compact-image-item{
  margin:0 !important;
  width:84px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
  box-shadow:none !important;
  display:grid !important;
  gap:6px !important;
}
.admin-select-main-preview .admin-compact-image-item img{
  display:block !important;
  width:84px !important;
  height:84px !important;
  object-fit:contain !important;
  padding:4px !important;
  background:transparent !important;
  border:1px solid #d8d8d8 !important;
  border-radius:8px !important;
}
.admin-select-main-preview .admin-compact-image-item figcaption{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  display:block !important;
}
.admin-select-main-preview .admin-compact-image-item .admin-main-selector{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:4px !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#111 !important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1.2 !important;
  cursor:pointer !important;
}
.admin-select-main-preview .admin-compact-image-item .admin-main-selector input{
  width:auto !important;
  margin:0 !important;
  accent-color:#111 !important;
}
.admin-select-main-preview .admin-compact-image-item.is-main-selected img{
  border-color:#111 !important;
  box-shadow:0 0 0 2px #111 inset !important;
}
.admin-select-main-preview .admin-compact-image-item.is-main-selected .admin-main-selector{
  color:#111 !important;
  background:transparent !important;
  border:0 !important;
}
.admin-select-main-preview .admin-compact-image-item.is-main-selected::before{
  display:none !important;
  content:none !important;
}
.admin-select-main-preview .admin-preview-image-item:not(.admin-compact-image-item)::before,
.admin-select-main-preview .admin-independent-image-card::before{
  display:none !important;
  content:none !important;
}
@media(max-width:820px){
  .admin-select-main-preview{
    grid-template-columns:repeat(auto-fill, minmax(68px, 78px)) !important;
    gap:9px !important;
  }
  .admin-compact-image-item,
  .admin-select-main-preview .admin-compact-image-item{width:78px !important;}
  .admin-select-main-preview .admin-compact-image-item img{width:78px !important;height:78px !important;}
}


/* Corrección hover admin: evita tooltips visuales/saltos al pasar el cursor sobre miniaturas */
.admin-select-main-preview .admin-compact-image-item,
.admin-select-main-preview .admin-compact-image-item:hover,
.admin-select-main-preview .admin-compact-image-item:focus-within{
  transform:none !important;
  translate:none !important;
  box-shadow:none !important;
}
.admin-select-main-preview .admin-compact-image-item img,
.admin-select-main-preview .admin-compact-image-item img:hover{
  transform:none !important;
  filter:none !important;
}
.admin-select-main-preview .admin-compact-image-item .admin-main-selector:hover{
  background:transparent !important;
  color:#111 !important;
}

/* FIX PROFUNDO: miniaturas del admin sin tooltip ni salto al pasar el cursor */
.admin-select-main-preview,
.admin-select-main-preview *{
  -webkit-user-select:none !important;
  user-select:none !important;
}
.admin-select-main-preview .admin-compact-image-item,
.admin-select-main-preview .admin-compact-image-item:hover,
.admin-select-main-preview .admin-compact-image-item:active,
.admin-select-main-preview .admin-compact-image-item:focus-within{
  position:relative !important;
  transform:none !important;
  translate:0 0 !important;
  scale:1 !important;
  box-shadow:none !important;
  z-index:auto !important;
}
.admin-select-main-preview .admin-compact-image-item::before,
.admin-select-main-preview .admin-compact-image-item::after,
.admin-select-main-preview .admin-preview-image-item::before,
.admin-select-main-preview .admin-preview-image-item::after,
.admin-select-main-preview .admin-main-selector::before,
.admin-select-main-preview .admin-main-selector::after{
  display:none !important;
  content:none !important;
}
.admin-select-main-preview .admin-compact-image-item img,
.admin-select-main-preview .admin-compact-image-item img:hover,
.admin-select-main-preview .admin-compact-image-item img:active{
  transform:none !important;
  translate:0 0 !important;
  scale:1 !important;
  filter:none !important;
  cursor:default !important;
}
.admin-select-main-preview .admin-main-selector,
.admin-select-main-preview .admin-main-selector:hover,
.admin-select-main-preview .admin-main-selector:focus,
.admin-select-main-preview .admin-main-selector:active{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:4px !important;
  width:100% !important;
  min-height:16px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:none !important;
  background:transparent !important;
  color:#111 !important;
  box-shadow:none !important;
  transform:none !important;
  cursor:pointer !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1.2 !important;
  text-transform:none !important;
}
.admin-select-main-preview .admin-main-selector:focus-visible{
  outline:1px solid #111 !important;
  outline-offset:2px !important;
}
.admin-select-main-preview .admin-main-dot{
  width:9px !important;
  height:9px !important;
  border:1px solid #111 !important;
  border-radius:999px !important;
  display:inline-block !important;
  flex:0 0 9px !important;
  background:transparent !important;
}
.admin-select-main-preview .admin-main-selector[data-selected="true"] .admin-main-dot{
  background:#111 !important;
  box-shadow:inset 0 0 0 2px #fff !important;
}
.admin-select-main-preview .admin-main-text{
  display:inline-block !important;
  pointer-events:none !important;
}

/* Admin: botón X para eliminar imágenes cargadas */
.admin-select-main-preview .admin-compact-image-item{
  position:relative !important;
}
.admin-select-main-preview .admin-image-remove-btn,
.admin-select-main-preview .admin-image-remove-btn:hover,
.admin-select-main-preview .admin-image-remove-btn:focus{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  top:-6px !important;
  right:-6px !important;
  z-index:3 !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #111 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#111 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 2px 6px rgba(0,0,0,.12) !important;
  transform:none !important;
}
.admin-select-main-preview .admin-image-remove-btn:hover{
  background:#111 !important;
  color:#fff !important;
}
.admin-select-main-preview .admin-image-remove-btn::before,
.admin-select-main-preview .admin-image-remove-btn::after{
  display:none !important;
  content:none !important;
}

/* Admin: vista previa compacta del video del producto con X para eliminar */
.admin-video-preview-panel{
  background:#fff !important;
  border:1px solid #d9d9d9 !important;
  border-radius:10px !important;
  padding:12px !important;
}
.admin-video-preview{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}
.admin-video-preview-item{
  position:relative !important;
  width:160px !important;
  max-width:100% !important;
  background:transparent !important;
}
.admin-video-preview-item video{
  display:block !important;
  width:160px !important;
  height:94px !important;
  object-fit:contain !important;
  background:#f4f4f4 !important;
  border:1px solid #d8d8d8 !important;
  border-radius:8px !important;
}
.admin-video-remove-btn,
.admin-video-remove-btn:hover,
.admin-video-remove-btn:focus{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  top:-7px !important;
  right:-7px !important;
  z-index:3 !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #111 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#111 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 2px 6px rgba(0,0,0,.12) !important;
  transform:none !important;
}
.admin-video-remove-btn:hover{
  background:#111 !important;
  color:#fff !important;
}
.admin-video-remove-btn::before,
.admin-video-remove-btn::after{
  display:none !important;
  content:none !important;
}
@media(max-width:620px){
  .admin-video-preview-item,
  .admin-video-preview-item video{width:136px !important;}
  .admin-video-preview-item video{height:82px !important;}
}

/* Admin productos publicados: miniaturas limpias de imágenes y video */
.admin-product-thumbs{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  width:auto !important;
  max-width:190px !important;
}
.admin-product-mini-media{
  position:relative !important;
  width:34px !important;
  height:34px !important;
  border:1px solid #d6d6d6 !important;
  border-radius:5px !important;
  background:transparent !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
}
.admin-product-mini-media img,
.admin-product-mini-media video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:transparent !important;
  display:block !important;
}
.admin-product-mini-video{
  width:52px !important;
  height:34px !important;
  border-color:#bdbdbd !important;
  background:#eeeeee !important;
  border-radius:5px !important;
}
.admin-product-mini-video video{
  object-fit:cover !important;
  opacity:.82 !important;
  filter:grayscale(8%) !important;
}
.admin-product-mini-video::before{
  content:'▶' !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  width:18px !important;
  height:18px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  font-size:13px;
  font-weight: 700 !important;
  background:rgba(0,0,0,.72) !important;
  pointer-events:none !important;
  padding-left:1px !important;
  box-sizing:border-box !important;
}
.admin-product-mini-video::after{
  content:'VIDEO' !important;
  position:absolute !important;
  right:3px !important;
  bottom:3px !important;
  font-size:13px;
  line-height:1 !important;
  letter-spacing:0.025em;
  font-weight: 700 !important;
  color:#fff !important;
  background:rgba(0,0,0,.62) !important;
  border-radius:2px !important;
  padding:2px 3px !important;
  pointer-events:none !important;
}
.admin-product-mini-video span{
  display:none !important;
}
.admin-product-thumbs > img{display:none !important;}
@media(max-width:820px){
  .admin-product-thumbs{max-width:160px !important;gap:5px !important;}
  .admin-product-mini-media{width:30px !important;height:30px !important;}
  .admin-product-mini-video{width:46px !important;height:30px !important;}
}

/* FIX: Catálogo con el mismo header visual que index.html */
body.catalog-page-body.video-header-layout .header{
  position:absolute !important;
}
body.catalog-page-body.video-header-layout .catalog-page-main{
  padding-top:176px !important;
}
@media (min-width:901px) and (max-width:1440px){
  body.catalog-page-body.video-header-layout .catalog-page-main{padding-top:168px !important;}
}
@media(max-width:900px){
  body.catalog-page-body.video-header-layout .catalog-page-main{padding-top:200px !important;}
}
@media(max-width:560px){
  body.catalog-page-body.video-header-layout .catalog-page-main{padding-top:188px !important;}
}

/* FIX solicitado: fijar menu-product-preview-inner sin alterar estructura ni colores */
@media (min-width:901px){
  html body .header .menu-product-preview,
  html body .header.menu-preview-open .menu-product-preview,
  html body .header.menu-preview-open .menu-product-preview:hover,
  html body .header-nav:hover + .menu-product-preview{
    position:absolute !important;
    top:calc(100% - 1px) !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    transition:opacity .18s ease, visibility .18s ease !important;
  }
  html body .header .menu-product-preview .menu-product-preview-inner,
  html body .header.menu-preview-open .menu-product-preview .menu-product-preview-inner,
  html body .header-nav:hover + .menu-product-preview .menu-product-preview-inner{
    transform:none !important;
    translate:none !important;
  }
}

/* Ajuste Mis pedidos: separar formulario de opinión y mejorar nitidez del producto */
.account-order-product{
  grid-template-columns:96px minmax(0,1fr) !important;
  gap:16px !important;
  padding:14px !important;
}
.account-order-product img{
  width:96px !important;
  height:96px !important;
  object-fit:contain !important;
  image-rendering:auto !important;
}
.account-review-form{
  grid-template-columns:minmax(150px,.7fr) minmax(220px,1fr) !important;
  gap:12px 14px !important;
  align-items:end !important;
}
.account-review-form label{
  gap:7px !important;
}
.account-review-form select,
.account-review-form textarea{
  min-height:44px !important;
  box-sizing:border-box !important;
}
.account-review-form textarea{
  min-height:64px !important;
  line-height:1.45 !important;
}
.account-review-photo-field{
  grid-column:1 / -1 !important;
}
.account-review-photo-field input[type="file"]{
  max-width:100% !important;
}
.account-review-form .btn{
  grid-column:1 / -1 !important;
  justify-self:start !important;
  min-width:150px !important;
}
@media(max-width:760px){
  .account-order-product{
    grid-template-columns:82px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .account-order-product img{
    width:82px !important;
    height:82px !important;
  }
  .account-review-form{
    grid-template-columns:1fr !important;
  }
}

/* Ajuste Mis pedidos: alinear Estrellas y Opinión sin cambiar estructura ni colores */
.account-review-form{
  align-items:start !important;
}
.account-review-form label{
  justify-content:flex-start !important;
}
.account-review-form label > select,
.account-review-form label > textarea{
  margin-top:0 !important;
}
.account-review-form select,
.account-review-form textarea{
  display:block !important;
}

/* Ajuste Mis pedidos: conservar transparencia de PNG sin cambiar estructura ni colores generales */
html body .account-order-product > img{
  background:transparent !important;
  background-color:transparent !important;
  object-fit:contain !important;
  box-shadow:none !important;
}


/* Ajuste solicitado: número de calificación en negro dentro de Reseñas de clientes */
.home-review-stars .home-review-rating-number{
  color:#000000 !important;
  letter-spacing:0.025em;
}


/* Ajuste solicitado: color dorado y número de calificación en Opiniones de clientes */
html body .product-opinion-stars{
  color:#c89b3c !important;
  white-space:nowrap;
  letter-spacing:0.025em;
}

html body .product-opinion-stars .product-opinion-rating-number{
  color:#000000 !important;
  letter-spacing:0.025em;
  margin-left:4px;
  font-weight: 700 !important;
}


/* Corrección final: estrellas doradas y número de calificación visible */
html body #productDetailModal .product-opinion-stars,
html body #productDetailModal .product-opinion-stars .product-opinion-star-icons,
html body .product-opinion-stars,
html body .product-opinion-star-icons,
html body .home-review-stars,
html body .home-review-star-icons,
html body .review-stars {
  color:#c89b3c !important;
  -webkit-text-fill-color:#c89b3c !important;
}
html body #productDetailModal .product-opinion-stars .product-opinion-rating-number,
html body .product-opinion-rating-number,
html body .home-review-rating-number {
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  letter-spacing:0.025em;
  margin-left:4px;
  font-weight: 700 !important;
}

/* Corrección: iniciales de iconos de perfil siempre en blanco */
.account-avatar.has-initials,
.account-avatar.has-initials *,
.product-opinion-avatar,
.product-opinion-avatar:not(.has-photo),
.product-opinion-avatar:not(.has-photo) *,
.admin-customer-avatar,
.admin-customer-avatar span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}


/* Calificación en los productos sugeridos de la barra de búsqueda: mantiene la estructura existente. */
.header-search-rating{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  margin-top:2px !important;
  font-family:'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.header-search-stars{
  color:#c89b3c !important;
  letter-spacing:0.025em;
  font-size:13px;
}
.header-search-score{
  color:#111 !important;
  font-weight: 700 !important;
}

/* Corrección: fotos de perfil del cliente en color real, no en gris */
.account-avatar-img,
.account-avatar.has-photo img,
.admin-customer-avatar img,
.product-opinion-avatar.has-photo img,
.home-review-top .product-opinion-avatar img{
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
}


/* Reseñas en carrusel horizontal: los cuadros se mueven a derecha e izquierda */
.home-reviews-grid{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:calc((100% - 40px) / 3) !important;
  grid-template-columns:none !important;
  gap:20px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch !important;
  padding:4px 4px 18px !important;
  max-width:none !important;
  margin:0 auto !important;
}
.home-reviews-grid::-webkit-scrollbar{
  height:0;
}
.home-reviews-grid{
  scrollbar-width:none;
}
.home-review-card{
  scroll-snap-align:start;
}
.home-reviews-carousel-controls{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.home-reviews-nav{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(201,155,60,.42);
  background:#ffffff;
  color:#19130d;
  font-size:13px;
  font-weight: 700 !important;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(36,27,18,.10);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.home-reviews-nav:hover,
.home-reviews-nav:focus-visible{
  transform:translateY(-2px);
  border-color:#c89b3c;
  box-shadow:0 16px 34px rgba(36,27,18,.14);
  outline:none;
}
.home-reviews-nav[disabled]{
  opacity:.4;
  cursor:not-allowed;
  transform:none;
}
@media(max-width:960px){
  .home-reviews-grid{
    grid-auto-columns:calc((100% - 20px) / 2) !important;
  }
}
@media(max-width:620px){
  .home-reviews-grid{
    grid-auto-columns:100% !important;
  }
}

/* Filtro responsive compacto: no ocupa todo el ancho en tablet ni celular */
@media (max-width:980px){
  .catalog-page-body .catalog-sidebar{
    width:min(100%, 560px) !important;
    max-width:560px !important;
    min-width:0 !important;
    justify-self:center !important;
    margin:0 auto 8px !important;
  }
}

@media (max-width:560px){
  .catalog-page-body .catalog-sidebar{
    width:calc(100% - 24px) !important;
    max-width:420px !important;
    padding:16px 14px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Filtro desplegable en celulares y tablets */
.catalog-filter-toggle{
  display:none;
}

@media (max-width:980px){
  .catalog-page-body .catalog-sidebar{
    padding:0 !important;
    overflow:hidden;
  }

  .catalog-page-body .sidebar-title{
    margin:0 !important;
  }

  .catalog-page-body .filter-title-desktop{
    display:none !important;
  }

  .catalog-filter-toggle{
    width:100%;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 18px;
    border:0;
    background:#fff8ef;
    color:#111;
    font:inherit;
    cursor:pointer;
    text-align:left;
  }

  .catalog-filter-toggle span{
    color:#111 !important;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
    text-transform:uppercase !important;
  }

  .catalog-filter-toggle svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .22s ease;
    flex:0 0 auto;
  }

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

  .catalog-filter-toggle:focus-visible{
    outline:2px solid #111;
    outline-offset:-3px;
  }

  .catalog-page-body .catalog-page-filters{
    margin:0 !important;
    padding:16px 18px 18px !important;
    border-top:1px solid #eadfce !important;
  }

  .catalog-page-body .catalog-page-filters.is-collapsed{
    display:none !important;
  }
}

@media (max-width:560px){
  .catalog-page-body .catalog-sidebar{
    padding:0 !important;
  }

  .catalog-filter-toggle{
    padding-left:16px;
    padding-right:16px;
  }

  .catalog-page-body .catalog-page-filters{
    padding:15px 16px 18px !important;
  }
}

/* Acabado profesional del filtro desplegable responsive */
@media (max-width:980px){
  .catalog-page-body .catalog-sidebar{
    border:1px solid rgba(35,27,18,.13) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 10px 30px rgba(35,27,18,.08) !important;
  }

  .catalog-filter-toggle{
    min-height:68px;
    padding:12px 14px 12px 16px;
    background:linear-gradient(135deg,#fff 0%,#fbf7f0 100%);
    transition:background .2s ease, box-shadow .2s ease;
  }

  .catalog-filter-toggle:hover{
    background:linear-gradient(135deg,#fff 0%,#f7efe3 100%);
  }

  .catalog-filter-toggle:focus-visible{
    outline:3px solid rgba(183,137,55,.28);
    outline-offset:-3px;
    border-radius:13px;
  }

  .catalog-filter-toggle .filter-toggle-copy,
  .catalog-filter-toggle .filter-toggle-action{
    display:flex;
    align-items:center;
  }

  .catalog-filter-toggle .filter-toggle-copy{
    gap:12px;
    min-width:0;
  }

  .catalog-filter-toggle .filter-toggle-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border:1px solid rgba(183,137,55,.28);
    border-radius:50%;
    background:#fff;
    box-shadow:0 4px 12px rgba(35,27,18,.06);
  }

  .catalog-filter-toggle .filter-toggle-icon svg{
    width:19px;
    height:19px;
    stroke:#9a6d1f;
    transform:none !important;
  }

  .catalog-filter-toggle .filter-toggle-text{
    display:grid;
    gap:2px;
    min-width:0;
    text-align:left;
  }

  .catalog-filter-toggle .filter-toggle-text strong{
    color:#17130e;
    font-size:13px;
    line-height:1.2;
    font-weight: 700 !important;
    letter-spacing:0.025em;
    text-transform:uppercase;
  }

  .catalog-filter-toggle .filter-toggle-text small{
    color:#766c61;
    font-size:13px;
    line-height:1.25;
    font-weight:500;
    letter-spacing:0.025em;
    text-transform:none;
  }

  .catalog-filter-toggle .filter-toggle-action{
    gap:8px;
    margin-left:12px;
    flex:0 0 auto;
  }

  .catalog-filter-toggle .filter-toggle-status{
    color:#8a6425 !important;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
    text-transform:uppercase !important;
  }

  .catalog-filter-toggle .filter-toggle-chevron{
    width:19px;
    height:19px;
    stroke:#17130e;
    transition:transform .28s cubic-bezier(.2,.7,.2,1);
  }

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

  .catalog-filter-toggle[aria-expanded="true"] .filter-toggle-status::before{
    content:"Ocultar";
  }

  .catalog-filter-toggle[aria-expanded="true"] .filter-toggle-status{
    font-size:13px;
  }

  .catalog-filter-toggle[aria-expanded="true"] .filter-toggle-status::before{
    font-size:13px;
  }

  .catalog-page-body .catalog-page-filters{
    display:grid !important;
    max-height:760px;
    opacity:1;
    visibility:visible;
    overflow:hidden;
    padding:18px !important;
    border-top:1px solid rgba(35,27,18,.10) !important;
    background:#fff !important;
    transition:max-height .32s cubic-bezier(.2,.7,.2,1), opacity .22s ease, padding .32s ease, border-color .22s ease;
  }

  .catalog-page-body .catalog-page-filters.is-collapsed{
    display:grid !important;
    max-height:0;
    opacity:0;
    visibility:hidden;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border-top-color:transparent !important;
    pointer-events:none;
  }

  .catalog-page-body .catalog-page-filters label > span{
    color:#42392f !important;
    font-size:13px;
    letter-spacing:0.025em;
  }

  .catalog-page-body .catalog-page-filters input,
  .catalog-page-body .catalog-page-filters select{
    height:45px !important;
    border:1px solid #d8d0c5 !important;
    border-radius:8px !important;
    background:#fff !important;
    transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
  }

  .catalog-page-body .catalog-page-filters input:hover,
  .catalog-page-body .catalog-page-filters select:hover{
    border-color:#b89a68 !important;
    background:#fffdf9 !important;
  }

  .catalog-page-body .catalog-page-filters input:focus,
  .catalog-page-body .catalog-page-filters select:focus{
    border-color:#a8792b !important;
    box-shadow:0 0 0 3px rgba(168,121,43,.13) !important;
  }

  .catalog-page-body .catalog-clear{
    min-height:44px !important;
    border-radius:8px !important;
    font-size:13px;
    letter-spacing:0.025em;
  }
}

@media (max-width:420px){
  .catalog-filter-toggle .filter-toggle-status{display:none;}
  .catalog-filter-toggle{padding-left:13px;padding-right:13px;}
  .catalog-filter-toggle .filter-toggle-icon{width:36px;height:36px;}
  .catalog-filter-toggle .filter-toggle-text strong{font-size:13px;}
}

@media (prefers-reduced-motion:reduce){
  .catalog-filter-toggle,
  .catalog-filter-toggle svg,
  .catalog-page-body .catalog-page-filters{
    transition:none !important;
  }
}

/* Variante clásica y sobria del filtro responsive */
@media (max-width:980px){
  .catalog-page-body .catalog-sidebar{
    border:1px solid #cfc7bb !important;
    border-radius:2px !important;
    background:#fff !important;
    box-shadow:0 3px 12px rgba(28,24,20,.06) !important;
  }

  .catalog-filter-toggle{
    min-height:56px !important;
    padding:12px 16px !important;
    background:#fff !important;
    border-radius:0 !important;
    transition:background-color .18s ease !important;
  }

  .catalog-filter-toggle:hover{
    background:#f8f5ef !important;
  }

  .catalog-filter-toggle:focus-visible{
    outline:1px solid #8a6a32 !important;
    outline-offset:-4px !important;
    border-radius:0 !important;
  }

  .catalog-filter-toggle .filter-toggle-copy{
    gap:10px !important;
  }

  .catalog-filter-toggle .filter-toggle-icon{
    width:26px !important;
    height:26px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .catalog-filter-toggle .filter-toggle-icon svg{
    width:18px !important;
    height:18px !important;
    stroke:#6f5527 !important;
  }

  .catalog-filter-toggle .filter-toggle-text{
    gap:1px !important;
  }

  .catalog-filter-toggle .filter-toggle-text strong{
    color:#28231d !important;
    font-family:'Lato', sans-serif'Times New Roman', serif !important;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
    text-transform:none !important;
  }

  .catalog-filter-toggle .filter-toggle-text small{
    color:#756d63 !important;
    font-size:13px;
    font-weight:400 !important;
    letter-spacing:0.025em;
  }

  .catalog-filter-toggle .filter-toggle-action{
    gap:6px !important;
  }

  .catalog-filter-toggle .filter-toggle-status{
    color:#665b4d !important;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
  }

  .catalog-filter-toggle .filter-toggle-chevron{
    width:16px !important;
    height:16px !important;
    stroke:#4e463d !important;
    transition:transform .2s ease !important;
  }

  .catalog-page-body .catalog-page-filters{
    padding:16px !important;
    border-top:1px solid #ded7cd !important;
    background:#fbfaf7 !important;
    transition:max-height .25s ease, opacity .18s ease, padding .25s ease, border-color .18s ease !important;
  }

  .catalog-page-body .catalog-page-filters label > span{
    color:#4b443b !important;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
  }

  .catalog-page-body .catalog-page-filters input,
  .catalog-page-body .catalog-page-filters select{
    height:43px !important;
    border:1px solid #cfc7bb !important;
    border-radius:1px !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  .catalog-page-body .catalog-page-filters input:hover,
  .catalog-page-body .catalog-page-filters select:hover{
    border-color:#9d8b70 !important;
    background:#fff !important;
  }

  .catalog-page-body .catalog-page-filters input:focus,
  .catalog-page-body .catalog-page-filters select:focus{
    border-color:#7f6232 !important;
    box-shadow:0 0 0 1px #7f6232 !important;
  }

  .catalog-page-body .catalog-clear{
    min-height:42px !important;
    border-radius:1px !important;
    background:transparent !important;
    border-color:#8e806e !important;
    color:#302a24 !important;
    font-size:13px;
    font-weight: 700 !important;
  }
}

/* Filtro clásico compacto para celulares y tablets */
@media (max-width:980px){
  .catalog-page-body .catalog-sidebar{
    width:calc(100% - 32px) !important;
    max-width:400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .catalog-filter-toggle{
    min-height:46px !important;
    padding:8px 12px !important;
  }

  .catalog-filter-toggle .filter-toggle-copy{
    gap:7px !important;
  }

  .catalog-filter-toggle .filter-toggle-icon{
    width:21px !important;
    height:21px !important;
  }

  .catalog-filter-toggle .filter-toggle-icon svg{
    width:15px !important;
    height:15px !important;
  }

  .catalog-filter-toggle .filter-toggle-text strong{
    font-size:13px;
    line-height:1.1 !important;
  }

  .catalog-filter-toggle .filter-toggle-text small{
    font-size:13px;
    line-height:1.15 !important;
  }

  .catalog-filter-toggle .filter-toggle-action{
    gap:4px !important;
    margin-left:7px !important;
  }

  .catalog-filter-toggle .filter-toggle-status{
    font-size:13px;
  }

  .catalog-filter-toggle[aria-expanded="true"] .filter-toggle-status::before{
    font-size:13px;
  }

  .catalog-filter-toggle .filter-toggle-chevron{
    width:14px !important;
    height:14px !important;
  }

  .catalog-page-body .catalog-page-filters{
    gap:10px !important;
    padding:12px !important;
  }

  .catalog-page-body .catalog-page-filters label{
    gap:5px !important;
  }

  .catalog-page-body .catalog-page-filters label > span{
    font-size:13px;
  }

  .catalog-page-body .catalog-page-filters input,
  .catalog-page-body .catalog-page-filters select{
    height:38px !important;
    min-height:38px !important;
    padding-top:7px !important;
    padding-bottom:7px !important;
    font-size:13px;
  }

  .catalog-page-body .catalog-clear{
    min-height:38px !important;
    padding:8px 12px !important;
    font-size:13px;
  }
}

@media (max-width:560px){
  .catalog-page-body .catalog-sidebar{
    width:calc(100% - 36px) !important;
    max-width:340px !important;
  }

  .catalog-filter-toggle{
    padding:8px 10px !important;
  }

  .catalog-filter-toggle .filter-toggle-text small,
  .catalog-filter-toggle .filter-toggle-status{
    display:none !important;
  }

  .catalog-page-body .catalog-page-filters{
    padding:10px !important;
  }
}

/* Botón de filtros aún más compacto */
@media (max-width:980px){
  .catalog-filter-toggle{
    min-height:38px !important;
    padding:5px 9px !important;
  }

  .catalog-filter-toggle .filter-toggle-copy{
    gap:6px !important;
  }

  .catalog-filter-toggle .filter-toggle-icon{
    width:18px !important;
    height:18px !important;
  }

  .catalog-filter-toggle .filter-toggle-icon svg{
    width:12px !important;
    height:12px !important;
  }

  .catalog-filter-toggle .filter-toggle-text strong{
    font-size:13px;
  }

  .catalog-filter-toggle .filter-toggle-text small{
    font-size:13px;
  }

  .catalog-filter-toggle .filter-toggle-action{
    gap:3px !important;
    margin-left:5px !important;
  }

  .catalog-filter-toggle .filter-toggle-status,
  .catalog-filter-toggle[aria-expanded="true"] .filter-toggle-status::before{
    font-size:13px;
  }

  .catalog-filter-toggle .filter-toggle-chevron{
    width:12px !important;
    height:12px !important;
  }
}

@media (max-width:560px){
  .catalog-filter-toggle{
    min-height:34px !important;
    padding:4px 8px !important;
  }

  .catalog-filter-toggle .filter-toggle-icon{
    width:17px !important;
    height:17px !important;
  }

  .catalog-filter-toggle .filter-toggle-text strong{
    font-size:13px;
  }
}

/* Centrado del icono y título en el botón responsive */
@media (max-width:980px){
  .catalog-filter-toggle{
    position:relative !important;
    justify-content:center !important;
  }

  .catalog-filter-toggle .filter-toggle-copy{
    width:auto !important;
    margin:0 auto !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .catalog-filter-toggle .filter-toggle-text{
    align-items:center !important;
    text-align:center !important;
  }

  .catalog-filter-toggle .filter-toggle-action{
    position:absolute !important;
    right:9px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin-left:0 !important;
  }
}

@media (max-width:560px){
  .catalog-filter-toggle .filter-toggle-action{
    right:8px !important;
  }
}

/* Tipografía del título del filtro en celulares y tablets */
@media (max-width:980px){
  .catalog-filter-toggle .filter-toggle-text strong{
    font-family:'Lato', sans-serif !important;
  }
}

/* Catálogo responsive: dos productos por fila en celulares, según referencia. */
@media (max-width: 620px){
  body.catalog-page-body .catalog-results-panel{
    padding:12px 8px 22px !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid,
  body.catalog-page-body .catalog-page-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px 8px !important;
    width:100% !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item,
  body.catalog-page-body .catalog-page-grid .catalog-item{
    min-width:0 !important;
    width:100% !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item img,
  body.catalog-page-body .catalog-page-grid .catalog-item img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1.18 !important;
    object-fit:contain !important;
    padding:8px !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item > div,
  body.catalog-page-body .catalog-page-grid .catalog-item > div{
    min-width:0 !important;
    padding:7px 2px 0 !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3,
  body.catalog-page-body .catalog-page-grid .catalog-item h3{
    width:100% !important;
    font-size:13px;
    line-height:1.3 !important;
    overflow-wrap:anywhere !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item p,
  body.catalog-page-body .catalog-page-grid .catalog-item p{
    font-size:13px;
    line-height:1.3 !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item strong,
  body.catalog-page-body .catalog-page-grid .catalog-item strong{
    font-size:13px;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .catalog-cart,
  body.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart{
    width:100% !important;
    min-width:0 !important;
    max-width:150px !important;
    height:32px !important;
    padding:0 7px !important;
    font-size:13px;
    white-space:normal !important;
  }
}

@media (max-width: 370px){
  body.catalog-page-body #catalogGrid.catalog-page-grid,
  body.catalog-page-body .catalog-page-grid{
    gap:16px 6px !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3,
  body.catalog-page-body .catalog-page-grid .catalog-item h3{
    font-size:13px;
  }
}

/* Ajuste solicitado: detalle del producto a 10 px en celulares. */
@media (max-width:620px){
  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item p,
  body.catalog-page-body .catalog-page-grid .catalog-item p,
  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-meta,
  body.catalog-page-body .catalog-page-grid .catalog-item .product-meta,
  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-details,
  body.catalog-page-body .catalog-page-grid .catalog-item .product-details,
  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-details span,
  body.catalog-page-body .catalog-page-grid .catalog-item .product-details span{
    font-size:13px;
  }
}

/* Detalle desplegable de cada producto: visible normalmente fuera de celulares. */
.product-detail-disclosure{
  display:none;
}

@media (max-width:620px){
  body.catalog-page-body .catalog-page-grid .product-detail-disclosure{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:26px;
    margin:4px 0 5px;
    padding:3px 1px;
    border:0;
    border-top:1px solid rgba(73,59,42,.22);
    border-bottom:1px solid rgba(73,59,42,.22);
    background:transparent;
    color:#2d251d;
    font-family:'Lato', sans-serif;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
    text-align:left;
    cursor:pointer;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure-icon{
    display:inline-block;
    font-size:13px;
    line-height:1;
    transition:transform .2s ease;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon{
    transform:rotate(180deg);
  }

  body.catalog-page-body .catalog-page-grid .product-card-collapsible{
    display:grid;
    grid-template-rows:0fr;
    opacity:0;
    transition:grid-template-rows .22s ease, opacity .18s ease, margin .22s ease;
    margin:0;
  }

  body.catalog-page-body .catalog-page-grid .product-card-collapsible > *{
    overflow:hidden;
  }

  body.catalog-page-body .catalog-page-grid .product-card-collapsible.is-open{
    grid-template-rows:1fr;
    opacity:1;
    margin:0 0 6px;
  }
}

@media (prefers-reduced-motion:reduce){
  .product-detail-disclosure-icon,
  .product-card-collapsible{
    transition:none !important;
  }
}

/* Tarjetas de producto más compactas en celulares. */
@media (max-width:620px){
  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item > div,
  body.catalog-page-body .catalog-page-grid .catalog-item > div{
    padding:4px 2px 0 !important;
    gap:0 !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3,
  body.catalog-page-body .catalog-page-grid .catalog-item h3{
    margin:2px 0 2px !important;
    min-height:0 !important;
    font-size:13px;
    line-height:1.18 !important;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure{
    min-height:20px !important;
    margin:1px 0 2px !important;
    padding:1px 1px !important;
    font-size:13px;
    line-height:1.1 !important;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure-icon{
    font-size:13px;
  }

  body.catalog-page-body .catalog-page-grid .product-card-collapsible{
    display:none !important;
    margin:0 !important;
  }

  body.catalog-page-body .catalog-page-grid .product-card-collapsible.is-open{
    display:block !important;
    margin:1px 0 3px !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-details,
  body.catalog-page-body .catalog-page-grid .catalog-item .product-details{
    gap:2px 3px !important;
    margin:1px 0 2px !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-details span,
  body.catalog-page-body .catalog-page-grid .catalog-item .product-details span{
    min-height:17px !important;
    padding:2px 5px !important;
    font-size:13px;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item p,
  body.catalog-page-body .catalog-page-grid .catalog-item p{
    margin:1px 0 2px !important;
    font-size:13px;
    line-height:1.15 !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item > div > strong,
  body.catalog-page-body .catalog-page-grid .catalog-item > div > strong{
    margin:2px 0 !important;
    font-size:13px;
    line-height:1.05 !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .product-reviews,
  body.catalog-page-body .catalog-page-grid .catalog-item .product-reviews{
    min-height:12px !important;
    margin:1px auto 2px !important;
    gap:3px !important;
    font-size:13px;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .stock-status,
  body.catalog-page-body .catalog-page-grid .catalog-item .stock-status{
    margin:0 0 3px !important;
    font-size:13px;
    line-height:1.05 !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item .catalog-cart,
  body.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart{
    height:27px !important;
    min-height:27px !important;
    margin:0 auto !important;
    padding:0 5px !important;
    font-size:13px;
    line-height:1 !important;
  }
}

/* Centrar el texto "Detalles" en el botón móvil y conservar la flecha a la derecha. */
@media (max-width:620px){
  body.catalog-page-body .catalog-page-grid .product-detail-disclosure{
    position:relative;
    justify-content:center !important;
    text-align:center !important;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure > span:first-child{
    display:block;
    width:100%;
    text-align:center;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure-icon{
    position:absolute;
    right:2px;
    top:50%;
    transform:translateY(-50%);
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon{
    transform:translateY(-50%) rotate(180deg);
  }
}

/* Título de producto: dos renglones uniformes en celulares. */
@media (max-width:620px){
  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item h3,
  body.catalog-page-body .catalog-page-grid .catalog-item h3{
    display:-webkit-box !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:2.36em !important;
    max-height:2.36em !important;
    line-height:1.18 !important;
    white-space:normal !important;
    text-overflow:ellipsis;
  }
}


/* Chevrón profesional para el desplegable de detalles en celulares. */
@media (max-width:620px){
  body.catalog-page-body .catalog-page-grid .product-detail-disclosure{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure-icon{
    position:absolute !important;
    right:9px !important;
    top:50% !important;
    width:7px !important;
    height:7px !important;
    margin:0 !important;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    font-size:13px;
    line-height:0 !important;
    transform:translateY(-65%) rotate(45deg) !important;
    transform-origin:center;
    transition:transform .2s ease;
    opacity:.85;
    pointer-events:none;
  }

  body.catalog-page-body .catalog-page-grid .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon{
    transform:translateY(-30%) rotate(225deg) !important;
  }
}

/* Imágenes de producto al máximo en celulares: aprovechan todo el ancho de cada columna. */
@media (max-width:620px){
  body.catalog-page-body .catalog-results-panel{
    padding-left:2px !important;
    padding-right:2px !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid,
  body.catalog-page-body .catalog-page-grid{
    gap:16px 4px !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item,
  body.catalog-page-body .catalog-page-grid .catalog-item{
    overflow:hidden !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item img,
  body.catalog-page-body .catalog-page-grid .catalog-item img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    aspect-ratio:1 / 1.08 !important;
    object-fit:contain !important;
    object-position:center !important;
    padding:0 !important;
    margin:0 !important;
  }
}

/* Ampliación adicional: solo las imágenes de producto en celulares. */
@media (max-width:620px){
  body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item img,
  body.catalog-page-body .catalog-page-grid .catalog-item img{
    transform:scale(1.14) !important;
    transform-origin:center center !important;
  }
}

/* Tabla/panel de filtros más compacta en celulares y tablets */
@media (max-width:980px){
  body.catalog-page-body .catalog-page-filters{
    gap:6px !important;
    padding:8px !important;
  }

  body.catalog-page-body .catalog-page-filters label{
    gap:3px !important;
    margin:0 !important;
  }

  body.catalog-page-body .catalog-page-filters,
  body.catalog-page-body .catalog-page-filters label,
  body.catalog-page-body .catalog-page-filters label > span,
  body.catalog-page-body .catalog-page-filters input,
  body.catalog-page-body .catalog-page-filters select,
  body.catalog-page-body .catalog-page-filters option,
  body.catalog-page-body .catalog-page-filters button{
    font-size:13px;
    line-height:1.15 !important;
  }

  body.catalog-page-body .catalog-page-filters label > span{
    letter-spacing:0.025em;
  }

  body.catalog-page-body .catalog-page-filters input,
  body.catalog-page-body .catalog-page-filters select{
    height:32px !important;
    min-height:32px !important;
    padding:4px 8px !important;
  }

  body.catalog-page-body .catalog-page-filters select{
    padding-right:24px !important;
  }

  body.catalog-page-body .catalog-page-filters .catalog-clear{
    min-height:32px !important;
    height:32px !important;
    padding:4px 9px !important;
    margin:0 !important;
  }
}

@media (max-width:560px){
  body.catalog-page-body .catalog-page-filters{
    gap:5px !important;
    padding:7px !important;
  }
}

/* Ajuste solicitado: filtro responsive a 10.5 px y más compacto */
@media (max-width:980px){
  body.catalog-page-body .catalog-page-filters{
    gap:4px !important;
    padding:6px 7px !important;
  }

  body.catalog-page-body .catalog-page-filters label{
    gap:2px !important;
    margin:0 !important;
  }

  body.catalog-page-body .catalog-page-filters,
  body.catalog-page-body .catalog-page-filters label,
  body.catalog-page-body .catalog-page-filters label > span,
  body.catalog-page-body .catalog-page-filters input,
  body.catalog-page-body .catalog-page-filters select,
  body.catalog-page-body .catalog-page-filters option,
  body.catalog-page-body .catalog-page-filters button{
    font-size:13px;
    line-height:1.1 !important;
  }

  body.catalog-page-body .catalog-page-filters label > span{
    letter-spacing:0.025em;
    margin:0 !important;
  }

  body.catalog-page-body .catalog-page-filters input,
  body.catalog-page-body .catalog-page-filters select{
    height:29px !important;
    min-height:29px !important;
    padding:3px 7px !important;
  }

  body.catalog-page-body .catalog-page-filters select{
    padding-right:22px !important;
  }

  body.catalog-page-body .catalog-page-filters .catalog-clear{
    height:29px !important;
    min-height:29px !important;
    padding:3px 8px !important;
    margin:1px 0 0 !important;
  }
}

@media (max-width:560px){
  body.catalog-page-body .catalog-page-filters{
    gap:3px !important;
    padding:5px 6px !important;
  }
}


/* Corrección específica: etiquetas del filtro responsive a 10.5 px */
@media (max-width:980px){
  body.catalog-page-body form#catalogFilters.catalog-page-filters > label > span{
    font-family:'Lato', sans-serif !important;
    font-size:13px;
    line-height:1 !important;
    font-weight: 700 !important;
    letter-spacing:0.025em;
    margin:0 0 2px !important;
    padding:0 !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters{
    row-gap:4px !important;
    padding:6px 7px !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters > label{
    gap:1px !important;
    margin:0 !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters input,
  body.catalog-page-body form#catalogFilters.catalog-page-filters select{
    font-family:'Lato', sans-serif !important;
    font-size:13px;
    height:28px !important;
    min-height:28px !important;
    padding-top:2px !important;
    padding-bottom:2px !important;
  }
}

/* Ajuste final: botón del filtro más compacto en celulares y tablets */
@media (max-width:980px){
  body.catalog-page-body .catalog-sidebar .sidebar-title{
    line-height:1 !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle{
    min-height:28px !important;
    height:28px !important;
    padding:2px 8px !important;
    gap:4px !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-copy{
    gap:4px !important;
    min-height:0 !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-icon{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-icon svg{
    width:9px !important;
    height:9px !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-text{
    line-height:1 !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-text strong{
    font-size:13px;
    line-height:1 !important;
    letter-spacing:0.025em;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-action{
    right:7px !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-chevron{
    width:8px !important;
    height:8px !important;
  }
}

/* Centrado real del texto del botón de filtros en responsive */
@media (max-width:980px){
  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle{
    position:relative !important;
    display:block !important;
  }
  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-copy{
    position:static !important;
    display:block !important;
  }
  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-icon{
    position:absolute !important;
    left:8px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }
  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-text{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:max-content !important;
    max-width:calc(100% - 64px) !important;
    margin:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-action{
    position:absolute !important;
    right:8px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }
}

/* Corrección definitiva: centra el conjunto icono + texto en todo el botón */
@media (max-width:980px){
  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle{
    position:relative !important;
    display:block !important;
    width:100% !important;
    padding:0 30px !important;
    text-align:center !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle > .filter-toggle-copy{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    width:max-content !important;
    max-width:calc(100% - 60px) !important;
    margin:0 !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle > .filter-toggle-copy > .filter-toggle-icon{
    position:static !important;
    transform:none !important;
    flex:0 0 auto !important;
    margin:0 !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle > .filter-toggle-copy > .filter-toggle-text{
    position:static !important;
    transform:none !important;
    display:block !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle > .filter-toggle-copy > .filter-toggle-text > small{
    display:none !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle > .filter-toggle-action{
    position:absolute !important;
    right:9px !important;
    left:auto !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }
}

/* Filtro responsive refinado — acabado clásico profesional */
@media (max-width:980px){
  body.catalog-page-body .catalog-sidebar{
    width:min(100%, 400px) !important;
    margin-inline:auto !important;
    border:1px solid #d8d0c3 !important;
    border-radius:2px !important;
    background:#fff !important;
    box-shadow:0 5px 18px rgba(33,27,20,.06) !important;
    overflow:hidden !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fbfaf8 !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle{
    height:36px !important;
    min-height:36px !important;
    padding:0 34px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fbfaf8 !important;
    color:#211c17 !important;
    box-shadow:none !important;
    transition:background-color .18s ease, color .18s ease !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle:hover,
  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle:focus-visible{
    background:#f6f2ec !important;
    outline:none !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle:focus-visible{
    box-shadow:inset 0 0 0 1px #8b7454 !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-copy{
    gap:7px !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-icon{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    color:#9a7c4d !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-icon svg{
    width:12px !important;
    height:12px !important;
    stroke-width:1.5 !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-text strong{
    font-family:'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height:1 !important;
    letter-spacing:0.025em;
    text-transform:none !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-status{
    display:none !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-action{
    right:12px !important;
    width:14px !important;
    height:14px !important;
    display:grid !important;
    place-items:center !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-chevron{
    width:11px !important;
    height:11px !important;
    stroke:#5d544a !important;
    stroke-width:1.6 !important;
    transition:transform .2s ease !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters{
    gap:7px !important;
    padding:10px 10px 11px !important;
    border-top:1px solid #e2dbd1 !important;
    background:#fff !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters > label{
    gap:4px !important;
    margin:0 !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters > label > span.catalog-filter-label{
    font-family:'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height:1.15 !important;
    letter-spacing:0.025em;
    color:#3c342d !important;
    text-transform:uppercase !important;
    margin:0 !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters input,
  body.catalog-page-body form#catalogFilters.catalog-page-filters select{
    width:100% !important;
    height:32px !important;
    min-height:32px !important;
    padding:4px 9px !important;
    border:1px solid #d5cdc2 !important;
    border-radius:1px !important;
    background-color:#fff !important;
    color:#29231f !important;
    font-family:'Lato', sans-serif !important;
    font-size:13px;
    line-height:1.2 !important;
    box-shadow:none !important;
    transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters input::placeholder{
    color:#8a8178 !important;
    opacity:1 !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters input:hover,
  body.catalog-page-body form#catalogFilters.catalog-page-filters select:hover{
    border-color:#b9ab98 !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters input:focus,
  body.catalog-page-body form#catalogFilters.catalog-page-filters select:focus{
    outline:none !important;
    border-color:#8b7454 !important;
    box-shadow:0 0 0 2px rgba(139,116,84,.12) !important;
    background:#fff !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters select{
    padding-right:28px !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters .catalog-clear{
    height:32px !important;
    min-height:32px !important;
    margin-top:2px !important;
    padding:4px 10px !important;
    border:1px solid #8f7a5c !important;
    border-radius:1px !important;
    background:#fff !important;
    color:#30271f !important;
    font-family:'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
    text-transform:uppercase !important;
    box-shadow:none !important;
    transition:background-color .18s ease, color .18s ease !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters .catalog-clear:hover,
  body.catalog-page-body form#catalogFilters.catalog-page-filters .catalog-clear:focus-visible{
    background:#2b241e !important;
    color:#fff !important;
    outline:none !important;
  }
}

@media (max-width:560px){
  body.catalog-page-body .catalog-sidebar{
    width:calc(100% - 12px) !important;
    max-width:380px !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters{
    gap:6px !important;
    padding:9px !important;
  }
}

/* Ajuste final: encabezado del filtro más bajo en responsive */
@media (max-width: 980px) {
  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle {
    height: 30px !important;
    min-height: 30px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 30px !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-copy,
  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-action {
    height: 30px !important;
    min-height: 30px !important;
    align-items: center !important;
  }

  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-text,
  body.catalog-page-body .catalog-sidebar .catalog-filter-toggle .filter-toggle-text strong {
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Igualar exactamente el ancho de .catalog-sidebar y .catalog-filter-toggle en responsive */
@media (max-width:980px){
  body.catalog-page-body .catalog-sidebar,
  body.catalog-page-body .catalog-sidebar .sidebar-title,
  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle{
    width:100% !important;
    max-width:380px !important;
    box-sizing:border-box !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.catalog-page-body .catalog-sidebar{
    padding:0 !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title{
    padding:0 !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle{
    display:block !important;
    margin:0 !important;
  }
}

@media (max-width:560px){
  body.catalog-page-body .catalog-sidebar,
  body.catalog-page-body .catalog-sidebar .sidebar-title,
  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle{
    width:calc(100% - 12px) !important;
    max-width:380px !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title,
  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle{
    width:100% !important;
  }
}

/* Corrección final: eliminar por completo el espacio vacío bajo el botón cuando el filtro está cerrado */
@media (max-width:980px){
  body.catalog-page-body .catalog-sidebar{
    height:auto !important;
    min-height:0 !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title{
    height:auto !important;
    min-height:0 !important;
    line-height:0 !important;
  }

  body.catalog-page-body .catalog-sidebar .sidebar-title > button#catalogFilterToggle.catalog-filter-toggle{
    vertical-align:top !important;
  }

  body.catalog-page-body form#catalogFilters.catalog-page-filters.is-collapsed{
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
    border:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    visibility:hidden !important;
  }
}

/* Ajuste final de espacios verticales del catálogo en celulares */
@media (max-width:620px){
  body.catalog-page-body .catalog-layout-section{
    margin-top:12px !important;
    margin-bottom:24px !important;
    padding-top:0 !important;
    row-gap:14px !important;
    gap:14px !important;
  }

  body.catalog-page-body .catalog-sidebar{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  body.catalog-page-body .catalog-results-panel{
    padding-top:8px !important;
  }

  body.catalog-page-body .catalog-results-head{
    gap:0 !important;
    padding:0 0 8px !important;
    margin:0 0 12px !important;
    border-bottom:0 !important;
  }

  body.catalog-page-body .catalog-results-head > div:first-child{
    margin:0 !important;
    padding:0 !important;
  }

  body.catalog-page-body .catalog-results-head span{
    margin:0 0 4px !important;
  }

  body.catalog-page-body #catalogResultsTitle,
  body.catalog-page-body .catalog-results-head h2{
    margin:0 !important;
    padding:0 !important;
    line-height:1.05 !important;
  }

  body.catalog-page-body .catalog-results-head .catalog-count,
  body.catalog-page-body #catalogCount.catalog-count{
    margin:8px 0 0 !important;
    padding:0 !important;
    line-height:1.2 !important;
  }

  body.catalog-page-body #catalogGrid.catalog-page-grid,
  body.catalog-page-body .catalog-page-grid{
    margin-top:0 !important;
  }
}

/* Ajuste móvil: título principal del catálogo a 20 px */
@media (max-width: 767px) {
  html body.catalog-page-body #catalogResultsTitle,
  html body.catalog-page-body .catalog-results-head h2#catalogResultsTitle {
    font-size:13px;
    line-height: 1.1 !important;
  }
}

/* Ajuste responsive: texto de botones Añadir al carrito a 11 px */
@media (max-width: 767px) {
  html body.catalog-page-body #catalogGrid .catalog-cart,
  html body.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart,
  html body.catalog-page-body .product-card .catalog-cart,
  html body.catalog-page-body .product-detail-cart {
    font-size:13px;
  }
}


/* Responsive: tipografía reforzada en botones Añadir al carrito */
@media (max-width: 767px) {
  .catalog-cart {
    font-size:13px;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing:0.025em;
  }
}

/* Responsive: botón Añadir al carrito más ancho y contenido en una sola línea */
@media (max-width: 767px) {
  html body.catalog-page-body #catalogGrid .catalog-cart,
  html body.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart,
  html body.catalog-page-body .product-card .catalog-cart {
    width: calc(100% + 10px) !important;
    max-width: none !important;
    margin-left: -5px !important;
    margin-right: -5px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }
}

/* Ajuste final responsive: botón Añadir al carrito más amplio */
@media (max-width: 767px) {
  html body.catalog-page-body #catalogGrid .catalog-item,
  html body.catalog-page-body .catalog-page-grid .catalog-item {
    overflow: visible !important;
  }

  html body.catalog-page-body #catalogGrid .catalog-cart,
  html body.catalog-page-body .catalog-page-grid .catalog-item .catalog-cart,
  html body.catalog-page-body .product-card .catalog-cart {
    width: calc(100% + 18px) !important;
    margin-left: -9px !important;
    margin-right: -9px !important;
    box-sizing: border-box !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
  }

  html body.catalog-page-body #catalogGrid .catalog-cart svg,
  html body.catalog-page-body #catalogGrid .catalog-cart i,
  html body.catalog-page-body #catalogGrid .catalog-cart .cart-icon,
  html body.catalog-page-body .catalog-page-grid .catalog-cart svg,
  html body.catalog-page-body .catalog-page-grid .catalog-cart i,
  html body.catalog-page-body .catalog-page-grid .catalog-cart .cart-icon {
    flex: 0 0 auto !important;
  }
}

/* Corrección definitiva móvil: el borde de Añadir al carrito ocupa todo el ancho de la tarjeta */
@media (max-width: 767px) {
  html body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item > div,
  html body.catalog-page-body .catalog-page-grid .catalog-item > div {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item button.catalog-cart,
  html body.catalog-page-body .catalog-page-grid .catalog-item button.catalog-cart,
  html body.catalog-page-body #catalogGrid .catalog-item .catalog-cart {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
  }
}

/* Responsive: ampliar únicamente las imágenes de los productos */
@media (max-width: 767px) {
  html body.catalog-page-body #catalogGrid.catalog-page-grid .catalog-item > img,
  html body.catalog-page-body .catalog-page-grid .catalog-item > img,
  html body.catalog-page-body #catalogGrid .catalog-item img {
    width: calc(100% + 14px) !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin-left: -7px !important;
    margin-right: -7px !important;
    margin-top: 0 !important;
  }
}

/* Responsive: desplazar ligeramente a la izquierda el grupo de iconos del header */
@media (max-width: 767px) {
  html body .header .header-icons {
    position: relative !important;
    left: -8px !important;
    transform: none !important;
  }
}

/* Joyas Destacadas: misma visualización del catálogo en responsive */
@media (max-width: 767px) {
  html body .featured-jewels-section {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body .featured-jewels-section #productsGrid.featured-catalog-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html body .featured-jewels-section .featured-catalog-item {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
  }

  html body .featured-jewels-section .featured-catalog-item > img {
    display: block !important;
    width: calc(100% + 14px) !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 -7px 6px !important;
    padding: 0 !important;
  }

  html body .featured-jewels-section .featured-catalog-item > div {
    width: 100% !important;
    min-width: 0 !important;
    padding: 4px 0 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  html body .featured-jewels-section .featured-catalog-item h3 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: 2.36em !important;
    max-height: 2.36em !important;
    margin: 2px 0 !important;
    font-size:13px;
    line-height: 1.18 !important;
    text-transform: uppercase !important;
  }

  html body .featured-jewels-section .product-detail-disclosure {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 22px !important;
    margin: 1px 0 2px !important;
    padding: 1px 18px !important;
    border: 0 !important;
    border-top: 1px solid rgba(73,59,42,.22) !important;
    border-bottom: 1px solid rgba(73,59,42,.22) !important;
    background: transparent !important;
    color: #2d251d !important;
    font-family:'Lato', sans-serif'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    text-align: center !important;
    cursor: pointer !important;
  }

  html body .featured-jewels-section .product-detail-disclosure-icon {
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: translateY(-70%) rotate(45deg) !important;
    transition: transform .2s ease !important;
  }

  html body .featured-jewels-section .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon {
    transform: translateY(-25%) rotate(225deg) !important;
  }

  html body .featured-jewels-section .product-card-collapsible {
    display: none !important;
    margin: 0 !important;
  }

  html body .featured-jewels-section .product-card-collapsible.is-open {
    display: block !important;
    margin: 1px 0 3px !important;
  }

  html body .featured-jewels-section .product-card-collapsible,
  html body .featured-jewels-section .product-card-collapsible p,
  html body .featured-jewels-section .product-card-collapsible span {
    font-size:13px;
    line-height: 1.15 !important;
  }

  html body .featured-jewels-section .featured-catalog-item > div > strong {
    display: block !important;
    margin: 2px 0 !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  html body .featured-jewels-section .featured-catalog-item .product-reviews {
    min-height: 12px !important;
    margin: 1px auto 2px !important;
    gap: 3px !important;
    font-size:13px;
  }

  html body .featured-jewels-section .featured-catalog-item .stock-status {
    margin: 0 0 3px !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  html body .featured-jewels-section .featured-catalog-item .catalog-cart {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  html body .featured-jewels-section .featured-jewels-actions {
    margin-top: 18px !important;
  }
}

@media (max-width: 370px) {
  html body .featured-jewels-section #productsGrid.featured-catalog-grid {
    gap: 16px 6px !important;
  }

  html body .featured-jewels-section .featured-catalog-item h3 {
    font-size:13px;
  }
}

/* Joyas destacadas: imagen ajustada al mismo ancho del bloque Detalles */
@media (max-width: 767px) {
  html body .featured-jewels-section .featured-catalog-item > img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
}

/* Carrusel profesional para Joyas Destacadas */
.featured-carousel{
  position:relative;
  width:100%;
  margin-top:0;
}

.featured-carousel-control{
  position:absolute;
  top:50%;
  z-index:8;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(45,37,29,.22);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#211c17;
  box-shadow:0 5px 16px rgba(24,20,16,.12);
  cursor:pointer;
  transform:translateY(-50%);
  transition:background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.featured-carousel-control:hover,
.featured-carousel-control:focus-visible{
  background:#fff;
  border-color:#8b7454;
  outline:none;
}

.featured-carousel-control:hover{
  transform:translateY(-50%) scale(1.04);
}

.featured-carousel-prev{left:-17px;}
.featured-carousel-next{right:-17px;}

.featured-carousel-control span{
  width:9px;
  height:9px;
  border-top:1.6px solid currentColor;
  border-right:1.6px solid currentColor;
}

.featured-carousel-prev span{transform:rotate(-135deg) translate(-1px,1px);}
.featured-carousel-next span{transform:rotate(45deg) translate(-1px,1px);}

.featured-jewels-section #productsGrid.featured-catalog-grid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:18px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

.featured-jewels-section #productsGrid.featured-catalog-grid::-webkit-scrollbar{
  display:none;
}

.featured-jewels-section #productsGrid.featured-catalog-grid .featured-catalog-item{
  flex:0 0 calc((100% - 54px) / 4) !important;
  scroll-snap-align:start;
}

@media (max-width:980px){
  .featured-jewels-section #productsGrid.featured-catalog-grid .featured-catalog-item{
    flex-basis:calc((100% - 36px) / 3) !important;
  }
}

@media (max-width:767px){
  html body .featured-jewels-section #productsGrid.featured-catalog-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:8px !important;
    padding:0 !important;
    margin:0 !important;
  }

  html body .featured-jewels-section #productsGrid.featured-catalog-grid .featured-catalog-item{
    flex:0 0 calc((100% - 8px) / 2) !important;
    width:auto !important;
  }

  .featured-carousel-control{
    top:34%;
    width:28px;
    height:28px;
    background:rgba(255,255,255,.9);
  }

  .featured-carousel-prev{left:3px;}
  .featured-carousel-next{right:3px;}

  .featured-carousel-control span{
    width:7px;
    height:7px;
  }
}

@media (prefers-reduced-motion:reduce){
  .featured-carousel-control,
  .featured-jewels-section #productsGrid.featured-catalog-grid{
    scroll-behavior:auto !important;
    transition:none !important;
  }
}

/* Joyas destacadas: bloque de detalle con la misma altura y espaciado del catálogo */
@media (max-width:620px){
  html body .featured-jewels-section .featured-catalog-item > div{
    padding:4px 2px 0 !important;
    gap:0 !important;
  }

  html body .featured-jewels-section .featured-catalog-item h3{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    min-height:2.36em !important;
    max-height:2.36em !important;
    margin:2px 0 !important;
    font-size:13px;
    line-height:1.18 !important;
  }

  html body .featured-jewels-section .product-detail-disclosure{
    min-height:20px !important;
    height:20px !important;
    margin:1px 0 2px !important;
    padding:1px 18px !important;
    font-size:13px;
    line-height:1.1 !important;
  }

  html body .featured-jewels-section .product-card-collapsible{
    display:none !important;
    margin:0 !important;
  }

  html body .featured-jewels-section .product-card-collapsible.is-open{
    display:block !important;
    margin:1px 0 3px !important;
  }

  html body .featured-jewels-section .featured-catalog-item .product-details{
    gap:2px 3px !important;
    margin:1px 0 2px !important;
  }

  html body .featured-jewels-section .featured-catalog-item .product-details span{
    min-height:17px !important;
    padding:2px 5px !important;
    font-size:13px;
  }

  html body .featured-jewels-section .featured-catalog-item .product-card-collapsible p{
    margin:1px 0 2px !important;
    font-size:13px;
    line-height:1.15 !important;
  }

  html body .featured-jewels-section .featured-catalog-item > div > strong{
    margin:2px 0 !important;
    font-size:13px;
    line-height:1.05 !important;
  }

  html body .featured-jewels-section .featured-catalog-item .product-reviews{
    min-height:12px !important;
    margin:1px auto 2px !important;
    gap:3px !important;
    font-size:13px;
  }

  html body .featured-jewels-section .featured-catalog-item .stock-status{
    margin:0 0 3px !important;
    font-size:13px;
    line-height:1.05 !important;
  }

  html body .featured-jewels-section .featured-catalog-item .catalog-cart{
    height:27px !important;
    min-height:27px !important;
    margin:0 !important;
    padding:0 5px !important;
    line-height:1 !important;
  }
}

/* Corrección definitiva: Joyas Destacadas usa exactamente la tarjeta responsive del Catálogo */
@media (max-width: 767px) {
  html body .featured-jewels-section {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body .featured-jewels-section #productsGrid.featured-catalog-grid {
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html body .featured-jewels-section #productsGrid.featured-catalog-grid .featured-catalog-item {
    flex: 0 0 calc((100% - 8px) / 2) !important;
    width: calc((100% - 8px) / 2) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
  }

  html body .featured-jewels-section .featured-catalog-item > img {
    display: block !important;
    width: calc(100% + 14px) !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 -7px 0 !important;
    padding: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
  }

  html body .featured-jewels-section .featured-catalog-item > div {
    width: 100% !important;
    min-width: 0 !important;
    padding: 4px 0 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  html body .featured-jewels-section .featured-catalog-item h3 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    width: 100% !important;
    min-height: 2.36em !important;
    max-height: 2.36em !important;
    margin: 2px 0 !important;
    padding: 0 !important;
    font-size:13px;
    line-height: 1.18 !important;
    text-transform: uppercase !important;
    overflow-wrap: anywhere !important;
  }

  html body .featured-jewels-section .product-detail-disclosure {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 1px 0 2px !important;
    padding: 1px 18px !important;
    border: 0 !important;
    border-top: 1px solid rgba(73,59,42,.22) !important;
    border-bottom: 1px solid rgba(73,59,42,.22) !important;
    background: transparent !important;
    color: #2d251d !important;
    font-family:'Lato', sans-serif'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  html body .featured-jewels-section .product-detail-disclosure > span:first-child {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  html body .featured-jewels-section .product-detail-disclosure-icon {
    position: absolute !important;
    right: 2px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: translateY(-70%) rotate(45deg) !important;
  }

  html body .featured-jewels-section .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon {
    transform: translateY(-25%) rotate(225deg) !important;
  }

  html body .featured-jewels-section .product-card-collapsible {
    display: none !important;
    margin: 0 !important;
  }

  html body .featured-jewels-section .product-card-collapsible.is-open {
    display: block !important;
    margin: 1px 0 3px !important;
  }

  html body .featured-jewels-section .featured-catalog-item .product-details {
    gap: 2px 3px !important;
    margin: 1px 0 2px !important;
  }

  html body .featured-jewels-section .featured-catalog-item .product-details span {
    min-height: 17px !important;
    padding: 2px 5px !important;
    font-size:13px;
  }

  html body .featured-jewels-section .featured-catalog-item .product-card-collapsible p {
    margin: 1px 0 2px !important;
    font-size:13px;
    line-height: 1.15 !important;
  }

  html body .featured-jewels-section .featured-catalog-item > div > strong {
    display: block !important;
    margin: 2px 0 !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  html body .featured-jewels-section .featured-catalog-item .product-reviews {
    min-height: 12px !important;
    margin: 1px auto 2px !important;
    gap: 3px !important;
    font-size:13px;
  }

  html body .featured-jewels-section .featured-catalog-item .stock-status {
    margin: 0 0 3px !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  html body .featured-jewels-section .featured-catalog-item button.catalog-cart {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    font-size:13px;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing:0.025em;
  }
}

/* FINAL: Joyas destacadas replica exactamente la tarjeta responsive de Catálogo */
@media (max-width: 767px) {
  html body.video-header-layout .featured-jewels-section {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-carousel {
    width: 100% !important;
    overflow: hidden !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid::-webkit-scrollbar {
    display: none !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid > article.catalog-item.featured-catalog-item {
    flex: 0 0 calc((100% - 8px) / 2) !important;
    width: calc((100% - 8px) / 2) !important;
    min-width: calc((100% - 8px) / 2) !important;
    max-width: calc((100% - 8px) / 2) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    scroll-snap-align: start !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-catalog-item > img {
    display: block !important;
    width: calc(100% + 14px) !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 -7px !important;
    padding: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-catalog-item > div {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 0 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-catalog-item h3 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    width: 100% !important;
    min-height: 2.36em !important;
    max-height: 2.36em !important;
    margin: 2px 0 !important;
    padding: 0 !important;
    font-family:'Lato', sans-serif'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing:0.025em;
    text-transform: uppercase !important;
    overflow-wrap: anywhere !important;
  }

  html body.video-header-layout .featured-jewels-section .product-detail-disclosure {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 1px 0 2px !important;
    padding: 1px 16px !important;
    border: 0 !important;
    border-top: 1px solid rgba(73,59,42,.22) !important;
    border-bottom: 1px solid rgba(73,59,42,.22) !important;
    background: transparent !important;
    color: #2d251d !important;
    font-family:'Lato', sans-serif'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  html body.video-header-layout .featured-jewels-section .product-detail-disclosure > span:first-child {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  html body.video-header-layout .featured-jewels-section .product-detail-disclosure-icon {
    position: absolute !important;
    right: 2px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: translateY(-70%) rotate(45deg) !important;
  }

  html body.video-header-layout .featured-jewels-section .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon {
    transform: translateY(-25%) rotate(225deg) !important;
  }

  html body.video-header-layout .featured-jewels-section .product-card-collapsible {
    display: none !important;
    margin: 0 !important;
  }

  html body.video-header-layout .featured-jewels-section .product-card-collapsible.is-open {
    display: block !important;
    margin: 1px 0 3px !important;
  }

  html body.video-header-layout .featured-jewels-section .product-details {
    gap: 2px 3px !important;
    margin: 1px 0 2px !important;
  }

  html body.video-header-layout .featured-jewels-section .product-details span {
    min-height: 17px !important;
    padding: 2px 5px !important;
    font-size:13px;
  }

  html body.video-header-layout .featured-jewels-section .product-card-collapsible p {
    margin: 1px 0 2px !important;
    font-size:13px;
    line-height: 1.15 !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-catalog-item > div > strong {
    display: block !important;
    margin: 2px 0 !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-catalog-item .product-reviews {
    min-height: 12px !important;
    margin: 1px auto 2px !important;
    gap: 3px !important;
    font-size:13px;
  }

  html body.video-header-layout .featured-jewels-section .featured-catalog-item .stock-status {
    margin: 0 0 3px !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-catalog-item button.catalog-cart {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing:0.025em;
    text-transform: uppercase !important;
  }
}

/* ==========================================================
   FUENTE ÚNICA: tarjetas responsive de Catálogo y Destacadas
   Ambas comparten exactamente las mismas medidas y estilos.
   ========================================================== */
@media (max-width: 767px) {
  /* Contenedores: dos tarjetas visibles; Destacadas conserva carrusel */
  html body.catalog-page-body #catalogGrid.catalog-page-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 4px !important;
    width: 100% !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-carousel {
    width: 100% !important;
    overflow: hidden !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid {
    display: flex !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid::-webkit-scrollbar {
    display: none !important;
  }

  /* Tarjeta: mismas dimensiones en ambas secciones */
  html body.catalog-page-body #catalogGrid > article.catalog-item,
  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item {
    flex: 0 0 calc((100% - 4px) / 2) !important;
    width: calc((100% - 4px) / 2) !important;
    min-width: calc((100% - 4px) / 2) !important;
    max-width: calc((100% - 4px) / 2) !important;
    scroll-snap-align: start !important;
  }

  /* Imagen: exactamente la misma ampliación */
  html body.catalog-page-body #catalogGrid > article.catalog-item > img,
  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > img {
    display: block !important;
    width: calc(100% + 14px) !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 -7px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    transform: scale(1.14) !important;
    transform-origin: center center !important;
  }

  /* Bloque de información */
  html body.catalog-page-body #catalogGrid > article.catalog-item > div,
  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 0 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  /* Título */
  html body.catalog-page-body #catalogGrid > article.catalog-item h3,
  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item h3 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    width: 100% !important;
    min-height: 2.36em !important;
    max-height: 2.36em !important;
    margin: 2px 0 !important;
    padding: 0 !important;
    font-family:'Lato', sans-serif'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing:0.025em;
    text-transform: uppercase !important;
    white-space: normal !important;
    text-overflow: ellipsis !important;
    overflow-wrap: anywhere !important;
  }

  /* Botón Detalles */
  html body.catalog-page-body #catalogGrid .product-detail-disclosure,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-detail-disclosure {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 1px 0 2px !important;
    padding: 1px 24px !important;
    border: 0 !important;
    border-top: 1px solid rgba(73,59,42,.22) !important;
    border-bottom: 1px solid rgba(73,59,42,.22) !important;
    background: transparent !important;
    color: #2d251d !important;
    font-family:'Lato', sans-serif'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
  }

  html body.catalog-page-body #catalogGrid .product-detail-disclosure > span:first-child,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-detail-disclosure > span:first-child {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  html body.catalog-page-body #catalogGrid .product-detail-disclosure-icon,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-detail-disclosure-icon {
    position: absolute !important;
    right: 9px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    font-size:13px;
    line-height: 0 !important;
    opacity: .85 !important;
    transform: translateY(-65%) rotate(45deg) !important;
    transform-origin: center !important;
    transition: transform .2s ease !important;
    pointer-events: none !important;
  }

  html body.catalog-page-body #catalogGrid .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-detail-disclosure[aria-expanded="true"] .product-detail-disclosure-icon {
    transform: translateY(-30%) rotate(225deg) !important;
  }

  /* Contenido desplegable */
  html body.catalog-page-body #catalogGrid .product-card-collapsible,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible {
    display: none !important;
    margin: 0 !important;
  }

  html body.catalog-page-body #catalogGrid .product-card-collapsible.is-open,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible.is-open {
    display: block !important;
    margin: 1px 0 3px !important;
  }

  html body.catalog-page-body #catalogGrid .product-details,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-details {
    gap: 2px 3px !important;
    margin: 1px 0 2px !important;
  }

  html body.catalog-page-body #catalogGrid .product-details span,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-details span {
    min-height: 17px !important;
    padding: 2px 5px !important;
    font-size:13px;
  }

  html body.catalog-page-body #catalogGrid .product-card-collapsible p,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible p {
    margin: 1px 0 2px !important;
    font-size:13px;
    line-height: 1.15 !important;
  }

  /* Precio, reseñas y disponibilidad */
  html body.catalog-page-body #catalogGrid > article.catalog-item > div > strong,
  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div > strong {
    display: block !important;
    margin: 2px 0 !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  html body.catalog-page-body #catalogGrid .product-reviews,
  html body.video-header-layout .featured-jewels-section #productsGrid .product-reviews {
    min-height: 12px !important;
    margin: 1px auto 2px !important;
    gap: 3px !important;
    font-size:13px;
  }

  html body.catalog-page-body #catalogGrid .stock-status,
  html body.video-header-layout .featured-jewels-section #productsGrid .stock-status {
    margin: 0 0 3px !important;
    font-size:13px;
    line-height: 1.05 !important;
  }

  /* Botón carrito: mismo ancho y altura */
  html body.catalog-page-body #catalogGrid button.catalog-cart,
  html body.video-header-layout .featured-jewels-section #productsGrid button.catalog-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    box-sizing: border-box !important;
    font-size:13px;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing:0.025em;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    overflow: visible !important;
  }
}

@media (max-width: 370px) {
  html body.catalog-page-body #catalogGrid.catalog-page-grid,
  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid {
    gap: 16px 4px !important;
  }

  html body.catalog-page-body #catalogGrid > article.catalog-item h3,
  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item h3 {
    font-size:13px;
  }
}

/* ==========================================================
   CORRECCIÓN FINAL: Joyas destacadas con la misma geometría
   responsive del bloque de productos del Catálogo.
   ========================================================== */
@media (max-width: 767px) {
  /* El catálogo de referencia trabaja con 18 px laterales. */
  html body.video-header-layout .featured-jewels-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-carousel {
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    box-sizing: border-box !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid.featured-catalog-grid::-webkit-scrollbar {
    display: none !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item.featured-catalog-item {
    flex: 0 0 calc((100% - 4px) / 2) !important;
    width: calc((100% - 4px) / 2) !important;
    min-width: calc((100% - 4px) / 2) !important;
    max-width: calc((100% - 4px) / 2) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
  }

  /* Igualar el ancho visual de la imagen al usado en Catálogo. */
  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item.featured-catalog-item > img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1.18 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }

  html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item.featured-catalog-item > div {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 0 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  /* El bloque informativo usa exactamente todo el ancho de la tarjeta. */
  html body.video-header-layout .featured-jewels-section #productsGrid .product-detail-disclosure,
  html body.video-header-layout .featured-jewels-section #productsGrid button.catalog-cart {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.video-header-layout .featured-jewels-section .featured-jewels-actions {
    width: calc(100% - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ==========================================================
   AJUSTE FINAL 2026-06-22: tarjetas de producto más compactas
   Reduce de forma uniforme los espacios verticales entre
   referencia, precio, reseñas, disponibilidad y carrito.
   ========================================================== */
html body.catalog-page-body #catalogGrid > article.catalog-item > div {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:2px !important;
  padding-top:7px !important;
  padding-bottom:7px !important;
}
html body.catalog-page-body #catalogGrid .product-card-collapsible,
html body.catalog-page-body #catalogGrid .product-card-collapsible.is-open {
  margin:0 !important;
  padding:0 !important;
}
html body.catalog-page-body #catalogGrid .product-card-collapsible p {
  margin:0 !important;
  padding:0 !important;
  line-height:1.1 !important;
}
html body.catalog-page-body #catalogGrid > article.catalog-item > div > strong {
  margin:0 !important;
  padding:0 !important;
  line-height:1.05 !important;
}
html body.catalog-page-body #catalogGrid .product-reviews {
  margin:0 auto !important;
  padding:0 !important;
  line-height:1 !important;
}
html body.catalog-page-body #catalogGrid .stock-status {
  margin:0 !important;
  padding:0 !important;
  line-height:1.05 !important;
}
html body.catalog-page-body #catalogGrid button.catalog-cart {
  margin-top:1px !important;
}

/* Mismo ajuste para las tarjetas mostradas en la página principal. */
html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:2px !important;
}
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible.is-open,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible p,
html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div > strong,
html body.video-header-layout .featured-jewels-section #productsGrid .product-reviews,
html body.video-header-layout .featured-jewels-section #productsGrid .stock-status {
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* ==========================================================
   CORRECCIÓN DEFINITIVA: bloque inferior sin espacios verticales.
   Se coloca al final para anular cualquier regla heredada anterior.
   ========================================================== */
html body.catalog-page-body #catalogGrid > article.catalog-item > div,
html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div {
  gap: 0 !important;
}

html body.catalog-page-body #catalogGrid > article.catalog-item > div > h3,
html body.catalog-page-body #catalogGrid .product-card-collapsible,
html body.catalog-page-body #catalogGrid .product-card-collapsible.is-open,
html body.catalog-page-body #catalogGrid .product-card-collapsible > *,
html body.catalog-page-body #catalogGrid .product-card-collapsible p,
html body.catalog-page-body #catalogGrid > article.catalog-item > div > strong,
html body.catalog-page-body #catalogGrid .product-reviews,
html body.catalog-page-body #catalogGrid .stock-status,
html body.catalog-page-body #catalogGrid .stock-status span,
html body.catalog-page-body #catalogGrid button.catalog-cart,
html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div > h3,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible.is-open,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible > *,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible p,
html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div > strong,
html body.video-header-layout .featured-jewels-section #productsGrid .product-reviews,
html body.video-header-layout .featured-jewels-section #productsGrid .stock-status,
html body.video-header-layout .featured-jewels-section #productsGrid .stock-status span,
html body.video-header-layout .featured-jewels-section #productsGrid button.catalog-cart {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body.catalog-page-body #catalogGrid .product-card-collapsible,
html body.catalog-page-body #catalogGrid .product-card-collapsible.is-open,
html body.catalog-page-body #catalogGrid .product-card-collapsible p,
html body.catalog-page-body #catalogGrid > article.catalog-item > div > strong,
html body.catalog-page-body #catalogGrid .product-reviews,
html body.catalog-page-body #catalogGrid .stock-status,
html body.catalog-page-body #catalogGrid .stock-status span,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible.is-open,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible p,
html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div > strong,
html body.video-header-layout .featured-jewels-section #productsGrid .product-reviews,
html body.video-header-layout .featured-jewels-section #productsGrid .stock-status,
html body.video-header-layout .featured-jewels-section #productsGrid .stock-status span {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}

html body.catalog-page-body #catalogGrid .product-card-collapsible p,
html body.video-header-layout .featured-jewels-section #productsGrid .product-card-collapsible p {
  display: block !important;
}

html body.catalog-page-body #catalogGrid > article.catalog-item > div > strong,
html body.video-header-layout .featured-jewels-section #productsGrid > article.catalog-item > div > strong {
  transform: translateY(-1px);
}

html body.catalog-page-body #catalogGrid .product-reviews,
html body.video-header-layout .featured-jewels-section #productsGrid .product-reviews {
  transform: translateY(-1px);
}

html body.catalog-page-body #catalogGrid .stock-status,
html body.video-header-layout .featured-jewels-section #productsGrid .stock-status {
  transform: translateY(-2px);
}

html body.catalog-page-body #catalogGrid button.catalog-cart,
html body.video-header-layout .featured-jewels-section #productsGrid button.catalog-cart {
  margin-top: -1px !important;
}


/* ==========================================================
   TIPOGRAFÍA DE TÍTULOS Y SUBTÍTULOS
   Lato | 13px | 700 | tracking 0.025em
   ========================================================== */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body [class*="title"],
html body [class*="subtitle"],
html body [class*="heading"],
html body .section-eyebrow,
html body .catalog-filter-label,
html body .filter-group > label,
html body .product-name,
html body .catalog-item h3,
html body .product-card h3,
html body .sidebar-title,
html body .filter-title-desktop,
html body .footer-column h3,
html body .footer-column h4,
html body .admin-section-title,
html body .panel-title,
html body .form-title {
  font-family:'Lato', sans-serif'Lato', sans-serif !important;
  font-size:13px;
  font-weight: 700 !important;
  letter-spacing:0.025em;
}

/* ==========================================================
   TIPOGRAFÍA DEL MENÚ PRINCIPAL — SOLO ESCRITORIO
   No modifica estilos responsive (tableta/móvil).
   ========================================================== */
@media (min-width: 901px) {
  html body .header-nav > a {
    font-family:'Lato', sans-serif'Lato', sans-serif !important;
    font-size:13px;
    font-weight: 700 !important;
    letter-spacing:0.025em;
  }
}

/* ==========================================================
   TIPOGRAFÍA GLOBAL — TODO EL PROYECTO
   Se limita a propiedades tipográficas; no altera el responsive.
   ========================================================== */
html,
body,
body * {
  font-family:'Lato', sans-serif'Lato', sans-serif !important;
  font-size:13px;
  letter-spacing:0.025em;
}

body input::placeholder,
body textarea::placeholder {
  font-family:'Lato', sans-serif'Lato', sans-serif !important;
  font-size:13px;
  letter-spacing:0.025em;
}


/* TYPOGRAFIA GLOBAL DEFINITIVA - NO MODIFICA BREAKPOINTS NI LAYOUT RESPONSIVE */
html,
body,
button,
input,
select,
textarea,
option,
html body :not(#__lato_global_override__):not(svg):not(path):not(g):not(use) {
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.025em !important;
}

/* Título CATÁLOGO destacado: 23 px solo en escritorio; responsive sin cambios */
@media (min-width: 768px) {
  html body.catalog-page-body #catalogResultsTitle,
  html body.catalog-page-body .catalog-results-head h2#catalogResultsTitle {
    font-family: 'Lato', sans-serif !important;
    font-size: 23px !important;
    letter-spacing: 0.025em !important;
  }
}

/* Título principal del hero "Brilla con elegancia": 23 px solo en escritorio.
   No altera las reglas responsive existentes. */
@media (min-width: 901px) {
  html body.video-header-layout .hero.hero-video .hero-content h1,
  html body.video-header-layout .hero.hero-video .hero-content h1 span {
    font-family: 'Lato', sans-serif !important;
    font-size: 23px !important;
    letter-spacing: 0.025em !important;
  }
}

/* CORRECCIÓN DE PRIORIDAD: título principal del hero a 23 px en escritorio.
   Mantiene intactas todas las reglas responsive existentes. */
@media (min-width: 901px) {
  html body.video-header-layout #inicio .hero.hero-video .hero-content h1,
  html body.video-header-layout #inicio .hero.hero-video .hero-content h1 span {
    font-family: 'Lato', sans-serif !important;
    font-size: 23px !important;
    letter-spacing: 0.025em !important;
  }
}

/* Título del producto en la ventana de detalle: 23 px solo en escritorio.
   No modifica las reglas responsive existentes. */
@media (min-width: 901px) {
  html body.catalog-page-body #productDetailModal #productDetailContent #productDetailTitle.product-detail-title,
  html body.catalog-page-body .product-detail-modal .product-detail-info h2#productDetailTitle {
    font-family: 'Lato', sans-serif !important;
    font-size: 23px !important;
    letter-spacing: 0.025em !important;
    line-height: 1.08;
  }
}

/* AJUSTE DE ESPACIO ENTRE EL MENÚ PRINCIPAL Y EL CATÁLOGO — SOLO ESCRITORIO
   Reduce únicamente el espacio superior señalado; no modifica responsive. */
@media (min-width: 901px) {
  html body.catalog-page-body.video-header-layout .catalog-page-main {
    padding-top: 118px !important;
  }
}


/* GLOBAL BOLD WEIGHT OVERRIDE */
b, strong {
  font-weight: 700 !important;
}


/* ============================================================
   NORMALIZACIÓN GLOBAL DE TODAS LAS NEGRILLAS — 700 EXACTO
   No modifica tamaños, espaciados, distribución ni responsive.
   ============================================================ */
b, strong,
h1, h2, h3, h4, h5, h6,
th,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"],
.bold, .bolder, .font-bold, .fw-bold,
[style*="font-weight: bold"],
[style*="font-weight:bold"],
[style*="font-weight: bolder"],
[style*="font-weight:bolder"],
[style*="font-weight: 600"],
[style*="font-weight:600"],
[style*="font-weight: 650"],
[style*="font-weight:650"],
[style*="font-weight: 800"],
[style*="font-weight:800"],
[style*="font-weight: 850"],
[style*="font-weight:850"],
[style*="font-weight: 900"],
[style*="font-weight:900"],
[style*="font-weight: 950"],
[style*="font-weight:950"] {
  font-weight: 700 !important;
}

/* Ajuste solicitado: títulos de opiniones en 23 px, solo escritorio. */
@media (min-width: 901px) {
  html body .home-reviews-heading .section-eyebrow,
  html body .home-reviews-heading .joyas-title {
    font-size: 23px !important;
  }
}

/* Precio del producto en la ventana de detalle: 23 px solo en escritorio.
   No modifica las reglas responsive existentes. */
@media (min-width: 901px) {
  html body.catalog-page-body #productDetailModal #productDetailContent .product-detail-price,
  html body.catalog-page-body .product-detail-modal .product-detail-info strong.product-detail-price {
    font-family: 'Lato', sans-serif !important;
    font-size: 23px !important;
    letter-spacing: 0.025em !important;
    line-height: 1.15 !important;
  }
}

/* Ajuste responsive: cuadros de especificaciones más compactos en Detalle del producto */
@media (max-width: 820px){
  .product-detail-info{
    gap:8px !important;
    padding-right:0 !important;
  }
  .product-detail-specs{
    grid-template-columns:1fr !important;
    gap:6px !important;
    margin-top:0 !important;
  }
  .product-detail-specs div{
    padding:7px 10px !important;
    min-height:0 !important;
  }
  .product-detail-specs span{
    margin-bottom:2px !important;
    line-height:1.15 !important;
  }
  .product-detail-specs b{
    line-height:1.2 !important;
  }
  .product-detail-description-box{
    padding:8px 10px !important;
  }
}

/* Responsive: selector de talla encima de las categorías en Detalle del producto */
@media (max-width: 820px) {
  #productDetailModal .product-detail-info > .product-detail-size {
    order: 1 !important;
    margin: 0 0 2px !important;
  }

  #productDetailModal .product-detail-info > .product-detail-specs {
    order: 2 !important;
  }

  #productDetailModal .product-detail-info > .product-detail-description-box {
    order: 3 !important;
  }

  #productDetailModal .product-detail-info > .product-detail-cart {
    order: 4 !important;
  }
}

/* Botón de consulta por WhatsApp en Detalle del producto */
.product-detail-whatsapp{
  width:100%;
  min-height:46px;
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid #169c46;
  background:#20a84f;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.product-detail-whatsapp img{
  width:22px;
  height:22px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.product-detail-whatsapp:hover,
.product-detail-whatsapp:focus-visible{
  background:#168f40;
  border-color:#168f40;
  color:#fff;
}
@media (max-width:820px){
  #productDetailModal .product-detail-info > .product-detail-whatsapp{
    order:5 !important;
  }
}

/* Botón verde oficial de WhatsApp en Detalle del producto */
#productDetailModal .product-detail-whatsapp{
  background:#25D366 !important;
  border-color:#25D366 !important;
  color:#fff !important;
  border-radius:6px;
  box-shadow:0 4px 12px rgba(37,211,102,.22);
}
#productDetailModal .product-detail-whatsapp:hover,
#productDetailModal .product-detail-whatsapp:focus-visible{
  background:#1ebe5d !important;
  border-color:#1ebe5d !important;
  color:#fff !important;
}
#productDetailModal .product-detail-whatsapp:active{
  background:#17a84f !important;
  border-color:#17a84f !important;
  transform:translateY(1px);
}

/* =========================================================
   Corrección responsive final: modal de usuario / cliente
   Evita cortes en móviles y pantallas con poca altura.
   ========================================================= */
.account-modal[data-active-view="login"]{
  box-sizing:border-box;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.account-modal[data-active-view="login"] .account-panel{
  box-sizing:border-box;
  width:min(390px, calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}

.account-modal[data-active-view="login"] .auth-reference-card.customer-login-card,
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form,
.account-modal[data-active-view="login"] .auth-card-form.customer-login-form input{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}

@media (max-width:520px){
  .account-modal[data-active-view="login"]{
    padding:10px;
  }
  .account-modal[data-active-view="login"] .account-panel{
    width:100%;
    max-height:calc(100dvh - 20px);
    border-radius:18px;
  }
  .account-modal[data-active-view="login"] .auth-reference-card.customer-login-card{
    padding:22px 16px 16px;
  }
  .account-modal[data-active-view="login"] .account-close{
    top:10px;
    right:10px;
  }
}

/* Pantallas horizontales o de poca altura */
@media (max-height:600px){
  .account-modal[data-active-view="login"]{
    align-items:flex-start;
    padding:8px 12px;
  }
  .account-modal[data-active-view="login"] .account-panel{
    width:min(390px, calc(100vw - 24px));
    max-height:calc(100dvh - 16px);
    margin:auto;
    border-radius:18px;
  }
  .account-modal[data-active-view="login"] .auth-reference-card.customer-login-card{
    padding:16px 18px 14px;
  }
  .account-modal[data-active-view="login"] .auth-card-logo{
    margin-bottom:6px;
  }
  .account-modal[data-active-view="login"] .auth-card-logo img{
    width:128px;
  }
  .account-modal[data-active-view="login"] .auth-card-heading{
    margin-bottom:10px;
  }
  .account-modal[data-active-view="login"] .auth-card-form.customer-login-form{
    gap:8px;
  }
  .account-modal[data-active-view="login"] .auth-card-form.customer-login-form label{
    gap:4px;
  }
  .account-modal[data-active-view="login"] .auth-card-form.customer-login-form input{
    min-height:40px;
    padding:8px 12px;
  }
  .account-modal[data-active-view="login"] .auth-card-link-row{
    margin:0 0 4px;
  }
  .account-modal[data-active-view="login"] .auth-card-actions{
    margin-top:2px;
    gap:8px;
  }
  .account-modal[data-active-view="login"] .auth-card-actions .btn{
    min-height:40px;
  }
}

@media (max-width:520px) and (max-height:600px){
  .account-modal[data-active-view="login"] .auth-card-actions{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:380px){
  .account-modal[data-active-view="login"] .auth-card-actions{
    grid-template-columns:1fr;
  }
}

/* Ajuste responsive: resultados con el mismo ancho de la barra de búsqueda */
.header .header-search-form .header-search-results{
  box-sizing:border-box !important;
}

@media(max-width:560px){
  .header .header-search-form .header-search-results{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}

/* Ajuste móvil: precio al lado de la información del producto */
@media(max-width:560px){
  html body .header-search-result{
    grid-template-columns:60px minmax(0,1fr) auto !important;
    align-items:center !important;
    column-gap:8px !important;
  }

  html body .header-search-result b{
    grid-column:auto !important;
    grid-row:auto !important;
    align-self:center !important;
    justify-self:end !important;
    margin:0 !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }
}

@media(max-width:380px){
  html body .header-search-result{
    grid-template-columns:52px minmax(0,1fr) auto !important;
    gap:6px !important;
    padding:8px 6px !important;
  }

  html body .header-search-result img{
    width:52px !important;
    height:52px !important;
  }

  html body .header-search-result b{
    font-size:11px !important;
  }
}

/* Corrección responsive: la tarjeta del perfil nunca debe sobrepasar el modal */
.account-view,
#customerProfileBox,
.account-user-card,
.account-user-info,
.account-profile-edit-form {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.account-user-info {
  flex: 1 1 auto;
  overflow: hidden;
}

.account-user-info h3,
.account-user-info p {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 560px) {
  .account-panel {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  .account-user-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    padding: 16px;
    overflow: hidden;
  }

  .account-avatar {
    grid-column: 1;
    align-self: start;
  }

  .account-user-info {
    grid-column: 2;
  }

  .account-photo-actions,
  .account-photo-upload,
  .account-photo-remove {
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 380px) {
  .account-user-card {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .account-avatar {
    width: 50px;
    height: 50px;
  }
}

/* Sección de rastreo visible antes de beneficios */
.tracking-copy{min-width:0}
.tracking-icon svg{display:block;width:46px;height:46px}
.tracking-inline-result{display:none;grid-column:1/-1}
.tracking-inline-result.tracking-result{display:block;margin-top:10px}
@media(max-width:900px){
  .tracking-icon{display:flex;justify-content:center}
  .tracking-copy{text-align:center}
  .tracking-form small{text-align:center}
}
@media(max-width:480px){
  .tracking{margin:20px 14px;padding:20px 16px;gap:14px}
  .tracking-form input,.tracking-form button{width:100%;box-sizing:border-box}
}


/* Imagen de envío gratis en la sección de rastreo */
.tracking-shipping-image{
  display:block;
  width:64px;
  height:64px;
  object-fit:contain;
}
@media(max-width:900px){
  .tracking-shipping-image{width:58px;height:58px}
}
@media(max-width:480px){
  .tracking-shipping-image{width:52px;height:52px}
}

/* Carrusel manual de reseñas: sin avance automático */
.home-reviews-grid{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:calc((100% - 40px) / 3) !important;
  grid-template-columns:none !important;
  gap:20px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-inline:contain;
  touch-action:pan-x pan-y;
  padding:4px 4px 18px !important;
  scrollbar-width:none;
}
.home-reviews-grid::-webkit-scrollbar{height:0}
.home-reviews-grid .home-review-card{
  width:auto !important;
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.home-reviews-carousel-controls{
  display:flex !important;
}
.home-reviews-carousel-controls[hidden]{
  display:none !important;
}
.home-reviews-nav{
  display:grid !important;
}
@media(max-width:960px){
  .home-reviews-grid{grid-auto-columns:calc((100% - 20px) / 2) !important}
}
@media(max-width:620px){
  .home-reviews-grid{grid-auto-columns:100% !important}
}


/* ===== Compra de oro / Compramos tus joyas ===== */
.gold-buy-section{padding:84px 5%;background:linear-gradient(135deg,#17130d 0%,#282016 55%,#15120e 100%);color:#fff;scroll-margin-top:96px;position:relative;overflow:hidden}
.gold-buy-section:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(213,174,92,.18);border-radius:50%;right:-150px;top:-190px;box-shadow:0 0 0 55px rgba(213,174,92,.035),0 0 0 110px rgba(213,174,92,.025)}
.gold-buy-shell{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:26px;align-items:stretch;position:relative;z-index:1}
.gold-buy-intro,.gold-buy-table-card,.gold-buy-calculator{border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:32px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px);box-shadow:0 24px 65px rgba(0,0,0,.22)}
.gold-buy-intro{display:flex;flex-direction:column;justify-content:center}
.gold-buy-eyebrow,.gold-buy-card-heading>div>span,.gold-buy-calculator-heading>span{color:#d9b867;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.16em}
.gold-buy-intro h2{font-size:clamp(32px,3vw,48px);line-height:1.05;margin:14px 0 18px;font-weight:900}
.gold-buy-intro>p{color:rgba(255,255,255,.74);line-height:1.72;margin:0 0 26px}
.gold-buy-trust-list{display:grid;gap:12px}.gold-buy-trust-list span{display:flex;gap:10px;align-items:center;font-weight:700;color:rgba(255,255,255,.9)}.gold-buy-trust-list b{color:#d9b867}
.gold-buy-card-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:22px}.gold-buy-card-heading h3,.gold-buy-calculator-heading h3{font-size:25px;margin:5px 0 0}
.gold-buy-live-badge{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#172015;background:#bde7b8;padding:8px 11px;border-radius:999px}
.gold-buy-table-wrap{overflow-x:auto}.gold-buy-table{width:100%;border-collapse:collapse;min-width:420px}.gold-buy-table th{text-align:left;color:rgba(255,255,255,.52);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:0 10px 12px}.gold-buy-table th:last-child,.gold-buy-table td:last-child{text-align:right}.gold-buy-table td{padding:15px 10px;border-top:1px solid rgba(255,255,255,.1);vertical-align:middle}.gold-buy-table td strong{display:block;font-size:16px}.gold-buy-table td:last-child strong{color:#e7c979;font-size:17px}.gold-buy-table td span{display:block;font-size:11px;color:rgba(255,255,255,.54);margin-top:3px}.gold-buy-table-card>small{display:block;color:rgba(255,255,255,.48);margin-top:16px}
.gold-buy-calculator{background:#fff;color:#201b13}.gold-buy-calculator-heading{margin-bottom:23px}.gold-buy-calculator label{display:grid;gap:8px;font-size:13px;font-weight:800;margin-top:15px}.gold-buy-calculator select,.gold-buy-calculator input{width:100%;box-sizing:border-box;border:1px solid #d9d1c3;border-radius:11px;padding:14px 15px;font:inherit;background:#fff;color:#201b13;outline:none}.gold-buy-calculator select:focus,.gold-buy-calculator input:focus{border-color:#a77d29;box-shadow:0 0 0 3px rgba(167,125,41,.12)}
.gold-buy-result{margin:22px 0 16px;padding:20px;border-radius:14px;background:#f6f1e8;border:1px solid #e8dcc7}.gold-buy-result span,.gold-buy-result small{display:block}.gold-buy-result span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#74644a}.gold-buy-result strong{display:block;font-size:31px;margin:7px 0;color:#7d5917}.gold-buy-result small{line-height:1.45;color:#766d61}.gold-buy-whatsapp{width:100%;justify-content:center;box-sizing:border-box}.gold-buy-disclaimer{font-size:11px;line-height:1.55;color:#766f65;margin:16px 0 0}
.gold-buy-admin-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.admin-section-kicker{display:block;color:#9b741f;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:900;margin-bottom:7px}.gold-buy-admin-badge{white-space:nowrap;background:#f1e7cd;color:#765510;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.gold-buy-settings-form{align-items:end}.gold-buy-admin-actions{align-self:end}.gold-buy-admin-preview{margin-top:25px;padding-top:23px;border-top:1px solid #e7e0d4}.gold-buy-admin-preview h3{margin:0 0 14px}.gold-buy-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gold-buy-admin-value{padding:17px;border:1px solid #e4dccf;border-radius:14px;background:#fbf9f5}.gold-buy-admin-value>span,.gold-buy-admin-value>small{display:block}.gold-buy-admin-value>span{font-weight:900}.gold-buy-admin-value span small{font-weight:600;color:#82776a;margin-top:3px}.gold-buy-admin-value strong{display:block;font-size:19px;color:#8b651b;margin:11px 0 4px}.gold-buy-admin-value>small{color:#82776a}.gold-buy-admin-note{font-size:12px;color:#746b60;margin:16px 0 0;line-height:1.55}
@media(max-width:1100px){.gold-buy-shell{grid-template-columns:1fr 1fr}.gold-buy-intro{grid-column:1/-1}.gold-buy-admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.gold-buy-section{padding:58px 16px}.gold-buy-shell{grid-template-columns:1fr}.gold-buy-intro,.gold-buy-table-card,.gold-buy-calculator{padding:24px 20px;border-radius:18px}.gold-buy-intro{grid-column:auto}.gold-buy-admin-heading{display:block}.gold-buy-admin-badge{display:inline-block;margin-top:12px}.gold-buy-admin-grid{grid-template-columns:1fr 1fr}.gold-buy-settings-form{display:block}.gold-buy-admin-actions{margin-top:15px}}
@media(max-width:430px){.gold-buy-admin-grid{grid-template-columns:1fr}.gold-buy-result strong{font-size:27px}}

/* Compra de oro — versión clara sin fondo café */
.gold-buy-section{
  background:#ffffff !important;
  color:#111111 !important;
  border-top:1px solid #eeeeee;
  border-bottom:1px solid #eeeeee;
}
.gold-buy-section:before{
  display:none !important;
}
.gold-buy-intro,
.gold-buy-table-card,
.gold-buy-calculator{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid #e7e7e7 !important;
  box-shadow:0 18px 48px rgba(0,0,0,.08) !important;
  backdrop-filter:none !important;
}
.gold-buy-eyebrow,
.gold-buy-card-heading>div>span,
.gold-buy-calculator-heading>span{
  color:#a97817 !important;
}
.gold-buy-intro>p,
.gold-buy-table th,
.gold-buy-table td span,
.gold-buy-table-card>small{
  color:#666666 !important;
}
.gold-buy-table td{
  border-top:1px solid #ececec !important;
}
.gold-buy-table td:last-child strong{
  color:#a97817 !important;
}
.gold-buy-trust-list li{
  border-color:#e8e8e8 !important;
  background:#fafafa !important;
  color:#222222 !important;
}
.gold-buy-live-badge{
  background:#f7f1e5 !important;
  color:#8a6214 !important;
  border-color:#e8d6ae !important;
}

/* Corrección visual: títulos de confianza en negrita real */
.gold-buy-trust-list span strong{
  font-family:'Lato', Arial, sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  color:#111111 !important;
  line-height:1.35 !important;
}
.gold-buy-trust-list span{
  font-weight:900 !important;
}


/* Título principal centrado sobre la sección de compra de oro */
.gold-buy-section-heading{
  max-width:1280px;
  margin:0 auto 30px;
  text-align:center;
  position:relative;
  z-index:2;
}
.gold-buy-section-heading>span{
  display:block;
  color:#a97817;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.gold-buy-section-heading h2{
  margin:0;
  color:#111111;
  font-family:'Lato',Arial,sans-serif;
  font-size:clamp(28px,3vw,42px);
  font-weight:700;
  line-height:1.15;
  text-align:center;
  text-transform:uppercase;
}
.gold-buy-title-line{
  width:72px;
  height:3px;
  margin:15px auto 0;
  border-radius:999px;
  background:#a97817;
}
.gold-buy-intro h3{
  margin:14px 0 18px;
  color:#111111;
  font-family:'Lato',Arial,sans-serif;
  font-size:clamp(24px,2.2vw,34px);
  font-weight:900;
  line-height:1.12;
}
@media(max-width:720px){
  .gold-buy-section-heading{margin-bottom:22px;padding:0 8px}
  .gold-buy-section-heading h2{font-size:27px}
  .gold-buy-intro h3{font-size:24px}
}

/* Título "Compramos tus joyas de oro": 23 px únicamente en escritorio. */
@media (min-width: 901px) {
  .gold-buy-section-heading h2#goldBuyTitle {
    font-size: 23px !important;
  }
}

/* Ajuste solicitado: todo el texto de la sección Compra de Oro en peso 700. */
.gold-buy-section,
.gold-buy-section * {
  font-weight: 700 !important;
}

/* Beneficios de compra de oro: peso uniforme solicitado. */
.gold-buy-section .gold-buy-trust-list span,
.gold-buy-section .gold-buy-trust-list span strong {
  font-weight: 700 !important;
}

/* Botón de valoración: color oficial de WhatsApp. */
.gold-buy-section .gold-buy-whatsapp,
.gold-buy-section .gold-buy-whatsapp:link,
.gold-buy-section .gold-buy-whatsapp:visited {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.25);
}

.gold-buy-section .gold-buy-whatsapp:hover,
.gold-buy-section .gold-buy-whatsapp:focus-visible {
  background: #1ebe5d !important;
  border-color: #1ebe5d !important;
  color: #ffffff !important;
}

/* Ajuste solicitado: los botones que se oscurecían en hover ahora usan #a97817. */
html body .btn:hover,
html body .btn:focus-visible,
html body .primary:hover,
html body .primary:focus-visible,
html body .outline:hover,
html body .outline:focus-visible,
html body #openCatalogHero:hover,
html body #openCatalogHero:focus-visible,
html body .catalog-actions .btn:hover,
html body .catalog-actions .btn:focus-visible,
html body .catalog-card .btn:hover,
html body .catalog-card .btn:focus-visible,
html body .catalog-cart:hover,
html body .catalog-cart:focus-visible,
html body .catalog-clear:hover,
html body .catalog-clear:focus-visible,
html body .cart-checkout:hover,
html body .cart-checkout:focus-visible,
html body .cart-clear:hover,
html body .cart-clear:focus-visible,
html body .login-submit:hover,
html body .login-submit:focus-visible,
html body .admin-actions .btn:hover,
html body .admin-actions .btn:focus-visible,
html body .admin-header-actions .btn:hover,
html body .admin-header-actions .btn:focus-visible,
html body .tracking-form .btn:hover,
html body .tracking-form .btn:focus-visible,
html body .tracking-form button:hover,
html body .tracking-form button:focus-visible,
html body .menu-preview-see-all:hover,
html body .menu-preview-see-all:focus-visible,
html body .featured-jewels-actions .btn.primary[href="catalogo.html"]:hover,
html body .featured-jewels-actions .btn.primary[href="catalogo.html"]:focus-visible,
html body #openCatalogHero.btn.primary[href="catalogo.html"]:hover,
html body #openCatalogHero.btn.primary[href="catalogo.html"]:focus-visible,
html body .account-actions .btn:hover,
html body .account-actions .btn:focus-visible,
html body .account-wide.btn:hover,
html body .account-wide.btn:focus-visible,
html body .account-form .btn:hover,
html body .account-form .btn:focus-visible {
  background: #a97817 !important;
  border-color: #a97817 !important;
  color: #ffffff !important;
}

/* WhatsApp conserva su verde oficial. */
html body .gold-buy-section .gold-buy-whatsapp:hover,
html body .gold-buy-section .gold-buy-whatsapp:focus-visible {
  background: #1ebe5d !important;
  border-color: #1ebe5d !important;
  color: #ffffff !important;
}

/* Hover dorado para los botones de acceso y registro de usuario. */
html body .customer-login-submit:hover,
html body .customer-login-submit:focus-visible,
html body .customer-register-shortcut:hover,
html body .customer-register-shortcut:focus-visible,
html body #customerRegisterForm button[type="submit"]:hover,
html body #customerRegisterForm button[type="submit"]:focus-visible,
html body .account-tab:hover,
html body .account-tab:focus-visible {
  background: #a97817 !important;
  border-color: #a97817 !important;
  color: #ffffff !important;
}

/* Corrección definitiva: hover dorado en Ingresar y Registrarse del acceso de usuario. */
html body .account-modal[data-active-view="login"] .auth-reference-card .auth-card-form .auth-card-actions button.btn.customer-login-submit:hover,
html body .account-modal[data-active-view="login"] .auth-reference-card .auth-card-form .auth-card-actions button.btn.customer-login-submit:focus-visible,
html body .account-modal[data-active-view="login"] .auth-reference-card .auth-card-form .auth-card-actions button.btn.customer-register-shortcut:hover,
html body .account-modal[data-active-view="login"] .auth-reference-card .auth-card-form .auth-card-actions button.btn.customer-register-shortcut:focus-visible,
html body .account-modal[data-active-view="register"] .register-actions-row button.btn:hover,
html body .account-modal[data-active-view="register"] .register-actions-row button.btn:focus-visible {
  background-color: #a97817 !important;
  background-image: none !important;
  border-color: #a97817 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(169, 120, 23, 0.28) !important;
}

/* Catálogo: color dorado solicitado para los encabezados.
   No afecta el botón "Comprar ahora" de la página de inicio. */
html body.catalog-page-body .catalog-results-head > div:first-child > span,
html body.catalog-page-body #productDetailModal .product-detail-eyebrow {
  color: #a97817 !important;
}

/* =========================================================
   Compra de oro — responsive optimizado para tablet y móvil
   ========================================================= */
@media (min-width: 721px) and (max-width: 1100px) {
  .gold-buy-section {
    padding: 64px 28px !important;
  }

  .gold-buy-section-heading {
    margin-bottom: 26px !important;
  }

  .gold-buy-shell {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }

  .gold-buy-intro {
    grid-column: 1 / -1 !important;
    padding: 28px !important;
  }

  .gold-buy-intro > p {
    max-width: 850px;
    margin-bottom: 22px !important;
  }

  .gold-buy-trust-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px !important;
  }

  .gold-buy-trust-list span {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #ece7dc;
    border-radius: 12px;
    background: #faf8f3;
  }

  .gold-buy-table-card,
  .gold-buy-calculator {
    min-width: 0;
    padding: 24px !important;
  }

  .gold-buy-card-heading {
    gap: 10px !important;
  }

  .gold-buy-card-heading h3,
  .gold-buy-calculator-heading h3 {
    font-size: 21px !important;
    line-height: 1.2;
  }

  .gold-buy-table {
    min-width: 0 !important;
    table-layout: fixed;
  }

  .gold-buy-table th,
  .gold-buy-table td {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  .gold-buy-table th:nth-child(1),
  .gold-buy-table td:nth-child(1) { width: 25%; }
  .gold-buy-table th:nth-child(2),
  .gold-buy-table td:nth-child(2) { width: 24%; }
  .gold-buy-table th:nth-child(3),
  .gold-buy-table td:nth-child(3) { width: 51%; }

  .gold-buy-whatsapp {
    min-height: 48px;
    padding: 13px 14px !important;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
  }
}

@media (max-width: 720px) {
  .gold-buy-section {
    padding: 46px 14px !important;
    scroll-margin-top: 72px;
  }

  .gold-buy-section-heading {
    margin: 0 auto 20px !important;
    padding: 0 8px !important;
  }

  .gold-buy-section-heading > span {
    font-size: 10px !important;
    letter-spacing: .13em !important;
    margin-bottom: 7px !important;
  }

  .gold-buy-section-heading h2,
  .gold-buy-section-heading h2#goldBuyTitle {
    font-size: 24px !important;
    line-height: 1.18 !important;
    text-wrap: balance;
  }

  .gold-buy-title-line {
    width: 58px !important;
    height: 3px !important;
    margin-top: 12px !important;
  }

  .gold-buy-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100%;
  }

  .gold-buy-intro,
  .gold-buy-table-card,
  .gold-buy-calculator {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 21px 17px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.07) !important;
  }

  .gold-buy-intro {
    grid-column: auto !important;
  }

  .gold-buy-eyebrow,
  .gold-buy-card-heading > div > span,
  .gold-buy-calculator-heading > span {
    font-size: 10px !important;
    letter-spacing: .12em !important;
    line-height: 1.35;
  }

  .gold-buy-intro h3 {
    font-size: 23px !important;
    line-height: 1.16 !important;
    margin: 10px 0 12px !important;
  }

  .gold-buy-intro > p {
    font-size: 14px;
    line-height: 1.58 !important;
    margin-bottom: 18px !important;
  }

  .gold-buy-trust-list {
    gap: 9px !important;
  }

  .gold-buy-trust-list span {
    gap: 8px !important;
    padding: 10px 11px;
    border: 1px solid #ece7dc;
    border-radius: 11px;
    background: #faf8f3;
    font-size: 14px !important;
    line-height: 1.3;
  }

  .gold-buy-trust-list span strong {
    font-size: 14px !important;
  }

  .gold-buy-card-heading {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px !important;
    align-items: start !important;
    margin-bottom: 16px !important;
  }

  .gold-buy-card-heading h3,
  .gold-buy-calculator-heading h3 {
    font-size: 20px !important;
    line-height: 1.2 !important;
    margin-top: 4px !important;
  }

  .gold-buy-live-badge {
    align-self: start;
    padding: 6px 8px !important;
    font-size: 9px !important;
    letter-spacing: .05em !important;
  }

  .gold-buy-table-wrap {
    width: 100%;
    overflow-x: visible !important;
  }

  .gold-buy-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
  }

  .gold-buy-table th {
    font-size: 9px !important;
    letter-spacing: .035em !important;
    line-height: 1.2;
    padding: 0 4px 9px !important;
    white-space: normal;
  }

  .gold-buy-table td {
    padding: 11px 4px !important;
    overflow-wrap: anywhere;
  }

  .gold-buy-table th:nth-child(1),
  .gold-buy-table td:nth-child(1) { width: 24%; }
  .gold-buy-table th:nth-child(2),
  .gold-buy-table td:nth-child(2) { width: 22%; }
  .gold-buy-table th:nth-child(3),
  .gold-buy-table td:nth-child(3) { width: 54%; }

  .gold-buy-table td strong {
    font-size: 14px !important;
    line-height: 1.2;
  }

  .gold-buy-table td:last-child strong {
    font-size: 14px !important;
  }

  .gold-buy-table td span {
    font-size: 9px !important;
    line-height: 1.25;
  }

  .gold-buy-table-card > small {
    margin-top: 12px !important;
    font-size: 10px;
    line-height: 1.4;
  }

  .gold-buy-calculator-heading {
    margin-bottom: 16px !important;
  }

  .gold-buy-calculator label {
    margin-top: 13px !important;
    gap: 7px !important;
    font-size: 13px !important;
  }

  .gold-buy-calculator select,
  .gold-buy-calculator input {
    min-height: 48px;
    padding: 12px 13px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
  }

  .gold-buy-result {
    margin: 17px 0 14px !important;
    padding: 17px 15px !important;
    border-radius: 12px !important;
  }

  .gold-buy-result span {
    font-size: 10px !important;
  }

  .gold-buy-result strong {
    font-size: 27px !important;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .gold-buy-result small {
    font-size: 11px;
  }

  .gold-buy-whatsapp {
    display: flex !important;
    width: 100% !important;
    min-height: 50px;
    padding: 13px 12px !important;
    text-align: center;
    white-space: normal !important;
    line-height: 1.25 !important;
    border-radius: 11px !important;
  }

  .gold-buy-disclaimer {
    margin-top: 13px !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 390px) {
  .gold-buy-section {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .gold-buy-section-heading h2,
  .gold-buy-section-heading h2#goldBuyTitle {
    font-size: 22px !important;
  }

  .gold-buy-intro,
  .gold-buy-table-card,
  .gold-buy-calculator {
    padding: 18px 13px !important;
  }

  .gold-buy-card-heading {
    grid-template-columns: 1fr !important;
  }

  .gold-buy-live-badge {
    justify-self: start;
  }

  .gold-buy-table th {
    font-size: 8px !important;
  }

  .gold-buy-table td strong,
  .gold-buy-table td:last-child strong {
    font-size: 13px !important;
  }

  .gold-buy-result strong {
    font-size: 24px !important;
  }
}
