/*
Theme Name: ASZSA Ventas Child V2
Description: Child theme de Astra para ASZSA Ventas. Contiene la identidad de marca (colores, tipografías, estilos globales) sin tocar el tema padre.
Author: ASZSA
Template: astra
Version: 1.0
*/

:root{
  --aszsa-navy: #010023;
  --aszsa-navy-2: #0a0a3d;
  --aszsa-amber: #F2A71B;
  --aszsa-amber-dark: #B87A0A;
  --aszsa-steel: #6B7280;
  --aszsa-steel-light: #E7E9EC;
  --aszsa-paper: #F6F6F4;
  --aszsa-ink: #0E0E12;
}

/* Anula el fondo/watermark heredado de Astra Pro (Background Manager).
   Debería dejar de ser necesario cuando se desinstale Astra Pro, pero
   se deja como red de seguridad por si algo similar vuelve a aparecer. */
body,
body.custom-background,
.site,
#page,
.hustle-site-wrapper,
.ast-separate-container,
.ast-theme-transparent-header {
  background-image: none !important;
  background-color: var(--aszsa-paper) !important;
}

body, p, li, td, th {
  font-family: 'Work Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--aszsa-navy);
}

a {
  color: var(--aszsa-navy);
}
a:hover {
  color: var(--aszsa-amber-dark);
}

/* Botones: WooCommerce + Elementor + Astra */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.elementor-button,
button.ast-custom-button,
.wp-block-button__link {
  background-color: var(--aszsa-navy) !important;
  color: #fff !important;
  border-radius: 3px !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 600;
  border: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.elementor-button:hover {
  background-color: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
}

/* Añadir al carrito destacado */
.woocommerce ul.products li.product .added_to_cart,
.woocommerce a.added_to_cart {
  color: var(--aszsa-amber-dark) !important;
}

/* Precios */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--aszsa-navy);
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
}

/* Header / nav principal — Astra Header Builder (selectores confirmados por inspección) */
#masthead,
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar,
.ast-full-width-primary-header .ast-primary-header-bar,
.ast-hfb-header .site-header {
  background-color: var(--aszsa-navy) !important;
  border-bottom: none !important;
  position: relative !important;
  top: auto !important;
}
.main-header-bar {
  border-bottom: 3px solid var(--aszsa-amber) !important;
}
.main-header-menu .menu-item > a,
.ast-header-woo-cart .ast-site-header-cart-data,
.ast-header-account .ast-header-account-text {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-size: 14px;
  color: #fff !important;
}
.main-header-menu .menu-item > a:hover,
.main-header-menu .current-menu-item > a {
  color: var(--aszsa-amber) !important;
}

/* Menú desplegable MÓVIL (hamburguesa) — Astra lo renderiza como
   ul#ast-hf-mobile-menu dentro de .ast-mobile-header-content.
   Las reglas de arriba fuerzan texto blanco en todo ".main-header-menu",
   pero cada link del menú móvil trae su propio fondo blanco, por eso
   quedaba blanco sobre blanco (solo se veía el ítem activo). Acá el
   desplegable pasa a navy, con links transparentes y separadores finos. */
.ast-mobile-header-content,
#ast-hf-mobile-menu {
  background-color: var(--aszsa-navy) !important;
}
#ast-hf-mobile-menu .menu-item {
  background-color: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
}
#ast-hf-mobile-menu .menu-item:last-child {
  border-bottom: none !important;
}
#ast-hf-mobile-menu .menu-item > a,
#ast-hf-mobile-menu .menu-item > .menu-link {
  background-color: transparent !important;
  padding: 14px 20px !important;
}
#ast-hf-mobile-menu .current-menu-item > a {
  background-color: rgba(242,167,27,0.12) !important;
}
/* Submenús dentro del desplegable móvil (Categorias > Fischer / Bremen > ...).
   Se anulan las reglas de submenú de escritorio (tarjeta blanca, sombra,
   texto a la derecha) y quedan como lista plana, indentada, en un navy
   un toque más claro, con links alineados a la izquierda. */
#ast-hf-mobile-menu .sub-menu {
  background-color: var(--aszsa-navy-2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}
#ast-hf-mobile-menu .sub-menu .sub-menu {
  background-color: rgba(255,255,255,0.04) !important;
}
#ast-hf-mobile-menu .sub-menu li {
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
#ast-hf-mobile-menu .sub-menu a {
  display: block !important;
  justify-content: flex-start !important;
  text-align: left !important;
  color: #E3E3F0 !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  padding: 13px 56px 13px 36px !important;
  background: transparent !important;
  border-left: 3px solid transparent !important;
}
#ast-hf-mobile-menu .sub-menu .sub-menu a {
  padding-left: 52px !important;
  font-size: 13.5px !important;
  color: #C7C7DA !important;
}
#ast-hf-mobile-menu .sub-menu a:hover,
#ast-hf-mobile-menu .sub-menu .current-menu-item > a {
  color: var(--aszsa-amber) !important;
  background-color: rgba(242,167,27,0.10) !important;
  border-left: 3px solid var(--aszsa-amber) !important;
}
#ast-hf-mobile-menu .menu-item-has-children > a {
  padding-right: 56px !important;
}
/* Flechita para abrir/cerrar: se usa solo el botón de Astra, en blanco */
#ast-hf-mobile-menu .dropdown-menu-toggle {
  display: none !important;
}
#ast-hf-mobile-menu .ast-menu-toggle {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #fff !important;
}
#ast-hf-mobile-menu .ast-menu-toggle svg {
  fill: #fff !important;
  color: #fff !important;
}
/* Ícono hamburguesa / cerrar: blanco sobre el header navy (venía azul de Astra) */
.main-header-menu-toggle,
.main-header-menu-toggle .ast-mobile-svg,
.ast-mobile-menu-buttons .menu-toggle .ast-mobile-svg {
  color: #fff !important;
  fill: #fff !important;
}
/* Iconos de búsqueda, carrito, cuenta */
.ast-header-search .astra-search-icon,
.ast-header-account svg,
.ast-header-account i,
.ast-site-header-cart svg,
.ast-site-header-cart i,
.ast-site-header-cart a {
  color: #fff !important;
  fill: #fff !important;
}
.ast-site-header-cart .count,
.ast-site-header-cart-data {
  color: var(--aszsa-amber) !important;
}
/* Item de menú destacado tipo botón (si tiene esta clase asignada en el editor de menú) */
.main-header-menu .menu-item.ast-menu-cart-highlight > a {
  background-color: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
  padding: 8px 16px !important;
  border-radius: 3px;
}

/* Submenú desplegable (Categorias > Fischer / Bremen, etc.) — cubre TODOS los niveles anidados */
.main-header-menu .sub-menu,
.main-header-menu ul.sub-menu,
.main-header-menu li ul,
.ast-mega-menu-column {
  background-color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 40px rgba(1,0,35,0.28) !important;
  min-width: 240px;
  padding: 6px 0 !important;
}
/* El margen de separación respecto al menú va SOLO en el primer nivel
   (Categorias > Fischer/Bremen). Si se aplica también a los niveles
   anidados (Fischer > Fijaciones...), el hueco extra corta la cadena de
   ":hover" entre fila y sub-flyout y el segundo nivel deja de mostrarse. */
.main-header-menu > .menu-item > .sub-menu {
  margin-top: 6px !important;
}
/* Importante: nunca "overflow: hidden" acá — el segundo nivel (Fischer >
   Fijaciones Químicas, etc.) se dibuja hacia el costado con position:
   absolute y overflow:hidden en el contenedor padre lo recorta, haciendo
   que las subcategorías "no aparezcan". El radio de las esquinas no
   necesita overflow:hidden: el fondo ya respeta el border-radius solo. */
.main-header-menu .sub-menu li,
.main-header-menu li ul li {
  border-bottom: 1px solid var(--aszsa-steel-light) !important;
}
.main-header-menu .sub-menu li:last-child,
.main-header-menu li ul li:last-child {
  border-bottom: none !important;
}
.main-header-menu .sub-menu a,
.main-header-menu ul.sub-menu li a,
.main-header-menu li ul li a,
.main-header-menu li ul a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px;
  color: var(--aszsa-ink) !important;
  text-transform: none !important;
  font-weight: 500 !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 14px !important;
  padding: 13px 22px !important;
  background: transparent !important;
  border-left: 3px solid transparent !important;
  transition: background-color .12s, border-color .12s, color .12s;
}
.main-header-menu .sub-menu a:hover,
.main-header-menu li ul a:hover {
  color: var(--aszsa-amber-dark) !important;
  background-color: var(--aszsa-paper) !important;
  border-left: 3px solid var(--aszsa-amber) !important;
}

/* Refuerzo por ID: el menú principal de Astra tiene id="ast-hf-menu-1".
   Un selector con ID gana en especificidad al CSS que Astra genera
   automáticamente desde el Personalizador, sin importar el orden de carga. */
#ast-hf-menu-1 .sub-menu,
#ast-hf-menu-1 ul ul {
  background-color: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 40px rgba(1,0,35,0.28) !important;
}
#ast-hf-menu-1 > .menu-item > .sub-menu {
  margin-top: 6px !important;
}
#ast-hf-menu-1 .sub-menu li,
#ast-hf-menu-1 ul ul li {
  border-bottom: 1px solid var(--aszsa-steel-light) !important;
}
#ast-hf-menu-1 .sub-menu li:last-child,
#ast-hf-menu-1 ul ul li:last-child {
  border-bottom: none !important;
}
#ast-hf-menu-1 .sub-menu a,
#ast-hf-menu-1 ul ul a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px;
  color: var(--aszsa-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 13px 22px !important;
  background: transparent !important;
  border-left: 3px solid transparent !important;
}
#ast-hf-menu-1 .sub-menu a:hover,
#ast-hf-menu-1 ul ul a:hover {
  color: var(--aszsa-amber-dark) !important;
  background-color: var(--aszsa-paper) !important;
  border-left: 3px solid var(--aszsa-amber) !important;
}
/* Ícono de flecha (submenú anidado, ej. Fischer >) en tono steel, se ilumina en hover */
#ast-hf-menu-1 .sub-menu .dropdown-menu-toggle,
#ast-hf-menu-1 .sub-menu .astra-menu-toggle,
.main-header-menu .sub-menu .dropdown-menu-toggle,
.main-header-menu .sub-menu .astra-menu-toggle {
  color: var(--aszsa-steel) !important;
}
.main-header-menu .sub-menu li:hover > a .dropdown-menu-toggle,
.main-header-menu .sub-menu li:hover > a .astra-menu-toggle {
  color: var(--aszsa-amber-dark) !important;
}
/* Evita paneles vacíos/blancos de sub-submenús sin contenido visible */
.main-header-menu .sub-menu .sub-menu:empty {
  display: none !important;
}

/* Franja superior de contacto, si se agrega vía Astra Above Header */
.ast-above-header-wrap,
.ast-above-header {
  background-color: var(--aszsa-navy);
  color: #fff;
  font-size: 12.5px;
  letter-spacing: 0.03em;
}
.ast-above-header-wrap a,
.ast-above-header a {
  color: #fff;
}

/* Badge de cuenta empresa junto al login (clase usada en los bloques HTML de Elementor) */
.aszsa-badge-empresa {
  background-color: var(--aszsa-amber);
  color: var(--aszsa-navy);
  font-size: 10.5px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Categorías de producto: cards */
ul.products li.product {
  border-radius: 4px;
}
ul.products li.product .price ins {
  color: var(--aszsa-amber-dark);
}

/* Tarjetas de producto de igual altura: imagen en cuadrado fijo (sin
   deformar, con object-fit: contain), título limitado a 3 líneas con alto
   reservado, y precio + botón siempre alineados al pie de la tarjeta. */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  aspect-ratio: 1 / 1;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 0;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.3;
  min-height: calc(3 * 1.3em);
}
.woocommerce ul.products li.product .astra-shop-summary-wrap .price {
  margin-top: auto;
}

/* Banner del logo en la página de Tienda: lo achica y lo prolija */
.woocommerce-products-header img,
.page-header img,
.term-description img,
.woocommerce-page .content-area > img,
#content > img {
  max-width: 320px !important;
  height: auto !important;
  display: block;
  margin: 0 0 28px 0 !important;
  border-radius: 4px;
}

/* Footer */
body #colophon,
body .site-footer,
body footer.site-footer,
body .ast-small-footer,
body .ast-small-footer-wrap,
body .site-below-footer-wrap {
  background-color: var(--aszsa-navy) !important;
  color: #B9B9CC !important;
  border-top: 4px solid var(--aszsa-amber) !important;
}
body #colophon a,
body .site-footer a,
body .ast-small-footer a,
body .ast-footer-copyright,
body .ast-footer-copyright a {
  color: #fff !important;
}

/* ==========================================================
   HOME (front-page.php)
   ========================================================== */

.aszsa-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 24px 64px;
}

.aszsa-hero {
  background: var(--aszsa-navy);
  color: #fff;
  padding: 56px 40px;
  border-radius: 6px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  align-items: center;
  margin-bottom: 36px;
}
.aszsa-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--aszsa-amber); color: var(--aszsa-navy);
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 2px; margin-bottom: 18px;
}
.aszsa-hero h1 { color: #fff; font-size: 38px; line-height: 1.1; margin: 0 0 16px; }
.aszsa-hero h1 em { font-style: normal; color: var(--aszsa-amber); }
.aszsa-hero p {
  color: #C7C7DA; max-width: 460px; line-height: 1.6; margin: 0 0 24px;
  font-family: 'Work Sans', sans-serif; text-transform: none;
}
.aszsa-hero-ctas a {
  display: inline-block; padding: 13px 24px; border-radius: 2px; font-weight: 700;
  font-size: 14px; text-transform: uppercase; letter-spacing: 0.03em; margin-right: 12px;
}
.aszsa-btn-primary { background: var(--aszsa-amber); color: var(--aszsa-navy); }
.aszsa-btn-ghost { border: 2px solid rgba(255,255,255,0.35); color: #fff; }
.aszsa-hero-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: rgba(255,255,255,0.15); border-radius: 4px; overflow: hidden; }
.aszsa-stat { background: var(--aszsa-navy-2); padding: 20px 16px; }
.aszsa-stat .num { font-family: 'Oswald', sans-serif; font-size: 28px; font-weight: 600; color: var(--aszsa-amber); }
.aszsa-stat .label { font-size: 12px; color: #B9B9CC; text-transform: uppercase; letter-spacing: 0.03em; margin-top: 4px; font-family: 'Work Sans', sans-serif; }

.aszsa-cat-strip { display: grid; grid-template-columns: repeat(6,1fr); gap: 14px; margin-bottom: 48px; }
.aszsa-cat-tile { border: 1px solid var(--aszsa-steel-light); border-radius: 4px; padding: 16px 10px; text-align: center; text-decoration: none; display: block; transition: border-color .15s, transform .15s; }
.aszsa-cat-tile:hover { border-color: var(--aszsa-amber); transform: translateY(-2px); }
.aszsa-cat-tile .n { font-family: 'Oswald', sans-serif; font-size: 11px; color: var(--aszsa-steel); letter-spacing: 0.08em; }
.aszsa-cat-tile .name { font-size: 13px; font-weight: 600; margin-top: 6px; color: var(--aszsa-navy); font-family: 'Work Sans', sans-serif; text-transform: none; }
.aszsa-cat-tile .count { font-size: 11.5px; color: var(--aszsa-steel); margin-top: 2px; }

.aszsa-section { margin-bottom: 48px; }
.aszsa-section-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 24px; border-bottom: 2px solid var(--aszsa-navy); padding-bottom: 12px;
}
.aszsa-section-head h2 { font-size: 22px; margin: 0; }
.aszsa-section-head a { font-size: 13px; font-weight: 600; color: var(--aszsa-steel); text-transform: uppercase; letter-spacing: 0.03em; }

.aszsa-brands { background: var(--aszsa-steel-light); padding: 40px; border-radius: 6px; margin-bottom: 36px; }
.aszsa-brand-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 24px; }
.aszsa-brand-card { background: #fff; border-radius: 6px; padding: 26px 28px; border-left: 5px solid var(--aszsa-navy); display: block; text-decoration: none; transition: border-color .15s, transform .15s; }
.aszsa-brand-card:hover { border-left-color: var(--aszsa-amber); transform: translateY(-2px); }
.aszsa-brand-card h3 { font-size: 19px; margin: 0 0 8px; color: var(--aszsa-navy); }
.aszsa-brand-card p { font-size: 13.5px; color: var(--aszsa-steel); line-height: 1.6; font-family: 'Work Sans', sans-serif; text-transform: none; margin: 0; }

.aszsa-b2b-banner {
  background: var(--aszsa-navy); border-radius: 6px; padding: 32px 36px;
  display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; color: #fff;
}
.aszsa-b2b-banner h3 { color: #fff; font-size: 20px; margin: 0 0 8px; }
.aszsa-b2b-banner p { color: #C7C7DA; max-width: 460px; font-size: 14px; font-family: 'Work Sans', sans-serif; text-transform: none; margin: 0; }

@media (max-width: 768px) {
  .aszsa-hero { grid-template-columns: 1fr; }
  .aszsa-cat-strip { grid-template-columns: repeat(2,1fr); }
}

/* ==========================================================
   PÁGINA DE MARCA (Categorias Bremen / Categorias Fischer)
   ========================================================== */

.aszsa-marca-page { padding: 40px 0 60px; }

.aszsa-marca-hero {
  background: var(--aszsa-navy);
  border-radius: 6px;
  padding: 44px 40px;
  margin-bottom: 32px;
  color: #fff;
}
.aszsa-marca-eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aszsa-amber);
  margin-bottom: 10px;
  font-family: 'Work Sans', sans-serif;
}
.aszsa-marca-hero h1 {
  color: #fff;
  font-size: 34px;
  margin: 0 0 14px;
}
.aszsa-marca-hero p {
  color: #C7C7DA;
  font-size: 15px;
  line-height: 1.6;
  max-width: 640px;
  margin: 0 0 22px;
  font-family: 'Work Sans', sans-serif;
  text-transform: none;
}
.aszsa-marca-hero .aszsa-btn-ghost {
  display: inline-block;
  padding: 11px 22px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.aszsa-marca-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}

.aszsa-marca-card {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--aszsa-steel-light);
  transition: transform .15s, box-shadow .15s;
}
.aszsa-marca-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(1,0,35,0.12);
}
.aszsa-marca-card-img {
  display: block;
  aspect-ratio: 4 / 3;
  background: var(--aszsa-steel-light);
  overflow: hidden;
}
.aszsa-marca-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.aszsa-marca-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-size: 48px;
  color: var(--aszsa-steel);
  background: var(--aszsa-steel-light);
}
.aszsa-marca-card-body { padding: 20px 22px 24px; }
.aszsa-marca-card-body h3 {
  font-size: 18px;
  margin: 0 0 4px;
  color: var(--aszsa-navy);
}
.aszsa-marca-card-count {
  font-size: 12.5px;
  color: var(--aszsa-steel);
  margin: 0 0 16px;
  font-family: 'Work Sans', sans-serif;
  text-transform: none;
}
.aszsa-btn-block {
  display: block;
  width: 100%;
  text-align: center;
  padding: 11px 0;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

@media (max-width: 600px) {
  .aszsa-marca-hero { padding: 32px 24px; }
  .aszsa-marca-hero h1 { font-size: 26px; }
}

/* ==========================================================
   CARRITO (WooCommerce, /cart/)
   ========================================================== */

/* Tabla de productos del carrito */
.woocommerce-cart table.cart,
.woocommerce-cart table.shop_table {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0;
}
.woocommerce-cart table.cart thead th,
.woocommerce-cart table.shop_table thead th {
  background: var(--aszsa-navy) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 12.5px;
  font-weight: 500;
  border: none !important;
  padding: 14px 16px !important;
}
.woocommerce-cart table.cart tbody tr,
.woocommerce-cart table.shop_table tbody tr {
  border-bottom: 1px solid var(--aszsa-steel-light) !important;
  transition: background-color .12s;
}
.woocommerce-cart table.cart tbody tr:hover,
.woocommerce-cart table.shop_table tbody tr:hover {
  background-color: var(--aszsa-paper) !important;
}
.woocommerce-cart table.cart td,
.woocommerce-cart table.shop_table td {
  border: none !important;
  padding: 16px !important;
}
.woocommerce-cart table.cart td.product-thumbnail img,
.woocommerce-cart table.shop_table td.product-thumbnail img {
  border-radius: 6px;
  border: 1px solid var(--aszsa-steel-light);
}
.woocommerce-cart table.cart td.product-name a,
.woocommerce-cart table.shop_table td.product-name a {
  color: var(--aszsa-navy) !important;
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.shop_table td.product-subtotal {
  font-family: 'Oswald', sans-serif;
  color: var(--aszsa-navy);
  font-weight: 600;
}
.woocommerce-cart table.cart td.product-remove a.remove {
  color: var(--aszsa-steel) !important;
  background: transparent !important;
  font-size: 20px !important;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover {
  color: #fff !important;
  background-color: #d64545 !important;
}
.woocommerce-cart table.cart .quantity input.qty,
.woocommerce-cart table.shop_table .quantity input.qty {
  border: 1px solid var(--aszsa-steel-light) !important;
  border-radius: 4px;
  padding: 8px 10px;
  font-family: 'Work Sans', sans-serif;
  color: var(--aszsa-ink);
}

/* Botón "Actualizar carrito": secundario, no debe competir con Finalizar compra */
.woocommerce-cart table.cart button[name="update_cart"] {
  background-color: #fff !important;
  color: var(--aszsa-navy) !important;
  border: 2px solid var(--aszsa-navy) !important;
}
.woocommerce-cart table.cart button[name="update_cart"]:hover {
  background-color: var(--aszsa-navy) !important;
  color: #fff !important;
}

/* Caja "Totales del carrito" */
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(1,0,35,0.10);
  border: 1px solid var(--aszsa-steel-light);
}
.woocommerce-cart .cart_totals > h2 {
  background: var(--aszsa-navy);
  color: #fff;
  margin: 0;
  padding: 18px 22px;
  font-size: 18px;
  border-bottom: 3px solid var(--aszsa-amber);
}
.woocommerce-cart .cart_totals table.shop_table {
  margin: 0;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  padding: 16px 22px !important;
  border-bottom: 1px solid var(--aszsa-steel-light) !important;
}
.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
.woocommerce-cart .cart_totals table.shop_table tr:last-child td {
  border-bottom: none !important;
}
.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  color: var(--aszsa-navy);
  font-weight: 600;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
  color: var(--aszsa-steel);
}
.woocommerce-cart .cart_totals a.shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals p a {
  color: var(--aszsa-amber-dark) !important;
  text-decoration: underline;
}

/* Botón "Finalizar compra": es la acción principal, va en amber */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  background-color: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
  margin: 20px 22px 22px !important;
  width: calc(100% - 44px) !important;
  border-radius: 4px !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: var(--aszsa-amber-dark) !important;
  color: #fff !important;
}

/* Botón "Guardar cotización" (del plugin de cotizaciones): acción secundaria,
   se distingue de "Finalizar compra" quedando en navy en vez de amber. */
.woocommerce-cart .convertir-a-cotizacion,
.woocommerce-cart .actualizar-cotizacion {
  margin: 0 22px 16px !important;
}
.woocommerce-cart .convertir-a-cotizacion-btn {
  background-color: var(--aszsa-navy) !important;
  color: #fff !important;
  border-radius: 4px !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 600;
  font-family: 'Oswald', sans-serif;
}
.woocommerce-cart .convertir-a-cotizacion-btn:hover {
  background-color: var(--aszsa-amber-dark) !important;
  color: #fff !important;
}

/* ==========================================================
   PÁGINA DE COTIZACIÓN (plugin-cotizaciones, single-cotizaciones.php)
   El template de este CPT arma la tabla y los botones con estilos
   inline (style="...") escritos en PHP. Un inline style SIN !important
   pierde contra una regla externa CON !important, así que se puede
   re-brandear todo sin tocar el plugin: acá se sobreescribe cada
   selector con !important. Se scopea con "body.single-cotizaciones"
   (clase que WordPress agrega solo a las páginas de este CPT) para no
   afectar ninguna otra tabla/botón del sitio.
   ========================================================== */

body.single-cotizaciones table {
  width: 100%;
  background: #fff;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(1,0,35,0.08);
}
body.single-cotizaciones table td,
body.single-cotizaciones table th {
  border: none !important;
  border-bottom: 1px solid var(--aszsa-steel-light) !important;
  font-family: 'Work Sans', sans-serif;
}
body.single-cotizaciones tr.cotizacion-header th {
  background: var(--aszsa-navy) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 12.5px;
  font-weight: 500;
}
body.single-cotizaciones h1 {
  color: var(--aszsa-navy) !important;
  font-family: 'Oswald', sans-serif;
}
body.single-cotizaciones table img {
  border-radius: 6px;
  border: 1px solid var(--aszsa-steel-light);
}

/* Botones de acción: Realizar Compra / Borrar / Descargar / Enviar / Actualizar / Editar */
body.single-cotizaciones table button {
  background-color: var(--aszsa-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 11px 18px !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 500;
  font-size: 13px !important;
  cursor: pointer;
  transition: background-color .15s;
}
body.single-cotizaciones table button:hover {
  background-color: var(--aszsa-amber-dark) !important;
  color: #fff !important;
}
/* "Realizar Compra" es la acción principal de la página: va en amber */
body.single-cotizaciones #realizar_compra {
  background-color: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
}
body.single-cotizaciones #realizar_compra:hover {
  background-color: var(--aszsa-amber-dark) !important;
  color: #fff !important;
}
/* "Borrar Cotización" es destructiva: se mantiene en rojo, pero prolijo */
body.single-cotizaciones #borrar_cotizacion {
  background-color: #D64545 !important;
}
body.single-cotizaciones #borrar_cotizacion:hover {
  background-color: #B23434 !important;
}

/* Historial de Cotizaciones (Mi Cuenta): "Borrar" es destructiva, se
   diferencia de "Ver" en rojo. Selector más específico que la regla
   genérica ".woocommerce a.button" para poder ganarle en el empate
   de !important vs !important. */
.woocommerce-account .my_account_orders a.button.borrar-cotizacion {
  background-color: #D64545 !important;
  color: #fff !important;
}
.woocommerce-account .my_account_orders a.button.borrar-cotizacion:hover {
  background-color: #B23434 !important;
}

/* Modal "Enviar por mail" y modal de bienvenida */
body.single-cotizaciones #modalMail,
body.single-cotizaciones #modalBienvenida {
  border-radius: 8px !important;
  border: none !important;
  box-shadow: 0 24px 60px rgba(1,0,35,0.3) !important;
}
body.single-cotizaciones #modalMail h2,
body.single-cotizaciones #modalBienvenida h2 {
  font-family: 'Oswald', sans-serif;
  color: var(--aszsa-navy);
  font-size: 20px;
}
body.single-cotizaciones #modalMail input[type="email"] {
  border: 1px solid var(--aszsa-steel-light) !important;
  border-radius: 4px !important;
  font-family: 'Work Sans', sans-serif;
}
body.single-cotizaciones #modalMail button,
body.single-cotizaciones #modalBienvenida #cerrarModal {
  border-radius: 4px !important;
}
body.single-cotizaciones #modalBienvenida #cerrarModal {
  background-color: var(--aszsa-navy) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 13px;
}

/* ==========================================================
   TIENDA: barra lateral angosta (solo escritorio)
   Astra le da 30% del ancho al sidebar; acá queda fijo en 240px y el
   contenido (productos) se queda con el resto. La lista de categorías
   (88 ítems anidados) se compacta y scrollea dentro de una caja en vez
   de estirar toda la página.
   ========================================================== */

@media (min-width: 922px) {
  .ast-left-sidebar #secondary,
  .ast-right-sidebar #secondary {
    width: 300px !important;
    flex: 0 0 300px;
    padding-right: 24px !important;
  }
  .ast-left-sidebar #primary,
  .ast-right-sidebar #primary {
    width: calc(100% - 300px) !important;
  }
  #secondary .widget {
    margin-bottom: 20px;
  }
  #secondary h2.wp-block-heading,
  #secondary h3.wp-block-heading {
    font-size: 15px !important;
    margin-bottom: 10px !important;
  }
  #secondary .widget_block .wp-block-group {
    padding-bottom: 8px !important;
  }
  #secondary .wc-block-product-categories-list-item {
    margin: 0 !important;
    padding: 3px 0;
    font-size: 13.5px;
    line-height: 1.35;
  }
  #secondary .wc-block-product-categories-list-item a {
    font-size: 13.5px;
  }
  #secondary .wc-block-product-categories-list--depth-1,
  #secondary .wc-block-product-categories-list--depth-2 {
    margin-left: 12px !important;
  }
  #secondary .wc-block-product-categories {
    max-height: 420px;
    overflow-y: auto;
    padding-right: 8px;
  }
}

/* ==========================================================
   HOME: mejoras de pulido (hero/stats en celu, categorías, marcas)
   ========================================================== */

/* La fila de stats se cortaba en pantallas chicas: columnas que pueden achicarse */
.aszsa-hero-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Tira de categorías: tiles blancos con acento ámbar */
.aszsa-cat-tile {
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 3px solid transparent;
}
.aszsa-cat-tile:hover {
  border-top-color: var(--aszsa-amber);
  box-shadow: 0 8px 20px rgba(1,0,35,0.08);
}
.aszsa-cat-tile .n {
  color: var(--aszsa-amber-dark);
  font-weight: 600;
}
.aszsa-cat-tile .name {
  min-height: 2.7em;
  line-height: 1.35;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Marcas: logo (imagen de la categoría) o nombre, descripción opcional,
   cantidad de productos y llamada a ver las categorías */
.aszsa-brand-card p:empty {
  display: none;
}
.aszsa-brand-card h3 {
  font-size: 24px;
}
.aszsa-brand-logo {
  display: flex;
  align-items: center;
  height: 64px;
  margin-bottom: 14px;
}
.aszsa-brand-logo img {
  max-height: 64px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.aszsa-brand-meta {
  display: block;
  margin-top: 10px;
  font-size: 12.5px;
  color: var(--aszsa-steel);
}
.aszsa-brand-card::after {
  content: 'Ver categorías →';
  display: block;
  margin-top: 14px;
  font: 600 12px/1 'Work Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--aszsa-amber-dark);
}

/* Celu: hero más bajo, botones lado a lado, márgenes más chicos */
@media (max-width: 768px) {
  .aszsa-container { padding: 20px 16px 40px; }
  .aszsa-hero { padding: 28px 20px; gap: 22px; margin-bottom: 24px; }
  .aszsa-hero-eyebrow { font-size: 11px; padding: 5px 10px; margin-bottom: 14px; }
  .aszsa-hero h1 { font-size: 28px; margin-bottom: 12px; }
  .aszsa-hero p { font-size: 14.5px; margin-bottom: 18px; }
  .aszsa-hero-ctas { display: flex; gap: 10px; flex-wrap: wrap; }
  .aszsa-hero-ctas a { flex: 1 1 140px; text-align: center; margin-right: 0; padding: 12px 8px; font-size: 13px; white-space: nowrap; }
  .aszsa-stat { padding: 14px 8px; text-align: center; }
  .aszsa-stat .num { font-size: 20px; }
  .aszsa-stat .label { font-size: 10px; }
  .aszsa-cat-strip { gap: 10px; margin-bottom: 32px; }
  .aszsa-section { margin-bottom: 32px; }
  .aszsa-brands { padding: 24px 18px; }
  .aszsa-b2b-banner { padding: 24px 20px; }
}

/* Celu chico: grillas de productos en 2 columnas (venían en 3, con títulos apretados) */
@media (max-width: 600px) {
  /* En celu el hero va directo al grano: sin el párrafo largo */
  .aszsa-hero p { display: none; }
  .woocommerce ul.products[class*="columns-"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .aszsa-hero h1 { font-size: 26px; }
}

/* ==========================================================
   TIENDA: tarjetas, barra de orden y paginación
   ========================================================== */

/* Tarjetas con borde fino, levantan al pasar el mouse */
.woocommerce ul.products li.product {
  border: 1px solid var(--aszsa-steel-light);
  padding: 12px 12px 14px;
  transition: box-shadow .15s, transform .15s, border-color .15s;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 10px 26px rgba(1,0,35,0.12);
  border-color: #cfd3d8;
  transform: translateY(-2px);
}
/* Categoría en ámbar, título más liviano, precio con más presencia */
.woocommerce ul.products li.product .ast-woo-product-category {
  color: var(--aszsa-amber-dark);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 12px 0 4px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--aszsa-navy);
}
.woocommerce ul.products li.product .price {
  font-size: 17px;
  margin: 8px 0 12px;
}
.woocommerce ul.products li.product .price del {
  font-size: 12.5px;
  opacity: 0.6;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}
/* Botón "Añadir al carrito" más compacto, a todo el ancho de la tarjeta */
.woocommerce ul.products li.product .button.add_to_cart_button:not(.ast-on-card-button) {
  padding: 11px 14px;
  font-size: 13px;
  width: 100%;
  text-align: center;
  border-radius: 4px !important;
}

/* Barra superior: cantidad de resultados + ordenar */
.woocommerce-result-count {
  font-size: 13.5px;
  color: var(--aszsa-steel);
}
.woocommerce-ordering select {
  border: 1px solid var(--aszsa-steel-light);
  border-radius: 4px;
  padding: 9px 12px;
  background-color: #fff;
  font-size: 13.5px;
  color: var(--aszsa-ink);
}

/* Paginación: cuadraditos, la página actual en navy */
.woocommerce nav.woocommerce-pagination ul {
  border: none;
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--aszsa-steel-light);
  border-radius: 4px;
  min-width: 40px;
  height: 40px;
  line-height: 38px;
  padding: 0 10px;
  font-family: 'Oswald', sans-serif;
  color: var(--aszsa-navy);
  background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--aszsa-amber);
  color: var(--aszsa-amber-dark);
  background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--aszsa-navy);
  color: #fff;
  border-color: var(--aszsa-navy);
}

/* ==========================================================
   TIENDA: barra lateral (categorías + filtro de precio)
   Cada widget pasa a ser una tarjeta blanca; títulos en Oswald con
   subrayado ámbar; categorías con contador en "píldora" y los niveles
   anidados con una línea guía; el slider de precio en ámbar/navy.
   Los links de categoría traen color inline (sin !important), por eso
   acá se fuerza con !important.
   ========================================================== */

#secondary .widget {
  background: #fff;
  border: 1px solid var(--aszsa-steel-light);
  border-radius: 6px;
  padding: 18px 16px 16px;
  margin-bottom: 16px;
}
#secondary .widget .wp-block-group {
  padding-bottom: 0 !important;
}
#secondary h2.wp-block-heading,
#secondary h3.wp-block-heading {
  font-family: 'Oswald', sans-serif;
  font-size: 15px !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aszsa-navy) !important;
  margin: 0 0 14px !important;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--aszsa-steel-light);
  position: relative;
}
#secondary h2.wp-block-heading::after,
#secondary h3.wp-block-heading::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 36px;
  height: 2px;
  background: var(--aszsa-amber);
}

/* Lista de categorías: caja con scroll (también en celu) */
#secondary .wc-block-product-categories {
  max-height: 360px;
  overflow-y: auto;
  padding-right: 4px;
}
#secondary .wc-block-product-categories-list-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 !important;
  padding: 8px 0 !important;
  font-size: 13.5px;
  line-height: 1.4;
}
#secondary .wc-block-product-categories-list-item > a {
  flex: 1 1 0;
  min-width: 0;
  color: var(--aszsa-navy) !important;
  font-size: 13.5px;
  text-decoration: none;
}
#secondary .wc-block-product-categories-list-item > a:hover {
  color: var(--aszsa-amber-dark) !important;
}
#secondary .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 14px;
}
#secondary .wc-block-product-categories-list-item-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--aszsa-steel);
  background: var(--aszsa-paper);
  border-radius: 10px;
  padding: 1px 8px;
  margin-left: 6px;
}
#secondary .wc-block-product-categories-list--depth-1,
#secondary .wc-block-product-categories-list--depth-2 {
  flex: 0 0 100%;
  margin: 6px 0 2px 2px !important;
  padding-left: 10px;
  border-left: 1px solid var(--aszsa-steel-light);
}
#secondary .wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item {
  padding: 7px 0 !important;
}

/* Filtro de precio: slider ámbar con manijas navy */
#secondary .wc-block-components-price-slider__range-input-progress {
  background: var(--aszsa-amber) !important;
  --range-color: var(--aszsa-amber);
}
#secondary .wc-block-components-price-slider__range-input-wrapper {
  background: var(--aszsa-steel-light) !important;
}
#secondary .wc-block-price-filter__range-input::-webkit-slider-thumb {
  background: var(--aszsa-navy) !important;
  border-color: #fff !important;
}
#secondary .wc-block-price-filter__range-input::-moz-range-thumb {
  background: var(--aszsa-navy) !important;
  border-color: #fff !important;
}
/* Campos de precio mínimo/máximo: dos columnas iguales, el campo ocupa todo el
   ancho (WooCommerce los limita a max-width: 60px y el número se cortaba) y la
   etiqueta va arriba */
#secondary .wc-block-price-filter__controls {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  justify-content: stretch;
}
#secondary .wc-block-price-filter__control {
  min-width: 0;
  display: flex;
  flex-direction: column-reverse;
  gap: 6px;
}
#secondary .wc-block-price-filter__controls input {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  box-sizing: border-box;
  padding: 10px !important;
  font-size: 14px !important;
  text-align: left;
  border: 1px solid var(--aszsa-steel-light) !important;
  border-radius: 4px !important;
}
#secondary .wc-block-components-price-slider__label {
  font-size: 12px;
  color: var(--aszsa-steel);
  margin: 0;
}

/* ==========================================================
   TIENDA: categorías desplegables + panel "Filtrar" en celu
   (las clases las agrega js/aszsa-tienda.js)
   ========================================================== */

/* Botón de abrir/cerrar subcategorías */
#secondary .aszsa-cat-toggle {
  flex: 0 0 24px;
  width: 24px;
  height: 28px;
  margin-left: 2px;
  padding: 0;
  border: none !important;
  border-radius: 4px;
  background: transparent !important;
  cursor: pointer;
  position: relative;
}
#secondary .aszsa-cat-toggle::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--aszsa-steel);
  border-bottom: 2px solid var(--aszsa-steel);
  transform: translate(-50%, -70%) rotate(45deg);
  transition: transform .15s;
}
#secondary .aszsa-cat-toggle:hover::before {
  border-color: var(--aszsa-amber-dark);
}
#secondary .has-sub.is-open > .aszsa-cat-toggle::before {
  transform: translate(-50%, -30%) rotate(-135deg);
}
/* Subcategorías: cerradas salvo que el ítem esté abierto */
#secondary .has-sub:not(.is-open) > ul {
  display: none;
}
/* Categoría actual */
#secondary .wc-block-product-categories-list-item.is-current > a {
  color: var(--aszsa-amber-dark) !important;
  font-weight: 700;
}

/* El panel de filtros (cabecera y botón) solo existen en celu/tablet */
.aszsa-filtrar-btn,
.aszsa-panel-head {
  display: none;
}

@media (max-width: 921px) {
  .aszsa-filtrar-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    justify-content: center;
    margin: 4px 0 18px;
    padding: 13px 16px;
    background: var(--aszsa-navy) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .aszsa-filtrar-btn:hover {
    background: var(--aszsa-amber) !important;
    color: var(--aszsa-navy) !important;
  }
  .aszsa-filtrar-ico {
    width: 16px;
    height: 12px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    position: relative;
  }
  .aszsa-filtrar-ico::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 3px;
    border-top: 2px solid currentColor;
  }

  /* La barra lateral deja de estar al final: queda oculta y se abre como panel */
  #secondary {
    display: none !important;
  }
  body.aszsa-filtros-abiertos {
    overflow: hidden;
  }
  body.aszsa-filtros-abiertos #secondary {
    display: block !important;
    position: fixed;
    inset: 0;
    z-index: 99999;
    width: 100% !important;
    max-width: none;
    padding: 0 16px 24px !important;
    margin: 0 !important;
    background: var(--aszsa-paper);
    overflow-y: auto;
  }
  .aszsa-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 2;
    margin: 0 -16px 16px;
    padding: 14px 16px;
    background: var(--aszsa-navy);
    color: #fff;
    border-bottom: 3px solid var(--aszsa-amber);
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .aszsa-panel-close {
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 30px;
    line-height: 1;
    padding: 0 6px;
    cursor: pointer;
  }
  /* En el panel la lista de categorías no necesita su propia caja con scroll */
  body.aszsa-filtros-abiertos #secondary .wc-block-product-categories {
    max-height: none;
    overflow: visible;
  }
}

/* ==========================================================
   Ficha de producto, carrito y checkout (celular y compu)
   ========================================================== */
.woocommerce-cart .cart_totals h2 {
  color: var(--aszsa-navy) !important;
  background: transparent !important;
}

/* Carrito en compu: lista a la izquierda, totales a la derecha (sin scrollear) */
@media (min-width: 922px) {
  .woocommerce-cart .entry-content > .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 24px;
    align-items: start;
  }
  .woocommerce-cart .entry-content > .woocommerce > * { grid-column: 1 / -1; }
  .woocommerce-cart .entry-content > .woocommerce > .woocommerce-cart-form {
    grid-column: 1;
    grid-row: 2;
  }
  .woocommerce-cart .entry-content > .woocommerce > .cart-collaterals {
    grid-column: 2;
    grid-row: 2;
    position: sticky;
    top: 20px;
    width: 100% !important;
    float: none !important;
  }
  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    padding: 16px 18px;
  }
  .woocommerce-cart .cart_totals h2 { font-size: 18px; margin: 0 0 8px; }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td { padding: 8px 0 !important; }
}

@media (max-width: 768px) {
  /* Ficha de producto: botón y cantidad cómodos para el dedo */
  .single-product form.cart { display: flex; align-items: stretch; gap: 10px; }
  .single-product form.cart .quantity { flex: 0 0 auto; }
  .single-product form.cart .quantity .qty { height: 100%; min-height: 48px; }
  .single-product form.cart .single_add_to_cart_button {
    flex: 1 1 auto; min-height: 48px; margin: 0; font-size: 15px;
  }

  /* Carrito compacto: miniatura a la izquierda, datos a la derecha */
  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart tbody { display: block; width: 100%; border: 0; }
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tr.cart_item {
    display: grid;
    grid-template-columns: 76px 1fr auto;
    grid-template-areas:
      "thumb name  name"
      "thumb price price"
      "thumb qty   sub";
    column-gap: 12px;
    row-gap: 4px;
    align-items: center;
    position: relative;
    padding: 12px 34px 12px 10px;
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
  }
  .woocommerce-cart table.cart tr.cart_item td {
    display: block;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    min-width: 0;
    min-height: 0 !important;
    height: auto !important;
  }
  .woocommerce-cart table.cart td::before { display: none !important; content: none !important; }
  .woocommerce-cart table.cart td.product-thumbnail { grid-area: thumb; align-self: start; }
  .woocommerce-cart table.cart td.product-thumbnail img {
    width: 76px; max-width: 76px; height: auto; border: 1px solid #eee;
  }
  .woocommerce-cart table.cart td.product-name { grid-area: name; font-size: 14px; line-height: 1.3; }
  .woocommerce-cart table.cart td.product-price { grid-area: price; font-size: 13px; color: #666; }
  .woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
  .woocommerce-cart table.cart td.product-quantity .quantity .qty { width: 64px; min-height: 38px; }
  .woocommerce-cart table.cart td.product-subtotal { grid-area: sub; font-weight: 700; justify-self: end; }
  .woocommerce-cart table.cart td.product-remove {
    position: absolute; top: 8px; right: 6px; width: auto; height: auto;
  }
  .woocommerce-cart table.cart tr:not(.cart_item),
  .woocommerce-cart table.cart tr:not(.cart_item) td {
    display: block; padding: 8px 0 !important; border: 0 !important;
  }
  .woocommerce-cart table.cart td.actions .button {
    box-sizing: border-box; width: 100% !important; margin: 0 !important;
    min-height: 40px; padding: 8px;
  }

  /* Totales compactos */
  .woocommerce-cart .cart-collaterals .cart_totals {
    box-sizing: border-box; width: 100% !important; float: none !important;
    padding: 12px 14px; margin-top: 8px;
  }
  .woocommerce-cart .cart_totals h2 {
    font-size: 18px; margin: 0 0 8px !important; padding: 0 !important; width: auto !important;
  }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td { padding: 8px 0 !important; }
  .woocommerce-cart .cart_totals .button,
  .woocommerce-cart .cart_totals .checkout-button {
    box-sizing: border-box; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
  }
  .wc-proceed-to-checkout a.checkout-button {
    min-height: 50px; display: flex; align-items: center; justify-content: center;
  }

  /* Checkout: botón de pago grande */
  .woocommerce-checkout #place_order {
    width: 100% !important; min-height: 50px; font-size: 15px;
  }
}

/* ==========================================================
   Minicarrito del header (desplegable) y panel lateral
   El header fuerza texto blanco; el panel es blanco → se leía nada.
   ========================================================== */
.ast-site-header-cart .widget_shopping_cart,
.astra-cart-drawer .widget_shopping_cart {
  color: var(--aszsa-navy) !important;
}
.ast-site-header-cart .widget_shopping_cart {
  width: 320px;
  border: 1px solid #e5e5e5 !important;
  border-top: 3px solid var(--aszsa-amber) !important;
  border-radius: 6px;
  box-shadow: 0 14px 34px rgba(1, 0, 35, .22);
}
.ast-site-header-cart .widget_shopping_cart a:not(.button),
.astra-cart-drawer .widget_shopping_cart a:not(.button) {
  color: var(--aszsa-navy) !important;
  font-weight: 600;
  text-transform: none;
}
.ast-site-header-cart .widget_shopping_cart a.remove,
.astra-cart-drawer .widget_shopping_cart a.remove {
  color: var(--aszsa-steel) !important;
}
.ast-site-header-cart .widget_shopping_cart .quantity,
.astra-cart-drawer .widget_shopping_cart .quantity,
.ast-site-header-cart .woocommerce-mini-cart__total,
.ast-site-header-cart .woocommerce-mini-cart__total strong,
.astra-cart-drawer .woocommerce-mini-cart__total {
  color: var(--aszsa-navy) !important;
}
.ast-site-header-cart .woocommerce-mini-cart__total,
.astra-cart-drawer .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
  text-transform: uppercase;
}
.ast-site-header-cart .woocommerce-mini-cart__buttons a.checkout,
.astra-cart-drawer .woocommerce-mini-cart__buttons a.checkout {
  background: var(--aszsa-amber) !important;
  border-color: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
}

/* ==========================================================
   Buscador del header (Advanced Woo Search): resultados en vivo
   ========================================================== */
.aws-search-result {
  border: 1px solid #e5e5e5 !important;
  border-top: 3px solid var(--aszsa-amber) !important;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 14px 34px rgba(1, 0, 35, .22) !important;
  max-height: 70vh;
  overflow-y: auto !important;
}
.aws-search-result .aws_result_item {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 10px 14px !important;
  border-bottom: 1px solid #eee !important;
  height: auto !important;
  min-height: 0 !important;
  position: relative;
}
.aws-search-result .aws_result_item:hover,
.aws-search-result .aws_result_item.hover {
  background: #fff6e0 !important;
}
.aws-search-result .aws_result_image {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  float: none !important;
  margin: 0 !important;
}
.aws-search-result .aws_result_image img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain;
  border: 1px solid #eee;
  background: #fff;
}
.aws-search-result .aws_result_content {
  flex: 1 1 auto;
  min-width: 0;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.aws-search-result .aws_result_head {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: auto !important;
}
.aws-search-result .aws_result_title {
  display: block;
  width: auto !important;
  float: none !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 600;
  line-height: 1.3;
  color: var(--aszsa-navy) !important;
}
.aws-search-result .aws_result_price {
  display: block;
  width: auto !important;
  float: none !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 700;
  text-align: left !important;
  color: var(--aszsa-navy) !important;
}
.aws-search-result .aws_result_price del {
  margin-right: 6px;
  font-size: 12px;
  font-weight: 400;
  color: var(--aszsa-steel);
}
.aws-search-result .aws_result_price ins {
  text-decoration: none;
}
/* Cartelito de oferta: chico y ámbar en vez del verde que viene por defecto */
.aws-search-result .aws_onsale {
  top: 6px !important;
  right: 8px !important;
  left: auto !important;
  padding: 2px 6px !important;
  border-radius: 3px;
  background: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
  font-size: 10px !important;
  font-weight: 700;
  line-height: 1.2 !important;
  text-transform: uppercase;
  transform: none !important;
  width: auto !important;
  height: auto !important;
}
/* Extracto largo fuera: hacía cada fila de más de 200px */
.aws-search-result .aws_result_excerpt,
.aws-search-result .aws_result_sku,
.aws-search-result .aws_result_stock {
  display: none !important;
}
.aws-search-result .aws_search_more {
  display: block !important;
  position: sticky;
  bottom: 0;
  padding: 12px !important;
  background: var(--aszsa-navy) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  font-size: 13px !important;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}
.aws-search-result .aws_search_more:hover {
  background: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
}
/* En compu el campo es angosto y está a la derecha: el panel se abre más ancho hacia la izquierda */
@media (min-width: 769px) {
  .aws-search-result {
    width: 420px !important;
    margin-left: -185px;
  }
}

/* ==========================================================
   Header en celular: logo más chico + buscador que se expande
   (el logo de 200px + el buscador sacaban la hamburguesa de la pantalla)
   ========================================================== */
@media (max-width: 921px) {
  .ast-mobile-header-wrap .site-logo-img img,
  .ast-mobile-header-wrap .custom-logo {
    max-width: 112px !important;
    width: auto !important;
    height: auto !important;
  }
  .ast-mobile-header-wrap .ast-header-aws-search .aws-container { width: 100%; }
  /* Buscador cerrado: solo una lupa (así entran logo, cuenta, carrito y hamburguesa) */
  .ast-mobile-header-wrap .ast-header-aws-search .aws-search-field {
    width: 38px !important;
    height: 36px;
    min-height: 36px;
    padding: 0 !important;
    border-radius: 4px;
    font-size: 14px;
    color: transparent !important;
    cursor: pointer;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23010023' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M16 16l5 5'/%3E%3C/svg%3E") center / 20px no-repeat !important;
  }
  .ast-mobile-header-wrap .ast-header-aws-search .aws-search-field::placeholder { color: transparent; }
  .ast-mobile-header-wrap .ast-header-aws-search .aws-wrapper,
  .ast-mobile-header-wrap .ast-header-aws-search .aws-search-form {
    width: auto;
    height: 36px;
  }
  /* Al tocar el buscador ocupa todo el ancho del header */
  .ast-mobile-header-wrap .ast-header-aws-search:focus-within {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    box-sizing: border-box;
    width: auto !important;
    padding: 4px 0;
    background: var(--aszsa-navy);
  }
  .ast-mobile-header-wrap .ast-header-aws-search:focus-within .aws-container,
  .ast-mobile-header-wrap .ast-header-aws-search:focus-within .aws-search-form,
  .ast-mobile-header-wrap .ast-header-aws-search:focus-within .aws-wrapper {
    width: 100% !important;
  }
  .ast-mobile-header-wrap .ast-header-aws-search:focus-within .aws-search-field {
    width: 100% !important;
    padding: 0 12px !important;
    color: #313131 !important;
    cursor: text;
    background-image: none !important;
  }
  .ast-mobile-header-wrap .ast-header-aws-search:focus-within .aws-search-field::placeholder { color: #888; }
}
@media (max-width: 768px) {
  .aws-search-result {
    left: 12px !important;
    width: calc(100vw - 24px) !important;
    box-sizing: border-box;
  }
}

/* Buscador en celular (lupa nativa de Astra): al tocarla se abre una barra a todo el ancho arriba del header */
@media (max-width: 921px) {
  .ast-mobile-header-wrap .ast-search-menu-icon.slide-search.ast-dropdown-active .aws-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 64px;
    margin: 0 !important;
    padding: 10px 12px;
    box-sizing: border-box;
    background: var(--aszsa-navy);
    transform: none !important;
    z-index: 100000;
    display: flex;
    align-items: center;
  }
  .ast-mobile-header-wrap .ast-search-menu-icon.slide-search.ast-dropdown-active .aws-search-form,
  .ast-mobile-header-wrap .ast-search-menu-icon.slide-search.ast-dropdown-active .aws-wrapper {
    width: 100% !important;
    height: 44px;
  }
  .ast-mobile-header-wrap .ast-search-menu-icon.slide-search.ast-dropdown-active .aws-search-field {
    width: 100% !important;
    height: 44px;
    padding: 0 14px;
    border-radius: 4px;
    font-size: 16px;
  }
}
/* El cartelito de oferta no tapa el nombre del producto */
.aws-search-result .aws_result_item.on-sale .aws_result_content {
  padding-right: 58px !important;
}

/* Cartelito de oferta: el contenedor original (aws_result_sale) lo recortaba */
.aws-search-result .aws_result_sale {
  position: absolute !important;
  top: 6px !important;
  right: 8px !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  transform: none !important;
}
.aws-search-result .aws_result_sale .aws_onsale {
  position: static !important;
  display: inline-block;
  width: auto !important;
  white-space: nowrap;
}
/* Con la barra de búsqueda abierta en celular, el carrito (y su contador) no se superponen */
@media (max-width: 921px) {
  body:has(.ast-search-menu-icon.ast-dropdown-active) .ast-mobile-header-wrap .ast-header-woo-cart,
  body:has(.ast-search-menu-icon.ast-dropdown-active) .ast-mobile-header-wrap .ast-header-account {
    visibility: hidden;
  }
}

/* Nombres de producto largos en el carrito (antes lo hacía un override de cart.php con estilos inline) */
.woocommerce-cart table.cart td.product-name {
  word-break: break-word;
}
/* "Guardar cotización": botón principal arriba de "Finalizar compra" (los clientes primero cotizan, después compran) */
.woocommerce-cart .wc-proceed-to-checkout .convertir-a-cotizacion,
.woocommerce-cart .wc-proceed-to-checkout .actualizar-cotizacion {
  margin: 0 0 10px !important;
}
.woocommerce-cart .wc-proceed-to-checkout .convertir-a-cotizacion-btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 12px;
  background: var(--aszsa-navy) !important;
  color: #fff !important;
  border: 2px solid var(--aszsa-navy) !important;
  text-align: center;
  font-weight: 600;
}
.woocommerce-cart .wc-proceed-to-checkout .convertir-a-cotizacion-btn:hover {
  background: var(--aszsa-navy-2) !important;
  border-color: var(--aszsa-navy-2) !important;
}

/* "Guardar cotización" y "Finalizar compra": mismo ancho (el de WooCommerce tenía márgenes laterales y quedaba más angosto) */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  box-sizing: border-box;
  margin: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout .convertir-a-cotizacion-btn {
  margin: 0 !important;
}

/* ==========================================================
   MI CUENTA (logueado): menú lateral, panel de inicio, tablas, formularios
   ========================================================== */
body.logged-in.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
body.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
body.logged-in.woocommerce-account .woocommerce > .woocommerce-message,
body.logged-in.woocommerce-account .woocommerce > .woocommerce-error,
body.logged-in.woocommerce-account .woocommerce > .woocommerce-info {
  grid-column: 1 / -1;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
/* Ubicación explícita (si hay otro elemento suelto dentro de .woocommerce, no desacomoda el menú ni el contenido) */
body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 2; }
body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 2; }
body.logged-in.woocommerce-account .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; grid-row: 1; }

/* Menú */
.woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 8px;
  list-style: none;
  background: var(--aszsa-navy);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(1,0,35,0.12);
  border: none;
}
.woocommerce-MyAccount-navigation li {
  margin: 0;
  padding: 0;
  border: none !important;
}
.woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 6px;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background-color .15s, color .15s;
}
.woocommerce-MyAccount-navigation li a::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: none;
  background: currentColor;
  -webkit-mask: var(--ic) center / contain no-repeat;
  mask: var(--ic) center / contain no-repeat;
}
.woocommerce-MyAccount-navigation li a:hover {
  background: rgba(255,255,255,0.1);
}
.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--aszsa-amber);
  color: var(--aszsa-navy) !important;
}
.woocommerce-MyAccount-navigation li.is-active a::before { color: var(--aszsa-navy); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
  margin-top: 6px;
  border-top: 1px solid rgba(255,255,255,0.15);
  border-radius: 0 0 6px 6px;
  color: rgba(255,255,255,0.75) !important;
}
.woocommerce-MyAccount-navigation-link--dashboard a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8v9a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--historial-cotizaciones a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0l-4-4m4 4l4-4M4 20h16'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E"); }

/* Contenido: tarjeta */
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid var(--aszsa-steel-light);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(1,0,35,0.06);
  padding: 28px;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: 'Oswald', sans-serif;
  color: var(--aszsa-navy);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-top: 0;
}
.woocommerce-MyAccount-content > p {
  color: #374151;
}
.woocommerce-MyAccount-content a:not(.button):not(.aszsa-dash-tile) {
  color: var(--aszsa-amber-dark);
}

/* Panel de inicio */
.woocommerce-MyAccount-content:has(.aszsa-dash) > p:not(.aszsa-dash-sub) { display: none; }
.aszsa-dash-hola { font-size: 28px; margin: 0 0 4px; }
.aszsa-dash-sub { margin: 0 0 22px !important; color: var(--aszsa-steel); }
.aszsa-dash-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.aszsa-dash-tile {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px;
  border: 1px solid var(--aszsa-steel-light);
  border-left: 4px solid var(--aszsa-amber);
  border-radius: 8px;
  background: #fff;
  text-decoration: none !important;
  transition: box-shadow .15s, transform .15s;
}
.aszsa-dash-tile strong {
  font-family: 'Oswald', sans-serif;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--aszsa-navy);
}
.aszsa-dash-tile span { font-size: 14px; color: var(--aszsa-steel); line-height: 1.4; }
.aszsa-dash-tile:hover { box-shadow: 0 10px 24px rgba(1,0,35,0.1); transform: translateY(-2px); }

/* Tablas (pedidos / historial) */
.woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0;
  margin: 0;
}
.woocommerce-MyAccount-content table.shop_table thead th {
  background: var(--aszsa-navy) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  font-size: 12.5px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 12px 14px;
  border: none !important;
}
.woocommerce-MyAccount-content table.shop_table thead th:first-child { border-top-left-radius: 8px; }
.woocommerce-MyAccount-content table.shop_table thead th:last-child { border-top-right-radius: 8px; }
.woocommerce-MyAccount-content table.shop_table td,
.woocommerce-MyAccount-content table.shop_table tbody th {
  padding: 14px;
  border: none !important;
  border-bottom: 1px solid var(--aszsa-steel-light) !important;
  background: #fff;
  vertical-align: middle;
}
.woocommerce-MyAccount-content table.shop_table tbody tr:hover td { background: #FAFAFB; }

/* Botones dentro de Mi cuenta */
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content button.button {
  background: var(--aszsa-navy) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 500 !important;
  font-size: 13px !important;
  padding: 10px 16px !important;
  line-height: 1.2;
  border: 1.5px solid var(--aszsa-navy) !important;
}
.woocommerce-MyAccount-content a.button:hover,
.woocommerce-MyAccount-content button.button:hover {
  background: var(--aszsa-amber-dark) !important;
  border-color: var(--aszsa-amber-dark) !important;
}

/* Formularios */
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
.woocommerce-MyAccount-content form .form-row { margin-bottom: 14px; }
.woocommerce-MyAccount-content label { font-weight: 600; color: var(--aszsa-navy); margin-bottom: 4px; display: inline-block; }
.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  border: 1px solid #D5D8DD;
  border-radius: 5px;
  padding: 11px 12px;
  background: #fff;
}
.woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-MyAccount-content select:focus {
  border-color: var(--aszsa-amber);
  outline: 2px solid rgba(242,167,27,0.35);
  outline-offset: 0;
}
.woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--aszsa-steel-light);
  border-radius: 8px;
  padding: 16px;
  margin: 20px 0;
}
.woocommerce-MyAccount-content fieldset legend {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  padding: 0 8px;
  color: var(--aszsa-navy);
}
.woocommerce-Addresses .woocommerce-Address {
  border: 1px solid var(--aszsa-steel-light);
  border-radius: 8px;
  padding: 18px;
}
.woocommerce-Addresses .woocommerce-Address-title h3 { font-size: 17px; }
.woocommerce-Addresses .woocommerce-Address-title a { font-weight: 600; }

/* Historial de cotizaciones */
.aszsa-hist-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.aszsa-hist-head h2 { margin: 0; }
.aszsa-hist-count { font-size: 13px; color: var(--aszsa-steel); }
.aszsa-hist-tools { margin: 0 0 16px; display: flex; gap: 10px; align-items: center; }
.aszsa-hist-tools input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #D5D8DD;
  border-radius: 6px;
  font-size: 15px;
}
.aszsa-hist-tools input[type="search"]:focus { border-color: var(--aszsa-amber); outline: 2px solid rgba(242,167,27,0.35); }
.aszsa-estado {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 9px;
  border-radius: 20px;
  background: #E3F5EC;
  color: #1E8E5A;
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: middle;
}
.aszsa-estado.is-vencida { background: #FBE6E3; color: #C0392B; }
.aszsa-col-total { font-weight: 700; white-space: nowrap; }
.aszsa-col-acc { white-space: nowrap; text-align: right; }
.aszsa-th-acc { text-align: right !important; }
.aszsa-acc-wrap { display: flex; gap: 10px; justify-content: flex-end; }
.aszsa-acc-wrap .button { margin: 0 !important; }
.woocommerce-MyAccount-content a.button.aszsa-btn-pdf {
  background: #fff !important;
  color: var(--aszsa-navy) !important;
}
.woocommerce-MyAccount-content a.button.aszsa-btn-pdf:hover {
  background: var(--aszsa-navy) !important;
  color: #fff !important;
  border-color: var(--aszsa-navy) !important;
}
.woocommerce-MyAccount-content a.button.aszsa-btn-borrar,
.woocommerce-account .woocommerce-MyAccount-content .my_account_orders a.button.borrar-cotizacion {
  background: transparent !important;
  color: #B42318 !important;
  border: 1.5px solid #E5B4B0 !important;
}
.woocommerce-MyAccount-content a.button.aszsa-btn-borrar:hover,
.woocommerce-account .woocommerce-MyAccount-content .my_account_orders a.button.borrar-cotizacion:hover {
  background: #B42318 !important;
  color: #fff !important;
  border-color: #B42318 !important;
}
.aszsa-hist-vacio { text-align: center; color: var(--aszsa-steel); padding: 24px 0; }
.aszsa-hist-empty { text-align: center; padding: 30px 10px; }
.aszsa-hist-empty .button { margin-top: 8px; }

/* Celular */
@media (max-width: 768px) {
  body.logged-in.woocommerce-account .woocommerce {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 2; }
  body.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column: 1; grid-row: 3; }
  /* menú: fila deslizable de "pastillas" */
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 6px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  .woocommerce-MyAccount-navigation li { flex: none; }
  .woocommerce-MyAccount-navigation li a { padding: 10px 14px; font-size: 13px; white-space: nowrap; }
  .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { margin: 0; border: none; border-radius: 6px; }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-content { padding: 18px 14px; }
  .aszsa-dash-hola { font-size: 24px; }
  .aszsa-dash-grid { grid-template-columns: minmax(0, 1fr); }

  /* tablas -> tarjetas (WooCommerce ya trae data-title en cada celda) */
  .woocommerce-MyAccount-content table.shop_table thead { display: none; }
  .woocommerce-MyAccount-content table.shop_table,
  .woocommerce-MyAccount-content table.shop_table tbody { display: block; }
  .woocommerce-MyAccount-content table.shop_table tr {
    display: block;
    margin-bottom: 12px;
    border: 1px solid var(--aszsa-steel-light);
    border-radius: 8px;
    overflow: hidden;
  }
  .woocommerce-MyAccount-content table.shop_table td,
  .woocommerce-MyAccount-content table.shop_table tbody th {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-align: right !important;
  }
  .woocommerce-MyAccount-content table.shop_table td::before {
    content: attr(data-title);
    float: none;
    font-weight: 600;
    color: var(--aszsa-steel);
    text-align: left;
  }
  .woocommerce-MyAccount-content table.shop_table td.aszsa-col-acc { justify-content: stretch; gap: 8px; }
  .woocommerce-MyAccount-content table.shop_table td.aszsa-col-acc::before { display: none; }
  .aszsa-acc-wrap { width: 100%; }
  .aszsa-acc-wrap .button { flex: 1; text-align: center; }
  .aszsa-acc-wrap .aszsa-btn-ver { flex: 2; }
  .aszsa-hist-head { flex-direction: column; align-items: flex-start; gap: 2px; }
}
.woocommerce-MyAccount-content a.button { text-decoration: none !important; }
@media (max-width: 768px) {
  .woocommerce-MyAccount-content table.shop_table td[data-title="Productos"] { display: none; }
}

/* Buscador: botón y "limpiar" */
.aszsa-hist-limpiar { font-size: 14px; white-space: nowrap; }

/* Paginación (historial de cotizaciones y pedidos) */
.aszsa-pag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin-top: 22px;
}
.aszsa-pag-links { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.aszsa-pag-links a,
.aszsa-pag-actual {
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--aszsa-steel-light);
  border-radius: 5px;
  background: #fff;
  color: var(--aszsa-navy) !important;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-decoration: none !important;
}
.aszsa-pag-links a:hover { border-color: var(--aszsa-navy); }
.aszsa-pag-actual {
  background: var(--aszsa-navy);
  border-color: var(--aszsa-navy);
  color: #fff !important;
}
.aszsa-pag-gap { color: var(--aszsa-steel); padding: 0 4px; }
.aszsa-pag-info { font-size: 13px; color: var(--aszsa-steel); }

/* Pedidos: botones Anterior / Siguiente de WooCommerce */
.woocommerce-MyAccount-content .woocommerce-pagination {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
}
.woocommerce-MyAccount-content .woocommerce-pagination .woocommerce-button {
  margin: 0 !important;
}
.woocommerce-MyAccount-content .woocommerce-pagination .woocommerce-button--next { margin-left: auto !important; }

@media (max-width: 768px) {
  .aszsa-pag { flex-direction: column; align-items: stretch; }
  .aszsa-pag-links { justify-content: center; }
  .aszsa-pag-info { text-align: center; }
  .aszsa-hist-tools { flex-wrap: wrap; }
  .aszsa-hist-tools .button { flex: none; }
}

/* ==========================================================
   MI CUENTA > DIRECCIONES (listado y formulario de edición)
   ========================================================== */
.woocommerce-MyAccount-content > p:has(+ .woocommerce-Addresses) {
  margin: 0 0 18px;
  color: var(--aszsa-steel);
}
.woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}
.woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-MyAccount-content .woocommerce-Addresses::after { display: none; }
.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--aszsa-steel-light);
  border-top: 4px solid var(--aszsa-amber);
  border-radius: 8px;
  padding: 0;
  background: #fff;
  overflow: hidden;
}
.woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  background: #FAFAFB;
  border-bottom: 1px solid var(--aszsa-steel-light);
}
.woocommerce-Address-title h3 {
  margin: 0 !important;
  font-size: 16px !important;
}
.woocommerce-Address-title a.edit {
  float: none !important;
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1.5px solid var(--aszsa-navy);
  border-radius: 4px;
  color: var(--aszsa-navy) !important;
  font-family: 'Oswald', sans-serif;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
}
.woocommerce-Address-title a.edit:hover {
  background: var(--aszsa-navy);
  color: #fff !important;
}
.woocommerce-Addresses address {
  padding: 18px 20px 22px;
  font-style: normal;
  line-height: 1.7;
  color: #374151;
  flex: 1;
}
/* "No has establecido esta dirección todavía" */
.woocommerce-Addresses address:not(:has(br)) {
  color: var(--aszsa-steel);
  font-style: italic;
}

/* Formulario de edición de dirección */
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper input.input-text,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper select,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .select2-container { width: 100% !important; }
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .select2-container .select2-selection--single {
  height: 46px;
  border: 1px solid #D5D8DD;
  border-radius: 5px;
  display: flex;
  align-items: center;
}
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .select2-selection__arrow { height: 44px; }
.woocommerce-MyAccount-content .woocommerce-address-fields .required { color: #C0392B; text-decoration: none; }
.woocommerce-MyAccount-content .woocommerce-address-fields > p:last-child { margin: 8px 0 0; }
.woocommerce-MyAccount-content .woocommerce-address-fields button[name="save_address"] {
  background: var(--aszsa-amber) !important;
  border-color: var(--aszsa-amber) !important;
  color: var(--aszsa-navy) !important;
  padding: 13px 28px !important;
}
.woocommerce-MyAccount-content .woocommerce-address-fields button[name="save_address"]:hover {
  background: var(--aszsa-amber-dark) !important;
  border-color: var(--aszsa-amber-dark) !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-content .woocommerce-Addresses,
  .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-Address-title { padding: 14px 16px; }
  .woocommerce-Addresses address { padding: 16px 16px 20px; }
}
.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea { box-sizing: border-box; max-width: 100%; }
.woocommerce-Address-title { flex-wrap: wrap; }

/* Direcciones: refuerzo (Astra/WooCommerce flotan y agrandan el título de cada tarjeta) */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  margin: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address::after,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address::before { display: none !important; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  flex: 1;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit {
  float: none !important;
  flex: none;
  margin: 0 !important;
  font-size: 12.5px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses address {
  margin: 0;
  padding: 16px 18px 20px;
  line-height: 1.6;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit .screen-reader-text { display: none; }