/**
 * ==============================================================================
 * SIGNATURE — TEMA OFICIAL MONTBLANC HAUTE LUXE
 * Estética de Alta Gama: Negro Profundo (#0B0B0B), Blanco Puro (#FFFFFF),
 * Acentos Oro Champaña (#BFA175 / #AA7C11), y Líneas Finas en Platino (#E5E5E5).
 * ==============================================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700&display=swap');

:root {
  /* Paleta Oficial Montblanc / Signature */
  --mb-negro: #0B0B0B;
  --mb-carbon: #181818;
  --mb-antracita: #242424;
  --mb-blanco: #FFFFFF;
  --mb-marfil: #FBFBFA;
  --mb-estudio: #F7F7F6;
  --mb-platino: #E5E5E5;
  --mb-borde-suave: #ECECEB;
  --mb-oro: #BFA175;
  --mb-oro-oscuro: #AA7C11;
  --mb-oro-claro: #D9C39E;
  --mb-texto: #121212;
  --mb-texto-suave: #666666;
  --mb-texto-sutil: #8E8E93;
  --mb-sombra-lujo: 0 12px 36px rgba(0, 0, 0, 0.08);

  /* Sobrescritura de variables globales del sistema */
  --color-primario: var(--mb-negro) !important;
  --color-primario-hover: var(--mb-carbon) !important;
  --color-secundario: var(--mb-oro) !important;
  --color-acento: var(--mb-oro) !important;
  --color-fondo: var(--mb-blanco) !important;
  --color-fondo-suave: var(--mb-marfil) !important;
  --color-texto: var(--mb-texto) !important;
  --color-texto-suave: var(--mb-texto-suave) !important;
  --color-borde: var(--mb-platino) !important;
  --radio-sm: 0px !important;
  --radio-md: 2px !important;
  --radio-lg: 3px !important;
}

/* Tipografía Oficial Signature (Montblanc Grotesque) — Aplicada Universalmente */
html, body, *, *::before, *::after,
h1, h2, h3, h4, h5, h6,
p, span, a, label, strong, em, b, i,
button, input, select, textarea,
.titular, .etiqueta, .subtitulo,
.nav-enlace, .card-prod-titulo, .card-prod-marca, .card-prod-precio,
.filtros-titulo, .tienda-buscador-input, .tienda-buscador-bloque,
.buscador-desplegable-input, .buscador-desplegable-submit,
.catalogo-hero-titulo, .catalogo-hero,
.ficha-titulo, .ficha-precio, .ficha-marca, .ficha-resumen,
summary, details, table, tr, td, th {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}


/* ── BARRA SUPERIOR DE ANUNCIO ───────────────────────────────────────────── */
.barra-aviso {
  background: var(--mb-negro) !important;
  color: #E2E2E2 !important;
  border-bottom: 1px solid #222222 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 8px 0 !important;
}

.barra-aviso a {
  color: var(--mb-oro-claro) !important;
  transition: color 0.2s ease;
}

.barra-aviso a:hover {
  color: #FFFFFF !important;
}

.led-wa {
  background: var(--mb-oro) !important;
  box-shadow: 0 0 6px rgba(191, 161, 117, 0.6) !important;
}

/* ── CABECERA / NAVEGACIÓN ───────────────────────────────────────────────── */
.cabecera {
  background: var(--mb-blanco) !important;
  border-bottom: 1px solid var(--mb-borde-suave) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
}

.cabecera-interior {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.logo img {
  height: 52px !important;
  max-width: 250px !important;
  transition: opacity 0.2s ease;
}

.logo:hover img {
  opacity: 0.85;
}

.nav-principal {
  gap: 1.8rem !important;
}

.nav-enlace {
  font-size: 0.76rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--mb-negro) !important;
  position: relative;
  padding: 8px 2px !important;
  transition: color 0.2s ease !important;
}

.nav-enlace:hover, .nav-enlace.activo {
  color: var(--mb-oro-oscuro) !important;
}

.nav-enlace.activo::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--mb-oro);
}

.nav-panel {
  background: var(--mb-blanco) !important;
  border: 1px solid var(--mb-platino) !important;
  box-shadow: var(--mb-sombra-lujo) !important;
  border-radius: 0px !important;
}

.nav-panel-item strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--mb-negro) !important;
}


.nav-panel-item:hover strong {
  color: var(--mb-oro-oscuro) !important;
}

/* Botones de acción cabecera */
.btn-icono {
  color: var(--mb-negro) !important;
}

.btn-icono:hover {
  color: var(--mb-oro) !important;
  background: transparent !important;
}

.badge-carrito {
  background: var(--mb-negro) !important;
  color: var(--mb-blanco) !important;
  border: 1px solid var(--mb-oro) !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
}

.btn-header-wa {
  background: transparent !important;
  border: 1px solid var(--mb-platino) !important;
  color: var(--mb-negro) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 0px !important;
  transition: all 0.2s ease !important;
}

.btn-header-wa:hover {
  background: var(--mb-negro) !important;
  color: var(--mb-blanco) !important;
  border-color: var(--mb-negro) !important;
}

/* ── CARDS DE PRODUCTO MONTBLANC ─────────────────────────────────────────── */
.card-prod {
  background: var(--mb-blanco) !important;
  border: 1px solid var(--mb-borde-suave) !important;
  border-radius: 0px !important;
  padding: 0 !important;
  transition: all 0.3s ease !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}

.card-prod:hover {
  border-color: #BDBDB8 !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06) !important;
  transform: translateY(-2px) !important;
}

.card-prod-figura {
  background: var(--mb-blanco) !important;
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
  display: block !important;
}

.card-prod-figura a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}

.card-prod-figura img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 18px !important;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease !important;
}

.card-prod-figura img.principal,
.card-prod-figura img.sola {
  opacity: 1 !important;
  z-index: 1 !important;
}

.card-prod-figura img.hover {
  opacity: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.card-prod:hover .card-prod-figura img.principal,
.card-prod:hover .card-prod-figura img.sola {
  opacity: 1 !important;
  transform: scale(1.04) !important;
}

.card-prod:hover .card-prod-figura img.hover {
  opacity: 1 !important;
  transform: scale(1.04) !important;
}

.card-prod-cuerpo {
  padding: 14px 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 8px !important;
  border-top: 1px solid var(--mb-borde-suave) !important;
  background: var(--mb-blanco) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

.card-prod-marca {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--mb-oro-oscuro) !important;
}

.card-prod-titulo {
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  min-height: 2.7em !important;
}

.card-prod-titulo a {
  color: var(--mb-negro) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.card-prod-titulo a:hover {
  color: var(--mb-oro-oscuro) !important;
}

.card-prod-pie {
  margin-top: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-top: 1px dashed var(--mb-borde-suave) !important;
  padding-top: 12px !important;
}

.card-prod-precio {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  color: var(--mb-negro) !important;
  letter-spacing: 0.02em !important;
}

.card-prod-antes {
  font-size: 0.82rem !important;
  color: var(--mb-texto-sutil) !important;
  text-decoration: line-through !important;
  margin-left: 6px !important;
}

.card-prod-add {
  background: var(--mb-negro) !important;
  color: var(--mb-blanco) !important;
  border: none !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 0px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.card-prod-add:hover {
  background: var(--mb-oro) !important;
  color: var(--mb-blanco) !important;
}

/* Insignias de lujo */
.insignia {
  border-radius: 0px !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 4px 8px !important;
}

.insignia-oferta, .insignia-rojo {
  background: var(--mb-negro) !important;
  color: var(--mb-blanco) !important;
  border: 1px solid var(--mb-oro) !important;
}

.insignia-crema {
  background: var(--mb-estudio) !important;
  color: var(--mb-negro) !important;
  border: 1px solid var(--mb-platino) !important;
}

/* ── FICHA DE PRODUCTO DETALLADA (ESTILO BOUTIQUE MONTBLANC) ─────────────── */
.ficha-marca {
  font-size: 0.74rem !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--mb-oro-oscuro) !important;
  font-weight: 600 !important;
}

.ficha-titulo {
  font-size: clamp(1.8rem, 3.2vw, 2.6rem) !important;
  font-weight: 600 !important;
  color: var(--mb-negro) !important;
  line-height: 1.2 !important;
  margin: 0.4rem 0 1rem !important;
}

.ficha-sku {
  font-size: 0.72rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--mb-texto-sutil) !important;
}

.ficha-precio-actual {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 2.1rem !important;
  font-weight: 600 !important;
  color: var(--mb-negro) !important;
}

/* Botones principales de la ficha */
.btn-agregar-carrito {
  background: var(--mb-negro) !important;
  color: var(--mb-blanco) !important;
  border: 1px solid var(--mb-negro) !important;
  border-radius: 0px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 16px 28px !important;
  transition: all 0.25s ease !important;
}

.btn-agregar-carrito:hover {
  background: var(--mb-oro-oscuro) !important;
  border-color: var(--mb-oro-oscuro) !important;
  color: var(--mb-blanco) !important;
  box-shadow: 0 6px 18px rgba(170, 124, 17, 0.25) !important;
}

.btn-asesor-wa {
  background: transparent !important;
  color: var(--mb-negro) !important;
  border: 1px solid var(--mb-negro) !important;
  border-radius: 0px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 14px 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.btn-asesor-wa:hover {
  background: var(--mb-estudio) !important;
  border-color: var(--mb-oro) !important;
  color: var(--mb-oro-oscuro) !important;
}

/* Cuadro de personalización de grabado */
.caja-grabado-lujo {
  background: var(--mb-marfil);
  border: 1px solid var(--mb-platino);
  padding: 18px 20px;
  margin: 20px 0;
}

.caja-grabado-lujo-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.caja-grabado-lujo-header strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--mb-negro);
}

.caja-empaque-lujo {
  background: #111111;
  color: #FFFFFF;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 16px 0;
  border: 1px solid #2B2B2B;
}

/* Acordeones desplegables */
.ficha-plegable {
  border-bottom: 1px solid var(--mb-platino) !important;
}

.ficha-plegable summary {
  padding: 16px 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--mb-negro) !important;
  cursor: pointer !important;
}

.ficha-plegable summary svg {
  color: var(--mb-oro) !important;
}

/* ── FOOTER MONTBLANC ────────────────────────────────────────────────────── */
.pie {
  background: var(--mb-negro) !important;
  color: #CCCCCC !important;
  border-top: 1px solid #222222 !important;
  padding-top: 50px !important;
  padding-bottom: 30px !important;
}

.pie a {
  color: #A0A0A0 !important;
  transition: color 0.2s ease !important;
}

.pie a:hover {
  color: var(--mb-oro) !important;
}

.pie-col-titulo {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--mb-blanco) !important;
  margin-bottom: 1.2rem !important;
}

.pie-boletin-titulo {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: var(--mb-blanco) !important;
  margin-bottom: 0.5rem !important;
}


.pie-boletin-input {
  background: #161616 !important;
  border: 1px solid #333333 !important;
  color: #FFFFFF !important;
  border-radius: 0px !important;
}

.pie-boletin-btn {
  background: var(--mb-blanco) !important;
  color: var(--mb-negro) !important;
  border: none !important;
  border-radius: 0px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  transition: all 0.2s ease !important;
}

.pie-boletin-btn:hover {
  background: var(--mb-oro) !important;
  color: var(--mb-blanco) !important;
}

.barra-garantias-lujo {
  background: #111111;
  border-top: 1px solid #222222;
  border-bottom: 1px solid #222222;
  padding: 30px 0;
  margin-bottom: 40px;
}

/* Ajustes de limpieza total de colores antiguos */
.bg-azul, .text-azul, .color-primario-texto {
  color: var(--mb-negro) !important;
}

/* ── MONTBLANC EXACT HEADER ARCHITECTURE ─────────────────────────────────── */
.mb-notice-bar {
  background: #FFFFFF !important;
  border-bottom: 1px solid #ECECEC !important;
}

.mb-main-header {
  background: #FFFFFF !important;
  border-bottom: 1px solid #EBEBEB !important;
}

.mb-nav-wrapper .nav-enlace {
  color: #222222 !important;
  font-family: 'Montserrat', -apple-system, sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  transition: opacity 0.2s ease !important;
  position: relative;
}

.mb-nav-wrapper .nav-enlace:hover {
  color: #000000 !important;
  opacity: 0.65 !important;
}

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