/* En Balance 100 — unificación estética glass del cascarón (header + inicio)
   Escala de espaciado Fibonacci: 8 · 13 · 21 · 34 · 55 · 89 */

:root{
  --fib-1:8px; --fib-2:13px; --fib-3:21px; --fib-4:34px; --fib-5:55px; --fib-6:89px;
  --g-bg:rgba(255,255,255,.38);
  --g-bd:rgba(255,255,255,.8);
  --g-sh:0 12px 40px rgba(31,41,42,.10), inset 0 1px 0 rgba(255,255,255,.75);
  --g-blur:blur(36px) saturate(180%);
  --ink:#161514; --mut:#6b6864; --teal:#2b98a5; --coral:#c96a3f;
}

/* ============ 1. HEADER: un solo sistema ============ */
body.home #header,
body.woocommerce-page #header{
  background:rgba(255,255,255,.42) !important;
  backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);
  border-bottom:1px solid rgba(255,255,255,.6);
  box-shadow:0 var(--fib-1) var(--fib-4) rgba(31,41,42,.05);
}

/* --- buscador: pastilla de cristal, no caja gris pegada --- */
.dgwt-wcas-search-wrapp{max-width:520px;}
.dgwt-wcas-sf-wrapp{
  background:rgba(255,255,255,.45) !important;
  backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);
  border:1px solid rgba(255,255,255,.75) !important;
  border-radius:999px !important;
  box-shadow:0 var(--fib-1) var(--fib-3) rgba(31,41,42,.06);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.dgwt-wcas-sf-wrapp:focus-within{
  border-color:rgba(43,152,165,.55) !important;
  box-shadow:0 0 0 3px rgba(59,191,206,.16);
}
input.dgwt-wcas-search-input{
  background:transparent !important;border:none !important;
  font-family:'Albert Sans',system-ui,sans-serif !important;
  font-size:14px !important;color:var(--ink) !important;
  padding:var(--fib-2) var(--fib-3) !important;height:auto !important;
}
input.dgwt-wcas-search-input::placeholder{color:#9c9892 !important;}
.dgwt-wcas-search-submit{
  background:transparent !important;border:none !important;
  color:var(--ink) !important;box-shadow:none !important;
}
.dgwt-wcas-search-submit:hover{background:rgba(22,21,20,.05) !important;}

/* --- "Inicia sesión" / "Suscríbete": chips de cristal --- */
.elementor-element-bed7964 .elementor-icon-list-items{gap:var(--fib-1);}
.elementor-element-bed7964 .elementor-icon-list-item{
  background:rgba(255,255,255,.42);
  backdrop-filter:blur(18px) saturate(165%);-webkit-backdrop-filter:blur(18px) saturate(165%);
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  padding:var(--fib-1) var(--fib-2) !important;
  transition:background .22s ease, transform .18s ease;
}
.elementor-element-bed7964 .elementor-icon-list-item:hover{
  background:rgba(255,255,255,.62);transform:translateY(-1px);
}
.elementor-element-bed7964 .elementor-icon-list-text{
  font-size:12.5px !important;font-weight:600 !important;color:var(--ink) !important;
}
.elementor-element-bed7964 .elementor-icon-list-icon svg,
.elementor-element-bed7964 .elementor-icon-list-icon i{color:var(--teal) !important;}

/* --- menú principal: pastillas discretas --- */
.jkit-menu-container{
  display:inline-flex;
  background:rgba(255,255,255,.35);
  backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  padding:var(--fib-1) var(--fib-2);
}
ul.jkit-menu > li > a{
  font-family:'Albert Sans',system-ui,sans-serif !important;
  font-size:14px !important;font-weight:600 !important;
  color:var(--ink) !important;
  padding:var(--fib-1) var(--fib-2) !important;
  border-radius:999px;
  transition:background .2s ease, color .2s ease;
}
ul.jkit-menu > li > a:hover,
ul.jkit-menu > li.current-menu-item > a{
  background:rgba(22,21,20,.06);color:var(--ink) !important;
}

/* ============ 2. INICIO: categorías ============ */
/* la tarjeta completa flota en cristal, no un cuadro blanco pegado */
body.home .elementor-image-box-wrapper{
  background:var(--g-bg) !important;
  backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);
  border:1px solid var(--g-bd);
  border-radius:var(--fib-3);
  padding:var(--fib-3) !important;
  box-shadow:var(--g-sh);
  transition:transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s ease;
  height:100%;
}
body.home .elementor-image-box-wrapper:hover{
  transform:translateY(-8px);
  box-shadow:0 var(--fib-3) var(--fib-5) rgba(31,41,42,.14), inset 0 1px 0 rgba(255,255,255,.8);
}
body.home .elementor-image-box-img{margin-bottom:var(--fib-2) !important;}
body.home .elementor-image-box-img img{border-radius:var(--fib-2);}
body.home .elementor-image-box-title{
  font-size:16px !important;font-weight:700 !important;
  letter-spacing:-.012em;margin-bottom:var(--fib-1) !important;
}

/* --- "Haz clic aquí" → enlace de texto discreto, no botón turquesa --- */
body.home .elementor-element-3b729e3 .elementor-button,
body.home .elementor-element-3b729e3 a.elementor-button-link{
  background:transparent !important;
  background-color:transparent !important;
  color:var(--teal) !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  font-size:13.5px !important;font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  border-radius:0 !important;
}
body.home .elementor-element-3b729e3 .elementor-button::after{
  content:" →";transition:transform .2s ease;display:inline-block;
}
body.home .elementor-element-3b729e3 .elementor-button:hover{color:#3bbfce !important;}

/* ============ 3. Cinta "TODOS LOS PRODUCTOS · 15% OFF" ============ */
.elbzotech-list-link-global-inline{
  font-family:'Albert Sans',system-ui,sans-serif !important;
}
.elbzotech-list-link-global-inline .item-link .title{
  font-family:'Albert Sans',system-ui,sans-serif !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:var(--mut) !important;
}
.elbzotech-list-link-global-inline .item-link i,
.elbzotech-list-link-global-inline .item-link svg{
  color:var(--teal) !important;fill:var(--teal) !important;
  opacity:.7;
}

/* ============ 4. Tarjetas de producto: botón fuera de la foto ============ */
.eb-cards .product-thumb{overflow:visible !important;}
.eb-cards .product-thumb > a img{border-radius:var(--fib-2);}

/* el + se mueve (por JS) al bloque de texto y fluye en línea */
.eb-cards .action-buttons{
  position:static !important;
  background:transparent !important;
  box-shadow:none !important;
  margin:var(--fib-2) 0 0 !important;padding:0 !important;
  display:flex !important;justify-content:flex-end;
  opacity:1 !important;transform:none !important;
}
.eb-cards .product-info{padding-right:0 !important;}

/* fuera los iconos sueltos (corazón, ojo, comparar) */
.eb-cards .product-extra-link,
.eb-cards .wishlist-link,
.eb-cards .compare-link,
.eb-cards .product-compare,
.eb-cards .shopengine-quickview-trigger,
.eb-cards [class*="shopengine_add_to_list"],
.eb-cards [class*="shopengine_comparison"]{display:none !important;}

/* ritmo Fibonacci dentro de la tarjeta */
.eb-cards .item-product{padding:var(--fib-2) !important;}
.eb-cards .product-info{padding-top:var(--fib-2) !important;}

/* --- ajustes finos --- */
/* la lupa va absoluta a la izquierda: deja aire para el texto */
input.dgwt-wcas-search-input{padding-left:var(--fib-5) !important;}
.dgwt-wcas-search-submit{
  width:var(--fib-4) !important;height:var(--fib-4) !important;
  border-radius:50% !important;display:flex !important;
  align-items:center;justify-content:center;
}
/* los chips de sesión en una sola línea */
.elementor-element-bed7964 .elementor-icon-list-items{
  flex-wrap:nowrap !important;justify-content:flex-end;
}
.elementor-element-bed7964 .elementor-icon-list-item{white-space:nowrap;}

/* el contenedor de la foto deja de ser ancla: así el + se posiciona
   respecto a la TARJETA y cae en la zona de texto, no sobre la imagen */
.eb-cards .product-thumb{position:static !important;}
.eb-cards .item-product{position:relative !important;}

/* --- fila de categorías: misma altura, botón siempre abajo --- */
body.home .elementor-element-3b729e3 .e-con-inner,
body.home .elementor-element-3b729e3 > .e-con-inner{align-items:stretch;}
body.home .elementor-element-3b729e3 .elementor-widget-button{margin-top:auto;}
body.home .elementor-element-3b729e3 .elementor-widget-button .elementor-widget-container{
  padding-top:var(--fib-2);
}
body.home .elementor-image-box-description{
  font-size:13px !important;color:var(--mut) !important;margin-bottom:var(--fib-2) !important;
}

/* ==========================================================
   MEGA MENÚ de "Tienda": categorías reales en vez de
   Carrito / Checkout / Mi cuenta, que ya están como iconos.
   ========================================================== */
.jkit-menu li.menu-item-13476 > ul.sub-menu{
  display:grid;
  grid-template-columns:repeat(2,minmax(210px,1fr));
  gap:2px 13px;
  padding:21px;
  min-width:520px;
  border-radius:34px;
  background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(36px) saturate(180%);
  backdrop-filter:blur(36px) saturate(180%);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 21px 55px rgba(31,42,38,.16),inset 0 1px 0 rgba(255,255,255,.8);
}
.jkit-menu li.menu-item-13476 > ul.sub-menu > li{width:auto;border:0;}
.jkit-menu li.menu-item-13476 > ul.sub-menu > li > a{
  display:flex !important;align-items:center;justify-content:space-between;gap:13px;
  padding:10px 13px !important;border-radius:13px;
  font-size:14.5px;font-weight:550;color:#161514 !important;
  border:0 !important;background:transparent;
  transition:background .24s;
}
.jkit-menu li.menu-item-13476 > ul.sub-menu > li > a:hover{background:rgba(255,255,255,.72);}

/* el número de productos, inyectado por CSS desde functions.php */
.jkit-menu li.menu-item-13476 .eb-mm-cat > a::after{
  font-size:12px;font-variant-numeric:tabular-nums;color:rgba(22,21,20,.45);
  background:rgba(22,21,20,.07);border-radius:999px;padding:2px 8px;flex:none;
}

.jkit-menu li.menu-item-13476 .eb-mm-todos{grid-column:1 / -1;}
.jkit-menu li.menu-item-13476 .eb-mm-todos > a{
  font-weight:700 !important;
  border-top:1px solid rgba(22,21,20,.1) !important;
  border-radius:0 !important;margin-top:8px;padding-top:16px !important;
}

/* "Paquetes" va destacado: es el ticket más alto del catálogo */
.jkit-menu li.menu-item-13476 .eb-mm-feat{grid-column:1 / -1;}
.jkit-menu li.menu-item-13476 .eb-mm-feat > a{
  flex-direction:column !important;align-items:flex-start !important;gap:3px !important;
  margin-top:8px;padding:16px !important;border-radius:21px !important;
  font-weight:700 !important;
  background:linear-gradient(150deg,rgba(182,230,208,.6),rgba(248,220,192,.55));
  border:1px solid rgba(255,255,255,.72) !important;
}
.jkit-menu li.menu-item-13476 .eb-mm-feat > a::after{
  font-size:12.5px;font-weight:500;color:#6b6864;background:none;padding:0;
}
@media (max-width:1024px){
  .jkit-menu li.menu-item-13476 > ul.sub-menu{
    grid-template-columns:1fr;min-width:0;padding:13px;border-radius:21px;
  }
}

/* ==========================================================
   MENÚ MÓVIL
   El panel salía como un óvalo con los textos cortados: mi propia
   regla de las píldoras del menú de escritorio (border-radius:999px
   + overflow) se estaba aplicando también al panel desplegable.
   ========================================================== */
@media (max-width:1024px){
  .jkit-menu-container{
    border-radius:0 !important;
    width:100% !important;
    max-width:none !important;
    padding:13px 13px 21px !important;
    overflow:visible !important;
    border:0 !important;
    box-shadow:0 21px 55px rgba(31,42,38,.16) !important;
    background:rgba(255,255,255,.72) !important;
    -webkit-backdrop-filter:blur(36px) saturate(180%);
    backdrop-filter:blur(36px) saturate(180%);
  }
  .jkit-menu{width:100% !important;margin:0 !important;overflow:visible !important;}
  .jkit-menu > li{width:100% !important;}
  .jkit-menu > li > a{
    padding:13px 16px !important;
    border-radius:13px !important;
    font-size:16px !important;
    color:#161514 !important;
  }
  /* El botón de cerrar era un cuadro verde del tema. */
  .jkit-close-menu{
    width:40px !important;height:40px !important;
    display:inline-flex !important;align-items:center;justify-content:center;
    border-radius:999px !important;
    background:rgba(255,255,255,.6) !important;
    border:1px solid rgba(255,255,255,.72) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
    color:#161514 !important;
  }
  .jkit-close-menu i,.jkit-close-menu svg{color:#161514 !important;}
  /* Categorías dentro del desplegable móvil */
  .menu-item-13476 .eb-mm-cat > a,
  .menu-item-13476 .eb-mm-todos > a,
  .menu-item-13476 .eb-mm-feat > a{font-size:15px !important;}
}

/* ==========================================================
   PÁGINA 404 — halos y salidas
   ========================================================== */
body.error404{
  background:
    radial-gradient(46rem 30rem at 8% -6%, #cdeadd 0%, transparent 62%),
    radial-gradient(40rem 28rem at 96% 4%, #f8e2cd 0%, transparent 60%),
    radial-gradient(38rem 26rem at 82% 52%, #d3e9f2 0%, transparent 60%),
    radial-gradient(34rem 24rem at 4% 74%, #e8dff5 0%, transparent 58%),
    radial-gradient(44rem 30rem at 50% 108%, #cdeadd 0%, transparent 60%),
    #eef4f0;
  background-attachment:fixed;
}
.eb-404-wrap{padding:55px 0 89px;}
.eb-404{
  max-width:640px;margin:0 auto;text-align:center;
  padding:55px 34px;border-radius:34px;
  background:rgba(255,255,255,.5);
  -webkit-backdrop-filter:blur(36px) saturate(180%);
  backdrop-filter:blur(36px) saturate(180%);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 21px rgba(31,42,38,.13),inset 0 1px 0 rgba(255,255,255,.8);
}
.eb-404-cod{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.2em;color:#2b8f9c;}
.eb-404-t{margin:0 0 13px;font-size:clamp(24px,4vw,34px);font-weight:700;letter-spacing:-.02em;color:#161514;line-height:1.15;}
.eb-404-d{margin:0 auto 21px;max-width:46ch;font-size:15px;line-height:1.6;color:#6b6864;}
.eb-404-buscar{display:flex;gap:8px;max-width:420px;margin:0 auto 34px;}
.eb-404-buscar input[type=search]{
  flex:1;min-width:0;height:48px;padding:0 21px;border-radius:999px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.66);
  font-size:15px;color:#161514;outline:none;
}
.eb-404-buscar button{
  flex:none;height:48px;padding:0 21px;border:0;border-radius:999px;cursor:pointer;
  background:rgba(22,21,20,.92);color:#fff;font-size:14px;font-weight:650;
}
.eb-404-lb{margin:0 0 13px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(22,21,20,.45);}
.eb-404-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:34px;}
.eb-404-chip{
  padding:9px 16px;border-radius:999px;text-decoration:none;font-size:14px;color:#161514;
  background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:background .28s;
}
.eb-404-chip:hover{background:rgba(255,255,255,.85);color:#161514;}
.eb-404-bts{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;}
.eb-404-bt{
  padding:13px 26px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:650;
  background:rgba(22,21,20,.92);color:#fff;transition:background .28s,transform .28s;
}
.eb-404-bt:hover{background:#161514;color:#fff;transform:translateY(-1px);}
.eb-404-bt2{
  background:rgba(255,255,255,.55);color:#161514;border:1px solid rgba(255,255,255,.72);
}
.eb-404-bt2:hover{background:rgba(255,255,255,.85);color:#161514;}
@media (max-width:520px){
  .eb-404{padding:34px 21px;}
  .eb-404-buscar{flex-direction:column;}
  .eb-404-buscar input[type=search],.eb-404-buscar button{width:100%;}
}

/* Enlace social sin destino real: se oculta en vez de mandar al cliente
   a la cuenta de otra empresa. */
a[href="#eb-sin-destino"]{ display:none !important; }
