/* ================================================================
   AUTIKA PARTS — Design System CSS
   Applied on top of Astra + WooCommerce default styles
================================================================ */

/* ── TOPBAR ─────────────────────────────────────────────────────── */
.ast-above-header-bar {
  background: var(--color-deep-teal) !important;
  color: var(--turquoise-200) !important;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
}

/* ── HEADER / NAV ───────────────────────────────────────────────── */
#masthead,
.ast-header-break-point #masthead,
.ast-primary-header-bar {
  background: #fff !important;
  border-bottom: 1px solid var(--color-line) !important;
  box-shadow: none !important;
}
/* Suppress Astra's colored divider that uses --ast-global-color-1 */
.ast-primary-header-bar::after,
.ast-header-break-point .ast-primary-header-bar::after {
  display: none !important;
}

.ast-site-identity .site-title a,
.ast-site-identity .site-title {
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: -.01em;
}

.main-navigation .menu-item a,
.ast-builder-menu-1 .menu-item a {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-graphite);
  transition: color var(--dur-fast);
}
.main-navigation .menu-item a:hover,
.main-navigation .current-menu-item > a {
  color: var(--color-deep-teal) !important;
  font-weight: 600;
}

/* ── BUTTONS ────────────────────────────────────────────────────── */
.ast-btn,
.button,
button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  font-family: var(--font-sans) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border-radius: var(--r-md) !important;
  border: 1px solid transparent !important;
  transition: background var(--dur-base), color var(--dur-base), border-color var(--dur-base) !important;
  letter-spacing: .01em;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--color-turquoise) !important;
  color: #fff !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: #005f66 !important;
  color: #fff !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
  background: var(--color-deep-teal) !important;
  color: #fff !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
  background: var(--bg-darker) !important;
}

/* ── SHOP ARCHIVE — PAGE HEADER ─────────────────────────────────── */
.autika-shop-header {
  padding: 36px 0 28px;
  border-bottom: 1px solid var(--color-line);
  background: var(--color-bone);
  margin-bottom: 0;
}
.autika-shop-header h1 {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-deep-teal);
  letter-spacing: -.01em;
  margin: 0 0 4px;
}
.autika-shop-header p {
  font-family: var(--font-body);
  font-size: 14px;
  color: #6a7478;
  margin: 0;
}

/* ── SHOP TOOLBAR ───────────────────────────────────────────────── */
.autika-shop-toolbar {
  background: #fff;
  border-bottom: 1px solid var(--color-line);
  padding: 16px 0;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: var(--shadow-1);
}
.autika-toolbar-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}
.autika-sort-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.autika-sort-label {
  font-size: 13px;
  font-family: var(--font-ui);
  color: #6a7478;
  white-space: nowrap;
}
.autika-sort-select,
.woocommerce-ordering select {
  height: 42px;
  padding: 0 32px 0 12px;
  background: var(--color-bone);
  border: 1px solid var(--color-line) !important;
  border-radius: var(--r-md) !important;
  font-size: 13px;
  font-family: var(--font-ui);
  color: var(--color-deep-teal);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236a7478' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  cursor: pointer;
}

.autika-results-count {
  font-size: 13px;
  font-family: var(--font-ui);
  color: #6a7478;
  white-space: nowrap;
}
.autika-results-count strong { color: var(--color-deep-teal); }

/* ── PRODUCT GRID ───────────────────────────────────────────────── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  float: none !important;
}

/* ── PRODUCT CARD ───────────────────────────────────────────────── */
.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--dur-base), transform var(--dur-base), border-color var(--dur-base);
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  position: relative;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--shadow-3);
  transform: translateY(-3px);
  border-color: var(--turquoise-100);
}

/* Product image */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block;
}
.woocommerce ul.products li.product img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  margin: 0;
  border-radius: 0;
  background: var(--color-bone);
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  background: var(--color-ochre);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: var(--r-sm);
  padding: 3px 8px;
  min-height: unset;
  min-width: unset;
  line-height: 1.6;
  top: 12px;
  left: 12px;
}

/* Category tag (injected via hook) */
.autika-product-cat {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--color-turquoise);
  font-family: var(--font-ui);
  padding: 16px 18px 0;
  margin-bottom: 4px;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 600;
  color: var(--color-deep-teal);
  line-height: 1.4;
  padding: 0 18px 0 !important;
  margin: 0 0 6px;
}

/* IVA label (injected via hook) */
.autika-iva {
  font-size: 10px;
  color: #6a7478;
  font-family: var(--font-ui);
  padding: 0 18px;
  margin-bottom: 12px;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--color-deep-teal) !important;
  font-family: var(--font-ui) !important;
  padding: 0 18px;
  margin-bottom: 8px;
  display: block;
}
.woocommerce ul.products li.product .price del {
  font-size: 13px;
  color: #6a7478 !important;
  opacity: 1;
  margin-left: 4px;
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin: auto 18px 18px !important;
  width: calc(100% - 36px) !important;
  text-align: center !important;
  display: block !important;
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 !important;
  background: var(--color-turquoise) !important;
  color: #fff !important;
  border-radius: var(--r-md) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.woocommerce ul.products li.product .button:hover {
  background: #005f66 !important;
}

/* ── SHOP SECTION SPACING ───────────────────────────────────────── */
.woocommerce-page .site-content,
.woocommerce .site-content {
  padding-top: 0 !important;
}
.woocommerce ul.products + nav.woocommerce-pagination {
  margin-top: 40px;
}

/* ── PAGINATION ─────────────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul {
  border: none;
  display: flex;
  gap: 6px;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  height: 36px;
  min-width: 36px;
  padding: 0 10px;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--r-md) !important;
  background: #fff;
  font-size: 13px;
  font-family: var(--font-ui);
  font-weight: 500;
  color: var(--color-graphite);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--dur-fast), color var(--dur-fast);
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--color-turquoise) !important;
  color: var(--color-turquoise) !important;
  background: #fff !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-deep-teal) !important;
  border-color: var(--color-deep-teal) !important;
  color: #fff !important;
}

/* ── CART TABLE ─────────────────────────────────────────────────── */
.woocommerce table.shop_table {
  border: 1px solid var(--color-line) !important;
  border-radius: var(--r-lg);
  overflow: hidden;
  border-collapse: separate;
  font-family: var(--font-sans);
}
.woocommerce table.shop_table th {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #6a7478;
  font-family: var(--font-ui);
  background: var(--color-bone);
  border-bottom: 1px solid var(--color-line) !important;
  padding: 12px 16px;
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--color-line-soft) !important;
  padding: 16px 16px;
  vertical-align: middle;
}
.woocommerce table.shop_table tr:hover td {
  background: var(--color-bone);
}
.woocommerce table.shop_table .product-name a {
  font-weight: 600;
  color: var(--color-deep-teal);
  font-size: 14px;
}
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
  font-family: var(--font-ui);
  font-weight: 700;
  color: var(--color-deep-teal);
}

/* Quantity input in cart */
.woocommerce .quantity .qty {
  height: 36px;
  width: 60px;
  border: 1px solid var(--color-line);
  border-radius: var(--r-md);
  text-align: center;
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-deep-teal);
}
.woocommerce .quantity .qty:focus {
  outline: none;
  border-color: var(--color-turquoise);
  box-shadow: 0 0 0 3px rgba(0,118,127,.1);
}

/* ── CART TOTALS ────────────────────────────────────────────────── */
.woocommerce .cart_totals,
.woocommerce-cart .cart_totals {
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: var(--r-lg);
  overflow: hidden;
  float: none !important;
  width: 100% !important;
}
.woocommerce .cart_totals h2 {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #6a7478;
  font-family: var(--font-ui);
  background: var(--color-bone);
  border-bottom: 1px solid var(--color-line);
  padding: 16px 24px;
  margin: 0;
}
.woocommerce .cart_totals table {
  border: none !important;
  width: 100%;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: 14px 24px !important;
  border-top: 1px solid var(--color-line-soft) !important;
  background: transparent !important;
  font-size: 13px;
}
.woocommerce .cart_totals table th {
  font-weight: 500;
  color: #6a7478;
  font-family: var(--font-ui);
  letter-spacing: 0;
  text-transform: none;
  font-size: 13px;
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  font-weight: 700;
  color: var(--color-deep-teal);
  font-size: 15px;
  border-top: 1px solid var(--color-line) !important;
}
.woocommerce .cart_totals .order-total .amount {
  font-size: 22px;
  font-family: var(--font-ui);
}

.woocommerce-page .wc-proceed-to-checkout {
  padding: 16px 24px 24px;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  background: var(--color-turquoise) !important;
  color: #fff !important;
  border-radius: var(--r-md) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 14px 24px !important;
  display: block;
  text-align: center;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: #005f66 !important;
}

/* ── COUPON FIELD ───────────────────────────────────────────────── */
.woocommerce .coupon input.input-text {
  height: 42px;
  border: 1px solid var(--color-line);
  border-radius: var(--r-md);
  font-size: 13px;
  font-family: var(--font-ui);
  padding: 0 14px;
}
.woocommerce .coupon input.input-text:focus {
  outline: none;
  border-color: var(--color-turquoise);
  box-shadow: 0 0 0 3px rgba(0,118,127,.1);
}

/* ── FORMS (checkout, account) ──────────────────────────────────── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--color-line);
  border-radius: var(--r-md);
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--color-deep-teal);
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--color-turquoise);
  box-shadow: 0 0 0 3px rgba(0,118,127,.1);
  outline: none;
}
.woocommerce form .form-row label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6a7478;
  font-family: var(--font-ui);
}

/* ── FOOTER ─────────────────────────────────────────────────────── */
.site-footer,
#colophon {
  background: var(--bg-darker) !important;
  color: var(--turquoise-200);
}
.site-footer a,
#colophon a {
  color: var(--turquoise-200);
  transition: color var(--dur-fast);
}
.site-footer a:hover,
#colophon a:hover {
  color: #fff;
}
.ast-footer-copyright {
  color: rgba(255,255,255,.3);
  font-size: 12px;
}

/* ── FOOTER WIDGET AREA — break out of Astra's max-width container ── */
.site-below-footer-wrap {
  display: block !important;
  background: #082b3a !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Force visible on all breakpoints — Astra's ast-footer-row-tablet/mobile-stack
   can collapse these containers via its responsive CSS */
.site-below-footer-wrap .ast-builder-grid-row-container-inner,
.site-below-footer-wrap .ast-builder-footer-grid-columns,
.site-below-footer-wrap [class*="site-footer-section"],
.site-below-footer-wrap .footer-widget-area,
.site-below-footer-wrap .footer-widget-area-inner,
.site-below-footer-wrap .widget,
.site-below-footer-wrap .widget_block {
  display: block !important;
  background: #082b3a !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  float: none !important;
}
/* Remove empty <p> tags injected by the block editor around the snippet */
.site-below-footer-wrap .widget_block > p:empty { display: none !important; }
.site-below-footer-wrap .widget_block > p:has(style) { display: contents; }

/* Hide Astra's empty primary footer section that creates white space below */
.site-primary-footer-wrap:empty { display: none !important; }
.ast-primary-footer-bar:empty  { display: none !important; }
.site-primary-footer-wrap .ast-builder-grid-row-container:empty { display: none !important; }
/* Catch primary footer when it has only whitespace */
.site-primary-footer-wrap {
  background: #082b3a !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* ── VEHICLE SELECTOR PAGE ──────────────────────────────────────── */
#vehicle-results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ── PRODUCT CARD BADGES (content-product.php) ──────────────────── */
.autika-badge {
  position: absolute;
  top: 12px; left: 12px;
  z-index: 2;
  height: 22px;
  padding: 0 8px;
  border-radius: var(--r-sm);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  font-family: var(--font-ui);
}
.autika-badge--sale { background: var(--color-ochre); color: #fff; }
.autika-badge--new  { background: var(--color-turquoise); color: #fff; }

.autika-card-link { text-decoration: none; color: inherit; display: block; }

.autika-product-img { position: relative; overflow: hidden; background: #fff; }
ul.products li.product .autika-product-img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
  display: block;
  background: #fff;
}

.autika-img-placeholder {
  aspect-ratio: 4/3;
  display: flex; align-items: center; justify-content: center;
  background: var(--color-bone);
}
.autika-img-placeholder svg { width: 48px; height: 48px; color: var(--color-line); }

.autika-product-price { padding: 0 18px; margin-bottom: 2px; }

/* ── VEHICLE BANNER (filtro activo en tienda) ───────────────────── */
.autika-vehicle-banner {
  background: var(--turquoise-50);
  border: 1px solid var(--turquoise-100);
  border-radius: var(--r-lg);
  margin-bottom: 24px;
}
.autika-vehicle-banner__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
}
.autika-vehicle-banner__icon {
  color: var(--color-turquoise);
  flex-shrink: 0;
}
.autika-vehicle-banner__info {
  flex: 1;
  min-width: 0;
}
.autika-vehicle-banner__label {
  display: block;
  font-size: 11px;
  font-family: var(--font-ui);
  color: var(--color-stone);
  margin-bottom: 2px;
}
.autika-vehicle-banner__vehicle {
  display: block;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-sans);
  color: var(--color-deep-teal);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.autika-vehicle-banner__cta {
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-ui);
  color: var(--color-turquoise);
  text-decoration: none;
  border: 1px solid var(--turquoise-100);
  border-radius: var(--r-md);
  padding: 8px 14px;
  transition: background var(--dur-fast);
  white-space: nowrap;
}
.autika-vehicle-banner__cta:hover {
  background: var(--turquoise-100);
  color: var(--color-turquoise);
}
@media (max-width: 600px) {
  .autika-vehicle-banner__inner { flex-wrap: wrap; }
  .autika-vehicle-banner__cta { width: 100%; text-align: center; }
}

/* ── CATEGORY STRIP ─────────────────────────────────────────────── */
.shop-top-bar {
  display: flex;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid var(--color-line);
  padding: 0;
  margin-bottom: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.shop-top-bar::-webkit-scrollbar { display: none; }
.shop-top-bar__cats { flex: 1; min-width: 0; }
.shop-top-bar__search {
  display: flex !important;
  align-items: center;
  flex-shrink: 0;
  padding: 6px 16px 6px 0;
}

.autika-cat-tabs {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: nowrap;
}
.autika-cat-tab { list-style: none; flex-shrink: 0; }
.autika-cat-tab__link {
  display: block;
  padding: 14px 20px;
  font-size: 13px;
  font-weight: 500;
  font-family: var(--font-ui);
  color: #6a7478;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  text-decoration: none;
  transition: color var(--dur-fast), border-color var(--dur-fast);
}
.autika-cat-tab__link:hover { color: var(--color-deep-teal); }
.autika-cat-tab__link.is-active {
  color: var(--color-deep-teal);
  border-bottom-color: var(--color-turquoise);
  font-weight: 600;
}

/* ── CART PAGE — LAYOUT & QUANTITY STEPPER ──────────────────────── */
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: flex-start;
}
/* notices-wrapper is an extra child that breaks auto-placement */
.woocommerce-cart .woocommerce .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
.woocommerce-cart .woocommerce form.woocommerce-cart-form   { grid-column: 1;      grid-row: 2; }
.woocommerce-cart .woocommerce .cart-collaterals            { grid-column: 2;      grid-row: 2; width: 100% !important; float: none !important; }

@media (max-width: 768px) {
  .woocommerce-cart .woocommerce {
    grid-template-columns: 1fr;
  }
  .woocommerce-cart .woocommerce .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce form.woocommerce-cart-form,
  .woocommerce-cart .woocommerce .cart-collaterals {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Quantity stepper wrapper */
.woocommerce .quantity {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--r-md);
  overflow: hidden;
  width: fit-content;
}
.woocommerce .quantity input.qty {
  width: 44px;
  height: 36px;
  border: none !important;
  border-left: 1px solid var(--color-line) !important;
  border-right: 1px solid var(--color-line) !important;
  border-radius: 0 !important;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-ui);
  color: var(--color-deep-teal);
  background: #fff;
  box-shadow: none !important;
}
/* Remove arrow spinners */
.woocommerce .quantity input.qty::-webkit-inner-spin-button,
.woocommerce .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Cart table image thumbnail */
.woocommerce table.shop_table .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border-radius: var(--r-md);
  border: 1px solid var(--color-line);
}

/* Cart remove button */
.woocommerce table.shop_table td.product-remove a.remove {
  color: #6a7478 !important;
  width: 28px;
  height: 28px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background var(--dur-fast), color var(--dur-fast);
}
.woocommerce table.shop_table td.product-remove a.remove:hover {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}

/* Cart actions row (coupon + update) */
.woocommerce .cart_coupon,
.woocommerce table.cart td.actions {
  background: var(--color-bone);
  border-top: 1px solid var(--color-line) !important;
  padding: 16px 20px !important;
}
.woocommerce table.cart td.actions .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
  float: none;
}
.woocommerce table.cart td.actions .coupon input.input-text {
  height: 40px;
  width: 200px;
  padding: 0 14px;
  background: #fff;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--r-md) !important;
  font-size: 13px;
  font-family: var(--font-ui);
  color: var(--color-deep-teal);
}
.woocommerce table.cart td.actions .coupon input.input-text:focus {
  border-color: var(--color-turquoise) !important;
  box-shadow: 0 0 0 3px rgba(0,118,127,.1);
  outline: none;
}
.woocommerce table.cart td.actions .coupon .button {
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 16px !important;
  background: transparent !important;
  color: var(--color-graphite) !important;
  border: 1px solid var(--color-line) !important;
  font-size: 13px !important;
}
.woocommerce table.cart td.actions .coupon .button:hover {
  border-color: var(--color-deep-teal) !important;
  color: var(--color-deep-teal) !important;
}
.woocommerce table.cart td.actions .button[name="update_cart"] {
  float: right;
  background: var(--color-bone) !important;
  color: var(--color-graphite) !important;
  border: 1px solid var(--color-line) !important;
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
}
.woocommerce table.cart td.actions .button[name="update_cart"]:hover {
  border-color: var(--color-deep-teal) !important;
  color: var(--color-deep-teal) !important;
}

/* ── CHECKOUT PAGE ──────────────────────────────────────────────── */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3#order_review_heading {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6a7478;
  font-family: var(--font-ui);
  background: var(--color-bone);
  border: 1px solid var(--color-line);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  padding: 14px 20px;
  margin: 0;
}

.woocommerce-checkout #order_review {
  border: 1px solid var(--color-line);
  border-radius: var(--r-lg);
  overflow: hidden;
}

/* Checkout billing/shipping title */
.woocommerce-checkout h3:not(#order_review_heading) {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-deep-teal);
  letter-spacing: -.01em;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-line);
}

/* Checkout form fields */
.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row textarea,
.woocommerce-checkout .woocommerce form .form-row select {
  background: var(--color-bone);
  border: 1px solid var(--color-line) !important;
  border-radius: var(--r-md) !important;
  height: 44px;
  padding: 0 14px;
  font-size: 14px;
  font-family: var(--font-ui);
  color: var(--color-deep-teal);
  width: 100%;
}
.woocommerce-checkout .woocommerce form .form-row textarea { height: auto; padding: 12px 14px; }
.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout .woocommerce form .form-row textarea:focus,
.woocommerce-checkout .woocommerce form .form-row select:focus {
  background: #fff;
  border-color: var(--color-turquoise) !important;
  box-shadow: 0 0 0 3px rgba(0,118,127,.1);
  outline: none;
}
.woocommerce-checkout .woocommerce form .form-row label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #6a7478;
  font-family: var(--font-ui);
  margin-bottom: 4px;
  display: block;
}

/* Checkout order review table */
.woocommerce-checkout #order_review table.shop_table {
  border: none !important;
  border-radius: 0 !important;
  margin: 0;
}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td {
  padding: 12px 20px !important;
  font-size: 13px;
  font-family: var(--font-ui);
}
.woocommerce-checkout #order_review .shop_table tfoot tr:last-child th,
.woocommerce-checkout #order_review .shop_table tfoot tr:last-child td {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-deep-teal);
  border-top: 1px solid var(--color-line) !important;
}
.woocommerce-checkout #order_review .shop_table tfoot .order-total .amount {
  font-size: 20px;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: #fff;
  border-top: 1px solid var(--color-line);
}
.woocommerce-checkout #payment ul.payment_methods {
  padding: 16px 20px;
  border-bottom: 1px solid var(--color-line);
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 10px 0;
  font-size: 14px;
  font-family: var(--font-ui);
}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio] {
  accent-color: var(--color-turquoise);
}
.woocommerce-checkout #payment .payment_box {
  background: var(--turquoise-50);
  border-radius: var(--r-md);
  margin: 8px 0;
  padding: 12px 16px;
  font-size: 13px;
  font-family: var(--font-ui);
  color: var(--color-deep-teal);
}
.woocommerce-checkout #payment div.place-order {
  padding: 20px;
}
.woocommerce-checkout #payment #place_order {
  width: 100%;
  height: 50px;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: var(--color-turquoise) !important;
  color: #fff !important;
  border-radius: var(--r-md) !important;
  border: none !important;
  cursor: pointer;
  transition: background var(--dur-base);
}
.woocommerce-checkout #payment #place_order:hover {
  background: #005f66 !important;
}

/* Checkout "secure payment" notice */
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: 12px;
  font-family: var(--font-ui);
  color: #6a7478;
  margin-top: 10px;
}

/* ── CHECKOUT — campos condicionales (Tipo de persona) ──────────── */
.autika-natural-field,
.autika-juridica-field { display: none; }
.autika-field-hidden   { display: none !important; }
.autika-natural-field .optional,
.autika-juridica-field .optional { display: none; }
.autika-natural-field label::after,
.autika-juridica-field label::after {
  content: ' *';
  color: #e2401c;
}

/* Checkout page title */
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .entry-header h1 {
  font-size: 26px;
  font-weight: 700;
  color: var(--color-deep-teal);
  letter-spacing: -.01em;
  margin-bottom: 32px;
}

/* ── PRODUCT SINGLE PAGE ────────────────────────────────────────── */
.woocommerce div.product .product_title {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-deep-teal);
  letter-spacing: -.01em;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--color-graphite);
  line-height: 1.7;
}
.woocommerce div.product p.price {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--color-deep-teal) !important;
  font-family: var(--font-ui) !important;
}
.woocommerce div.product form.cart .button {
  background: var(--color-turquoise) !important;
  height: 48px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.woocommerce div.product form.cart .button:hover { background: #005f66 !important; }

/* ── PRODUCT SINGLE — hide SKU and version/year attributes ──────── */
.product .sku_wrapper { display: none !important; }
.woocommerce-product-attributes-item--attribute_year-vehicle,
.woocommerce-product-attributes-item--attribute_pa_year-vehicle,
.woocommerce-product-attributes-item--attribute_pa_version { display: none !important; }

/* ── PRODUCT CARD — AGOTADO overlay (recupera función de Astra) ──── */
.autika-product-img { position: relative; }

.outofstock .autika-product-img .ast-shop-product-out-of-stock {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 14px 8px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-turquoise);
  text-align: center;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  z-index: 2;
  pointer-events: none;
}
