/* ============================================================
 * ALMACÉN VACA — DARK INDUSTRIAL THEME
 * CSS principal — alta specificity para sobrescribir Astra
 * ============================================================ */

:root {
  --av-bg: #0F1419;
  --av-surface: #1A2129;
  --av-surface-2: #232B36;
  --av-border: #2A3441;
  --av-text: #F1F3F5;
  --av-text-2: #9BA4AE;
  --av-text-3: #5F6B7A;
  --av-orange: #FF6B1A;
  --av-orange-dark: #4A1B0C;
  --av-blue: #4A90E2;
  --av-blue-dark: #042C53;
  --av-red: #E24B4A;
  --av-red-dark: #501313;
  --av-yellow: #FFC107;
  --av-green: #25D366;
}

/* ============================================================
 * RESET / GLOBAL
 * ============================================================ */
html, body,
body.woocommerce, body.woocommerce-page,
body.home, body.archive, body.single-product,
body.woocommerce-cart, body.woocommerce-checkout {
  background: var(--av-bg) !important;
  color: var(--av-text) !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 14px;
  line-height: 1.6;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.entry-title, .product_title,
.woocommerce-products-header__title,
.page-title, .ast-archive-title,
.cart_totals h2, .checkout h3 {
  font-family: 'Space Grotesk', system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: var(--av-text) !important;
}

p, span, div, td, th, label, li, a {
  color: inherit;
}

a {
  color: var(--av-orange);
  text-decoration: none;
  transition: opacity 0.2s;
}

a:hover, a:focus {
  color: var(--av-orange);
  opacity: 0.85;
}

/* Selección de texto */
::selection { background: var(--av-orange); color: var(--av-orange-dark); }

/* ============================================================
 * BANNER TOP NARANJA (marquee)
 * ============================================================ */
.av-top-banner {
  background: var(--av-orange);
  color: var(--av-orange-dark);
  padding: 8px 0;
  overflow: hidden;
  position: relative;
  font-size: 12px;
  font-weight: 500;
  width: 100%;
}

.av-marquee {
  display: flex;
  white-space: nowrap;
  width: 100%;
}

.av-marquee-track {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  animation: av-scroll-left 28s linear infinite;
  padding-right: 18px;
  white-space: nowrap;
}

.av-marquee-track > span {
  color: var(--av-orange-dark);
  font-weight: 500;
}

.av-marquee-track .av-dot {
  width: 4px; height: 4px;
  background: var(--av-orange-dark);
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  opacity: 0.5;
}

@keyframes av-scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================================
 * HEADER PRINCIPAL
 * ============================================================ */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
header.site-header,
.ast-main-header-bar-alignment {
  background: var(--av-bg) !important;
  border-bottom: 0.5px solid var(--av-border) !important;
  box-shadow: none !important;
}

.ast-primary-header-bar {
  padding: 6px 0 !important;
}

/* Logo / Site title */
.site-title, .site-title a,
.site-branding .site-title a,
.ast-site-identity a {
  color: var(--av-text) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  text-decoration: none !important;
}

.site-description, .ast-site-description {
  color: var(--av-text-2) !important;
  font-size: 11px !important;
}

/* ============================================================
 * MENÚ PRINCIPAL
 * ============================================================ */
.main-navigation,
.main-header-menu,
.ast-primary-menu,
.main-header-bar-navigation,
nav.main-navigation,
.menu-primary-menu-container,
.primary-menu-disable {
  background: transparent !important;
}

.main-header-menu .menu-item > a,
.main-navigation a,
.ast-primary-menu a,
.menu li a {
  color: var(--av-text-2) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  font-family: 'Inter', sans-serif !important;
  padding: 0 14px !important;
  background: transparent !important;
  border: none !important;
  text-transform: none !important;
}

.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item.current-menu-item > a,
.main-navigation a:hover,
.ast-primary-menu a:hover,
.ast-primary-menu .current-menu-item > a {
  color: var(--av-orange) !important;
  background: transparent !important;
}

/* Sub-menús */
.main-navigation ul.sub-menu,
.ast-primary-menu .sub-menu,
.menu .sub-menu {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
  border-radius: 6px !important;
  padding: 6px 0 !important;
}

.main-navigation ul.sub-menu a,
.ast-primary-menu .sub-menu a {
  color: var(--av-text-2) !important;
  padding: 8px 14px !important;
}

.main-navigation ul.sub-menu a:hover,
.ast-primary-menu .sub-menu a:hover {
  color: var(--av-orange) !important;
  background: var(--av-surface-2) !important;
}

/* ============================================================
 * SEARCH BAR EN HEADER
 * ============================================================ */
.av-header-search {
  flex: 1;
  max-width: 500px;
  margin: 0 16px;
  display: flex;
  align-items: center;
}

.av-search-form {
  display: flex;
  width: 100%;
  background: var(--av-surface);
  border: 0.5px solid var(--av-border);
  border-radius: 6px;
  overflow: hidden;
  height: 38px;
}

.av-search-cat-dropdown {
  background: var(--av-orange);
  display: flex;
  align-items: center;
  position: relative;
}

.av-cat-select {
  background: var(--av-orange) !important;
  color: var(--av-orange-dark) !important;
  border: none !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
  padding: 0 28px 0 12px !important;
  height: 38px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%234A1B0C' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  border-radius: 0 !important;
  outline: none !important;
}

.av-search-input {
  flex: 1;
  background: transparent !important;
  border: none !important;
  color: var(--av-text) !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-family: 'Inter', sans-serif !important;
  outline: none !important;
  height: 38px !important;
}

.av-search-input::placeholder {
  color: var(--av-text-2);
}

.av-search-submit {
  background: transparent !important;
  border: none !important;
  color: var(--av-text-2) !important;
  padding: 0 14px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px !important;
}

.av-search-submit:hover {
  color: var(--av-orange) !important;
  background: transparent !important;
}

/* ============================================================
 * CART ICON / HEADER ACTIONS
 * ============================================================ */
.ast-cart-menu-wrap,
.ast-site-header-cart,
.ast-header-account-wrap {
  color: var(--av-text) !important;
}

.ast-cart-menu-wrap .count,
.ast-site-header-cart .count {
  background: var(--av-orange) !important;
  color: var(--av-orange-dark) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
}

.ast-site-header-cart-li a,
.ast-header-account-wrap a {
  color: var(--av-text) !important;
}

/* ============================================================
 * BOTONES (TODOS LOS SELECTORES POSIBLES)
 * ============================================================ */
.button, .wp-block-button__link,
button[type="submit"], input[type="submit"],
.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce-Button,
.woocommerce #respond input#submit,
.woocommerce #respond input#submit.alt,
.single_add_to_cart_button,
.checkout-button,
.add_to_cart_button,
.product .add_to_cart_button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.elementor-button,
.av-btn-primary {
  background: var(--av-orange) !important;
  color: var(--av-orange-dark) !important;
  border: none !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  padding: 10px 18px !important;
  border-radius: 6px !important;
  text-shadow: none !important;
  transition: opacity 0.2s !important;
  text-transform: none !important;
  font-size: 13px !important;
  cursor: pointer;
  text-decoration: none !important;
}

.button:hover, .wp-block-button__link:hover,
button[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover, .checkout-button:hover,
.add_to_cart_button:hover {
  background: var(--av-orange) !important;
  color: var(--av-orange-dark) !important;
  opacity: 0.88 !important;
}

/* Botón secundario / outline */
.av-btn-outline,
.woocommerce-cart .return-to-shop a,
.added_to_cart {
  background: transparent !important;
  color: var(--av-text) !important;
  border: 0.5px solid var(--av-border) !important;
}

.av-btn-outline:hover,
.woocommerce-cart .return-to-shop a:hover {
  border-color: var(--av-orange) !important;
  color: var(--av-orange) !important;
}

/* ============================================================
 * INPUTS, SELECTS, TEXTAREAS
 * ============================================================ */
input[type="text"], input[type="email"], input[type="tel"],
input[type="number"], input[type="search"], input[type="password"],
input[type="url"], select, textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout form .form-row input,
.select2-container--default .select2-selection--single {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  color: var(--av-text) !important;
  border-radius: 4px !important;
  padding: 9px 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  outline: none;
  height: auto !important;
  min-height: 38px;
  box-shadow: none !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--av-orange) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--av-orange) !important;
}

input::placeholder, textarea::placeholder {
  color: var(--av-text-2) !important;
  opacity: 1;
}

label {
  color: var(--av-text-2) !important;
  font-size: 12px !important;
  margin-bottom: 4px !important;
  display: block;
}

/* Select2 dropdown */
.select2-container--default .select2-selection--single {
  height: 38px !important;
  line-height: 38px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--av-text) !important;
  line-height: 36px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--av-text-2) transparent transparent transparent !important;
}
.select2-dropdown {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  color: var(--av-text) !important;
}
.select2-results__option {
  color: var(--av-text) !important;
  background: var(--av-surface) !important;
}
.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted {
  background: var(--av-orange) !important;
  color: var(--av-orange-dark) !important;
}
.select2-search--dropdown .select2-search__field {
  background: var(--av-bg) !important;
  border: 0.5px solid var(--av-border) !important;
  color: var(--av-text) !important;
}

/* ============================================================
 * PRECIO
 * ============================================================ */
.price, .woocommerce-Price-amount,
.product .price, .woocommerce ul.products li.product .price,
.cart-subtotal .amount, .order-total .amount,
.shop_table .amount {
  color: var(--av-orange) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
}

.price del, .price del .amount, del .amount {
  color: var(--av-text-2) !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
}

.price ins, .price ins .amount {
  text-decoration: none !important;
  color: var(--av-orange) !important;
}

/* ============================================================
 * GRID DE PRODUCTOS (ARCHIVE / SHOP)
 * ============================================================ */
.woocommerce-products-header,
.term-description {
  color: var(--av-text);
  margin-bottom: 14px;
}

.woocommerce-products-header__title {
  font-size: 24px !important;
  margin-bottom: 6px !important;
}

.term-description {
  color: var(--av-text-2) !important;
  font-size: 13px;
  line-height: 1.5;
}

.woocommerce-result-count {
  color: var(--av-text-2) !important;
  font-size: 12px !important;
}

.woocommerce-ordering select, select.orderby {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  color: var(--av-text) !important;
  border-radius: 4px !important;
  padding: 7px 28px 7px 10px !important;
  font-size: 12px !important;
  height: 36px !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239BA4AE' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
}

/* Cards de producto */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  transition: border-color 0.2s, transform 0.2s !important;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--av-orange) !important;
}

.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block;
  color: inherit;
}

.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  background: #FFFFFF !important;
  padding: 14px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  color: var(--av-text) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
  padding: 12px 12px 4px !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price {
  padding: 0 12px 4px !important;
  font-size: 16px !important;
  margin: 0 !important;
  display: block !important;
}

/* Specs pills */
.av-spec-pills {
  padding: 4px 12px 6px !important;
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.av-spec-pill {
  display: inline-block;
  font-size: 11px;
  font-weight: 400;
  padding: 2px 6px;
  background: var(--av-border);
  color: var(--av-text-2);
  border-radius: 3px;
  white-space: nowrap;
}

/* Botón en card de producto */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin: 6px 12px 12px !important;
  display: block !important;
  width: calc(100% - 24px) !important;
  text-align: center !important;
  font-size: 12px !important;
  padding: 8px !important;
}

.woocommerce ul.products li.product .added_to_cart {
  margin: 6px 12px 12px !important;
  font-size: 12px !important;
  display: block !important;
  text-align: center !important;
  padding: 8px !important;
}

/* Badge "onsale" */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  background: var(--av-red) !important;
  color: var(--av-red-dark) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
  top: 10px !important;
  left: auto !important;
  right: 10px !important;
  margin: 0 !important;
  position: absolute !important;
}

/* ============================================================
 * SINGLE PRODUCT
 * ============================================================ */
.single-product div.product {
  background: transparent !important;
}

.single-product div.product .product_title {
  font-size: 22px !important;
  margin-bottom: 12px !important;
  color: var(--av-text) !important;
}

.single-product div.product .price {
  font-size: 28px !important;
  margin-bottom: 16px !important;
  display: block;
}

.single-product div.product .woocommerce-product-details__short-description {
  color: var(--av-text-2) !important;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.woocommerce-product-gallery {
  position: relative;
}

.woocommerce-product-gallery__image,
.woocommerce-product-gallery .flex-control-thumbs li img {
  background: #FFFFFF !important;
  border-radius: 6px !important;
  overflow: hidden;
}

.woocommerce-product-gallery__image img {
  background: #FFFFFF !important;
  padding: 24px !important;
  border-radius: 6px !important;
}

.flex-control-thumbs li img {
  padding: 6px !important;
  border: 0.5px solid var(--av-border) !important;
  border-radius: 4px !important;
}

.flex-control-thumbs li img.flex-active {
  border: 1.5px solid var(--av-orange) !important;
}

.av-stock-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 5;
  background: var(--av-blue);
  color: var(--av-blue-dark);
  font-size: 11px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 3px;
  font-family: 'Inter', sans-serif;
}

/* Quantity */
.quantity .qty, input.qty {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  color: var(--av-text) !important;
  border-radius: 4px !important;
  padding: 9px !important;
  width: 70px !important;
  text-align: center;
}

/* Variations */
.variations select { padding: 9px 12px !important; }

.variations th, .variations td {
  background: transparent !important;
  border: none !important;
}

.variations .label label, .variations th {
  color: var(--av-text-2) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

/* WhatsApp consult en producto */
.av-product-whatsapp {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  background: var(--av-surface);
  border: 0.5px solid var(--av-border);
  border-radius: 6px;
  margin: 14px 0;
  text-decoration: none !important;
  color: var(--av-text) !important;
  transition: border-color 0.2s;
}

.av-product-whatsapp:hover {
  border-color: var(--av-green) !important;
  color: var(--av-text) !important;
}

.av-pw-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.av-pw-text strong {
  font-size: 12px;
  font-weight: 500;
  color: var(--av-text);
}

.av-pw-text span {
  font-size: 11px;
  color: var(--av-text-2);
}

.av-pw-arrow {
  color: var(--av-text-2);
  flex-shrink: 0;
}

/* Timeline de entrega */
.av-delivery-timeline {
  background: var(--av-surface);
  border: 0.5px solid var(--av-border);
  border-radius: 6px;
  padding: 16px;
  margin: 16px 0;
}

.av-timeline-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 11px;
  color: var(--av-text-2);
  font-weight: 500;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

.av-timeline-steps {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.av-timeline-line {
  position: absolute;
  top: 14px;
  left: 14%;
  right: 14%;
  height: 2px;
  background: var(--av-border);
  z-index: 0;
}

.av-timeline-step {
  flex: 1;
  text-align: center;
  position: relative;
  z-index: 1;
}

.av-step-circle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--av-blue);
}

.av-circle-outline {
  background: var(--av-surface) !important;
  border: 1.5px solid var(--av-blue);
}

.av-circle-pending {
  background: var(--av-surface) !important;
  border: 1px solid var(--av-border);
}

.av-step-label {
  font-size: 11px;
  color: var(--av-text);
  font-weight: 500;
}

.av-step-sub {
  font-size: 11px;
  color: var(--av-text-2);
  margin-top: 2px;
}

.av-timeline-footer {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 0.5px solid var(--av-border);
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--av-text-2);
}

.av-shipping-price {
  color: var(--av-blue) !important;
  font-weight: 500;
}

/* ============================================================
 * TABS DE PRODUCTO
 * ============================================================ */
.woocommerce-tabs {
  border-top: 0.5px solid var(--av-border);
  margin-top: 24px;
  padding-top: 0;
}

.woocommerce-tabs ul.tabs.wc-tabs {
  border-bottom: 0.5px solid var(--av-border) !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  list-style: none !important;
  display: flex;
  gap: 24px;
}

.woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.tabs.wc-tabs li {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce-tabs ul.tabs li a {
  color: var(--av-text-2) !important;
  padding: 14px 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: block;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--av-orange) !important;
  border-bottom: 2px solid var(--av-orange) !important;
}

.woocommerce-tabs .panel {
  background: transparent !important;
  color: var(--av-text-2) !important;
  padding: 8px 0 !important;
  border: none !important;
  font-size: 13px;
  line-height: 1.7;
}

.woocommerce-tabs .panel h2 {
  display: none;
}

/* ============================================================
 * CARRITO
 * ============================================================ */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
  font-size: 22px !important;
  text-align: left !important;
  margin-bottom: 16px !important;
  color: var(--av-text) !important;
}

.woocommerce-cart-form,
.woocommerce table.shop_table {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  border-radius: 6px !important;
  border-collapse: separate !important;
  width: 100% !important;
}

.woocommerce table.shop_table thead {
  background: transparent !important;
}

.woocommerce table.shop_table th {
  background: transparent !important;
  color: var(--av-text-2) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  border-bottom: 0.5px solid var(--av-border) !important;
  padding: 14px !important;
}

.woocommerce table.shop_table tbody td {
  background: transparent !important;
  color: var(--av-text) !important;
  border-bottom: 0.5px solid var(--av-border) !important;
  padding: 14px !important;
  font-size: 13px;
  vertical-align: middle !important;
}

.woocommerce-cart table.cart img {
  width: 60px !important;
  height: 60px !important;
  background: #FFFFFF !important;
  padding: 6px !important;
  border-radius: 4px !important;
  object-fit: contain !important;
}

.woocommerce-cart table.cart .product-name a {
  color: var(--av-text) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

.woocommerce-cart table.cart .product-name a:hover {
  color: var(--av-orange) !important;
}

.woocommerce-cart table.cart .product-remove a.remove,
a.remove {
  color: var(--av-text-2) !important;
  background: transparent !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  border: none !important;
  width: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
  border-radius: 50% !important;
}

.woocommerce-cart table.cart .product-remove a.remove:hover,
a.remove:hover {
  color: var(--av-red) !important;
  background: transparent !important;
}

/* Cart totals */
.cart_totals,
.cart-collaterals {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  border-radius: 6px !important;
  padding: 18px !important;
  margin-top: 16px;
}

.cart_totals h2 {
  font-size: 14px !important;
  margin: 0 0 14px !important;
  color: var(--av-text) !important;
  font-weight: 500 !important;
}

.cart_totals table {
  background: transparent !important;
  border: none !important;
  width: 100% !important;
}

.cart_totals table th, .cart_totals table td {
  border: none !important;
  background: transparent !important;
  padding: 8px 0 !important;
  color: var(--av-text-2) !important;
  font-size: 13px !important;
}

.cart_totals table .order-total th,
.cart_totals table .order-total td {
  border-top: 0.5px solid var(--av-border) !important;
  padding-top: 12px !important;
  margin-top: 8px !important;
  font-size: 14px !important;
  color: var(--av-text) !important;
  font-weight: 500 !important;
}

.cart_totals table .order-total .amount {
  font-size: 20px !important;
  color: var(--av-orange) !important;
}

.av-cart-trust {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  background: var(--av-bg);
  border-radius: 4px;
  margin-top: 12px;
  font-size: 11px;
  color: var(--av-text-2);
}

/* Coupon */
.woocommerce-cart .coupon {
  display: flex;
  gap: 6px;
}

.woocommerce-cart .coupon input.input-text,
.woocommerce form .form-row input.input-text {
  background: var(--av-bg) !important;
  border: 0.5px solid var(--av-border) !important;
  color: var(--av-text) !important;
}

/* ============================================================
 * CHECKOUT
 * ============================================================ */
.woocommerce-checkout #payment {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  border-radius: 6px !important;
  padding: 16px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background: var(--av-bg) !important;
  border: 1px solid var(--av-orange) !important;
  border-radius: 5px !important;
  padding: 14px !important;
  margin-bottom: 8px !important;
  list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  color: var(--av-text) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  margin: 0 !important;
  cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--av-orange);
}

.woocommerce-checkout #payment ul.payment_methods li .payment_box {
  background: transparent !important;
  color: var(--av-text-2) !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  font-size: 12px;
}

.woocommerce-checkout #payment ul.payment_methods li .payment_box::before {
  display: none !important;
}

.woocommerce-checkout h3, .woocommerce h3#order_review_heading {
  font-size: 16px !important;
  color: var(--av-text) !important;
  margin: 16px 0 12px !important;
  font-weight: 500 !important;
}

#order_review {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  border-radius: 6px !important;
  padding: 16px !important;
}

/* ============================================================
 * NOTICES
 * ============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  background: var(--av-surface) !important;
  border-top: 3px solid var(--av-orange) !important;
  color: var(--av-text) !important;
  border-radius: 4px !important;
  padding: 12px 16px !important;
  font-size: 13px;
}

.woocommerce-message a,
.woocommerce-info a {
  color: var(--av-orange) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--av-orange) !important;
}

/* ============================================================
 * BREADCRUMB
 * ============================================================ */
.woocommerce .woocommerce-breadcrumb,
.ast-breadcrumbs-wrap, .breadcrumb {
  color: var(--av-text-2) !important;
  font-size: 11px !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  background: transparent !important;
}

.woocommerce .woocommerce-breadcrumb a,
.ast-breadcrumbs-wrap a {
  color: var(--av-text-2) !important;
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--av-orange) !important;
}

/* ============================================================
 * FILTROS WOOF
 * ============================================================ */
.woof_container, .woof {
  background: var(--av-surface) !important;
  border: 0.5px solid var(--av-border) !important;
  border-radius: 6px !important;
  padding: 14px !important;
  color: var(--av-text) !important;
}

.woof_container_inner h4, .woof h4 {
  color: var(--av-text-2) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px;
  margin-bottom: 8px !important;
  text-transform: none !important;
  font-family: 'Space Grotesk', sans-serif !important;
}

.woof_container input[type="checkbox"],
.woof input[type="checkbox"] {
  accent-color: var(--av-orange) !important;
}

.woof_container label, .woof label {
  color: var(--av-text) !important;
  font-size: 12px !important;
  margin-bottom: 4px !important;
}

.woof_price_search_container input,
.woof_price_filter input {
  background: var(--av-bg) !important;
  border: 0.5px solid var(--av-border) !important;
  color: var(--av-text) !important;
}

.woof_submit_search_form_container button {
  background: var(--av-orange) !important;
  color: var(--av-orange-dark) !important;
  border: none !important;
}

/* ============================================================
 * STAR RATINGS
 * ============================================================ */
.star-rating::before, .star-rating span::before {
  color: var(--av-yellow) !important;
}

/* ============================================================
 * FOOTER
 * ============================================================ */
.site-footer, footer.site-footer,
.ast-small-footer, .ast-footer-overlay {
  background: #0A0E12 !important;
  color: var(--av-text-2) !important;
  border-top: 0.5px solid var(--av-border) !important;
}

.site-footer a, .ast-small-footer a {
  color: var(--av-text-2) !important;
}

.site-footer a:hover {
  color: var(--av-orange) !important;
}

/* ============================================================
 * WHATSAPP FLOATING
 * ============================================================ */
.av-whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 52px;
  height: 52px;
  background: var(--av-green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
  z-index: 9999;
  transition: transform 0.2s;
}

.av-whatsapp-float:hover {
  transform: scale(1.05);
}

/* ============================================================
 * HOME — CATEGORÍAS GRID
 * ============================================================ */
.av-home-categories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 16px 0 32px;
}

.av-cat-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: var(--av-surface);
  border: 0.5px solid var(--av-border);
  border-radius: 6px;
  text-decoration: none;
  color: var(--av-text) !important;
  transition: border-color 0.2s;
}

.av-cat-card:hover {
  border-color: var(--av-orange);
  color: var(--av-text) !important;
}

.av-cat-icon {
  width: 32px;
  height: 32px;
  background: var(--av-border);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--av-orange);
  flex-shrink: 0;
}

.av-icon-featured {
  background: var(--av-orange);
  color: var(--av-orange-dark);
}

.av-cat-info { display: flex; flex-direction: column; }

.av-cat-name {
  font-size: 13px;
  color: var(--av-text);
  font-weight: 500;
}

.av-cat-count {
  font-size: 11px;
  color: var(--av-text-2);
}

.av-cat-featured {
  border-color: var(--av-orange) !important;
}

.av-cat-featured .av-cat-name {
  color: var(--av-orange) !important;
  font-weight: 500;
}

/* ============================================================
 * BANNER COTIZACIÓN
 * ============================================================ */
.av-quote-banner {
  display: flex;
  gap: 16px;
  align-items: center;
  background: var(--av-orange);
  border-radius: 8px;
  padding: 20px 24px;
  margin: 24px 0;
}

.av-qb-content { flex: 1; }

.av-qb-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--av-orange-dark);
  margin-bottom: 6px;
}

.av-qb-subtitle {
  font-size: 12px;
  color: var(--av-orange-dark);
  line-height: 1.5;
  opacity: 0.9;
}

.av-qb-button {
  background: var(--av-orange-dark) !important;
  color: var(--av-orange) !important;
  padding: 10px 16px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
}

.av-qb-button:hover {
  background: var(--av-orange-dark) !important;
  color: var(--av-orange) !important;
  opacity: 0.9 !important;
}

/* ============================================================
 * HOME — HERO SECTION
 * ============================================================ */
.av-hero {
  background: var(--av-surface);
  border-radius: 8px;
  padding: 36px 28px;
  margin: 16px 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}

.av-hero-eyebrow {
  font-size: 11px;
  color: var(--av-orange);
  font-weight: 500;
  letter-spacing: 1.2px;
  margin-bottom: 10px;
  text-transform: uppercase;
  font-family: 'Inter', sans-serif;
}

.av-hero-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  color: var(--av-text) !important;
  margin: 0 0 12px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

.av-hero-text {
  font-size: 13px;
  color: var(--av-text-2);
  margin-bottom: 22px;
  line-height: 1.6;
}

.av-hero-cta-group {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.av-btn-primary {
  background: var(--av-orange);
  color: var(--av-orange-dark);
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
}

.av-btn-outline {
  background: transparent;
  color: var(--av-text);
  border: 0.5px solid var(--av-border);
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 13px;
  text-decoration: none;
  display: inline-block;
}

.av-hero-image {
  background: #FFFFFF;
  border-radius: 6px;
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.av-hero-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Section eyebrow */
.av-section-eyebrow {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 11px !important;
  color: var(--av-text-2) !important;
  font-weight: 500 !important;
  letter-spacing: 1.2px !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

/* ============================================================
 * RESPONSIVE
 * ============================================================ */
@media (max-width: 768px) {
  .av-header-search {
    width: 100%;
    margin: 8px 0 0 0;
    max-width: none;
    order: 99;
  }

  .av-cat-select { font-size: 11px !important; }

  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .av-home-categories-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .av-hero {
    grid-template-columns: 1fr;
    padding: 24px 18px;
  }

  .av-hero-title {
    font-size: 22px !important;
  }

  .av-quote-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 18px;
  }

  .single-product div.product .product_title {
    font-size: 18px !important;
  }

  .single-product div.product .price {
    font-size: 22px !important;
  }

  .av-marquee-track { animation-duration: 22s; font-size: 11px; }
}

/* ============================================================
 * UTILITIES
 * ============================================================ */
.av-hidden { display: none !important; }
.av-text-orange { color: var(--av-orange) !important; }
.av-text-blue { color: var(--av-blue) !important; }
.av-text-red { color: var(--av-red) !important; }
.av-bg-surface { background: var(--av-surface) !important; }


/* ============================================================
 * FIXES v1.1
 * ============================================================ */

/* === FIX: Ocultar categorías opacas bajo cards de producto === */
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .product-categories,
.woocommerce ul.products li.product .cat-links,
.woocommerce ul.products li.product > a > span:not(.woocommerce-loop-product__title):not(.price),
.woocommerce ul.products li.product .product-category-link {
  display: none !important;
}

/* Mejorar contraste por si algún texto queda sutil */
.woocommerce ul.products li.product *:not(.av-spec-pill):not(.onsale):not(.button) {
  color: var(--av-text) !important;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price *,
.woocommerce ul.products li.product .price .amount {
  color: var(--av-orange) !important;
}

.woocommerce ul.products li.product .av-spec-pill {
  color: var(--av-text-2) !important;
}

/* === FIX: Ocultar título duplicado de página en cart, checkout, shop === */
.woocommerce-cart .entry-header,
.woocommerce-cart .page-header,
.woocommerce-cart .ast-archive-description,
.woocommerce-cart h1.entry-title,
.woocommerce-checkout .entry-header,
.woocommerce-checkout .page-header,
.woocommerce-checkout h1.entry-title,
.woocommerce-page.archive .ast-page-header,
body.woocommerce-cart .ast-archive-header,
body.woocommerce-checkout .ast-archive-header {
  display: none !important;
}

/* === FIX: Mejorar contraste del texto privacy/terms en checkout === */
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p,
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-terms-and-conditions-wrapper p {
  color: var(--av-text-2) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  background: var(--av-bg) !important;
  padding: 12px !important;
  border-radius: 4px !important;
  border: 0.5px solid var(--av-border) !important;
  margin-top: 14px !important;
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-wrapper a {
  color: var(--av-orange) !important;
}

/* === FIX: Ocultar "Calcular envío" y mensajes redundantes === */
.woocommerce-shipping-calculator,
.shipping-calculator-form-wrap,
.shipping-calculator-button,
a.shipping-calculator-button,
.woocommerce-shipping-destination,
p.woocommerce-shipping-destination,
.shipping ul.woocommerce-shipping-methods + p,
.cart_totals .shipping-calculator-form,
.av-totals-row .shipping-calculator-button {
  display: none !important;
}

/* === FIX: Limpiar duplicación de "Envío" === */
.cart_totals tr.shipping th,
.cart_totals tr.shipping td > strong,
.av-totals-row.av-shipping-row strong:first-child {
  display: none !important;
}

/* Forzar visualización limpia del shipping en cart sidebar */
.av-cart-summary tr.shipping th { display: none !important; }
.av-cart-summary tr.shipping td { padding-left: 0 !important; }

/* === FIX: Centrar textos sueltos en cart === */
.av-cart-summary .woocommerce-shipping-totals.shipping th {
  display: none !important;
}

/* === FIX: Mejorar visibilidad general en checkout === */
.woocommerce-checkout p,
.woocommerce-checkout label {
  color: var(--av-text) !important;
}

.woocommerce-checkout .form-row label {
  color: var(--av-text-2) !important;
}

.woocommerce-checkout #ship-to-different-address label {
  color: var(--av-text) !important;
}

/* Aviso de cupón en checkout más visible */
.woocommerce-info, .checkout_coupon, .woocommerce-form-coupon-toggle .woocommerce-info {
  background: var(--av-surface) !important;
  border-top: 3px solid var(--av-orange) !important;
  color: var(--av-text) !important;
  padding: 12px 16px !important;
}

.woocommerce-form-coupon-toggle a {
  color: var(--av-orange) !important;
}

/* === FIX: Quitar borde naranja del "Tu pedido" en checkout (se ve raro) === */
.woocommerce-checkout #order_review_heading {
  border: none !important;
  padding-left: 0 !important;
}

/* ============================================================
 * FIXES v1.2 (2026-04-30)
 * ============================================================ */

/* === Bug 1: ocultar bot\xc3\xb3n flotante de Astra sobre la imagen === */
.ast-on-card-button,
a.ast-on-card-button,
.astra-shop-thumbnail-wrap > a.ast-on-card-button {
    display: none !important;
}

/* === Bug 3: padding consistente en summary-wrap (categor\xc3\xada/title/price/btn) === */
.astra-shop-summary-wrap {
    padding: 0 !important;
}
.astra-shop-summary-wrap .ast-woo-product-category,
.woocommerce ul.products li.product .ast-woo-product-category {
    display: block !important;
    padding: 12px 12px 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    color: var(--av-text-2) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.4 !important;
}
.woocommerce ul.products li.product .ast-loop-product__link,
.woocommerce ul.products li.product .ast-loop-product__link h2 {
    display: block !important;
}
.woocommerce ul.products li.product .ast-loop-product__link h2.woocommerce-loop-product__title {
    padding: 6px 12px 4px !important;
    margin: 0 !important;
    color: var(--av-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}
.woocommerce ul.products li.product > .price,
.woocommerce ul.products li.product .astra-shop-summary-wrap .price {
    padding: 0 12px 8px !important;
    margin: 0 !important;
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--av-orange) !important;
    display: block !important;
}

/* === Bug 4 (fallback CSS si quedara): ocultar bot\xc3\xb3n flotante WhatsApp === */
.av-whatsapp-float,
a.av-whatsapp-float {
    display: none !important;
}

/* === Bug 2 (fallback CSS): ocultar duplicado de label "Env\xc3\xado" dentro de wc_cart_totals_shipping_html === */
.av-totals-row .woocommerce-shipping-totals.shipping > th,
.av-totals-row tr.shipping > th,
.av-totals-row .shipping-method > th {
    display: none !important;
}
.av-totals-row table.shipping,
.av-totals-row tr.shipping,
.av-totals-row tbody {
    display: contents !important;
}
.av-totals-row tr.shipping td,
.av-totals-row tr.shipping > td {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: right !important;
    font-size: 12px !important;
    color: var(--av-text) !important;
}
.av-totals-row .shipping-calculator-button,
.av-totals-row .shipping-calculator-form {
    display: none !important;
}


/* === Bug 4 (refuerzo): ocultar tambien el plugin click-to-chat-for-whatsapp === */
.ht-ctc,
.ht-ctc-chat,
.ht_ctc_chat_style,
.ht_ctc_style,
.ctc-analytics.ctc_cta_stick,
.ht-ctc.ht-ctc-chat,
[class*="ht-ctc"],
[class*="ht_ctc"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* ============================================================
 * v1.3 - Logo SVG en header + hero image swap
 * ============================================================ */

/* Logo SVG en header */
.av-svg-logo {
    height: 44px !important;
    width: auto !important;
    max-width: 240px !important;
    display: block !important;
}
.av-svg-logo-link {
    display: inline-block !important;
    line-height: 0 !important;
}
.site-branding .site-title,
.site-branding .site-description,
.ast-site-identity .site-title,
.ast-site-identity .site-description,
.site-header .site-title,
.site-header .site-description {
    display: none !important;
}

/* Hero image: ocultar SVG placeholder y mostrar hero.svg */
.av-hero-image > svg {
    display: none !important;
}
.av-hero-image {
    background-image: url('../images/hero.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    min-height: 320px;
}
@media (max-width: 768px) {
    .av-hero-image {
        min-height: 220px;
    }
    .av-svg-logo {
        height: 36px !important;
        max-width: 200px !important;
    }
}


/* === v1.3.1 - revertir logo y mostrar texto del titulo ===*/
.site-branding .site-title,
.site-branding .site-description,
.ast-site-identity .site-title,
.ast-site-identity .site-description,
.site-header .site-title,
.site-header .site-description {
    display: block !important;
}
.av-svg-logo,
.av-svg-logo-link {
    display: none !important;
}
.av-hero-image {
    background-image: none !important;
}
.av-hero-image > svg {
    display: block !important;
}

/* Ocultar enlace a wpastra.com en el footer (defensa en profundidad) */
.ast-footer-copyright a[href*="wpastra.com"],
.site-footer-section a[href*="wpastra.com"] {
    display: none !important;
}


/* ============================================================
 * v1.4 - Search bar debajo del header
 * ============================================================ */
.av-search-section {
    width: 100%;
    background: linear-gradient(180deg, var(--av-bg) 0%, var(--av-surface) 100%);
    border-bottom: 0.5px solid var(--av-border);
    padding: 18px 20px;
}
.av-search-inner {
    max-width: 920px;
    margin: 0 auto;
}
.av-search-form {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: var(--av-surface);
    border: 1px solid var(--av-border);
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.18s, box-shadow 0.18s;
}
.av-search-form:focus-within {
    border-color: var(--av-orange);
    box-shadow: 0 0 0 2px rgba(255, 107, 26, 0.18);
}
.av-search-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px 0 16px;
    color: var(--av-text-3);
}
.av-search-input {
    flex: 1;
    border: 0;
    background: transparent;
    color: var(--av-text);
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    padding: 12px 8px;
    outline: none;
    min-width: 0;
}
.av-search-input::placeholder {
    color: var(--av-text-3);
}
.av-search-cat {
    border: 0;
    border-left: 1px solid var(--av-border);
    background: var(--av-bg);
    color: var(--av-text-2);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    padding: 0 32px 0 14px;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239BA4AE' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
}
.av-search-cat:hover {
    color: var(--av-text);
}
.av-search-submit {
    border: 0;
    background: var(--av-orange);
    color: var(--av-orange-dark);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 0 22px;
    cursor: pointer;
    transition: background 0.18s, transform 0.1s;
}
.av-search-submit:hover {
    background: #FF8A3D;
}
.av-search-submit:active {
    transform: scale(0.98);
}

@media (max-width: 720px) {
    .av-search-section { padding: 12px 14px; }
    .av-search-form { flex-wrap: wrap; }
    .av-search-icon { padding: 0 10px 0 14px; }
    .av-search-input { font-size: 13px; padding: 11px 6px; min-width: 100px; }
    .av-search-cat {
        flex: 1 0 100%;
        order: 3;
        border-left: 0;
        border-top: 1px solid var(--av-border);
        padding: 10px 32px 10px 14px;
        background-color: var(--av-surface-2);
    }
    .av-search-submit {
        padding: 0 16px;
        font-size: 12px;
    }
}


/* ============================================================
 * v1.4.1 - Fix search bar: input visible y protagonista
 * ============================================================ */
.av-search-form {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
}
.av-search-icon {
    flex: 0 0 auto !important;
    padding: 0 8px 0 16px !important;
    color: var(--av-text-2) !important;
}
.av-search-input {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    width: 100% !important;
    background: transparent !important;
    color: var(--av-text) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    padding: 14px 12px !important;
    line-height: 1.4 !important;
    caret-color: var(--av-orange) !important;
    border: 0 !important;
    outline: none !important;
}
.av-search-input::placeholder {
    color: var(--av-text-2) !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
}
.av-search-cat {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 200px !important;
    border: 0 !important;
    border-left: 1px solid var(--av-border) !important;
    background-color: var(--av-bg) !important;
    color: var(--av-text-2) !important;
    font-size: 13px !important;
    padding: 0 38px 0 14px !important;
}
.av-search-cat:hover { color: var(--av-text) !important; }
.av-search-submit {
    flex: 0 0 auto !important;
    border: 0 !important;
    background: var(--av-orange) !important;
    color: var(--av-orange-dark) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 0 26px !important;
    cursor: pointer !important;
}

@media (max-width: 720px) {
    .av-search-form {
        flex-wrap: wrap !important;
    }
    .av-search-input {
        flex: 1 1 60% !important;
        min-width: 120px !important;
        font-size: 14px !important;
        padding: 12px 8px !important;
    }
    .av-search-cat {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        order: 99 !important;
        border-left: 0 !important;
        border-top: 1px solid var(--av-border) !important;
        padding: 12px 38px 12px 14px !important;
        background-color: var(--av-surface-2) !important;
    }
    .av-search-submit {
        padding: 0 18px !important;
    }
}


/* === v1.3.3 - estilos para custom_logo subido === */
.av-custom-logo-img {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 0 !important;
}
.av-custom-logo-img .custom-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 0 !important;
}
.av-custom-logo-img img.custom-logo {
    height: 60px !important;
    width: auto !important;
    max-width: none !important;
    max-height: 60px !important;
    object-fit: contain !important;
    display: block !important;
}
@media (max-width: 768px) {
    .av-custom-logo-img img.custom-logo {
        height: 44px !important;
        max-height: 44px !important;
    }
}


/* ============================================================
 * v1.6 - Migrar paleta naranja → rojo del logo (Almacén Vaca)
 * Mantengo los nombres de variables --av-orange* para no
 * romper las reglas existentes; solo cambian los valores.
 * ============================================================ */
:root {
    --av-orange: #DC2626 !important;
    --av-orange-dark: #FFFFFF !important;
    --av-orange-soft: rgba(220, 38, 38, 0.12) !important;
}

/* Marquee top banner: texto blanco sobre rojo (ahora) en vez de marrón sobre naranja */
.av-top-banner {
    background: #DC2626 !important;
    color: #FFFFFF !important;
}
.av-marquee-track > span,
.av-marquee-track .av-dot {
    color: #FFFFFF !important;
    background: #FFFFFF !important;
}
.av-marquee-track > span { background: transparent !important; }

/* Hero CTA primario: blanco sobre rojo */
.av-btn-primary {
    color: #FFFFFF !important;
}

/* Botón "Buscar" del search bar */
.av-search-submit {
    color: #FFFFFF !important;
}
.av-search-submit:hover {
    background: #B91C1C !important;
}

/* Botones add-to-cart en cards de producto */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    color: #FFFFFF !important;
    background: #DC2626 !important;
}
.woocommerce ul.products li.product .button:hover {
    background: #B91C1C !important;
}

/* Botón de checkout / finalizar compra */
.av-cart-checkout-btn {
    color: #FFFFFF !important;
    background: #DC2626 !important;
}
.av-cart-checkout-btn:hover {
    background: #B91C1C !important;
    color: #FFFFFF !important;
}

/* Selección de texto */
::selection {
    background: #DC2626 !important;
    color: #FFFFFF !important;
}



/* ===========================================================
   v2.1 — Cards de subcategoría (override Astra completo)
   Astra usa <a> inline-block + img object-fit:cover + h2 absolute.
   Neutralizamos los 3 para tener un layout limpio: img arriba, banner azul abajo.
   =========================================================== */
.woocommerce ul.products li.product.product-category,
.woocommerce-page ul.products li.product.product-category {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    padding: 0 !important;
    list-style: none !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.woocommerce ul.products li.product.product-category > a,
.woocommerce-page ul.products li.product.product-category > a {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    background: #FFFFFF !important;
}
.woocommerce ul.products li.product.product-category > a img,
.woocommerce-page ul.products li.product.product-category > a img {
    display: block !important;
    width: 100% !important;
    height: 240px !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 18px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
}
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product.product-category .woocommerce-loop-category__title {
    position: static !important;
    background: #0D47A1 !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    padding: 14px 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-transform: none !important;
    line-height: 1.3 !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
}
.woocommerce ul.products li.product.product-category > a:hover .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product.product-category > a:hover .woocommerce-loop-category__title {
    background: #0a3a85 !important;
}
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title .count,
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title mark.count {
    display: block !important;
    background: transparent !important;
    color: rgba(255,255,255,.85) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    text-transform: none !important;
}

/* ===========================================================
   v2.2 — Cart page rediseñado (mockup compliant)
   =========================================================== */
.av-cart-page {
    max-width: 880px;
    margin: 40px auto;
    padding: 0 16px;
    color: #1F2937;
}
.av-cart-card {
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    margin-bottom: 24px;
}
.av-cart-header-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 28px 28px;
    text-align: left;
}
.av-cart-header-icon {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #0D47A1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.av-cart-header-text h1 {
    margin: 0 0 4px 0;
    font-size: 24px;
    font-weight: 800;
    color: #1F2937;
}
.av-cart-header-text p {
    margin: 0;
    font-size: 14px;
    color: #64748B;
}
.av-cart-table-card {
    padding: 8px;
    overflow: hidden;
}
.av-cart-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.av-cart-table thead tr {
    background: #0D47A1;
}
.av-cart-table thead th {
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    padding: 14px 12px;
    text-align: left;
    border: 0;
}
.av-cart-table thead th svg {
    vertical-align: middle;
    margin-right: 6px;
    opacity: .95;
}
.av-cart-table thead th.av-th-qty { text-align: center; width: 90px; }
.av-cart-table thead th.av-th-unit,
.av-cart-table thead th.av-th-total { text-align: center; width: 130px; }
.av-cart-table thead th.av-th-actions { width: 50px; }

.av-cart-table tbody td {
    padding: 18px 12px;
    border-bottom: 1px solid #E5E7EB;
    vertical-align: middle;
    background: #FFFFFF;
}
.av-cart-table tbody tr:last-child td { border-bottom: 1px solid #E5E7EB; }

.av-td-qty { text-align: center; }
.av-qty-wrapper .quantity { display: inline-block; }
.av-qty-wrapper input.qty {
    width: 60px !important;
    height: 38px;
    text-align: center;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    font-size: 18px;
    font-weight: 700;
    color: #0D47A1;
    padding: 0;
}
.av-qty-num {
    display: inline-block;
    font-size: 22px;
    font-weight: 800;
    color: #0D47A1;
}
.av-product-cell {
    display: flex;
    align-items: center;
    gap: 14px;
}
.av-product-thumb img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    background: #FFFFFF;
    padding: 4px;
    display: block;
}
.av-product-name {
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    line-height: 1.35;
}
.av-product-name a { color: #1F2937; text-decoration: none; }
.av-product-name a:hover { color: #0D47A1; }

.av-td-unit, .av-td-total {
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #0D47A1;
}
.av-td-unit .woocommerce-Price-amount,
.av-td-total .woocommerce-Price-amount { color: #0D47A1; }

.av-td-actions { text-align: center; width: 50px; }
.av-remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #FEE2E2;
    border-radius: 6px;
    color: #DC2626;
    background: #FEF2F2;
    text-decoration: none;
    transition: all .15s;
}
.av-remove-btn:hover {
    background: #DC2626;
    color: #FFFFFF;
    border-color: #DC2626;
}

/* footer rows */
.av-cart-table tfoot td {
    padding: 14px 12px;
    background: #F9FAFB;
    border-top: 1px solid #E5E7EB;
}
.av-foot-row .av-foot-label {
    font-size: 14px;
    font-weight: 700;
    color: #1F2937;
    letter-spacing: .3px;
}
.av-foot-row .av-foot-value {
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    color: #0D47A1;
}
.av-foot-row .av-foot-qty {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: #0D47A1;
}
.av-foot-row .av-foot-unit {
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
}
.av-foot-subtotal td { background: #F3F4F6; }
.av-foot-shipping td { background: #F9FAFB; }

.av-foot-total td {
    background: #DBEAFE !important;
    padding: 18px 12px;
}
.av-foot-total .av-foot-label {
    color: #0D47A1;
    font-size: 15px;
    font-weight: 800;
}
.av-foot-total-value {
    background: #0D47A1 !important;
    color: #FFFFFF !important;
    border-radius: 8px;
    font-size: 20px !important;
    font-weight: 800 !important;
    padding: 14px 12px !important;
}
.av-foot-total-value .woocommerce-Price-amount { color: #FFFFFF !important; }

/* bottom actions */
.av-cart-bottom-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 24px 0 0;
    flex-wrap: wrap;
}
.av-cart-continue, .av-cart-update-btn, .av-cart-checkout {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: all .15s;
}
.av-cart-continue {
    background: #FFFFFF;
    color: #0D47A1;
    border: 1px solid #0D47A1;
}
.av-cart-continue:hover { background: #DBEAFE; }
.av-cart-update-btn {
    background: #F3F4F6;
    color: #1F2937;
    border: 1px solid #E5E7EB;
}
.av-cart-update-btn:hover { background: #E5E7EB; }
.av-cart-checkout {
    background: #0D47A1;
    color: #FFFFFF;
    margin-left: auto;
}
.av-cart-checkout:hover { background: #0a3a85; color:#FFFFFF; }

.av-cart-empty {
    background: #FFFFFF;
    padding: 40px;
    text-align: center;
    border-radius: 12px;
    font-size: 16px;
}

/* mobile responsive v2.4 — tarjeta legible en pantallas chicas */
@media (max-width: 720px) {
    .av-cart-table thead { display: none; }
    .av-cart-table, .av-cart-table tbody, .av-cart-table tr {
        display: block;
        width: 100%;
    }
    .av-cart-row {
        padding: 14px 14px 50px;
        border-bottom: 1px solid #E5E7EB;
        position: relative;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 6px 12px;
    }
    .av-cart-row .av-td-product {
        grid-column: 1 / -1;
        order: -1;
    }
    .av-cart-row .av-td-product::before { display: none !important; }
    .av-cart-row .av-product-cell { display: flex; align-items: center; gap: 12px; }
    .av-cart-row .av-product-thumb img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
    .av-cart-row .av-product-name { font-size: 14px; line-height: 1.3; }
    .av-cart-table tbody td {
        display: block;
        padding: 4px 0 !important;
        border: 0 !important;
        text-align: left;
        width: auto;
    }
    .av-cart-table tbody td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #64748B;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        display: block;
        margin-bottom: 2px;
    }
    .av-cart-row .av-td-qty,
    .av-cart-row .av-td-unit,
    .av-cart-row .av-td-total { font-size: 15px; font-weight: 600; }
    .av-cart-row .av-td-unit, .av-cart-row .av-td-total { color: #DC2626; }
    .av-td-actions {
        position: absolute !important;
        bottom: 10px !important;
        right: 10px !important;
        top: auto !important;
    }
    .av-td-actions::before { display: none !important; }

    /* tfoot — cada fila como flex con label izquierda / valor derecha */
    .av-cart-table tfoot { display: block; }
    .av-cart-table tfoot tr {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 14px;
        border-bottom: 1px solid #E5E7EB;
    }
    .av-cart-table tfoot tr.av-foot-total {
        background: #0D47A1 !important;
        color: #FFFFFF;
        border-radius: 0 0 12px 12px;
    }
    .av-cart-table tfoot tr.av-foot-total .av-foot-label,
    .av-cart-table tfoot tr.av-foot-total .av-foot-total-value,
    .av-cart-table tfoot tr.av-foot-total .av-foot-total-value .woocommerce-Price-amount { color: #FFFFFF !important; }
    .av-cart-table tfoot td.av-foot-blank,
    .av-cart-table tfoot td.av-foot-qty,
    .av-cart-table tfoot td.av-foot-unit { display: none !important; }
    .av-cart-table tfoot td.av-foot-label { display: inline; padding: 0 !important; font-weight: 700; }
    .av-cart-table tfoot td.av-foot-value { display: inline; padding: 0 !important; font-weight: 700; text-align: right; }
    .av-cart-table tfoot td::before { display: none !important; }

    /* Acciones bottom: stack vertical */
    .av-cart-bottom-actions { flex-direction: column; gap: 10px; }
    .av-cart-bottom-actions .av-cart-continue,
    .av-cart-bottom-actions .av-cart-update-btn,
    .av-cart-bottom-actions .av-cart-checkout { width: 100%; justify-content: center; }
}

/* ===========================================================
   v2.3 — Header de tabla del cart: paleta clara + badges azules
   =========================================================== */
.av-cart-table thead tr {
    background: #F8FAFC !important;
    border-bottom: 2px solid #E5E7EB;
}
.av-cart-table thead th {
    color: #0D47A1 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .5px !important;
    padding: 16px 12px !important;
    text-align: left !important;
    border: 0 !important;
}
.av-cart-table thead th .av-th-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: #0D47A1;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
    flex-shrink: 0;
}
.av-cart-table thead th .av-th-badge svg {
    width: 12px;
    height: 12px;
    stroke: #FFFFFF;
    fill: none;
}
.av-cart-table thead th.av-th-qty,
.av-cart-table thead th.av-th-unit,
.av-cart-table thead th.av-th-total { text-align: center !important; }
.av-cart-table thead th.av-th-qty .av-th-content,
.av-cart-table thead th.av-th-unit .av-th-content,
.av-cart-table thead th.av-th-total .av-th-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ===========================================================
   v2.4 — Override colores dentro del cart (texto oscuro sobre blanco)
   El sitio usa dark mode (texto claro global), pero las cards del cart
   son blancas. Fuerza texto oscuro y precios azul industrial.
   =========================================================== */

/* Header card: título y subtítulo legibles */
.av-cart-page .av-cart-header-text h1,
.av-cart-page .av-cart-header-card h1 {
    color: #0D47A1 !important;
}
.av-cart-page .av-cart-header-text p,
.av-cart-page .av-cart-header-card p {
    color: #475569 !important;
}

/* Tabla: texto general */
.av-cart-page .av-cart-table,
.av-cart-page .av-cart-table tbody,
.av-cart-page .av-cart-table tbody td,
.av-cart-page .av-cart-table tfoot td {
    color: #1F2937 !important;
}

/* Nombre del producto */
.av-cart-page .av-product-name,
.av-cart-page .av-product-name a {
    color: #1F2937 !important;
}
.av-cart-page .av-product-name a:hover { color: #0D47A1 !important; }

/* Precios — paleta roja (override del azul anterior) */
.av-cart-page .av-cart-table .woocommerce-Price-amount,
.av-cart-page .av-cart-table .amount,
.av-cart-page .av-cart-table bdi,
.av-cart-page .av-cart-table .woocommerce-Price-currencySymbol,
.av-checkout-page .av-cart-table .woocommerce-Price-amount,
.av-checkout-page .av-cart-table .amount,
.av-checkout-page .av-cart-table bdi,
.av-checkout-page .av-cart-table .woocommerce-Price-currencySymbol {
    color: #DC2626 !important;
    font-family: inherit !important;
}
/* Nombre del producto en blanco (override del gris oscuro original del cart claro) */
.av-cart-page .av-product-name,
.av-cart-page .av-product-name a {
    color: #F1F3F5 !important;
}
.av-cart-page .av-product-name a:hover { color: #FFFFFF !important; }

/* Precio TOTAL A PAGAR: rojo sin fondo (hereda el fondo difuminado de la fila) */
.av-cart-page .av-foot-total-value,
.av-cart-page .av-foot-total-value .woocommerce-Price-amount,
.av-cart-page .av-foot-total-value .amount,
.av-cart-page .av-foot-total-value bdi,
.av-cart-page .av-foot-total-value .woocommerce-Price-currencySymbol {
    color: #DC2626 !important;
    background: transparent !important;
}
.av-cart-page .av-foot-total-value {
    background: transparent !important;
    border-radius: 0;
    padding: 14px 12px !important;
}

/* Cantidad: número grande con caja oscura como mockup */
.av-cart-page .av-qty-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #1F2937;
    color: #FFFFFF !important;
    border-radius: 6px;
    font-size: 20px;
    font-weight: 800;
}
.av-cart-page .av-td-qty .quantity input.qty {
    background: #1F2937 !important;
    color: #FFFFFF !important;
    border: 1px solid #1F2937 !important;
    width: 50px !important;
    height: 44px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    text-align: center;
    border-radius: 6px;
}

/* Labels del footer — paleta unificada (precios en rojo, qty en azul) */
.av-cart-page .av-foot-label { color: #F1F3F5 !important; }
.av-cart-page .av-foot-total .av-foot-label { color: #DC2626 !important; }
.av-cart-page .av-foot-qty { color: #4A90E2 !important; }
.av-cart-page .av-foot-unit,
.av-cart-page .av-foot-unit .woocommerce-Price-amount,
.av-cart-page .av-foot-unit bdi { color: #DC2626 !important; }

/* Botones bottom legibles */
.av-cart-page .av-cart-continue { color: #0D47A1 !important; }
.av-cart-page .av-cart-update-btn { color: #1F2937 !important; }
.av-cart-page .av-cart-checkout { color: #FFFFFF !important; }

/* ===========================================================
   v2.5 — Cart en DARK MODE (paleta del sitio)
   --av-bg #0F1419, --av-surface #1A2129, --av-text #F1F3F5
   --av-blue #4A90E2, --av-border #2A3441
   =========================================================== */

/* Cards (header + tabla): fondo oscuro */
.av-cart-page .av-cart-card,
.av-cart-page .av-cart-header-card,
.av-cart-page .av-cart-table-card {
    background: #1A2129 !important;
    border: 1px solid #2A3441 !important;
    color: #F1F3F5 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.3);
}

/* Header card */
.av-cart-page .av-cart-header-text h1 { color: #F1F3F5 !important; }
.av-cart-page .av-cart-header-text p { color: #9BA4AE !important; }
.av-cart-page .av-cart-header-icon {
    background: #4A90E2 !important;
}

/* Tabla: thead */
.av-cart-page .av-cart-table thead tr {
    background: #232B36 !important;
    border-bottom: 1px solid #2A3441 !important;
}
.av-cart-page .av-cart-table thead th {
    color: #DC2626 !important;
}
.av-cart-page .av-cart-table thead th .av-th-badge {
    background: #DC2626 !important;
}

/* Tabla: tbody */
.av-cart-page .av-cart-table tbody td {
    background: #1A2129 !important;
    border-bottom: 1px solid #2A3441 !important;
    color: #F1F3F5 !important;
}

/* Nombre del producto */
.av-cart-page .av-product-name,
.av-cart-page .av-product-name a {
    color: #F1F3F5 !important;
}
.av-cart-page .av-product-name a:hover { color: #4A90E2 !important; }

/* Miniatura: fondo claro para que el icono se vea (los iconos son azules sobre blanco) */
.av-cart-page .av-product-thumb img {
    background: #FFFFFF !important;
    border-color: #2A3441 !important;
}

/* Cantidad: caja oscura con número claro */
.av-cart-page .av-qty-num {
    background: #4A90E2 !important;
    color: #FFFFFF !important;
}
.av-cart-page .av-td-qty .quantity input.qty {
    background: #0F1419 !important;
    color: #FFFFFF !important;
    border: 1px solid #4A90E2 !important;
}

/* Precios — paleta roja */
.av-cart-page .av-cart-table .woocommerce-Price-amount,
.av-cart-page .av-cart-table .amount,
.av-cart-page .av-cart-table bdi,
.av-cart-page .av-cart-table .woocommerce-Price-currencySymbol {
    color: #DC2626 !important;
    font-family: inherit !important;
}

/* Botón eliminar */
.av-cart-page .av-remove-btn {
    background: rgba(220, 38, 38, 0.15) !important;
    border-color: #DC2626 !important;
    color: #DC2626 !important;
}
.av-cart-page .av-remove-btn:hover {
    background: #DC2626 !important;
    color: #FFFFFF !important;
}

/* Footer: subtotal, envío */
.av-cart-page .av-cart-table tfoot td {
    background: #232B36 !important;
    border-top: 1px solid #2A3441 !important;
    color: #F1F3F5 !important;
}
.av-cart-page .av-foot-label { color: #F1F3F5 !important; }
.av-cart-page .av-foot-qty { color: #4A90E2 !important; }
.av-cart-page .av-foot-unit,
.av-cart-page .av-foot-unit bdi,
.av-cart-page .av-foot-unit .woocommerce-Price-amount {
    color: #DC2626 !important;
}
.av-cart-page .av-foot-value,
.av-cart-page .av-foot-value bdi,
.av-cart-page .av-foot-value .woocommerce-Price-amount {
    color: #DC2626 !important;
}

/* Camión envío: stroke rojo */
.av-cart-page .av-foot-shipping svg { stroke: #DC2626 !important; }

/* TOTAL A PAGAR: fila destacada con fondo rojo difuminado */
.av-cart-page .av-foot-total td {
    background: rgba(220, 38, 38, .12) !important;
}
.av-cart-page .av-foot-total .av-foot-label { color: #DC2626 !important; }
.av-cart-page .av-foot-total .av-foot-label svg {
    fill: #DC2626 !important;
    stroke: #FFFFFF !important;
    background: #FFFFFF !important;
}
.av-cart-page .av-foot-total-value,
.av-cart-page .av-foot-total-value bdi,
.av-cart-page .av-foot-total-value .woocommerce-Price-amount,
.av-cart-page .av-foot-total-value .woocommerce-Price-currencySymbol {
    background: transparent !important;
    color: #DC2626 !important;
}

/* Botones inferiores — Continuar comprando: azul oscuro relleno (acción secundaria con presencia) */
.av-cart-page .av-cart-continue {
    background: #0D47A1 !important;
    color: #FFFFFF !important;
    border: 1px solid #0D47A1 !important;
}
.av-cart-page .av-cart-continue:hover {
    background: #0A3878 !important;
    color: #FFFFFF !important;
    border-color: #0A3878 !important;
}
.av-cart-page .av-cart-continue svg { stroke: #FFFFFF !important; }
.av-cart-page .av-cart-update-btn {
    background: #DC2626 !important;
    color: #FFFFFF !important;
    border: 1px solid #DC2626 !important;
}
.av-cart-page .av-cart-update-btn:hover {
    background: #b91c1c !important;
}
.av-cart-page .av-cart-checkout {
    background: #4A90E2 !important;
    color: #FFFFFF !important;
}
.av-cart-page .av-cart-checkout:hover {
    background: #357ABD !important;
}



/* ===========================================================
   v2.6 — Checkout page rediseñado (dark mode coherente con cart)
   =========================================================== */
.av-checkout-page {
    max-width: 880px;
    margin: 40px auto;
    padding: 0 16px;
    color: #F1F3F5;
}
.av-checkout-page .av-cart-card {
    margin-bottom: 24px;
    background: #1A2129;
    border: 1px solid #2A3441;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,.3);
    overflow: hidden;
}

/* Section header (mapa, factura, pago) */
.av-section-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 24px;
    background: #232B36;
    border-bottom: 1px solid #2A3441;
}
.av-section-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #4A90E2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.av-section-header h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #F1F3F5;
    line-height: 1.3;
}

/* Fields container */
.av-checkout-fields {
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
}
.av-checkout-fields .form-row,
.av-checkout-fields .av-field {
    margin: 0;
    padding: 0;
    grid-column: span 12;
    display: flex;
    flex-direction: column;
}
.av-checkout-fields .av-col-8 { grid-column: span 8; }
.av-checkout-fields .av-col-4 { grid-column: span 4; }
.av-checkout-fields .av-col-6 { grid-column: span 6; }

.av-checkout-fields label {
    font-size: 13px;
    font-weight: 600;
    color: #F1F3F5;
    margin-bottom: 6px;
    display: block;
}
.av-checkout-fields label .required,
.av-checkout-fields label abbr.required {
    color: #DC2626;
    text-decoration: none;
    margin-left: 2px;
    font-weight: 700;
}
.av-checkout-fields label .optional { color: #9BA4AE; font-weight: 400; }

.av-checkout-fields input[type="text"],
.av-checkout-fields input[type="tel"],
.av-checkout-fields input[type="email"],
.av-checkout-fields input[type="number"],
.av-checkout-fields select,
.av-checkout-fields textarea {
    width: 100%;
    padding: 12px 14px;
    background: #0F1419;
    border: 1px solid #2A3441;
    border-radius: 8px;
    color: #F1F3F5;
    font-size: 14px;
    font-family: inherit;
    transition: border-color .15s, background .15s;
    box-sizing: border-box;
    height: 46px;
}
.av-checkout-fields textarea { height: 90px; resize: vertical; }
.av-checkout-fields input::placeholder,
.av-checkout-fields textarea::placeholder {
    color: #5F6B7A;
    opacity: 1;
}
.av-checkout-fields input:focus,
.av-checkout-fields select:focus,
.av-checkout-fields textarea:focus {
    outline: none;
    border-color: #4A90E2;
    background: #1A2129;
}
.av-checkout-fields select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A90E2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 38px;
}
.av-checkout-fields .woocommerce-input-wrapper { width: 100%; display: block; }

/* SELECT2 dark mode (en caso de que WC use select2 para state) */
.av-checkout-fields .select2-container--default .select2-selection--single {
    background: #0F1419 !important;
    border: 1px solid #2A3441 !important;
    border-radius: 8px !important;
    height: 46px !important;
    padding: 6px 10px !important;
}
.av-checkout-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #F1F3F5 !important;
    line-height: 32px !important;
}
.av-checkout-fields .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #4A90E2 transparent transparent transparent !important;
}
.select2-dropdown {
    background: #1A2129 !important;
    border: 1px solid #2A3441 !important;
    color: #F1F3F5 !important;
}
.select2-results__option {
    color: #F1F3F5 !important;
    padding: 10px 12px !important;
}
.select2-results__option--highlighted[aria-selected] {
    background: #4A90E2 !important;
    color: #FFFFFF !important;
}

/* Errores de validación */
.av-checkout-fields .woocommerce-invalid input,
.av-checkout-fields .woocommerce-invalid select {
    border-color: #DC2626;
}

/* Sección método de pago */
.av-checkout-payment .av-payment {
    padding: 24px;
}
.av-checkout-payment .wc_payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 18px 0;
}
.av-checkout-payment .wc_payment_method {
    background: #0F1419;
    border: 1px solid #2A3441;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.av-checkout-payment .wc_payment_method input[type="radio"] {
    accent-color: #4A90E2;
    width: 18px;
    height: 18px;
    margin: 0;
}
.av-checkout-payment .wc_payment_method label {
    margin: 0;
    color: #F1F3F5;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}
.av-checkout-payment .payment_box {
    background: #232B36;
    border-radius: 8px;
    padding: 14px;
    margin-top: 8px;
    color: #9BA4AE;
    font-size: 13px;
    line-height: 1.5;
}
.av-checkout-payment .payment_box p { color: #9BA4AE; margin: 0; }

/* ===========================================================
   v2.9 — Cart + Checkout unificados: paleta roja dark mode + móvil
   =========================================================== */

/* Variables locales compartidas */
.av-cart-page,
.av-checkout-page {
    --av-red: #DC2626;
    --av-red-hover: #B91C1C;
    --av-red-text: #FFFFFF;
    --av-red-bg-soft: rgba(220, 38, 38, .12);
}

/* Override del cart claro original: aplicamos dark a ambos */
.av-cart-page,
.av-checkout-page {
    color: #F1F3F5;
}
.av-cart-page .av-cart-card,
.av-checkout-page .av-cart-card {
    background: #1A2129 !important;
    border: 1px solid #2A3441;
    box-shadow: 0 2px 12px rgba(0,0,0,.3);
}

/* Header "Revisa tu pedido" */
.av-cart-page .av-cart-header-card,
.av-checkout-page .av-cart-header-card {
    background: #1A2129 !important;
    border: 1px solid #2A3441;
}
.av-cart-page .av-cart-header-icon,
.av-checkout-page .av-cart-header-icon {
    background: var(--av-red) !important;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
}
.av-cart-page .av-cart-header-text h1,
.av-checkout-page .av-cart-header-text h1 {
    color: #FFFFFF !important;
    font-size: 22px;
}
.av-cart-page .av-cart-header-text p,
.av-checkout-page .av-cart-header-text p {
    color: #9BA4AE !important;
    font-size: 14px;
}

/* Tabla del carrito/resumen — versión dark con acento rojo */
.av-cart-page .av-cart-table-card,
.av-checkout-page .av-cart-table-card {
    padding: 0;
    background: #1A2129 !important;
}
.av-cart-page .av-cart-table,
.av-checkout-page .av-cart-table {
    background: transparent;
}
.av-cart-page .av-cart-table thead tr,
.av-checkout-page .av-cart-table thead tr {
    background: #232B36 !important;
    border-bottom: 1px solid #2A3441;
}
.av-cart-page .av-cart-table thead th,
.av-checkout-page .av-cart-table thead th {
    color: var(--av-red) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .5px !important;
    padding: 14px 12px !important;
    background: transparent !important;
}
.av-cart-page .av-cart-table thead th .av-th-badge,
.av-checkout-page .av-cart-table thead th .av-th-badge {
    background: var(--av-red) !important;
    color: #FFFFFF !important;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    flex-shrink: 0;
}
.av-cart-page .av-cart-table thead th .av-th-badge svg,
.av-checkout-page .av-cart-table thead th .av-th-badge svg {
    stroke: #FFFFFF;
    width: 12px;
    height: 12px;
}
.av-cart-page .av-cart-table tbody td,
.av-checkout-page .av-cart-table tbody td {
    color: #F1F3F5;
    background: transparent !important;
    border-bottom: 1px solid #2A3441;
    padding: 14px 12px;
}
.av-cart-page .av-cart-table tbody tr:last-child td,
.av-checkout-page .av-cart-table tbody tr:last-child td {
    border-bottom: 1px solid #2A3441 !important;
}
.av-cart-page .av-cart-table tbody .av-product-name,
.av-cart-page .av-cart-table tbody .av-product-name a,
.av-checkout-page .av-cart-table tbody .av-product-name,
.av-checkout-page .av-cart-table tbody .av-product-name a {
    color: #F1F3F5 !important;
}
.av-cart-page .av-cart-table tbody .av-td-unit,
.av-cart-page .av-cart-table tbody .av-td-total,
.av-cart-page .av-cart-table tbody .woocommerce-Price-amount,
.av-checkout-page .av-cart-table tbody .av-td-unit,
.av-checkout-page .av-cart-table tbody .av-td-total,
.av-checkout-page .av-cart-table tbody .woocommerce-Price-amount {
    color: var(--av-red) !important;
    font-weight: 700;
}
.av-cart-page .av-cart-table tbody .av-qty-num,
.av-checkout-page .av-cart-table tbody .av-qty-num {
    color: #4A90E2;
    font-weight: 700;
    font-size: 18px;
}
.av-cart-page .av-cart-table tbody .av-product-thumb img,
.av-checkout-page .av-cart-table tbody .av-product-thumb img {
    background: #FFFFFF;
    border-radius: 6px;
    padding: 2px;
}

/* Input de cantidad del cart con la paleta dark */
.av-cart-page .av-qty-wrapper input.qty,
.av-cart-page .av-qty-input {
    background: #0F1419 !important;
    border: 1px solid #2A3441 !important;
    color: #F1F3F5 !important;
}

/* tfoot — TODOS los backgrounds claros van fuera; usar dark coherente */
.av-cart-page .av-cart-table tfoot td,
.av-checkout-page .av-cart-table tfoot td {
    background: transparent !important;
    color: #F1F3F5 !important;
}
.av-cart-page .av-cart-table tfoot .av-foot-subtotal,
.av-checkout-page .av-cart-table tfoot .av-foot-subtotal {
    background: #232B36 !important;
}
.av-cart-page .av-cart-table tfoot .av-foot-shipping,
.av-checkout-page .av-cart-table tfoot .av-foot-shipping {
    background: #1F2731 !important;
}
.av-cart-page .av-cart-table tfoot .av-foot-subtotal td,
.av-cart-page .av-cart-table tfoot .av-foot-shipping td,
.av-checkout-page .av-cart-table tfoot .av-foot-subtotal td,
.av-checkout-page .av-cart-table tfoot .av-foot-shipping td {
    background: transparent !important;
    border-bottom: 1px solid #2A3441;
}
.av-cart-page .av-cart-table tfoot .av-foot-label,
.av-checkout-page .av-cart-table tfoot .av-foot-label {
    color: #F1F3F5 !important;
    font-weight: 700;
}
.av-cart-page .av-cart-table tfoot .av-foot-value,
.av-checkout-page .av-cart-table tfoot .av-foot-value {
    color: #F1F3F5 !important;
    font-weight: 700;
}
.av-cart-page .av-cart-table tfoot .av-foot-qty,
.av-checkout-page .av-cart-table tfoot .av-foot-qty {
    color: #4A90E2 !important;
    font-weight: 700;
}
.av-cart-page .av-cart-table tfoot .av-foot-unit,
.av-cart-page .av-cart-table tfoot .av-foot-subtotal .av-foot-value,
.av-cart-page .av-cart-table tfoot .av-foot-shipping .av-foot-value,
.av-checkout-page .av-cart-table tfoot .av-foot-unit,
.av-checkout-page .av-cart-table tfoot .av-foot-subtotal .av-foot-value,
.av-checkout-page .av-cart-table tfoot .av-foot-shipping .av-foot-value {
    color: var(--av-red) !important;
}
.av-cart-page .av-cart-table tfoot .av-foot-total,
.av-checkout-page .av-cart-table tfoot .av-foot-total {
    background: var(--av-red-bg-soft) !important;
}
.av-cart-page .av-cart-table tfoot .av-foot-total td,
.av-checkout-page .av-cart-table tfoot .av-foot-total td {
    background: rgba(220, 38, 38, .12) !important;
}
.av-cart-page .av-cart-table tfoot .av-foot-total .av-foot-label,
.av-cart-page .av-cart-table tfoot .av-foot-total .av-foot-total-value,
.av-cart-page .av-cart-table tfoot .av-foot-total .av-foot-total-value .woocommerce-Price-amount,
.av-checkout-page .av-cart-table tfoot .av-foot-total .av-foot-label,
.av-checkout-page .av-cart-table tfoot .av-foot-total .av-foot-total-value,
.av-checkout-page .av-cart-table tfoot .av-foot-total .av-foot-total-value .woocommerce-Price-amount {
    color: var(--av-red) !important;
    font-size: 18px;
}

/* Botones bottom del carrito (Continuar / Actualizar / Continuar al pago) */
.av-cart-page .av-cart-continue {
    background: #1D4ED8 !important;
    color: #FFFFFF !important;
    border: 1px solid #1D4ED8 !important;
}
.av-cart-page .av-cart-continue:hover {
    background: #1E3A8A !important;
    border-color: #1E3A8A !important;
    color: #FFFFFF !important;
}
.av-cart-page .av-cart-continue svg { stroke: #FFFFFF !important; }
.av-cart-page .av-cart-update-btn {
    background: #232B36 !important;
    color: #F1F3F5 !important;
    border: 1px solid #2A3441 !important;
}
.av-cart-page .av-cart-checkout {
    background: var(--av-red) !important;
    color: var(--av-red-text) !important;
    border: none !important;
}
.av-cart-page .av-cart-checkout:hover {
    background: var(--av-red-hover) !important;
}
.av-cart-page .av-remove-btn {
    color: var(--av-red) !important;
}

/* Iconos de sección (envío, facturación, pago) — antes azules, ahora rojos */
.av-checkout-page .av-section-icon {
    background: var(--av-red) !important;
}

/* Asterisco de campo requerido en rojo (ya estaba pero refuerzo) */
.av-checkout-page .av-checkout-fields label .required,
.av-checkout-page .av-checkout-fields label abbr.required {
    color: var(--av-red) !important;
}

/* Botón "Confirmar pedido" en rojo */
.av-checkout-page .av-place-order-btn,
.av-checkout-page button#place_order {
    background: var(--av-red) !important;
    color: var(--av-red-text) !important;
    border: none !important;
    padding: 14px 28px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    cursor: pointer;
    width: 100%;
    margin-top: 12px;
    transition: background .15s;
    letter-spacing: .3px;
}
.av-checkout-page .av-place-order-btn:hover,
.av-checkout-page button#place_order:hover {
    background: var(--av-red-hover) !important;
}

/* Radio de método de pago: accent rojo */
.av-checkout-page .av-checkout-payment .wc_payment_method input[type="radio"] {
    accent-color: var(--av-red);
}
.av-checkout-page .av-checkout-payment .wc_payment_method.selected,
.av-checkout-page .av-checkout-payment .wc_payment_method:has(input:checked) {
    border-color: var(--av-red);
    background: rgba(220, 38, 38, .06);
}

/* Mensajes de error de validación — rojo (mantiene visibilidad en dark) */
.av-checkout-page .woocommerce-error,
.av-checkout-page .woocommerce-NoticeGroup-checkout {
    background: var(--av-red-bg-soft);
    border: 1px solid var(--av-red);
    color: #FCA5A5;
    padding: 12px 16px;
    border-radius: 8px;
    list-style: none;
}
.av-checkout-page .woocommerce-error li { color: #FCA5A5; }

/* Aviso suave amarillo de CI/RUC mantiene visibilidad */
.av-checkout-page .av-soft-warning { color: #FBBF24; }

/* RESPONSIVE MÓVIL — checkout dark */
@media (max-width: 720px) {
    .av-checkout-page { margin: 16px auto; padding: 0 12px; }

    .av-checkout-page .av-cart-header-card {
        padding: 18px 16px;
        gap: 12px;
    }
    .av-checkout-page .av-cart-header-icon {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
    }
    .av-checkout-page .av-cart-header-icon svg { width: 24px; height: 24px; }
    .av-checkout-page .av-cart-header-text h1 { font-size: 18px; }
    .av-checkout-page .av-cart-header-text p { font-size: 13px; }

    /* Resumen tabla en móvil: usar mismo grid del cart */
    .av-checkout-page .av-cart-table thead { display: none; }
    .av-checkout-page .av-cart-table, .av-checkout-page .av-cart-table tbody { display: block; width: 100%; }
    .av-checkout-page .av-cart-table tbody tr {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 6px 12px;
        padding: 14px;
        border-bottom: 1px solid #2A3441;
    }
    .av-checkout-page .av-cart-table tbody .av-td-product {
        grid-column: 1 / -1;
    }
    .av-checkout-page .av-cart-table tbody td {
        display: block;
        border: 0;
        padding: 4px 0 !important;
    }
    .av-checkout-page .av-cart-table tfoot { display: block; }
    .av-checkout-page .av-cart-table tfoot tr {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 14px;
        border-bottom: 1px solid #2A3441;
    }
    .av-checkout-page .av-cart-table tfoot td.av-foot-blank,
    .av-checkout-page .av-cart-table tfoot td.av-foot-qty,
    .av-checkout-page .av-cart-table tfoot td.av-foot-unit { display: none !important; }

    .av-section-header { padding: 14px 16px; gap: 10px; }
    .av-section-header h2 { font-size: 15px; }
    .av-section-icon { width: 36px; height: 36px; flex-shrink: 0; }
    .av-section-icon svg { width: 16px; height: 16px; }

    .av-checkout-fields { padding: 16px; gap: 12px; }
    .av-checkout-fields .av-col-8,
    .av-checkout-fields .av-col-4,
    .av-checkout-fields .av-col-6 { grid-column: span 12 !important; }

    .av-checkout-payment .av-payment { padding: 16px; }
    .av-checkout-page .av-place-order-btn,
    .av-checkout-page button#place_order { padding: 14px 20px !important; font-size: 15px !important; }
}

/* Confirmar pedido button */
.av-place-order-btn,
button#place_order {
    display: block;
    width: 100%;
    background: #4A90E2 !important;
    color: #FFFFFF !important;
    border: 0 !important;
    padding: 16px 24px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer;
    transition: background .15s;
    margin-top: 14px;
    text-transform: none !important;
    letter-spacing: .3px;
}
.av-place-order-btn:hover,
button#place_order:hover {
    background: #357ABD !important;
}

/* Reset WooCommerce form classes que peleen */
.av-checkout-page .woocommerce-billing-fields,
.av-checkout-page .woocommerce-billing-fields__field-wrapper { display: contents; }

/* Mobile responsive */
@media (max-width: 720px) {
    .av-checkout-fields { grid-template-columns: 1fr; padding: 16px; }
    .av-checkout-fields .av-col-4,
    .av-checkout-fields .av-col-6,
    .av-checkout-fields .av-col-8 { grid-column: span 1; }
    .av-section-header { padding: 16px; }
    .av-section-header h2 { font-size: 16px; }
}

/* ===========================================================
   v3.6 — Página post-checkout (Order Received / Detalles del pedido)
   Aplica dark mode coherente con cart/checkout
   =========================================================== */
.woocommerce-order,
.woocommerce-order-received .woocommerce {
    color: #F1F3F5;
}

/* Mensaje superior "Gracias, su pedido fue recibido" */
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-thankyou-order-received,
.woocommerce-notice--success {
    color: #F1F3F5 !important;
}

/* Headers de "Detalles del pedido", "Dirección de facturación", "Dirección de envío" */
.woocommerce-order h1,
.woocommerce-order h2,
.woocommerce-order h3,
.woocommerce-order-details h2,
.woocommerce-customer-details h2,
.woocommerce-column h2,
.woocommerce-column__title {
    color: #F1F3F5 !important;
    background: #232B36 !important;
    padding: 14px 18px !important;
    border-radius: 8px 8px 0 0;
    margin: 0 0 0 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

/* Tabla con productos / totales del pedido */
.woocommerce-order .shop_table,
.woocommerce-order-details .shop_table {
    background: #1A2129 !important;
    border: 1px solid #2A3441 !important;
    border-radius: 0 0 8px 8px;
    color: #F1F3F5 !important;
    width: 100%;
    margin-bottom: 24px;
    overflow: hidden;
}
.woocommerce-order .shop_table thead th,
.woocommerce-order-details .shop_table thead th {
    background: #232B36 !important;
    color: #DC2626 !important;
    border-bottom: 1px solid #2A3441 !important;
    padding: 12px 14px !important;
    font-weight: 700;
}
.woocommerce-order .shop_table tbody td,
.woocommerce-order .shop_table tfoot td,
.woocommerce-order .shop_table tfoot th,
.woocommerce-order-details .shop_table tbody td,
.woocommerce-order-details .shop_table tfoot td,
.woocommerce-order-details .shop_table tfoot th {
    background: #1A2129 !important;
    color: #F1F3F5 !important;
    border-top: 1px solid #2A3441 !important;
    padding: 12px 14px !important;
}
.woocommerce-order .shop_table tfoot th { font-weight: 700; }
.woocommerce-order .shop_table .woocommerce-Price-amount,
.woocommerce-order .shop_table .amount,
.woocommerce-order .shop_table bdi,
.woocommerce-order-details .shop_table .woocommerce-Price-amount,
.woocommerce-order-details .shop_table .amount,
.woocommerce-order-details .shop_table bdi {
    color: #DC2626 !important;
}
/* Línea "Pago contraentrega" suele venir como td plana → texto claro */
.woocommerce-order .shop_table .order_item .product-name a,
.woocommerce-order-details .shop_table .order_item .product-name a {
    color: #DC2626 !important;
    font-weight: 600;
}

/* Bloque Direcciones (facturación / envío) */
.woocommerce-customer-details,
.woocommerce-customer-details .col2-set,
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2 {
    background: transparent !important;
    color: #F1F3F5 !important;
}
.woocommerce-customer-details address {
    background: #1A2129 !important;
    border: 1px solid #2A3441 !important;
    border-radius: 0 0 8px 8px;
    color: #F1F3F5 !important;
    padding: 14px 18px !important;
    margin: 0 !important;
    font-style: normal;
    line-height: 1.6;
}
.woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-customer-details .woocommerce-customer-details--email {
    color: #4A90E2;
}
.woocommerce-customer-details .woocommerce-column__title {
    border-bottom: 1px solid #2A3441;
}

/* Mejor disposición visual de los bloques de dirección — escritorio en 2 cols, móvil en 1 */
.woocommerce-customer-details .col2-set,
.woocommerce-customer-details .addresses,
.woocommerce-customer-details .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
    /* anular cualquier flex/float heredado */
    float: none !important;
}
.woocommerce-customer-details .col2-set::before,
.woocommerce-customer-details .col2-set::after,
.woocommerce-customer-details .addresses::before,
.woocommerce-customer-details .addresses::after {
    content: none !important;
    display: none !important;
}
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2,
.woocommerce-customer-details .woocommerce-column,
.woocommerce-customer-details .woocommerce-column--billing-address,
.woocommerce-customer-details .woocommerce-column--shipping-address {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: none !important;
}
@media (max-width: 720px) {
    .woocommerce-customer-details .col2-set,
    .woocommerce-customer-details .addresses,
    .woocommerce-customer-details .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* Mensaje de éxito superior */
.woocommerce-order .woocommerce-thankyou-order-received {
    background: rgba(34, 197, 94, .12);
    border: 1px solid #16A34A;
    border-radius: 8px;
    padding: 14px 18px;
    color: #86EFAC !important;
    font-size: 16px;
    margin-bottom: 24px;
}
.woocommerce-order .woocommerce-order-overview {
    background: #1A2129 !important;
    border: 1px solid #2A3441;
    border-radius: 8px;
    padding: 18px;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 14px;
    margin: 0 0 24px 0;
}
.woocommerce-order .woocommerce-order-overview li {
    color: #9BA4AE;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.woocommerce-order .woocommerce-order-overview li strong {
    display: block;
    color: #F1F3F5;
    font-size: 16px;
    font-weight: 700;
    text-transform: none;
    margin-top: 4px;
}
