/** Shopify CDN: Minification failed

Line 223:0 Unexpected "@media"

**/

/* ================================
   TOKENS BÁSICOS
===================================*/
:root {
  --gh-yellow: #ffc028;
  --duvera-bg: #231f27;
  --duvera-card-glow: rgba(0, 0, 0, 0.85);
}

/* Layout general en dos columnas (viewer + sidebar) */
#tda-customizer-app-section-container > div,
#tda-customizer-app-section > div {
  display: flex;
  gap: 32px;
  align-items: stretch;
}

/* Responsivo básico */
@media (max-width: 1024px) {
  #tda-customizer-app-section-container > div,
  #tda-customizer-app-section > div {
    flex-direction: column;
  }
}

/* ================================
   TIPOGRAFÍA GENERAL EN ANGLE
===================================*/
#tda-customizer-app-section-container,
#tda-customizer-app-section-container * {
  color: #ffffff !important;
  text-align: left !important;
}

/* Títulos */
#tda-customizer-app-section-container h1,
#tda-customizer-app-section-container h2,
#tda-customizer-app-section-container h3 {
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

/* ============================================
   ELIMINAR FONDOS INTERNOS — EXCEPTO BOTONES
============================================ */
#tda-customizer-app-section-container *:not(button):not([role="button"]),
#tda-customizer-app-section *:not(button):not([role="button"]),
.tda-customizer-app-section-container *:not(button):not([role="button"]) {
  background-color: transparent !important;
}

/* ============================================
   TIPOGRAFÍA GLOBAL (NO AFECTA BOTONES)
============================================ */
#tda-customizer-app-section-container,
#tda-customizer-app-section,
.tda-customizer-app-section-container {
  color: #ffffff !important;
  text-align: left !important;
}

/* Todos los hijos EXCEPTO botones */
#tda-customizer-app-section-container *:not(button):not([role="button"]),
#tda-customizer-app-section *:not(button):not([role="button"]),
.tda-customizer-app-section-container *:not(button):not([role="button"]) {
  color: #ffffff !important;
  text-align: left !important;
}

/* Inline styles EXCEPTO botones */
#tda-customizer-app-section-container [style]:not(button):not([role="button"]),
#tda-customizer-app-section [style]:not(button):not([role="button"]),
.tda-customizer-app-section-container [style]:not(button):not([role="button"]) {
  color: #ffffff !important;
  text-align: left !important;
}


/* ============================================
   SHADOW DOM — SOLO TEXTO, NO AFECTA CTA
============================================ */
model-viewer::part(label),
model-viewer::part(text),
model-viewer::part(inner),
model-viewer::part(toolbar) {
  color: #ffffff !important;
  text-align: left !important;
}

/* Hover */
button[id^="tda-customizer-footer-atc-btn"]:hover,
button.tda-customizer-footer-atc-btn:hover {
  transform: translateY(-2px) scale(1.03);
  filter: brightness(1.1);
}

/* Active */
button[id^="tda-customizer-footer-atc-btn"]:active,
button.tda-customizer-footer-atc-btn:active {
  transform: translateY(0px) scale(0.97);
  filter: brightness(0.92);
}

/* Asegurar color negro del texto en interiores del botón */
button[id^="tda-customizer-footer-atc-btn"] *,
button.tda-customizer-footer-atc-btn * {
  color: #000000 !important;
}
/* Mantener los botones con su tamaño original (14px) */
.tda-customizer-customization-option-value {
  font-size: 16px !important;
}

/* Mejorar separación entre cada bloque de opción */
.tda-customizer-customization-option {
  padding-top: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
/* Reducir tamaño del texto dentro del valor seleccionado */
.selected-option-value-detail {
  font-size: 16px !important; /* mismo tamaño que los títulos */
  letter-spacing: 1px;
  opacity: 0.85;
}

@media (min-width: 768px) {
  #tda-customizer-controls-container {
    padding: 16px 20px !important;
    gap: 20px !important; /* entre bloques principales */
  }

  .tda-customizer-customization-option {
    margin-bottom: 20px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .tda-customizer-customization-option-title {
    margin-bottom: 6px !important;
  }

  .selected-option-value-detail {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  .tda-customizer-customization-option-values {
    row-gap: 10px !important;
    column-gap: 10px !important;
  }

  .tda-customizer-customization-option:last-of-type {
    margin-bottom: 0 !important;
  }
}
/* Eliminar el margen enorme debajo de cada bloque de opción */
div[id^="tda-customizer-customization-option-"] {
  margin-bottom: 0px !important;
}
/* =======================================================
   CONTENEDOR DEL BOTÓN (wrapper padre)
   - Respeta estados ocultos de TDA
   ======================================================= */
div[id^="tda-customizer-customization-option-value-"]:not([aria-disabled="true"]):not(.is-disabled):not([style*="display: none"]) {
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;

  padding: 0 !important;
  margin: 0 !important;

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

  box-sizing: border-box !important;
}


/* =======================================================
   BOTÓN INTERNO (el que tiene borde y hover)
   ======================================================= */
div[id^="tda-customizer-customization-option-value-"]
  .tda-customizer-customization-option-value {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;

  padding: 0 12px !important; /* horizontal ok, vertical 0 */
  margin: 0 !important;

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

  box-sizing: border-box !important;
  border-radius: 10px !important; /* ajusta si quieres más cuadrado */
}

/* =======================================================
   TEXTO INTERNO (16", 18", 20", NONE, etc.)
   ======================================================= */
div[id^="tda-customizer-customization-option-value-"]
  .tda-customizer-customization-option-value
  span {
  font-size: 12px !important; /* Ajustado al nuevo tamaño compacto */
  line-height: 12px !important; /* Para que nunca se desplace */
  display: block !important;

  text-align: center !important;
  width: 100% !important;
  height: auto !important;
}
----------
/* ===== MOBILE: Todo en una sola línea ===== */
@media (max-width: 767px) {
  /* Contenedor principal de WIDTH, MATERIAL, etc. en modo columna */
  .tda-customizer-customization-option {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* CONTENEDOR QUE AGRUPARÁ VALOR + BOTONES */
  .tda-customizer-customization-option > .gh-inline-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 12px !important;
    margin-top: 4px !important;
  }

  /* Valor seleccionado (16") */
  .selected-option-value-detail-container {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Botones */
  .tda-customizer-customization-option-values {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }
}

/* ==== CREA EL WRAPPER AUTOMÁTICAMENTE ===== */
.tda-customizer-customization-option:not(.gh-wrapped) {
  position: relative;
}
.tda-customizer-customization-option:not(.gh-wrapped)
  .selected-option-value-detail-container,
.tda-customizer-customization-option:not(.gh-wrapped)
  .tda-customizer-customization-option-values {
  display: inline-block !important;
}
.tda-customizer-customization-option:not(.gh-wrapped)::after {
  content: "";
}
----------

--------------
/* Que el wrapper permita sticky correctamente */
.tda-customizer-wrapper,
[class*="tda-customizer-wrapper"] {
  position: relative !important;
  overflow: visible !important;
}

/* Ocultar título del producto */
div[id^="tda-customizer-product-title"] {
  display: none !important;
}

.tda-bundle-variants-unavailable-info{
  display:none;
}
/* =========================================
   EXCEPCIÓN: permitir relleno en selección
========================================= */

/* 1) No fuerces background transparente dentro del chip seleccionado */
#tda-customizer div[id^="tda-customizer-customization-option-value-"][aria-checked="true"] *,
#tda-customizer div[id^="tda-customizer-customization-option-value-"]:has([aria-checked="true"]) *,
#tda-customizer div[id^="tda-customizer-customization-option-value-"][aria-selected="true"] *,
#tda-customizer div[id^="tda-customizer-customization-option-value-"]:has([aria-selected="true"]) * {
  background: unset !important;
  background-color: unset !important;
}

/* 2) Ahora sí: relleno amarillo al “pill” correcto */
#tda-customizer div[id^="tda-customizer-customization-option-value-"][aria-checked="true"],
#tda-customizer div[id^="tda-customizer-customization-option-value-"]:has([aria-checked="true"]),
#tda-customizer div[id^="tda-customizer-customization-option-value-"][aria-selected="true"],
#tda-customizer div[id^="tda-customizer-customization-option-value-"]:has([aria-selected="true"]) {
  background: #ffc028 !important;
  border-color: #ffc028 !important;
  color: #000 !important;
}

/* 3) Texto negro dentro del chip */
#tda-customizer div[id^="tda-customizer-customization-option-value-"][aria-checked="true"] *,
#tda-customizer div[id^="tda-customizer-customization-option-value-"]:has([aria-checked="true"]) *,
#tda-customizer div[id^="tda-customizer-customization-option-value-"][aria-selected="true"] *,
#tda-customizer div[id^="tda-customizer-customization-option-value-"]:has([aria-selected="true"]) * {
  color: #000 !important;
}
/* ================================
   CHIPS DE OPCIÓN (14,16,18, etc.)
===================================*/
/* Estado normal: transparente */
[id*="tda-customizer-customization-option-value"] {
  background: transparent !important;
  border-radius: 14px !important;
  border: 1px solid rgba(237, 204, 18, 0.96) !important;
  padding: 6px 14px !important;
  color: #ffffff !important;
  transition: all 0.25s ease !important;
  cursor: pointer;
}
--------------------------------------------
/* =========================================================
   GALHOR — ANGLE 3D FOOTER (GLASSY + CONVERSION)
   - Desktop: Orden conversion (Precio+Shipping | CTA | Lead time)
   - Mobile: NO reordena layout, solo centra textos + CTA full width
   PÉGALO AL FINAL DE TU CSS
========================================================= */



/* ==============================
   1) GLASSY BAR (TODOS LOS BREAKPOINTS)
============================== */
div[id^="tda-customizer-footer-"].tda-customizer-footer,
.tda-customizer-wrapper .tda-customizer-footer,
[class*="tda-customizer-wrapper"] .tda-customizer-footer{
  position: sticky !important;
  bottom: 12px !important;
  z-index: 999 !important;

  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto 14px auto !important;

  padding: 18px 22px !important;
  border-radius: 22px !important;

  /* Glass */
  background: rgba(12, 12, 18, 0.55) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;

  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55) !important;

  overflow: visible !important;
}

/* Glow sutil */
div[id^="tda-customizer-footer-"].tda-customizer-footer::before,
.tda-customizer-wrapper .tda-customizer-footer::before,
[class*="tda-customizer-wrapper"] .tda-customizer-footer::before{
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: 24px !important;
  pointer-events: none !important;
  z-index: -1 !important;

  background:
    radial-gradient(circle at 12% 0%,
      rgba(255, 192, 40, 0.22),
      rgba(255, 192, 40, 0) 55%),
    linear-gradient(180deg,
      rgba(255,255,255,0.10),
      rgba(255,255,255,0.02));
  box-shadow: 0 20px 70px rgba(0,0,0,0.45) !important;
}

/* Texto siempre legible */
div[id^="tda-customizer-footer-"].tda-customizer-footer,
div[id^="tda-customizer-footer-"].tda-customizer-footer *{
  color: #fff !important;
}

/* CTA (botón) — conversion */
div[id^="tda-customizer-footer-"].tda-customizer-footer button,
div[id^="tda-customizer-footer-"].tda-customizer-footer [role="button"]{
  border-radius: 999px !important;
  padding: 16px 22px !important;

  background: linear-gradient(90deg, #ffc028, #ff9f00) !important;
  color: #000 !important;
  border: none !important;

  font-family: Eurostile, sans-serif !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;

  box-shadow: 0 12px 28px rgba(255, 160, 0, 0.30), 0 10px 24px rgba(0,0,0,0.45) !important;
  cursor: pointer !important;
  transition: transform 0.18s ease, filter 0.18s ease !important;
}

div[id^="tda-customizer-footer-"].tda-customizer-footer button:hover,
div[id^="tda-customizer-footer-"].tda-customizer-footer [role="button"]:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.06) !important;
}

div[id^="tda-customizer-footer-"].tda-customizer-footer button:active,
div[id^="tda-customizer-footer-"].tda-customizer-footer [role="button"]:active{
  transform: translateY(0px) scale(0.99) !important;
  filter: brightness(0.96) !important;
}


/* Reducir 20% títulos del configurador */
h3.tda-customizer-customization-option-title,
.tda-customizer-customization-option-title {
  font-size: 80% !important;
}

/* Reducir 20% valores seleccionados */
span.selected-option-value-detail,
.selected-option-value-detail {
  font-size: 80% !important;
}
/* Reducir valor seleccionado a ~68% del tamaño original (20% + 15%) */
span.selected-option-value-detail,
.selected-option-value-detail {
  font-size: 68% !important;
}


/* ==========================================
   GALHOR – PULSE (LATIDO SUAVE)
========================================== */

@keyframes galhorPulse {
  0% {
    transform: scale(1);
    opacity: 0.85;
  }
  50% {
    transform: scale(1.03);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0.85;
  }
}

/* Aplica el latido SOLO al mensaje */
#galhor-stock-message,
p#galhor-stock-message {
  animation: galhorPulse 2.6s ease-in-out infinite;
  transform-origin: center;
}

/* =========================================================
   GALHOR — CTA NO STICKY + CRECE HACIA ABAJO
   Desktop + Mobile
========================================================= */

/* 1) Quitar cualquier comportamiento sticky/fixed */
div[id^="tda-customizer-footer-"].tda-customizer-footer{
  position: relative !important;   /* clave */
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  z-index: auto !important;

  /* layout */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: center !important;

  /* asegura que crezca hacia abajo */
  margin-top: 8px !important;
  padding-bottom: 8px !important;
}

/* 2) Asegurar que ningún ancestro lo esté fijando */
div[id^="tda-customizer-footer-"].tda-customizer-footer *{
  position: static !important;
}

/* ===== PRECIO (centrado arriba del CTA) ===== */
strong.tda-customizer-variant-price{
  order: 1 !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;

  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

/* ===== CTA ===== */
div[id^="tda-customizer-footer-"].tda-customizer-footer button,
div[id^="tda-customizer-footer-"].tda-customizer-footer [role="button"]{
  order: 2 !important;
  width: 340px !important;
  max-width: 92% !important;
  margin: 0 auto !important;
  position: relative !important;
}

/* ===== TAGLINE DENTRO DEL CTA ===== */
div[id^="tda-customizer-footer-"].tda-customizer-footer button::after,
div[id^="tda-customizer-footer-"].tda-customizer-footer [role="button"]::after{
  content: "FREE SHIPPING INCLUDED";
  display: block;
  margin-top: 1px;

  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .85;
  font-weight: 600;
}

/* ===== MENSAJE DE STOCK ===== */
#galhor-stock-message{
  order: 3 !important;
  font-size: 13px !important;
  opacity: .85 !important;
  margin-top: 2px !important;
  text-align: center !important;
}
.tda-customizer-customization-option:has(
  .tda-customizer-customization-option-title:contains("BRACKET WIDTH")
) {
  display: none !important;
}

/* =========================================================
   FONDO PDP — GENERAL CONFIGURATORS + PLANOS
========================================================= */

/* =========================================================
   GALHOR — FINAL CLEAR GLASS (NEAR CRYSTAL)
========================================================= */

div[id^="tda-customizer-app-section-container-"] {
  background: rgba(80, 120, 150, 0.08) !important; /* casi cristal */

  backdrop-filter: blur(3px) saturate(108%) !important;
  -webkit-backdrop-filter: blur(3px) saturate(108%) !important;

  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;

  box-shadow:
    0 3px 14px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}
/* =========================================================
   FONDO PDP — GC + PLANOS
========================================================= */

body.gc-page{
  background-image: url('/cdn/shop/files/ChatGPT_Image_10_oct_2025_10_16_51.png?v=1760115024');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
  background-color: #000;
  min-height: 100vh;
}
/* === OCULTAR selected option detail SOLO EN MOBILE === */
@media (max-width: 768px) {
  div[id^="swiper-selected-option-value-detail-container-"] {
    display: none !important;
  }
}
/* ============================================
   MOBILE — Ajuste perfecto en teléfonos
   ============================================ */
@media (max-width: 2000px) {
  [id^="tda-customizer-app-section-container"],
  [id^="tda-customizer-customization-options-container"],
  [id^="tda-model-viewer"],
  [id^="tda-customizer-section-container"],
  [id^="tda-customizer-app-section-wrapper"] {
    width: 100% !important;
    max-width: 100vw !important;
    padding-left: 0.1px !important;
    padding-right: 0.1px !important;
  }
}

/* ============================================
   MOBILE · casi full-width pero sin romper el centrado
   + SUBIR CONTENEDOR (integrado)
   ============================================ */
@media (max-width: 768px) {
  div[id^="tda-customizer-app-section-container"] {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 2px !important;
    padding-right: 2px !important;

    /* SUBIR CONTENEDOR */
    transform: translateY(-40px) !important;  /* ajusta: -20, -40, -80 */
  }

  .tda-customizer-app-section {
    padding-left: 0 !important;
    padding-right: 0 !important;

    /* Por si el espacio lo controla este bloque */
    transform: translateY(-60px) !important;  /* comenta esta línea si no hace falta */
  }
}

button.tda-accordion {
  font-size: 12px !important;
  text-align: left !important;
  align-items: flex-start !important;
}

/* padding-bottom no acepta negativos; usa margin si quieres “subir” el contenido */
button.tda-accordion {
  margin-bottom: -10px !important; /* ajusta o elimina si no lo necesitas */
}
/* ============================================
   MOBILE: Sticky real (sin fixed) para CHOOSE MATERIAL
   Pega el footer al fondo del panel del customizer
   SIN crear espacio extra debajo.
   ============================================ */
@media (max-width: 768px){

  /* Importante: sticky necesita un contenedor con scroll.
     Esto asegura que el área del customizer sea el “scroll container”. */
  div[id^="tda-customizer-app-section-wrapper"],
  div[id^="tda-customizer-app-section-container"],
  div[id^="tda-customizer-section-container"]{
    overflow: visible !important; /* evita que sticky se corte */
  }

  /* Haz sticky SOLO el footer del customizer */
  .tda-customizer-footer{
    position: sticky !important;
    bottom: 0 !important;         /* sticky al fondo */
    z-index: 9999 !important;

    /* fondo para que se vea como barra */
    background: rgba(0,0,0,0.88) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    /* safe area iPhone */
    padding-bottom: calc(env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Asegura ancho completo del carrusel */
  .tda-customizer-footer .gh-material-carousel-wrap{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* Quita márgenes/paddings que pueden “inventar” espacio debajo */
  .tda-customizer-footer{
    margin-bottom: 0 !important;
  }
}
