/* =========================================================
   Fortaleza — Layout base (Adaptado para Astra)
   ========================================================= */

/* ---------- Variables globales (Mantenidas) ---------- */
:root {
  /* Layout general */
  --container-max: 1240px;
  --container-px: 16px;
  --gap: 10px;

  /* Header */
  --navbar-h: 68px;
  --balance-center-min: 660px;
  --logo-inset-y: 0px;
  --logo-w: 270px;
  --search-w: 620px;
  --search-h: 52px;
  --pill-h: 50px;
  --search-btn-h: 42px;
  --radius-pill: 999px;
  --controls-nudge: 0px;
  --search-nudge: 0px;

  /* Colores */
  --bg: #0b0b0c;
  --txt: #f5f5f7;
  --txt-dk: #0b0b0c;
  --muted: #6b6f76;
  --accent: #7c5cff;
  --badge: #ffb000;

  /* Producto (galería) */
  --prod-gallery-max-h: 720px;
}

/* ASTRA: ELIMINADO
   Las reglas para `.col-full` ya no son necesarias.
   El control del ancho del contenido se hace desde el Personalizador de Astra:
   Apariencia > Personalizar > Global > Contenedor
*/

/* =========================================================
   HEADER (Ajuste Final y Agresivo para Astra)
   ========================================================= */
/* Aseguramos que la cabecera no tenga paddings extraños */
.site-header {
  background: var(--bg);
  color: var(--txt);
  position: sticky;
  top: 0;
  z-index: 1000; /* Aumentamos el z-index por seguridad */
  padding: 0 !important;
}

/* Forzamos el centrado del contenido de la barra de navegación */
.nav-bar {
  max-width: var(--container-max, 1240px);
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--container-px, 16px) !important;
  padding-right: var(--container-px, 16px) !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  display: grid;
  grid-template-columns: max-content minmax(0, var(--balance-center-min)) auto;
  align-items: center !important;
  column-gap: 8px;
  min-height: var(--navbar-h);
}
/* Logo */
.site-header .logo {
  display:flex; align-items:center;
  height: var(--navbar-h);
  width: var(--logo-w);
  min-width: var(--logo-w);
  transform: translateY(var(--controls-nudge));
}
.site-header .logo a.custom-logo-link { display:flex; align-items:center; height:100%; }
.site-header .logo img, .site-header img.custom-logo {
  height:     calc(var(--navbar-h) - (var(--logo-inset-y) * 2)) !important;
  max-height: calc(var(--navbar-h) - (var(--logo-inset-y) * 2)) !important;
  width:100% !important;
  max-width:100% !important;
  display:block;
  object-fit:contain;
  object-position:left center;
}
/* Centro: Catálogo + Buscador */
.center-group {
  justify-self:start; display:flex; align-items:center; gap:10px;
  min-width:0; width:100%; position:relative; z-index:200;
}
/* Catálogo (botón + panel) */
.catalog-trigger { position:relative; margin-right:10px; transform:translateY(var(--controls-nudge)); z-index:300; }
.cat-btn {
  height: var(--pill-h); padding:0 14px; border-radius:var(--radius-pill);
  background:#1f1f22; color:#fff; border:1.6px solid rgba(255,255,255,.5);
  display:inline-flex; align-items:center; gap:10px; cursor:pointer;
}
.cat-btn:hover { background:#242428; }
.cat-btn[aria-expanded="true"] { border-color:#fff; }
.cat-ico { line-height:1; display:inline-block; }
.cat-panel {
  position:absolute; left:0; top: calc(100% + 10px);
  color:#fff; z-index:4000;
}
.cat-panel[hidden] { display:none !important; }
/* Buscador */
.search {
  position:relative; transform: translateY(var(--search-nudge));
  display:flex; align-items:center; gap:10px;
  background:#fff; color:var(--txt-dk);
  height: var(--search-h); border-radius: var(--radius-pill);
  padding:0 16px 0 12px; overflow:hidden;
  flex: 0 1 var(--search-w);
  width:100%;
  max-width:var(--search-w);
  box-shadow:0 2px 14px rgba(0,0,0,.18);
  z-index:1;
}
.search .search-icon { color:#888; margin:0 8px; font-size:1.1rem; }
.search input[type="search"] { flex:1; min-width:0; height:100%; background:transparent; border:0; outline:none; color:var(--txt-dk); padding:0 8px; font-size:.95rem; }
.search .search-btn {
  height: var(--search-btn-h); padding:0 16px; border:0; border-radius:var(--radius-pill);
  background:#2a2a2d; color:#fff; white-space:nowrap; font-size:.95rem; border-left:1px solid rgba(0,0,0,.08);
}
/* Acciones derechas */
.actions {
  justify-self:end; display:flex; align-items:center; gap:14px;
  transform: translateY(var(--controls-nudge));
  position:relative; z-index:250;
}
.actions .link, .actions .btn, .cart-btn {
  height: var(--pill-h); padding:0 18px; border-radius:var(--radius-pill);
  display:inline-flex; align-items:center; justify-content:center; gap:10px; white-space:nowrap; line-height:1; box-sizing:border-box;
}
.actions .link { color:#fff; text-decoration:none; background:transparent; border:2px solid #fff; }
.actions .link:hover { background:rgba(255,255,255,.08); }
.actions .btn { background:var(--accent); color:#fff; text-decoration:none; box-shadow:0 6px 16px rgba(124,92,255,.35); }
.actions .btn:hover { transform:translateY(-1px); }
.actions .link *, .actions .btn * { pointer-events:none; }
/* Carrito + mini-cart anclado */
.cart-btn { background:#1f1f22; color:#fff; border:0; border-radius:12px; padding:0 12px; position:relative; gap:8px; z-index:250; }
.cart-ico { width:26px; height:26px; display:inline-flex; }
.cart-ico svg { width:100%; height:100%; fill:currentColor; }
.cart-btn .badge {
  position:absolute; top:-7px; right:-7px; min-width:18px; height:18px; padding:0 5px;
  border-radius:999px; background:var(--badge); color:var(--txt-dk);
  font-weight:700; font-size:12px; line-height:18px; text-align:center;
}
.cart-btn { overflow:visible; }
.mini-cart-panel[hidden] { display:none !important; }

/* Responsive header (Mantenido) */
@media (max-width: 1280px) { :root{ --balance-center-min: 600px; --logo-w:240px; --search-w:520px; }}
@media (max-width: 1100px) { :root{ --balance-center-min: 540px; --logo-w:210px; --search-w:440px; }}
@media (max-width: 1024px) {
  :root{ --container-px:12px; --gap:8px; --navbar-h:60px; --search-h:50px; --pill-h:46px; --search-btn-h:38px; --balance-center-min:480px; --logo-w:190px; --search-w:380px; }
  .actions { gap:10px; }
  .cat-btn { padding:0 12px; }
  .search { padding:0 12px 0 10px; }
  .search .search-icon { margin:0 6px; }
  .cart-ico { width:24px; height:24px; }
}
@media (max-width: 720px) {
  :root{ --navbar-h:56px; --search-h:50px; --pill-h:44px; --search-btn-h:36px; --balance-center-min:0px; --logo-w:190px; --search-w:100%; }
  .nav-bar {
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo actions" "center center";
    row-gap:8px; column-gap:var(--gap);
  }
  .site-header .logo { grid-area:logo; transform:translateY(0); }
  .center-group { grid-area:center; justify-self:stretch; width:100%; transform:translateY(0); display:grid; grid-template-columns:auto 1fr; column-gap:8px; }
  .actions { grid-area:actions; justify-self:end; transform:translateY(0); }
  .actions .link { display:none; }
  .actions .btn { padding:0 14px; }
  .cart-btn { padding:0 10px; }
  .cart-ico { width:22px; height:22px; }
  .cart-btn .badge { top:-6px; right:-6px; }
}
/* =========================================================
   FOOTER (Estructura y estilos mantenidos)
   ========================================================= */
.site-footer {
  background:
    radial-gradient(1200px 380px at 50% -240px, rgba(124,92,255,.08), transparent 60%)
    , linear-gradient(#0f0f11, #0d0d0f);
  color:var(--txt); border-top:1px solid rgba(255,255,255,.06);
  padding:28px 0 18px;
}
/* ASTRA: Estas reglas ahora centran tu footer correctamente */
.site-footer .footer-grid, .site-footer .footer-bottom {
  max-width: var(--container-max);
  margin:0 auto; padding:0 var(--container-px); box-sizing:border-box;
}
.footer-grid {
  display:grid; grid-template-columns:repeat(3, minmax(320px, 1fr));
  gap:24px; justify-content:center; align-items:start;
}
.footer-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.footer-title { margin:0; color:#fff; font-weight:700; font-size:1.05rem; letter-spacing:.2px; }
.footer-toggle {
  width:32px; height:32px; border-radius:10px; border:1px solid #2a2a2a; background:#161616; color:#fff;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background-color .15s, border-color .15s, transform .15s;
}
.footer-toggle::before {
  content:""; width:10px; height:10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); opacity:.95; transition:transform .2s, border-color .15s, opacity .15s;
}
.footer-col.open .footer-toggle::before { transform:rotate(-135deg); }
.footer-toggle:hover { background:#1b1b1b; border-color:#343434; transform:translateY(-1px); }
.footer-toggle:focus { outline:none; box-shadow:none; }
.footer-panel { display:none; }
.footer-col.open .footer-panel { display:block; }
.social-list, .contact-list, .info-list {
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;
}
.card-item {
  --card-bg:#151519; --card-br:rgba(255,255,255,.10);
  display:flex; align-items:center; gap:10px; background:var(--card-bg); border:1px solid var(--card-br);
  padding:12px 14px; border-radius:12px; text-decoration:none; color:#d7d7de;
  transition:transform .15s, box-shadow .15s, border-color .15s, color .15s;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}
.card-item:hover {
  transform:translateY(-1px); color:#fff; border-color:rgba(124,92,255,.35);
  box-shadow:0 10px 28px rgba(124,92,255,.12), 0 8px 20px rgba(0,0,0,.35);
}
.ico-wrap { width:30px; height:30px; border-radius:10px; background:#1d1d23; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.08); }
.ico { width:16px; height:16px; color:#fff; display:block; }
.footer-bottom { margin-top:20px; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); text-align:center; }
.copy { margin:0; font-size:.95rem; color:#a9abb3; }
@media (max-width:1100px) { .footer-grid{ grid-template-columns:repeat(3, minmax(260px, 1fr)); gap:20px; }}
@media (max-width:900px) {
  .footer-grid{ grid-template-columns:1fr; }
  .footer-head { margin-bottom:6px; }
  .card-item { padding:11px 13px; }
}

/* =========================================================
   SINGLE PRODUCT
   ========================================================= */

.single-product .widget-area,
.single-product #secondary { display: none !important; }

/* Layout 2 columnas */
.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(300px, 480px) 1fr !important;
  column-gap: 48px !important;
  align-items: start !important;
  max-width: 1140px;
  margin: 32px auto 0 !important;
  padding: 0 16px;
  box-sizing: border-box;
}

.single-product div.product .woocommerce-product-gallery {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  position: relative;
}

.single-product div.product .summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .up-sells,
.single-product div.product .fort-reco {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  box-sizing: border-box;
}

/* Imagen principal */
.single-product .woocommerce-product-gallery .flex-viewport {
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
  border-radius: 12px;
  background: #111;
  border: 1px solid rgba(255,255,255,0.07);
}

/* Imagen principal producto - compatible con WooCommerce FlexSlider */
.single-product .woocommerce-product-gallery__wrapper {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* IMPORTANTE:
   No forzar width:100% aquí, porque WooCommerce/FlexSlider
   necesita controlar el ancho de cada slide con JavaScript */
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
  float: left !important;
  margin: 0 !important;
  display: block !important;
  background: #111 !important;
}

/* Imagen visible dentro del slide */
.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Evita que la imagen de zoom interfiera */
.single-product img.zoomImg {
  display: none !important;
}

.single-product img.zoomImg { display: none !important; }
.single-product .single_add_to_cart_button { cursor: pointer !important; }

/* ── THUMBNAILS ──
   WooCommerce genera imágenes de tamaño "woocommerce_gallery_thumbnail" (200x200).
   Después de subir functions.php debes regenerar miniaturas con el plugin
   "Regenerate Thumbnails" para que existan esas imágenes en disco.          */
.single-product .flex-control-nav.flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .flex-control-nav.flex-control-thumbs li {
  flex: 0 0 calc(25% - 6px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,0.1);
  cursor: pointer;
  transition: border-color .18s, transform .15s;
  background: #1a1a1e;
  /* aspect-ratio cuadrado = el li siempre tiene altura */
  aspect-ratio: 1 / 1;
  position: relative;
}

.single-product .flex-control-nav.flex-control-thumbs li:hover {
  border-color: var(--accent, #7c5cff);
  transform: translateY(-2px);
}

.single-product .flex-control-nav.flex-control-thumbs li img.flex-active,
.single-product .flex-control-nav.flex-control-thumbs li:has(img.flex-active) {
  border-color: var(--accent, #7c5cff);
}

/* La imagen llena el li completamente */
.single-product .flex-control-nav.flex-control-thumbs li img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 0.65;
  transition: opacity .18s;
  /* anula atributos width/height inline de WordPress */
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.single-product .flex-control-nav.flex-control-thumbs li img.flex-active,
.single-product .flex-control-nav.flex-control-thumbs li:hover img {
  opacity: 1;
}

/* Lupa */
.single-product .woocommerce-product-gallery__trigger {
  position: absolute; top: 10px; right: 10px; z-index: 20;
  background: rgba(0,0,0,.55); border-radius: 50%; width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center; transition: background .2s;
}
.single-product .woocommerce-product-gallery__trigger:hover { background: rgba(124,92,255,.8); }
.single-product .woocommerce-product-gallery__trigger img { width: 16px; height: 16px; filter: invert(1); }

/* Recomendados */
.single-product .fort-reco { max-width: 100% !important; margin: 48px 0 8px !important; padding-inline: 0 !important; }
.single-product .fort-reco__title { margin: 0 0 18px; color: #fff; font-weight: 700; }
.single-product .fort-reco__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
  gap: clamp(12px, 2vw, 24px);
  list-style: none; margin: 0 !important; padding: 0 !important;
}
.single-product .fort-reco__grid li.product { float: none !important; width: auto !important; margin: 0 !important; }
.single-product .fort-reco__grid .product {
  background: #141416; border: 1px solid rgba(255,255,255,.08); border-radius: 12px;
  padding: 12px; display: flex; flex-direction: column; height: 100%;
  transition: transform .12s, box-shadow .12s, border-color .12s;
}
.single-product .fort-reco__grid .product:hover { transform: translateY(-2px); border-color: rgba(124,92,255,.35); box-shadow: 0 10px 24px rgba(0,0,0,.25); }
.single-product .fort-reco__grid .product img { width: 100%; height: auto; border-radius: 8px; }
.single-product .fort-reco__grid .price { margin-top: auto; }
.single-product .fort-reco__grid .button { width: 100%; margin-top: 10px; }

/* Responsive */
@media (max-width: 860px) {
  .single-product div.product { grid-template-columns: 1fr !important; column-gap: 0 !important; row-gap: 24px !important; margin-top: 20px !important; }
  .single-product div.product .woocommerce-product-gallery { grid-column: 1 !important; grid-row: 1 !important; }
  .single-product div.product .summary { grid-column: 1 !important; grid-row: 2 !important; }
  .single-product .flex-control-nav.flex-control-thumbs li { flex: 0 0 calc(33.333% - 6px) !important; }
  .single-product .fort-reco__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .single-product .flex-control-nav.flex-control-thumbs li { flex: 0 0 calc(25% - 6px) !important; }
}
@media (max-width: 1024px) {
  .single-product .fort-reco__grid { grid-template-columns: repeat(2, minmax(160px, 1fr)) !important; }
}

/* =========================================================
   TIENDA / CATEGORÍAS (Simplificado para Astra)
   ========================================================= */

/* ASTRA: ELIMINADO
   La regla para `.site-main .col-full` ya no es necesaria.
   El ancho y centrado de la página de la tienda se controla desde:
   Apariencia > Personalizar > WooCommerce > Catálogo de productos
*/

/* ASTRA: OPCIONAL
   Puedes ocultar los filtros desde el personalizador. Si prefieres hacerlo con
   CSS, esta regla sigue siendo válida.
*/
.woocommerce-result-count,
.woocommerce-ordering {
  display: none !important;
}

/* Espaciador visual (Mantenido) */
.shop-toolbar-spacer {
  height: 56px;
}

/* Estilos de la cuadrícula y tarjetas de producto (Mantenido, perfecto como está) */
.woocommerce.archive ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(16px, 2vw, 24px);
  list-style: none !important;
  margin: 24px 0 40px !important;
  padding: 0 !important;
}
.woocommerce.archive ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 14px !important;
  background: #141416;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.woocommerce.archive ul.products li.product:hover {
  transform: translateY(-3px);
  border-color: rgba(124, 92, 255, .45);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .3);
}
.woocommerce.archive ul.products li.product .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}
.woocommerce.archive ul.products li.product img {
  width: 100%;
  height: auto;
  max-height: 320px;
  object-fit: contain;
  border-radius: 10px;
  margin-bottom: 12px;
}
.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
  color: var(--txt, #f5f5f7);
}
.woocommerce.archive ul.products li.product .price {
  margin-top: auto;
  padding-top: 10px;
}
.woocommerce.archive ul.products li.product .button {
  width: 100%;
  margin-top: 12px;
  border-radius: 12px;
}

/* =========================================================
   AUTH & ACCOUNT (Mantenido, es agnóstico al tema)
   ========================================================= */
.woocommerce-account .entry-title{
  text-align:center;
  margin: 32px 0 24px;
}
.woocommerce-account form.login,
.woocommerce-account form.register{
  background: #141416;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 12px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03);
  border-radius: 18px;
  padding: 20px 22px 18px;
}
.woocommerce-account form .form-row{ margin-bottom: 14px; }
.woocommerce-account form .form-row label{
  font-weight: 600;
  color: rgba(255,255,255,.92);
}
.woocommerce-account form .input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"]{
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.98);
  color: #111;
  padding: 10px 12px;
  box-shadow: none;
}
.woocommerce-account form .input-text:focus{
  outline: none;
  border-color: #7c4dff;
  box-shadow: 0 0 0 2px rgba(124,77,255,.25);
}
.woocommerce-account .woocommerce-form__label-for-checkbox{
  display: inline-flex; align-items: center; gap: 8px;
}
.woocommerce-account input[type="checkbox"]{
  accent-color: #7c4dff;
}
.woocommerce-account form .button,
.woocommerce-account form button{
  border-radius: 16px;
  padding: 11px 18px;
  font-weight: 800;
}
.woocommerce-account form .woocommerce-password-hint,
.woocommerce-account form .form-row .description{
  color: rgba(255,255,255,.70);
}
@media (min-width: 720px){
  .woocommerce-account form.register .form-row-first{ float:left;  width:48%; }
  .woocommerce-account form.register .form-row-last { float:right; width:48%; }
}
.woocommerce-account .show-password-input::before{ color:#7c4dff !important; }
.woocommerce-account form.login p.form-row:has(.woocommerce-form-login__submit){
  display:flex; align-items:center; gap:12px;
}
.woocommerce-account form.login .woocommerce-form-login__rememberme{ margin-right:auto; }
.woocommerce-account form.login .woocommerce-form-login__submit{
  margin-left:auto; display:inline-flex;
  border-radius:16px; padding:11px 18px; font-weight:800;
}
.woocommerce-account .password-input{ position: relative; }
.woocommerce-account .password-input .input-text{ padding-right:42px; }

.woocommerce-account .show-password-input{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:28px; height:28px;
  display:inline-flex; align-items:center; justify-content:center;
  background: transparent !important;
  border: 0 !important; box-shadow:none !important; padding:0 !important;
  color: #cfd1ff !important;
}
.woocommerce-account .show-password-input::before{ color: inherit !important; }
.woocommerce-account .password-input .password-visibility,
.woocommerce-account .password-input .toggle-password-visibility{
  background: transparent !important; border:0 !important; box-shadow:none !important;
}
.woocommerce-account form.register p.form-row:has(.woocommerce-Button){
  display:flex; justify-content:center;
}
.woocommerce-account form.register .woocommerce-Button{
  display:inline-flex; border-radius:16px; padding:11px 18px; font-weight:800;
}
@supports not (selector(:has(*))) {
  .woocommerce-account form.register p.form-row{ text-align:center; }
  .woocommerce-account form.register .woocommerce-Button{ display:inline-flex; }
}
.woocommerce-account form.register .woocommerce-form-register__submit{
  display:inline-flex; margin:0 auto;
}

/* Header móvil (Mantenido) */
@media (max-width: 520px){
  .site-header .actions{
    display:flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
  }
  .site-header .actions .link{
    display:inline-flex !important;
    order: 1;
    padding:6px 10px; border-radius:14px; font-size:14px;
  }
  .site-header .actions .btn{
    order: 2;
    padding:6px 10px; border-radius:14px; font-size:14px;
  }
  .site-header .actions .cart-btn{
    order: 3;
  }
  .site-header .center-group .search{
    max-width: 90vw;
  }
}

/* =========================================================
   MI CUENTA — Layout + look Fortaleza
   ========================================================= */

/* Contenedor centrado en 2 columnas (menú izq + contenido der) */
.woocommerce-account .entry-content .woocommerce{
  display: grid;
  grid-template-columns: minmax(240px, 300px) 1fr;
  gap: 22px;
  align-items: start;
  max-width: var(--container-max, 1240px);
  margin: 24px auto 56px;
  padding: 0 var(--container-px, 16px);
}

/* Caja menú (izquierda) */
.woocommerce-account .woocommerce-MyAccount-navigation{
  background: transparent; /* Sin fondo de contenedor */
  border: 0; /* Sin borde de contenedor */
  border-radius:16px;
  padding:16px;
}

/* Items del menú: anchos, legibles y con hover/activo */
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.woocommerce-MyAccount-navigation li{ margin:0 !important; }
.woocommerce-MyAccount-navigation-link a{
  display:block; width:100%;
  padding:12px 14px;
  border-radius:12px;
  color:var(--txt,#f5f5f7);
  text-decoration:none; font-weight:700;
  transition:background-color .18s ease, color .18s ease, transform .12s ease;
}
.woocommerce-MyAccount-navigation-link a:hover{ background:rgba(255,255,255,.06); color:#fff; transform:translateY(-1px); }
.woocommerce-MyAccount-navigation-link.is-active > a{ background:var(--accent,#7c5cff); color:#fff; }

/* Caja contenido (derecha) */
.woocommerce-account .woocommerce-MyAccount-content{
  background:#141416 !important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:24px 28px;
  color:var(--txt,#f5f5f7);
}
.woocommerce-account .woocommerce-MyAccount-content p{ line-height:1.6; color:var(--txt,#f5f5f7); }
.woocommerce-account .woocommerce-MyAccount-content a{ color:var(--accent,#7c5cff); font-weight:700; text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-content a:hover{ text-decoration:underline; }
@media (max-width: 980px){
  .woocommerce-account .entry-content .woocommerce{ grid-template-columns: 1fr; }
  }

/* Título “Mi cuenta” centrado y con aire */
.woocommerce-account .entry-title{ text-align:center; margin:32px 0 18px; }

/* Tablas dentro de Mi cuenta (pedidos, direcciones, etc.) */
.woocommerce-account table.shop_table{
  width:100%; border-collapse:collapse;
  background:#16171b;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px; overflow:hidden;
}
.woocommerce-account table.shop_table thead{ background:rgba(255,255,255,.04); }
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td{
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.10);
  vertical-align:middle; text-align:left;
}
.woocommerce-account table.shop_table tr:last-child td{ border-bottom:0; }

/* Botones dentro del área de cuenta (ver, editar, guardar) */
.woocommerce-account .button,
.woocommerce-account button,
.woocommerce-account .woocommerce-button{
  border-radius:12px;
  padding:10px 14px;
  font-weight:800;
}
.woocommerce-account a.button.alt, 
.woocommerce-account .woocommerce-button.button{ background:var(--accent,#7c5cff); color:#fff; }

/* “Sticky” del menú en desktop para que siga visible al hacer scroll */
@media (min-width: 980px){
  .woocommerce-account .woocommerce-MyAccount-navigation{ position:sticky; top: calc(var(--navbar-h,56px) + 18px); }
}

/* En móvil apilamos todo en una columna */
@media (max-width: 980px){
  .woocommerce-account .entry-content .woocommerce{ grid-template-columns: 1fr; }
}

/* ================================
   Mi Cuenta — ajustes pedido
   ================================ */

/* 1) Título y cabecera: YA NO centrado */
.woocommerce-account .entry-title{
  text-align:left;
  margin: 28px 0 8px;
}

/* 2) Tarjetas más redondeadas (contenedor menú + contenido) */
:root{
  --r-lg: 20px;
  --r-xl: 24px;
  --r-pill: 999px; /* “circular” */
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  border-radius: var(--r-xl);
}

/* 3) Botones del menú izquierdo en forma “pill” */
.woocommerce-MyAccount-navigation ul{ gap:10px; }
.woocommerce-MyAccount-navigation-link a{
  display:block; width:100%;
  padding:12px 16px;
  border-radius: var(--r-pill);              /* <<< súper redondeado */
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
  color: var(--txt,#f5f5f7); font-weight:800;
  text-decoration:none; transition:.18s ease;
}
.woocommerce-MyAccount-navigation-link a:hover{
  background: rgba(255,255,255,.08);
}
.woocommerce-MyAccount-navigation-link.is-active > a{
  background: var(--accent,#7c5cff)!important;
  color:#fff !important; box-shadow:none;
}

/* 4) Mantener el layout en 2 columnas pero SIN centrar visualmente el bloque */
.woocommerce-account .entry-content .woocommerce{
  display:grid;
  grid-template-columns: minmax(240px, 300px) 1fr;
  gap:22px;
  align-items:start;
  /* quitamos centrado: */
  margin: 24px 0 56px;        /* antes: auto */
  padding: 0 var(--container-px,16px);
  max-width: var(--container-max,1240px);
}

/* 5) Tablas/inner cards también más suaves */
.woocommerce-account table.shop_table{
  border-radius: var(--r-lg);
  overflow:hidden;
}

/* Ocultar SOLO el título superior del tema en la página Mi cuenta */
body.woocommerce-account .entry-header,
body.woocommerce-account .entry-header .entry-title{
  display: none !important;
}

/* ================================
   Mi Cuenta — Estilo Cajas Internas (Fix 2)
   ================================ */

/* 6) Estilo oscuro para cajas de "Mis Direcciones" (Forzado) */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
  background: #16171b !important; /* Fondo oscuro (forzado) */
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: var(--r-lg, 20px) !important;
  padding: 20px 24px !important;
  color: inherit !important; /* Forzar color de texto */
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
  color: inherit;
  border: 0;
  padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address h3 {
  color: #fff;
  margin-top: 0;
}

/* 7) Estilo oscuro para avisos (ej. "No hay pedidos") (Forzado) */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message {
  background: #16171b !important; /* Mismo fondo oscuro (forzado) */
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: var(--r-lg, 20px) !important;
  padding: 20px 24px !important;
  color: inherit !important;
  /* Sobreescribir bordes de color por defecto */
  border-top-width: 1px !important;
  border-left-width: 1px !important;
}

/* 8) OCULTAR el ícono morado de la caja de aviso */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message::before {
  display: none !important;
}

/* 9) Asegurar que el botón dentro del aviso "No hay pedidos" use el color de acento */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message a.button {
  background-color: var(--accent, #7c5cff);
  color: #fff;
}

/* ===== Mi Cuenta → Direcciones: quitar fondo blanco de los headers ===== */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
  background:#16171b;                     /* tu fondo oscuro */
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:20px 24px;
}

/* El header (título + link Editar) trae el fondo blanco: lo anulamos */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-column__title{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Título y link */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title h3{
  margin:0; color:#fff;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title .edit{
  display:inline-flex;
  padding:8px 12px;
  border-radius:10px;
  background: var(--accent, #7c5cff);
  color:#fff; text-decoration:none; font-weight:700;
}

/* A veces el fondo blanco está en <address> por CSS del tema */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: var(--txt, #f5f5f7);
}

/* Texto del address */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address{
  font-size: 15px;
  line-height: 1.45;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title .edit{
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 10px;
  line-height: 1.1;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;   /* intenta mantenerlo en una línea */
}

/* Si igual te envuelve el texto a dos líneas por lo largo del español, mantén el tamaño del pill */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title .edit{
  max-width: max-content;
}


@media (max-width: 700px){
  .woocommerce-MyAccount-content{ padding:14px; }
}

/* ===== Checkout — 2 columnas compactas tipo card ===== */

/* Contenedor general del checkout */
body.woocommerce-checkout .site-content > .ast-container{
  max-width: var(--container-max, 1240px) !important;
  padding-inline: var(--container-px, 16px) !important;
  margin: 0 auto !important;
}

/* Grid: izquierda (formulario) | derecha (resumen) */
.woocommerce-checkout .woocommerce{
  max-width: 1100px;                 /* ← ancho total prudente */
  margin: 24px auto 56px;
}
.woocommerce-checkout form.checkout{
  display: grid !important;
  grid-template-columns: minmax(560px, 1fr) 360px !important;
  gap: 28px !important;
  align-items: start;
}

/* Izquierda (datos del cliente) como card */
.woocommerce-checkout #customer_details{
  background: #141416;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 16px;
}

/* Títulos y espaciados más contenidos */
.woocommerce-checkout #customer_details h3{
  font-size: 1.1rem;
  margin: 6px 0 10px;
}
.woocommerce form .form-row{
  margin: 0 0 12px;                  /* menos separación entre campos */
}

/* Inputs/selects compactos y redondeados */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  height: 42px;
  border-radius: 12px;
  font-size: .95rem;
}

/* Select2 (país/región) al mismo alto */
.select2-container--default .select2-selection--single{
  height: 42px !important; border-radius: 12px !important;
  background: #0f0f11; border-color: rgba(255,255,255,.12);
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 42px !important; padding-left: 12px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 42px !important;
}

/* Columna derecha (resumen) como card + sticky */
.woocommerce-checkout #order_review{
  background: #141416;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 16px;
  position: sticky; top: 96px;       /* se mantiene visible al hacer scroll */
}

/* Tabla del resumen sin fondos blancos */
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{
  background: transparent !important;
  border-color: rgba(255,255,255,.10) !important;
}
.woocommerce-checkout #order_review_heading{
  font-size: 1.1rem; margin: 0 0 10px;
}

/* Botón de “Realizar pedido” más consistente */
.woocommerce-checkout #payment .place-order .button{
  width: 100%; border-radius: 14px; padding: 12px; font-size: 1rem;
}

/* Ajustes del bloque de pago (borde y radios) */
.woocommerce-checkout #payment{
  background: #141416; border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px; padding: 12px;
}

/* Responsive: apilar */
@media (max-width: 980px){
  .woocommerce-checkout form.checkout{ grid-template-columns: 1fr !important; }
  .woocommerce-checkout #order_review{ position: static; margin-top: 16px; }
}

/* Checkout: "Añade una nota a tu pedido" en blanco */
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-additional-fields .form-row label{
  color: #fff !important;
}

/* (opcional) Mejora visual del checkbox */
.woocommerce-checkout input[type="checkbox"]{
  width: 18px; height: 18px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,.6);
  background: #0f0f11;
  vertical-align: middle;
  margin-right: 8px;
  accent-color: #fff; /* caja blanca; si prefieres morado usa #7a58ff */
}

.fort-grid-2col{
  display: grid;
  grid-template-columns: minmax(420px, 1fr) 1fr; /* galería | info */
  gap: 28px;
  align-items: start;
}
.fort-reco{ margin-top: 32px; }
.fort-reco__title{ font-size: 1.25rem; margin: 0 0 12px; }

@media (max-width: 980px){
  .fort-grid-2col{ grid-template-columns: 1fr; }
}

/* ===== Login / Register centrados y un poco más grandes ===== */

/* 1) Centrar la “tarjeta” del formulario en páginas normales con [woocommerce_my_account] */
body.page-template-default .woocommerce form.login, /* Más específico para páginas de Login/Registro */
body.page-template-default .woocommerce form.register {
  width: min(560px, 92vw);
  margin: 32px auto 80px !important; /* <--- CENTRADO FORZADO */
  background:#141416;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:22px 24px;
  box-shadow:0 8px 26px rgba(0,0,0,.28);
  /* Asegurarse de que no flote */
  float: none !important;
  clear: both !important;
}
/* 2) Inputs más altos y cómodos */
.page .woocommerce form .form-row input.input-text,
.page .woocommerce form .input-text,
.page .woocommerce form input[type="email"],
.page .woocommerce form input[type="password"],
.page .woocommerce form input[type="text"]{
  height:46px;
  font-size:16px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:#fff;
  color:#111;
}

/* 3) Botón con mejor presencia */
.page .woocommerce form .button,
.page .woocommerce .woocommerce-form-login__submit,
.page .woocommerce .woocommerce-form-register__submit{
  min-height:44px;
  padding:10px 20px;
  border-radius:14px;
  font-weight:700;
}

/* 4) “Recuérdame” alineado */
.page .woocommerce form .woocommerce-form__label-for-checkbox{
  display:inline-flex; align-items:center; gap:8px;
}

/* ==========================
   Login / Registro (centrado)
   ========================== */

/* 1) Centrar el contenido de las páginas que usan [woocommerce_my_account] */
body.woocommerce-account .site-content > .ast-container{
  max-width: 980px;              /* ancho de la zona de contenido */
  margin: 0 auto !important;     /* centrado del contenedor */
  padding-inline: 24px;
}

/* 2) Centrar el bloque del formulario y limitar su ancho */
body.woocommerce-account #customer_login{
  width: min(620px, 100%);
  margin: 24px auto 96px;        /* <-- centrado */
}

/* 3) Obligar a que el “col2-set” se comporte como 1 sola columna
      (aunque Woo piense que son 2) y quite floats/anchos fijos */
body.woocommerce-account .u-columns.col2-set{
  display: block !important;
}
body.woocommerce-account .u-columns .col-1,
body.woocommerce-account .u-columns .col-2{
  float: none !important;
  width: 100% !important;
}

/* 4) Título centrado (opcional) */
body.woocommerce-account .entry-header{
  text-align: center;
}

/* 5) Tarjeta y visual (mantiene el estilo que te gustó) */
body.woocommerce-account .woocommerce form.login,
body.woocommerce-account .woocommerce form.register{
  background: #15151a;
  border-radius: 16px;
  padding: 24px 28px 28px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06);
}

/* === Login / Registro: centrar 100% el contenido === */
/* Usa los slugs reales de tus páginas. Si no los tienes, cambia por .page-id-XXX */
.page-ingresar .entry-header,
.page-registrarse .entry-header{
  text-align: center;
}

/* El contenedor de la página empuja al centro */
.page-ingresar .entry-content,
.page-registrarse .entry-content{
  display: flex;
  justify-content: center;   /* centra horizontal */
}

/* Gutenberg envuelve el shortcode en .wp-block-shortcode: lo centramos también */
.page-ingresar .entry-content .wp-block-shortcode,
.page-registrarse .entry-content .wp-block-shortcode{
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Limitamos y centramos la “tarjeta” de Woo dentro del wrapper */
.page-ingresar .entry-content .wp-block-shortcode > .woocommerce,
.page-registrarse .entry-content .wp-block-shortcode > .woocommerce{
  width: min(720px, 100%);   /* mismo ancho que venías usando, ajusta si quieres */
  margin-inline: auto;
}

/* Un poquito más de separación arriba para que se vea equilibrado */
.page-ingresar .entry-content .wp-block-shortcode > .woocommerce,
.page-registrarse .entry-content .wp-block-shortcode > .woocommerce{
  margin-top: 12px;
}

/* ===== Mi cuenta (Ingresar / Registrarse) — centrado fino ===== */

/* Limita y centra el bloque principal */
body.woocommerce-account .site-content > .ast-container {
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: 24px;
}

/* Centra el wrapper visualmente */
body.woocommerce-account .entry-content {
  display: grid;
  justify-items: center;
}

/* Forzado de centrado absoluto del formulario (no depende del padding del padre) */
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register {
  width: min(740px, calc(100% - 48px));   /* mismo ancho que dejaste, con respiración */
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 24px 0 56px;                    /* separación arriba/abajo */
}

/* (opcional) centra el título visualmente respecto al formulario */
body.woocommerce-account .entry-content > h2,
body.woocommerce-account .woocommerce h2 {
  text-align: center;
}

/* ===== FONDO OSCURO GLOBAL EN TODOS LOS BREAKPOINTS ===== */
/* 1) Fondo base del sitio */
html, body {
  background: var(--bg, #0b0b0c) !important;
  color: var(--txt, #f5f5f7);
}

/* 2) Anular fondos blancos de Astra (desktop y móvil) para que hereden el body */
.site,
#page,
.site-content,
.content-area,
.site-main,
.ast-container,
.ast-plain-container,
.ast-separate-container .site-main > * ,
.ast-separate-container .site-main > .ast-row,
.ast-separate-container .ast-archive-description,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-woocommerce-container,
.ast-single-post .site-main > article {
  background: transparent !important;
  box-shadow: none !important; /* evita tarjetas blancas con sombra */
}

/* 3) WooCommerce: asegurar wrappers sin fondo blanco inesperado */
.woocommerce-page .site,
.woocommerce-page .site-content,
.woocommerce-page .content-area,
.woocommerce-page .site-main,
.woocommerce-page .ast-container {
  background: transparent !important;
}

/* 4) (Opcional) tablas/gutenberg genéricas si alguna aparece blanca */
.entry-content .wp-block-table table {
  background: #141416 !important;
  border-color: rgba(255,255,255,.08) !important;
  color: var(--txt, #f5f5f7) !important;
}

/* ===========================
   PALETA (ajústala si quieres)
   =========================== */
:root{
  --bg: #0b0b0c;              /* fondo del sitio */
  --txt: #f5f5f7;
  --accent: #7b61ff;          /* morado de la marca */

  /* 1) Diferencia de color para header y footer */
  --hdr-bg: #090a0c;          /* un pelín más oscuro que el body */
  --ftr-bg: #0a0b0d;          /* también distinto del body */
  --bar-stroke: rgba(255,255,255,.06);

  /* 2) Tarjetas de productos azul/gris */
  --card-blue: #131821;       /* azul grisáceo oscuro */
  --card-stroke: rgba(255,255,255,.10);
  --card-hover-stroke: rgba(123,97,255,.35);
}

/* ===========================
   1) HEADER Y MENÚ MÓVIL
   =========================== */
.site-header,
.ast-primary-header-bar,
.ast-above-header,
.ast-below-header {
  background: linear-gradient(180deg, var(--hdr-bg), #0b0c10);
  box-shadow: inset 0 -1px 0 var(--bar-stroke);
}
.ast-header-break-point .ast-mobile-header-wrap,
.ast-header-break-point .ast-mobile-popup-drawer,
.ast-header-break-point .ast-mobile-popup-content {
  background: var(--hdr-bg) !important; /* menú móvil */
}

/* ===========================
   2) FOOTER
   =========================== */
.site-footer,
.ast-footer-overlay,
.ast-builder-grid-row-container,
.ast-builder-grid-row {
  background: linear-gradient(180deg, var(--ftr-bg), #0d0e11) !important;
  box-shadow: inset 0 1px 0 var(--bar-stroke);
}
.site-footer * { color: var(--txt); }

/* Catálogo: panel completo en móvil (sin que se corte) */
@media (max-width: 781px){
  .site-header,
  .nav-bar,
  .center-group{ overflow: visible !important; }

  #catPanel{               /* tu panel del catálogo */
    z-index: 10010 !important;
    left: 0 !important;
    right: auto !important;
    width: min(96vw, 560px) !important;
    max-height: calc(100vh - var(--navbar-h,52px) - 40px) !important;
    overflow: auto !important;
  }

  /* por si el título del bloque era cortado */
}


/* === Mini-carrito: estilo burbuja anclada === */
.cart-wrap { position: relative; }

/* Panel como hermano del boton dentro de .cart-wrap */
.cart-wrap .mini-cart-panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: min(380px, 92vw);
  background: #141416;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  box-shadow: 0 18px 46px rgba(0,0,0,.45);
  padding: 16px;
  z-index: 10000; /* por encima del header */
}

/* Triangulito de la burbuja */
.cart-wrap .mini-cart-panel::before {
  content:"";
  position:absolute;
  top:-8px; right:22px;
  width:16px; height:16px;
  background:#141416;
  border-left: 1px solid rgba(255,255,255,.12);
  border-top: 1px solid rgba(255,255,255,.12);
  transform: rotate(45deg);
}

/* Ocultar cuando [hidden] para evitar parpadeos */
.cart-wrap .mini-cart-panel[hidden] { display:none !important; }

/* Contenido del widget (espaciados y tipografías) */
.mini-cart-panel .woocommerce-mini-cart {
  max-height: 58vh;
  overflow:auto;
  margin: 0 0 12px;
  padding-right: 6px; /* espacio para scroll */
}
.mini-cart-panel .woocommerce-mini-cart__total { 
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 10px;
  margin-top: 8px;
  font-weight: 600;
}
.mini-cart-panel .woocommerce-mini-cart__buttons .button {
  display:inline-block;
  margin-right:8px;
  margin-top:10px;
  border-radius: 999px; /* pastillas redondas */
  padding:10px 16px;
}

/* Botones “pastilla” con tu morado */
.mini-cart-panel .woocommerce-mini-cart__buttons .button.checkout {
  background: #7C5CFF; /* tu morado */
  color:#fff;
}
.mini-cart-panel .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.20);
}

/* Imagen y texto más limpios */
.mini-cart-panel .woocommerce-mini-cart li {
  display:grid; grid-template-columns: 56px 1fr; column-gap:10px;
  align-items:center;
}
.mini-cart-panel .woocommerce-mini-cart li img { border-radius:10px; }
.mini-cart-panel .woocommerce-mini-cart .quantity { opacity:.85; }

/* Mensaje vacío (una sola vez) */
.mini-cart-panel p.empty + p.empty { display:none !important; }

/* Desbloqueo por defecto */
html, body { overflow-y: auto; }

/* Evita horizontales inesperados */
html, body { overflow-x: hidden; }


/* ===========================
   Página Buscar (/buscar/)
   =========================== */
.fort-search { padding: 28px 0 40px; }
.fort-search__container {
  max-width: var(--container-max, 1240px);
  margin: 0 auto;
  padding: 0 var(--container-px, 16px);
}

/* Título + barrita de búsqueda de Woo */
.fort-search__head {
  display: grid;
  grid-template-columns: 1fr minmax(280px, 520px);
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.fort-search__head h1 { margin: 0; }

.fort-search .woocommerce-product-search {
  display: flex; gap: 8px;
}
.fort-search .woocommerce-product-search input[type="search"]{
  flex: 1; height: 44px; border-radius: 12px;
  background:#141416; color:#fff;
  border:1px solid rgba(255,255,255,.12); padding: 0 12px;
}
.fort-search .woocommerce-product-search button {
  height: 44px; border-radius: 12px; padding: 0 16px;
  background: var(--prim, #7c5cff); color:#fff; border:0;
}

/* Cuadrícula de productos (misma estética que archivo/tienda) */
.fort-search ul.products{
  display:grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: clamp(16px, 2vw, 24px);
  list-style:none !important;
  margin: 16px 0 28px !important;
  padding:0 !important;
}
.fort-search ul.products li.product{
  float:none !important; width:auto !important; margin:0 !important;
  padding:14px !important; background:#141416;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px; display:flex; flex-direction:column;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.fort-search ul.products li.product:hover{
  transform: translateY(-3px);
  border-color: rgba(124,92,255,.45);
  box-shadow:0 12px 28px rgba(0,0,0,.30);
}
.fort-search ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex; flex-direction:column; height:100%; text-decoration:none;
}
.fort-search ul.products li.product img{
  width:100%; height:260px; object-fit:contain; border-radius:10px; margin-bottom:12px;
}
.fort-search ul.products li.product .woocommerce-loop-product__title{
  font-size:1rem; color: var(--txt, #f5f5f7);
}
.fort-search ul.products li.product .price{ margin-top:auto; padding-top:10px; }
.fort-search ul.products li.product .button{ width:100%; margin-top:12px; border-radius:12px; }

/* Vacío + Recomendados */
.fort-search__empty { margin: 12px 0 8px; }
.fort-search__reco { margin-top: 18px; }
.fort-search__reco h3 { margin: 0 0 12px; }

/* Ocultar título de la página solo en /buscar/ */
.fort-buscar .entry-title { display: none !important; }

/* Header de la sección sin barra lateral de búsqueda */
.fort-search__head {
  display: grid;
  grid-template-columns: 1fr; /* solo el H1 (cuando haya término) */
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

/* Por si alguna plantilla inyecta un formulario de búsqueda dentro de la sección */
.fort-search .woocommerce-product-search { display: none !important; }

/* ====== FIX: Mi Cuenta rota por reglas de centrado de Login/Registro ====== */

/* 1) Cuando el usuario YA está logueado, quitamos el centrado global
   que se usó para Login/Registro */
body.logged-in.woocommerce-account .entry-content {
  display: block !important;
  justify-items: normal !important;
}

/* 2) El wrapper que Gutenberg usa para el shortcode no debe forzar centrado */
body.logged-in.woocommerce-account .entry-content .wp-block-shortcode {
  display: block !important;
  width: auto !important;
  justify-content: normal !important;
  margin: 0 !important;
}

/* 3) Aseguramos nuestro layout en 2 columnas para Mi Cuenta (menú izq + contenido der) */
body.logged-in.woocommerce-account .entry-content .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(240px, 300px) 1fr !important;
  gap: 22px !important;
  align-items: start;
  max-width: var(--container-max, 1240px);
  margin: 24px auto 56px !important;  /* centrado del bloque completo */
  padding: 0 var(--container-px, 16px);
}

/* 4) Links del menú con ancho completo (evita que el texto “baje” en vertical) */
.woocommerce-MyAccount-navigation ul { display:flex; flex-direction:column; gap:10px; }
.woocommerce-MyAccount-navigation li { margin:0 !important; }
.woocommerce-MyAccount-navigation-link a {
  display:block !important;
  width:100% !important;
  white-space: normal !important;   /* por si algún estilo los hacía estrechos */
  overflow-wrap: anywhere;          /* rompe palabras largas sin apilar letras */
}

/* 5) Blindaje por si algún estilo externo activó escritura vertical */
.woocommerce-MyAccount-navigation, 
.woocommerce-MyAccount-navigation * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/* 6) Las reglas de centrado de Login/Registro SOLO deben aplicar a esas páginas.
   (Usa los slugs reales: /ingresar/ y /registrarse/) */
.page-ingresar .entry-content,
.page-registrarse .entry-content {
  display: flex !important;
  justify-content: center !important;
}
.page-ingresar .entry-content .wp-block-shortcode,
.page-registrarse .entry-content .wp-block-shortcode {
  display:flex !important;
  justify-content:center !important;
  width:100% !important;
}

/* ===== MI CUENTA – layout consistente (nav izq + contenido der) ===== */

/* Contenedor general: grid de 2 columnas */
body.logged-in.woocommerce-account .entry-content .woocommerce{
  display:grid !important;
  grid-template-areas: "nav content";
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap:28px;
  max-width: 1240px;
  margin: 28px auto 72px !important;
  padding: 0 16px;
  align-items: start;
}

/* Asegurar que Woo nav y content ocupen su área correcta */
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation{ grid-area: nav; }
body.logged-in.woocommerce-account .woocommerce-MyAccount-content{ grid-area: content; }

/* Quitar cualquier centrado heredado de login/registro */
body.logged-in.woocommerce-account .entry-content,
body.logged-in.woocommerce-account .entry-content .wp-block-shortcode{
  display:block !important;
  margin:0 !important; width:auto !important; justify-content:normal !important;
  text-align:left !important;
}

/* ===== Menú lateral ===== */
.woocommerce-MyAccount-navigation ul{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:12px;
}
.woocommerce-MyAccount-navigation li{ margin:0; }
.woocommerce-MyAccount-navigation-link a{
  display:block; width:100%;
  padding:12px 16px; border-radius:999px;
  white-space:normal; overflow-wrap:anywhere;
}

/* Estado activo del menú (ajusta a tu paleta si quieres) */
.woocommerce-MyAccount-navigation .is-active a{
  font-weight:700;
}

/* ===== Columna de contenido ===== */
.woocommerce-MyAccount-content{
  min-width:0;                 /* evita desbordes */
}

/* Títulos dentro de Mi Cuenta: vuelve a tamaños razonables */
.woocommerce-account .woocommerce h1,
.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce h3{
  font-size: clamp(18px, 2.2vw, 22px) !important;
  line-height:1.25 !important;
  margin: 0 0 14px !important;
}

/* Tarjetas/boxes que tienes estiladas: que no se vayan demasiado angostas */
.woocommerce-account .woocommerce .card,
.woocommerce-account .woocommerce .woocommerce-orders-table,
.woocommerce-account .woocommerce form{
  max-width: 880px;            /* ancho cómodo de lectura */
}

/* ===== Página "Direcciones" en tarjetas responsivas ===== */
.woocommerce-account .woocommerce-Addresses{
  display:grid; gap:22px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.woocommerce-account .woocommerce-Address{
  margin:0 !important;
}

/* Botones de acción dentro de Direcciones para que no “salten” */
.woocommerce-account .woocommerce-Address .edit{
  display:inline-flex; align-items:center; gap:8px;
}

/* ===== Responsive ===== */
@media (max-width: 980px){
  body.logged-in.woocommerce-account .entry-content .woocommerce{
    grid-template-areas:
      "nav"
      "content";
    grid-template-columns: 1fr;
    gap:20px;
  }
  .woocommerce-MyAccount-navigation ul{ flex-direction:row; flex-wrap:wrap; }
  .woocommerce-MyAccount-navigation-link a{ border-radius:12px; }
}

/* ===== Fix definitivo menú Mi Cuenta (píldoras a la izquierda) ===== */
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation * {
  writing-mode: horizontal-tb !important;   /* desactiva vertical */
  text-orientation: mixed !important;
  transform: none !important;                /* por si algún rotate quedó rondando */
}

/* Enlaces como píldoras, a lo ancho de la columna y sin romper letras */
.woocommerce-MyAccount-navigation-link a {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;

  width: 100% !important;
  min-width: 230px;           /* asegura que quepa el texto */
  max-width: 100%;

  min-height: 44px;
  padding: 12px 16px;
  text-align: left !important;

  white-space: nowrap;        /* no partir palabras */
  word-break: normal;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;    /* si un texto es larguísimo, lo corta con … */
}

/* Asegura que la columna del nav no colapse */
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100%;
}

/* En móviles convertimos a chips que pueden saltar de línea */
@media (max-width: 980px){
  .woocommerce-MyAccount-navigation ul {
    display: flex; flex-wrap: wrap; gap: 10px;
  }
  .woocommerce-MyAccount-navigation-link a {
    min-width: 0;           /* permite encoger en mobile */
    white-space: normal;    /* ya puede romper en 2 líneas si es necesario */
    text-overflow: clip;
  }
}

/* ===== Checkout oscuro: mejora de contraste en "Precio final" ===== */

/* Texto base de la tabla del resumen */
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table th,
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table td {
  color: #E9E9F4 !important;            /* texto principal claro */
}

/* Fila de envío (label del método y texto auxiliar) */
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table .shipping td,
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table .shipping td *,
.woocommerce ul#shipping_method li label {
  color: #E9E9F4 !important;
}

/* Textos secundarios dentro del resumen (p.ej. "Cambiar dirección", ayudas, impuestos) */
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table tfoot small,
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table .includes_tax,
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table .fee,
.woocommerce-checkout .woocommerce-checkout-review-order .shop_table .shipping small {
  color: rgba(233,233,244,.78) !important; /* ligeramente más tenue pero legible */
}

/* Links del resumen (mantener tu morado y subrayado al pasar el mouse) */
.woocommerce-checkout .woocommerce-checkout-review-order a {
  color: #8B6CFF !important;
  text-decoration: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order a:hover {
  text-decoration: underline;
}

/* Por si algún tema/plugin baja el contraste del radio/checkbox del método de envío */
.woocommerce ul#shipping_method li input[type="radio"] + label {
  color: #E9E9F4 !important;
}

/* ===== MI CUENTA → Direcciones: mantener el botón dentro de la tarjeta ===== */

/* La tarjeta */
.woocommerce-account .woocommerce-Address{
  position: relative;
}

/* Encabezado + botón en una fila flexible (y sin floats) */
.woocommerce-account .woocommerce-Address .woocommerce-Address-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}

/* Título sin márgenes exagerados */
.woocommerce-account .woocommerce-Address .woocommerce-Address-title h3{
  margin:0; line-height:1.2;
}

/* El botón deja de flotar/posicionarse raro y se queda dentro */
.woocommerce-account .woocommerce-Address .edit{
  position:static !important;      /* por si algún tema lo posiciona */
  float:none !important;           /* Woo por defecto lo flota */
  margin-left:12px;
  flex:0 0 auto;
}

/* Píldora morada segura dentro del ancho de la tarjeta */
.woocommerce-account .woocommerce-Address .edit a{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 14px; border-radius:999px;
  max-width:100%; white-space:nowrap; text-overflow:ellipsis; overflow:hidden;
}

/* Móvil: que el botón baje debajo del título y no se salga */
@media (max-width: 768px){
  .woocommerce-account .woocommerce-Address .woocommerce-Address-title{
    flex-direction:column; align-items:flex-start; gap:8px;
  }
  .woocommerce-account .woocommerce-Address .edit{
    margin:6px 0 0 0;
  }
  .woocommerce-account .woocommerce-Address .edit a{
    max-width:100%;
  }
}

/* ===== Header: normalizar alturas y alineación de CTA ===== */
:root{
  --hdr-btn-h: 44px;          /* alto objetivo de botones del header */
}

.header-actions, .topbar-actions, .nav-actions {
  display:flex; align-items:center; gap:12px;
}

.header-actions .btn,
.header-actions .cart-btn,
.topbar-actions .btn,
.topbar-actions .cart-btn,
.nav-actions .btn,
.nav-actions .cart-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: var(--hdr-btn-h);
  line-height: var(--hdr-btn-h);
  padding: 0 14px;
}

/* Badge del carrito siempre en la esquina superior derecha del botón */
.cart-btn { position: relative; }
.cart-btn .badge{
  position:absolute; top:-7px; right:-7px;
}

/* ===== FIX específico: página Ver carrito ===== */
body.woocommerce-cart .cart-btn{
  /* anula cualquier desplazamiento que la plantilla del carrito le esté aplicando */
  margin:0 !important;
  top:auto !important;
  transform:none !important;
  translate: none !important;
}

/* por si algún tema cambia la línea base en esa vista */
body.woocommerce-cart .header-actions .cart-btn,
body.woocommerce-cart .topbar-actions .cart-btn,
body.woocommerce-cart .nav-actions .cart-btn{
  height: var(--hdr-btn-h) !important;
  line-height: var(--hdr-btn-h) !important;
  align-self:center !important;
}

/* Botón "Editar/Añadir Dirección" en Mi Cuenta: permitir 2 líneas en móvil */
.woocommerce-account .woocommerce-Address .edit a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: normal;         /* <- permite saltos de línea */
  line-height: 1.15;
  max-width: 100%;
}

@media (max-width: 480px){
  .woocommerce-account .woocommerce-Address .edit a{
    font-size: 14px;
    padding: 8px 12px;         /* un poco más compacto en móvil */
  }
}

/* ===== WooCommerce: Thank you / Pay order en tema oscuro ===== */

/* Limita a las páginas de recibido/pago */
body.woocommerce-order-received,
body.woocommerce-order-pay {
  --card-bg: #141416;
  --card-brd: rgba(255,255,255,.08);
  --txt: #E9E9F4;
}

/* Títulos “Detalles del pedido”, “Dirección de facturación/envío”, etc. */
body.woocommerce-order-received h2,
body.woocommerce-order-pay h2,
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-pay .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-pay .woocommerce-column__title {
  background: var(--card-bg) !important;
  color: #fff !important;
  padding: 10px 16px !important;
  border: 1px solid var(--card-brd) !important;
  border-radius: 12px !important;
  display: inline-block !important;
  margin: 0 0 12px !important;
}

/* Tabla “Detalles del pedido” */
body.woocommerce-order-received table.shop_table,
body.woocommerce-order-pay table.shop_table {
  background: var(--card-bg) !important;
  color: var(--txt) !important;
  border-color: var(--card-brd) !important;
}
body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-pay table.shop_table th,
body.woocommerce-order-received table.shop_table td,
body.woocommerce-order-pay table.shop_table td {
  border-color: var(--card-brd) !important;
  color: var(--txt) !important;
}

/* Columnas de “Dirección de facturación / envío” */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-pay .woocommerce-customer-details .woocommerce-column {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-brd) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  color: var(--txt) !important;
}

/* Bloque de datos bancarios (BACS) */
body.woocommerce-order-received .wc-bacs-bank-details,
body.woocommerce-order-pay .wc-bacs-bank-details,
body.woocommerce-order-received .woocommerce-bacs-bank-details,
body.woocommerce-order-pay .woocommerce-bacs-bank-details {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-brd) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  color: var(--txt) !important;
}

/* Textos secundarios dentro de esos bloques */
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-pay .woocommerce-order {
  color: var(--txt) !important;
}
body.woocommerce-order-received .woocommerce-order a,
body.woocommerce-order-pay .woocommerce-order a {
  color: #8B6CFF !important;
}

/* ========= 1) MI CUENTA → “Mis pedidos”: que la tabla NO se salga del card ========= */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders{
  width: 100%;
  background: #141416 !important;
  color: #E9E9F4 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 16px !important;
  border-collapse: separate !important;   /* necesario para que respete el radius */
  border-spacing: 0 !important;
  overflow: hidden;                       /* ayuda en algunos navegadores */
}

/* Encabezados y celdas con buen contraste */
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders th{
  background: #1b1c20 !important;
  color: #E9E9F4 !important;
  border-color: rgba(255,255,255,.08) !important;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td{
  color: #E9E9F4 !important;
  border-color: rgba(255,255,255,.08) !important;
}

/* Botón “Ver” alineado, sin desbordes */
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders .button{
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 56px; height: 36px;
  padding: 0 14px; border-radius: 999px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ========= 2) MI CUENTA → DETALLE DE PEDIDO (endpoint ver pedido) ========= */
/* Aplica a la vista /mi-cuenta/view-order/… (algunos temas añaden la clase .woocommerce-view-order) */
body.woocommerce-account.woocommerce-view-order {
  --card-bg: #141416;
  --card-brd: rgba(255,255,255,.08);
  --txt: #E9E9F4;
}

/* Título “Detalles del pedido” */
body.woocommerce-account.woocommerce-view-order .woocommerce-order-details__title{
  display:inline-block;
  background: var(--card-bg) !important;
  color:#fff !important;
  padding:10px 16px !important;
  border:1px solid var(--card-brd) !important;
  border-radius:12px !important;
  margin:0 0 12px !important;
}

/* Tabla del detalle del pedido */
body.woocommerce-account.woocommerce-view-order table.shop_table{
  background: var(--card-bg) !important;
  color: var(--txt) !important;
  border:1px solid var(--card-brd) !important;
  border-radius:16px !important;
  border-collapse: separate !important;
  border-spacing:0 !important;
}
body.woocommerce-account.woocommerce-view-order table.shop_table th{
  background:#1b1c20 !important;
  color: var(--txt) !important;
  border-color: var(--card-brd) !important;
}
body.woocommerce-account.woocommerce-view-order table.shop_table td{
  color: var(--txt) !important;
  border-color: var(--card-brd) !important;
}

/* Bloques “Dirección de facturación / envío” dentro del detalle */
body.woocommerce-account.woocommerce-view-order .woocommerce-customer-details .woocommerce-column{
  background: var(--card-bg) !important;
  color: var(--txt) !important;
  border:1px solid var(--card-brd) !important;
  border-radius:16px !important;
  padding:16px !important;
}
body.woocommerce-account.woocommerce-view-order .woocommerce-customer-details .woocommerce-column__title{
  background: var(--card-bg) !important;
  color:#fff !important;
  border:1px solid var(--card-brd) !important;
  border-radius:12px !important;
  padding:10px 16px !important;
  display:inline-block !important;
  margin:0 0 10px !important;
}

/* Textos auxiliares que aún pudieran quedar en gris/negro */
body.woocommerce-account.woocommerce-view-order .woocommerce-order,
body.woocommerce-account.woocommerce-view-order .woocommerce-order *{
  color: var(--txt) !important;
}
body.woocommerce-account.woocommerce-view-order .woocommerce-order a{
  color:#8B6CFF !important;
}


/* Mi cuenta → Ver pedido: texto superior en claro */
body.woocommerce-account.woocommerce-view-order .woocommerce-order p,
body.woocommerce-account.woocommerce-view-order .woocommerce-order p *,
body.woocommerce-account.woocommerce-view-order .woocommerce-order .order-info,
body.woocommerce-account.woocommerce-view-order .woocommerce-order .order-info *,
body.woocommerce-account.woocommerce-view-order .woocommerce-order .woocommerce-order-overview,
body.woocommerce-account.woocommerce-view-order .woocommerce-order .woocommerce-order-overview *{
  color:#E9E9F4 !important;
}

/* Cualquier <mark> o estado que pudiera quedar oscuro */
.woocommerce .order-status,
.woocommerce mark, .woocommerce .mark{
  background: transparent !important;
  color:#E9E9F4 !important;
}


/* Si por error se imprimen dos mensajes seguidos, oculta el segundo */
#miniCartPanel .woocommerce-mini-cart__empty-message + .woocommerce-mini-cart__empty-message{
  display:none !important;
}

/* Mi cuenta → contenedor grande detrás de la tabla: quitarlo */
.woocommerce-account .woocommerce-MyAccount-content{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;        /* evita que el fondo “asome” */
}

/* Mantén la tabla como la tarjeta principal */
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders{
  width:100%;
  background:#141416 !important;
  color:#E9E9F4 !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders th{
  background:#1b1c20 !important;
  color:#E9E9F4 !important;
  border-color:rgba(255,255,255,.08) !important;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td{
  color:#E9E9F4 !important;
  border-color:rgba(255,255,255,.08) !important;
}

/* Redondeos correctos en la 1ª y última fila */
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders thead th:first-child{border-top-left-radius:16px}
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders thead th:last-child{border-top-right-radius:16px}
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders tbody tr:last-child td:first-child{border-bottom-left-radius:16px}
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders tbody tr:last-child td:last-child{border-bottom-right-radius:16px}

/* Oculta “para X artículos” en la tabla de pedidos */
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td.order-total small{
  display:none !important;
}

/* Columna Acciones con ancho fijo y botón centrado */
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders th.order-actions,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td.order-actions{
  width:120px; text-align:center;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td.order-actions .button{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:56px; height:36px; padding:0 14px; border-radius:999px;
}

/* Quitar la barra blanca del título en tarjetas de categorías */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title,
.wc-block-grid__product-category .wc-block-grid__product-title {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: #E9E9F4 !important;          /* texto claro para tu tema oscuro */
  border: 0 !important;
}

/* Por si el tema usa pseudo-elemento como fondo */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title::before,
.wc-block-grid__product-category .wc-block-grid__product-title::before {
  display: none !important;
}

/* (Opcional) Esconde el contador (x productos) si aparece */
.woocommerce ul.products li.product.product-category .count {
  display: none !important;
}

/* (Opcional) Si prefieres el título debajo de la imagen, no superpuesto */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title {
  position: static !important;
  transform: none !important;
  padding: 8px 0 !important;
  margin: 6px 0 0 !important;
  text-align: center;
}

/* Checkout (WooCommerce Blocks) — modo oscuro */

/* Texto de los checkboxes, radios y labels en general */
.wc-block-checkout,
.wc-block-components {
  --fort-txt: #fff;
}

.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
.wc-block-components-text-input__label,
.wc-block-components-address-form label,
.wc-block-components-notice-banner__content {
  color: var(--fort-txt) !important;
}

/* Placeholders y texto dentro de inputs/selects */
.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-text-input textarea {
  color: #fff !important;
  background: #141416 !important;
  border-color: rgba(255,255,255,.25) !important;
}

.wc-block-components-text-input input::placeholder,
.wc-block-components-text-input textarea::placeholder {
  color: rgba(255,255,255,.7) !important;
}

/* Checkbox y radio: bordes visibles en oscuro */
.wc-block-components-checkbox__input,
.wc-block-components-radio-control__input {
  border-color: rgba(255,255,255,.5) !important;
}

/* “Usar la misma dirección para facturación” (línea concreta) */
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  color: #fff !important;
}

/* Mini-carrito: dejar solo un mensaje de "carrito vacío" */
.mini-cart-panel .woocommerce-mini-cart__empty-message + .woocommerce-mini-cart__empty-message {
  display: none;
}

/* --- Página de gracias / detalles del pedido --- */
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
  background-color: #0b0b0c !important; /* mismo fondo de la web */
  color: #ffffff !important;
  border: 1px solid #2a2a2f;  /* opcional, para que se diferencie un poco */
  box-shadow: none;
}

/* Quitar fondos blancos en los títulos de los bloques */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  background: transparent !important;
}

/* Texto de los checkbox en el checkout (nota al pedido, usar misma dirección, etc.) */
body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-checkbox__label span {
  color: #ffffff !important;   /* texto blanco */
  opacity: 1 !important;       /* quita el efecto de deshabilitado gris */
}

/* Por si WooCommerce usa <label> “normal” en la sección de notas */
body.woocommerce-checkout .woocommerce-additional-fields label {
  color: #ffffff !important;
}

/* Ocultar cualquier control de Código Postal en WooCommerce Blocks */
.wc-block-components-address-form__postcode,
.wc-block-components-address-form [name$="_postcode"] {
  display: none !important;
}

/* =========================================================
   FIX MÓVIL: Título Arriba Centrado + Caja Abajo Centrada
   ========================================================= */
@media (max-width: 768px) {

  /* 1. Contenedor flexible vertical */
  body.woocommerce-account .entry-content,
  body.woocommerce-account .woocommerce,
  body.woocommerce-account #customer_login {
    display: flex !important;
    flex-direction: column !important; /* Apila elementos uno sobre otro */
    align-items: center !important;    /* Centra horizontalmente */
    width: 100% !important;
  }

  /* 2. El Título (Acceder / Registrarse) */
  body.woocommerce-account h2, 
  body.woocommerce-account .entry-title {
    text-align: center !important;
    width: 100% !important;
    margin-top: 10px !important;
    margin-bottom: 30px !important; /* <--- ESTO da el espacio entre título y caja */
    display: block !important;
    order: -1 !important; /* Fuerza visualmente a ir primero arriba */
  }

  /* 3. La Caja del Formulario (Card) */
  body.woocommerce-account form.woocommerce-form-login,
  body.woocommerce-account form.woocommerce-form-register,
  body.woocommerce-account .woocommerce form.login,
  body.woocommerce-account .woocommerce form.register {
    width: 92% !important;          /* Ancho cómodo en móvil */
    max-width: 400px !important;    /* Que no se haga gigante */
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 40px !important; /* Espacio abajo antes del footer */
    
    /* Aseguramos que no flote ni se vaya de lado */
    float: none !important;
    position: static !important;
    transform: none !important;
  }

  /* 4. Forzar columnas internas a ocupar 100% y no dividir espacio */
  body.woocommerce-account .u-columns, 
  body.woocommerce-account .col2-set,
  body.woocommerce-account .u-column1, 
  body.woocommerce-account .u-column2 {
    width: 100% !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/* Mini-carrito: ocultar mensaje de carrito vacío */
#miniCartPanel .woocommerce-mini-cart__empty-message,
#miniCartPanel p.empty {
  display: none !important;
}

/* =========================================================
   FIX: Títulos de Subcategorías completos (evitar corte)
   ========================================================= */

/* 1. Forzar que la tarjeta de categoría crezca lo necesario */
.woocommerce ul.products li.product.product-category,
.woocommerce ul.products li.product-category {
  height: auto !important;           /* Deja que la altura sea automática */
  min-height: 0 !important;          /* Resetea alturas mínimas fijas */
  display: flex !important;          /* Usa flexbox para ordenar contenido */
  flex-direction: column !important; /* Imagen arriba, texto abajo */
  overflow: visible !important;      /* ¡Importante! Impide que se corte el contenido */
  margin-bottom: 24px !important;    /* Asegura separación con la fila de abajo */
}

/* 2. Ajustar el título para que fluya naturalmente */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  position: static !important;       /* Quita posición absoluta si la hubiera */
  transform: none !important;
  padding: 10px 4px !important;      /* Un poco de aire alrededor del texto */
  margin: 0 !important;
  
  /* Permite que el texto baje a la siguiente línea si es largo */
  white-space: normal !important;    
  word-wrap: break-word !important;  
  line-height: 1.3 !important;       /* Mejor lectura en varias líneas */
  text-align: center !important;
  background: transparent !important; /* Quita fondos extraños sobre la imagen */
}

/* 3. Asegurar que la imagen no se coma todo el espacio */
.woocommerce ul.products li.product.product-category img,
.woocommerce ul.products li.product-category img {
  flex-shrink: 0 !important;         /* Evita que la imagen se aplaste */
  height: auto !important;           
  max-height: 300px !important;      /* Límite para que no sean gigantes */
  object-fit: contain !important;    /* Muestra la imagen completa */
  margin-bottom: 8px !important;     /* Separa la imagen del título */
}

/* =========================================================
   FIX: Reparar Header en página "Ver Carrito" (Móvil)
   ========================================================= */

/* 1. Asegurar que el contenedor de botones use Flexbox y no permita saltos de línea */
body.woocommerce-cart .site-header .actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important; /* Obliga a todo a estar en una sola línea */
  gap: 8px !important;
  position: relative !important;
}

/* 2. Resetear el botón del carrito y su envoltorio para que no floten */
body.woocommerce-cart .site-header .cart-wrap,
body.woocommerce-cart .site-header .cart-btn {
  position: relative !important; /* Anula el absolute que lo mueve */
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  display: inline-flex !important;
  height: 44px !important; /* Misma altura que los otros botones */
  z-index: auto !important;
}

/* 3. Ordenar los elementos: Carrito -> Mi Cuenta -> Salir */
/* Ajusta los números de 'order' si quieres cambiar la posición izquierda/derecha */
@media (max-width: 768px) {
  body.woocommerce-cart .site-header .actions .cart-wrap {
    order: 1 !important; /* Carrito primero (izquierda del grupo) */
  }
  body.woocommerce-cart .site-header .actions .link {
    order: 2 !important; /* Mi cuenta al medio */
  }
  body.woocommerce-cart .site-header .actions .btn {
    order: 3 !important; /* Salir al final (derecha) */
  }
}

/* =========================================================
   FIX: Ocultar título repetido en campo "Apartamento/Depto"
   ========================================================= */
#billing_address_2_field > label,
#shipping_address_2_field > label {
  display: none !important;
}

/* =========================================================
   FIX: Inputs de cantidad readonly (Stock 1) + Aviso Toast
   ========================================================= */

/* 1. Forzar que el input readonly se vea igual al normal (blanco) */
.woocommerce-cart .quantity input[readonly].qty {
  background-color: #fff !important;
  color: #000 !important;
  opacity: 1 !important;
  cursor: default;
}

/* 2. Estilo del mensaje flotante (Toast) */
.fort-toast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background-color: #1f1f22; /* Fondo oscuro tipo tarjeta */
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  padding: 12px 24px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
  z-index: 10000;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  text-align: center;
  width: max-content;
  max-width: 90%;
}

.fort-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
/* === Formulario Cotización de Mazos Fortaleza === */

.fort-cotizador-wrap{
  max-width: 780px;
  margin: 2.5rem auto;
  padding: 2rem 1.5rem;
  background: rgba(0,0,0,0.85);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.55);
  color: #f5f5f7;
}

.fort-cotizador-title{
  margin-top: 0;
  margin-bottom: .5rem;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 800;
  color: #ffffff;
}

.fort-cotizador-intro{
  margin-bottom: 1.5rem;
  color: #f5f5f7;   /* antes más gris, ahora blanco */
}

.fort-cotizador-form{
  display: grid;
  gap: 1rem;
}

.fort-field label{
  font-weight: 600;
  display: block;
  margin-bottom: .3rem;
  color: #ffffff;   /* labels siempre en blanco */
}

.fort-field label span{
  color: #ff6b6b;
  margin-left: .15rem;
}

.fort-field input[type="text"],
.fort-field input[type="email"],
.fort-field select,
.fort-field textarea{
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(20,20,26,0.95);
  color: #f5f5f7;
  padding: .7rem .9rem;
  font-size: .96rem;
}

/* placeholder en blanco/gris clarito */
.fort-field input[type="text"]::placeholder,
.fort-field input[type="email"]::placeholder,
.fort-field textarea::placeholder{
  color: #e0e0ff;
  opacity: 1; /* en algunos navegadores viene con menos opacidad */
}

/* select: texto claro y sin cortes */
.fort-field select{
  color: #f5f5f7;
  text-transform: none;
  font-size: .9rem;        /* un pelín más pequeño */
  padding-right: 2.5rem;   /* deja espacio al ícono de la flecha para que no tape el texto */
}

.fort-field input[type="file"]{
  color: #f5f5f7;
  font-size: .9rem;
}

.fort-field small{
  display: block;
  margin-top: .25rem;
  font-size: .8rem;
  color: #b2b2c7;
}

.fort-btn-submit{
  align-self: flex-start;
  padding: .8rem 1.6rem;
  border-radius: 999px;
  border: none;
  font-weight: 700;
  font-size: .98rem;
  cursor: pointer;
  background: #7c5cff;
  color: #fff;
  box-shadow: 0 14px 35px rgba(124,92,255,0.4);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.fort-btn-submit:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 18px 45px rgba(124,92,255,0.55);
}

/* mensajes */
.fort-cotizador-msg{
  padding: .8rem 1rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  font-size: .9rem;
}

.fort-cotizador-msg.ok{
  background: rgba(46, 204, 113, 0.18);
  border: 1px solid rgba(46, 204, 113, 0.8);
}

.fort-cotizador-msg.error{
  background: rgba(231, 76, 60, 0.18);
  border: 1px solid rgba(231, 76, 60, 0.8);
}

/* Responsive */
@media (max-width: 600px){
  .fort-cotizador-wrap{
    margin: 1.5rem 1rem;
    padding-inline: 1.25rem;
  }
}

/* =========================================================
   MEGA MENU CATALOGO - MITOS Y LEYENDAS
   ========================================================= */
.cat-panel {
  width: min(820px, calc(100vw - 32px));
  min-width: 720px;
  max-width: none;
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(126, 25, 43, .12), transparent 18%, transparent 82%, rgba(40, 72, 117, .14)),
    #0d0e12;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 20px;
  box-shadow:
    0 26px 68px rgba(0,0,0,.74),
    0 -1px 0 rgba(197, 43, 65, .34),
    0 1px 0 rgba(52, 92, 145, .2);
}

.cat-mega {
  display: block;
  color: #f3f3f7;
}

.cat-panel:has(.cat-mega--compact) {
  width: min(750px, calc(100vw - 32px));
  min-width: 660px;
}

.cat-feature {
  padding: 24px 25px 18px;
  border-bottom: 1px solid rgba(255,255,255,.055);
}

.cat-mega--compact .cat-feature {
  padding: 19px 21px 14px;
}

.cat-kicker {
  display: block;
  margin-bottom: 5px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(210, 213, 229, .58);
}

.cat-brand {
  display: inline-flex;
  color: #fff;
  font-size: 1.26rem;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.3;
  text-decoration: none;
}

.cat-brand:hover {
  color: #fff;
  text-shadow:
    -10px 0 24px rgba(176, 30, 52, .22),
    10px 0 24px rgba(47, 76, 119, .24);
}

/* =========================================================
   CARRITO V7 - BLOQUE AUTORITATIVO
   Mantener al final del archivo para neutralizar reglas antiguas.
   ========================================================= */

/* Mini carrito */
body .site-header #miniCartPanel {
  width: min(390px, calc(100vw - 24px)) !important;
  padding: 16px !important;
  overflow: hidden !important;
}

body .site-header #miniCartPanel ul.woocommerce-mini-cart {
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  list-style: none !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) 28px !important;
  grid-template-rows: auto auto !important;
  gap: 5px 12px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(166, 48, 78, .52) !important;
  border-radius: 12px !important;
  background: linear-gradient(120deg, rgba(126, 27, 54, .20), #131720 48%, rgba(41, 77, 130, .14)) !important;
  box-shadow: inset 3px 0 0 #a62f50 !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove) {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f7f8fb !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  overflow-wrap: break-word !important;
  pointer-events: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove)::before,
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove)::after {
  content: none !important;
  display: none !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):focus,
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):focus-visible,
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):active {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item img {
  grid-column: 1 !important;
  width: 72px !important;
  height: 92px !important;
  margin: 0 !important;
  float: none !important;
  object-fit: cover !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 8px !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > .quantity {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #aeb5c2 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > .quantity .amount {
  color: #fff !important;
  font-weight: 800 !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a.remove {
  grid-column: 3 !important;
  grid-row: 1 !important;
  position: static !important;
  align-self: start !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #e8cbd3 !important;
  background: rgba(126, 27, 54, .18) !important;
  border: 1px solid rgba(174, 50, 82, .52) !important;
  border-radius: 8px !important;
  line-height: 1 !important;
}

body .site-header #miniCartPanel .woocommerce-mini-cart__total {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 14px 2px 2px !important;
}

body .site-header #miniCartPanel .woocommerce-mini-cart__buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 12px 0 0 !important;
}

body .site-header #miniCartPanel .woocommerce-mini-cart__buttons .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  text-align: center !important;
  white-space: normal !important;
}

/* Pagina del carrito */
body.woocommerce-cart .site-content,
body.woocommerce-cart .site-main,
body.woocommerce-cart .entry-content {
  overflow-x: hidden !important;
}

body.woocommerce-cart .entry-title,
body.woocommerce-cart h1.entry-title {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: 40px auto 22px !important;
  color: #fff !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.08 !important;
}

body.woocommerce-cart .site-content > .ast-container,
body.woocommerce-cart .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .entry-content > .woocommerce,
body.woocommerce-cart main .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
  grid-template-areas: "products summary" !important;
  gap: 28px !important;
  align-items: start !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: 0 auto 70px !important;
  padding: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form {
  grid-area: products !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}

body.woocommerce-cart .cart-collaterals {
  grid-area: summary !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

body.woocommerce-cart table.shop_table.cart,
body.woocommerce-cart table.shop_table.cart tbody {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-cart table.shop_table.cart thead {
  display: none !important;
}

body.woocommerce-cart table.shop_table.cart tr.cart_item {
  display: grid !important;
  grid-template-columns: 34px 92px minmax(0, 1fr) 118px !important;
  grid-template-areas:
    "remove image name price"
    "remove image quantity subtotal" !important;
  gap: 10px 16px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 14px !important;
  padding: 16px !important;
  border: 1px solid rgba(76, 101, 145, .48) !important;
  border-radius: 14px !important;
  background: linear-gradient(125deg, rgba(116, 29, 52, .13), #121721 45%, rgba(41, 77, 130, .14)) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .25) !important;
}

body.woocommerce-cart table.shop_table.cart td {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  text-align: left !important;
}

body.woocommerce-cart table.shop_table.cart td::before {
  content: none !important;
  display: none !important;
}

body.woocommerce-cart td.product-remove { grid-area: remove !important; }
body.woocommerce-cart td.product-thumbnail { grid-area: image !important; }
body.woocommerce-cart td.product-name { grid-area: name !important; }
body.woocommerce-cart td.product-price { grid-area: price !important; text-align: right !important; }
body.woocommerce-cart td.product-quantity { grid-area: quantity !important; }
body.woocommerce-cart td.product-subtotal { grid-area: subtotal !important; text-align: right !important; }

body.woocommerce-cart td.product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  color: #e8cbd3 !important;
  background: rgba(126, 27, 54, .18) !important;
  border: 1px solid rgba(174, 50, 82, .52) !important;
  border-radius: 8px !important;
}

body.woocommerce-cart td.product-thumbnail img {
  display: block !important;
  width: 86px !important;
  height: 116px !important;
  margin: 0 !important;
  object-fit: cover !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 9px !important;
}

body.woocommerce-cart td.product-name a {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal,
body.woocommerce-cart td.product-price .amount,
body.woocommerce-cart td.product-subtotal .amount {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart td.product-quantity .quantity {
  display: grid !important;
  grid-template-columns: 38px 54px 38px !important;
  gap: 6px !important;
  justify-content: start !important;
  width: max-content !important;
  min-width: 0 !important;
  padding: 5px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .03) !important;
}

body.woocommerce-cart td.product-quantity .qty,
body.woocommerce-cart td.product-quantity .qty-btn {
  width: 100% !important;
  height: 38px !important;
  margin: 0 !important;
  border-radius: 9px !important;
}

body.woocommerce-cart td.product-quantity .qty {
  color: #111 !important;
  background: #fff !important;
  text-align: center !important;
  font-weight: 900 !important;
}

body.woocommerce-cart table.shop_table.cart tr:not(.cart_item),
body.woocommerce-cart table.shop_table.cart td.actions {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.woocommerce-cart table.shop_table.cart td.actions::before {
  content: none !important;
  display: none !important;
}

body.woocommerce-cart button[name="update_cart"] {
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
}

body.woocommerce-cart .cart_totals {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px !important;
  float: none !important;
  border: 1px solid rgba(76, 101, 145, .48) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(116, 29, 52, .11), #121721 46%, rgba(41, 77, 130, .13)) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .25) !important;
}

body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 12px !important;
  padding: 0 0 14px !important;
  color: #fff !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, .10) !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .cart_totals table,
body.woocommerce-cart .cart_totals tbody {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.woocommerce-cart .cart_totals tr {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  padding: 14px 0 !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, .10) !important;
}

body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body.woocommerce-cart .cart_totals th {
  color: #efccd5 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .cart_totals td {
  text-align: left !important;
}

body.woocommerce-cart .cart_totals ul#shipping_method {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.woocommerce-cart .cart_totals ul#shipping_method li {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
  margin: 10px 0 !important;
  padding: 10px 12px !important;
  background: rgba(41, 77, 130, .10) !important;
  border: 0 !important;
  border-radius: 9px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout {
  padding: 18px 0 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart main .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "products"
      "summary" !important;
  }
}

@media (max-width: 600px) {
  body .site-header #miniCartPanel {
    position: fixed !important;
    top: 154px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-height: calc(100dvh - 170px) !important;
    overflow-y: auto !important;
  }

  body .site-header #miniCartPanel li.woocommerce-mini-cart-item {
    grid-template-columns: 62px minmax(0, 1fr) 26px !important;
    padding: 10px !important;
  }

  body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove) {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    font-size: 14px !important;
  }

  body .site-header #miniCartPanel li.woocommerce-mini-cart-item img {
    width: 62px !important;
    height: 82px !important;
  }

  body.woocommerce-cart .entry-title,
  body.woocommerce-cart h1.entry-title,
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart main .woocommerce {
    width: calc(100% - 24px) !important;
  }

  body.woocommerce-cart .entry-title,
  body.woocommerce-cart h1.entry-title {
    margin-top: 24px !important;
    font-size: 36px !important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    grid-template-columns: 28px 82px minmax(0, 1fr) !important;
    grid-template-areas:
      "remove image name"
      "remove image price"
      "quantity quantity quantity"
      "subtotal subtotal subtotal" !important;
    gap: 10px 12px !important;
    padding: 14px !important;
  }

  body.woocommerce-cart td.product-thumbnail img {
    width: 78px !important;
    height: 104px !important;
  }

  body.woocommerce-cart td.product-price,
  body.woocommerce-cart td.product-subtotal {
    text-align: left !important;
  }

  body.woocommerce-cart td.product-quantity,
  body.woocommerce-cart td.product-subtotal {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255, 255, 255, .10) !important;
  }

  body.woocommerce-cart td.product-quantity::before,
  body.woocommerce-cart td.product-subtotal::before {
    display: block !important;
    color: #efccd5 !important;
    font-weight: 800 !important;
  }

  body.woocommerce-cart td.product-quantity::before { content: "Cantidad" !important; }
  body.woocommerce-cart td.product-subtotal::before { content: "Subtotal" !important; }

  body.woocommerce-cart .cart_totals {
    padding: 18px !important;
  }

  body.woocommerce-cart .cart_totals tr {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}

.cat-brand--plain {
  margin: 0;
}

.cat-game {
  margin-top: 10px;
}

.cat-game + .cat-game {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.055);
}

.cat-game--cronicas {
  padding: 14px;
  border: 1px solid rgba(118, 94, 214, .28);
  border-radius: 13px;
  background:
    linear-gradient(135deg, rgba(118, 94, 214, .10), rgba(35, 63, 101, .07)),
    rgba(255,255,255,.012);
}

.cat-kicker--preorder {
  color: rgba(220, 214, 255, .68);
}

.cat-product-lines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.cat-product-lines--single {
  grid-template-columns: minmax(0, 1fr);
  margin-top: 14px;
}

.cat-mega--compact .cat-product-lines {
  gap: 11px;
  margin-top: 14px;
}

.cat-line {
  padding: 13px 14px 12px;
  border: 1px solid rgba(255,255,255,.052);
  border-radius: 13px;
  background: rgba(255,255,255,.012);
}

.cat-line h3 {
  margin: 0 0 4px;
  color: #f7f7fb;
  font-size: .79rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cat-line-heading-link {
  color: inherit;
  text-decoration: none;
}

.cat-line-heading-link:hover {
  color: #fff;
}

.cat-line--singles h3::before,
.cat-line--sealed h3::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 1px;
  vertical-align: middle;
  margin-right: 8px;
}

.cat-line--singles h3::before {
  background: rgba(194, 36, 57, .72);
}

.cat-line--sealed h3::before {
  background: rgba(57, 92, 139, .72);
}

.cat-line-intro {
  margin: 0 0 9px;
  color: rgba(207, 210, 223, .62);
  font-size: .75rem;
}

.cat-line-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}

.cat-line-links a {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 6px 8px;
  margin-left: -8px;
  border-radius: 10px;
  color: #ececf4;
  font-size: .88rem;
  line-height: 1.28;
  text-decoration: none;
  transition: background .16s ease, transform .12s ease;
}

.cat-line-links a:hover {
  background: rgba(255,255,255,.05);
  transform: translateX(2px);
}

.cat-line-links small {
  color: rgba(185, 188, 207, .7);
  font-size: .72rem;
}

.cat-line-empty {
  padding: 7px 0;
  color: rgba(185, 188, 207, .72);
  font-size: .83rem;
}

.cat-coming-soon {
  min-height: 74px;
  padding: 12px 12px;
  border: 1px solid rgba(57, 92, 139, .28);
  border-radius: 13px;
  background: rgba(35, 63, 101, .09);
}

.cat-mega--compact .cat-coming-soon {
  min-height: 0;
  padding: 12px;
}

.cat-coming-soon span {
  color: #d4d9ed;
  font-size: .81rem;
  font-weight: 650;
}

.cat-coming-soon p {
  margin: 7px 0 0;
  color: rgba(184, 188, 206, .68);
  font-size: .73rem;
  line-height: 1.43;
}

.cat-line--offers {
  margin-top: 12px;
  border-color: rgba(194, 36, 57, .18);
  background: rgba(83, 22, 35, .08);
}

.cat-line--offers .cat-secondary-title {
  margin-bottom: 6px;
}

.cat-sealed-button {
  display: flex;
  min-height: 74px;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(57, 92, 139, .34);
  border-radius: 13px;
  background: rgba(35, 63, 101, .12);
  color: #e9edff;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .12s ease;
}

.cat-sealed-button:hover {
  border-color: rgba(91, 130, 190, .58);
  background: rgba(45, 78, 125, .2);
  transform: translateY(-1px);
}

.cat-sealed-button span {
  font-size: .83rem;
  font-weight: 750;
}

.cat-sealed-button small {
  color: rgba(184, 188, 206, .72);
  font-size: .73rem;
  line-height: 1.35;
}

.cat-sealed-button--preorder {
  min-height: 62px;
  border-color: rgba(118, 94, 214, .42);
  background: rgba(25, 18, 62, .22);
}

.cat-sealed-button--preorder:hover {
  border-color: rgba(150, 128, 235, .66);
  background: rgba(45, 34, 105, .28);
}

.cat-secondary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  padding: 13px 21px 0;
}

.cat-mega--compact .cat-secondary {
  padding: 11px 19px 0;
}

.cat-secondary-group {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 12px;
  background: rgba(255,255,255,.012);
}

.cat-mega--compact .cat-secondary-group {
  padding: 10px 12px;
}

.cat-secondary-title {
  display: inline-block;
  margin-bottom: 8px;
  color: #aaaec5;
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
}

.cat-secondary-title:hover {
  color: #fff;
}

.cat-secondary ul,
.cat-offers ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cat-secondary li a,
.cat-offers li a {
  display: block;
  padding: 4px 0;
  color: #e6e6f0;
  font-size: .83rem;
  line-height: 1.4;
  text-decoration: none;
}

.cat-secondary li a:hover,
.cat-offers li a:hover {
  color: #fff;
}

.cat-actions {
  display: block;
  padding: 11px 21px 18px;
}

.cat-mega--compact .cat-actions {
  padding: 10px 19px 15px;
}

.cat-offers {
  padding: 11px 14px;
  border: 1px solid rgba(194, 36, 57, .12);
  border-radius: 12px;
  background: rgba(126, 25, 43, .035);
}

.cat-quote {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0;
  padding: 12px 15px;
  border: 1px solid rgba(124,92,255,.35);
  border-radius: 12px;
  background: rgba(124,92,255,.045);
  color: #d9d1ff;
  font-size: .86rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.cat-mega--compact .cat-quote {
  padding: 10px 12px;
}

.cat-quote span {
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(124,92,255,.16);
  font-size: .61rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cat-quote:hover {
  background: rgba(124,92,255,.11);
  border-color: rgba(124,92,255,.62);
  color: #fff;
}

/* =========================================================
   MENU CATALOGO MOVIL: estructura apilada
   ========================================================= */
@media (max-width: 768px) {
  .cat-mega,
  .cat-product-lines {
    display: block;
  }

  .cat-panel:has(.cat-mega--compact) {
    min-width: 0;
  }

  .cat-feature {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
}
.info-wrapper {
  background: #000;
  display: flex;
  justify-content: center;
  padding: 40px 0 100px;
  overflow-x: auto;
}

.info-img {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
  max-width: none !important;
}

/* Botón flotante */
.btn-volver-inicio {
  position: fixed;
  right: clamp(12px, 3vw, 24px);
  bottom: clamp(12px, 3vw, 24px);
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.4rem;
  border-radius: 999px;
  background: #7c5cff;
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(0,0,0,.6);
  border: 1px solid rgba(255,255,255,.18);
}

.btn-volver-inicio:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.btn-volver-inicio:active {
  transform: translateY(1px);
}

@media (max-width: 600px) {
  .btn-volver-inicio {
    font-size: 0.85rem;
    padding: 0.6rem 1.1rem;
    right: 10px;
    bottom: 10px;
  }
}

/* Mantener alineado el bloque del formulario */
.woocommerce form.login {
    padding-top: 50px;
}

/* Expandir página de restablecer contraseña en escritorio */
.woocommerce-lost-password .woocommerce form {
    max-width: 480px !important;
    width: 100%;
    margin: 40px auto;
    padding: 30px;
    background: #121212;
    border-radius: 10px;
    
    
}




/* Centrar formulario de recuperar contraseña en pantallas pequeñas */
@media (max-width: 768px) {

  /* Contenedor general de WooCommerce en Mi cuenta */
  body.woocommerce-account .woocommerce {
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
  }

  /* Formulario "¿Olvidaste tu contraseña?" */
  body.woocommerce-account .woocommerce form.lost_reset_password {
    max-width: 420px;      /* ancho máximo del formulario */
    width: 100%;           /* que use todo el ancho posible */
    margin: 0 auto;        /* centrado horizontal */
  }

  /* Por si algún contenedor interno tiene un margin raro */
  body.woocommerce-account .woocommerce form.lost_reset_password p,
  body.woocommerce-account .woocommerce form.lost_reset_password .form-row {
    margin-left: 0;
    margin-right: 0;
  }
  
}

/* =========================================================
   CATALOGO - ECLIPSE DUAL Y NEBLINA LATERAL
   Aplica solo a tienda, categorias y etiquetas de productos.
   ========================================================= */
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive {
  --catalog-red: 120, 18, 37;
  --catalog-blue: 35, 63, 101;
  --catalog-bg: #07080a;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content {
  position: relative;
  isolation: isolate;
  background-color: var(--catalog-bg) !important;
  background-image:
    radial-gradient(ellipse 22rem 72rem at -2rem 54rem, rgba(var(--catalog-red), .075), transparent 74%),
    radial-gradient(ellipse 22rem 72rem at calc(100% + 2rem) 54rem, rgba(var(--catalog-blue), .075), transparent 74%),
    linear-gradient(90deg, rgba(var(--catalog-red), .035), transparent 17%, transparent 83%, rgba(var(--catalog-blue), .035));
  background-repeat: no-repeat;
}

/* Hero panoramico: mantiene circular el eclipse y conserva detalle fino. */
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: clamp(620px, 50vw, 930px);
  pointer-events: none;
  opacity: .58;
  background-image: url("catalog-eclipse-dual-hero-ultra.webp");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 56%, rgba(0, 0, 0, .80) 70%, rgba(0, 0, 0, .22) 91%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 56%, rgba(0, 0, 0, .80) 70%, rgba(0, 0, 0, .22) 91%, transparent 100%);
}

/* Continuacion liviana del ambiente en paginas extensas, sin ampliar pixeles. */
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: clamp(550px, 44vw, 760px) 0 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 19rem 58rem at -2rem 18rem, rgba(var(--catalog-red), .072), transparent 75%),
    radial-gradient(ellipse 19rem 58rem at calc(100% + 2rem) 18rem, rgba(var(--catalog-blue), .072), transparent 75%),
    linear-gradient(90deg, rgba(var(--catalog-red), .022), transparent 18%, transparent 82%, rgba(var(--catalog-blue), .022));
  opacity: .8;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content > .ast-container,
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content .content-area,
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content .site-main {
  position: relative;
  z-index: 1;
}

/* Cabecera centrada: tipografia actual con destello rojo/azul discreto. */
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .woocommerce-breadcrumb {
  text-align: center;
  color: rgba(235, 237, 244, .58);
  margin: clamp(26px, 3vw, 42px) auto 12px !important;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .woocommerce-products-header,
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .ast-archive-description {
  position: relative;
  z-index: 1;
  text-align: center;
  background: transparent !important;
  margin-left: auto;
  margin-right: auto;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2vw, 26px);
  width: min(920px, 100%);
  margin: 0 auto clamp(26px, 3vw, 38px) !important;
  color: #f7f7fb;
  text-align: center;
  text-shadow:
    -20px 0 32px rgba(var(--catalog-red), .09),
    20px 0 32px rgba(var(--catalog-blue), .09);
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title)::before,
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title)::after {
  content: "";
  flex: 0 1 clamp(38px, 8vw, 100px);
  height: 1px;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title)::before {
  background: linear-gradient(90deg, transparent, rgba(174, 31, 51, .16), rgba(194, 36, 57, .54));
  box-shadow: 0 0 9px rgba(176, 30, 52, .17);
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title)::after {
  background: linear-gradient(90deg, rgba(57, 92, 139, .58), rgba(47, 76, 119, .16), transparent);
  box-shadow: 0 0 9px rgba(47, 76, 119, .19);
}

/* Categorias con descripcion: conserva el ambiente sin empujar el catalogo. */
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.term-description, .woocommerce-products-header__description) {
  max-width: 980px;
  margin: 0 auto clamp(40px, 5vw, 58px);
  color: rgba(240, 241, 246, .87);
  text-align: center;
  line-height: 1.68;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.term-description, .woocommerce-products-header__description) p {
  margin: 0 0 15px;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.term-description, .woocommerce-products-header__description) p:last-child {
  margin-bottom: 0;
}

:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .shop-toolbar-spacer {
  height: clamp(18px, 2vw, 28px);
}

@media (max-width: 768px) {
  :is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content::before {
    opacity: .48;
    height: min(72vw, 570px);
    background-size: auto 100%;
    background-position: center top;
  }

  :is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive .site-content::after {
    inset: clamp(280px, 66vw, 420px) 0 0;
    opacity: .48;
  }

  :is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title) {
    gap: 12px;
    margin-bottom: 26px !important;
  }

  :is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title)::before,
  :is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.woocommerce-products-header__title.page-title, .ast-archive-title, .page-title)::after {
    flex-basis: clamp(28px, 12vw, 54px);
  }

  :is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag).woocommerce.archive :is(.term-description, .woocommerce-products-header__description) {
    margin-bottom: 34px;
    font-size: .95rem;
    line-height: 1.58;
  }
}

/* =========================================================
   MEGA MENU CATALOGO - VERSION MOVIL COMPACTA
   ========================================================= */
@media (max-width: 768px) {
  /* Menos espacio general */
  .cat-feature {
    padding: 16px 14px 12px !important;
  }

  .cat-kicker {
    margin-bottom: 3px !important;
    font-size: .58rem !important;
    letter-spacing: .14em !important;
  }

  .cat-brand {
    font-size: 1.08rem !important;
  }

  .cat-game {
    margin-top: 8px !important;
  }

  .cat-game + .cat-game {
    margin-top: 14px !important;
    padding-top: 14px !important;
  }

  .cat-game--cronicas {
    padding: 10px 11px !important;
    border-radius: 11px !important;
  }

  /* Singles y sellados más compactos */
  .cat-product-lines {
    margin-top: 12px !important;
  }

  .cat-product-lines--single {
    margin-top: 10px !important;
  }

  .cat-line {
    padding: 10px 11px !important;
    border-radius: 11px !important;
  }

  .cat-line + .cat-line {
    margin-top: 9px !important;
  }

  .cat-line h3 {
    margin-bottom: 3px !important;
    font-size: .68rem !important;
  }

  .cat-line-intro {
    margin-bottom: 6px !important;
    font-size: .7rem !important;
  }

  .cat-line-links {
    gap: 1px !important;
  }

  .cat-line-links a {
    padding: 4px 6px !important;
    margin-left: -6px !important;
    font-size: .81rem !important;
  }

  .cat-line-links small {
    font-size: .67rem !important;
  }

  /* En móvil el acceso a sellados queda compacto */
  .cat-coming-soon {
    min-height: 0 !important;
    padding: 8px 10px !important;
  }

  .cat-sealed-button {
    min-height: 0 !important;
    gap: 3px !important;
    padding: 8px 10px !important;
  }

  .cat-sealed-button span {
    font-size: .78rem !important;
  }

  .cat-coming-soon span {
    font-size: .78rem !important;
  }

  .cat-coming-soon p,
  .cat-sealed-button small {
    display: none !important;
  }

  /* Accesorios y coleccionables lado a lado */
  .cat-secondary {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 9px 12px 0 !important;
  }

  .cat-secondary-group {
    margin: 0 !important;
    padding: 9px 9px !important;
    border-radius: 10px !important;
  }

  .cat-secondary-title {
    margin-bottom: 4px !important;
    font-size: .57rem !important;
    letter-spacing: .08em !important;
  }

  .cat-secondary li a {
    padding: 2px 0 !important;
    font-size: .73rem !important;
    line-height: 1.3 !important;
  }

  .cat-game--myths .cat-line--sealed {
    display: none !important;
  }

  .cat-line--offers {
    margin-top: 9px !important;
    padding: 9px !important;
    border-radius: 10px !important;
  }

  .cat-line--offers li a {
    padding: 2px 0 !important;
    font-size: .73rem !important;
    line-height: 1.3 !important;
  }

  /* Cotiza en la fila final */
  .cat-actions {
    display: block !important;
    padding: 8px 12px 12px !important;
  }

  .cat-offers {
    margin: 0 !important;
    padding: 8px 9px !important;
    border-radius: 10px !important;
  }

  .cat-offers li a {
    padding: 2px 0 !important;
    font-size: .69rem !important;
    line-height: 1.25 !important;
  }

  .cat-quote {
    min-height: 52px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    border-radius: 10px !important;
    font-size: .71rem !important;
    line-height: 1.28 !important;
    text-align: center;
  }

  .cat-quote span {
    display: none !important;
  }
}

/* =========================================================
   FIX MOVIL: menu catalogo anclado bajo el boton
   ========================================================= */
@media (max-width: 768px) {

  /* El panel vuelve a depender del boton Catalogo */
  .site-header .catalog-trigger {
    position: relative !important;
    transform: none !important;
    z-index: 99999 !important;
  }

  /* Menu inmediatamente bajo la fila Catalogo / Buscador */
  .site-header #catPanel,
  .site-header .cat-panel {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: auto !important;

    width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-width: 430px !important;

    margin: 0 !important;
    transform: none !important;
    max-height: calc(100dvh - 205px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;

    background: #0f0f13 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.65) !important;
    z-index: 99999 !important;
  }
}

/* =========================================================
   BOTON AÑADIR AL CARRITO - CIRUELA ROJO / AZUL
   ========================================================= */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce a.button.add_to_cart_button {
  background:
    linear-gradient(
      108deg,
      #5f233d 0%,
      #48243d 42%,
      #273650 72%,
      #294875 100%
    ) !important;
  color: #ffffff !important;
  border: 1px solid rgba(93, 110, 156, .62) !important;
  border-radius: 11px !important;
  font-weight: 600 !important;
  box-shadow:
    -4px 4px 13px rgba(112, 25, 44, .15),
    6px 5px 15px rgba(39, 69, 115, .19) !important;
  transition:
    transform .18s ease,
    filter .18s ease,
    border-color .18s ease,
    box-shadow .18s ease !important;
}

/* Hover */
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce a.button.add_to_cart_button:hover {
  background:
    linear-gradient(
      108deg,
      #76263f 0%,
      #562742 42%,
      #304162 72%,
      #345b91 100%
    ) !important;
  border-color: rgba(112, 140, 190, .82) !important;
  box-shadow:
    -5px 5px 16px rgba(120, 24, 42, .22),
    7px 6px 18px rgba(40, 72, 118, .28) !important;
  filter: brightness(1.05);
  transform: translateY(-1px);
}

/* Botón después de agregar: conserva coherencia */
.woocommerce ul.products li.product .added_to_cart {
  color: #d9dfea !important;
  border-color: rgba(87, 116, 166, .55) !important;
}

/* =========================================================
   BADGE OFERTA - ROJO BORGONA SIN BORDE CONTRASTANTE
   ========================================================= */
span.ast-onsale-card,
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  background:
    linear-gradient(108deg, #8b213b 0%, #6f1d35 58%, #51243d 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 6px 13px !important;
  font-weight: 700 !important;
  box-shadow:
    0 6px 15px rgba(110, 22, 43, .28),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* Nombre del producto */
.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove) {
  color: #ffffff !important;
}

/* Cantidad y precio anterior */
.site-header .mini-cart-panel .quantity,
.site-header .mini-cart-panel del {
  color: rgba(210,214,224,.62) !important;
}

/* Precio actual y subtotal */
.site-header .mini-cart-panel ins,
.site-header .mini-cart-panel .amount,
.site-header .mini-cart-panel strong {
  color: #ffffff !important;
}

/* Boton cerrar producto */
.site-header .mini-cart-panel a.remove {
  color: rgba(215,220,231,.75) !important;
  border: 1px solid rgba(122,141,174,.45) !important;
  background: rgba(255,255,255,.025) !important;
}

.site-header .mini-cart-panel a.remove:hover {
  color: #ffffff !important;
  background: rgba(116,29,52,.23) !important;
  border-color: rgba(146,50,70,.7) !important;
}

/* =========================================================
   MINI CARRITO - FONDO SOLIDO Y PALETA ROJO / AZUL
   ========================================================= */

.site-header .mini-cart-panel,
.site-header #miniCartPanel,
.site-header .widget_shopping_cart {
  background:
    linear-gradient(
      120deg,
      rgba(116,29,52,.13),
      rgba(16,18,24,.99) 30%,
      rgba(16,18,24,.99) 70%,
      rgba(41,77,130,.14)
    ) !important;
  background-color: #101218 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(76,101,145,.52) !important;
  border-radius: 17px !important;
  box-shadow:
    0 24px 52px rgba(0,0,0,.72),
    -6px 0 20px rgba(116,29,52,.10),
    6px 0 20px rgba(41,77,130,.12) !important;
}

.site-header .mini-cart-panel::before {
  background: #11141b !important;
  border-left: 1px solid rgba(76,101,145,.52) !important;
  border-top: 1px solid rgba(76,101,145,.52) !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart__total {
  border-top: 1px solid rgba(103,118,149,.25) !important;
  color: #fff !important;
}

/* Ver carrito */
.site-header .mini-cart-panel .buttons a.button:not(.checkout) {
  background: #11151d !important;
  color: #fff !important;
  border: 1px solid rgba(82,108,154,.64) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

.site-header .mini-cart-panel .buttons a.button:not(.checkout):hover {
  background: rgba(41,77,130,.18) !important;
  border-color: rgba(94,133,191,.84) !important;
}

/* Finalizar compra */
.site-header .mini-cart-panel .buttons a.checkout,
.site-header .mini-cart-panel .button.checkout {
  background:
    linear-gradient(108deg, #76203a, #55243e 42%, #293953 69%, #31558b) !important;
  color: #fff !important;
  border: 1px solid rgba(93,120,169,.64) !important;
  border-radius: 999px !important;
  box-shadow:
    -4px 4px 14px rgba(116,29,52,.18),
    6px 5px 17px rgba(41,77,130,.25) !important;
}

.site-header .mini-cart-panel .buttons a.checkout:hover,
.site-header .mini-cart-panel .button.checkout:hover {
  filter: brightness(1.1);
}

/* =========================================================
   CATALOGO - BLOQUES PRINCIPALES Y COLORES POR CATEGORIA
   ========================================================= */
.cat-game--myths,
.cat-game--cronicas {
  padding: 14px;
  border-radius: 13px;
}

.cat-game--myths {
  border: 1px solid rgba(167, 57, 75, .30);
  background:
    linear-gradient(135deg, rgba(111, 27, 44, .12), rgba(42, 53, 82, .07)),
    rgba(255,255,255,.012);
}

.cat-game--myths + .cat-game--cronicas {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(118, 94, 214, .28);
}

.cat-game--myths .cat-product-lines {
  margin-top: 14px;
}

.cat-offers-inline {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(194, 36, 57, .22);
}

.cat-offers-inline .cat-secondary-title {
  margin: 0 0 3px;
  color: #dfa5ae;
}

.cat-offers-inline .cat-line-links a {
  color: #f4dce0;
}

.cat-secondary-group--accesorios {
  border-color: rgba(46, 159, 131, .32);
  background: linear-gradient(135deg, rgba(24, 104, 85, .15), rgba(255,255,255,.012));
}

.cat-secondary-group--accesorios .cat-secondary-title {
  color: #91dcc7;
}

.cat-secondary-group--articulos-coleccionables {
  border-color: rgba(205, 143, 60, .34);
  background: linear-gradient(135deg, rgba(125, 76, 25, .16), rgba(255,255,255,.012));
}

.cat-secondary-group--articulos-coleccionables .cat-secondary-title {
  color: #f0c78c;
}

.cat-quote {
  border-color: rgba(91, 129, 218, .52);
  background: linear-gradient(100deg, rgba(38, 73, 138, .25), rgba(95, 56, 152, .19));
  color: #dce8ff;
  font-weight: 700;
}

.cat-quote:hover {
  border-color: rgba(127, 169, 255, .78);
  background: linear-gradient(100deg, rgba(43, 88, 165, .36), rgba(112, 69, 179, .29));
}

/* =========================================================
   HEADER MOVIL - PROPORCIONADO Y LEGIBLE
   ========================================================= */
@media (max-width: 520px) {
  .site-header .nav-bar {
    padding: 8px 12px 10px !important;
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 10px;
  }

  .site-header .logo {
    width: 148px !important;
    min-width: 0 !important;
    height: 52px !important;
  }

  .site-header .logo img,
  .site-header img.custom-logo {
    height: 48px !important;
    max-height: 48px !important;
  }

  .site-header .actions {
    display: grid !important;
    grid-template-columns: 42px auto;
    grid-template-rows: 38px 38px;
    align-items: stretch;
    gap: 5px 7px;
  }

  .site-header .actions .cart-wrap {
    grid-column: 1;
    grid-row: 1;
  }

  .site-header .actions .cart-btn {
    width: 42px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    border: 1px solid rgba(95, 136, 205, .52);
    border-radius: 12px;
  }

  .site-header .actions .link,
  .site-header .actions .btn {
    display: inline-flex !important;
    height: 38px;
    min-height: 38px;
    padding: 0 10px;
    border-radius: 12px;
    font-size: .77rem;
    font-weight: 700;
  }

  .site-header .actions .link {
    grid-column: 2;
    grid-row: 1;
  }

  .site-header .actions .btn {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .site-header .actions .ico svg {
    width: 16px;
    height: 16px;
  }

  .site-header .center-group {
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 8px;
  }

  .site-header .cat-btn {
    width: 126px;
    height: 46px;
    padding: 0 12px;
    border-color: rgba(108, 148, 221, .72);
    border-radius: 15px;
    font-size: .84rem;
    font-weight: 750;
  }

  .site-header .search {
    height: 46px;
    min-width: 0;
    padding: 0 7px 0 6px;
    border-radius: 15px;
  }

  .site-header .search .search-icon {
    margin: 0 4px;
    font-size: .94rem;
  }

  .site-header .search input[type="search"] {
    padding: 0 4px;
    font-size: .77rem;
  }

  .site-header .search .search-btn {
    height: 34px;
    padding: 0 11px;
    font-size: .74rem;
  }

  .cat-game--myths,
  .cat-game--cronicas {
    padding: 11px !important;
    border-radius: 12px !important;
  }

  .cat-game--myths + .cat-game--cronicas {
    margin-top: 12px !important;
    padding-top: 11px !important;
  }

  .cat-offers-inline {
    margin-top: 8px;
    padding-top: 8px;
  }
}


/* =========================================================
   MI CUENTA / INGRESAR - BASE VISUAL
   ========================================================= */

body.woocommerce-account {
  background: #090b0f !important;
  color: #f3f4f8 !important;
}

body.woocommerce-account .entry-content,
body.woocommerce-account .woocommerce {
  color: #f3f4f8 !important;
}

/* Titulos */
body.woocommerce-account h1,
body.woocommerce-account h2,
body.woocommerce-account h3 {
  color: #f6f7fb !important;
}


/* =========================================================
   INGRESAR / RECUPERAR CONTRASENA
   ========================================================= */

body.woocommerce-account form.login,
body.woocommerce-account form.register,
body.woocommerce-lost-password form.lost_reset_password {
  background:
    linear-gradient(
      122deg,
      rgba(116,29,52,.075),
      #12151c 32%,
      #12151c 72%,
      rgba(41,77,130,.08)
    ) !important;
  border: 1px solid rgba(78,101,145,.42) !important;
  border-radius: 16px !important;
  box-shadow:
    0 22px 46px rgba(0,0,0,.42),
    -5px 0 20px rgba(116,29,52,.06),
    5px 0 20px rgba(41,77,130,.08) !important;
}

/* Etiquetas */
body.woocommerce-account form label,
body.woocommerce-lost-password form label {
  color: #f1f3f8 !important;
}

/* Campos */
body.woocommerce-account form input.input-text,
body.woocommerce-account form input[type="text"],
body.woocommerce-account form input[type="email"],
body.woocommerce-account form input[type="password"],
body.woocommerce-lost-password form input.input-text {
  background: #f3f5f8 !important;
  color: #12151c !important;
  border: 1px solid rgba(67,91,132,.32) !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}

body.woocommerce-account form input:focus,
body.woocommerce-lost-password form input:focus {
  border-color: rgba(71,111,174,.78) !important;
  box-shadow:
    -3px 0 12px rgba(116,29,52,.09),
    3px 0 12px rgba(41,77,130,.16) !important;
  outline: none !important;
}

/* Enlaces secundarios: olvidar contrasena */
body.woocommerce-account form a,
body.woocommerce-lost-password form a {
  color: #8ca7d3 !important;
}

body.woocommerce-account form a:hover,
body.woocommerce-lost-password form a:hover {
  color: #b3c7e8 !important;
}


/* =========================================================
   BOTONES DE CUENTA
   ========================================================= */

body.woocommerce-account button.button,
body.woocommerce-account a.button,
body.woocommerce-account .woocommerce-button,
body.woocommerce-lost-password button.button {
  background:
    linear-gradient(108deg, #76203a, #55243e 42%, #293953 69%, #31558b) !important;
  color: #fff !important;
  border: 1px solid rgba(91,119,169,.62) !important;
  border-radius: 999px !important;
  box-shadow:
    -3px 4px 12px rgba(116,29,52,.16),
    5px 5px 15px rgba(41,77,130,.22) !important;
}

body.woocommerce-account button.button:hover,
body.woocommerce-account a.button:hover,
body.woocommerce-account .woocommerce-button:hover,
body.woocommerce-lost-password button.button:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}


/* =========================================================
   MENU LATERAL DE MI CUENTA
   ========================================================= */

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  background: transparent !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  background: #16191f !important;
  color: #f1f3f8 !important;
  border: 1px solid rgba(86,102,133,.38) !important;
  border-radius: 999px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
  background: rgba(41,77,130,.16) !important;
  border-color: rgba(78,115,174,.68) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
  background:
    linear-gradient(108deg, #76203a, #55243e 42%, #293953 69%, #31558b) !important;
  color: #fff !important;
  border-color: rgba(91,119,169,.64) !important;
  box-shadow:
    -3px 4px 12px rgba(116,29,52,.15),
    5px 5px 14px rgba(41,77,130,.2) !important;
}


/* =========================================================
   PEDIDOS - TABLA
   ========================================================= */

body.woocommerce-account table.shop_table {
  background: #12151b !important;
  border: 1px solid rgba(76,97,135,.4) !important;
  border-radius: 15px !important;
  overflow: hidden;
  color: #f3f4f8 !important;
}

body.woocommerce-account table.shop_table thead th {
  background:
    linear-gradient(90deg, rgba(116,29,52,.10), rgba(41,77,130,.10)),
    #171a21 !important;
  color: #fff !important;
  border-color: rgba(82,103,141,.25) !important;
}

body.woocommerce-account table.shop_table td {
  color: #f3f4f8 !important;
  border-color: rgba(82,103,141,.22) !important;
}

body.woocommerce-account table.shop_table a:not(.button) {
  color: #8faad8 !important;
}


/* =========================================================
   DIRECCIONES
   ========================================================= */

body.woocommerce-account .woocommerce-Address {
  background:
    linear-gradient(
      120deg,
      rgba(116,29,52,.055),
      #14171d 34%,
      #14171d 74%,
      rgba(41,77,130,.06)
    ) !important;
  border: 1px solid rgba(78,101,145,.4) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.2) !important;
}

body.woocommerce-account .woocommerce-Address-title h3,
body.woocommerce-account .woocommerce-Address address {
  color: #f3f4f8 !important;
}

body.woocommerce-account .woocommerce-Address-title .edit {
  background:
    linear-gradient(108deg, #76203a, #55243e 42%, #293953 69%, #31558b) !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: 1px solid rgba(91,119,169,.58) !important;
  padding: 8px 13px !important;
  text-decoration: none !important;
}


/* =========================================================
   DETALLES DE LA CUENTA
   ========================================================= */

body.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border-top: 1px solid rgba(75,102,148,.45) !important;
}

body.woocommerce-account .woocommerce-EditAccountForm legend {
  color: #f3f4f8 !important;
}

body.woocommerce-account .woocommerce-EditAccountForm em {
  color: rgba(205,211,224,.78) !important;
}

/* =========================================================
   MI CUENTA - QUITAR BORDES CUADRADOS DEL MENU LATERAL
   ========================================================= */

body.woocommerce-account .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .woocommerce-MyAccount-navigation li,
body.woocommerce-account .woocommerce-MyAccount-navigation-link,
body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link::before,
body.woocommerce-account .woocommerce-MyAccount-navigation-link::after {
  display: none !important;
}

/* Mantiene solamente la pastilla redondeada visible */
body.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  display: block !important;
  border: 1px solid rgba(86,102,133,.38) !important;
  border-radius: 999px !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
  border: 1px solid rgba(91,119,169,.64) !important;
  border-radius: 999px !important;
}


/* =====================================================
   LOGIN / REGISTRO SEPARADOS WOOCOMMERCE
   Paginas:
   - Ingresar: 793
   - Registrarse: 798
   ===================================================== */

body.page-id-793 .entry-content,
body.page-id-798 .entry-content,
body.page-id-793 .entry-content .woocommerce,
body.page-id-798 .entry-content .woocommerce {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}

body.page-id-793 .woocommerce .u-columns,
body.page-id-798 .woocommerce .u-columns,
body.page-id-793 .woocommerce .col2-set,
body.page-id-798 .woocommerce .col2-set {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

body.page-id-793 .woocommerce .u-column1,
body.page-id-793 .woocommerce .u-column2,
body.page-id-798 .woocommerce .u-column1,
body.page-id-798 .woocommerce .u-column2 {
  float: none !important;
  width: 100% !important;
  max-width: 580px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Formulario de acceso */
body.page-id-793 form.login,
body.page-id-793 form.woocommerce-form-login {
  width: 100% !important;
  max-width: 580px !important;
  margin: 0 auto !important;
  float: none !important;
}

/* Formulario de registro */
body.page-id-798 form.register,
body.page-id-798 form.woocommerce-form-register {
  width: 100% !important;
  max-width: 580px !important;
  margin: 0 auto !important;
  float: none !important;
}

/* No achicar campos internos */
body.page-id-793 form.login input,
body.page-id-793 form.woocommerce-form-login input,
body.page-id-798 form.register input,
body.page-id-798 form.woocommerce-form-register input {
  width: 100% !important;
}

/* Turnstile alineado dentro del formulario */
body.page-id-793 .cf-turnstile,
body.page-id-793 .turnstile,
body.page-id-798 .cf-turnstile,
body.page-id-798 .turnstile {
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 30px !important;
  display: flex !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.page-id-793 .cf-turnstile > div,
body.page-id-793 .turnstile > div,
body.page-id-798 .cf-turnstile > div,
body.page-id-798 .turnstile > div,
body.page-id-793 .cf-turnstile iframe,
body.page-id-793 .turnstile iframe,
body.page-id-798 .cf-turnstile iframe,
body.page-id-798 .turnstile iframe {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.page-id-793 form.woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit),
body.page-id-793 form.login p.form-row:has(.woocommerce-form-login__submit) {
  display: grid !important;
  grid-template-columns: 1fr auto;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 10px !important;
}

body.page-id-793 .woocommerce-form-login__rememberme {
  min-width: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
}

/* Ajuste fino login / registro */
body.page-id-793 .entry-title,
body.page-id-798 .entry-title,
body.page-id-793 .woocommerce h2,
body.page-id-798 .woocommerce h2 {
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 28px !important;
}

/* Un poco menos de aire interno en las tarjetas */
body.page-id-793 form.login,
body.page-id-793 form.woocommerce-form-login,
body.page-id-798 form.register,
body.page-id-798 form.woocommerce-form-register {
  max-width: 580px !important;
  padding: 32px 34px !important;
}

/* Ajuste responsive */
@media (max-width: 768px) {
  body.page-id-793 form.login,
  body.page-id-793 form.woocommerce-form-login,
  body.page-id-798 form.register,
  body.page-id-798 form.woocommerce-form-register {
    max-width: calc(100vw - 32px) !important;
    padding: 26px 22px !important;
  }

  body.page-id-793 .cf-turnstile,
  body.page-id-793 .turnstile,
  body.page-id-798 .cf-turnstile,
  body.page-id-798 .turnstile {
    justify-content: center !important;
    margin: 16px 0 28px !important;
  }

  body.page-id-793 form.woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit),
  body.page-id-793 form.login p.form-row:has(.woocommerce-form-login__submit) {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 18px !important;
    margin-top: 14px !important;
  }

  body.page-id-793 .woocommerce-form-login__rememberme {
    justify-self: start !important;
    width: 100% !important;
  }

  body.page-id-793 .woocommerce-form-login__submit {
    justify-self: center !important;
    margin: 0 !important;
  }
}

/* Login movil: mantiene "Recuerdame" junto a su checkbox y dentro de la tarjeta */
@media (max-width: 768px) {
  body.page-id-793 form.woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit),
  body.page-id-793 form.login p.form-row:has(.woocommerce-form-login__submit) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 18px !important;
    margin: 16px 0 0 !important;
    overflow: hidden !important;
  }

  body.page-id-793 .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    justify-self: center !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  body.page-id-793 .woocommerce-form-login__rememberme input[type="checkbox"] {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
  }

  body.page-id-793 .woocommerce-form-login__rememberme span {
    display: inline-block !important;
    line-height: 1.2 !important;
  }
}

/* =====================================================
   RECUPERAR CONTRASEÑA WOOCOMMERCE
   Centrado + ancho correcto con Turnstile
   ===================================================== */

body.woocommerce-lost-password .entry-content,
body.woocommerce-lost-password .entry-content .woocommerce {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}

body.woocommerce-lost-password .woocommerce form.lost_reset_password {
  width: 100% !important;
  max-width: 580px !important;
  margin: 80px auto 90px !important;
  padding: 32px 34px !important;
  float: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-lost-password .woocommerce form.lost_reset_password .form-row,
body.woocommerce-lost-password .woocommerce form.lost_reset_password input {
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-lost-password .woocommerce form.lost_reset_password .cf-turnstile,
body.woocommerce-lost-password .woocommerce form.lost_reset_password .turnstile {
  margin: 18px 0 26px !important;
  display: flex !important;
  justify-content: flex-start !important;
}

body.woocommerce-lost-password .woocommerce form.lost_reset_password button {
  width: auto !important;
  min-width: 190px !important;
}

/* =========================================================
   CARRITO MOVIL - MINI CARRITO Y PAGINA DE CARRITO
   ========================================================= */

@media (max-width: 768px) {
  .site-header .cart-wrap {
    position: static !important;
  }

  .site-header .mini-cart-panel,
  .site-header #miniCartPanel,
  .site-header .widget_shopping_cart {
    position: fixed !important;
    top: 168px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    max-height: calc(100dvh - 188px) !important;
    padding: 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 16px !important;
    z-index: 999999 !important;
  }

  .site-header .mini-cart-panel::before,
  .site-header #miniCartPanel::before {
    display: none !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart {
    display: grid !important;
    gap: 10px !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
    list-style: none !important;
    overflow: visible !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) 28px !important;
    grid-template-areas:
      "image title remove"
      "image meta remove" !important;
    gap: 4px 12px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    margin: 0 !important;
    border: 1px solid rgba(158,45,72,.58) !important;
    border-radius: 12px !important;
    background:
      linear-gradient(135deg, rgba(126,27,54,.22), rgba(21,24,32,.98) 46%, rgba(41,77,130,.10)),
      #11131a !important;
    box-shadow:
      inset 3px 0 0 rgba(174,50,82,.88),
      0 10px 22px rgba(0,0,0,.28) !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove) {
    display: contents !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item img {
    grid-area: image !important;
    width: 58px !important;
    height: 78px !important;
    object-fit: cover !important;
    margin: 0 !important;
    float: none !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item .quantity {
    grid-area: meta !important;
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    color: rgba(226,231,242,.78) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item .quantity .amount {
    color: #fff !important;
    font-weight: 900 !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item .remove {
    grid-area: remove !important;
    position: static !important;
    width: 24px !important;
    height: 24px !important;
    align-self: start !important;
    justify-self: end !important;
    border-radius: 999px !important;
    color: rgba(255,230,236,.86) !important;
    border: 1px solid rgba(174,50,82,.58) !important;
    background: rgba(126,27,54,.24) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart__total {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 13px 4px 0 !important;
    margin: 4px 0 0 !important;
    font-size: 16px !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart__total .amount {
    font-size: 20px !important;
    font-weight: 900 !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart__buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 12px 0 0 !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart__buttons .button {
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 520px) {
  .site-header .mini-cart-panel,
  .site-header #miniCartPanel,
  .site-header .widget_shopping_cart {
    top: 150px !important;
    max-height: calc(100dvh - 168px) !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce-cart .site-content,
  body.woocommerce-cart .site-main,
  body.woocommerce-cart .entry-content {
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .entry-title,
  body.woocommerce-cart h1 {
    max-width: calc(100vw - 32px) !important;
    margin: 24px auto 18px !important;
    font-size: 36px !important;
    line-height: 1.08 !important;
  }

  body.woocommerce-cart .woocommerce {
    width: min(100%, 680px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 auto 36px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  body.woocommerce-cart table.shop_table.cart {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart tbody,
  body.woocommerce-cart table.shop_table.cart tr,
  body.woocommerce-cart table.shop_table.cart td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    position: relative !important;
    margin: 0 0 14px !important;
    padding: 14px !important;
    border: 1px solid rgba(75,96,134,.45) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(135deg, rgba(116,29,52,.10), rgba(24,30,42,.96) 42%, rgba(41,77,130,.11)),
      #101218 !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.30) !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart table.shop_table.cart td {
    min-height: 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td::before {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 32px !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: rgba(238,242,250,.82) !important;
    border: 1px solid rgba(122,141,174,.48) !important;
    background: rgba(255,255,255,.04) !important;
    font-size: 24px !important;
    line-height: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    width: 96px !important;
    padding: 0 0 10px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 86px !important;
    height: 116px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    padding-right: 42px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name a {
    color: #fff !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 10px 0 !important;
    color: #fff !important;
    font-size: 17px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price::before {
    display: block !important;
    content: "Precio" !important;
    color: rgba(226,231,242,.72) !important;
    font-weight: 800 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-subtotal::before {
    display: block !important;
    content: "Subtotal" !important;
    color: rgba(226,231,242,.72) !important;
    font-weight: 800 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price .amount,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal .amount {
    color: #fff !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-quantity {
    padding: 10px 0 4px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-quantity::before {
    display: block !important;
    content: "Cantidad" !important;
    margin: 0 0 8px !important;
    color: rgba(226,231,242,.72) !important;
    font-weight: 800 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    width: 100% !important;
    max-width: 260px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 6px !important;
    display: grid !important;
    grid-template-columns: 48px 1fr 48px !important;
    gap: 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.woocommerce-cart .quantity .qty,
  body.woocommerce-cart input.qty {
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    border-radius: 13px !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart .qty-btn {
    width: 48px !important;
    height: 46px !important;
    border-radius: 13px !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    margin-top: 12px !important;
    padding: 0 !important;
  }

  body.woocommerce-cart button[name="update_cart"] {
    width: 100% !important;
    min-height: 46px !important;
    border-radius: 999px !important;
  }

  body.woocommerce-cart .cart_totals {
    padding: 20px !important;
    border-radius: 16px !important;
    border-color: rgba(76,101,145,.52) !important;
    background:
      linear-gradient(135deg, rgba(126,27,54,.10), rgba(18,20,27,.98) 42%, rgba(41,77,130,.12)),
      #101218 !important;
  }

  body.woocommerce-cart .cart_totals h2 {
    margin: 0 0 18px !important;
    font-size: 28px !important;
    color: #fff !important;
  }

  body.woocommerce-cart .cart_totals table,
  body.woocommerce-cart .cart_totals tbody,
  body.woocommerce-cart .cart_totals tr,
  body.woocommerce-cart .cart_totals th,
  body.woocommerce-cart .cart_totals td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart .cart_totals tr {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px 0 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
  }

  body.woocommerce-cart .cart_totals th {
    color: #f3d7df !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
  }

  body.woocommerce-cart .cart_totals td {
    color: #fff !important;
    font-size: 16px !important;
  }

  body.woocommerce-cart .cart_totals .order-total {
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
  }

  body.woocommerce-cart .cart_totals .order-total th,
  body.woocommerce-cart .cart_totals .order-total td {
    width: auto !important;
  }

  body.woocommerce-cart .cart_totals .order-total th {
    color: #fff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 19px !important;
  }

  body.woocommerce-cart .cart_totals .order-total .amount {
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
  body.woocommerce-cart .cart_totals ul#shipping_method {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.woocommerce-cart .cart_totals .woocommerce-shipping-methods li,
  body.woocommerce-cart .cart_totals ul#shipping_method li {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    padding: 12px !important;
    margin: 0 !important;
    border: 1px solid rgba(158,45,72,.42) !important;
    border-radius: 12px !important;
    background: rgba(126,27,54,.10) !important;
  }

  body.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;
    accent-color: #b62f58 !important;
  }

  body.woocommerce-cart .cart_totals ul#shipping_method label {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.28 !important;
  }

  body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    margin: 12px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    background: rgba(41,77,130,.12) !important;
    color: rgba(238,242,250,.84) !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong {
    color: #fff !important;
  }

  body.woocommerce-cart .cart_totals .shipping-calculator-button {
    display: inline-flex !important;
    margin-top: 10px !important;
    color: #f07a9c !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    min-height: 50px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* =========================================================
   AJUSTE MOVIL - HEADER DESLOGUEADO Y MINI CARRITO SIN ARO
   ========================================================= */

@media (max-width: 768px) {
  .site-header .mini-cart-panel .woocommerce-mini-cart-item,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item *,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove),
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):active,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove)::before,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove)::after {
    display: none !important;
    content: none !important;
  }
}

@media (max-width: 520px) {
  .site-header .nav-bar {
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) !important;
    grid-template-areas:
      "logo actions"
      "center center" !important;
    column-gap: 10px !important;
    row-gap: 12px !important;
    align-items: center !important;
    padding: 10px 12px 12px !important;
  }

  .site-header .logo {
    grid-area: logo !important;
    width: 132px !important;
    max-width: 132px !important;
    height: 46px !important;
    overflow: hidden !important;
  }

  .site-header .logo img,
  .site-header img.custom-logo {
    width: 132px !important;
    max-width: 132px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .site-header .actions {
    grid-area: actions !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas:
      "cart login"
      "register register" !important;
    gap: 7px !important;
    justify-self: stretch !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
  }

  .site-header .actions .cart-wrap {
    grid-area: cart !important;
    width: 44px !important;
    height: 40px !important;
    justify-self: end !important;
  }

  .site-header .actions .cart-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }

  .site-header .actions .cart-ico {
    width: 21px !important;
    height: 21px !important;
  }

  .site-header .actions .link {
    grid-area: login !important;
  }

  .site-header .actions .btn {
    grid-area: register !important;
  }

  .site-header .actions .link,
  .site-header .actions .btn {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 0 10px !important;
    justify-content: center !important;
    gap: 7px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .site-header .actions .ico svg {
    width: 17px !important;
    height: 17px !important;
  }

  .site-header .center-group {
    grid-area: center !important;
    display: grid !important;
    grid-template-columns: 124px minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .site-header .cat-btn {
    width: 124px !important;
    min-width: 124px !important;
    height: 44px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
  }

  .site-header .search {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
  }

  .site-header .search input[type="search"] {
    font-size: 13px !important;
    padding: 0 6px !important;
  }

  .site-header .search .search-btn {
    height: 38px !important;
    min-width: 72px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   HEADER MOVIL UNICO + MINI CARRITO SIN OVALOS
   ========================================================= */

@media (max-width: 520px) {
  body .site-header .nav-bar,
  body.woocommerce-cart .site-header .nav-bar,
  body.single-product .site-header .nav-bar,
  body.home .site-header .nav-bar {
    display: grid !important;
    grid-template-columns: 136px minmax(0, 1fr) !important;
    grid-template-areas:
      "logo actions"
      "center center" !important;
    column-gap: 10px !important;
    row-gap: 12px !important;
    align-items: center !important;
    padding: 10px 12px 12px !important;
  }

  body .site-header .logo {
    grid-area: logo !important;
    width: 136px !important;
    max-width: 136px !important;
    height: 48px !important;
  }

  body .site-header .logo img,
  body .site-header img.custom-logo {
    width: 136px !important;
    max-width: 136px !important;
    height: auto !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }

  body .site-header .actions,
  body.woocommerce-cart .site-header .actions,
  body.single-product .site-header .actions,
  body.home .site-header .actions {
    grid-area: actions !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas:
      "cart login"
      "register register" !important;
    gap: 7px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    position: static !important;
    flex-wrap: initial !important;
  }

  body .site-header .actions .cart-wrap,
  body.woocommerce-cart .site-header .actions .cart-wrap {
    grid-area: cart !important;
    order: initial !important;
    width: 44px !important;
    height: 40px !important;
    position: static !important;
    justify-self: stretch !important;
    margin: 0 !important;
    transform: none !important;
  }

  body .site-header .actions .cart-btn,
  body.woocommerce-cart .site-header .cart-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 12px !important;
    position: relative !important;
    transform: none !important;
  }

  body .site-header .actions .link,
  body.woocommerce-cart .site-header .actions .link {
    grid-area: login !important;
    order: initial !important;
  }

  body .site-header .actions .btn,
  body.woocommerce-cart .site-header .actions .btn {
    grid-area: register !important;
    order: initial !important;
  }

  body .site-header .actions .link,
  body .site-header .actions .btn,
  body.woocommerce-cart .site-header .actions .link,
  body.woocommerce-cart .site-header .actions .btn {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    justify-content: center !important;
    gap: 7px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  body .site-header .center-group {
    grid-area: center !important;
    display: grid !important;
    grid-template-columns: 124px minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body .site-header .cat-btn {
    width: 124px !important;
    min-width: 124px !important;
    height: 44px !important;
  }

  body .site-header .search {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
  }
}

@media (max-width: 768px) {
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove),
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove) *,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item img {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):active,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus-visible {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove)::before,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove)::after,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item img::before,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item img::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart .cart_totals,
  body.woocommerce-cart .cart_totals *,
  body.woocommerce-cart .cart_totals h2,
  body.woocommerce-cart .cart_totals table,
  body.woocommerce-cart .cart_totals th,
  body.woocommerce-cart .cart_totals td {
    background-color: transparent !important;
  }

  body.woocommerce-cart .cart_totals {
    background:
      linear-gradient(135deg, rgba(126,27,54,.10), rgba(18,20,27,.98) 42%, rgba(41,77,130,.12)),
      #101218 !important;
  }

  body.woocommerce-cart .cart_totals .order-total th,
  body.woocommerce-cart .cart_totals .order-total td,
  body.woocommerce-cart .cart_totals .order-total strong,
  body.woocommerce-cart .cart_totals .order-total .amount {
    background: transparent !important;
    color: #fff !important;
  }
}

/* =========================================================
   CARRITO UNIFICADO - ESCRITORIO, MINI CARRITO Y MOVIL
   ========================================================= */

.site-header .mini-cart-panel .woocommerce-mini-cart-item {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 26px !important;
  gap: 7px 12px !important;
  align-items: center !important;
  padding: 12px !important;
  margin: 0 0 10px !important;
  border: 1px solid rgba(158,45,72,.56) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg, rgba(126,27,54,.20), rgba(18,21,29,.98) 48%, rgba(41,77,130,.10)),
    #11131a !important;
  box-shadow: inset 3px 0 0 rgba(174,50,82,.88) !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove) {
  display: grid !important;
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #fff !important;
  font-weight: 900 !important;
  line-height: 1.22 !important;
  text-decoration: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus,
.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):active,
.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus-visible {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove)::before,
.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove)::after {
  display: none !important;
  content: none !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart-item img {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  margin: 0 !important;
  float: none !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart-item .quantity {
  grid-column: 2 / 3 !important;
  grid-row: 2 !important;
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  color: rgba(226,231,242,.72) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart-item .remove {
  grid-column: 3 !important;
  grid-row: 1 !important;
  position: static !important;
  width: 24px !important;
  height: 24px !important;
  align-self: start !important;
  justify-self: end !important;
  border-radius: 8px !important;
  border: 1px solid rgba(174,50,82,.58) !important;
  background: rgba(126,27,54,.20) !important;
  color: rgba(255,230,236,.86) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .site-header .mini-cart-panel .woocommerce-mini-cart-item {
    grid-template-columns: 58px minmax(0, 1fr) 26px !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove) {
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item img {
    width: 58px !important;
    height: 78px !important;
  }
}

@media (min-width: 769px) {
  body.woocommerce-cart .site-content > .ast-container,
  body.woocommerce-cart .entry-content,
  body.woocommerce-cart .woocommerce {
    width: min(1240px, calc(100vw - 48px)) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr) !important;
    gap: 28px !important;
    align-items: start !important;
    padding: 28px 0 64px !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  body.woocommerce-cart table.shop_table.cart {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart tbody {
    display: grid !important;
    gap: 14px !important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    display: grid !important;
    grid-template-columns: 36px 84px minmax(180px, 1fr) 110px 164px 116px !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 16px !important;
    border: 1px solid rgba(75,96,134,.45) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(135deg, rgba(116,29,52,.10), rgba(24,30,42,.96) 42%, rgba(41,77,130,.11)),
      #101218 !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.28) !important;
  }

  body.woocommerce-cart table.shop_table.cart td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    color: rgba(238,242,250,.82) !important;
    border: 1px solid rgba(174,50,82,.46) !important;
    background: rgba(126,27,54,.14) !important;
    font-size: 22px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 78px !important;
    height: 104px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name a {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 38px 56px 38px !important;
    gap: 6px !important;
    justify-content: center !important;
    padding: 5px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.woocommerce-cart .qty-btn,
  body.woocommerce-cart .quantity .qty {
    height: 38px !important;
    border-radius: 11px !important;
  }

  body.woocommerce-cart .quantity .qty {
    width: 56px !important;
    background: #fff !important;
    color: #111 !important;
    text-align: center !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart table.shop_table.cart tr:not(.cart_item) {
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: block !important;
    margin-top: 10px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.woocommerce-cart button[name="update_cart"] {
    width: 100% !important;
    min-height: 46px !important;
    border-radius: 999px !important;
  }

  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid rgba(76,101,145,.52) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(135deg, rgba(126,27,54,.10), rgba(18,20,27,.98) 42%, rgba(41,77,130,.12)),
      #101218 !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.28) !important;
  }

  body.woocommerce-cart .cart_totals h2 {
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 28px !important;
  }

  body.woocommerce-cart .cart_totals table,
  body.woocommerce-cart .cart_totals tbody,
  body.woocommerce-cart .cart_totals tr,
  body.woocommerce-cart .cart_totals th,
  body.woocommerce-cart .cart_totals td {
    background: transparent !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.10) !important;
  }

  body.woocommerce-cart .cart_totals tr {
    display: grid !important;
    grid-template-columns: 145px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 14px 0 !important;
  }

  body.woocommerce-cart .cart_totals th {
    color: #f3d7df !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    min-height: 52px !important;
    border-radius: 999px !important;
  }
}

/* =========================================================
   FIX FINAL CARRITO - DESKTOP LIMPIO Y SIN OVALO MOVIL
   ========================================================= */

.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove) {
  border-radius: 0 !important;
  outline: none !important;
  outline-color: transparent !important;
  outline-width: 0 !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}

.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus,
.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):focus-visible,
.site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove):active {
  border-radius: 0 !important;
  outline: none !important;
  outline-color: transparent !important;
  outline-width: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a:not(.remove) {
    display: grid !important;
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .site-header .mini-cart-panel .woocommerce-mini-cart-item,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item a,
  .site-header .mini-cart-panel .woocommerce-mini-cart-item img {
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }
}

@media (min-width: 769px) {
  body.woocommerce-cart .entry-title,
  body.woocommerce-cart h1 {
    width: min(1180px, calc(100vw - 64px)) !important;
    margin: 44px auto 22px !important;
  }

  body.woocommerce-cart .site-content > .ast-container,
  body.woocommerce-cart .entry-content {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  body.woocommerce-cart .woocommerce {
    width: min(1180px, calc(100vw - 64px)) !important;
    max-width: 1180px !important;
    margin: 0 auto 70px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    gap: 30px !important;
    align-items: start !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }

  body.woocommerce-cart table.shop_table.cart,
  body.woocommerce-cart table.shop_table.cart tbody {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    display: grid !important;
    grid-template-columns: 34px 86px minmax(0, 1fr) 120px !important;
    grid-template-areas:
      "remove image name price"
      "remove image quantity subtotal" !important;
    gap: 10px 16px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(75,96,134,.45) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(135deg, rgba(116,29,52,.12), rgba(24,30,42,.96) 44%, rgba(41,77,130,.12)),
      #101218 !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.28) !important;
  }

  body.woocommerce-cart table.shop_table.cart td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove {
    grid-area: remove !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    grid-area: image !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    grid-area: name !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price {
    grid-area: price !important;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-quantity {
    grid-area: quantity !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-subtotal {
    grid-area: subtotal !important;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 76px !important;
    height: 102px !important;
    object-fit: cover !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name a {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-price .amount,
  body.woocommerce-cart table.shop_table.cart td.product-subtotal .amount {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    display: grid !important;
    grid-template-columns: 38px 56px 38px !important;
    gap: 6px !important;
    justify-content: start !important;
    width: max-content !important;
    min-width: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart tr:not(.cart_item),
  body.woocommerce-cart table.shop_table.cart td.actions {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart .cart_totals {
    padding: 24px !important;
    border: 1px solid rgba(76,101,145,.52) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(135deg, rgba(126,27,54,.10), rgba(18,20,27,.98) 42%, rgba(41,77,130,.12)),
      #101218 !important;
  }

  body.woocommerce-cart .cart_totals h2 {
    margin: 0 0 18px !important;
    color: #fff !important;
    background: transparent !important;
  }

  body.woocommerce-cart .cart_totals tr {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    padding: 14px 0 !important;
  }

  body.woocommerce-cart .cart_totals th,
  body.woocommerce-cart .cart_totals td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #fff !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}

/* CARRITO V7.1 - prioridad final */
body .site-header #miniCartPanel li.woocommerce-mini-cart-item {
  overflow: hidden !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove),
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):hover,
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):focus,
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):focus-visible,
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):active {
  display: grid !important;
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  pointer-events: none !important;
  -webkit-tap-highlight-color: transparent !important;
  clip-path: inset(0) !important;
}

body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove)::before,
body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove)::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 901px) {
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart main .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 390px !important;
    grid-template-areas: "products summary" !important;
    gap: 28px !important;
    align-items: start !important;
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
    margin: 0 auto 70px !important;
    padding: 0 !important;
  }

  body.woocommerce-cart .woocommerce-cart-form {
    grid-area: products !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
  }

  body.woocommerce-cart .cart-collaterals {
    grid-area: summary !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }
}

body.woocommerce-cart table.shop_table.cart tr.cart_item {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart_totals table,
body.woocommerce-cart .cart_totals tbody {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .cart_totals tr {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
}

body.woocommerce-cart .cart_totals th {
  width: auto !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

body.woocommerce-cart .cart_totals td {
  width: auto !important;
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

@media (max-width: 900px) {
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-cart main .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "products" "summary" !important;
    gap: 18px !important;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
  }

  body.woocommerce-cart .woocommerce-cart-form { grid-row: 1 !important; }
  body.woocommerce-cart .cart-collaterals { grid-row: 2 !important; }
}

@media (max-width: 600px) {
  body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove),
  body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):focus,
  body .site-header #miniCartPanel li.woocommerce-mini-cart-item > a:not(.remove):active {
    grid-template-columns: 62px minmax(0, 1fr) !important;
  }

  body.woocommerce-cart .cart_totals tr {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}
