.elementor-60 .elementor-element.elementor-element-5f5e0c8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:1;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-60 .elementor-element.elementor-element-5f5e0c8::before, .elementor-60 .elementor-element.elementor-element-5f5e0c8 > .elementor-background-video-container::before, .elementor-60 .elementor-element.elementor-element-5f5e0c8 > .e-con-inner > .elementor-background-video-container::before, .elementor-60 .elementor-element.elementor-element-5f5e0c8 > .elementor-background-slideshow::before, .elementor-60 .elementor-element.elementor-element-5f5e0c8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-60 .elementor-element.elementor-element-5f5e0c8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-60 .elementor-element.elementor-element-d1a30ab{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-60 .elementor-element.elementor-element-36d9cba{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-60 .elementor-element.elementor-element-89d03d3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-a2b6e90 *//* === WooCommerce Checkout Progress styles === */
.wc-progress {
  margin: 16px 0 0px;
  padding: 24px 0 24px;
  background: linear-gradient(135deg, #0d4d4d 0%, #0a3d3d 100%);
  border-radius: 16px;
}
.wc-progress__list {
  list-style: none;
  display: flex;
  gap: 24px;
  padding: 0;
  margin: 0;
  counter-reset: step;
}
.wc-progress__item {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  opacity: 0.6;
}
.wc-progress__item.is-current { opacity: 1; }
.wc-progress__item.is-done { opacity: 1; }

.wc-progress__item::after {
  content: "";
  position: absolute;
  top: 12px;
  left: calc(100px + 100px);
  right: 0px;
  height: 2px;
  background: linear-gradient(180deg, #ff9500 0%, #ff6b00 100%) !important;
  transform: translateX(50%);
}
.wc-progress__item:last-child::after { display: none; }

.wc-progress__bullet {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #ff950066;
  display: inline-block;
  position: relative;
  flex: 0 0 24px;
}
.wc-progress__item.is-done .wc-progress__bullet,
.wc-progress__item.is-current .wc-progress__bullet {
  background: #ff9500; /* verde OK; ajusta a tu marca */
}
.wc-progress__item.is-current .wc-progress__bullet {
  outline: 3px solid #ff950066;
  outline-offset: 2px;
}

.wc-progress__label {
  font-weight: 600;
  text-decoration: none;
  color: #ff9500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wc-progress__item.is-done .wc-progress__label { text-decoration: none; }
.wc-progress__item a.wc-progress__label:hover { text-decoration: underline; }

/* modo compacto en móvil */
@media (max-width: 480px) {
  .wc-progress__list { gap: 14px; }
  .wc-progress__label { font-weight: 500; font-size: 13px; }
  .wc-progress__bullet { width: 20px; height: 20px; flex-basis: 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-89d03d3 *//* ===================================
   WOOCOMMERCE CART BLOCK - OPTIMIZADO
   Solo estilos visuales, layout intacto
   =================================== */

/* Reset y configuración base */

.wc-block-components-sidebar-layout{
    padding: 16px 0 !important;
}

.wc-block-components-sidebar-layout,
.wc-block-cart table.wc-block-cart-items,
.wc-block-cart table.wc-block-cart-items td {
    margin: 0px !important;
}

.e-con {
    --flex-wrap-mobile: nowrap;
}

* {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Layout Container */
.wc-block-components-sidebar-layout.wc-block-cart,
.wc-block-components-main,
.wc-block-cart-items {
    background: transparent !important;
}

.wc-block-cart-items {
    border: none !important;
    width: 100% !important;
}

@media (min-width: 768px) {
    .wc-block-components-main {
        padding-right: 6px !important;
    }
}

/* ===================================
   MAIN AREA - PRODUCTOS
   =================================== */

.wc-block-cart-items__header {
    display: none !important;
}

.wc-block-cart-items tbody {
    display: block !important;
}

/* ROW - Card completa */
.wc-block-cart-items__row {
    display: block !important;
    background: linear-gradient(135deg, #0d4d4d 0%, #0a3d3d 100%) !important;
    border: 2px solid #1a5f5f !important;
    border-radius: 16px !important;
    padding: 20px !important;
    margin-bottom: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}
.wc-block-cart-items__row:last-child {
    margin-bottom: 0px;
}

.wc-block-cart-items__row::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 4px !important;
    height: 100% !important;
    background: linear-gradient(180deg, #ff9500 0%, #ff6b00 100%) !important;
    transform: scaleY(0) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 0 !important;
}

.wc-block-cart-items__row::after {
    content: '' !important;
    display: table !important;
    clear: both !important;
}

.wc-block-cart-items__row:hover {
    border-color: #ff9500 !important;
    box-shadow: 0 8px 32px rgba(255, 149, 0, 0.3) !important;
    transform: translateY(-2px) !important;
}

.wc-block-cart-items__row:hover::before {
    transform: scaleY(1) !important;
}

/* Celdas */
.wc-block-cart-items__row td {
    display: inline-block !important;
    vertical-align: top !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.wc-block-cart-items__row td.wc-block-cart-item__product {
    padding-left: 24px !important;
}

/* Imagen */
.wc-block-cart-item__image {
    width: 144px !important;
    margin-right: 20px !important;
    float: left !important;
}

.wc-block-cart-item__image img {
    width: auto;
    height: auto;
    max-height: 144px;
    object-fit: cover !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    padding: 8px !important;
    border: 2px solid rgba(255, 255, 255, 0.12) !important;
    transition: all 0.3s ease !important;
    display: block !important;
}

.wc-block-cart-items__row:hover .wc-block-cart-item__image img {
    transform: scale(1.05) !important;
    border-color: rgba(255, 149, 0, 0.5) !important;
    box-shadow: 0 6px 20px rgba(255, 149, 0, 0.25) !important;
}

/* Producto */
.wc-block-cart-item__product {
    width: calc(100% - 260px) !important;
    float: left !important;
    padding-right: 20px !important;
}

.wc-block-cart-item__wrap {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Total */
.wc-block-cart-item__total {
    width: 120px !important;
    float: right !important;
    text-align: right !important;
    padding-top: 0 !important;
}

.wc-block-cart-item__total .wc-block-components-product-price__value {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    display: block !important;
    line-height: 1.2 !important;
}

/* Nombre del Producto */
.wc-block-components-product-name {
    color: #ff9500 !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    margin: 0 0 8px 0 !important;
    display: block !important;
}

.wc-block-components-product-name:hover {
    color: #ffaa33 !important;
    text-shadow: 0 0 15px rgba(255, 149, 0, 0.4) !important;
}

/* Precios */
.wc-block-cart-item__prices {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 0 0 8px 0 !important;
}

.wc-block-cart-item__prices .wc-block-components-product-price__value:not(.is-discounted),
.wc-block-components-product-price__value,
.wc-block-components-product-price__value.is-discounted {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 20px !important;
}

.wc-block-components-product-price__regular {
    color: rgba(255, 255, 255, 0.4) !important;
    text-decoration: line-through !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}

/* Badge de Ahorro */
.wc-block-components-sale-badge {
    background: linear-gradient(135deg, rgba(255, 149, 0, 0.25), rgba(255, 149, 0, 0.15)) !important;
    color: #ff9500 !important;
    border: 1px solid rgba(255, 149, 0, 0.5) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* Descripción */
.wc-block-components-product-metadata {
    margin: 0 0 12px 0 !important;
}

.wc-block-components-product-metadata__description {
    color: rgba(255, 255, 255, 0.65) !important;
    line-height: 1.5 !important;
    font-size: 13px !important;
}

.wc-block-components-product-metadata__description p {
    margin: 0 !important;
}

/* Quantity y Remove */
.wc-block-cart-item__quantity {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    flex-wrap: wrap !important;
}

/* ===================================
   QUANTITY SELECTOR
   =================================== */

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 149, 0, 0.1) !important;
    border: 2px solid #ff9500 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3:hover {
    background: rgba(255, 149, 0, 0.15) !important;
    border-color: #ffaa33 !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3:focus-within {
    border-color: #ffaa33 !important;
    box-shadow: 0 0 0 4px rgba(255, 149, 0, 0.25) !important;
    background: rgba(255, 149, 0, 0.15) !important;
}

/* Input */
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__input {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 36px !important;
    background: transparent !important;
    color: #ff9500 !important;
    border: none !important;
    border-left: 1px solid rgba(255, 149, 0, 0.25) !important;
    border-right: 1px solid rgba(255, 149, 0, 0.25) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    order: 2 !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__input::-webkit-outer-spin-button,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__input:focus {
    color: #ffaa33 !important;
    background: rgba(255, 149, 0, 0.05) !important;
    outline: 2px solid #ffaa33 !important;
    outline-offset: -2px !important;
    z-index: 1 !important;
}

/* Botones */
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    background: rgba(255, 149, 0, 0.2) !important;
    color: #ff9500 !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    place-items:center !important;
    line-height: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button:hover:not(:disabled) {
    background: #ff9500 !important;
    color: #0d4d4d !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button:active:not(:disabled) {
    background: #ff8400 !important;
    color: #0d4d4d !important;
    transform: scale(0.95) !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button:disabled,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button[disabled] {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
    background: rgba(255, 149, 0, 0.1) !important;
    color: rgba(255, 149, 0, 0.5) !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button:focus {
    outline: 2px solid #ffaa33 !important;
    outline-offset: -2px !important;
    z-index: 1 !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button--minus {
    order: 1 !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button--plus {
    order: 3 !important;
}

@-moz-document url-prefix() {
    .wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__input {
        -moz-appearance: textfield !important;
    }
}

/* Botón Remove */
.wc-block-cart-item__remove-link {
    background: transparent !important;
    border: 2px solid #ff9500 !important;
    color: #ff9500 !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
}

.wc-block-cart-item__remove-link:hover {
    background: #ff9500 !important;
    color: #0d4d4d !important;
    box-shadow: 0 4px 12px rgba(255, 149, 0, 0.4) !important;
    transform: translateY(-1px) !important;
}

/* ===================================
   SIDEBAR - CART TOTALS
   =================================== */

.wc-block-components-sidebar {
    background: linear-gradient(135deg, #0d4d4d 0%, #0a3d3d 100%) !important;
    border: 2px solid #1a5f5f !important;
    border-radius: 18px !important;
    padding: 26px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35) !important;
}

.wc-block-cart__totals-title {
    color: #ff9500 !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 22px 0 !important;
    padding-bottom: 14px !important;
    border-bottom: 2px solid rgba(255, 149, 0, 0.25) !important;
}

/* Panel de Cupones */
.wc-block-components-totals-coupon {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 2px solid #1a5f5f !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 0px !important;
    transition: all 0.3s ease !important;
}

.wc-block-components-totals-coupon:hover {
    border-color: rgba(255, 149, 0, 0.35) !important;
    background: rgba(255, 255, 255, 0.06) !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel {
    margin: 0px !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
    padding: 14px 18px !important;
}

.wc-block-components-panel__button {
    background: transparent !important;
    color: #ff9500 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

.wc-block-components-panel__button:hover {
    background: rgba(255, 149, 0, 0.12) !important;
}

.wc-block-components-panel__button-icon {
    fill: #ff9500 !important;
    transition: transform 0.3s ease !important;
}

.wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon {
    transform: rotate(180deg) !important;
}

/* Formulario de Cupones */
.wc-block-components-totals-coupon__content {
    padding: 16px !important;
}

.wc-block-components-totals-coupon__form {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
}

.wc-block-components-text-input.wc-block-components-totals-coupon__input {
    flex: 1 !important;
    position: relative !important;
}

.wc-block-components-totals-coupon__input input[type="text"] {
    width: 100% !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid rgba(26, 95, 95, 0.3) !important;
    border-radius: 8px !important;
    padding: 14px 12px 6px 12px !important;
    color: #0d4d4d !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.wc-block-components-totals-coupon__input input[type="text"]::placeholder {
    opacity: 0 !important;
}

.wc-block-components-totals-coupon__input input[type="text"]:focus {
    border-color: #ff9500 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(255, 149, 0, 0.15) !important;
}

.wc-block-components-totals-coupon__input input[type="text"]:not(:placeholder-shown) {
    border-color: rgba(255, 149, 0, 0.5) !important;
}

.wc-block-components-totals-coupon__input label {
    color: #ff9500 !important;
    position: absolute !important;
    top: 14px !important;
    left: 12px !important;
    color: rgba(13, 77, 77, 0.6) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    pointer-events: none !important;
    background: transparent !important;
}

.wc-block-components-totals-coupon__input input[type="text"]:focus + label,
.wc-block-components-totals-coupon__input input[type="text"]:not(:placeholder-shown) + label {
    top: 14px !important;
    font-size: 11px !important;
    color: #ff950066 !important;
    font-weight: 600 !important;
}

.wc-block-components-totals-coupon__button {
    background: #ff9500 !important;
    color: #0d4d4d !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 8px rgba(255, 149, 0, 0.3) !important;
    min-height: 48px !important;
}

.wc-block-components-totals-coupon__button:hover:not(:disabled) {
    background: #ffaa33 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(255, 149, 0, 0.4) !important;
}

.wc-block-components-totals-coupon__button:active:not(:disabled) {
    transform: translateY(-2px) !important;
    box-shadow: 0 2px 8px rgba(255, 149, 0, 0.3) !important;
}

.wc-block-components-totals-coupon__button:disabled,
.wc-block-components-totals-coupon__button[aria-disabled="true"] {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    background: rgba(255, 149, 0, 0.5) !important;
    box-shadow: none !important;
    pointer-events: auto !important;
}

.wc-block-components-totals-coupon__button .wc-block-components-button__text {
    color: #0d4d4d !important;
}

@media (max-width: 480px) {
    .wc-block-components-totals-coupon__form {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .wc-block-components-totals-coupon__button {
        width: 100% !important;
    }
}

/* Totales Items */
.wc-block-components-totals-wrapper {
    margin-bottom: 0 !important;
}

.wc-block-components-totals-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.wc-block-components-totals-item__label {
    color: #8fb3b3 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.wc-block-components-totals-item__value {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 17px !important;
}

/* Total Final */
.wc-block-components-totals-footer-item {
    border-top: 3px solid rgba(255, 149, 0, 0.4) !important;
    border-bottom: none !important;
    padding: 18px 0 0 0 !important;
    margin-top: 16px !important;
    position: relative !important;
}

.wc-block-components-totals-footer-item::before {
    content: '' !important;
    position: absolute !important;
    top: -3px !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, #ff9500 15%, #ff9500 85%, transparent) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: #ffffff !important;
    font-size: 16px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #ffffff !important;
    font-size: 26px !important;
}

/* Botón Checkout */
.wc-block-cart__submit-container {
    margin-top: 22px !important;
}

.wc-block-cart__submit-button {
    width: 100% !important;
    background: linear-gradient(135deg, #ff9500 0%, #ff8400 100%) !important;
    color: #0d4d4d !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 18px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 6px 24px rgba(255, 149, 0, 0.5) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    display: block !important;
    text-align: center !important;
}

.wc-block-cart__submit-button:hover {
    background: linear-gradient(135deg, #ffaa33 0%, #ff9500 100%) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 40px rgba(255, 149, 0, 0.65) !important;
}

.wc-block-cart__submit-button .wc-block-components-button__text {
    color: #0d4d4d !important;
}

/* Utilidades 
.wc-block-formatted-money-amount,
.wc-block-components-formatted-money-amount {
    color: inherit !important;
}
*/

.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    clip: rect(0, 0, 0, 0) !important;
    overflow: hidden !important;
}

/* ===================================
   LOADING STATES - WOOCOMMERCE BLOCKS
   Corregido para evitar conflictos
   =================================== */

/* Animación de spinner reutilizable */
@keyframes wc-cart-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes wc-cart-fade-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

@keyframes wc-cart-skeleton {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

@keyframes wc-cart-slide-out {
    0% {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateX(-20px) scale(0.95);
    }
}

/* Overlay de loading general del cart */
.wc-block-cart .wc-block-components-spinner {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(13, 77, 77, 0.85) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 100 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: inherit !important;
}

.wc-block-cart .wc-block-components-spinner::before {
    content: '' !important;
    width: 50px !important;
    height: 50px !important;
    border: 4px solid rgba(255, 149, 0, 0.2) !important;
    border-top-color: #ff9500 !important;
    border-radius: 50% !important;
    animation: wc-cart-spin 0.8s linear infinite !important;
}

/* Loading overlay específico para la tabla de productos 
.wc-block-cart-items.is-loading {
    position: relative !important;
}

.wc-block-cart-items.is-loading > tbody{ position: relative !important; }

.wc-block-cart-items.is-loading > tbody::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(13, 77, 77, 0.7) !important;
    backdrop-filter: blur(3px) !important;
    border-radius: 12px !important;
    z-index: 50 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}*/

/* Loading en productos individuales - Usando opacity para no conflictuar */
.wc-block-cart-items__row.is-loading,
.wc-block-cart-items__row[aria-busy="true"] {
    position: relative !important;
    pointer-events: none !important;
    opacity: 0.6 !important;
    transition: opacity 0.3s ease !important;
}

/* Estados alternos de Woo Blocks */
.wc-block-cart-items__row.is-busy,
.wc-block-cart-items__row[aria-busy="true"]{
  position: relative !important;
  pointer-events: none !important;
  opacity: .6 !important;
  transition: opacity .3s ease !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3.is-busy,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3[aria-busy="true"]{
  pointer-events: none !important;
  opacity: .5 !important;
  position: relative !important;
}

/* Asegura layout estable durante carga */
.wc-block-cart-items__row.is-loading,
.wc-block-cart-items__row.is-busy{
  min-height: 180px !important;
}


/* Spinner para row individual - Usando un wrapper interno */
.wc-block-cart-items__row.is-loading .wc-block-cart-item__wrap::after,
.wc-block-cart-items__row[aria-busy="true"] .wc-block-cart-item__wrap::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 30px !important;
    height: 30px !important;
    border: 3px solid rgba(255, 149, 0, 0.2) !important;
    border-top-color: #ff9500 !important;
    border-radius: 50% !important;
    animation: wc-cart-spin 0.6s linear infinite !important;
    z-index: 20 !important;
}

/* Loading en quantity .elementor-60 .elementor-element.elementor-element-89d03d3 */
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3.is-loading,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3[aria-busy="true"] {
    pointer-events: none !important;
    opacity: 0.5 !important;
    position: relative !important;
}

.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3.is-loading::after,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3[aria-busy="true"]::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid rgba(255, 149, 0, 0.2) !important;
    border-top-color: #ff9500 !important;
    border-radius: 50% !important;
    animation: wc-cart-spin 0.6s linear infinite !important;
    z-index: 5 !important;
}

/* Loading en botones - Más específico */
.wc-block-components-totals-coupon__button.is-loading,
.wc-block-components-totals-coupon__button[disabled].is-loading,
button.wc-block-components-button.is-loading {
    position: relative !important;
    pointer-events: none !important;
    opacity: 0.7 !important;
}

.wc-block-components-totals-coupon__button.is-loading .wc-block-components-button__text,
button.wc-block-components-button.is-loading .wc-block-components-button__text {
    opacity: 0.3 !important;
}

.wc-block-components-totals-coupon__button.is-loading::before,
button.wc-block-components-button.is-loading::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid rgba(13, 77, 77, 0.3) !important;
    border-top-color: #0d4d4d !important;
    border-radius: 50% !important;
    animation: wc-cart-spin 0.6s linear infinite !important;
    z-index: 1 !important;
}

/* Loading en checkout button */
.wc-block-cart__submit-button.is-loading,
.wc-block-cart__submit-button[aria-busy="true"] {
    position: relative !important;
    pointer-events: none !important;
    opacity: 0.7 !important;
}

.wc-block-cart__submit-button.is-loading .wc-block-components-button__text,
.wc-block-cart__submit-button[aria-busy="true"] .wc-block-components-button__text {
    opacity: 0.3 !important;
}

.wc-block-cart__submit-button.is-loading::before,
.wc-block-cart__submit-button[aria-busy="true"]::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 24px !important;
    height: 24px !important;
    border: 3px solid rgba(13, 77, 77, 0.3) !important;
    border-top-color: #0d4d4d !important;
    border-radius: 50% !important;
    animation: wc-cart-spin 0.6s linear infinite !important;
    z-index: 1 !important;
}

/* Loading en sidebar totals */
.wc-block-components-sidebar.is-loading,
.wc-block-components-sidebar[aria-busy="true"] {
    position: relative !important;
    pointer-events: none !important;
}

.wc-block-components-sidebar.is-loading > *:not(.wc-block-components-spinner),
.wc-block-components-sidebar[aria-busy="true"] > *:not(.wc-block-components-spinner) {
    opacity: 0.4 !important;
}

/* Skeleton loading para totales */
.wc-block-components-totals-item.is-loading .wc-block-components-totals-item__value,
.wc-block-components-totals-item[aria-busy="true"] .wc-block-components-totals-item__value {
    position: relative !important;
    overflow: hidden !important;
}

.wc-block-components-totals-item.is-loading .wc-block-components-totals-item__value::before,
.wc-block-components-totals-item[aria-busy="true"] .wc-block-components-totals-item__value::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(
        90deg,
        rgba(255, 149, 0, 0.1) 0%,
        rgba(255, 149, 0, 0.25) 50%,
        rgba(255, 149, 0, 0.1) 100%
    ) !important;
    background-size: 200% 100% !important;
    animation: wc-cart-skeleton 1.5s ease-in-out infinite !important;
    border-radius: 4px !important;
}

/* Animación de actualización suave */
.wc-block-cart-items__row.updating,
.wc-block-components-totals-item.updating {
    animation: wc-cart-fade-pulse 0.5s ease-in-out !important;
}

/* Transición al remover items */
.wc-block-cart-items__row.removing {
    animation: wc-cart-slide-out 0.4s ease-out forwards !important;
    pointer-events: none !important;
}

/* Loading en imagen del producto */
.wc-block-cart-item__image.is-loading {
    position: relative !important;
    overflow: hidden !important;
}

.wc-block-cart-item__image.is-loading img {
    opacity: 0.3 !important;
}

.wc-block-cart-item__image.is-loading::after {
    content: '' !important;
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    background: linear-gradient(
        90deg,
        rgba(255, 149, 0, 0.1) 0%,
        rgba(255, 149, 0, 0.2) 50%,
        rgba(255, 149, 0, 0.1) 100%
    ) !important;
    background-size: 200% 100% !important;
    animation: wc-cart-skeleton 1.5s ease-in-out infinite !important;
    border-radius: 12px !important;
    z-index: 1 !important;
}

/* Procesando cupón */
.wc-block-components-totals-coupon.is-loading,
.wc-block-components-totals-coupon[aria-busy="true"] {
    pointer-events: none !important;
    opacity: 0.7 !important;
}

/* Estado disabled mejorado */
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3__button:disabled {
    position: relative !important;
    cursor: not-allowed !important;
}

/* Loading en formulario de cupón completo */
.wc-block-components-totals-coupon__form.is-loading {
    pointer-events: none !important;
    opacity: 0.6 !important;
}

/* Prevenir múltiples clicks durante loading */
button.is-loading,
button[aria-busy="true"],
a.is-loading {
    pointer-events: none !important;
}

/* Mejora de performance - Usar will-change en animaciones */
.wc-block-components-spinner::before,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3.is-loading::after,
button.is-loading::before {
    will-change: transform !important;
}

/* Accesibilidad - Mantener contraste mínimo */
.is-loading,
[aria-busy="true"] {
    min-opacity: 0.5 !important;
}

.wc-block-components-totals-coupon__button:active:not(:hover) {
    padding: 14px 18px !important;
}
.wc-block-components-totals-coupon__button:focus:not(:hover) {
    padding: 14px 18px !important;
}

.wc-block-components-panel__button:not(:hover){padding: 14px 18px !important;}
.wc-block-components-panel__button:focus:not(:hover){padding: 14px 18px !important;}
.wc-block-components-panel__button:active:not(:hover){padding: 14px 18px !important;}

.wp-block-woocommerce-cart-items-block > table > tbody > tr {
    display: flex !important;
    position: relative !important; /* NUEVO */
}

.wp-block-woocommerce-cart-items-block > table > tbody > tr > td.wc-block-cart-item__image{
    width: fit-content !important
}
.wp-block-woocommerce-cart-items-block > table > tbody > tr > td.wc-block-cart-item__product{
    width: 100% !important
}
.wp-block-woocommerce-cart-items-block > table > tbody > tr > td.wc-block-cart-item__total{
    width: fit-content !important
}
.wc-block-cart-item__total{
    position: absolute !important;
    top: 20px;
    right: 20px;
}


@media (min-width:481px){
.wc-block-components-product-name{
    max-width: 65% !important;
}
}
@media (max-width:480px){
    .wc-block-cart-item__total{
    position: absolute !important;
    top:auto !important;
    right:auto !important;
    bottom: 20px;
    left: 20px;
    }
}

.wc-block-components-validation-error{
    color: white !important;
}

/* Oculta el spinner nativo cuando uso mis spinners personalizados */
.wc-block-cart-items__row.is-loading .wc-block-components-spinner,
.wc-block-cart-items__row.is-busy .wc-block-components-spinner,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3.is-loading .wc-block-components-spinner,
.wc-block-components-quantity-.elementor-60 .elementor-element.elementor-element-89d03d3.is-busy .wc-block-components-spinner,
.wc-block-cart__submit-button.is-loading .wc-block-components-spinner,
.wc-block-cart__submit-button[aria-busy="true"] .wc-block-components-spinner{
  display: none !important;
}


/* ===================================
   SKELETON PLACEHOLDERS - FIX
   =================================== */

/* Identificar skeletons - WooCommerce usa aria-hidden="true" o clases específicas */
.wc-block-cart-items__row[aria-hidden="true"],
.wc-block-cart-items__row.is-placeholder,
.wc-block-cart-items__row:not(:has(.wc-block-cart-item__image img)) {
    min-height: 260px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Skeleton shimmer effect */
.wc-block-cart-items__row[aria-hidden="true"]::after,
.wc-block-cart-items__row.is-placeholder::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 149, 0, 0.15) 50%,
        transparent 100%
    ) !important;
    animation: skeleton-shimmer 2s ease-in-out infinite !important;
    z-index: 1 !important;
}

@keyframes skeleton-shimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}

/* Ocultar contenido real en skeletons */
.wc-block-cart-items__row[aria-hidden="true"] > *,
.wc-block-cart-items__row.is-placeholder > * {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Crear estructura visual del skeleton */
.wc-block-cart-items__row[aria-hidden="true"]::before,
.wc-block-cart-items__row.is-placeholder::before {
    content: '' !important;
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    width: 144px !important;
    height: 144px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    z-index: 0 !important;
}

/* Líneas de skeleton para simular contenido */
.wc-block-cart-items__row[aria-hidden="true"],
.wc-block-cart-items__row.is-placeholder {
    background-image: 
        /* Título del producto */
        linear-gradient(rgba(255, 149, 0, 0.15), rgba(255, 149, 0, 0.15)),
        /* Precio */
        linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)),
        /* Descripción línea 1 */
        linear-gradient(rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.06)),
        /* Descripción línea 2 */
        linear-gradient(rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.06)),
        /* Quantity .elementor-60 .elementor-element.elementor-element-89d03d3 */
        linear-gradient(rgba(255, 149, 0, 0.1), rgba(255, 149, 0, 0.1)),
        /* Botón remove */
        linear-gradient(rgba(255, 149, 0, 0.1), rgba(255, 149, 0, 0.1)),
        /* Total */
        linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12)),
        /* Gradiente base */
        linear-gradient(135deg, #0d4d4d 0%, #0a3d3d 100%)
    !important;
    background-repeat: no-repeat !important;
    background-position:
        /* Título */
        188px 28px,
        /* Precio */
        188px 60px,
        /* Descripción 1 */
        188px 96px,
        /* Descripción 2 */
        188px 118px,
        /* Quantity */
        188px 142px,
        /* Remove */
        338px 142px,
        /* Total */
        calc(100% - 140px) 28px,
        /* Base */
        0 0
    !important;
    background-size:
        /* Título */
        55% 24px,
        /* Precio */
        120px 24px,
        /* Descripción 1 */
        75% 14px,
        /* Descripción 2 */
        65% 14px,
        /* Quantity */
        140px 36px,
        /* Remove */
        90px 36px,
        /* Total */
        100px 32px,
        /* Base */
        100% 100%
    !important;
}

/* Skeleton para sidebar totals */
.wc-block-components-totals-item[aria-hidden="true"],
.wc-block-components-totals-item.is-placeholder {
    position: relative !important;
    overflow: hidden !important;
}

.wc-block-components-totals-item[aria-hidden="true"]::after,
.wc-block-components-totals-item.is-placeholder::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 149, 0, 0.15) 50%,
        transparent 100%
    ) !important;
    animation: skeleton-shimmer 2s ease-in-out infinite !important;
}

.wc-block-components-totals-item[aria-hidden="true"] .wc-block-components-totals-item__label,
.wc-block-components-totals-item[aria-hidden="true"] .wc-block-components-totals-item__value {
    background: rgba(255, 149, 0, 0.1) !important;
    color: transparent !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

/* Responsive */
@media (max-width: 480px) {
    .wc-block-cart-items__row[aria-hidden="true"],
    .wc-block-cart-items__row.is-placeholder {
        background-position:
            188px 28px,
            188px 60px,
            188px 96px,
            188px 118px,
            20px 250px,
            180px 250px,
            20px 210px,
            0 0
        !important;
        min-height: 300px !important;
    }
}

/*.wc-block-cart-items.is-loading > tbody {
  display: block !important;
  position: relative !important;
  min-height: 260px !important;  asegura área para el loader
}

.wc-block-cart-items.is-loading > tbody::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  z-index: 60 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
} */

/*.wc-block-cart-items.is-loading > tbody::before {
  
  width: 42px !important;
  height: 42px !important;
  border: 3px solid rgba(255,149,0,.25) !important;
  border-top-color: #ff9500 !important;
  border-radius: 50% !important;
  animation: wc-cart-spin .8s linear infinite !important;
  margin: auto !important;  centra dentro de ::before 
}
*/
/* ===== Scroll personalizado SOLO para el <tbody> del Cart ===== */
.wc-block-cart-items tbody {
  max-height: min(82.5vh) !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;

  /* Firefox */
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255, 149, 0, 0.3) rgba(255, 255, 255, 0.05) !important;

  /* Suavidad y control */
  overscroll-behavior: auto !important;
  scroll-behavior: smooth !important;
}

/* WebKit */
.wc-block-cart-items tbody::-webkit-scrollbar {
  width: 8px !important;
}
.wc-block-cart-items tbody::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 3px !important;
}
.wc-block-cart-items tbody::-webkit-scrollbar-thumb {
  background: rgba(255, 149, 0, 0.3) !important;
  border-radius: 3px !important;
}
.wc-block-cart-items tbody::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 149, 0, 0.5) !important;
}
/* ===============================
   EMPTY CART / "New in store" – match theme
   =============================== */

/* Contenedor principal del bloque vacío */
.wp-block-woocommerce-empty-cart-block{
  background: linear-gradient(135deg,#0d4d4d 0%,#0a3d3d 100%) !important;
  border: 2px solid #1a5f5f !important;
  border-radius: 18px !important;
  padding: 28px 22px !important;
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.35) !important;
}

/* Título “Your cart is currently empty!” con ícono ya presente */
.wc-block-cart__empty-cart__title{
  color: #ff9500 !important;
  font-weight: 800 !important;
  font-size: clamp(20px,2.6vw,28px) !important;
  letter-spacing: .5px !important;
  margin: 0 0 12px 0 !important;
  text-transform: none !important;
}

/* Separador punteado */
.wp-block-separator.is-style-dots{
  border: none !important;
  background: repeating-linear-gradient(
    90deg,
    rgba(255,149,0,.35) 0 6px,
    transparent 6px 14px
  ) !important;
  height: 2px !important;
  opacity: 1 !important;
  margin: 12px auto 18px !important;
  max-width: 320px !important;
}

/* Subtítulo “New in store” */
.wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center:not(.wc-block-cart__empty-cart__title){
  color: #8fb3b3 !important;
  font-weight: 700 !important;
  letter-spacing: .5px !important;
  margin: 8px 0 18px !important;
  text-transform: uppercase !important;
  font-size: 15px !important;
}

/* ===============================
   Product Grid (wp-block-product-new)
   =============================== */

.wp-block-woocommerce-product-new.wc-block-product-new{
  --cards-gap: 14px;
  --card-radius: 14px;
  --card-border: 2px solid #1a5f5f;
  margin: 0 !important;
}

.wc-block-grid__products{
  gap: var(--cards-gap) !important;
}

/* Tarjeta */
.wc-block-grid__product{
  background: linear-gradient(135deg,#0f5757 0%,#0b4646 100%) !important;
  border: var(--card-border) !important;
  border-radius: var(--card-radius) !important;
  padding: 14px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.25) !important;
  transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s !important;
}

.wc-block-grid__product:hover{
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(255,149,0,.28) !important;
  border-color: #ff9500 !important;
}

/* Borde izquierdo animado */
.wc-block-grid__product::before{
  content:''; position:absolute; inset:0 0 0 auto; width:4px;
  background: linear-gradient(180deg,#ff9500 0%,#ff6b00 100%);
  transform: scaleY(0); transform-origin: top; transition: transform .25s;
  right:auto; left:0;
}
.wc-block-grid__product:hover::before{ transform: scaleY(1); }

/* Imagen */
.wc-block-grid__product-image{
  background: rgba(255,255,255,.06) !important;
  border: 2px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  padding: 8px !important;
  overflow: hidden !important;
}
.wc-block-grid__product-image img{
  display:block !important;
  width:100% !important; height:auto !important;
  transition: transform .25s ease !important;
}
.wc-block-grid__product:hover .wc-block-grid__product-image img{
  transform: scale(1.04) !important;
}

/* Badge "Sale" */
.wc-block-grid__product-onsale{
  position:absolute !important; top:12px; left:12px;
  background: linear-gradient(135deg, rgba(255,149,0,.25), rgba(255,149,0,.15)) !important;
  color:#ff9500 !important; border:1px solid rgba(255,149,0,.5) !important;
  padding:4px 10px !important; border-radius: 999px !important;
  font-size: 11px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing:.5px !important;
}

/* Título producto */
.wc-block-grid__product-title{
  color:#ff9500 !important;
  font-weight:800 !important;
  font-size:16px !important;
  margin:10px 0 6px !important;
  line-height:1.25 !important;
  min-height: 2.4em; /* 2 líneas, estabiliza altura */
}

/* Precio */
.wc-block-grid__product .price{
  display:flex !important; align-items:center !important; gap:10px !important;
  margin: 4px 0 10px !important;
}
.wc-block-grid__product .price ins .woocommerce-Price-amount{ color:#fff !important; font-weight:800 !important; font-size:18px !important; }
.wc-block-grid__product .price del{
  opacity:.6 !important; color:#fff !important; font-weight:600 !important; font-size:14px !important;
}

/* Botón Add to cart */
.wc-block-grid__product-add-to-cart .wp-block-button__link{
  width:100% !important;
  background: linear-gradient(135deg,#ff9500 0%, #ff8400 100%) !important;
  color:#0d4d4d !important; border:none !important; border-radius:10px !important;
  padding:12px 14px !important; font-weight:800 !important; font-size:13px !important;
  text-transform: uppercase !important; letter-spacing:.6px !important;
  box-shadow: 0 6px 18px rgba(255,149,0,.35) !important;
  transition: transform .2s, box-shadow .2s, filter .2s !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(255,149,0,.5) !important;
  filter: brightness(1.05) !important;
}

/* Desktop: 4 columnas forzadas */
.wp-block-woocommerce-product-new.wc-block-product-new .wc-block-grid__products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  grid-auto-rows: auto !important;
  grid-auto-flow: row dense !important;
  gap: var(--cards-gap) !important; /* ya definido arriba */
}

/* Evita el width calc heredado de Woo */
.wp-block-woocommerce-product-new.wc-block-product-new .wc-block-grid__products .wc-block-grid__product{
  width: auto !important;
  max-width: none !important;
  flex: initial !important;
}

/* Sigue igual para responsive */
@media (max-width:1024px){
  .wc-block-grid__products{ grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width:768px){
  .wc-block-grid__products{ grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width:480px){
  .wc-block-grid__products{ grid-template-columns: 1fr !important; }
}


/* Accesibilidad menor */
.wp-block-woocommerce-empty-cart-block .screen-reader-text{ position:absolute !important; width:1px !important; height:1px !important; clip:rect(0,0,0,0) !important; overflow:hidden !important; }

.wc-block-grid__product-price{
        color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 20px !important;
}

@media (max-width:730px){.wp-block-woocommerce-cart-totals-block{
    margin-top: 16px;
}}


/* ===================================
   PLACEHOLDERS INTEGRADOS AL DISEÑO
   (versión robusta y compatible)
   =================================== */

/* Estados de fila en placeholder */
.wc-block-cart-items__row[aria-label^="Loading"],
.wc-block-cart-items__row[aria-hidden="true"],
.wc-block-cart-items__row.is-placeholder {
  position: relative !important;         /* base para overlays */
  z-index: 0 !important;                  /* capa de referencia */
  pointer-events: none !important;        /* no interactivo mientras carga */
}

/* Capa visual (fondo, borde, sombra) sin romper tablas:
   usamos ::before como overlay absoluto sobre la fila */
.wc-block-cart-items__row[aria-label^="Loading"]::before,
.wc-block-cart-items__row[aria-hidden="true"]::before,
.wc-block-cart-items__row.is-placeholder::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #0d4d4d 0%, #0a3d3d 100%) !important;
  border: 2px solid rgba(255, 149, 0, 0.25) !important;
  box-shadow: inset 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  overflow: hidden !important;
  z-index: 0 !important;                  /* debajo del spinner y glow */
  animation: wc-cart-fade-pulse 1.2s ease-in-out infinite !important;
}

/* Glow animado en borde izquierdo:
   lo anclamos al primer hijo para compatibilidad con filas <tr>/<div> */
.wc-block-cart-items__row[aria-label^="Loading"] > *:first-child,
.wc-block-cart-items__row[aria-hidden="true"] > *:first-child,
.wc-block-cart-items__row.is-placeholder > *:first-child {
  position: relative !important;          /* contenedor del glow */
}

.wc-block-cart-items__row[aria-label^="Loading"] > *:first-child::before,
.wc-block-cart-items__row[aria-hidden="true"] > *:first-child::before,
.wc-block-cart-items__row.is-placeholder > *:first-child::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: linear-gradient(180deg, #ff9500 0%, #ff6b00 100%) !important;
  opacity: 0.6 !important;
  z-index: 1 !important;                  /* encima del overlay de fondo */
  animation: wc-cart-fade-pulse 1.5s ease-in-out infinite !important;
  pointer-events: none !important;
}

/* Spinner centrado (donut):
   usamos ::after en la fila; la animación incluye translate + rotate */
.wc-block-cart-items__row[aria-label^="Loading"]::after,
.wc-block-cart-items__row[aria-hidden="true"]::after,
.wc-block-cart-items__row.is-placeholder::after {
  content: '' !important;
  display: block !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 3px solid rgba(255, 149, 0, 0.22) !important;  /* aro claro */
  border-right-color: transparent !important;            /* “hueco” */
  border-top-color: #ff9500 !important;                  /* sector visible */
  z-index: 2 !important;                                 /* encima de todo */
  mix-blend-mode: normal !important;
  animation: wc-cart-spin .8s linear infinite !important;
  pointer-events: none !important;
}

/* Fondo con gradiente pulsante en el contenedor de items
   (soporta tabla <tbody> y contenedor .wc-block-cart-items) */
@supports .elementor-60 .elementor-element.elementor-element-89d03d3(:has(*)) {
  /* Caso tabla: aplicar al tbody cuando tenga filas en loading */
  .wc-block-cart-items tbody:has(> tr[aria-label^="Loading"]),
  .wc-block-cart-items tbody:has(> tr[aria-hidden="true"]),
  .wc-block-cart-items tbody:has(> tr.is-placeholder) {
    position: relative !important;
  }
  .wc-block-cart-items tbody:has(> tr[aria-label^="Loading"])::before,
  .wc-block-cart-items tbody:has(> tr[aria-hidden="true"])::before,
  .wc-block-cart-items tbody:has(> tr.is-placeholder)::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at center, rgba(13, 77, 77, 0.8), rgba(10, 61, 61, 0.95)) !important;
    border-radius: 16px !important;
    z-index: 0 !important;
    animation: wc-cart-fade-pulse 1.8s ease-in-out infinite !important;
    pointer-events: none !important;
  }

  /* Caso layout por bloques (no tabla): aplicar al contenedor principal */
  .wc-block-cart-items:has(.wc-block-cart-items__row[aria-label^="Loading"]),
  .wc-block-cart-items:has(.wc-block-cart-items__row[aria-hidden="true"]),
  .wc-block-cart-items:has(.wc-block-cart-items__row.is-placeholder) {
    position: relative !important;
  }
  .wc-block-cart-items:has(.wc-block-cart-items__row[aria-label^="Loading"])::before,
  .wc-block-cart-items:has(.wc-block-cart-items__row[aria-hidden="true"])::before,
  .wc-block-cart-items:has(.wc-block-cart-items__row.is-placeholder)::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at center, rgba(13, 77, 77, 0.8), rgba(10, 61, 61, 0.95)) !important;
    border-radius: 16px !important;
    z-index: 0 !important;
    animation: wc-cart-fade-pulse 1.8s ease-in-out infinite !important;
    pointer-events: none !important;
  }
}

/* Animación sutil del shimmer/respiración */
@keyframes wc-cart-fade-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.75; }
}

/* Keyframes del spinner:
   incluimos translate para mantener el centrado durante la rotación */
@keyframes wc-cart-spin {
  to { transform: rotate(360deg); }
}

.wc-block-cart-item__quantity{
    flex-direction: row !important;
}/* End custom CSS */