.elementor-14436 .elementor-element.elementor-element-63254952{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14436 .elementor-element.elementor-element-4474bb64{--display:flex;}.elementor-14436 .elementor-element.elementor-element-8259381{--display:flex;}.elementor-14436 .elementor-element.elementor-element-1830be4e .elementor-menu-toggle{margin:0 auto;}.elementor-14436 .elementor-element.elementor-element-2d094ae8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14436 .elementor-element.elementor-element-57e6f6a5.elementor-menu-cart--cart-type-mini-cart .elementor-menu-cart__container{right:0;left:auto;transform:none;}.elementor-14436 .elementor-element.elementor-element-57e6f6a5{--divider-style:solid;--subtotal-divider-style:solid;--elementor-remove-from-cart-button:none;--remove-from-cart-button:block;--cart-border-style:none;--cart-footer-layout:1fr 1fr;--products-max-height-sidecart:calc(100vh - 240px);--products-max-height-minicart:calc(100vh - 385px);}.elementor-14436 .elementor-element.elementor-element-57e6f6a5 .widget_shopping_cart_content{--subtotal-divider-left-width:0;--subtotal-divider-right-width:0;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for woocommerce-menu-cart, class: .elementor-element-57e6f6a5 *//* ================================
   3. HEADER
   Estructura: header-global > 
   header-logo | dot-magenta | header-nav | header-cta
================================ */

/* Ocultar título de página y footer nativos de Hello */
.elementor-page .page-header { display: none !important; }
.site-footer { display: none !important; }

/* Sticky del header via CSS (refuerzo) */
.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 999;
}

/* Container raíz */
.header-global {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  background: #0a0818 !important;
  border-bottom: 1px solid rgba(255, 77, 126, 0.4);
  min-height: 100px;
  align-items: center !important;
  padding: 10px 36px !important;
  box-sizing: border-box;
  gap: 0 !important;
}

/* ---- LOGO ---- */
.header-logo {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  padding: 0 !important;
  min-width: 0 !important;
}

.header-logo img {
  width: 140px !important;
  height: auto;
  display: block;
}

/* ---- DOT MAGENTA ---- */
/* El widget HTML del dot es hijo directo de header-global */
.header-global > .elementor-widget-html {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 8px !important;
}

.dot-magenta {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4d7e;
  box-shadow: 0 0 0 0 rgba(255, 77, 126, 0.7);
  animation: pulse-dot 2s infinite;
  flex-shrink: 0;
}

@keyframes pulse-dot {
  0%   { box-shadow: 0 0 0 0 rgba(255, 77, 126, 0.7); }
  70%  { box-shadow: 0 0 0 8px rgba(255, 77, 126, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 77, 126, 0); }
}

/* ---- MENÚ ---- */
.header-nav {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: auto !important;
  padding: 0 !important;
}

/* Resetear estilos que mete Elementor al nav-menu */
.header-nav .elementor-nav-menu--main {
  display: flex;
  align-items: center;
}

.header-nav .elementor-nav-menu {
  display: flex !important;
  flex-direction: row !important;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-nav .elementor-nav-menu > li {
  display: flex;
  align-items: center;
}

.header-nav .elementor-nav-menu a.elementor-item {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 8px 12px !important;
  white-space: nowrap;
  position: relative;
  transition: color 0.3s;
}

/* Línea animada debajo del item */
.header-nav .elementor-nav-menu a.elementor-item::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 12px;
  right: 12px;
  height: 1px;
  background: #00e5ff;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.header-nav .elementor-nav-menu a.elementor-item:hover,
.header-nav .elementor-nav-menu a.elementor-item-active {
  color: #00e5ff !important;
}

.header-nav .elementor-nav-menu a.elementor-item:hover::after,
.header-nav .elementor-nav-menu a.elementor-item-active::after {
  transform: scaleX(1);
}

/* Ocultar el underline que añade Elementor por defecto */
.header-nav .e--pointer-underline .elementor-item:after,
.header-nav .e--pointer-underline .elementor-item:before {
  display: none !important;
}

/* ---- BOTÓN CTA ---- */
.header-cta {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  padding: 0 !important;
}

.header-cta .elementor-button {
  font-family: 'Unbounded', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0a0818 !important;
  background: #ff4d7e !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  box-shadow: 0 0 16px rgba(255, 77, 126, 0.5) !important;
  text-decoration: none !important;
  transition: background 0.3s, box-shadow 0.3s !important;
  border: none !important;
  white-space: nowrap;
  display: inline-block;
}

.header-cta .elementor-button:hover {
  background: #ffd166 !important;
  box-shadow: 0 0 28px rgba(255, 209, 102, 0.7) !important;
}

/* ---- HAMBURGUESA MÓVIL ---- */
.header-global .elementor-menu-toggle {
  color: #ff4d7e !important;
}

.header-global .elementor-menu-toggle:hover {
  color: #ffd166 !important;
}

/* Menú desplegable móvil */
.header-nav .elementor-nav-menu--dropdown {
  background: #0d0b1e !important;
  border-top: 1px solid rgba(255, 77, 126, 0.3);
}

.header-nav .elementor-nav-menu--dropdown a.elementor-item {
  color: rgba(255, 255, 255, 0.8) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 14px 20px !important;
}

.header-nav .elementor-nav-menu--dropdown a.elementor-item:hover {
  color: #00e5ff !important;
  background: rgba(0, 229, 255, 0.05) !important;
}

/* ── Header carrito — evitar que se estreche ── */
.menu-toggle-icon.elementor-widget-woocommerce-menu-cart {
    flex-shrink: 0 !important;
}

.menu-toggle-icon .elementor-menu-cart__toggle .elementor-button {
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}

.menu-toggle-icon .elementor-button-text,
.menu-toggle-icon .elementor-button-icon {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .header-global {
    padding: 0 16px !important;
  }

  /* En móvil el menú horizontal se oculta,
     el hamburguesa lo gestiona Elementor */
  .header-nav .elementor-nav-menu--main {
    display: none;
  }
}/* End custom CSS */