/* =========================================================
   EL MUNDO DE LOS ZOÁNTIDOS
   Login modal + catálogo compacto Dark Premium
   Cargado al final para prevalecer sobre Flatsome.
   ========================================================= */

/* ---------- MODAL ACCEDER / REGISTRARSE ---------- */
body.emz-dark-ocean-theme #login-form-popup,
body.emz-dark-ocean-theme .mfp-content #login-form-popup,
body.emz-dark-ocean-theme .mfp-content .account-container {
  width: min(920px, calc(100vw - 32px)) !important;
  max-width: 920px !important;
  margin: 24px auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(105,255,111,.22) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 0 0, rgba(45,255,100,.10), transparent 34%),
    radial-gradient(circle at 100% 0, rgba(170,63,145,.12), transparent 38%),
    linear-gradient(145deg, rgba(18,28,30,.99), rgba(8,13,16,.99)) !important;
  box-shadow: 0 35px 110px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #eef5f1 !important;
}

body.emz-dark-ocean-theme #login-form-popup .row,
body.emz-dark-ocean-theme .mfp-content .account-container > .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.emz-dark-ocean-theme #login-form-popup .col,
body.emz-dark-ocean-theme #login-form-popup .account-login-inner,
body.emz-dark-ocean-theme #login-form-popup .account-register-inner,
body.emz-dark-ocean-theme .mfp-content .account-login-inner,
body.emz-dark-ocean-theme .mfp-content .account-register-inner {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 38px 42px 40px !important;
  background: transparent !important;
  color: #dce7e1 !important;
}

body.emz-dark-ocean-theme #login-form-popup .account-register-inner,
body.emz-dark-ocean-theme .mfp-content .account-register-inner {
  border-left: 1px solid rgba(255,255,255,.09) !important;
}

body.emz-dark-ocean-theme #login-form-popup h3,
body.emz-dark-ocean-theme .mfp-content .account-container h3 {
  margin: 0 0 24px !important;
  color: #fff !important;
  font-size: clamp(22px, 2.2vw, 31px) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.1 !important;
}

body.emz-dark-ocean-theme #login-form-popup label,
body.emz-dark-ocean-theme .mfp-content .account-container label {
  color: #d8e2dd !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

body.emz-dark-ocean-theme #login-form-popup input.input-text,
body.emz-dark-ocean-theme #login-form-popup input[type="text"],
body.emz-dark-ocean-theme #login-form-popup input[type="email"],
body.emz-dark-ocean-theme #login-form-popup input[type="password"] {
  width: 100% !important;
  min-height: 50px !important;
  margin: 8px 0 16px !important;
  padding: 0 15px !important;
  border: 1px solid rgba(169,188,180,.20) !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, rgba(27,39,42,.96), rgba(16,25,28,.96)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  color: #fff !important;
  font-size: 15px !important;
}

body.emz-dark-ocean-theme #login-form-popup input:focus {
  border-color: rgba(83,255,95,.70) !important;
  box-shadow: 0 0 0 4px rgba(83,255,95,.09), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body.emz-dark-ocean-theme #login-form-popup p,
body.emz-dark-ocean-theme #login-form-popup .woocommerce-privacy-policy-text,
body.emz-dark-ocean-theme #login-form-popup .woocommerce-privacy-policy-text p,
body.emz-dark-ocean-theme .mfp-content .account-container p {
  color: #aebbb5 !important;
  font-size: 13px !important;
  line-height: 1.72 !important;
}

body.emz-dark-ocean-theme #login-form-popup a {
  color: #72ff75 !important;
}

body.emz-dark-ocean-theme #login-form-popup button,
body.emz-dark-ocean-theme #login-form-popup .button {
  min-height: 48px !important;
  padding: 0 24px !important;
  border: 1px solid rgba(92,255,103,.48) !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, #228b42, #0d572d) !important;
  box-shadow: 0 13px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.10) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

body.emz-dark-ocean-theme #login-form-popup button:hover,
body.emz-dark-ocean-theme #login-form-popup .button:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #32b451, #126c35) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.44), 0 0 26px rgba(55,255,96,.13) !important;
}

/* ---------- CARDS DE PRODUCTOS MÁS COMPACTAS ---------- */
body.emz-dark-ocean-theme .products .product-small {
  height: auto !important;
  min-height: 0 !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(82,255,90,.055), transparent 32%),
    linear-gradient(155deg, #1c252a 0%, #11181c 60%, #0d1215 100%) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.035) !important;
  transition: transform .34s cubic-bezier(.2,.82,.2,1), border-color .34s ease, box-shadow .34s ease !important;
}

body.emz-dark-ocean-theme .products .product-small:hover {
  transform: translateY(-7px) scale(1.006) !important;
  border-color: rgba(87,255,96,.48) !important;
  box-shadow: 0 28px 72px rgba(0,0,0,.56), 0 0 34px rgba(71,255,93,.10) !important;
}

body.emz-dark-ocean-theme .products .product-small .box,
body.emz-dark-ocean-theme .products .product-small.box {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

body.emz-dark-ocean-theme .products .product-small .box-image,
body.emz-dark-ocean-theme .products .product-small .box-image .image-cover {
  height: 260px !important;
  min-height: 260px !important;
  overflow: hidden !important;
  border-radius: 21px 21px 0 0 !important;
  background: #070b0d !important;
}

body.emz-dark-ocean-theme .products .product-small .box-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  image-rendering: auto !important;
  filter: none !important;
  transform: scale(1.001) !important;
  transition: transform .7s cubic-bezier(.2,.75,.2,1), filter .45s ease !important;
}

body.emz-dark-ocean-theme .products .product-small:hover .box-image img {
  transform: scale(1.075) !important;
  filter: saturate(1.06) contrast(1.035) !important;
}

body.emz-dark-ocean-theme .products .product-small .box-image::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transform: translateX(-120%) skewX(-18deg);
  background: linear-gradient(100deg, transparent 24%, rgba(255,255,255,.15) 50%, transparent 76%);
  transition: transform .8s ease, opacity .25s ease;
}

body.emz-dark-ocean-theme .products .product-small:hover .box-image::before {
  opacity: 1;
  transform: translateX(120%) skewX(-18deg);
}

body.emz-dark-ocean-theme .products .product-small .box-text {
  min-height: 155px !important;
  padding: 17px 20px 15px !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.emz-dark-ocean-theme .products .product-small .category {
  margin-bottom: 4px !important;
  font-size: 11px !important;
}

body.emz-dark-ocean-theme .products .product-small .product-title,
body.emz-dark-ocean-theme .products .product-small .product-title a {
  margin: 0 !important;
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.15 !important;
}

body.emz-dark-ocean-theme .products .product-small .price {
  margin: 3px 0 4px !important;
  font-size: 23px !important;
  line-height: 1.1 !important;
}

body.emz-dark-ocean-theme .products .product-small .emz-stock {
  margin-top: 8px !important;
}

body.emz-dark-ocean-theme .products .product-small .emz-quick-cart {
  min-height: 46px !important;
  margin: 0 14px 14px !important;
  padding: 10px 13px !important;
  border-radius: 13px !important;
}

/* ---------- SIN EXISTENCIAS DARK PREMIUM ---------- */
body.emz-dark-ocean-theme .products .product-small .out-of-stock-label,
body.emz-dark-ocean-theme .products .product-small .out-of-stock,
body.emz-dark-ocean-theme .products .product-small .badge-container .badge-inner {
  overflow: hidden !important;
  border: 1px solid rgba(255,91,113,.36) !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 15% 50%, rgba(255,76,105,.18), transparent 42%),
    linear-gradient(135deg, rgba(38,17,25,.94), rgba(15,20,24,.96)) !important;
  box-shadow: 0 15px 38px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #fff !important;
  text-shadow: 0 1px 10px rgba(255,55,92,.28) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

body.emz-dark-ocean-theme .products .product-small .out-of-stock-label {
  left: 14px !important;
  right: 14px !important;
  width: auto !important;
  padding: 14px 16px !important;
}

body.emz-dark-ocean-theme .products .product-small .out-of-stock-label::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-130%) skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.17), transparent);
  animation: emzSoldOutShine 3.6s ease-in-out infinite;
}

@keyframes emzSoldOutShine {
  0%, 58% { transform: translateX(-130%) skewX(-20deg); }
  82%, 100% { transform: translateX(130%) skewX(-20deg); }
}

@media (max-width: 849px) {
  body.emz-dark-ocean-theme #login-form-popup,
  body.emz-dark-ocean-theme .mfp-content #login-form-popup,
  body.emz-dark-ocean-theme .mfp-content .account-container {
    width: min(94vw, 560px) !important;
    max-height: calc(100vh - 28px) !important;
    margin: 14px auto !important;
    overflow-y: auto !important;
    border-radius: 19px !important;
  }

  body.emz-dark-ocean-theme #login-form-popup .row,
  body.emz-dark-ocean-theme .mfp-content .account-container > .row {
    grid-template-columns: 1fr !important;
  }

  body.emz-dark-ocean-theme #login-form-popup .col,
  body.emz-dark-ocean-theme #login-form-popup .account-login-inner,
  body.emz-dark-ocean-theme #login-form-popup .account-register-inner,
  body.emz-dark-ocean-theme .mfp-content .account-login-inner,
  body.emz-dark-ocean-theme .mfp-content .account-register-inner {
    padding: 25px 22px 27px !important;
  }

  body.emz-dark-ocean-theme #login-form-popup .account-register-inner,
  body.emz-dark-ocean-theme .mfp-content .account-register-inner {
    border-top: 1px solid rgba(255,255,255,.09) !important;
    border-left: 0 !important;
  }

  body.emz-dark-ocean-theme #login-form-popup h3 {
    margin-bottom: 17px !important;
    font-size: 24px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .box-image,
  body.emz-dark-ocean-theme .products .product-small .box-image .image-cover {
    height: 220px !important;
    min-height: 220px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .box-text {
    min-height: 142px !important;
    padding: 15px 16px 12px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .emz-quick-cart {
    margin: 0 12px 12px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 480px) {
  body.emz-dark-ocean-theme .products .product-small .box-image,
  body.emz-dark-ocean-theme .products .product-small .box-image .image-cover {
    height: 205px !important;
    min-height: 205px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .box-text {
    min-height: 135px !important;
  }
}

/* =========================================================
   AJUSTE FINAL CATÁLOGO: BOTÓN, VISTA RÁPIDA, CONTADOR Y MÓVIL
   ========================================================= */

/* Sube el botón y compacta todavía más la zona inferior. */
body.emz-dark-ocean-theme .products .product-small .box-text {
  min-height: 136px !important;
  padding-bottom: 7px !important;
}

body.emz-dark-ocean-theme .products .product-small .emz-stock {
  margin-top: 5px !important;
  margin-bottom: 0 !important;
}

body.emz-dark-ocean-theme .products .product-small .emz-quick-cart {
  min-height: 44px !important;
  margin: 0 12px 10px !important;
  padding: 9px 12px !important;
}

/* Vista rápida: reemplaza el azul de Flatsome por cristal oscuro premium. */
body.emz-dark-ocean-theme .products .product-small .quick-view,
body.emz-dark-ocean-theme .products .product-small .quick-view-added,
body.emz-dark-ocean-theme .products .product-small a.quick-view,
body.emz-dark-ocean-theme .products .product-small .box-image .quick-view {
  min-height: 39px !important;
  border-top: 1px solid rgba(101,255,111,.26) !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
  background:
    linear-gradient(90deg, rgba(5,22,16,.94), rgba(20,28,33,.95), rgba(30,17,29,.92)) !important;
  box-shadow: 0 -9px 24px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05) !important;
  color: #eaf4ed !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.45) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  opacity: .97 !important;
  transition: background .28s ease, color .28s ease, letter-spacing .28s ease !important;
}

body.emz-dark-ocean-theme .products .product-small .quick-view:hover,
body.emz-dark-ocean-theme .products .product-small a.quick-view:hover {
  background:
    linear-gradient(90deg, rgba(13,71,37,.98), rgba(20,42,38,.98), rgba(45,20,40,.96)) !important;
  color: #79ff82 !important;
  letter-spacing: .08em !important;
}

/* Contador de productos: cápsula discreta, no texto suelto. */
body.emz-dark-ocean-theme .woocommerce-result-count.emz-result-count {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  margin: 0 0 10px !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(105,255,116,.16) !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, rgba(11,29,23,.84), rgba(19,22,28,.84)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 8px 22px rgba(0,0,0,.18) !important;
  color: #dbe5df !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
}

body.emz-dark-ocean-theme .woocommerce-result-count.emz-result-count::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 999px;
  background: #55f46a;
  box-shadow: 0 0 12px rgba(85,244,106,.75);
}

/* Teléfono: siempre dos productos por fila, igual que en tableta. */
@media (max-width: 549px) {
  body.emz-dark-ocean-theme .shop-container .products.row,
  body.emz-dark-ocean-theme .category-page-row .products.row,
  body.emz-dark-ocean-theme .products.row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -3px !important;
    margin-right: -3px !important;
  }

  body.emz-dark-ocean-theme .shop-container .products.row > .product-small.col,
  body.emz-dark-ocean-theme .shop-container .products.row > .product-small,
  body.emz-dark-ocean-theme .category-page-row .products.row > .product-small.col,
  body.emz-dark-ocean-theme .category-page-row .products.row > .product-small,
  body.emz-dark-ocean-theme .products.row > .product-small.col,
  body.emz-dark-ocean-theme .products.row > .product-small {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
    margin-bottom: 6px !important;
  }

  body.emz-dark-ocean-theme .products .product-small {
    border-radius: 16px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .box-image,
  body.emz-dark-ocean-theme .products .product-small .box-image .image-cover {
    height: 165px !important;
    min-height: 165px !important;
    border-radius: 15px 15px 0 0 !important;
  }

  body.emz-dark-ocean-theme .products .product-small .box-text {
    min-height: 128px !important;
    padding: 12px 11px 6px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .category {
    font-size: 9px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .product-title,
  body.emz-dark-ocean-theme .products .product-small .product-title a {
    font-size: 14px !important;
    line-height: 1.16 !important;
  }

  body.emz-dark-ocean-theme .products .product-small .price {
    font-size: 19px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .emz-stock {
    font-size: 10px !important;
  }

  body.emz-dark-ocean-theme .products .product-small .emz-quick-cart {
    min-height: 40px !important;
    margin: 0 8px 8px !important;
    padding: 8px 6px !important;
    border-radius: 11px !important;
    font-size: 9px !important;
    letter-spacing: 0 !important;
  }

  body.emz-dark-ocean-theme .products .product-small .quick-view,
  body.emz-dark-ocean-theme .products .product-small a.quick-view {
    min-height: 33px !important;
    font-size: 9px !important;
  }

  body.emz-dark-ocean-theme .woocommerce-result-count.emz-result-count {
    min-height: 32px !important;
    margin-bottom: 8px !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
  }
}

/* =========================================================
   CORRECCIÓN FINAL — CATEGORÍAS SIEMPRE EN 4 COLUMNAS
   Se carga al final para evitar que las reglas de productos
   cambien el ancho de las tarjetas de categorías.
   ========================================================= */
@media (min-width: 850px) {
  body.emz-dark-ocean-theme .shop-container .products.row:has(> .product-category),
  body.emz-dark-ocean-theme .category-page-row .products.row:has(> .product-category),
  body.emz-dark-ocean-theme ul.products:has(> li.product-category) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.emz-dark-ocean-theme .shop-container .products.row > .product-category,
  body.emz-dark-ocean-theme .category-page-row .products.row > .product-category,
  body.emz-dark-ocean-theme ul.products > li.product-category {
    grid-column: auto !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
  }
}

@media (min-width: 550px) and (max-width: 849px) {
  body.emz-dark-ocean-theme .shop-container .products.row:has(> .product-category),
  body.emz-dark-ocean-theme .category-page-row .products.row:has(> .product-category),
  body.emz-dark-ocean-theme ul.products:has(> li.product-category) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.emz-dark-ocean-theme .products.row > .product-category,
  body.emz-dark-ocean-theme ul.products > li.product-category {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

@media (max-width: 549px) {
  body.emz-dark-ocean-theme .shop-container .products.row:has(> .product-category),
  body.emz-dark-ocean-theme .category-page-row .products.row:has(> .product-category),
  body.emz-dark-ocean-theme ul.products:has(> li.product-category) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.emz-dark-ocean-theme .products.row > .product-category,
  body.emz-dark-ocean-theme ul.products > li.product-category {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* =========================================================
   PAGINADOR DARK PREMIUM — PRODUCTOS WOOCOMMERCE
   ========================================================= */
.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
    clear: both;
    width: 100%;
    margin: 34px auto 18px !important;
    padding: 0 !important;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers,
ul.page-numbers.nav-pagination {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px !important;
    margin: 0 auto !important;
    padding: 7px !important;
    list-style: none !important;
    border: 1px solid rgba(77, 255, 111, .16) !important;
    border-radius: 16px !important;
    background:
        linear-gradient(135deg, rgba(12, 29, 25, .96), rgba(20, 20, 27, .96)) !important;
    box-shadow:
        0 18px 42px rgba(0, 0, 0, .36),
        inset 0 1px 0 rgba(255, 255, 255, .045),
        0 0 0 1px rgba(255, 255, 255, .015) !important;
    overflow: visible !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.woocommerce-pagination ul.page-numbers li,
ul.page-numbers.nav-pagination > li {
    float: none !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li > a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li > span,
.woocommerce-pagination ul.page-numbers li > a,
.woocommerce-pagination ul.page-numbers li > span,
ul.page-numbers.nav-pagination > li > a,
ul.page-numbers.nav-pagination > li > span {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 42px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(34, 43, 47, .90), rgba(15, 22, 25, .94)) !important;
    color: rgba(243, 248, 246, .88) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .055),
        0 8px 18px rgba(0, 0, 0, .18) !important;
    transform: translateY(0);
    transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease,
        box-shadow .22s ease,
        color .22s ease !important;
    overflow: hidden;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li > a::after,
.woocommerce-pagination ul.page-numbers li > a::after,
ul.page-numbers.nav-pagination > li > a::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(115deg, transparent 20%, rgba(255, 255, 255, .11) 50%, transparent 80%);
    transform: translateX(-140%);
    transition: transform .48s ease;
    pointer-events: none;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li > a:hover,
.woocommerce-pagination ul.page-numbers li > a:hover,
ul.page-numbers.nav-pagination > li > a:hover {
    color: #ffffff !important;
    border-color: rgba(77, 255, 111, .48) !important;
    background: linear-gradient(180deg, rgba(28, 72, 48, .96), rgba(12, 39, 28, .98)) !important;
    box-shadow:
        0 12px 24px rgba(0, 0, 0, .28),
        0 0 22px rgba(77, 255, 111, .16),
        inset 0 1px 0 rgba(255, 255, 255, .09) !important;
    transform: translateY(-2px);
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li > a:hover::after,
.woocommerce-pagination ul.page-numbers li > a:hover::after,
ul.page-numbers.nav-pagination > li > a:hover::after {
    transform: translateX(140%);
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li > span.current,
.woocommerce-pagination ul.page-numbers li > span.current,
ul.page-numbers.nav-pagination > li > span.current {
    color: #07120b !important;
    border-color: rgba(105, 255, 125, .92) !important;
    background: linear-gradient(135deg, #70ff83 0%, #31cf62 52%, #13a84a 100%) !important;
    box-shadow:
        0 10px 25px rgba(38, 222, 93, .27),
        0 0 0 3px rgba(67, 244, 106, .08),
        inset 0 1px 0 rgba(255, 255, 255, .45) !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .18);
}

/* Flechas más limpias, sin el círculo viejo de Flatsome. */
.woocommerce-pagination .page-numbers.next,
.woocommerce-pagination .page-numbers.prev,
ul.page-numbers.nav-pagination .next,
ul.page-numbers.nav-pagination .prev {
    font-size: 0 !important;
}

.woocommerce-pagination .page-numbers.next::before,
.woocommerce-pagination .page-numbers.prev::before,
ul.page-numbers.nav-pagination .next::before,
ul.page-numbers.nav-pagination .prev::before {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}

.woocommerce-pagination .page-numbers.next::before,
ul.page-numbers.nav-pagination .next::before {
    transform: rotate(45deg) translate(-1px, 1px);
}

.woocommerce-pagination .page-numbers.prev::before,
ul.page-numbers.nav-pagination .prev::before {
    transform: rotate(-135deg) translate(-1px, 1px);
}

.woocommerce-pagination .page-numbers.dots,
ul.page-numbers.nav-pagination .dots {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .45) !important;
}

@media (max-width: 549px) {
    .woocommerce nav.woocommerce-pagination,
    .woocommerce-pagination {
        margin-top: 24px !important;
    }

    .woocommerce nav.woocommerce-pagination ul.page-numbers,
    .woocommerce-pagination ul.page-numbers,
    ul.page-numbers.nav-pagination {
        gap: 5px !important;
        padding: 6px !important;
        border-radius: 14px !important;
    }

    .woocommerce nav.woocommerce-pagination ul.page-numbers li > a,
    .woocommerce nav.woocommerce-pagination ul.page-numbers li > span,
    .woocommerce-pagination ul.page-numbers li > a,
    .woocommerce-pagination ul.page-numbers li > span,
    ul.page-numbers.nav-pagination > li > a,
    ul.page-numbers.nav-pagination > li > span {
        min-width: 38px !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 10px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
   FIX FINAL MODAL DE ACCESO
   - No convertir el control de mostrar contraseña en botón verde.
   - Botón cerrar siempre visible y accesible.
   ========================================================= */
body.emz-dark-ocean-theme #login-form-popup .password-input,
body.emz-dark-ocean-theme #login-form-popup .woocommerce-Input--password {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

/* El control de visibilidad heredado de WooCommerce/Flatsome generaba
   el segundo botón cuadrado. Se oculta para dejar un único botón: ACCESO. */
body.emz-dark-ocean-theme #login-form-popup .show-password-input,
body.emz-dark-ocean-theme #login-form-popup button.show-password-input,
body.emz-dark-ocean-theme #login-form-popup .password-input > button:not([type="submit"]),
body.emz-dark-ocean-theme #login-form-popup .password-input > .button {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Los estilos premium sólo se aplican a los botones reales del formulario. */
body.emz-dark-ocean-theme #login-form-popup button[type="submit"],
body.emz-dark-ocean-theme #login-form-popup input[type="submit"],
body.emz-dark-ocean-theme #login-form-popup .woocommerce-form-login__submit,
body.emz-dark-ocean-theme #login-form-popup .woocommerce-form-register__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 128px !important;
  min-height: 48px !important;
  margin: 10px 0 0 !important;
}

/* Cerrar modal: visible por encima del panel, sin quedar recortado. */
body.emz-dark-ocean-theme .mfp-wrap:has(#login-form-popup) .mfp-content {
  position: relative !important;
  overflow: visible !important;
}

body.emz-dark-ocean-theme .mfp-wrap:has(#login-form-popup) button.mfp-close,
body.emz-dark-ocean-theme .mfp-wrap:has(#login-form-popup) .mfp-close,
body.emz-dark-ocean-theme .mfp-content #login-form-popup ~ .mfp-close {
  position: absolute !important;
  z-index: 1000002 !important;
  top: 10px !important;
  right: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 0 4px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 50% !important;
  background: rgba(8,14,16,.90) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.07) !important;
  color: #f4fff7 !important;
  font-family: Arial, sans-serif !important;
  font-size: 31px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  cursor: pointer !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
}

body.emz-dark-ocean-theme .mfp-wrap:has(#login-form-popup) button.mfp-close:hover,
body.emz-dark-ocean-theme .mfp-wrap:has(#login-form-popup) .mfp-close:hover {
  transform: rotate(90deg) scale(1.06) !important;
  border-color: rgba(89,255,105,.68) !important;
  background: rgba(20,74,40,.96) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.55), 0 0 24px rgba(68,255,95,.18) !important;
}

/* Fallback para navegadores sin :has(): el botón de Magnific Popup
   conserva visibilidad aunque esté fuera del formulario. */
body.emz-dark-ocean-theme .mfp-wrap button.mfp-close {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 849px) {
  body.emz-dark-ocean-theme .mfp-wrap:has(#login-form-popup) button.mfp-close,
  body.emz-dark-ocean-theme .mfp-wrap:has(#login-form-popup) .mfp-close {
    position: fixed !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    background: rgba(6,12,14,.96) !important;
  }

  body.emz-dark-ocean-theme #login-form-popup,
  body.emz-dark-ocean-theme .mfp-content #login-form-popup,
  body.emz-dark-ocean-theme .mfp-content .account-container {
    margin-top: 58px !important;
  }
}
