/* Cat-logo brand system: JB TECH neón controlado + JB Parfums editorial. */
.brand-name-sr {
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.brand-logo-image {
  display:block;width:clamp(168px,23vw,280px);max-width:100%;max-height:58px;height:auto;object-fit:contain;
  filter:drop-shadow(0 3px 9px rgba(0,116,255,.12));
}
.site-header:not(.admin-header) .brand { min-width:0; }
body:not(.perfume-page):not(.admin-body) .site-header:not(.admin-header) {
  border-bottom-color:rgba(0,153,255,.19);box-shadow:0 5px 22px rgba(25,65,125,.07);
}
body:not(.perfume-page):not(.admin-body) .hero {
  background:radial-gradient(circle at 85% 24%,rgba(0,213,255,.13),transparent 34%),
    radial-gradient(circle at 72% 75%,rgba(139,92,246,.10),transparent 31%),
    linear-gradient(118deg,#fbfdff 0%,#eff6ff 59%,#f5f0ff 100%);
}
body:not(.perfume-page):not(.admin-body) .hero h1 span {
  background:linear-gradient(100deg,#087cf2 0%,#00bfe8 38%,#4c50f4 70%,#8b45ea 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero-ctas { display:flex;flex-wrap:wrap;align-items:center;gap:10px; }
.hero-ctas>.button { min-height:45px; }
body:not(.perfume-page):not(.admin-body) .hero-ctas .button-primary {
  background:linear-gradient(105deg,#00bfe8 0%,#2864ff 58%,#7c3aed 100%);border-color:transparent;color:#fff;
  box-shadow:0 5px 0 #263cb2,0 10px 24px rgba(49,94,232,.20),0 0 22px rgba(0,213,255,.12);
}
body:not(.perfume-page):not(.admin-body) .hero-ctas .button-primary:hover {
  filter:saturate(1.12) brightness(1.04);box-shadow:0 4px 0 #263cb2,0 13px 28px rgba(49,94,232,.24),0 0 28px rgba(0,213,255,.2);
}
body:not(.perfume-page):not(.admin-body) .hero-whatsapp-button {
  border:1px solid rgba(49,94,232,.34);color:#213b81;background:rgba(255,255,255,.8);box-shadow:0 5px 15px rgba(24,48,98,.06);
}
body:not(.perfume-page):not(.admin-body) .hero-image-frame {
  border-color:rgba(0,187,255,.32);box-shadow:0 16px 42px rgba(23,48,111,.15),0 0 26px rgba(0,213,255,.08);
}
body:not(.perfume-page):not(.admin-body) .product-card {
  border-color:#dce7f6;box-shadow:0 7px 20px rgba(22,43,89,.045);
}
body:not(.perfume-page):not(.admin-body) .product-card:hover {
  border-color:rgba(0,174,255,.72);box-shadow:0 7px 0 rgba(50,86,210,.12),0 15px 28px rgba(36,64,129,.12),0 0 18px rgba(0,213,255,.08);
}
body:not(.perfume-page):not(.admin-body) .product-view-button {
  background:linear-gradient(105deg,#00bfe8 0%,#2864ff 58%,#7c3aed 100%);border-color:transparent;color:#fff;box-shadow:0 3px 0 #263cb2;
}
body:not(.perfume-page):not(.admin-body) .product-view-button:hover { filter:saturate(1.1) brightness(1.05); }
html[data-theme="dark"] body:not(.perfume-page):not(.admin-body) .hero {
  background:radial-gradient(circle at 82% 25%,rgba(0,213,255,.11),transparent 32%),
    radial-gradient(circle at 70% 80%,rgba(124,58,237,.13),transparent 34%),
    linear-gradient(118deg,#0b1427 0%,#101c36 58%,#16152e 100%);
}
html[data-theme="dark"] body:not(.perfume-page):not(.admin-body) .hero-whatsapp-button {
  color:#eaf4ff;border-color:rgba(0,213,255,.36);background:rgba(8,22,41,.78);
}
/* JB Parfums: el favicon blanco y dorado aprobado se conserva por separado. */
.perfume-brand-logo { display:block;width:clamp(184px,25vw,272px);max-width:100%;max-height:62px;height:auto;object-fit:contain; }
.perfume-footer .perfume-brand-logo { width:235px;max-height:54px; }
.perfume-hero-actions { display:flex;flex-wrap:wrap;align-items:center;gap:10px; }
.perfume-hero-actions>a { min-height:45px; }
.perfume-cross-promo-emblem img { display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit; }
.perfume-page .perfume-dialog-actions .perfume-outline-link { white-space:normal;line-height:1.35;overflow-wrap:anywhere; }
@media(max-width:600px) {
  .site-header:not(.admin-header)>.brand-logo-image,.site-header:not(.admin-header)>.brand .brand-logo-image { width:min(206px,55vw);max-height:47px; }
  .site-header:not(.admin-header) .brand { gap:3px; }
  .site-footer .footer-brand .brand-logo-image { width:min(230px,68vw); }
  body.perfume-page .site-header.perfume-header>.perfume-brand .perfume-brand-logo { width:min(198px,54vw);max-height:46px; }
  body.perfume-page .perfume-footer .perfume-brand-logo { width:min(220px,70vw);max-height:50px; }
  .hero-ctas,.perfume-hero-actions { align-items:stretch; }
  .hero-ctas>.button,.perfume-hero-actions>a { flex:1 1 100%;width:100%; }
}
@media(max-width:380px) {
  .site-header:not(.admin-header)>.brand .brand-logo-image { width:min(172px,51vw); }
  body.perfume-page .site-header.perfume-header>.perfume-brand .perfume-brand-logo { width:min(174px,49vw); }
}
@media(prefers-reduced-motion:reduce) {
  body:not(.admin-body) *,body:not(.admin-body) *::before,body:not(.admin-body) *::after {
    scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;
  }
}


/* =========================================================
   VISTA COMPLETA DE PRODUCTO — JB TECH + JB PARFUMS
   ========================================================= */
.product-detail-page,
.perfume-detail-page {
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 18px clamp(14px, 3.2vw, 38px) 52px;
}
.product-detail-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 18px;
}
.product-detail-topbar > span {
  color: #7b879d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-align: right;
}
.product-detail-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid #dce4f3;
  border-radius: 10px;
  color: #2b3f68;
  background: #fff;
  box-shadow: 0 2px 0 #e6ecf7;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.product-detail-back:hover {
  border-color: #9bb0e0;
  background: #f8faff;
}
main.is-product-detail-view > :not(#product-detail-page),
main.is-perfume-detail-view > :not(#perfume-detail-page) {
  display: none !important;
}
body.product-detail-active .site-footer,
body.perfume-detail-active .perfume-footer {
  display: none !important;
}
body.perfume-detail-active .perfume-header-nav {
  display: none !important;
}
.product-detail-page .dialog-layout {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  overflow: hidden;
  border: 1px solid #dce4f3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(18, 30, 67, .09);
}
.product-detail-page .dialog-image {
  min-height: 440px;
  align-self: stretch;
}
.product-detail-page .dialog-image img {
  max-height: 600px;
  padding: clamp(18px, 3vw, 38px);
}
.product-detail-page .dialog-detail {
  padding: clamp(22px, 3.2vw, 44px);
}
.product-detail-page .dialog-detail h2 {
  margin: 7px 0 18px;
  font-size: clamp(25px, 3vw, 36px);
  overflow-wrap: anywhere;
}
.product-detail-page .dialog-product-description {
  margin-top: 18px;
  line-height: 1.7;
}
.product-detail-page .product-contact-actions {
  display: grid;
  gap: 10px;
  margin: 20px 0;
}
.product-detail-page .product-contact-actions > * {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.product-detail-page .payment-choice-panel {
  margin-bottom: 20px;
}
.perfume-detail-page {
  max-width: 1280px;
}
.perfume-detail-page .product-detail-back {
  border-color: var(--perfume-border);
  border-radius: 2px;
  color: var(--perfume-ink);
  background: var(--perfume-card);
  box-shadow: none;
}
.perfume-detail-page .product-detail-topbar > span {
  color: var(--perfume-gold);
}
.perfume-detail-page .perfume-dialog-layout {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  border: 1px solid var(--perfume-border);
  background: var(--perfume-paper);
}
.perfume-detail-page .perfume-dialog-main-image {
  height: clamp(320px, 48vw, 590px);
}
.perfume-detail-page .perfume-dialog-detail {
  padding: clamp(18px, 2.6vw, 35px) 0;
}
.perfume-detail-page .perfume-dialog-notes {
  padding-top: 0;
}
@media (max-width: 760px) {
  .product-detail-page,
  .perfume-detail-page {
    padding: 12px 12px 30px;
  }
  .product-detail-topbar {
    align-items: flex-start;
    margin-bottom: 13px;
  }
  .product-detail-topbar > span {
    max-width: 42%;
    padding-top: 8px;
    font-size: 9px;
    line-height: 1.5;
  }
  .product-detail-back {
    min-height: 40px;
    padding: 9px 11px;
    font-size: 12px;
  }
  .product-detail-page .dialog-layout,
  .perfume-detail-page .perfume-dialog-layout {
    grid-template-columns: minmax(0, 1fr);
    border-radius: 13px;
  }
  .product-detail-page .dialog-image {
    min-height: 280px;
  }
  .product-detail-page .dialog-image img {
    max-height: 370px;
    padding: 16px;
  }
  .product-detail-page .dialog-detail {
    padding: 22px 17px 25px;
  }
  .product-detail-page .dialog-detail h2 {
    font-size: clamp(23px, 6vw, 30px);
  }
  .perfume-detail-page .perfume-dialog-layout {
    gap: 13px;
    padding: 14px;
  }
  .perfume-detail-page .perfume-dialog-main-image {
    height: clamp(290px, 82vw, 430px);
  }
  .perfume-detail-page .perfume-dialog-main-image img {
    padding: 8px;
  }
  .perfume-detail-page .perfume-dialog-detail {
    padding: 8px 0 12px;
  }
  .perfume-detail-page .perfume-dialog-notes {
    grid-template-columns: minmax(0, 1fr);
    padding: 0 14px 16px;
  }
  .perfume-detail-page .perfume-dialog-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* AJUSTES DE VISTA DE PRODUCTO TRAS PRUEBA REAL EN MÓVIL
   Mantener las opciones compactas y separar la galería de miniaturas. */
.product-detail-page #variant-options-area .variant-selector { display:grid; gap:12px; }
.product-detail-page #variant-options-area .variant-option-group {
  min-width:0; padding:12px 14px; border-radius:13px; box-shadow:none;
}
.product-detail-page #variant-options-area .variant-option-group h3 { margin-bottom:10px; font-size:18px; }
.product-detail-page #variant-options-area .variant-choice-list {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
.product-detail-page #variant-options-area .variant-choice[data-variant-dimension="configuration"] {
  display:inline-flex; flex:0 1 auto; align-items:center; justify-content:center;
  width:auto; min-width:0; min-height:40px; margin:0; padding:9px 13px;
  border:1px solid #d7e0f1; border-radius:9px; color:#283c63; background:#f7f9ff;
  box-shadow:none; font-size:14px; line-height:1.3; transform:none;
}
.product-detail-page #variant-options-area .variant-choice[data-variant-dimension="configuration"].selected {
  border-color:#536de2; color:#263e8c; background:#edf1ff; box-shadow:inset 0 -2px 0 #536de2;
}
.product-detail-page #variant-options-area .variant-option-color-group {
  padding:3px 0 0; border:0; border-radius:0; background:transparent; box-shadow:none;
}
.product-detail-page #variant-options-area .variant-choice.color-choice,
.product-detail-page #variant-options-area .variant-choice.color-choice:hover,
.product-detail-page #variant-options-area .variant-choice.color-choice.selected {
  display:inline-flex !important; flex:0 0 auto !important; flex-direction:row !important;
  align-items:center !important; justify-content:flex-start !important; gap:8px !important;
  width:auto !important; min-width:0 !important; max-width:100% !important; min-height:0 !important;
  margin:0 !important; padding:5px 7px !important; border:1px solid transparent !important;
  border-radius:8px !important; color:var(--text,#24365f) !important;
  background:transparent !important; box-shadow:none !important; font-size:14px !important;
  line-height:1.25 !important; transform:none !important;
}
.product-detail-page #variant-options-area .variant-choice.color-choice:hover { background:rgba(83,109,226,.07) !important; }
.product-detail-page #variant-options-area .variant-choice.color-choice:focus-visible {
  outline:2px solid rgba(83,109,226,.7) !important; outline-offset:2px !important;
}
.product-detail-page #variant-options-area .variant-color-dot {
  display:block !important; flex:0 0 24px !important; width:24px !important; height:24px !important;
  min-width:24px !important; min-height:24px !important; padding:0 !important; margin:0 !important;
  box-sizing:border-box !important; border:1px solid rgba(20,30,50,.22) !important; border-radius:50% !important;
}
.product-detail-page #variant-options-area .variant-choice.color-choice.selected .variant-color-dot {
  outline:2px solid #536de2 !important; outline-offset:2px !important; box-shadow:none !important;
}
.product-detail-page #variant-options-area .variant-color-name {
  display:inline !important; width:auto !important; max-width:none !important; padding:0 !important;
  color:inherit !important; font-size:14px !important; font-weight:650 !important; line-height:1.3 !important;
  text-align:left !important; white-space:nowrap !important; overflow-wrap:normal !important; word-break:normal !important;
}
/* La columna de fotos tiene una altura controlada; las miniaturas tienen su
   propia fila y nunca se dibujan encima de la imagen principal. */
.product-detail-page .dialog-layout { align-items:start; }
.product-detail-page #dialog-image {
  display:grid !important; grid-template-rows:minmax(0,1fr) 54px !important;
  align-content:stretch !important; align-items:stretch !important; justify-items:stretch !important;
  gap:7px !important; width:100% !important; height:min(66vh,590px) !important;
  min-height:0 !important; max-height:min(66vh,590px) !important; padding:12px !important;
  box-sizing:border-box !important; overflow:hidden !important;
}
.product-detail-page #dialog-image .dialog-gallery-main {
  display:grid !important; place-items:center !important; width:100% !important; height:100% !important;
  min-width:0 !important; min-height:0 !important; max-height:100% !important; flex:initial !important;
  overflow:hidden !important;
}
.product-detail-page #dialog-image .dialog-image-zoom {
  display:grid !important; place-items:center !important; width:100% !important; height:100% !important;
  min-width:0 !important; min-height:0 !important; margin:0 !important; padding:0 !important;
  border:0 !important; border-radius:0 !important; background:transparent !important;
  box-shadow:none !important; overflow:hidden !important;
}
.product-detail-page #dialog-image .dialog-gallery-main .dialog-main-image {
  display:block !important; width:100% !important; height:100% !important; min-width:0 !important;
  min-height:0 !important; max-width:100% !important; max-height:100% !important; margin:0 !important;
  padding:8px !important; box-sizing:border-box !important; object-fit:contain !important; object-position:center !important;
}
.product-detail-page #dialog-image .dialog-gallery-thumbs {
  display:flex !important; flex:0 0 54px !important; flex-wrap:nowrap !important; align-items:center !important;
  justify-content:center !important; gap:7px !important; width:100% !important; min-width:0 !important;
  min-height:0 !important; max-height:54px !important; margin:0 !important; padding:2px 3px !important;
  box-sizing:border-box !important; overflow-x:auto !important; overflow-y:hidden !important; overscroll-behavior-x:contain;
}
.product-detail-page #dialog-image .dialog-gallery-thumb {
  position:relative !important; display:grid !important; place-items:center !important; flex:0 0 44px !important;
  width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important;
  max-height:44px !important; margin:0 !important; padding:3px !important; box-sizing:border-box !important; overflow:hidden !important;
}
.product-detail-page #dialog-image .dialog-gallery-thumbs img {
  display:block !important; width:100% !important; height:100% !important; min-width:0 !important;
  min-height:0 !important; max-width:100% !important; max-height:100% !important; margin:0 !important;
  padding:0 !important; box-sizing:border-box !important; object-fit:contain !important; object-position:center !important;
}
.perfume-detail-page .perfume-dialog-layout { align-items:start; }
.perfume-detail-page .perfume-dialog-gallery { width:100%; min-width:0; }
.perfume-detail-page .perfume-dialog-main-image {
  width:100%; height:clamp(320px,42vw,470px); min-height:0; max-height:min(66vh,520px);
  aspect-ratio:auto; box-sizing:border-box;
}
.perfume-detail-page .perfume-dialog-main-image img {
  display:block; width:100%; height:100%; min-width:0; min-height:0; max-width:100%;
  max-height:100%; padding:9px; box-sizing:border-box; object-fit:contain; object-position:center;
}
.perfume-detail-page .perfume-dialog-thumbnails {
  display:flex; flex-wrap:nowrap; align-items:center; gap:7px; max-width:100%;
  margin-top:8px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
}
.perfume-detail-page .perfume-dialog-thumb {
  flex:0 0 48px; width:48px; min-width:48px; height:48px; min-height:48px; padding:3px; box-sizing:border-box;
}
.perfume-detail-page .perfume-dialog-thumb img {
  display:block; width:100%; height:100%; min-width:0; min-height:0; padding:0; object-fit:contain;
}
@media (max-width:760px) {
  .product-detail-page #variant-options-area .variant-option-group { padding:10px 11px; }
  .product-detail-page #variant-options-area .variant-option-group h3 { margin-bottom:8px; font-size:17px; }
  .product-detail-page #variant-options-area .variant-option-color-group { padding:1px 0 0; }
  .product-detail-page #variant-options-area .variant-choice[data-variant-dimension="configuration"] {
    min-height:38px; padding:8px 11px; font-size:13px;
  }
  .product-detail-page #variant-options-area .variant-choice.color-choice,
  .product-detail-page #variant-options-area .variant-choice.color-choice:hover,
  .product-detail-page #variant-options-area .variant-choice.color-choice.selected { gap:8px !important; padding:4px 5px !important; }
  .product-detail-page #variant-options-area .variant-color-dot {
    flex-basis:22px !important; width:22px !important; height:22px !important; min-width:22px !important; min-height:22px !important;
  }
  .product-detail-page #variant-options-area .variant-color-name { font-size:13px !important; }
  .product-detail-page #dialog-image {
    grid-template-rows:minmax(0,1fr) 50px !important; gap:5px !important;
    height:clamp(300px,82vw,410px) !important; max-height:410px !important; padding:9px !important;
  }
  .product-detail-page #dialog-image .dialog-gallery-thumbs {
    flex-basis:50px !important; max-height:50px !important; justify-content:flex-start !important;
  }
  .product-detail-page #dialog-image .dialog-gallery-thumb {
    flex-basis:42px !important; width:42px !important; min-width:42px !important;
    height:42px !important; min-height:42px !important; max-height:42px !important;
  }
  .perfume-detail-page .perfume-dialog-layout { gap:12px; padding:12px; }
  .perfume-detail-page .perfume-dialog-main-image { height:clamp(230px,70vw,330px); max-height:none; }
  .perfume-detail-page .perfume-dialog-main-image img { padding:7px; }
  .perfume-detail-page .perfume-dialog-thumbnails { justify-content:flex-start; }
  .perfume-detail-page .perfume-dialog-detail { padding:0 0 10px; }
  .perfume-detail-page .perfume-dialog-notes { padding:0 12px 14px; }
}

/* HEADER: flecha compacta junto al selector de tema en las fichas individuales. */
.site-header:not(.admin-header) > .product-detail-header-back {
  position:absolute;
  left:max(16px,3vw);
  top:50%;
  z-index:4;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #cfd9ed;
  border-radius:50%;
  color:#31436a;
  background:rgba(255,255,255,.82);
  box-shadow:0 2px 0 rgba(38,57,96,.12);
  font:inherit;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  transform:translateY(-50%);
}
.site-header:not(.admin-header) > .product-detail-header-back[hidden] { display:none !important; }
.site-header:not(.admin-header) > .product-detail-header-back:hover {
  border-color:#7186d9;
  color:#263fa1;
}
html[data-theme="dark"] .site-header:not(.admin-header) > .product-detail-header-back {
  border-color:#3c4f78;
  color:#e5edff;
  background:#172442;
  box-shadow:0 2px 0 #080f20;
}
html[data-theme="dark"] body.perfume-page .site-header > .product-detail-header-back {
  border-color:var(--perfume-border);
  color:var(--perfume-ink);
  background:var(--perfume-card);
  box-shadow:none;
}
@media(max-width:760px) {
  .site-header:not(.admin-header) > .product-detail-header-back {
    left:10px;
    width:36px;
    height:36px;
    font-size:21px;
  }
}

/* Flechas para cambiar fotos en la ficha, además del deslizamiento táctil. */
.product-detail-page .dialog-gallery-main,
.perfume-detail-page .perfume-dialog-main-image { position:relative; }
.product-detail-page .dialog-gallery-main { touch-action:pan-y; }
.product-detail-page .dialog-gallery-nav,
.perfume-detail-page .perfume-gallery-nav {
  position:absolute;
  top:50%;
  z-index:5;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin:0;
  padding:0 0 3px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:50%;
  color:#26365c;
  background:rgba(255,255,255,.91);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  font-family:Arial,sans-serif;
  font-size:29px;
  line-height:1;
  cursor:pointer;
  transform:translateY(-50%);
  transition:background .16s,border-color .16s,opacity .16s;
}
.product-detail-page .dialog-gallery-prev,
.perfume-detail-page .perfume-gallery-prev { left:10px; }
.product-detail-page .dialog-gallery-next,
.perfume-detail-page .perfume-gallery-next { right:10px; }
.product-detail-page .dialog-gallery-nav:hover,
.perfume-detail-page .perfume-gallery-nav:hover {
  border-color:#7a8be5;
  background:#fff;
}
.perfume-detail-page .perfume-dialog-main-image { touch-action:pan-y; }
.perfume-detail-page .perfume-gallery-nav {
  border-color:rgba(185,148,84,.7);
  color:#34281a;
  background:rgba(255,253,248,.92);
}
@media(max-width:760px) {
  .product-detail-page .dialog-gallery-nav,
  .perfume-detail-page .perfume-gallery-nav { width:32px; height:32px; font-size:26px; }
  .product-detail-page .dialog-gallery-prev,
  .perfume-detail-page .perfume-gallery-prev { left:6px; }
  .product-detail-page .dialog-gallery-next,
  .perfume-detail-page .perfume-gallery-next { right:6px; }
}

/* CONTRASTE DEL MODO OSCURO: la ficha ya no está dentro de .product-dialog. */
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-layout {
  border-color:#34466b !important;
  background:#101a30 !important;
  box-shadow:0 12px 34px rgba(0,0,0,.26) !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-detail {
  color:#e8efff !important;
  background:#101a30 !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-detail h2,
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-detail h3,
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-detail b,
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-detail .product-category,
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-detail .product-price {
  color:#edf3ff !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-detail p,
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-specs,
html[data-theme="dark"] body.product-detail-active .product-detail-page .product-price-label,
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-selected-summary > span:first-child {
  color:#aebfdd !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-selected-summary strong {
  color:#e9efff !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #dialog-image {
  border-color:#34466b !important;
  background:linear-gradient(135deg,#172442,#152039) !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #dialog-image .dialog-main-image,
html[data-theme="dark"] body.product-detail-active .product-detail-page #dialog-image .dialog-gallery-thumbs img {
  mix-blend-mode:normal !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-option-group:not(.variant-option-color-group) {
  border-color:#34466b !important;
  color:#e7eeff !important;
  background:linear-gradient(135deg,#121f39,#162541) !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-option-group h3 {
  color:#e2eaff !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-choice[data-variant-dimension="configuration"] {
  border-color:#3a4f7b !important;
  color:#e2eaff !important;
  background:#172644 !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-choice[data-variant-dimension="configuration"].selected {
  border-color:#8498ff !important;
  color:#ffffff !important;
  background:#293e77 !important;
  box-shadow:inset 0 -2px 0 #94a5ff !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-option-color-group,
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-choice.color-choice,
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-choice.color-choice:hover,
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-choice.color-choice.selected {
  color:#e6edff !important;
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-choice.color-choice:hover {
  background:rgba(145,164,255,.10) !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page #variant-options-area .variant-color-dot {
  border-color:#7b8aab !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-price-box {
  border-color:#35496f !important;
  color:#e8efff !important;
  background:linear-gradient(125deg,#162644,#202341) !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-price-box span,
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-price-box small {
  color:#aebfe0 !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-price-box strong {
  color:#b8caff !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-status-badge.available {
  color:#a7f0d0 !important;
  background:#143d35 !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-status-badge.order {
  color:#ffdda0 !important;
  background:#49351d !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .variant-status-badge.unavailable {
  color:#ffc1c1 !important;
  background:#4a232c !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-color-card {
  border-color:#34466b !important;
  color:#e8efff !important;
  background:#131f37 !important;
}
html[data-theme="dark"] body.product-detail-active .product-detail-page .dialog-color-info a {
  color:#b7c7ff !important;
}

/* Perfumería respeta su paleta propia en la vista completa y ambas variantes de tema. */
.perfume-detail-page .perfume-dialog-layout {
  color:var(--perfume-ink);
  background:var(--perfume-paper);
}
.perfume-detail-page .perfume-dialog-main-image {
  position:relative;
  overflow:hidden;
  background:var(--perfume-card);
}
.perfume-detail-page .perfume-dialog-thumb { background:var(--perfume-card); }

/* Wordmark de JB TECH con contraste correcto sobre cabeceras oscuras. */
body.technology-catalog .brand-logo-dark { display:none !important; }
html[data-theme="dark"] body.technology-catalog .brand-logo-light { display:none !important; }
html[data-theme="dark"] body.technology-catalog .brand-logo-dark { display:block !important; }

/* Ajustes de seguimiento: controles en el espacio lateral y precio visible sin scroll extra. */
.product-detail-page #dialog-image .dialog-gallery-main {
  position:relative !important;
  overflow:visible !important;
}
.product-detail-page #dialog-image .dialog-gallery-nav {
  top:50% !important;
  transform:translateY(-50%) !important;
}
.product-detail-page #dialog-image .dialog-gallery-prev { left:clamp(8px,2vw,24px) !important; }
.product-detail-page #dialog-image .dialog-gallery-next { right:clamp(8px,2vw,24px) !important; }
@media(max-width:760px) {
  .product-detail-page #dialog-image .dialog-gallery-main {
    overflow:visible !important;
  }
  .product-detail-page #dialog-image .dialog-gallery-prev { left:4px !important; }
  .product-detail-page #dialog-image .dialog-gallery-next { right:4px !important; }
  .product-detail-page #dialog-image .dialog-gallery-nav {
    width:30px !important;
    height:30px !important;
    font-size:24px !important;
  }
  .product-detail-page .dialog-detail { padding:16px 14px 20px !important; }
  .product-detail-page .dialog-detail h2 {
    margin:4px 0 12px !important;
    font-size:clamp(23px,5.6vw,29px) !important;
    line-height:1.15 !important;
  }
  .product-detail-page #variant-options-area .variant-selector { gap:8px !important; }
  .product-detail-page #variant-options-area .variant-option-group {
    padding:9px 11px !important;
    border-radius:11px !important;
  }
  .product-detail-page #variant-options-area .variant-option-group h3 {
    margin-bottom:7px !important;
    font-size:16px !important;
  }
  .product-detail-page #variant-options-area .variant-choice-list { gap:6px !important; }
  .product-detail-page #variant-options-area .variant-choice[data-variant-dimension="configuration"] {
    min-height:35px !important;
    padding:7px 10px !important;
    font-size:13px !important;
  }
  .product-detail-page .variant-bottom-row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(110px,.82fr) !important;
    align-items:stretch !important;
    gap:8px !important;
    margin-top:12px !important;
  }
  .product-detail-page .variant-selected-summary {
    min-width:0 !important;
    padding:8px 0 !important;
    gap:4px !important;
  }
  .product-detail-page .variant-selected-summary strong {
    font-size:14px !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere !important;
  }
  .product-detail-page .variant-selected-summary > span:first-child { font-size:11px !important; }
  .product-detail-page .variant-price-box {
    min-width:0 !important;
    align-self:stretch !important;
    padding:10px !important;
    gap:4px !important;
    border-radius:10px !important;
  }
  .product-detail-page .variant-price-box > span { font-size:11px !important; }
  .product-detail-page .variant-price-box > strong {
    font-size:clamp(18px,5vw,23px) !important;
    line-height:1.1 !important;
    overflow-wrap:anywhere !important;
  }
  .product-detail-page .variant-price-box > small { font-size:11px !important; }
}
@media(max-width:370px) {
  .product-detail-page .variant-bottom-row {
    grid-template-columns:minmax(0,1fr) minmax(100px,.78fr) !important;
    gap:6px !important;
  }
  .product-detail-page .variant-price-box { padding:8px !important; }
}

/* Corrección definitiva: las flechas ocupan carriles laterales propios,
   no se superponen sobre la fotografía. */
.product-detail-page #dialog-image .dialog-gallery-main {
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) 36px !important;
  grid-template-rows:minmax(250px,1fr) !important;
  align-items:center !important;
  justify-items:stretch !important;
  gap:8px !important;
  width:100% !important;
  height:auto !important;
  min-height:280px !important;
  max-height:none !important;
  overflow:visible !important;
}
.product-detail-page #dialog-image .dialog-gallery-main .dialog-image-zoom {
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
}
.product-detail-page #dialog-image .dialog-gallery-main .dialog-main-image {
  width:100% !important;
  height:100% !important;
  max-height:clamp(280px,55vw,590px) !important;
  object-fit:contain !important;
}
.product-detail-page #dialog-image .dialog-gallery-main .dialog-gallery-nav {
  position:static !important;
  inset:auto !important;
  grid-row:1 !important;
  align-self:center !important;
  justify-self:center !important;
  transform:none !important;
  margin:0 !important;
  width:32px !important;
  height:32px !important;
  padding:0 0 2px !important;
  font-size:25px !important;
}
.product-detail-page #dialog-image .dialog-gallery-main .dialog-gallery-prev {
  grid-column:1 !important;
}
.product-detail-page #dialog-image .dialog-gallery-main .dialog-gallery-next {
  grid-column:3 !important;
}
@media(max-width:760px) {
  .product-detail-page #dialog-image .dialog-gallery-main {
    grid-template-columns:28px minmax(0,1fr) 28px !important;
    grid-template-rows:minmax(250px,1fr) !important;
    gap:4px !important;
    min-height:270px !important;
  }
  .product-detail-page #dialog-image .dialog-gallery-main .dialog-gallery-nav {
    width:28px !important;
    height:28px !important;
    font-size:22px !important;
  }
  .product-detail-page #dialog-image .dialog-gallery-main .dialog-main-image {
    max-height:clamp(260px,65vw,370px) !important;
    padding:4px !important;
  }
}

/* JB PARFUMS: encabezado centrado en la ficha, con la flecha en su propio carril. */
body.perfume-detail-active .site-header.perfume-header {
  position:relative;
}
body.perfume-detail-active .site-header.perfume-header > .perfume-brand {
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:min(272px,calc(100% - 132px));
  margin:0;
  transform:translate(-50%,-50%);
  display:flex;
  justify-content:center;
}
body.perfume-detail-active .site-header.perfume-header > .perfume-brand .perfume-brand-logo {
  width:100%;
  max-width:100%;
  max-height:54px;
  object-fit:contain;
}
body.perfume-detail-active .site-header.perfume-header > .product-detail-header-back {
  left:16px;
  z-index:4;
}
@media(max-width:600px) {
  body.perfume-detail-active .site-header.perfume-header > .perfume-brand {
    width:calc(100% - 126px);
  }
  body.perfume-detail-active .site-header.perfume-header > .product-detail-header-back {
    left:12px;
  }
}

/* JB Parfums: sobriedad editorial, evitando el degradado morado genérico. */
body.perfume-page .perfume-product-card .perfume-view-button,
body.perfume-page .perfume-view-button {
  color:#33291b !important;
  background:linear-gradient(145deg,#f8f3e8 0%,#e9dcc0 100%) !important;
  border:1px solid #b99b63 !important;
  box-shadow:0 3px 0 #8d7040,0 7px 16px rgba(76,57,27,.10) !important;
  border-radius:5px !important;
  font-weight:700;
  letter-spacing:.015em;
}
body.perfume-page .perfume-product-card .perfume-view-button:hover,
body.perfume-page .perfume-view-button:hover {
  color:#20190f !important;
  background:linear-gradient(145deg,#fffaf0 0%,#e5d1a7 100%) !important;
  border-color:#9f8049 !important;
  filter:none !important;
}
html[data-theme="dark"] body.perfume-page .perfume-product-card .perfume-view-button,
html[data-theme="dark"] body.perfume-page .perfume-view-button {
  color:#f5e8c9 !important;
  background:linear-gradient(145deg,#302719 0%,#4b3a20 100%) !important;
  border-color:#b99b63 !important;
  box-shadow:0 3px 0 #17130d,0 7px 16px rgba(0,0,0,.22) !important;
}

/* Las insignias de perfumería se presentan en una franja independiente encima de la fotografía. */
