/**
 * La Pintona - Custom Styles
 * Mobile-first, lightweight fishing store theme
 * Based on Astra Pro + WooCommerce
 */

/* === CSS Custom Properties === */
:root {
    --lp-primary: #F5821F;       /* Naranja logo — primario */
    --lp-primary-light: #F79540; /* Naranja claro — hover */
    --lp-secondary: #D94F2B;     /* Rojo-naranja logo — secundario */
    --lp-accent: #F5821F;        /* Naranja vivo (CTAs) */
    --lp-accent-hover: #E07318;  /* Naranja hover */
    --lp-dark: #1C1C1C;          /* Carbón oscuro */
    --lp-light: #F4F5F6;         /* Gris frío suave — fondo */
    --lp-white: #FFFFFF;
    --lp-text: #2A2A2A;
    --lp-text-light: #6B7280;
    --lp-text-muted: #9CA3AF;
    --lp-border: #E2E4E7;
    --lp-border-light: #ECEEF0;
    --lp-success: #16A34A;
    --lp-warning: #F59E0B;
    --lp-danger: #DC2626;
    --lp-sale: #DC2626;
    --lp-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --lp-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --lp-shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
    --lp-radius-sm: 6px;
    --lp-radius-md: 10px;
    --lp-radius-lg: 16px;
    --lp-transition: all 0.25s ease;
    --lp-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --lp-font-heading: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* === BASE & RESET === */
body {
    font-family: var(--lp-font-body);
    color: var(--lp-text);
    background-color: var(--lp-light);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === FORCE FULL-WIDTH LAYOUT (override Astra Boxed) === */
#page {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
.ast-separate-container #primary {
    max-width: 100% !important;
    padding: 0 !important;
}
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comments-area,
.ast-separate-container .ast-comment-list li {
    background: transparent !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* === TOP BAR (above header) === */
.ast-above-header-wrap,
.ast-above-header-bar {
    background: var(--lp-primary) !important;
    min-height: auto !important;
}
.ast-above-header-wrap .ast-builder-grid-row {
    min-height: 38px !important;
    align-items: center !important;
}
/* Social icons in top bar */
.ast-above-header-wrap .ast-header-social-wrap .header-social-inner-wrap {
    gap: 4px !important;
}
.ast-above-header-wrap .ast-header-social-wrap a.ast-builder-social-element {
    --color: rgba(255,255,255,0.7) !important;
    --background-color: transparent !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    transition: var(--lp-transition);
}
.ast-above-header-wrap .ast-header-social-wrap a.ast-builder-social-element:hover {
    --color: #fff !important;
    --background-color: rgba(255,255,255,0.12) !important;
}
.ast-above-header-wrap .ast-header-social-wrap svg {
    width: 13px !important;
    height: 13px !important;
}
/* Right side of above header — show topbar message */
.ast-above-header-wrap .site-header-above-section-right {
    visibility: visible;
}
.lp-topbar-msg {
    font-size: 11px;
    color: rgba(255,255,255,0.75);
    letter-spacing: 0.04em;
    font-family: var(--lp-font-body);
}
.lp-topbar-msg a {
    color: var(--lp-secondary);
    text-decoration: none;
}
.lp-topbar-msg a:hover {
    color: #fff;
}
/* Hide Astra's default placeholder text */
.ast-above-header-wrap .ast-builder-html-element p:not(.lp-topbar-msg):not(:has(span.lp-topbar-msg)) {
    display: none;
}

/* Social icons — force white fill on above header */
.ast-above-header-wrap .ast-builder-social-element .ahfb-svg-iconset svg path,
.ast-above-header-wrap .ast-builder-social-element .ahfb-svg-iconset svg rect,
.ast-above-header-wrap .ast-builder-social-element .ahfb-svg-iconset svg circle {
    fill: rgba(255,255,255,0.7) !important;
}
.ast-above-header-wrap .ast-builder-social-element:hover .ahfb-svg-iconset svg path,
.ast-above-header-wrap .ast-builder-social-element:hover .ahfb-svg-iconset svg rect,
.ast-above-header-wrap .ast-builder-social-element:hover .ahfb-svg-iconset svg circle {
    fill: #fff !important;
}

/* === HEADER (primary bar) === */
.ast-primary-header-bar,
.site-header {
    background: var(--lp-white) !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--lp-border) !important;
}
.ast-primary-header-bar .ast-builder-grid-row {
    min-height: 72px !important;
    align-items: center !important;
}

.site-title a,
.ast-site-identity .site-title a {
    color: var(--lp-primary) !important;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* ── Main navigation ── */
.main-header-menu > .menu-item > a,
.ast-nav-menu > li > a {
    color: var(--lp-text) !important;
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0 18px;
    position: relative;
    transition: color 0.2s ease;
}
/* Active underline indicator */
.main-header-menu > .menu-item > a::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 18px;
    right: 18px;
    height: 2px;
    background: var(--lp-primary);
    border-radius: 2px;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}
.main-header-menu > .menu-item > a:hover::after,
.main-header-menu > .menu-item.current-menu-item > a::after {
    transform: scaleX(1);
}
.main-header-menu > .menu-item > a:hover,
.main-header-menu > .menu-item.current-menu-item > a {
    color: var(--lp-primary) !important;
}

/* ── Submenu ── */
.main-header-menu .sub-menu,
.ast-nav-menu .sub-menu {
    background: var(--lp-white);
    border: 1px solid var(--lp-border);
    border-top: 2px solid var(--lp-primary);
    border-radius: 0 0 var(--lp-radius-sm) var(--lp-radius-sm);
    box-shadow: var(--lp-shadow-lg);
    padding: 4px 0;
    min-width: 200px;
}
.main-header-menu .sub-menu li a {
    color: var(--lp-text) !important;
    font-weight: 500;
    text-transform: none;
    font-size: 0.8125rem;
    padding: 9px 20px;
    letter-spacing: 0;
    transition: all 0.15s ease;
}
.main-header-menu .sub-menu li a:hover {
    background: var(--lp-light);
    color: var(--lp-primary) !important;
    padding-left: 24px;
}

/* ── Header icon buttons (search, cart, account) ── */
/* Common wrapper for icon buttons */
.ast-header-search,
.ast-header-woo-cart,
[data-section="section-header-account"] {
    display: flex !important;
    align-items: center !important;
}

/* Search icon button */
.ast-header-search .ast-search-icon .astra-search-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
    transition: var(--lp-transition);
}
.ast-header-search .ast-search-icon .astra-search-icon:hover {
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
}
.ast-header-search .ast-search-icon svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
}

/* Search slide-out form */
.ast-search-menu-icon.slide-search .search-form {
    background: var(--lp-white) !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: var(--lp-radius-md) !important;
    box-shadow: var(--lp-shadow-lg) !important;
    padding: 6px !important;
    right: 0 !important;
}
.ast-search-menu-icon .search-field {
    border: none !important;
    border-radius: var(--lp-radius-sm) !important;
    padding: 10px 14px !important;
    background: var(--lp-light) !important;
    font-size: 0.8125rem !important;
    font-family: var(--lp-font-body) !important;
    transition: var(--lp-transition);
}
.ast-search-menu-icon .search-field:focus {
    background: var(--lp-white) !important;
    box-shadow: inset 0 0 0 1.5px var(--lp-primary) !important;
    outline: none !important;
}
.ast-search-menu-icon .search-submit {
    background: var(--lp-primary) !important;
    border-radius: var(--lp-radius-sm) !important;
    padding: 8px 12px !important;
    border: none !important;
    cursor: pointer !important;
    transition: var(--lp-transition);
}
.ast-search-menu-icon .search-submit:hover {
    background: var(--lp-primary-light) !important;
}
.ast-search-menu-icon .search-submit svg {
    fill: var(--lp-white) !important;
    width: 14px !important;
    height: 14px !important;
}

/* Cart icon button */
.ast-site-header-cart .cart-container {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: var(--lp-light) !important;
    border: none !important;
    position: relative;
    color: var(--lp-text) !important;
    transition: var(--lp-transition);
    text-decoration: none !important;
}
.ast-site-header-cart .cart-container:hover {
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
}
/* Astra Addon cart wrap — icono de bolsa centrado en el círculo */
.ast-addon-cart-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    color: var(--lp-text) !important;
}
.ast-addon-cart-wrap .astra-icon,
.ast-addon-cart-wrap .ast-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}
.ast-addon-cart-wrap svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}
/* Eliminar el pseudo-icono que competía con el de Astra */
.ast-site-header-cart .cart-container::before {
    display: none !important;
}
/* Cart count badge */
.ast-site-header-cart .count,
.ast-site-header-cart .ast-cart-badges {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    text-align: center !important;
    border-radius: 9px !important;
    padding: 0 4px !important;
    border: 2px solid var(--lp-white) !important;
    font-family: var(--lp-font-body) !important;
    width: auto !important;
}
/* Ocultar badge cuando el carrito está vacío */
.ast-site-header-cart .count:empty,
.ast-site-header-cart .ast-count-text:empty {
    display: none !important;
}

/* Account icon button */
.ast-header-account-wrap {
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.ast-header-account-wrap .ast-header-account-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
    transition: var(--lp-transition);
}
.ast-header-account-wrap .ast-header-account-link:hover {
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
}
.ast-header-account-wrap .ast-header-account-link svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
}

/* ── Icon button spacing ── */
.site-header-primary-section-right .ast-builder-layout-element {
    margin-left: 6px !important;
}
.site-header-primary-section-right .ast-builder-layout-element:first-child {
    margin-left: 0 !important;
}

/* ── Mobile header ── */
/* Hamburger button */
.ast-mobile-header-wrap .menu-toggle.ast-mobile-menu-trigger-minimal {
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: var(--lp-transition);
}
.ast-mobile-header-wrap .menu-toggle.ast-mobile-menu-trigger-minimal:hover,
.ast-mobile-header-wrap .menu-toggle.ast-mobile-menu-trigger-minimal:active {
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
}
.ast-mobile-header-wrap .menu-toggle .ast-mobile-svg {
    fill: currentColor !important;
    width: 20px !important;
    height: 20px !important;
}
/* Mobile cart — same circular style */
.ast-mobile-header-wrap .ast-header-woo-cart .cart-container {
    width: 40px !important;
    height: 40px !important;
}
/* Mobile header bar */
.ast-mobile-header-bar {
    border-bottom: 1px solid var(--lp-border) !important;
    box-shadow: none !important;
}
/* Mobile menu panel */
.ast-mobile-popup-content .main-header-menu,
.ast-mobile-header-content .main-header-menu {
    padding: 8px 0 !important;
    border-top: none !important;
}
.ast-mobile-popup-content .main-header-menu .menu-item > a,
.ast-mobile-header-content .main-header-menu .menu-item > a {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    padding: 12px 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
}
.ast-mobile-popup-content .main-header-menu .menu-item > a:hover,
.ast-mobile-header-content .main-header-menu .menu-item > a:hover {
    color: var(--lp-primary) !important;
    background: var(--lp-light) !important;
}
/* Mobile search field */
.ast-mobile-header-content .ast-search-menu-icon .search-form {
    border: 1px solid var(--lp-border) !important;
    border-radius: var(--lp-radius-md) !important;
    overflow: hidden;
    background: var(--lp-light) !important;
}
.ast-mobile-header-content .ast-search-menu-icon .search-field {
    border: none !important;
    background: var(--lp-light) !important;
    font-size: 0.8125rem !important;
    padding: 12px 14px !important;
}
.ast-mobile-header-content .ast-search-menu-icon .search-submit {
    background: var(--lp-primary) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 12px 16px !important;
}
.ast-mobile-header-content .ast-search-menu-icon .search-submit svg {
    fill: var(--lp-white) !important;
}

/* === BUTTONS === */
.button:not(.lp-pill),
button:not(.lp-pill),
input[type="submit"],
.wp-block-button__link,
.elementor-button,
.ast-button {
    background: var(--lp-accent) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: var(--lp-radius-sm) !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.875rem;
    padding: 12px 28px;
    transition: var(--lp-transition);
    cursor: pointer;
}

.button:not(.lp-pill):hover,
button:not(.lp-pill):hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
.ast-button:hover {
    background: var(--lp-accent-hover) !important;
    transform: translateY(-1px);
    box-shadow: var(--lp-shadow-md);
}

/* Secondary button */
.button.alt,
.button--secondary,
.checkout-button {
    background: var(--lp-primary) !important;
}

.button.alt:hover,
.button--secondary:hover,
.checkout-button:hover {
    background: var(--lp-primary-light) !important;
}

/* === WOOCOMMERCE PRODUCT CARDS === */
.woocommerce ul.products li.product,
.wc-block-grid__product {
    background: var(--lp-white);
    border-radius: var(--lp-radius-md);
    overflow: hidden;
    box-shadow: var(--lp-shadow-sm);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
    border: 1px solid var(--lp-border-light);
    padding: 0 !important;
    margin-bottom: 24px;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: var(--lp-shadow-lg);
    border-color: var(--lp-border);
}

/* Hide Astra's on-card hover buttons (bag icon + floating add to cart) */
.ast-on-card-button,
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product a.ast-on-card-button,
.woocommerce ul.products li.product .ast-on-card-button.add_to_cart_button,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .add_to_cart_button {
    display: none !important;
    visibility: hidden !important;
}

/* Hide "Comparar" button */
.compare.button,
a.compare,
.woocommerce ul.products li.product .compare {
    display: none !important;
}

/* Product image container */
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product a img {
    border-radius: var(--lp-radius-md) var(--lp-radius-md) 0 0;
    transition: opacity 0.2s ease;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.woocommerce ul.products li.product:hover img {
    opacity: 0.92;
}

/* Summary area: flex grow to fill card height */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding-bottom: 0 !important;
    position: relative !important;
}

/* Category label — deja espacio a la derecha para las estrellas */
.woocommerce ul.products li.product .ast-woo-product-category {
    font-size: 9px !important;
    text-transform: uppercase !important;
    color: var(--c-forest-mid, #E07318) !important;
    letter-spacing: 0.08em !important;
    font-weight: 700 !important;
    padding: 10px 80px 0 14px !important;
    display: block !important;
}

/* Product info area — single line with ellipsis */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    padding: 6px 14px 4px !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.woocommerce ul.products li.product .price {
    color: var(--lp-primary) !important;
    font-weight: 800;
    font-size: 1.0625rem !important;
    padding: 4px 14px 10px !important;
    flex: 1;
}

.woocommerce ul.products li.product .price del {
    color: var(--lp-text-muted) !important;
    font-weight: 400;
    font-size: 0.8125rem;
}

.woocommerce ul.products li.product .price ins {
    color: var(--lp-sale) !important;
    text-decoration: none;
    font-weight: 800;
}

/* Star rating — alineado a la derecha en la misma fila que la categoría */
.woocommerce ul.products li.product .review-rating {
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.woocommerce ul.products li.product .star-rating {
    margin: 0 !important;
    font-size: 0.65rem !important;
    color: var(--lp-warning);
}

/* Add to cart button on product cards */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable,
.woocommerce ul.products li.product .button:not(.compare) {
    background: #111 !important;
    color: #fff !important;
    border-radius: 8px !important;
    width: calc(100% - 24px) !important;
    text-align: center !important;
    padding: 9px 16px !important;
    margin: 0 12px 12px !important;
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    display: block !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease !important;
    cursor: pointer !important;
    align-self: stretch !important;
}

.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .product_type_variable:hover,
.woocommerce ul.products li.product .button:not(.compare):hover {
    background: #E07318 !important;
    transform: none !important;
}

/* Sale badge */
.woocommerce span.onsale,
.onsale {
    background: #111 !important;
    color: var(--lp-white) !important;
    font-weight: 700;
    font-size: 0.8125rem;
    border-radius: var(--lp-radius-sm);
    padding: 4px 10px;
    line-height: 1.4;
    min-width: auto;
    min-height: auto;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
}

/* Out of stock badge */
.woocommerce ul.products li.product .lp-out-of-stock {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--lp-text-light);
    color: var(--lp-white);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: var(--lp-radius-sm);
    letter-spacing: 0.04em;
}

/* === SINGLE PRODUCT PAGE === */
.woocommerce div.product .product_title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--lp-text);
    margin-bottom: 8px;
}

.woocommerce div.product p.price {
    color: var(--lp-primary) !important;
    font-size: 1.5rem !important;
    font-weight: 800;
}

.woocommerce div.product p.price ins {
    color: var(--lp-sale) !important;
    text-decoration: none;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--lp-text-light);
    line-height: 1.7;
    margin-bottom: 24px;
}

.woocommerce div.product form.cart .button {
    background: var(--lp-accent) !important;
    padding: 14px 40px;
    font-size: 1rem;
    border-radius: var(--lp-radius-sm) !important;
}

.woocommerce div.product form.cart .quantity input {
    border: 2px solid var(--lp-border);
    border-radius: var(--lp-radius-sm);
    padding: 10px;
    width: 80px;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--lp-border);
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none;
    background: transparent;
    border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: 600;
    color: var(--lp-text-light);
    padding: 12px 20px;
    text-transform: uppercase;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom: 3px solid var(--lp-accent);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--lp-accent);
}

/* Related products */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
    font-size: 1.375rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* === SHOP PAGE SIDEBAR / FILTERS === */
.widget-area .widget,
.sidebar .widget {
    background: var(--lp-white);
    border-radius: var(--lp-radius-md);
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--lp-border-light);
}

.widget-area .widget-title,
.sidebar .widget-title {
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lp-text);
    padding-bottom: 12px;
    margin-bottom: 16px;
    border-bottom: 3px solid var(--lp-accent);
    display: inline-block;
}

/* Price filter slider */
.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: var(--lp-border);
    border-radius: 4px;
}

.widget_price_filter .ui-slider .ui-slider-range {
    background: var(--lp-accent) !important;
}

.widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--lp-accent) !important;
    border: 2px solid var(--lp-white);
    box-shadow: var(--lp-shadow-md);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    top: -5px;
}

/* Category filter list */
.woocommerce .widget_product_categories ul li,
.yith-wcan-list li {
    padding: 8px 0;
    border-bottom: 1px solid var(--lp-border-light);
    font-size: 0.875rem;
}

.woocommerce .widget_product_categories ul li a,
.yith-wcan-list li a {
    color: var(--lp-text);
    text-decoration: none;
    transition: var(--lp-transition);
}

.woocommerce .widget_product_categories ul li a:hover,
.yith-wcan-list li a:hover {
    color: var(--lp-accent);
    padding-left: 4px;
}

.woocommerce .widget_product_categories ul li .count {
    color: var(--lp-text-muted);
    font-size: 0.8125rem;
}

/* YITH Filter labels/tags */
.yith-wcan-label a,
.yith-wcan .filter-items a {
    border: 2px solid var(--lp-border) !important;
    border-radius: var(--lp-radius-sm) !important;
    padding: 6px 14px !important;
    font-size: 0.8125rem;
    color: var(--lp-text) !important;
    background: var(--lp-white) !important;
    transition: var(--lp-transition);
}

.yith-wcan-label a:hover,
.yith-wcan-label a.active,
.yith-wcan .filter-items a:hover,
.yith-wcan .filter-items a.active {
    background: var(--lp-primary) !important;
    border-color: var(--lp-primary) !important;
    color: var(--lp-white) !important;
}

/* Active filter tags */
.yith-wcan-active-filters .active-filter {
    background: var(--lp-light);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-sm);
    padding: 4px 12px;
    font-size: 0.8125rem;
}

/* === CART PAGE === */
.woocommerce-cart table.shop_table {
    border: none;
    border-radius: var(--lp-radius-md);
    overflow: hidden;
    box-shadow: var(--lp-shadow-sm);
}

.woocommerce-cart table.shop_table th {
    background: var(--lp-primary);
    color: var(--lp-white);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    padding: 14px 16px;
}

.woocommerce-cart table.shop_table td {
    padding: 16px;
    border-bottom: 1px solid var(--lp-border-light);
    vertical-align: middle;
}

.woocommerce-cart .cart_totals {
    background: var(--lp-white);
    border-radius: var(--lp-radius-md);
    padding: 24px;
    box-shadow: var(--lp-shadow-sm);
}

/* === CHECKOUT === */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-md);
    padding: 24px;
    background: var(--lp-white);
}

.woocommerce-checkout #payment {
    background: var(--lp-white);
    border-radius: var(--lp-radius-md);
    border: 1px solid var(--lp-border);
}

/* Form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border: 2px solid var(--lp-border);
    border-radius: var(--lp-radius-sm);
    padding: 10px 14px;
    transition: var(--lp-transition);
    background: var(--lp-white);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--lp-primary);
    box-shadow: 0 0 0 3px rgba(245, 130, 31, 0.1);
    outline: none;
}

/* === BREADCRUMBS === */
.woocommerce .woocommerce-breadcrumb,
.ast-breadcrumbs {
    font-size: 0.8125rem;
    color: var(--lp-text-muted);
    padding: 12px 0;
}

.woocommerce .woocommerce-breadcrumb a,
.ast-breadcrumbs a {
    color: var(--lp-text-light);
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover,
.ast-breadcrumbs a:hover {
    color: var(--lp-accent);
}

/* === PAGINATION === */
.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    align-items: center;
    gap: 2px;
}

/* Eliminar el borde del <li> que inyecta Astra (.woocommerce-js) */
.woocommerce-js nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Base: todos los items sin borde */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 6px;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #444 !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    transition: background 0.15s, color 0.15s;
}

/* Hover: fondo gris muy suave */
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #f0f0f0 !important;
    border-color: transparent !important;
    color: #111 !important;
}

/* Página activa: borde naranja de marca, sin relleno */
.woocommerce nav.woocommerce-pagination ul li span.current {
    border: 1.5px solid var(--lp-primary) !important;
    background: transparent !important;
    color: #1a1a1a !important;
    font-weight: 600;
    border-radius: 8px !important;
}

/* Puntos suspensivos */
.woocommerce nav.woocommerce-pagination ul li span.dots {
    border: none !important;
    background: transparent !important;
    color: #aaa !important;
    font-weight: 400;
    pointer-events: none;
}

/* Flechas prev/next */
.woocommerce nav.woocommerce-pagination ul li .prev,
.woocommerce nav.woocommerce-pagination ul li .next {
    color: #666 !important;
    font-size: 16px;
}

/* ═══════════════════════════════════════════════════════════════
   SHOP HERO
   ═══════════════════════════════════════════════════════════════ */

.lp-shop-hero {
    background: #0D1117;
    position: relative;
    overflow: hidden;
    padding: 44px 0;
}

/* Textura de puntos de fondo */
.lp-shop-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none;
}

/* Acento naranja a la izquierda */
.lp-shop-hero::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--lp-primary);
}

.lp-shop-hero__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    z-index: 1;
}

/* ── Texto ── */
.lp-shop-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    font-size: 13px;
}
.lp-shop-hero__breadcrumb a {
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color 0.15s;
}
.lp-shop-hero__breadcrumb a:hover { color: var(--lp-primary); }
.lp-shop-hero__breadcrumb span { color: rgba(255,255,255,0.85); font-weight: 500; }
.lp-shop-hero__breadcrumb-sep { color: rgba(255,255,255,0.25); flex-shrink: 0; }

.lp-shop-hero__title {
    font-size: clamp(26px, 3.5vw, 40px);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0 0 10px;
    letter-spacing: -0.5px;
}

.lp-shop-hero__desc {
    color: rgba(255,255,255,0.5);
    font-size: 14px;
    margin: 0;
    line-height: 1.6;
}

/* ── Mini promo ── */
.lp-shop-hero__promo {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.09);
    border-left: 3px solid var(--lp-primary);
    border-radius: 14px;
    padding: 22px 24px 20px;
    position: relative;
    flex-shrink: 0;
    min-width: 320px;
    max-width: 380px;
}

.lp-shop-hero__promo-badge {
    position: absolute;
    top: -11px;
    left: 20px;
    background: var(--lp-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.lp-shop-hero__promo-body {
    display: flex;
    align-items: center;
    gap: 18px;
}

.lp-shop-hero__promo-reel {
    width: 100px;
    height: 100px;
    object-fit: contain;
    filter: drop-shadow(0 6px 20px rgba(0,0,0,0.5));
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
.lp-shop-hero__promo:hover .lp-shop-hero__promo-reel {
    transform: rotate(-8deg) scale(1.05);
}

.lp-shop-hero__promo-brand {
    filter: brightness(0) invert(1);
    opacity: 0.75;
    display: block;
    margin-bottom: 8px;
    height: 20px;
    width: auto;
}

.lp-shop-hero__promo-name {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 4px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-shop-hero__promo-disc {
    background: var(--lp-primary);
    color: #fff;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 6px;
    font-style: normal;
}

.lp-shop-hero__promo-sub {
    color: rgba(255,255,255,0.45);
    font-size: 12px;
    margin: 0 0 12px;
}

.lp-shop-hero__promo-logos {
    display: flex;
    gap: 14px;
    align-items: center;
}

.lp-shop-hero__promo-logos img {
    filter: brightness(0) invert(1);
    opacity: 0.5;
    height: 14px;
    width: auto;
}

/* ── Responsive hero ── */
@media (max-width: 900px) {
    .lp-shop-hero__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
    .lp-shop-hero__promo {
        min-width: unset;
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .lp-shop-hero { padding: 28px 0; }
    .lp-shop-hero__inner { padding: 0 16px; }
}


/* Ocultar título de página WooCommerce en tienda (ya está en el hero) */
.woocommerce-products-header { display: none !important; }

/* === SHOP LAYOUT === */

/* Botón "Filtros" — solo móvil */
.lp-shop-filter-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--lp-border);
    border-radius: 10px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: #333;
    margin-bottom: 16px;
    transition: border-color 0.15s, color 0.15s;
}
.lp-shop-filter-toggle:hover {
    border-color: var(--lp-primary);
    color: var(--lp-primary);
}

/* Grid principal */
.lp-shop-wrap {
    display: grid;
    grid-template-columns: 248px 1fr;
    gap: 28px;
    align-items: start;
    margin-top: 8px;
}

/* ── Sidebar ── */
.lp-shop-sidebar {
    background: #fff;
    border-radius: 14px;
    border: 1px solid var(--lp-border-light);
    overflow-y: auto;
    max-height: calc(100vh - 120px);
    position: sticky;
    top: 96px;
    box-shadow: var(--lp-shadow-sm);
}

.lp-shop-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--lp-border-light);
    background: #fafafa;
}

.lp-shop-sidebar__title {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: 0.3px;
}

.lp-shop-sidebar__close {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #666;
    padding: 4px;
    line-height: 1;
    border-radius: 6px;
    transition: background 0.15s;
}
.lp-shop-sidebar__close:hover { background: #f0f0f0; }

/* ── Grupos de facets ── */
.lp-facet-group {
    padding: 18px 20px;
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-facet-group:last-of-type { border-bottom: none; }

.lp-facet-group__title {
    font-size: 11px;
    font-weight: 700;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin: 0 0 14px;
}

/* Reset */
.lp-facet-reset { padding: 14px 20px 18px; }
.lp-btn-reset {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #888;
    text-decoration: none;
    border: 1px solid #e0e0e0;
    padding: 6px 14px;
    border-radius: 20px;
    transition: all 0.15s;
}
.lp-btn-reset:hover { border-color: var(--lp-primary); color: var(--lp-primary); }

/* ─── FacetWP: Checkboxes ─── */
.facetwp-type-checkboxes .facetwp-checkbox {
    display: flex !important;
    align-items: center;
    gap: 9px;
    padding: 6px 0;
    cursor: pointer;
    font-size: 14px;
    color: #444;
    transition: color 0.12s;
    user-select: none;
    position: relative;
    /* Reset cualquier estilo de Astra en items de sidebar */
    border: none !important;
    border-left: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    list-style: none !important;
}
.facetwp-type-checkboxes .facetwp-checkbox:hover { color: var(--lp-primary); }

/* Ocultar cualquier input nativo que FacetWP pueda inyectar */
.facetwp-type-checkboxes .facetwp-checkbox input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

/* Checkbox visual mediante ::before */
.facetwp-type-checkboxes .facetwp-checkbox::before {
    content: '' !important;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    min-width: 16px;
    border: 1.5px solid #ccc !important;
    border-radius: 4px;
    background: #fff !important;
    box-shadow: none !important;
    outline: none !important;
    transition: all 0.15s;
    box-sizing: border-box;
    /* Sin position absolute — en el flujo flex normal */
    position: static !important;
}
.facetwp-type-checkboxes .facetwp-checkbox.checked::before {
    background: var(--lp-primary);
    border-color: var(--lp-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 10px;
}
.facetwp-type-checkboxes .facetwp-checkbox:hover::before { border-color: var(--lp-primary); }

.facetwp-display-value {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.facetwp-counter {
    margin-left: auto;
    font-size: 11px;
    color: #bbb;
    background: #f5f5f5;
    padding: 1px 7px;
    border-radius: 10px;
    flex-shrink: 0;
}
.facetwp-checkbox.checked .facetwp-counter { background: #fff0e6; color: var(--lp-primary); }

/* Botón expandir jerarquía */
.facetwp-expand {
    font-size: 12px;
    color: #bbb;
    cursor: pointer;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    transition: color 0.12s;
}
.facetwp-expand:hover { color: var(--lp-primary); }

/* Hijos jerárquicos con sangría */
.facetwp-depth { padding-left: 20px; }
.facetwp-depth .facetwp-depth { padding-left: 20px; }

/* "Ver más / Ver menos" */
.facetwp-overflow a {
    font-size: 13px;
    color: var(--lp-primary);
    text-decoration: none;
    display: inline-block;
    margin-top: 8px;
    font-weight: 500;
}

/* ─── FacetWP: Slider de precio ─── */
.facetwp-slider-label {
    font-size: 14px;
    font-weight: 500;
    color: #555;
    display: block;
    margin-bottom: 14px;
    margin-top: 4px;
}

.facetwp-slider-wrap { margin-bottom: 14px; }

/* Contenedor del botón reset del slider */
.facetwp-type-slider > div:last-child {
    margin-top: 10px;
}

.facetwp-slider-reset {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 500;
    color: #888;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    padding: 4px 12px;
    cursor: pointer;
    transition: all 0.15s;
    line-height: 1.4;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
}
.facetwp-slider-reset:hover {
    background: #FFF4EC;
    border-color: rgba(245,130,31,0.4);
    color: var(--lp-primary);
}
/* Oculto por defecto; FacetWP añade/quita .facetwp-hidden */
.facetwp-slider-reset.facetwp-hidden { display: none !important; }

/* noUiSlider overrides */
.noUi-target {
    background: #f0f0f0 !important;
    border-radius: 4px !important;
    border: none !important;
    box-shadow: none !important;
    height: 4px !important;
}
.noUi-connect { background: var(--lp-primary) !important; }
.noUi-handle {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 2.5px solid var(--lp-primary) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.2) !important;
    top: -7px !important;
    right: -9px !important;
    cursor: grab;
}
.noUi-handle:active { cursor: grabbing; }
.noUi-handle::before,
.noUi-handle::after { display: none !important; }

/* ── Topbar: chips + controles ── */
.lp-shop-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    min-height: 38px;
}

.lp-shop-topbar__chips {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.lp-shop-topbar__controls {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
    flex-shrink: 0;
}

.woocommerce-result-count {
    font-size: 13px;
    color: #999;
    margin: 0 !important;
}

.woocommerce-ordering { margin: 0 !important; }
.woocommerce-ordering select.orderby {
    border: 1px solid var(--lp-border) !important;
    border-radius: 8px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    color: #333 !important;
    background: #fff !important;
    cursor: pointer;
    box-shadow: none !important;
    outline: none !important;
}

/* ─── FacetWP: Chips de filtros activos ─── */
.facetwp-selections {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.facetwp-selections:empty { display: none; }

/* Cada <ul> generado por FacetWP */
.facetwp-selections ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Cada filtro activo = badge naranja */
.facetwp-selections li {
    display: inline-flex !important;
    align-items: center;
    background: #FFF4EC;
    border: 1px solid rgba(245,130,31,0.4);
    border-radius: 20px;
    padding: 4px 8px 4px 12px;
    gap: 4px;
    transition: background 0.12s, border-color 0.12s;
    white-space: nowrap;
    line-height: 1 !important;
}
.facetwp-selections li:hover {
    background: #FFE0C8;
    border-color: rgba(245,130,31,0.7);
}

/* Etiqueta del filtro (ej. "Precio: ") */
.facetwp-selections .facetwp-selection-label {
    font-size: 11px;
    font-weight: 700;
    color: rgba(245,130,31,0.7);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* Valor del filtro (ej. "62 € — 250 €") + icono × como ::after */
.facetwp-selections .facetwp-selection-value {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--lp-primary);
    cursor: pointer;
    /* Sustituir el background-image del plugin por un ::after limpio */
    background-image: none !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}
/* × como pseudo-elemento */
.facetwp-selections .facetwp-selection-value::after {
    content: '×';
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: var(--lp-primary);
    opacity: 0.5;
    transition: opacity 0.12s;
    margin-left: 2px;
}
.facetwp-selections li:hover .facetwp-selection-value::after {
    opacity: 1;
}

/* ─── FacetWP: Paginación ─── */
.lp-shop-pager {
    display: flex;
    justify-content: center;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--lp-border-light);
}

.facetwp-pager {
    display: flex !important;
    gap: 4px;
    align-items: center;
}

/* Astra fuerza display:block en <a> dentro de flex — usar text-align + line-height para centrar */
.facetwp-page {
    display: block !important;
    min-width: 36px;
    height: 36px;
    line-height: 33px !important; /* 36px - 2×1.5px borde = 33px para centrar verticalmente */
    padding: 0 8px;
    border-radius: 8px;
    font-size: 14px !important;
    font-weight: 500;
    color: #555 !important;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    border: 1.5px solid #e8e8e8 !important;
    background: #fff !important;
    text-align: center !important;
    text-decoration: none !important;
    user-select: none;
    box-sizing: border-box;
}
.facetwp-page:hover {
    background: #f5f5f5 !important;
    color: #111 !important;
    border-color: #ccc !important;
}
.facetwp-page.active {
    border-color: var(--lp-primary) !important;
    color: var(--lp-primary) !important;
    font-weight: 700 !important;
    background: #FFF4EC !important;
}
/* prev/next: flechas sin borde */
.facetwp-page.prev,
.facetwp-page.next {
    font-size: 18px !important;
    line-height: 33px !important;
    color: #bbb !important;
    border-color: transparent !important;
    background: transparent !important;
    min-width: 28px !important;
}
.facetwp-page.prev:hover,
.facetwp-page.next:hover {
    color: var(--lp-primary) !important;
    background: transparent !important;
    border-color: transparent !important;
}

/* ── Overlay y drawer móvil ── */
.lp-sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 999;
    backdrop-filter: blur(2px);
}
.lp-sidebar-overlay.active { display: block; }

/* ── Responsive tienda ── */
@media (max-width: 960px) {
    .lp-shop-wrap {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .lp-shop-filter-toggle {
        display: inline-flex;
    }
    .lp-shop-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 290px;
        border-radius: 0;
        border: none;
        z-index: 1000;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
        box-shadow: 4px 0 24px rgba(0,0,0,0.15);
    }
    .lp-shop-sidebar.lp-sidebar-open { transform: translateX(0); }
    .lp-shop-sidebar__close { display: flex !important; }
}

@media (max-width: 600px) {
    .lp-shop-topbar__controls { margin-left: 0; width: 100%; }
    .lp-shop-topbar { flex-direction: column; align-items: flex-start; }
}


/* === FOOTER === */
.site-footer,
.ast-footer {
    background: var(--lp-dark) !important;
    color: rgba(255,255,255,0.8);
}

.site-footer .widget-title,
.ast-footer .widget-title {
    color: var(--lp-white) !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 1rem;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--lp-accent);
    display: inline-block;
}

.site-footer a,
.ast-footer a {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none;
    transition: var(--lp-transition);
}

.site-footer a:hover,
.ast-footer a:hover {
    color: var(--lp-secondary) !important;
}

.ast-small-footer,
.site-below-footer-wrap,
.ast-footer-copyright {
    background: rgba(0,0,0,0.3) !important;
    color: rgba(255,255,255,0.5);
    font-size: 0.8125rem;
}

/* === NOTICES & MESSAGES === */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    position: relative !important;
    border: none !important;
    border-top: none !important;
    border-left: 4px solid !important;
    border-radius: 12px !important;
    padding: 16px 20px 16px 48px !important;
    margin-bottom: 24px !important;
    font-family: var(--lp-font-body) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
}
/* WooCommerce icon (::before) positioning */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Success (añadido al carrito) */
.woocommerce-message {
    background: #f0fdf4 !important;
    border-left-color: var(--lp-success) !important;
    color: #166534 !important;
}
.woocommerce-message::before {
    color: var(--lp-success) !important;
}

/* Info */
.woocommerce-info {
    background: #f0f7f4 !important;
    border-left-color: var(--lp-primary) !important;
    color: var(--lp-text) !important;
}
.woocommerce-info::before {
    color: var(--lp-primary) !important;
}

/* Error */
.woocommerce-error {
    background: #fef2f2 !important;
    border-left-color: var(--lp-danger) !important;
    color: #991b1b !important;
}
.woocommerce-error::before {
    color: var(--lp-danger) !important;
}

/* "Ver carrito" / action button inside notices */
.woocommerce-message .button.wc-forward,
.woocommerce-info .button.wc-forward,
.woocommerce-error .button {
    order: 2 !important;
    white-space: nowrap !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-family: var(--lp-font-body) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}
.woocommerce-message .button.wc-forward:hover,
.woocommerce-info .button.wc-forward:hover {
    background: var(--lp-primary-light) !important;
}

/* Responsive notices */
@media (max-width: 480px) {
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .woocommerce-message .button.wc-forward,
    .woocommerce-info .button.wc-forward {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* === SCROLLBAR === */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--lp-light);
}

::-webkit-scrollbar-thumb {
    background: var(--lp-primary-light);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--lp-primary);
}

/* === BACK TO TOP === */
#ast-scroll-top {
    background: var(--lp-accent) !important;
    color: var(--lp-white) !important;
    border-radius: var(--lp-radius-sm);
    box-shadow: var(--lp-shadow-md);
}

/* === LOADING / SKELETON === */
.woocommerce .blockUI.blockOverlay::before {
    border-color: var(--lp-accent) transparent transparent !important;
}

/* === MOBILE RESPONSIVE === */

/* Mobile menu */
@media (max-width: 921px) {
    .ast-mobile-menu-buttons .menu-toggle {
        color: var(--lp-primary);
    }

    .ast-header-break-point .main-header-menu {
        background: var(--lp-white);
        border-top: 3px solid var(--lp-accent);
    }

    .ast-header-break-point .main-header-menu .menu-item a {
        color: var(--lp-text) !important;
        padding: 12px 20px;
        border-bottom: 1px solid var(--lp-border-light);
    }

    /* Product grid: 2 columns on mobile */
    .woocommerce ul.products[class*="columns-"] {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .woocommerce ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }

    /* Smaller text on mobile cards */
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.8125rem !important;
        padding: 8px 10px 2px;
    }

    .woocommerce ul.products li.product .price {
        font-size: 0.9375rem !important;
        padding: 0 10px 8px;
    }

    .woocommerce ul.products li.product .add_to_cart_button,
    .woocommerce ul.products li.product .button {
        font-size: 0.75rem;
        padding: 10px 12px;
    }

    /* Single product */
    .woocommerce div.product .product_title {
        font-size: 1.25rem;
    }

    /* Sticky add-to-cart on mobile */
    .lp-sticky-atc {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--lp-white);
        padding: 12px 16px;
        box-shadow: 0 -4px 12px rgba(0,0,0,0.1);
        z-index: 999;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .lp-sticky-atc .price {
        font-weight: 800;
        color: var(--lp-primary);
        white-space: nowrap;
    }

    .lp-sticky-atc .button {
        flex: 1;
        text-align: center;
    }

    /* Filters: slide-in drawer on mobile */
    .lp-filter-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        background: var(--lp-primary);
        color: var(--lp-white);
        padding: 10px 20px;
        border-radius: var(--lp-radius-sm);
        font-weight: 700;
        font-size: 0.875rem;
        cursor: pointer;
        margin-bottom: 16px;
    }

    .widget-area.lp-filters-drawer {
        position: fixed;
        top: 0;
        left: -100%;
        width: 85%;
        max-width: 360px;
        height: 100vh;
        background: var(--lp-white);
        z-index: 9999;
        overflow-y: auto;
        padding: 20px;
        transition: left 0.3s ease;
        box-shadow: var(--lp-shadow-lg);
    }

    .widget-area.lp-filters-drawer.is-open {
        left: 0;
    }

    .lp-filter-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 9998;
        display: none;
    }

    .lp-filter-overlay.is-open {
        display: block;
    }
}

/* Tablet */
@media (min-width: 922px) and (max-width: 1200px) {
    .woocommerce ul.products[class*="columns-"] {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .woocommerce ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }
}

/* Desktop */
@media (min-width: 1201px) {
    .woocommerce ul.products[class*="columns-4"] {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

    .woocommerce ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }

    .lp-filter-toggle {
        display: none;
    }
}

/* Small phones */
@media (max-width: 480px) {
    .woocommerce ul.products[class*="columns-"] {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.75rem !important;
    }

    .woocommerce ul.products li.product .price {
        font-size: 0.875rem !important;
    }
}

/* ═══════════════════════════════════════════
   WISHLIST — botón en producto individual
   ═══════════════════════════════════════════ */
.yith-wcwl-add-to-wishlist a,
.yith-wcwl-wishlistaddedbrowse a,
.yith-wcwl-wishlistexistsbrowse a {
    color: var(--lp-text-light) !important;
    font-size: 0.8125rem;
}
.yith-wcwl-add-to-wishlist a:hover {
    color: var(--lp-danger) !important;
}

/* ── Botón wishlist en cards del grid (encima de la imagen, top-right) ── */
/* YITH 4.x usa <button class="yith-wcwl-add-to-wishlist-button over-image--top-left"> */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button {
    /* Mover de top-left a top-right */
    left: auto !important;
    right: 10px !important;
    top: 10px !important;
    /* Anular estilo naranja de Astra */
    width: 34px !important;
    height: 34px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.92) !important;
    background-color: rgba(255,255,255,0.92) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.14) !important;
    border: none !important;
    color: #999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.18s, color 0.18s, transform 0.15s !important;
    z-index: 20 !important;
    cursor: pointer !important;
}
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button:hover {
    background: #fff !important;
    background-color: #fff !important;
    color: #e53e3e !important;
    transform: scale(1.1) !important;
}
/* Estado: ya en wishlist → corazón rojo */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button--added {
    color: #e53e3e !important;
    background-color: #fff !important;
}
/* SVG del corazón — stroke directo para evitar herencia de currentColor */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button svg {
    width: 17px !important;
    height: 17px !important;
    display: block !important;
    flex-shrink: 0 !important;
    pointer-events: none !important;
    fill: none !important;
    stroke: #c0bfbd !important;
    stroke-width: 1.5 !important;
    transition: stroke 0.18s !important;
}
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button:hover svg {
    stroke: #e53e3e !important;
}
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button--added svg {
    stroke: #e53e3e !important;
    fill: #e53e3e !important;
}

/* ── Icono wishlist en My Account nav ── */
.woocommerce-MyAccount-navigation-link--lista-de-deseos a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z'/%3E%3C/svg%3E") !important;
}

/* ═══════════════════════════════════════════
   WISHLIST — página /wishlist/
   ═══════════════════════════════════════════ */
.woocommerce-wishlist .entry-title,
.woocommerce-wishlist .page-title {
    font-family: var(--lp-font-heading) !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--lp-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 36px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    position: relative !important;
    padding-bottom: 16px !important;
}
.woocommerce-wishlist .entry-title::before,
.woocommerce-wishlist .page-title::before {
    content: '' !important;
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    background-color: var(--lp-primary) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
}
.woocommerce-wishlist .entry-title::after,
.woocommerce-wishlist .page-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, var(--lp-primary), transparent) !important;
    border-radius: 2px !important;
}
/* Ocultar el h3 "My wishlist" que repite título */
.woocommerce-wishlist .wishlist-title {
    display: none !important;
}
/* Título de la wishlist dentro de My Account */
.woocommerce-account .wishlist-title-container h2 {
    font-family: var(--lp-font-heading) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--lp-primary) !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}

/* Tabla */
.woocommerce-wishlist table.wishlist_table,
.woocommerce-account table.wishlist_table {
    border-collapse: collapse !important;
    width: 100% !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: var(--lp-white) !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.05) !important;
    font-family: var(--lp-font-body) !important;
}
.woocommerce-wishlist table.wishlist_table thead tr,
.woocommerce-account table.wishlist_table thead tr {
    background: var(--lp-light) !important;
}
.woocommerce-wishlist table.wishlist_table thead th ,
.woocommerce-account table.wishlist_table thead th  {
    padding: 14px 16px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--lp-text-light) !important;
    border-bottom: 1px solid var(--lp-border) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    -webkit-font-smoothing: auto !important;
}
.woocommerce-wishlist table.wishlist_table tbody tr ,
.woocommerce-account table.wishlist_table tbody tr  {
    border-bottom: 1px solid var(--lp-border-light) !important;
    transition: background 0.15s !important;
}
.woocommerce-wishlist table.wishlist_table tbody tr:last-child ,
.woocommerce-account table.wishlist_table tbody tr:last-child  {
    border-bottom: none !important;
}
.woocommerce-wishlist table.wishlist_table tbody tr:hover ,
.woocommerce-account table.wishlist_table tbody tr:hover  {
    background: var(--lp-light) !important;
}
.woocommerce-wishlist table.wishlist_table td ,
.woocommerce-account table.wishlist_table td  {
    padding: 16px !important;
    vertical-align: middle !important;
    border: none !important;
    -webkit-font-smoothing: auto !important;
}
/* Miniatura */
.woocommerce-wishlist table.wishlist_table td.product-thumbnail img ,
.woocommerce-account table.wishlist_table td.product-thumbnail img  {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid var(--lp-border) !important;
}
/* Nombre producto */
.woocommerce-wishlist table.wishlist_table td.product-name a ,
.woocommerce-account table.wishlist_table td.product-name a  {
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
}
.woocommerce-wishlist table.wishlist_table td.product-name a:hover ,
.woocommerce-account table.wishlist_table td.product-name a:hover  {
    color: var(--lp-primary) !important;
}
/* Precio */
.woocommerce-wishlist table.wishlist_table td.product-price ,
.woocommerce-account table.wishlist_table td.product-price  {
    font-weight: 700 !important;
    color: var(--lp-primary) !important;
    font-size: 0.95rem !important;
}
/* Stock */
.woocommerce-wishlist table.wishlist_table .wishlist-in-stock ,
.woocommerce-account table.wishlist_table .wishlist-in-stock  {
    color: #16a34a !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}
.woocommerce-wishlist table.wishlist_table .wishlist-out-of-stock ,
.woocommerce-account table.wishlist_table .wishlist-out-of-stock  {
    color: #dc2626 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}
/* Badge Plan Ahorro compacto dentro de wishlist */
table.wishlist_table .lpm-member-price {
    font-size: 11px !important;
    padding: 4px 8px !important;
    margin-top: 4px !important;
    border-radius: 6px !important;
    gap: 4px !important;
}
table.wishlist_table .lpm-member-price .lpm-member-icon { display: none !important; }
table.wishlist_table .lpm-member-price .lpm-member-amount { font-size: 12px !important; }
table.wishlist_table .lpm-member-price .lpm-member-save {
    font-size: 9px !important;
    padding: 1px 5px !important;
}
table.wishlist_table .lpm-member-price .lpm-member-cta { display: none !important; }
table.wishlist_table .lpm-member-price .lpm-member-label { font-size: 11px !important; }

/* Botón añadir al carrito en wishlist */
table.wishlist_table td.product-add-to-cart a,
table.wishlist_table td.product-add-to-cart a.button,
table.wishlist_table td.product-add-to-cart .button,
.woocommerce-wishlist table.wishlist_table .button.add_to_cart_button,
.woocommerce-wishlist table.wishlist_table .button,
.woocommerce-account table.wishlist_table .button,
.woocommerce table.wishlist_table td.product-add-to-cart a {
    display: inline-block !important;
    background: linear-gradient(135deg, #E07318, #F5821F) !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(245,130,31,.18) !important;
    transition: background .2s, transform .15s, box-shadow .15s !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}
table.wishlist_table td.product-add-to-cart a:hover,
table.wishlist_table td.product-add-to-cart a.button:hover,
.woocommerce-wishlist table.wishlist_table .button:hover,
.woocommerce-account table.wishlist_table .button:hover,
.woocommerce table.wishlist_table td.product-add-to-cart a:hover {
    background: linear-gradient(135deg, #c96210, #E07318) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(245,130,31,.28) !important;
    color: #fff !important;
}
/* Botón quitar (×) */
.woocommerce-wishlist table.wishlist_table td.product-remove a.remove ,
.woocommerce-account table.wishlist_table td.product-remove a.remove  {
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--lp-text-muted) !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    transition: background 0.15s, color 0.15s !important;
}
.woocommerce-wishlist table.wishlist_table td.product-remove a.remove:hover ,
.woocommerce-account table.wishlist_table td.product-remove a.remove:hover  {
    background: #fef2f2 !important;
    color: #dc2626 !important;
}
/* Estado vacío */
.woocommerce-wishlist table.wishlist_table .wishlist-empty ,
.woocommerce-account table.wishlist_table .wishlist-empty  {
    text-align: center !important;
    padding: 48px 24px !important;
    color: var(--lp-text-muted) !important;
    font-size: 0.9rem !important;
}

/* ── Wishlist Responsive ── */
@media (max-width: 768px) {
    .woocommerce-wishlist table.wishlist_table,
    .woocommerce-account table.wishlist_table {
        display: block !important;
    }
    .woocommerce-wishlist table.wishlist_table thead,
    .woocommerce-account table.wishlist_table thead {
        display: none !important;
    }
    .woocommerce-wishlist table.wishlist_table tbody,
    .woocommerce-account table.wishlist_table tbody {
        display: block !important;
    }
    .woocommerce-wishlist table.wishlist_table tbody tr,
    .woocommerce-account table.wishlist_table tbody tr {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 16px !important;
        border-bottom: 1px solid var(--lp-border-light) !important;
    }
    .woocommerce-wishlist table.wishlist_table td,
    .woocommerce-account table.wishlist_table td {
        padding: 0 !important;
        border: none !important;
    }
    table.wishlist_table td.product-remove {
        order: 10 !important;
        position: absolute !important;
        right: 16px !important;
        top: 16px !important;
    }
    table.wishlist_table tbody tr {
        position: relative !important;
    }
    table.wishlist_table td.product-thumbnail {
        flex-shrink: 0 !important;
    }
    table.wishlist_table td.product-thumbnail img {
        width: 56px !important;
        height: 56px !important;
    }
    table.wishlist_table td.product-name {
        flex: 1 !important;
        min-width: 0 !important;
    }
    table.wishlist_table td.product-name a {
        font-size: 0.85rem !important;
    }
    table.wishlist_table td.product-price {
        width: 100% !important;
        font-size: 0.9rem !important;
    }
    table.wishlist_table td.product-stock-status {
        font-size: 0.75rem !important;
    }
    table.wishlist_table td.product-add-to-cart {
        width: 100% !important;
    }
    table.wishlist_table td.product-add-to-cart a {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }
    table.wishlist_table .lpm-member-price {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-wishlist table.wishlist_table tbody tr,
    .woocommerce-account table.wishlist_table tbody tr {
        padding: 12px !important;
        gap: 8px !important;
    }
    table.wishlist_table td.product-thumbnail img {
        width: 48px !important;
        height: 48px !important;
    }
    table.wishlist_table td.product-add-to-cart a {
        padding: 8px 14px !important;
        font-size: 0.7rem !important;
    }
}

/* ══════════════════════════════════════
   COMPARE BUTTON
   ══════════════════════════════════════ */
.yith-woocompare-button a {
    color: var(--lp-text-light) !important;
    font-size: 0.8125rem;
}
.yith-woocompare-button a:hover {
    color: var(--lp-primary) !important;
}

/* === COUPON CODE BOX === */
.woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--lp-light);
    border-top-color: var(--lp-secondary) !important;
}

/* === TRUST BADGES / GUARANTEES ROW === */
.lp-trust-badges {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 40px 0;
    text-align: center;
}

.lp-trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.lp-trust-badge i,
.lp-trust-badge svg {
    color: var(--lp-accent);
    font-size: 2rem;
}

.lp-trust-badge h4 {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lp-text);
    margin: 0;
}

.lp-trust-badge p {
    font-size: 0.8125rem;
    color: var(--lp-text-light);
    margin: 0;
}

@media (max-width: 768px) {
    .lp-trust-badges {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}
@media (max-width: 480px) {
    .lp-trust-badges {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 24px 0;
    }
    .lp-trust-badge i,
    .lp-trust-badge svg {
        font-size: 1.5rem;
    }
}

/* === NEWSLETTER SECTION === */
.lp-newsletter {
    background: var(--lp-primary);
    color: var(--lp-white);
    padding: 48px 24px;
    border-radius: var(--lp-radius-lg);
    text-align: center;
}

.lp-newsletter h3 {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 8px;
}

.lp-newsletter p {
    color: rgba(255,255,255,0.7);
    margin-bottom: 24px;
}

.lp-newsletter input[type="email"] {
    border: none;
    border-radius: var(--lp-radius-sm);
    padding: 14px 20px;
    width: 100%;
    max-width: 400px;
    font-size: 0.9375rem;
}

.lp-newsletter button {
    background: var(--lp-accent) !important;
    margin-top: 12px;
}

/* === EMPTY STATES === */
.woocommerce-info.wc-empty-cart-message,
.cart-empty {
    text-align: center;
    padding: 48px 24px;
    background: var(--lp-white);
    border-radius: var(--lp-radius-md);
}

/* === ACCESSIBILITY === */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 3px solid var(--lp-accent);
    outline-offset: 2px;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}

/* === SHOP SIDEBAR FILTERS === */

/* Sidebar container */
.ast-woo-shop-archive #secondary .sidebar-main {
    padding: 0;
}

/* Widget wrapper */
.ast-woo-shop-archive #secondary .widget {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 16px;
}

/* Widget title — matches mockup */
.ast-woo-shop-archive #secondary .widget-title,
.ast-woo-shop-archive #secondary .widget .widgettitle {
    font-family: var(--lp-font-heading);
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--lp-text) !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: none !important;
}

/* Category list */
.ast-woo-shop-archive #secondary .widget_product_categories ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ast-woo-shop-archive #secondary .widget_product_categories ul li {
    padding: 0;
    margin: 0;
    border: none;
}
.ast-woo-shop-archive #secondary .widget_product_categories ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--lp-text);
    text-decoration: none;
    padding: 5px 0;
    transition: color 0.15s ease;
}
.ast-woo-shop-archive #secondary .widget_product_categories ul li a:hover {
    color: var(--lp-accent);
}
.ast-woo-shop-archive #secondary .widget_product_categories ul li .count {
    font-size: 11px;
    color: var(--lp-text-muted);
    font-weight: 400;
}
/* Subcategories indent */
.ast-woo-shop-archive #secondary .widget_product_categories ul.children {
    padding-left: 14px;
}
.ast-woo-shop-archive #secondary .widget_product_categories ul.children li a {
    font-size: 12px;
    color: var(--lp-text-light);
}

/* Price filter slider */
.ast-woo-shop-archive #secondary .widget_price_filter .price_slider_wrapper {
    padding: 4px 0;
}
.ast-woo-shop-archive #secondary .widget_price_filter .ui-slider {
    background: #e8e8e8 !important;
    height: 4px !important;
    border: none !important;
    border-radius: 4px !important;
}
.ast-woo-shop-archive #secondary .widget_price_filter .ui-slider .ui-slider-range {
    background: #E07318 !important;
    border-radius: 4px !important;
}
.ast-woo-shop-archive #secondary .widget_price_filter .ui-slider .ui-slider-handle {
    background: #E07318 !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    width: 16px !important;
    height: 16px !important;
    top: -6px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15) !important;
    cursor: pointer;
}
.ast-woo-shop-archive #secondary .widget_price_filter .price_slider_amount {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}
.ast-woo-shop-archive #secondary .widget_price_filter .price_slider_amount .price_label {
    font-size: 12px;
    color: var(--lp-text-light);
}
.ast-woo-shop-archive #secondary .widget_price_filter .price_slider_amount .button {
    background: #111 !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 6px 14px !important;
    border: none !important;
    cursor: pointer;
    transition: background 0.15s ease;
}
.ast-woo-shop-archive #secondary .widget_price_filter .price_slider_amount .button:hover {
    background: #E07318 !important;
}

/* Attribute filter (layered nav) — checkbox style */
.ast-woo-shop-archive #secondary .widget_layered_nav ul,
.ast-woo-shop-archive #secondary .woocommerce-widget-layered-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ast-woo-shop-archive #secondary .widget_layered_nav ul li,
.ast-woo-shop-archive #secondary .woocommerce-widget-layered-nav ul li {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0;
    padding: 4px 0;
}
.ast-woo-shop-archive #secondary .widget_layered_nav ul li a,
.ast-woo-shop-archive #secondary .woocommerce-widget-layered-nav ul li a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--lp-text);
    text-decoration: none;
    transition: color 0.15s ease;
}
.ast-woo-shop-archive #secondary .widget_layered_nav ul li a::before,
.ast-woo-shop-archive #secondary .woocommerce-widget-layered-nav ul li a::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    border: 1.5px solid #ccc;
    border-radius: 3px;
    background: #fff;
    transition: all 0.15s ease;
}
.ast-woo-shop-archive #secondary .widget_layered_nav ul li.chosen a::before,
.ast-woo-shop-archive #secondary .woocommerce-widget-layered-nav ul li.chosen a::before {
    background: #E07318;
    border-color: #E07318;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' d='M4 8l3 3 5-5'/%3E%3C/svg%3E");
}
.ast-woo-shop-archive #secondary .widget_layered_nav ul li a:hover::before,
.ast-woo-shop-archive #secondary .woocommerce-widget-layered-nav ul li a:hover::before {
    border-color: #E07318;
}
.ast-woo-shop-archive #secondary .widget_layered_nav ul li .count,
.ast-woo-shop-archive #secondary .woocommerce-widget-layered-nav ul li .count {
    margin-left: auto;
    font-size: 11px;
    color: var(--lp-text-muted);
    font-weight: 400;
}

/* Rating filter */
.ast-woo-shop-archive #secondary .widget_rating_filter ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ast-woo-shop-archive #secondary .widget_rating_filter ul li {
    padding: 0;
    margin: 0;
}
.ast-woo-shop-archive #secondary .widget_rating_filter ul li a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    text-decoration: none;
    padding: 5px 0;
}
.ast-woo-shop-archive #secondary .widget_rating_filter .star-rating {
    font-size: 12px;
    color: var(--lp-warning);
}

/* Shop page header */
.woocommerce-products-header .page-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    margin-bottom: 4px !important;
}
.woocommerce-result-count {
    font-size: 12px !important;
    color: var(--lp-text-muted) !important;
}
.woocommerce-ordering select {
    font-size: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
}

/* Shop sidebar responsive */
@media (max-width: 921px) {
    .ast-woo-shop-archive #secondary {
        margin-top: 20px;
    }
}

/* ═══════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════ */

/* Page title — styled with SVG icon + decorative underline */
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title {
    font-family: var(--lp-font-heading) !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--lp-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 36px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    position: relative !important;
    padding-bottom: 16px !important;
}
.woocommerce-cart .entry-title::before,
.woocommerce-cart .page-title::before {
    content: '' !important;
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    background-color: var(--lp-primary) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 00-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 00-16.536-1.84M7.5 14.25L5.106 5.272M6 20.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm12.75 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 00-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 00-16.536-1.84M7.5 14.25L5.106 5.272M6 20.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm12.75 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
}
.woocommerce-cart .entry-title::after,
.woocommerce-cart .page-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, var(--lp-primary), transparent) !important;
    border-radius: 2px !important;
}

/* Cart form container */
.woocommerce-cart .woocommerce {
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* ── Cart table ── */
.woocommerce-cart table.shop_table {
    border: 1px solid var(--lp-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    box-shadow: 0 4px 32px rgba(0,0,0,0.06) !important;
    background: var(--lp-white) !important;
    font-family: var(--lp-font-body) !important;
}
.woocommerce-cart table.shop_table thead th {
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--lp-border) !important;
    -webkit-font-smoothing: auto !important;
}
.woocommerce-cart table.shop_table td {
    padding: 20px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    vertical-align: middle !important;
    color: var(--lp-text) !important;
    font-size: 14px !important;
    -webkit-font-smoothing: auto !important;
}
.woocommerce-cart table.shop_table tr:last-child td {
    border-bottom: none !important;
}

/* Product name */
.woocommerce-cart table.shop_table td.product-name a {
    color: var(--lp-text) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.woocommerce-cart table.shop_table td.product-name a:hover {
    color: var(--lp-primary) !important;
}

/* Product thumbnail */
.woocommerce-cart table.shop_table td.product-thumbnail img {
    border-radius: 10px !important;
    border: 1px solid var(--lp-border-light) !important;
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
}

/* Remove button */
.woocommerce-cart table.shop_table td.product-remove a.remove {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: var(--lp-light) !important;
    color: var(--lp-text-muted) !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    line-height: 1 !important;
}
.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    background: #fef2f2 !important;
    color: var(--lp-danger) !important;
}

/* Quantity input */
.woocommerce-cart table.shop_table td.product-quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: var(--lp-light) !important;
}
.woocommerce-cart table.shop_table td.product-quantity .quantity input.qty {
    width: 48px !important;
    min-height: 40px !important;
    border: none !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: var(--lp-font-body) !important;
    background: transparent !important;
    color: var(--lp-text) !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
}
.woocommerce-cart table.shop_table td.product-quantity .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart table.shop_table td.product-quantity .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Price */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
    font-weight: 600 !important;
    color: var(--lp-text) !important;
}

/* ── Coupon row ── */
.woocommerce-cart table.shop_table td.actions {
    padding: 20px 16px !important;
    background: var(--lp-light) !important;
}
.woocommerce-cart .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.woocommerce-cart .coupon input#coupon_code {
    min-height: 44px !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    font-family: var(--lp-font-body) !important;
    background: var(--lp-white) !important;
    box-shadow: none !important;
    max-width: 200px !important;
}
.woocommerce-cart .coupon input#coupon_code:focus {
    border-color: var(--lp-primary) !important;
    box-shadow: 0 0 0 3px rgba(245,130,31,0.12) !important;
    outline: none !important;
}
.woocommerce-cart .coupon button[type="submit"] {
    min-height: 44px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-family: var(--lp-font-body) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    white-space: nowrap !important;
}
.woocommerce-cart .coupon button[type="submit"]:hover {
    background: var(--lp-primary-light) !important;
}

/* Update cart button */
.woocommerce-cart button[name="update_cart"] {
    min-height: 44px !important;
    background: transparent !important;
    color: var(--lp-text-light) !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    font-family: var(--lp-font-body) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    float: right !important;
}
.woocommerce-cart button[name="update_cart"]:hover {
    border-color: var(--lp-primary) !important;
    color: var(--lp-primary) !important;
}
.woocommerce-cart button[name="update_cart"]:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

/* ── Cart totals ── */
.woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-top: 32px !important;
    background: var(--lp-light) !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.woocommerce-cart .cart_totals h2 {
    font-family: var(--lp-font-heading) !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin: 0 !important;
    padding: 18px 28px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border-bottom: none !important;
}
.woocommerce-cart .cart_totals > table {
    margin: 0 28px !important;
    width: calc(100% - 56px) !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
    padding: 0 28px 28px !important;
}
.woocommerce-cart .cart_totals table {
    border: none !important;
    border-collapse: collapse !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border: none !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    padding: 14px 0 !important;
    font-size: 14px !important;
    font-family: var(--lp-font-body) !important;
    -webkit-font-smoothing: auto !important;
    background: transparent !important;
}
.woocommerce-cart .cart_totals table th {
    color: var(--lp-text-light) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    font-size: 14px !important;
    letter-spacing: normal !important;
    width: auto !important;
    vertical-align: top !important;
    padding-right: 16px !important;
}
.woocommerce-cart .cart_totals table td {
    color: var(--lp-text) !important;
    font-weight: 600 !important;
    text-align: right !important;
}
/* Total row — prominent */
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    padding-top: 16px !important;
    border-top: 2px solid var(--lp-primary) !important;
    border-bottom: none !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
}
.woocommerce-cart .cart_totals table .includes_tax {
    display: block !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: var(--lp-text-muted) !important;
    margin-top: 2px !important;
}
/* Shipping info */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    display: inline !important;
    margin: 0 !important;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    font-size: 12px !important;
    color: var(--lp-text-muted) !important;
    margin-top: 4px !important;
}
.woocommerce-cart .cart_totals .shipping-calculator-button {
    font-size: 12px !important;
    color: var(--lp-primary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}
.woocommerce-cart .cart_totals .shipping-calculator-button:hover {
    text-decoration: underline !important;
}

/* Proceed to checkout button */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    min-height: 52px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: var(--lp-font-body) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease, box-shadow 0.2s ease !important;
    margin-top: 20px !important;
    box-sizing: border-box !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--lp-primary-light) !important;
    box-shadow: 0 4px 12px rgba(245,130,31,0.3) !important;
}

/* ── Cart responsive ── */
@media (max-width: 768px) {
    .woocommerce-cart .entry-title,
    .woocommerce-cart .page-title {
        flex-direction: column !important;
        gap: 8px !important;
        font-size: 1.5rem !important;
    }
    .woocommerce-cart .entry-title::before,
    .woocommerce-cart .page-title::before {
        width: 28px !important;
        height: 28px !important;
    }
    .woocommerce-cart .cart_totals {
        max-width: 100% !important;
        margin-top: 24px !important;
    }
    /* Actions area — stack coupon + update button */
    .woocommerce-cart table.shop_table td.actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    .woocommerce-cart .coupon {
        width: 100% !important;
    }
    .woocommerce-cart .coupon input#coupon_code {
        flex: 1 !important;
        max-width: none !important;
    }
    .woocommerce-cart button[name="update_cart"] {
        float: none !important;
        width: 100% !important;
    }
}

/* ═══════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════ */

/* Page title — styled with SVG icon + decorative underline */
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title {
    font-family: var(--lp-font-heading) !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--lp-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 36px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    position: relative !important;
    padding-bottom: 16px !important;
}
.woocommerce-checkout .entry-title::before,
.woocommerce-checkout .page-title::before {
    content: '' !important;
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    background-color: var(--lp-primary) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15a2.25 2.25 0 012.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15a2.25 2.25 0 012.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
}
.woocommerce-checkout .entry-title::after,
.woocommerce-checkout .page-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, var(--lp-primary), transparent) !important;
    border-radius: 2px !important;
}

/* Container */
.woocommerce-checkout .woocommerce {
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* ── Coupon toggle bar ── */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 4px !important;
    background: var(--lp-light) !important;
    border: 1px solid var(--lp-border) !important;
    border-left: 4px solid var(--lp-primary) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    font-size: 13px !important;
    color: var(--lp-text-muted) !important;
    box-shadow: none !important;
    margin-bottom: 24px !important;
    position: static !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
    content: '' !important;
    position: static !important;
    transform: none !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    margin-bottom: 6px !important;
    background-color: var(--lp-text-muted) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    font-size: 0 !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
    display: block !important;
    color: var(--lp-text) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    margin-top: 2px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:hover {
    color: var(--lp-primary) !important;
    text-decoration: none !important;
}

/* ── Checkout form layout ── */
.woocommerce-checkout .col2-set {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}
.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after {
    display: none !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
}

/* Section headings */
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-family: var(--lp-font-heading) !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    margin: 0 0 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
}

/* ── Form fields ── */
.woocommerce-checkout .form-row {
    margin-bottom: 16px !important;
}
.woocommerce-checkout .form-row label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    font-family: var(--lp-font-body) !important;
    display: block !important;
    margin-bottom: 6px !important;
}
.woocommerce-checkout .form-row label .required {
    color: var(--lp-accent) !important;
}
.woocommerce-checkout .form-row label .optional {
    font-weight: 400 !important;
    color: var(--lp-text-muted) !important;
    font-size: 12px !important;
}
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100% !important;
    min-height: 46px !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-family: var(--lp-font-body) !important;
    background: var(--lp-white) !important;
    color: var(--lp-text) !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box !important;
}
.woocommerce-checkout .form-row textarea {
    min-height: 100px !important;
    resize: vertical !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--lp-primary) !important;
    box-shadow: 0 0 0 3px rgba(245,130,31,0.12) !important;
    outline: none !important;
}

/* Select2 dropdowns (WooCommerce uses them for country/state) */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    min-height: 46px !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    background: var(--lp-white) !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 28px !important;
    color: var(--lp-text) !important;
    font-family: var(--lp-font-body) !important;
    font-size: 14px !important;
    padding-left: 0 !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px !important;
    right: 8px !important;
}

/* ── Order review ("Tu pedido") ── */
.woocommerce-checkout #order_review_heading {
    font-family: var(--lp-font-heading) !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin: 0 !important;
    padding: 18px 28px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border-radius: 16px 16px 0 0 !important;
}
.woocommerce-checkout #order_review {
    background: var(--lp-light) !important;
    border: 1px solid var(--lp-border) !important;
    border-top: none !important;
    border-radius: 0 0 16px 16px !important;
    padding: 24px 28px !important;
}

/* Order review table */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border: none !important;
    border-collapse: collapse !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-family: var(--lp-font-body) !important;
    width: 100% !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    border: none !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    padding: 12px 0 !important;
    font-size: 14px !important;
    background: transparent !important;
    -webkit-font-smoothing: auto !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
    color: var(--lp-text-light) !important;
    font-size: 13px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
    text-align: right !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
}
/* Totals rows */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
    color: var(--lp-text-light) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    text-align: right !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    border-top: 2px solid var(--lp-primary) !important;
    border-bottom: none !important;
    padding-top: 16px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .includes_tax {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: var(--lp-text-muted) !important;
}

/* ── Payment methods ── */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin-top: 20px !important;
}
.woocommerce-checkout #payment .payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}
.woocommerce-checkout #payment .payment_methods li {
    background: var(--lp-white) !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 16px !important;
    margin-bottom: 8px !important;
}
.woocommerce-checkout #payment .payment_methods li label {
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

/* Privacy text */
.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-size: 12px !important;
    color: var(--lp-text-muted) !important;
    line-height: 1.6 !important;
    font-family: var(--lp-font-body) !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--lp-primary) !important;
    text-decoration: underline !important;
}

/* Place order button */
.woocommerce-checkout #place_order {
    display: block !important;
    width: 100% !important;
    min-height: 52px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: var(--lp-font-body) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: background 0.2s ease, box-shadow 0.2s ease !important;
    margin-top: 16px !important;
}
.woocommerce-checkout #place_order:hover {
    background: var(--lp-primary-light) !important;
    box-shadow: 0 4px 12px rgba(245,130,31,0.3) !important;
}

/* ── Checkout notices ── */
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error {
    margin-bottom: 20px !important;
}

/* ── Checkout responsive ── */
@media (max-width: 768px) {
    .woocommerce-checkout .entry-title,
    .woocommerce-checkout .page-title {
        flex-direction: column !important;
        gap: 8px !important;
        font-size: 1.5rem !important;
    }
    .woocommerce-checkout .entry-title::before,
    .woocommerce-checkout .page-title::before {
        width: 28px !important;
        height: 28px !important;
    }
    .woocommerce-checkout #order_review_heading {
        border-radius: 12px 12px 0 0 !important;
        padding: 14px 20px !important;
    }
    .woocommerce-checkout #order_review {
        border-radius: 0 0 12px 12px !important;
        padding: 20px !important;
    }
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        float: none !important;
        width: 100% !important;
    }
    .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
        font-size: 13px !important;
        padding: 12px 16px !important;
    }
}

/* ═══════════════════════════════════════════════
   MY ACCOUNT — Login / Register (WooCommerce)
   ═══════════════════════════════════════════════ */

/* Hide page title — we replace it visually */
.woocommerce-account:not(.logged-in) .entry-title,
.woocommerce-account:not(.logged-in) .page-title {
    text-align: center !important;
    font-family: var(--lp-font-heading) !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    margin-bottom: 32px !important;
}

/* Container — center and constrain width */
.woocommerce-account:not(.logged-in) .entry-content,
.woocommerce-account:not(.logged-in) .woocommerce {
    max-width: 820px !important;
    margin: 0 auto !important;
}

/* Two-column layout — kill WooCommerce clearfix pseudo-elements that break grid */
.woocommerce-account .u-columns.col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    align-items: start !important;
}
.woocommerce-account .u-columns.col2-set::before,
.woocommerce-account .u-columns.col2-set::after {
    display: none !important;
}

/* Each column as card — override WooCommerce layout-grid width:48% + float:left */
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
    width: 100% !important;
    float: none !important;
    background: var(--lp-white) !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 32px rgba(0,0,0,0.06) !important;
    padding: 32px 28px !important;
}

/* Column headings */
.woocommerce-account .u-columns h2 {
    font-family: var(--lp-font-heading) !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    margin: 0 0 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
}

/* Remove WooCommerce inner form border (outer card already has border) */
.woocommerce-account .woocommerce-form {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Form rows */
.woocommerce-account .woocommerce-form .form-row {
    margin-bottom: 20px !important;
}

/* Labels */
.woocommerce-account .woocommerce-form label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    font-family: var(--lp-font-body) !important;
    display: block !important;
    margin-bottom: 6px !important;
}
.woocommerce-account .woocommerce-form label .required {
    color: var(--lp-accent) !important;
}

/* Inputs — 46px min-height touch target */
.woocommerce-account .woocommerce-form .input-text,
.woocommerce-account .woocommerce-form input[type="text"],
.woocommerce-account .woocommerce-form input[type="email"],
.woocommerce-account .woocommerce-form input[type="password"] {
    width: 100% !important;
    min-height: 46px !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-family: var(--lp-font-body) !important;
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box !important;
}
.woocommerce-account .woocommerce-form .input-text:focus,
.woocommerce-account .woocommerce-form input:focus {
    border-color: var(--lp-primary) !important;
    box-shadow: 0 0 0 3px rgba(245,130,31,0.12) !important;
    outline: none !important;
    background: var(--lp-white) !important;
}

/* Remember me */
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    font-size: 13px !important;
    color: var(--lp-text-light) !important;
    cursor: pointer !important;
}
.woocommerce-account .woocommerce-form-login input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border-radius: 5px !important;
    border: 1.5px solid var(--lp-border) !important;
    accent-color: var(--lp-primary) !important;
    cursor: pointer !important;
}

/* Submit buttons — full width, 48px */
.woocommerce-account .woocommerce-form .woocommerce-button,
.woocommerce-account .woocommerce-form button[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: var(--lp-font-body) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    margin-top: 8px !important;
}
.woocommerce-account .woocommerce-form .woocommerce-button:hover,
.woocommerce-account .woocommerce-form button[type="submit"]:hover {
    background: var(--lp-primary-light) !important;
}
.woocommerce-account .woocommerce-form .woocommerce-button:focus,
.woocommerce-account .woocommerce-form button[type="submit"]:focus {
    background: var(--lp-primary-light) !important;
    box-shadow: 0 0 0 3px rgba(245,130,31,0.25) !important;
    outline: none !important;
}

/* Lost password link */
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword {
    text-align: center !important;
    margin-top: 16px !important;
}
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a {
    color: var(--lp-text-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
    display: inline-block !important;
    min-height: 44px !important;
    line-height: 44px !important;
}
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a:hover {
    color: var(--lp-primary) !important;
}

/* Register form description text */
.woocommerce-account .woocommerce-form-register p:not(.form-row) {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: var(--lp-text-light) !important;
    font-family: var(--lp-font-body) !important;
}

/* Privacy policy text */
.woocommerce-account .woocommerce-privacy-policy-text p {
    font-size: 11px !important;
    color: var(--lp-text-muted) !important;
    line-height: 1.5 !important;
}
.woocommerce-account .woocommerce-privacy-policy-text a {
    color: var(--lp-primary) !important;
    text-decoration: underline !important;
}

/* WooCommerce notices */
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
    border-radius: 12px !important;
    font-family: var(--lp-font-body) !important;
    font-size: 13px !important;
    padding: 16px 20px 16px 48px !important;
    margin-bottom: 24px !important;
}
.woocommerce-account .woocommerce-error {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #991b1b !important;
}
.woocommerce-account .woocommerce-message {
    background: #f0faf4 !important;
    border-color: rgba(245,130,31,0.35) !important;
    color: var(--lp-primary) !important;
}

/* Password input wrapper — flex center the toggle */
.woocommerce-account .woocommerce-form span.password-input {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}
.woocommerce-account .woocommerce-form span.password-input input[type="password"],
.woocommerce-account .woocommerce-form span.password-input input[type="text"] {
    flex: 1 !important;
    padding-right: 44px !important;
}
/* Show/hide password toggle */
.woocommerce-account .woocommerce-form .show-password-input {
    position: absolute !important;
    right: 12px !important;
    background: transparent !important;
    border: none !important;
    color: var(--lp-text-muted) !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 24px !important;
    height: 24px !important;
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.woocommerce-account .woocommerce-form .show-password-input:hover {
    color: var(--lp-primary) !important;
}

/* ── Lost password page ── */
.lp-lost-password {
    max-width: 440px;
    margin: 0 auto;
    padding: 40px 32px;
    background: var(--lp-white);
    border: 1.5px solid var(--lp-border-light);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
    text-align: center;
}
.lp-lost-password__icon {
    width: 68px;
    height: 68px;
    background: var(--lp-crema);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--lp-primary);
}
.lp-lost-password__title {
    font-family: var(--lp-font-heading) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    margin: 0 0 10px !important;
}
.lp-lost-password__desc {
    font-size: 13px;
    color: var(--lp-text-muted);
    line-height: 1.6;
    margin: 0 0 28px;
}
.lp-lost-password__form {
    text-align: left;
}
.lp-lost-password__form .lp-form-row {
    margin-bottom: 20px;
}
.lp-lost-password__form .lp-form-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--lp-text);
    margin-bottom: 6px;
}
.lp-lost-password__form .lp-form-label .required {
    color: var(--lp-accent);
    margin-left: 2px;
}
.lp-lost-password__form .lp-form-input {
    width: 100% !important;
    min-height: 46px !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-family: var(--lp-font-body) !important;
    color: var(--lp-text) !important;
    background: var(--lp-white) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box !important;
}
.lp-lost-password__form .lp-form-input:focus {
    border-color: var(--lp-primary) !important;
    box-shadow: 0 0 0 3px rgba(245,130,31,0.12) !important;
    outline: none !important;
}
.lp-lost-password .lp-lost-password__btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 48px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: var(--lp-font-body) !important;
    cursor: pointer !important;
    transition: background 0.2s ease, box-shadow 0.2s ease !important;
    margin-top: 4px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    padding: 0 20px !important;
}
.lp-lost-password .lp-lost-password__btn:hover {
    background: var(--lp-primary-light) !important;
    box-shadow: 0 4px 12px rgba(245,130,31,0.2) !important;
}
.lp-lost-password__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 24px;
    font-size: 13px;
    color: var(--lp-text-muted) !important;
    text-decoration: none !important;
    transition: color 0.15s;
}
.lp-lost-password__back:hover {
    color: var(--lp-primary) !important;
}

/* ── Responsive (pre-login) ── */
@media (max-width: 768px) {
    .woocommerce-account .u-columns.col2-set {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .woocommerce-account:not(.logged-in) .entry-content {
        padding: 0 16px !important;
    }
    .lp-lost-password {
        padding: 28px 20px;
    }
}

/* ═══════════════════════════════════════════════
   MY ACCOUNT — Dashboard (Post-login)
   ═══════════════════════════════════════════════ */

/* Page title */
.woocommerce-account.logged-in .entry-title,
.woocommerce-account.logged-in .page-title {
    font-family: var(--lp-font-heading) !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    margin-bottom: 32px !important;
}

/* Layout — grid instead of floats (target the correct .woocommerce that holds nav + content) */
.woocommerce-account.logged-in .entry-content > .woocommerce {
    display: grid !important;
    grid-template-columns: 240px 1fr !important;
    gap: 32px !important;
    align-items: start !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}
.woocommerce-account.logged-in .entry-content > .woocommerce::before,
.woocommerce-account.logged-in .entry-content > .woocommerce::after {
    display: none !important;
}

/* ── Navigation sidebar ── */
.woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    background: var(--lp-white) !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.05) !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 100px !important;
}

/* ── User header inside nav ── */
.lp-account-nav__user {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 20px 16px 16px !important;
    border-bottom: 1px solid var(--lp-border) !important;
}
.lp-account-nav__avatar {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    font-family: var(--lp-font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.lp-account-nav__user-info {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}
.lp-account-nav__user-name {
    font-family: var(--lp-font-heading) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.lp-account-nav__user-email {
    font-size: 11px !important;
    color: var(--lp-text-light) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: 1px !important;
}

/* ── Nav list ── */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 8px !important;
}
.woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
    border-top: none !important;
}

/* Group section labels */
.lp-account-nav__group-label {
    font-family: var(--lp-font-body) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--lp-text-light) !important;
    padding: 12px 12px 4px !important;
    margin-top: 4px !important;
    pointer-events: none !important;
    opacity: 0.6 !important;
}
.lp-account-nav__group-label:first-child {
    margin-top: 0 !important;
}

/* Nav links */
.woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    min-height: 42px !important;
    border-radius: 10px !important;
    color: var(--lp-text-light) !important;
    font-family: var(--lp-font-body) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    cursor: pointer !important;
}
.woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--lp-light) !important;
    color: var(--lp-primary) !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
    background: #e8f0ec !important;
    color: var(--lp-primary) !important;
    font-weight: 600 !important;
}

/* Logout separator */
.lp-account-nav__logout-item {
    margin-top: 4px !important;
    padding-top: 4px !important;
    border-top: 1px solid var(--lp-border-light) !important;
}
.lp-account-nav__logout-item a,
.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #dc2626 !important;
}
.lp-account-nav__logout-item a:hover,
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #dc2626 !important;
    background: #fef2f2 !important;
}

/* ── Navigation icons via SVG mask ── */
.woocommerce-MyAccount-navigation ul li a::before {
    content: '' !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    background-color: currentColor !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    opacity: 0.75 !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a::before,
.woocommerce-MyAccount-navigation ul li a:hover::before {
    opacity: 1 !important;
}
/* Dashboard */
.woocommerce-MyAccount-navigation-link--dashboard a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25'/%3E%3C/svg%3E") !important;
}
/* Orders */
.woocommerce-MyAccount-navigation-link--orders a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z'/%3E%3C/svg%3E") !important;
}
/* Downloads */
.woocommerce-MyAccount-navigation-link--downloads a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E") !important;
}
/* Addresses */
.woocommerce-MyAccount-navigation-link--edit-address a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E") !important;
}
/* Account details */
.woocommerce-MyAccount-navigation-link--edit-account a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3C/svg%3E") !important;
}
/* Plan Ahorro */
.woocommerce-MyAccount-navigation-link--plan-ahorro a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z'/%3E%3C/svg%3E") !important;
}
/* Mis Puntos */
.woocommerce-MyAccount-navigation-link--puntos-rewards a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z'/%3E%3C/svg%3E") !important;
}
/* Logout */
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15m-3 0-3-3m0 0 3-3m-3 3H15'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15m-3 0-3-3m0 0 3-3m-3 3H15'/%3E%3C/svg%3E") !important;
}

/* ── Content area ── */
.woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    background: var(--lp-white) !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 32px rgba(0,0,0,0.06) !important;
    padding: 32px !important;
    font-family: var(--lp-font-body) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--lp-text-light) !important;
}
.woocommerce-MyAccount-content p {
    font-family: var(--lp-font-body) !important;
    color: var(--lp-text-light) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}
.woocommerce-MyAccount-content a {
    color: var(--lp-primary) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.woocommerce-MyAccount-content a:hover {
    color: var(--lp-primary-light) !important;
    text-decoration: underline !important;
}

/* ── Orders table ── */
.woocommerce-MyAccount-content .woocommerce-orders-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-family: var(--lp-font-body) !important;
    font-size: 13px !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th {
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 12px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--lp-border) !important;
    -webkit-font-smoothing: auto !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th:first-child {
    border-radius: 10px 0 0 0 !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th:last-child {
    border-radius: 0 10px 0 0 !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table td {
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    color: var(--lp-text-light) !important;
    vertical-align: middle !important;
    -webkit-font-smoothing: auto !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
    display: inline-block !important;
    padding: 8px 16px !important;
    min-height: 36px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    transition: background 0.2s ease;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
    background: var(--lp-primary-light) !important;
    text-decoration: none !important;
}

/* ── Forms inside content (addresses, account details) ── */
.woocommerce-MyAccount-content .woocommerce-address-fields input,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="text"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="email"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="password"],
.woocommerce-MyAccount-content select {
    width: 100% !important;
    min-height: 46px !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-family: var(--lp-font-body) !important;
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box !important;
}
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus {
    border-color: var(--lp-primary) !important;
    box-shadow: 0 0 0 3px rgba(245,130,31,0.12) !important;
    outline: none !important;
    background: var(--lp-white) !important;
}
.woocommerce-MyAccount-content label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
    font-family: var(--lp-font-body) !important;
    display: block !important;
    margin-bottom: 6px !important;
}

/* Password toggle in account details */
.woocommerce-MyAccount-content span.password-input {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}
.woocommerce-MyAccount-content span.password-input input {
    flex: 1 !important;
    padding-right: 44px !important;
}
.woocommerce-MyAccount-content .show-password-input {
    position: absolute !important;
    right: 12px !important;
    background: transparent !important;
    border: none !important;
    color: var(--lp-text-muted) !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 24px !important;
    height: 24px !important;
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.woocommerce-MyAccount-content .show-password-input:hover {
    color: var(--lp-primary) !important;
}

/* Save buttons */
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .button {
    min-height: 48px !important;
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 32px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: var(--lp-font-body) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: background 0.2s ease;
}
.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content .button:hover {
    background: var(--lp-primary-light) !important;
}

/* ── Address cards ── */
.woocommerce-MyAccount-content .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}
.woocommerce-MyAccount-content .woocommerce-Address {
    background: var(--lp-light) !important;
    border: 1px solid var(--lp-border-light) !important;
    border-radius: 12px !important;
    padding: 24px !important;
}
.woocommerce-MyAccount-content .woocommerce-Address header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
    font-family: var(--lp-font-heading) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    margin: 0 !important;
}
.woocommerce-MyAccount-content .woocommerce-Address-title a {
    font-size: 12px !important;
    padding: 6px 12px !important;
    background: var(--lp-white) !important;
    border: 1px solid var(--lp-border) !important;
    border-radius: 6px !important;
    color: var(--lp-text-light) !important;
    text-decoration: none !important;
}
.woocommerce-MyAccount-content .woocommerce-Address-title a:hover {
    border-color: var(--lp-primary) !important;
    color: var(--lp-primary) !important;
    text-decoration: none !important;
}

/* ── No orders / empty states ── */
.woocommerce-MyAccount-content .woocommerce-info {
    background: var(--lp-light) !important;
    border: 1px solid var(--lp-border-light) !important;
    border-left: 4px solid var(--lp-primary) !important;
    border-radius: 10px !important;
    padding: 20px 24px !important;
    color: var(--lp-text-light) !important;
    font-size: 14px !important;
}
.woocommerce-MyAccount-content .woocommerce-info a.button {
    display: inline-block !important;
    margin-top: 12px !important;
}

/* ── Responsive (post-login) ── */
@media (max-width: 768px) {
    .woocommerce-account.logged-in .entry-content > .woocommerce {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .woocommerce-MyAccount-navigation {
        position: static !important;
    }
    .lp-account-nav__user {
        padding: 16px 14px 12px !important;
    }
    .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 2px !important;
        padding: 8px !important;
    }
    .lp-account-nav__group-label {
        width: 100% !important;
        padding: 8px 8px 2px !important;
    }
    .woocommerce-MyAccount-navigation ul li:not(.lp-account-nav__group-label):not(.lp-account-nav__logout-item) {
        flex: 1 1 auto !important;
    }
    .lp-account-nav__logout-item {
        width: 100% !important;
    }
    .woocommerce-MyAccount-navigation ul li a {
        padding: 9px 10px !important;
        font-size: 12.5px !important;
        justify-content: center !important;
    }
    .woocommerce-MyAccount-content {
        padding: 20px 16px !important;
    }
    .woocommerce-MyAccount-content .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}

/* === SHIPPING PROGRESS BAR === */

.lp-ship-bar {
    padding: 14px 16px 12px;
    border-radius: 10px;
    background: var(--lp-light);
    border: 1px solid var(--lp-border);
    margin-bottom: 16px;
}

.lp-ship-bar--reached {
    background: #edf7f1;
    border-color: rgba(245,130,31,0.35);
}

.lp-ship-bar__msg {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--lp-text);
    margin: 0 0 10px;
    line-height: 1.4;
}

.lp-ship-bar__msg strong {
    color: var(--lp-primary);
}

.lp-ship-bar--reached .lp-ship-bar__msg {
    color: #E07318;
}

.lp-ship-bar--reached .lp-ship-bar__msg strong {
    color: #E07318;
}

.lp-ship-bar__icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--lp-primary);
}

.lp-ship-bar--reached .lp-ship-bar__icon {
    color: #E07318;
}

/* Track + fill */
.lp-ship-bar__track {
    height: 7px;
    background: #d9d5cd;
    border-radius: 999px;
    overflow: hidden;
}

.lp-ship-bar__fill {
    height: 100%;
    background: var(--lp-primary);
    border-radius: 999px;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 4px;
}

.lp-ship-bar--reached .lp-ship-bar__fill {
    background: #2d7a4f;
}

/* ── Variante mini-cart ── */
.lp-ship-bar--mini {
    margin: 12px 0 4px;
    border-radius: 8px;
    padding: 12px 14px 10px;
}

.lp-ship-bar--mini .lp-ship-bar__msg {
    font-size: 12.5px;
    margin-bottom: 8px;
}

.lp-ship-bar--mini .lp-ship-bar__icon {
    width: 16px;
    height: 16px;
}

.lp-ship-bar--mini .lp-ship-bar__track {
    height: 5px;
}

/* ── Toast post add-to-cart ── */
.lp-ship-toast {
    position: fixed;
    bottom: -100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999998;
    width: calc(100% - 32px);
    max-width: 420px;
    background: var(--lp-primary);
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.22);
    overflow: hidden;
    transition: bottom 0.38s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
}

.lp-ship-toast.is-visible {
    bottom: 20px;
    pointer-events: auto;
}

.lp-ship-toast__inner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
}

.lp-ship-toast__icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: rgba(255,255,255,0.85);
}

.lp-ship-toast__msg {
    flex: 1;
    font-size: 13.5px;
    line-height: 1.4;
    color: rgba(255,255,255,0.95);
}

.lp-ship-toast__msg strong {
    color: #fff;
    font-weight: 700;
}

.lp-ship-toast__close {
    background: none !important;
    border: none !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 20px;
    line-height: 1;
    padding: 0 0 0 8px !important;
    cursor: pointer;
    flex-shrink: 0;
}

.lp-ship-toast__close:hover {
    color: #fff !important;
}

/* Barra de tiempo bajo el toast */
.lp-ship-toast__timer {
    height: 3px;
    background: rgba(255,255,255,0.25);
}

.lp-ship-toast__timer-fill {
    height: 100%;
    background: rgba(255,255,255,0.6);
    width: 100%;
    transform-origin: left;
    animation: lp-toast-timer 4s linear forwards;
}

@keyframes lp-toast-timer {
    to { transform: scaleX(0); }
}

/* Mobile: toast ocupa más ancho */
@media (max-width: 480px) {
    .lp-ship-toast {
        width: calc(100% - 24px);
        border-radius: 10px;
    }
    .lp-ship-toast.is-visible {
        bottom: 12px;
    }
}

/* === ADD TO CART ANIMATION === */

/* Ocultar enlace "Ver carrito" inline que WC inyecta tras el botón —
   la notificación WC ya incluye su propio CTA "VER CARRITO" */
a.added_to_cart.wc-forward {
    display: none !important;
}

/* Burbuja voladora */
.lp-atc-bubble {
    position: fixed;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--lp-primary);
    border: 2px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0 4px 16px rgba(245, 130, 31, 0.45);
    pointer-events: none;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    will-change: transform, opacity;
}

.lp-atc-bubble::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: #fff;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Bounce del icono del carrito al recibir la burbuja */
.lp-cart-bounce {
    animation: lp-cart-bounce 0.55s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes lp-cart-bounce {
    0%   { transform: scale(1)    rotate(0deg); }
    20%  { transform: scale(1.35) rotate(-12deg); }
    40%  { transform: scale(1.15) rotate(6deg); }
    60%  { transform: scale(1.25) rotate(-5deg); }
    80%  { transform: scale(1.05) rotate(2deg); }
    100% { transform: scale(1)    rotate(0deg); }
}

/* Pop del badge de cantidad */
.lp-badge-pop {
    animation: lp-badge-pop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}

@keyframes lp-badge-pop {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.9); background-color: var(--lp-accent); color: #fff; }
    100% { transform: scale(1); }
}

/* Flash de éxito en el botón "Añadir al carrito" */
.single_add_to_cart_button.lp-btn-success {
    background-color: #2d7a4f !important;
    border-color: #2d7a4f !important;
    pointer-events: none;
}

/* === ASTRA CART FLYOUT DRAWER === */

/* Overlay */
.astra-mobile-cart-overlay {
    background: rgba(15, 31, 23, 0.5) !important;
    backdrop-filter: blur(2px);
}

/* Drawer container */
#astra-mobile-cart-drawer.astra-cart-drawer {
    background: var(--lp-white) !important;
    border-left: none;
    box-shadow: -4px 0 32px rgba(0,0,0,0.15) !important;
}

/* Drawer header bar */
.astra-cart-drawer-header {
    background: var(--lp-primary) !important;
    border-bottom: none !important;
    padding: 18px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px;
}

.astra-cart-drawer-title {
    color: var(--lp-white) !important;
    font-family: var(--lp-font-heading) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    flex: 1;
}

/* Close button */
button.astra-cart-drawer-close {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: var(--lp-white) !important;
    border-radius: 50% !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s !important;
    order: -1;
}
button.astra-cart-drawer-close:hover,
button.astra-cart-drawer-close:focus {
    background: rgba(255,255,255,0.28) !important;
    outline: none !important;
}
button.astra-cart-drawer-close svg {
    width: 16px !important;
    height: 16px !important;
    fill: var(--lp-white) !important;
    stroke: var(--lp-white);
}

/* Drawer content area: dejar que Astra gestione el padding-top (compensa la cabecera absolute) */

/* Mini-cart widget: imagen redondeada, sin más overrides de layout */
#astra-mobile-cart-drawer .woocommerce-mini-cart-item img {
    border-radius: var(--lp-radius-sm) !important;
    border: 1px solid var(--lp-border) !important;
}

/* Botón eliminar: color muted en lugar del naranja de Astra */
#astra-mobile-cart-drawer .woocommerce-mini-cart-item .remove_from_cart_button {
    color: var(--lp-text-muted) !important;
    background: none !important;
}
#astra-mobile-cart-drawer .woocommerce-mini-cart-item .remove_from_cart_button:hover {
    color: var(--lp-danger) !important;
    background: none !important;
}

/* Subtotal row */
#astra-mobile-cart-drawer .woocommerce-mini-cart__total {
    padding: 14px 16px !important;
    border-top: 2px solid var(--lp-border) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 0 !important;
    background: var(--lp-light) !important;
}
#astra-mobile-cart-drawer .woocommerce-mini-cart__total strong {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
}
#astra-mobile-cart-drawer .woocommerce-mini-cart__total .amount {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--lp-primary) !important;
}

/* Shipping bar inside drawer */
#astra-mobile-cart-drawer .lp-ship-bar-wrap {
    padding: 0 16px !important;
}

/* Buttons area */
#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons {
    padding: 14px 16px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
}

/* Ver Carrito button */
#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons .button:first-child {
    background: transparent !important;
    color: var(--lp-primary) !important;
    border: 2px solid var(--lp-primary) !important;
    border-radius: var(--lp-radius-md) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 13px !important;
    text-align: center !important;
    transition: var(--lp-transition) !important;
}
#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons .button:first-child:hover {
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
}

/* Finalizar Compra button */
#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons .checkout.wc-forward {
    background: var(--lp-primary) !important;
    color: var(--lp-white) !important;
    border: 2px solid var(--lp-primary) !important;
    border-radius: var(--lp-radius-md) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 14px !important;
    text-align: center !important;
    transition: var(--lp-transition) !important;
}
#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons .checkout.wc-forward:hover {
    background: var(--lp-primary-light) !important;
    border-color: var(--lp-primary-light) !important;
}

/* Empty cart message */
#astra-mobile-cart-drawer .woocommerce-mini-cart__empty-message {
    padding: 40px 20px !important;
    text-align: center !important;
    color: var(--lp-text-muted) !important;
    font-size: 15px !important;
}

/* === THANK YOU PAGE === */

.lp-thankyou {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 16px 60px;
}

/* Botones reutilizables */
.lp-thankyou .lp-btn {
    display: inline-block;
    padding: 13px 28px;
    border-radius: var(--lp-radius-md);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    transition: var(--lp-transition);
    cursor: pointer;
    border: 2px solid transparent;
}
.lp-thankyou .lp-btn--primary {
    background: var(--lp-primary);
    color: var(--lp-white);
    border-color: var(--lp-primary);
}
.lp-thankyou .lp-btn--primary:hover {
    background: var(--lp-primary-light);
    border-color: var(--lp-primary-light);
    color: var(--lp-white);
}
.lp-thankyou .lp-btn--outline {
    background: transparent;
    color: var(--lp-primary);
    border-color: var(--lp-primary);
}
.lp-thankyou .lp-btn--outline:hover {
    background: var(--lp-primary);
    color: var(--lp-white);
}
.lp-thankyou .lp-btn--ghost {
    background: transparent;
    color: var(--lp-text-light);
    border-color: var(--lp-border);
}
.lp-thankyou .lp-btn--ghost:hover {
    border-color: var(--lp-primary);
    color: var(--lp-primary);
}

/* Hero */
.lp-thankyou__hero {
    text-align: center;
    padding: 40px 20px 32px;
}
.lp-thankyou__hero-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #e8f5ee;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--lp-primary);
}
.lp-thankyou__hero-icon svg {
    width: 36px;
    height: 36px;
}
.lp-thankyou__hero--failed .lp-thankyou__hero-icon {
    background: #fef2f2;
    color: var(--lp-danger);
}
.lp-thankyou__hero-title {
    font-size: 26px;
    font-weight: 700;
    color: var(--lp-text);
    margin: 0 0 10px;
    line-height: 1.2;
}
.lp-thankyou__hero-sub {
    font-size: 15px;
    color: var(--lp-text-light);
    margin: 0 0 14px;
    line-height: 1.6;
}
.lp-thankyou__hero-email {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: var(--lp-text-muted);
    background: var(--lp-light);
    border: 1px solid var(--lp-border);
    border-radius: 20px;
    padding: 6px 14px;
    margin: 0;
}
.lp-thankyou__hero-email svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
.lp-thankyou__failed-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Sección título */
.lp-thankyou__section-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lp-text-muted);
    margin: 0 0 16px;
}

/* Próximos pasos */
.lp-thankyou__steps {
    background: var(--lp-white);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-lg);
    padding: 24px 20px;
    margin-bottom: 20px;
}
.lp-thankyou__steps-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.lp-thankyou__step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-thankyou__step:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.lp-thankyou__step:first-child {
    padding-top: 0;
}
.lp-thankyou__step-num {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background: var(--lp-primary);
    color: var(--lp-white);
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lp-thankyou__step-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: 5px;
}
.lp-thankyou__step-body strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--lp-text);
}
.lp-thankyou__step-body span {
    font-size: 13px;
    color: var(--lp-text-light);
    line-height: 1.5;
}

/* Resumen del pedido */
.lp-thankyou__order {
    background: var(--lp-white);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-lg);
    padding: 24px 20px;
    margin-bottom: 20px;
}

/* Meta (número, fecha, pago, total) */
.lp-thankyou__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-thankyou__meta-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.lp-thankyou__meta-item--total {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: var(--lp-light);
    border-radius: var(--lp-radius-sm);
    padding: 10px 14px;
}
.lp-thankyou__meta-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lp-text-muted);
}
.lp-thankyou__meta-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--lp-text);
}
.lp-thankyou__total-amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--lp-primary);
}

/* Items */
.lp-thankyou__items {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
}
.lp-thankyou__item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-thankyou__item:last-child {
    border-bottom: none;
}
.lp-thankyou__item-thumb {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: var(--lp-radius-sm);
    overflow: hidden;
    border: 1px solid var(--lp-border);
    background: var(--lp-light);
}
.lp-thankyou__item-img {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover !important;
}
.lp-thankyou__item-img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lp-border);
}
.lp-thankyou__item-img-placeholder svg {
    width: 22px;
    height: 22px;
}
.lp-thankyou__item-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.lp-thankyou__item-name {
    font-size: 14px;
    font-weight: 500;
    color: var(--lp-text);
    line-height: 1.4;
}
.lp-thankyou__item-meta {
    font-size: 12px;
    color: var(--lp-text-muted);
}
.lp-thankyou__item-qty {
    font-size: 12px;
    color: var(--lp-text-muted);
}
.lp-thankyou__item-price {
    font-size: 14px;
    font-weight: 600;
    color: var(--lp-text);
    white-space: nowrap;
}

/* Totales */
.lp-thankyou__totals {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 2px solid var(--lp-border);
}
.lp-thankyou__totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
    font-size: 14px;
    color: var(--lp-text-light);
}
.lp-thankyou__totals-row--discount {
    color: var(--lp-success);
}
.lp-thankyou__totals-row--discount em {
    font-style: normal;
    font-size: 12px;
    background: #f0fdf4;
    padding: 1px 6px;
    border-radius: 4px;
    margin-left: 4px;
}
.lp-thankyou__totals-row--free .lp-thankyou__free-shipping {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--lp-success);
    font-weight: 600;
    font-size: 13px;
}
.lp-thankyou__totals-row--total {
    font-size: 16px;
    font-weight: 700;
    color: var(--lp-text);
    margin-top: 6px;
    padding-top: 10px;
    border-top: 1px solid var(--lp-border-light);
}
.lp-thankyou__totals-row--total span:last-child {
    color: var(--lp-primary);
    font-size: 18px;
}

/* Dirección */
.lp-thankyou__address {
    background: var(--lp-white);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-lg);
    padding: 24px 20px;
    margin-bottom: 20px;
}
.lp-thankyou__address-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.lp-thankyou__address-icon {
    width: 20px;
    height: 20px;
    min-width: 20px;
    color: var(--lp-primary);
    margin-top: 2px;
}
.lp-thankyou__address-card address {
    font-style: normal;
    font-size: 14px;
    color: var(--lp-text-light);
    line-height: 1.7;
}

/* CTA final */
.lp-thankyou__cta {
    margin-top: 8px;
}
.lp-thankyou__cta-inner {
    background: var(--lp-primary);
    border-radius: var(--lp-radius-lg);
    padding: 32px 24px;
    text-align: center;
    color: var(--lp-white);
}
.lp-thankyou__cta-fish {
    color: var(--lp-white);
    margin-bottom: 12px;
}
.lp-thankyou__cta-fish svg {
    width: 80px;
    height: 40px;
}
.lp-thankyou__cta-inner p {
    font-size: 17px;
    font-weight: 600;
    color: var(--lp-white);
    margin: 0 0 20px;
    opacity: 0.95;
}
.lp-thankyou__cta-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.lp-thankyou__cta-inner .lp-btn--primary {
    background: var(--lp-white);
    color: var(--lp-primary);
    border-color: var(--lp-white);
}
.lp-thankyou__cta-inner .lp-btn--primary:hover {
    background: var(--lp-light);
    border-color: var(--lp-light);
    color: var(--lp-primary);
}
.lp-thankyou__cta-inner .lp-btn--ghost {
    background: transparent;
    color: rgba(255,255,255,0.8);
    border-color: rgba(255,255,255,0.35);
}
.lp-thankyou__cta-inner .lp-btn--ghost:hover {
    border-color: var(--lp-white);
    color: var(--lp-white);
}

/* Checkbox "Crear cuenta" en el checkout — más visible y atractivo */
.woocommerce-account-fields {
    background: var(--lp-light);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-md);
    padding: 14px 16px;
    margin-top: 16px;
}
.woocommerce-account-fields label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--lp-text);
    cursor: pointer;
}
.woocommerce-account-fields input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    accent-color: var(--lp-primary);
    cursor: pointer;
}
.woocommerce-account-fields .woocommerce-form__label-for-checkbox span {
    font-size: 13px;
    color: var(--lp-text-muted);
    display: block;
    font-weight: 400;
    margin-top: 2px;
    padding-left: 28px;
}

/* Collapsible "¿Ya tienes cuenta?" en checkout — estilo sutil */
.woocommerce-info.wc_payment_method {
    display: none;
}
p.woocommerce-returning-customer {
    background: var(--lp-light);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-md);
    padding: 12px 16px;
    font-size: 13px;
    color: var(--lp-text-light);
    margin-bottom: 20px;
}
p.woocommerce-returning-customer a {
    color: var(--lp-primary);
    font-weight: 600;
    text-decoration: none;
}
p.woocommerce-returning-customer a:hover {
    text-decoration: underline;
}

/* Bloque crear cuenta (invitados) */
.lp-thankyou__register {
    background: var(--lp-white);
    border: 2px solid var(--lp-primary);
    border-radius: var(--lp-radius-lg);
    padding: 24px 20px;
    margin-bottom: 20px;
}
.lp-thankyou__register-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}
.lp-thankyou__register-header > svg {
    width: 28px;
    height: 28px;
    min-width: 28px;
    color: var(--lp-primary);
    margin-top: 2px;
}
.lp-thankyou__register-header > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.lp-thankyou__register-header strong {
    font-size: 15px;
    font-weight: 700;
    color: var(--lp-text);
    line-height: 1.3;
}
.lp-thankyou__register-header span {
    font-size: 13px;
    color: var(--lp-text-light);
    line-height: 1.5;
}
.lp-thankyou__register-perks {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.lp-thankyou__register-perks li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--lp-text-light);
}
.lp-thankyou__register-perks li svg {
    width: 15px;
    height: 15px;
    min-width: 15px;
    color: var(--lp-primary);
}
.lp-thankyou__register-note {
    font-size: 12px;
    color: var(--lp-text-muted);
    background: var(--lp-light);
    border-radius: var(--lp-radius-sm);
    padding: 8px 12px;
    margin: 0 0 14px;
    line-height: 1.5;
}
.lp-thankyou__register-btn {
    width: 100%;
    justify-content: center;
    font-size: 14px;
}


/* ══════════════════════════════════════════════════════
   SISTEMA DE SEGUIMIENTO — CORREOS EXPRESS
   (Mi Cuenta: columna + detalle; emails WC)
══════════════════════════════════════════════════════ */

/* ── Columna "Seguimiento" en la lista de pedidos ── */
.woocommerce-MyAccount-orders .lp-tracking-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--lp-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    padding: 4px 10px;
    border: 1.5px solid var(--lp-primary);
    border-radius: 20px;
    transition: background 0.18s, color 0.18s;
    white-space: nowrap;
}
.woocommerce-MyAccount-orders .lp-tracking-link:hover {
    background: var(--lp-primary);
    color: #fff;
}
.woocommerce-MyAccount-orders .lp-tracking-link svg {
    flex-shrink: 0;
}
.lp-tracking-pending {
    font-size: 12px;
    color: var(--lp-text-muted);
    font-style: italic;
}

/* ── Panel de seguimiento en el detalle del pedido ── */
.lp-tracking-panel {
    border: 1.5px solid #d1e8da;
    border-radius: var(--lp-radius);
    overflow: hidden;
    margin: 0 0 28px;
    font-family: 'Inter', -apple-system, sans-serif;
}
.lp-tracking-panel__header {
    background: #f0faf4;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    border-bottom: 1px solid #d1e8da;
}
.lp-tracking-panel__header svg {
    width: 28px;
    height: 28px;
    min-width: 28px;
    color: var(--lp-primary);
}
.lp-tracking-panel__header strong {
    display: block;
    font-size: 14px;
    color: var(--lp-text);
    font-weight: 700;
    line-height: 1.3;
}
.lp-tracking-panel__header span {
    display: block;
    font-size: 12px;
    color: var(--lp-text-muted);
    margin-top: 2px;
}
.lp-tracking-panel__body {
    padding: 20px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.lp-tracking-panel__num-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.lp-tracking-panel__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lp-text-muted);
}
.lp-tracking-panel__num {
    font-family: monospace;
    font-size: 20px;
    font-weight: 700;
    color: var(--lp-primary);
    letter-spacing: 0.04em;
}
.lp-tracking-panel__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--lp-primary);
    color: #fff !important;
    text-decoration: none;
    padding: 11px 20px;
    border-radius: var(--lp-radius-sm);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: opacity 0.18s;
    white-space: nowrap;
}
.lp-tracking-panel__btn:hover {
    opacity: 0.88;
}
.lp-tracking-panel__btn svg {
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .lp-tracking-panel__body {
        flex-direction: column;
        align-items: flex-start;
    }
    .lp-tracking-panel__btn {
        width: 100%;
        justify-content: center;
    }
}

/* ── Force white text on ALL La Pintona green anchor-buttons (beat Astra + MyAccount a rules) ── */
a.lp-tracking-panel__btn,
a.lp-tracking-panel__btn:link,
a.lp-tracking-panel__btn:visited,
a.lp-tracking-panel__btn:hover,
.woocommerce-MyAccount-content a.lp-tracking-panel__btn,
a.lp-dashboard__hero-cta,
a.lp-dashboard__hero-cta:link,
a.lp-dashboard__hero-cta:visited,
a.lp-dashboard__hero-cta:hover,
.woocommerce-MyAccount-content a.lp-dashboard__hero-cta,
a.lp-dashboard__order-btn,
a.lp-dashboard__order-btn:link,
a.lp-dashboard__order-btn:visited,
a.lp-dashboard__order-btn:hover,
.woocommerce-MyAccount-content a.lp-dashboard__order-btn,
a.lp-dashboard__cta-btn,
a.lp-dashboard__cta-btn:link,
a.lp-dashboard__cta-btn:visited,
a.lp-dashboard__cta-btn:hover,
.woocommerce-MyAccount-content a.lp-dashboard__cta-btn {
    color: #ffffff !important;
    text-decoration: none !important;
}
a.lp-dashboard__shortcut,
a.lp-dashboard__shortcut:link,
a.lp-dashboard__shortcut:visited,
.woocommerce-MyAccount-content a.lp-dashboard__shortcut {
    color: var(--lp-text-light) !important;
    text-decoration: none !important;
}
a.lp-dashboard__shortcut:hover,
.woocommerce-MyAccount-content a.lp-dashboard__shortcut:hover {
    color: var(--lp-primary) !important;
}
a.lp-dashboard__order-track,
a.lp-dashboard__order-track:link,
a.lp-dashboard__order-track:visited,
.woocommerce-MyAccount-content a.lp-dashboard__order-track {
    color: var(--lp-primary) !important;
    text-decoration: none !important;
}
a.lp-dashboard__order-track:hover,
.woocommerce-MyAccount-content a.lp-dashboard__order-track:hover {
    color: #fff !important;
}
a.lp-dashboard__section-link,
.woocommerce-MyAccount-content a.lp-dashboard__section-link {
    color: var(--lp-primary) !important;
    text-decoration: none !important;
}


/* ══════════════════════════════════════════════════════
   MI CUENTA — MEJORAS UI/UX
══════════════════════════════════════════════════════ */

/* ── 1. Título de página con SVG + subrayado (igual que carrito/checkout) ── */
.woocommerce-account.logged-in .entry-title,
.woocommerce-account.logged-in .page-title {
    font-size: 2rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 36px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    position: relative !important;
    padding-bottom: 16px !important;
}
.woocommerce-account.logged-in .entry-title::before,
.woocommerce-account.logged-in .page-title::before {
    content: '' !important;
    display: inline-block !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    background-color: var(--lp-primary) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
}
.woocommerce-account.logged-in .entry-title::after,
.woocommerce-account.logged-in .page-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, var(--lp-primary), transparent) !important;
    border-radius: 2px !important;
}


/* ── 2. Dashboard personalizado ── */
.lp-dashboard {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-family: var(--lp-font-body);
}

/* Hero */
.lp-dashboard__hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.lp-dashboard__hello {
    font-family: var(--lp-font-heading);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--lp-text);
    margin: 0 0 4px !important;
}
.lp-dashboard__sub {
    font-size: 14px;
    color: var(--lp-text-muted);
    margin: 0 !important;
}
.lp-dashboard__hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--lp-primary);
    color: #fff !important;
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: opacity 0.18s;
}
.lp-dashboard__hero-cta:hover { opacity: 0.88; }

/* Stats */
.lp-dashboard__stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.lp-dashboard__stat {
    background: var(--lp-light);
    border: 1px solid var(--lp-border-light);
    border-radius: 12px;
    padding: 18px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.lp-dashboard__stat--accent {
    background: #f0faf4;
    border-color: #c8e6d4;
}
.lp-dashboard__stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--lp-white);
    border-radius: 8px;
    border: 1px solid var(--lp-border-light);
    margin-bottom: 2px;
}
.lp-dashboard__stat-icon svg {
    width: 18px;
    height: 18px;
    color: var(--lp-primary);
}
.lp-dashboard__stat--accent .lp-dashboard__stat-icon {
    background: #e6f4ec;
    border-color: #c8e6d4;
}
.lp-dashboard__stat-value {
    font-family: var(--lp-font-body);
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--lp-text);
    line-height: 1;
}
.lp-dashboard__stat-value .woocommerce-Price-amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
.lp-dashboard__stat-label {
    font-size: 11px;
    font-weight: 500;
    color: var(--lp-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Savings bar */
.lp-dashboard__savings-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f0faf4;
    border: 1px solid #c8e6d4;
    border-radius: 10px;
    padding: 14px 18px;
    font-size: 13.5px;
    color: #E07318;
    font-weight: 500;
}
.lp-dashboard__savings-bar svg { flex-shrink: 0; color: #16a34a; }
.lp-dashboard__savings-bar strong { color: var(--lp-primary); }

/* ── Plan Ahorro card ── */
.lp-dashboard__plan {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 20px;
}
.lp-dashboard__plan--active {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    border: 1px solid #fed7aa;
}
.lp-dashboard__plan--inactive {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}
.lp-dashboard__plan-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #F5821F;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lp-dashboard__plan-icon--inactive {
    background: #d1d5db;
}
.lp-dashboard__plan-info {
    flex: 1;
    min-width: 0;
}
.lp-dashboard__plan-title {
    font-size: 14px;
    font-weight: 700;
    color: #2A2A2A;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.lp-dashboard__plan-tag {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 2px 8px;
    border-radius: 20px;
    line-height: 1.4;
}
.lp-dashboard__plan-tag--active {
    background: rgba(22,163,74,.12);
    color: #16a34a;
}
.lp-dashboard__plan-detail {
    font-size: 13px;
    color: #6b7280;
    margin-top: 2px;
    line-height: 1.5;
}
.lp-dashboard__plan-detail strong {
    color: #F5821F;
    font-weight: 700;
}
a.lp-dashboard__plan-btn,
a.lp-dashboard__plan-btn:link,
a.lp-dashboard__plan-btn:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    flex-shrink: 0;
    background: #F5821F !important;
    color: #fff !important;
    transition: background .2s, transform .15s;
    box-shadow: 0 2px 8px rgba(245,130,31,.18);
}
a.lp-dashboard__plan-btn:hover {
    background: #E07318 !important;
    transform: translateY(-1px);
    color: #fff !important;
}
a.lp-dashboard__plan-btn--cta,
a.lp-dashboard__plan-btn--cta:link,
a.lp-dashboard__plan-btn--cta:visited {
    background: linear-gradient(135deg, #E07318, #F5821F) !important;
    color: #fff !important;
}

@media (max-width: 600px) {
    .lp-dashboard__plan {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

/* Sections */
.lp-dashboard__section {
    border: 1px solid var(--lp-border-light);
    border-radius: 12px;
    overflow: hidden;
}
.lp-dashboard__section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: var(--lp-light);
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-dashboard__section-title {
    font-family: var(--lp-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--lp-text) !important;
    margin: 0 !important;
}
.lp-dashboard__section-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--lp-primary) !important;
    text-decoration: none !important;
}

/* Order rows */
.lp-dashboard__orders { background: var(--lp-white); }
.lp-dashboard__order-row {
    display: grid;
    grid-template-columns: auto auto 1fr auto auto auto;
    align-items: center;
    gap: 16px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--lp-border-light);
    font-size: 13px;
}
.lp-dashboard__order-row:last-child { border-bottom: none; }

/* Order thumbnail */
.lp-dashboard__order-thumb-wrap { display: flex; align-items: center; }
.lp-dashboard__order-thumb {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
    border: 1.5px solid var(--lp-border-light);
    display: block;
}
.lp-dashboard__order-thumb--placeholder {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    border: 1.5px solid var(--lp-border-light);
    background: var(--lp-crema);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    color: var(--lp-primary);
}
.lp-dashboard__order-id {
    font-weight: 700;
    color: var(--lp-text);
    display: block;
}
.lp-dashboard__order-date {
    font-size: 11px;
    color: var(--lp-text-muted);
    display: block;
    margin-top: 2px;
}
.lp-dashboard__order-products {
    color: var(--lp-text-light);
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lp-dashboard__order-status {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
.lp-dashboard__order-total {
    font-size: 13px;
    font-weight: 700;
    color: var(--lp-text);
}
.lp-dashboard__order-total .woocommerce-Price-amount { color: inherit; font-weight: inherit; }
.lp-dashboard__order-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}
.lp-dashboard__order-btn {
    display: inline-block;
    padding: 7px 14px;
    background: var(--lp-primary);
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    border-radius: 7px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: opacity 0.18s;
}
.lp-dashboard__order-btn:hover { opacity: 0.88; }
.lp-dashboard__order-track {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1.5px solid var(--lp-primary);
    border-radius: 7px;
    color: var(--lp-primary) !important;
    text-decoration: none !important;
    transition: all 0.18s;
}
.lp-dashboard__order-track:hover {
    background: var(--lp-primary);
    color: #fff !important;
}

/* Empty state */
.lp-dashboard__empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--lp-text-muted);
    font-size: 14px;
}

/* CTA card */
.lp-dashboard__cta {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--lp-primary);
    border-radius: 14px;
    padding: 20px 24px;
    color: rgba(255,255,255,0.9);
    flex-wrap: wrap;
}
.lp-dashboard__cta-icon {
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lp-dashboard__cta-icon svg {
    width: 22px;
    height: 22px;
    color: #fff;
}
.lp-dashboard__cta-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.lp-dashboard__cta-body strong {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    display: block;
}
.lp-dashboard__cta-body span {
    font-size: 13px;
    color: rgba(255,255,255,0.72);
}
.lp-dashboard__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,0.15);
    color: #fff !important;
    border: 1.5px solid rgba(255,255,255,0.4);
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: background 0.18s;
}
.lp-dashboard__cta-btn:hover {
    background: rgba(255,255,255,0.25);
}

/* Shortcuts */
.lp-dashboard__shortcuts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.lp-dashboard__shortcut {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 12px;
    background: var(--lp-light);
    border: 1px solid var(--lp-border-light);
    border-radius: 10px;
    text-decoration: none !important;
    color: var(--lp-text-light) !important;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    transition: all 0.18s;
}
.lp-dashboard__shortcut:hover {
    border-color: var(--lp-primary);
    color: var(--lp-primary) !important;
    background: #f0faf4;
}
.lp-dashboard__shortcut svg {
    width: 22px;
    height: 22px;
    color: var(--lp-primary);
}

/* Dashboard responsive */
@media (max-width: 900px) {
    .lp-dashboard__stats { grid-template-columns: repeat(2, 1fr); }
    .lp-dashboard__order-row { grid-template-columns: auto auto 1fr auto auto; }
    .lp-dashboard__order-products { display: none; }
}
@media (max-width: 600px) {
    .lp-dashboard__stats { grid-template-columns: repeat(2, 1fr); }
    .lp-dashboard__cta { flex-direction: column; text-align: center; padding: 18px; }
    .lp-dashboard__cta-icon { display: none; }
    .lp-dashboard__cta-btn { width: 100%; justify-content: center; white-space: normal; }
    .lp-dashboard__order-row {
        grid-template-columns: auto 1fr auto;
        gap: 10px;
        padding: 12px 16px;
    }
    .lp-dashboard__order-thumb-wrap { display: none; }
    .lp-dashboard__order-status { display: none; }
    .lp-dashboard__plan {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        padding: 14px 16px;
    }
    a.lp-dashboard__plan-btn,
    a.lp-dashboard__plan-btn:link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .lp-dashboard__shortcuts { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
    .lp-dashboard__stats { grid-template-columns: 1fr 1fr; }
    .lp-dashboard__stat { padding: 14px 10px; }
    .lp-dashboard__stat-value { font-size: 18px; }
    .lp-dashboard__shortcuts { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
    .lp-dashboard__shortcut { padding: 12px 8px; font-size: 11px; gap: 6px; }
    .lp-dashboard__shortcut svg { width: 18px; height: 18px; }
    .lp-dashboard__order-row {
        grid-template-columns: 1fr auto;
        gap: 8px;
        padding: 10px 12px;
        font-size: 12px;
    }
    .lp-dashboard__order-num { display: flex; flex-direction: column; }
    .lp-dashboard__order-actions { display: flex; }
    .lp-dashboard__order-btn {
        padding: 6px 10px !important;
        font-size: 11px !important;
        white-space: nowrap;
    }
    .lp-dashboard__hero { padding: 18px 16px; }
    .lp-dashboard__hello { font-size: 20px !important; }
    .lp-dashboard__savings-bar { font-size: 12px; padding: 10px 14px; }
    .lp-dashboard__plan { padding: 12px 14px; }
    .lp-dashboard__plan-title { font-size: 13px; }
    .lp-dashboard__plan-detail { font-size: 12px; }
    a.lp-dashboard__plan-btn,
    a.lp-dashboard__plan-btn:link {
        padding: 8px 16px;
        font-size: 12px;
    }
}


/* ── 3. Tabla de detalle del pedido — PRO ── */
.woocommerce-order-details {
    margin-top: 28px;
}
.woocommerce-order-details__title {
    font-family: var(--lp-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--lp-text-muted) !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
}
.woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    -webkit-font-smoothing: auto !important;
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    border: none !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    padding: 0 !important;
    background: transparent !important;
    -webkit-font-smoothing: auto !important;
}
/* Total column — right aligned */
.woocommerce-table--order-details .product-total {
    text-align: right !important;
}

/* Product header */
.woocommerce-table--order-details thead th {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: var(--lp-text-muted) !important;
    padding: 0 0 10px !important;
    border-bottom: 2px solid var(--lp-border) !important;
}
/* Product rows */
.woocommerce-table--order-details .order_item td {
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    vertical-align: middle !important;
}
/* Totals */
.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    font-size: 14px !important;
    color: var(--lp-text-light) !important;
    vertical-align: middle !important;
}
.woocommerce-table--order-details tfoot th {
    font-weight: 500 !important;
}
.woocommerce-table--order-details tfoot td {
    text-align: right !important;
    font-weight: 600 !important;
    color: var(--lp-text) !important;
}
/* Grand Total row */
.woocommerce-table--order-details tfoot tr:last-of-type th,
.woocommerce-table--order-details tfoot tr.order-total th,
.woocommerce-table--order-details tfoot tr:has(.woocommerce-Price-amount:last-child) th {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    border-top: 2px solid var(--lp-border) !important;
    border-bottom: none !important;
    padding-top: 16px !important;
}
.woocommerce-table--order-details tfoot tr:last-of-type td,
.woocommerce-table--order-details tfoot tr.order-total td {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--lp-primary) !important;
    border-top: 2px solid var(--lp-border) !important;
    border-bottom: none !important;
    padding-top: 16px !important;
}
/* Coupon row — tint green */
.woocommerce-table--order-details tfoot .cart-discount th,
.woocommerce-table--order-details tfoot .cart-discount td,
.woocommerce-table--order-details tfoot [class*="discount_"] th,
.woocommerce-table--order-details tfoot [class*="discount_"] td {
    color: #16a34a !important;
}

/* Coupon badge inline en el label */
.lp-coupon-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #dcfce7;
    color: #15803d;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: .3px;
    margin-left: 6px;
    vertical-align: middle;
}

/* Precio unitario en items con qty > 1 */
.lp-order-item__unit-price {
    font-size: 11px;
    color: var(--lp-text-muted);
    font-weight: 400;
    margin-left: 2px;
}
/* Actions (PAGAR button) */
.order-actions--heading { color: var(--lp-text-muted) !important; }
a.order-actions-button {
    display: inline-block !important;
    background: var(--lp-primary) !important;
    color: #fff !important;
    padding: 10px 22px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    transition: opacity 0.18s;
}
a.order-actions-button:hover { opacity: 0.88 !important; }

/* ── 4. Items de producto con imagen ── */
.lp-order-item {
    display: flex;
    align-items: center;
    gap: 14px;
}
.lp-order-item__thumb { flex-shrink: 0; }
.lp-order-item__img {
    width: 44px !important;
    height: 44px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid var(--lp-border-light) !important;
    display: block !important;
}
.lp-order-item__img--placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--lp-crema) !important;
    color: var(--lp-primary) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border-radius: 8px !important;
    border: 1.5px solid var(--lp-border-light) !important;
}
.lp-order-item__img-link { display: block; }
.lp-order-item__info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.lp-order-item__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--lp-text);
    line-height: 1.3;
}
.lp-order-item__name a {
    color: var(--lp-text) !important;
    text-decoration: none !important;
}
.lp-order-item__name a:hover { color: var(--lp-primary) !important; }
.lp-order-item__qty {
    font-size: 12px;
    color: var(--lp-text-muted);
}
.lp-order-item__total {
    font-size: 14px;
    font-weight: 700;
    color: var(--lp-text);
    white-space: nowrap;
}

/* ── 5. Info del pedido (estado + fecha) — mejorada ── */
.woocommerce-order-overview,
.woocommerce-MyAccount-content > p:first-child {
    background: var(--lp-light) !important;
    border: 1px solid var(--lp-border-light) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    font-size: 14px !important;
    color: var(--lp-text-light) !important;
    margin-bottom: 24px !important;
    line-height: 1.6 !important;
}

/* ── 6. Sección de direcciones (facturación + envío) — PRO ── */
.woocommerce-order-details + section.woocommerce-customer-details,
.woocommerce-customer-details {
    margin-top: 24px;
}
.woocommerce-customer-details .woocommerce-column {
    background: var(--lp-white) !important;
    border: 1.5px solid var(--lp-border-light) !important;
    border-radius: 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.woocommerce-customer-details .woocommerce-column--billing,
.woocommerce-customer-details .woocommerce-column--shipping {
    background: var(--lp-white) !important;
    border: 1.5px solid var(--lp-border-light) !important;
    border-radius: 14px !important;
    padding: 0 !important;
}
.woocommerce-customer-details h2 {
    font-family: var(--lp-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--lp-text-muted) !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid var(--lp-border-light) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--lp-light) !important;
}
.woocommerce-customer-details address {
    font-style: normal !important;
    font-size: 14px !important;
    color: var(--lp-text-light) !important;
    line-height: 1.8 !important;
    padding: 16px 20px !important;
}
.woocommerce-customer-details .col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    margin-top: 24px !important;
}
.woocommerce-customer-details .col2-set::before,
.woocommerce-customer-details .col2-set::after {
    display: none !important;
}
.woocommerce-customer-details .col2-set .col-1,
.woocommerce-customer-details .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    background: var(--lp-white) !important;
    border: 1.5px solid var(--lp-border-light) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    padding: 0 !important;
}

@media (max-width: 600px) {
    .woocommerce-customer-details .col2-set {
        grid-template-columns: 1fr !important;
    }
    .lp-dashboard__order-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .lp-dashboard__order-actions { justify-content: flex-start; }
}

/* ═══════════════════════════════════════════════════════════
   VIEW ORDER — PRO header (view-order.php)
   ═══════════════════════════════════════════════════════════ */

.lp-view-order__header {
    background: var(--lp-white);
    border: 1.5px solid var(--lp-border-light);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

/* Top row */
.lp-view-order__header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.lp-view-order__header-info {
    display: flex;
    align-items: center;
    gap: 14px;
}
.lp-view-order__header-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--lp-crema);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lp-view-order__header-icon svg {
    width: 22px;
    height: 22px;
    color: var(--lp-primary);
    stroke: currentColor;
}
.lp-view-order__header-num {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: var(--lp-text);
    letter-spacing: -.3px;
}
.lp-view-order__header-date {
    display: block;
    font-size: 12px;
    color: var(--lp-text-muted);
    margin-top: 3px;
}

/* Status badge */
.lp-view-order__status-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    border: 1.5px solid transparent;
    white-space: nowrap;
}
.lp-view-order__status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Progress bar */
.lp-view-order__progress {
    display: flex;
    align-items: flex-start;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--lp-border-light);
    position: relative;
}
.lp-view-order__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    position: relative;
}
.lp-view-order__step-circle {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid var(--lp-border);
    background: var(--lp-white);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: all .2s;
    color: var(--lp-text-muted);
}
.lp-view-order__step.is-done .lp-view-order__step-circle {
    border-color: var(--lp-primary);
    background: var(--lp-primary);
    color: #fff;
}
.lp-view-order__step.is-current .lp-view-order__step-circle {
    border-color: var(--lp-primary);
    background: var(--lp-white);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--lp-primary) 15%, transparent);
}
.lp-view-order__step.is-current .lp-view-order__step-circle span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--lp-primary);
}
.lp-view-order__step-circle svg { display: block; }

/* Connector line */
.lp-view-order__step-line {
    position: absolute;
    top: 15px;
    left: 50%;
    right: -50%;
    height: 2px;
    background: var(--lp-border-light);
    z-index: 0;
}
.lp-view-order__step-line.is-done {
    background: var(--lp-primary);
}

/* Step label */
.lp-view-order__step-label {
    margin-top: 10px;
    font-size: 11px;
    font-weight: 600;
    color: var(--lp-text-muted);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.lp-view-order__step.is-done .lp-view-order__step-label,
.lp-view-order__step.is-current .lp-view-order__step-label {
    color: var(--lp-primary);
}

/* Notes section */
.lp-view-order__notes {
    background: var(--lp-white);
    border: 1.5px solid var(--lp-border-light);
    border-radius: 14px;
    padding: 20px 24px;
    margin-bottom: 24px;
}
.lp-view-order__notes h3 {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--lp-text-muted);
    margin: 0 0 14px;
}

@media (max-width: 600px) {
    .lp-view-order__header { padding: 16px; }
    .lp-view-order__header-top { flex-direction: column; align-items: flex-start; }
    .lp-view-order__step-label { font-size: 9px; }
    .lp-view-order__step-circle { width: 24px; height: 24px; }
    .lp-view-order__step-line { top: 12px; }
}

/* ═══════════════════════════════════════════════════════════════
   HEADER PRO — Búsqueda AJAX · Mini-cart drawer · User dropdown
   ═══════════════════════════════════════════════════════════════ */

/* ── Búsqueda AJAX ── */
.ast-search-menu-icon { position: relative; }
#lp-search-results {
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    width: 420px;
    background: var(--lp-white);
    border: 1.5px solid var(--lp-border-light);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    z-index: 9999;
    overflow: hidden;
    display: none;
}
#lp-search-results.is-open { display: block; }
.lp-search-result-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    text-decoration: none !important;
    color: var(--lp-text) !important;
    border-bottom: 1px solid var(--lp-border-light);
    transition: background .15s;
}
.lp-search-result-item:last-child { border-bottom: none; }
.lp-search-result-item:hover { background: var(--lp-light); }
.lp-search-result-img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--lp-border-light);
    flex-shrink: 0;
}
.lp-search-result-img--placeholder {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--lp-crema);
    border: 1px solid var(--lp-border-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--lp-primary);
    flex-shrink: 0;
}
.lp-search-result-info { flex: 1; min-width: 0; }
.lp-search-result-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--lp-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
.lp-search-result-price {
    font-size: 13px;
    color: var(--lp-primary);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 3px;
}
.lp-search-result-badge {
    font-size: 10px;
    font-weight: 700;
    background: #fef3c7;
    color: #b45309;
    padding: 1px 6px;
    border-radius: 999px;
    letter-spacing: .3px;
}
.lp-search-all-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 11px 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--lp-primary) !important;
    text-decoration: none !important;
    background: var(--lp-crema);
    border-top: 1px solid var(--lp-border-light);
}
.lp-search-all-link:hover { background: #e8efe9; }
.lp-search-no-results {
    padding: 20px 16px;
    text-align: center;
    font-size: 13px;
    color: var(--lp-text-muted);
}

/* ── Mini-cart drawer ── */
.lp-cart-drawer { position: fixed; inset: 0; z-index: 100000; pointer-events: none; }
.lp-cart-drawer.is-open { pointer-events: all; }

.lp-cart-drawer__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background .3s ease;
}
.lp-cart-drawer.is-open .lp-cart-drawer__overlay { background: rgba(0,0,0,0.45); }

.lp-cart-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 380px;
    max-width: 92vw;
    background: var(--lp-white);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    box-shadow: -4px 0 32px rgba(0,0,0,0.12);
}
.lp-cart-drawer.is-open .lp-cart-drawer__panel { transform: translateX(0); }

.lp-cart-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--lp-border-light);
    flex-shrink: 0;
}
.lp-cart-drawer__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--lp-text);
}
.lp-cart-drawer__close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--lp-text-muted);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lp-cart-drawer__close:hover { background: var(--lp-light); color: var(--lp-text); }

.lp-cart-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

/* Mini-cart items dentro del drawer */
.lp-cart-drawer__body .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.lp-cart-drawer__body .woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-cart-drawer__body .woocommerce-mini-cart-item img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid var(--lp-border-light) !important;
    flex-shrink: 0;
}
.lp-cart-drawer__body .woocommerce-mini-cart-item .remove {
    color: var(--lp-text-muted) !important;
    font-size: 18px !important;
    text-decoration: none !important;
    margin-left: auto;
    opacity: .5;
}
.lp-cart-drawer__body .woocommerce-mini-cart-item .remove:hover { opacity: 1; color: #dc2626 !important; }
.lp-cart-drawer__body .woocommerce-mini-cart-item a:not(.remove) {
    font-size: 13px;
    font-weight: 600;
    color: var(--lp-text) !important;
    text-decoration: none !important;
    display: block;
    line-height: 1.3;
}
.lp-cart-drawer__body .woocommerce-mini-cart-item .quantity {
    font-size: 12px;
    color: var(--lp-text-muted);
    margin-top: 3px;
    display: block;
}
.lp-cart-drawer__body .woocommerce-mini-cart__total {
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 700;
    border-top: 2px solid var(--lp-border-light);
    margin: 0;
}
.lp-cart-drawer__body .woocommerce-mini-cart__total .woocommerce-Price-amount { color: var(--lp-primary); font-size: 17px; }
.lp-cart-drawer__body .woocommerce-mini-cart__buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 24px 24px;
    margin: 0;
}
.lp-cart-drawer__body .woocommerce-mini-cart__buttons a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-align: center;
}
.lp-cart-drawer__body .woocommerce-mini-cart__buttons .checkout,
.woocommerce-MyAccount-content a.woocommerce-mini-cart__buttons .checkout {
    background: var(--lp-primary) !important;
    color: #fff !important;
}
.lp-cart-drawer__body .woocommerce-mini-cart__buttons .button:not(.checkout) {
    background: var(--lp-light) !important;
    color: var(--lp-text) !important;
}
.lp-cart-drawer__body .woocommerce-mini-cart__empty-message {
    padding: 48px 24px;
    text-align: center;
    color: var(--lp-text-muted);
    font-size: 14px;
}

/* ── User dropdown ── */
#lp-user-dropdown {
    position: fixed;
    top: 70px;
    right: 40px;
    width: 220px;
    background: var(--lp-white);
    border: 1.5px solid var(--lp-border-light);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    z-index: 99999;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-8px) scale(.97);
    pointer-events: none;
    transition: opacity .2s, transform .2s;
}
#lp-user-dropdown.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: all;
}
.lp-user-dropdown__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px;
    background: var(--lp-crema);
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-user-dropdown__avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--lp-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    flex-shrink: 0;
}
.lp-user-dropdown__name {
    font-size: 13px;
    font-weight: 700;
    color: var(--lp-text);
    display: block;
}
.lp-user-dropdown__email {
    font-size: 11px;
    color: var(--lp-text-muted);
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 130px;
}
.lp-user-dropdown__links { padding: 6px; }
.lp-user-dropdown__links a {
    display: flex !important;
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--lp-text) !important;
    text-decoration: none !important;
    border-radius: 8px;
    transition: background .15s;
}
.lp-user-dropdown__links a:hover { background: var(--lp-light); }
.lp-user-dropdown__logout { color: #dc2626 !important; margin-top: 2px; }
.lp-user-dropdown__logout:hover { background: #fef2f2 !important; }
.lp-user-dropdown__login-btn {
    background: var(--lp-primary) !important;
    color: #fff !important;
    justify-content: center;
    font-weight: 600 !important;
}
.lp-user-dropdown__login-btn:hover { background: #14532d !important; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════ */

/* Hide Astra's default footer */
footer.site-footer {
    display: none !important;
}

.lp-footer {
    font-family: var(--lp-font-body);
    font-size: 14px;
}

.lp-footer__main {
    background: #0D1117;
    color: rgba(255,255,255,0.85);
    padding: 60px 0 48px;
}

.lp-footer__bottom {
    background: #07090E;
    color: rgba(255,255,255,0.5);
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,0.07);
}

.lp-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
}

.lp-footer__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 52px;
}

/* Brand column */
.lp-footer__logo-link { display: inline-block; margin-bottom: 16px; }
.lp-footer__logo {
    max-height: 46px;
    width: auto;
    filter: brightness(0) invert(1);
    display: block;
}
.lp-footer__site-name {
    font-family: var(--lp-font-heading);
    font-size: 24px;
    font-weight: 800;
    font-style: italic;
    color: #fff;
    text-decoration: none;
    display: block;
    margin-bottom: 14px;
    letter-spacing: -0.01em;
}
.lp-footer__tagline {
    font-size: 13px;
    line-height: 1.7;
    color: rgba(255,255,255,0.6);
    margin: 0 0 22px;
}
.lp-footer__trust-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.lp-footer__trust-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: rgba(255,255,255,0.68);
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}
.lp-footer__trust-list svg { flex-shrink: 0; color: var(--lp-primary); opacity: 1; }

/* Nav columns */
.lp-footer__nav-title {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.9);
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: none !important;
}
.lp-footer__nav ul {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}
.lp-footer__nav ul li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-top: none !important;
}
.lp-footer__nav ul li a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    font-size: 13.5px;
    display: block;
    padding: 5px 0;
    transition: color 0.15s;
}
.lp-footer__nav ul li a:hover { color: #fff; }

/* Bottom bar */
.lp-footer__bottom-bar {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.lp-footer__copy {
    flex: 1;
    margin: 0;
    font-size: 12px;
    color: rgba(255,255,255,0.38);
}
.lp-footer__copy strong { color: rgba(255,255,255,0.55); }

/* Payment icons */
.lp-footer__payments {
    display: flex;
    align-items: center;
    gap: 6px;
}
.lp-payment-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 28px;
    border-radius: 4px;
    overflow: hidden;
    opacity: 0.7;
    transition: opacity 0.15s;
}
.lp-payment-icon:hover { opacity: 1; }
.lp-payment-icon svg { width: 44px; height: 28px; display: block; }
.lp-payment-icon--bizum,
.lp-payment-icon--transfer {
    background: rgba(255,255,255,0.1);
}
.lp-payment-text {
    color: rgba(255,255,255,0.65);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    padding: 0 6px;
}

/* Gestionar cookies button */
.lp-footer__cookie-btn {
    background: none;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 999px;
    color: rgba(255,255,255,0.4);
    font-size: 11px;
    font-family: var(--lp-font-body);
    cursor: pointer;
    padding: 5px 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.15s;
    white-space: nowrap;
    margin: 0;
}
.lp-footer__cookie-btn:hover {
    border-color: rgba(255,255,255,0.45);
    color: rgba(255,255,255,0.7);
}

/* Footer responsive */
@media (max-width: 960px) {
    .lp-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }
    .lp-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .lp-footer__main { padding: 40px 0 32px; }
    .lp-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .lp-footer__bottom-bar {
        flex-wrap: wrap;
        gap: 12px;
    }
    .lp-footer__copy { order: 3; flex-basis: 100%; }
    .lp-footer__payments { order: 1; }
    .lp-footer__cookie-btn { order: 2; }
}

/* ═══════════════════════════════════════════════════════════════
   COOKIE CONSENT BANNER + MODAL
   ═══════════════════════════════════════════════════════════════ */

/* Banner primera capa */
.lp-cookie-banner {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99998;
    background: #fff;
    border-top: 1px solid var(--lp-border);
    box-shadow: 0 -4px 28px rgba(0,0,0,0.1);
    padding: 18px 24px;
    font-family: var(--lp-font-body);
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.36s cubic-bezier(0.4,0,0.2,1), opacity 0.36s;
}
.lp-cookie-banner.is-visible {
    transform: translateY(0);
    opacity: 1;
}
.lp-cookie-banner__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}
.lp-cookie-banner__text {
    flex: 1;
    min-width: 260px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--lp-text);
    margin: 0;
}
.lp-cookie-banner__icon {
    display: inline-flex;
    vertical-align: middle;
    margin-right: 6px;
    color: var(--lp-primary);
    flex-shrink: 0;
    position: relative;
    top: -1px;
}
.lp-cookie-banner__link {
    color: var(--lp-primary);
    font-size: inherit;
    margin-left: 4px;
}
.lp-cookie-banner__actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

/* Botones genéricos de cookie */
.lp-cookie-btn {
    font-family: var(--lp-font-body);
    font-size: 13px;
    font-weight: 600;
    padding: 9px 18px;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.15s;
    white-space: nowrap;
    line-height: 1;
    margin: 0;
}
.lp-cookie-btn--primary {
    background: var(--lp-primary);
    color: #fff;
    border-color: var(--lp-primary);
}
.lp-cookie-btn--primary:hover {
    background: #2d5a43;
    border-color: #2d5a43;
}
.lp-cookie-btn--outline {
    background: transparent;
    color: var(--lp-primary);
    border-color: var(--lp-primary);
}
.lp-cookie-btn--outline:hover {
    background: var(--lp-primary);
    color: #fff;
}
.lp-cookie-btn--ghost {
    background: transparent;
    color: var(--lp-text-muted);
    border-color: var(--lp-border);
}
.lp-cookie-btn--ghost:hover {
    border-color: #aaa;
    color: var(--lp-text);
}

/* Modal segunda capa */
.lp-cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    font-family: var(--lp-font-body);
}
.lp-cookie-modal[hidden] { display: none; }

.lp-cookie-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.3s;
}
.lp-cookie-modal.is-open .lp-cookie-modal__overlay { opacity: 1; }

.lp-cookie-modal__box {
    position: relative;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(0,0,0,0.22);
    width: 100%;
    max-width: 600px;
    max-height: 88vh;
    overflow-y: auto;
    transform: translateY(18px);
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
}
.lp-cookie-modal.is-open .lp-cookie-modal__box {
    transform: translateY(0);
    opacity: 1;
}

.lp-cookie-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 24px 18px;
    border-bottom: 1px solid var(--lp-border-light);
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}
.lp-cookie-modal__header h2 {
    font-size: 17px;
    font-weight: 700;
    color: var(--lp-text);
    margin: 0;
    font-family: var(--lp-font-body);
}
.lp-cookie-modal__close {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--lp-text-muted);
    padding: 4px;
    border-radius: 6px;
    display: flex;
    transition: color 0.15s;
    margin: 0;
}
.lp-cookie-modal__close:hover { color: var(--lp-text); }

.lp-cookie-modal__body { padding: 18px 24px; }
.lp-cookie-modal__intro {
    font-size: 13.5px;
    color: var(--lp-text-light);
    line-height: 1.6;
    margin: 0 0 18px;
}

/* Categorías */
.lp-cookie-cat {
    padding: 18px 0;
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-cookie-cat:last-child { border-bottom: none; }
.lp-cookie-cat__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 8px;
}
.lp-cookie-cat__info {
    display: flex;
    align-items: center;
    gap: 8px;
}
.lp-cookie-cat__info strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--lp-text);
}
.lp-cookie-cat__badge {
    font-size: 11px;
    font-weight: 600;
    background: #dcfce7;
    color: #15803d;
    border-radius: 999px;
    padding: 2px 8px;
}
.lp-cookie-cat__desc {
    font-size: 13px;
    color: var(--lp-text-muted);
    line-height: 1.65;
    margin: 0 0 8px;
}

/* Toggle switch */
.lp-cookie-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
}
.lp-cookie-toggle input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.lp-cookie-toggle__track {
    width: 44px;
    height: 24px;
    background: #d1d5db;
    border-radius: 999px;
    position: relative;
    transition: background 0.2s;
    display: block;
}
.lp-cookie-toggle input:checked ~ .lp-cookie-toggle__track,
.lp-cookie-toggle--forced .lp-cookie-toggle__track {
    background: var(--lp-primary);
}
.lp-cookie-toggle__thumb {
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 3px;
    left: 3px;
    transition: transform 0.2s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    display: block;
}
.lp-cookie-toggle input:checked ~ .lp-cookie-toggle__track .lp-cookie-toggle__thumb,
.lp-cookie-toggle--forced .lp-cookie-toggle__thumb {
    transform: translateX(20px);
}
.lp-cookie-toggle--forced {
    cursor: not-allowed;
    opacity: 0.75;
}

/* Cookie detail table */
.lp-cookie-cat__detail { margin-top: 6px; }
.lp-cookie-cat__detail summary {
    font-size: 12px;
    color: var(--lp-primary);
    cursor: pointer;
    font-weight: 500;
    user-select: none;
    padding: 2px 0;
}
.lp-cookie-table {
    width: 100%;
    font-size: 11.5px;
    border-collapse: collapse;
    margin-top: 10px;
    color: var(--lp-text-light);
    -webkit-font-smoothing: auto;
}
.lp-cookie-table th {
    background: var(--lp-light);
    padding: 6px 10px;
    text-align: left;
    font-weight: 600;
    color: var(--lp-text-muted);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none !important;
}
.lp-cookie-table td {
    padding: 6px 10px;
    border-bottom: 1px solid var(--lp-border-light) !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    vertical-align: top;
}
.lp-cookie-table tr:last-child td { border-bottom: none !important; }

/* Modal footer */
.lp-cookie-modal__footer {
    padding: 14px 24px;
    border-top: 1px solid var(--lp-border-light);
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    position: sticky;
    bottom: 0;
    background: #fff;
}

/* Mobile */
@media (max-width: 600px) {
    .lp-cookie-banner__inner { flex-direction: column; align-items: stretch; }
    .lp-cookie-banner__actions { flex-direction: column; }
    .lp-cookie-btn { text-align: center; width: 100%; padding: 12px; }
    .lp-cookie-modal__footer { flex-direction: column-reverse; }
    .lp-cookie-modal__footer .lp-cookie-btn { width: 100%; text-align: center; }
    .lp-cookie-table { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   EMPTY STATES (carrito vacío, sin resultados, sin pedidos)
   ═══════════════════════════════════════════════════════════════ */

.lp-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 64px 24px;
}
.lp-empty-state__illustration svg {
    width: 140px;
    height: auto;
    color: var(--lp-primary);
    margin-bottom: 28px;
    opacity: 0.7;
}
.lp-empty-state__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--lp-text);
    margin: 0 0 10px;
    font-family: var(--lp-font-heading);
}
.lp-empty-state__text {
    font-size: 14.5px;
    color: var(--lp-text-muted);
    line-height: 1.7;
    max-width: 400px;
    margin: 0 0 32px;
}
.lp-empty-state__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 320px;
}
.lp-empty-state__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--lp-primary);
    color: #fff;
    font-size: 13.5px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.15s;
    width: 100%;
    justify-content: center;
}
.lp-empty-state__cta:hover { background: #2d5a43; color: #fff; }
.lp-empty-state__cta--outline {
    background: transparent;
    color: var(--lp-primary);
    border: 2px solid var(--lp-primary);
}
.lp-empty-state__cta--outline:hover {
    background: var(--lp-primary);
    color: #fff;
}

/* Sin resultados: buscador */
.lp-no-results__form {
    display: flex;
    width: 100%;
    border: 1.5px solid var(--lp-border);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.15s;
}
.lp-no-results__form:focus-within { border-color: var(--lp-primary); }
.lp-no-results__input {
    flex: 1;
    border: none;
    padding: 10px 14px;
    font-size: 13.5px;
    font-family: var(--lp-font-body);
    background: transparent;
    color: var(--lp-text);
    outline: none;
}
.lp-no-results__search-btn {
    background: none;
    border: none;
    padding: 0 14px;
    cursor: pointer;
    color: var(--lp-text-muted);
    display: flex;
    align-items: center;
    transition: color 0.15s;
}
.lp-no-results__search-btn:hover { color: var(--lp-primary); }

/* ═══════════════════════════════════════════════════════════════
   ORDERS LIST (Mi cuenta → Pedidos)
   ═══════════════════════════════════════════════════════════════ */

.lp-orders-heading {
    font-family: var(--lp-font-heading) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--lp-text) !important;
    margin: 0 0 16px !important;
}
.lp-orders-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
/* ── Order card ── */
.lp-order-card {
    background: #fff;
    border: 1px solid var(--lp-border);
    border-radius: 14px;
    overflow: visible;
    transition: box-shadow 0.15s, border-color 0.15s;
}
.lp-order-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border-color: var(--lp-border);
}
/* Top section: info + actions */
.lp-order-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px 14px;
}
.lp-order-card__info {
    flex: 1;
    min-width: 0;
}
.lp-order-card__info-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.lp-order-card__date {
    font-size: 12px;
    color: var(--lp-text-muted);
}
.lp-order-card__title {
    font-size: 14.5px;
    font-weight: 500;
    color: var(--lp-text);
    margin: 0 0 5px;
}
.lp-order-card__title strong {
    font-weight: 700;
}
.lp-order-card__address {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    font-size: 12.5px;
    color: var(--lp-text-muted);
    margin: 0 0 8px;
    line-height: 1.4;
}
.lp-order-card__address svg { flex-shrink: 0; margin-top: 1px; }
.lp-order-card__summary {
    font-size: 13px;
    color: var(--lp-text-light);
    margin: 0;
}
.lp-order-card__sep {
    margin: 0 4px;
    opacity: .4;
}
/* Actions column */
.lp-order-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.lp-order-card__actions .lp-order-card__btn-view {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    background: var(--lp-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: var(--lp-font-body) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.15s !important;
}
.lp-order-card__actions .lp-order-card__btn-view:hover { background: #2d5a43 !important; color: #fff !important; }
/* ⋮ menu */
.lp-order-card__menu {
    position: relative;
}
.lp-order-card__menu .lp-order-card__menu-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    background: transparent !important;
    border: 1.5px solid var(--lp-border) !important;
    border-radius: 8px !important;
    color: var(--lp-text-muted) !important;
    cursor: pointer !important;
    transition: border-color 0.15s, color 0.15s !important;
    padding: 0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
}
.lp-order-card__menu .lp-order-card__menu-btn:hover,
.lp-order-card__menu .lp-order-card__menu-btn[aria-expanded="true"] {
    border-color: var(--lp-primary) !important;
    color: var(--lp-primary) !important;
    background: transparent !important;
    box-shadow: none !important;
}
.lp-order-card__menu-list {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 200px;
    background: #fff;
    border: 1.5px solid var(--lp-border-light);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    list-style: none;
    margin: 0;
    padding: 6px;
    z-index: 100;
}
.lp-order-card__menu-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--lp-text) !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    transition: background 0.12s !important;
}
.lp-order-card__menu-item:hover { background: var(--lp-light) !important; color: var(--lp-primary) !important; }
/* Thumbnails strip */
.lp-order-card__thumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 20px 16px;
    flex-wrap: nowrap;
    overflow-x: auto;
}
.lp-order-card__thumb {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 8px;
    border: 1px solid var(--lp-border-light);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--lp-crema);
}
.lp-order-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.lp-order-card__thumb-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 20px;
    font-weight: 700;
    color: var(--lp-primary);
    opacity: .4;
}
.lp-order-card__thumb-qty {
    position: absolute;
    top: 2px;
    right: 2px;
    background: var(--lp-primary);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    padding: 1px 4px;
    border-radius: 4px;
    line-height: 1.4;
}
.lp-order-card__thumb--more {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--lp-text-muted);
    background: var(--lp-light);
    border-style: dashed;
}
/* Status badges */
.lp-order-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    white-space: nowrap;
    flex-shrink: 0;
}
.lp-order-status__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}
.lp-order-status--green  { background: #dcfce7; color: #15803d; }
.lp-order-status--blue   { background: #dbeafe; color: #1d4ed8; }
.lp-order-status--amber  { background: #fef3c7; color: #b45309; }
.lp-order-status--teal   { background: #ccfbf1; color: #0f766e; }
.lp-order-status--gray   { background: #f3f4f6; color: #6b7280; }
.lp-order-status--red    { background: #fee2e2; color: #b91c1c; }
.lp-order-status--purple { background: #ede9fe; color: #7c3aed; }

/* Pagination */
.lp-orders-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}
.lp-orders-pagination__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lp-primary);
    border: 1.5px solid var(--lp-primary);
    border-radius: 8px;
    padding: 8px 16px;
    text-decoration: none;
    transition: all 0.15s;
}
.lp-orders-pagination__btn:hover { background: var(--lp-primary); color: #fff; }

/* ═══════════════════════════════════════════════════════════════
   ADDRESSES (Mi cuenta → Direcciones)
   ═══════════════════════════════════════════════════════════════ */

.lp-addresses__intro {
    font-size: 14px;
    color: var(--lp-text-muted);
    margin: 0 0 24px;
    line-height: 1.6;
}
.lp-addresses-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.lp-address-card {
    border: 1px solid var(--lp-border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.lp-address-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: var(--lp-light);
    border-bottom: 1px solid var(--lp-border-light);
}
.lp-address-card__title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--lp-primary);
}
.lp-address-card__title h3 {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--lp-text);
    margin: 0;
    font-family: var(--lp-font-body);
}
.lp-address-card__edit {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--lp-primary);
    text-decoration: none;
    padding: 5px 10px;
    border: 1.5px solid var(--lp-primary);
    border-radius: 6px;
    transition: all 0.15s;
}
.lp-address-card__edit:hover { background: var(--lp-primary); color: #fff; }
.lp-address-card__body {
    padding: 18px;
}
.lp-address-card__body address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.8;
    color: var(--lp-text-light);
}
.lp-address-card__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    font-size: 13.5px;
    color: var(--lp-text-muted);
    text-align: center;
    margin: 0;
}
@media (max-width: 640px) {
    .lp-addresses-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   404 PAGE
   ═══════════════════════════════════════════════════════════════ */

.lp-404 {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    font-family: var(--lp-font-body);
}
.lp-404__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    max-width: 900px;
    width: 100%;
}
.lp-404__illustration a {
    display: inline-block;
}
.lp-404__illustration img {
    width: 100%;
    max-width: 420px;
    height: auto;
    display: block;
    border-radius: 24px;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.2s;
}
.lp-404__illustration a:hover img {
    opacity: 0.9;
    transform: scale(1.02);
}
.lp-404__code {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--lp-primary);
    opacity: 0.6;
    display: block;
    margin-bottom: 10px;
}
.lp-404__title {
    font-size: 34px;
    font-weight: 700;
    color: var(--lp-text);
    margin: 0 0 14px;
    font-family: var(--lp-font-heading);
    line-height: 1.2;
}
.lp-404__text {
    font-size: 15px;
    color: var(--lp-text-muted);
    line-height: 1.7;
    margin: 0 0 28px;
}
.lp-404__search-wrap {
    position: relative;
    margin-bottom: 24px;
    width: 100%;
}
.lp-404__search-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border: 1.5px solid var(--lp-border);
    border-radius: 10px;
    background: #fff;
    transition: border-color 0.15s;
    color: var(--lp-text-muted);
}
.lp-404__search-field:focus-within { border-color: var(--lp-primary); color: var(--lp-primary); }
.lp-404__search-field input {
    flex: 1;
    border: none;
    padding: 12px 0;
    font-size: 14px;
    font-family: var(--lp-font-body);
    background: transparent;
    color: var(--lp-text);
    outline: none;
}
.lp-404__search-wrap #lp-search-results-404 {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 999;
    background: var(--lp-white);
    border: 1.5px solid var(--lp-border-light);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    overflow: hidden;
    max-height: 340px;
    overflow-y: auto;
}
.lp-404__links {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.lp-404__links-label {
    font-size: 13px;
    color: var(--lp-text-muted);
    font-weight: 500;
}
.lp-404__links a {
    font-size: 13px;
    color: var(--lp-primary);
    text-decoration: none;
    font-weight: 500;
    padding: 4px 10px;
    border: 1px solid rgba(245,130,31,0.25);
    border-radius: 6px;
    transition: all 0.15s;
}
.lp-404__links a:hover { background: var(--lp-primary); color: #fff; border-color: var(--lp-primary); }
@media (max-width: 720px) {
    .lp-404__inner {
        grid-template-columns: 1fr;
        gap: 32px;
        text-align: center;
    }
    .lp-404__illustration { order: -1; }
    .lp-404__illustration svg { max-width: 220px; margin: 0 auto; display: block; }
    .lp-404__links { justify-content: center; }
    .lp-404__title { font-size: 28px; }
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — TRUST STRIP
   ═══════════════════════════════════════════════════════════════ */

.lp-trust-strip {
    background: #F4F5F6;
    border-bottom: 1px solid #E2E4E7;
    padding: 18px 0;
}
.lp-trust-strip__inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}
.lp-trust-strip__item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 48px;
    flex: 1;
    justify-content: center;
}
.lp-trust-strip__divider {
    width: 1px;
    height: 36px;
    background: #D1D5DB;
    flex-shrink: 0;
}
.lp-trust-strip__icon {
    color: var(--lp-primary);
    flex-shrink: 0;
    display: flex;
}
.lp-trust-strip__text {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.lp-trust-strip__text strong {
    font-size: 14px;
    font-weight: 700;
    color: var(--lp-dark);
    line-height: 1.3;
}
.lp-trust-strip__text span {
    font-size: 12px;
    color: var(--lp-text-light);
    line-height: 1.3;
}

@media (max-width: 600px) {
    .lp-trust-strip__inner { flex-direction: column; gap: 14px; padding: 0 20px; }
    .lp-trust-strip__divider { width: 80%; height: 1px; }
    .lp-trust-strip__item { padding: 0; width: 100%; justify-content: flex-start; }
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — CATEGORÍAS DESTACADAS
   ═══════════════════════════════════════════════════════════════ */

.lp-cats {
    padding: 64px 0 72px;
    background: #fff;
}
.lp-cats__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
}

/* Cabecera */
.lp-cats__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 32px;
    gap: 20px;
}
.lp-cats__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: var(--lp-dark);
    margin: 0;
    line-height: 1.1;
    position: relative;
    padding-bottom: 12px;
}
.lp-cats__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--lp-primary);
    border-radius: 2px;
}
.lp-cats__subtitle {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--lp-text-light);
    margin: 0;
    text-align: right;
    max-width: 180px;
    line-height: 1.5;
    padding-top: 4px;
}

/* Grid: cañas grande izq · señuelos+carretes arriba dcha · ropa ancha abajo dcha */
.lp-cats__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    grid-template-rows: 230px 230px;
    gap: 10px;
}

/* Card base */
.lp-cat-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    background: #1a1a1a;
    background-size: cover;
    background-position: center;
    text-decoration: none !important;
    cursor: pointer;
}
.lp-cat-card--large {
    grid-column: 1;
    grid-row: 1 / 3;   /* col 1, filas 1–2 */
}
.lp-cat-card--wide {
    grid-column: 2 / 4; /* col 2–3, fila 2 */
}
.lp-cat-card--placeholder {
    background: #2a2a2a;
}

/* Overlay oscuro permanente (abajo) + hover (todo) */
.lp-cat-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.68) 0%, rgba(0,0,0,0.18) 45%, rgba(0,0,0,0.04) 100%);
    transition: background 0.35s ease;
}
.lp-cat-card:hover .lp-cat-card__overlay {
    background: linear-gradient(0deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.38) 60%, rgba(0,0,0,0.18) 100%);
}

/* Imagen — zoom suave en hover */
.lp-cat-card {
    background-size: cover;
    transition: background-size 0.55s ease;
}
/* Zoom efecto via pseudo-element para no afectar overlay */
.lp-cat-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: inherit;
    background-size: 100%;
    transition: background-size 0.55s ease;
    z-index: 0;
}
.lp-cat-card:hover::before {
    background-size: 110%;
}

/* Contenido: label + cta */
.lp-cat-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 22px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lp-cat-card__label {
    display: block;
    font-size: clamp(0.95rem, 1.8vw, 1.2rem);
    font-weight: 900;
    color: #fff;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1;
    text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.lp-cat-card--large .lp-cat-card__label {
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}
.lp-cat-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    letter-spacing: 0.03em;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.lp-cat-card:hover .lp-cat-card__cta {
    opacity: 1;
    transform: translateY(0);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .lp-cats { padding: 40px 0 48px; }
    .lp-cats__header { flex-direction: column; gap: 8px; }
    .lp-cats__subtitle { text-align: left; max-width: 100%; }
    .lp-cats__grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 220px 180px 180px;
    }
    .lp-cat-card--large {
        grid-column: 1 / 3;
        grid-row: 1;
    }
    .lp-cat-card--wide {
        grid-column: 1 / 3;
    }
}
@media (max-width: 480px) {
    .lp-cats__grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, 180px);
    }
    .lp-cat-card--large,
    .lp-cat-card--wide {
        grid-column: 1;
        grid-row: auto;
    }
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — NOVEDADES
   ═══════════════════════════════════════════════════════════════ */

.lp-novedades {
    padding: 0 0 72px;
    background: #fff;
}
.lp-novedades__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
}

/* Cabecera: reutiliza .lp-cats__header/.lp-cats__title, solo cambia el enlace */
.lp-novedades__ver-todo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--lp-primary) !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: gap 0.2s ease;
}
.lp-novedades__ver-todo:hover { gap: 10px; }

/* Grid de 4 columnas en una fila */
.lp-novedades__grid.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
/* Evitar que WooCommerce rompa la fila en móvil con sus clases */
.lp-novedades__grid.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .lp-novedades__grid.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .lp-novedades { padding-bottom: 48px; }
    .lp-novedades__grid.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — PROMO BANNER
   ═══════════════════════════════════════════════════════════════ */

.lp-promo-banner {
    background: linear-gradient(135deg, #0D1117 0%, #1a2030 50%, #0f1720 100%);
    padding: 0;
    overflow: hidden;
    position: relative;
}

/* Textura sutil de puntos en el fondo */
.lp-promo-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(245,130,31,0.06) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}

/* Acento naranja vertical izquierdo */
.lp-promo-banner::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #F5821F, #D94F2B);
}

.lp-promo-banner__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 380px 1fr;
    align-items: center;
    gap: 0;
    min-height: 420px;
}

/* ── Lado producto (carrete) ── */
.lp-promo-banner__product {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px 40px 40px;
}

.lp-promo-banner__badge-wrap {
    position: absolute;
    top: 36px;
    left: 36px;
    z-index: 2;
}

.lp-promo-banner__badge {
    display: inline-block;
    background: #F5821F;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 2px;
}

.lp-promo-banner__reel {
    width: 100%;
    max-width: 300px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 20px 60px rgba(245,130,31,0.25)) drop-shadow(0 4px 20px rgba(0,0,0,0.5));
    transition: transform .4s ease, filter .4s ease;
}

.lp-promo-banner:hover .lp-promo-banner__reel {
    transform: translateY(-6px) scale(1.02);
    filter: drop-shadow(0 30px 80px rgba(245,130,31,0.35)) drop-shadow(0 4px 20px rgba(0,0,0,0.6));
}

/* ── Lado contenido ── */
.lp-promo-banner__content {
    padding: 48px 40px 48px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lp-promo-banner__brand-logo {
    height: 32px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.lp-promo-banner__title {
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.lp-promo-banner__discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #F5821F, #D94F2B);
    color: #fff;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 900;
    padding: 6px 16px;
    border-radius: 4px;
    letter-spacing: -.01em;
    white-space: nowrap;
    box-shadow: 0 4px 20px rgba(245,130,31,0.4);
}

.lp-promo-banner__desc {
    font-size: 15px;
    color: rgba(255,255,255,0.65);
    line-height: 1.65;
    margin: 0;
    max-width: 480px;
}

.lp-promo-banner__desc strong {
    color: rgba(255,255,255,0.9);
}

/* Logos de hilos */
.lp-promo-banner__lines {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lp-promo-banner__lines-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
}

.lp-promo-banner__line-logos {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.lp-promo-banner__line-logos img {
    height: 22px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.55;
    transition: opacity .25s ease, filter .25s ease;
}

.lp-promo-banner__line-logos img:hover {
    opacity: 1;
    filter: brightness(0) invert(1);
}

/* CTA — sin enlace, aspecto informativo */
.lp-promo-banner__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.45);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .02em;
    margin-top: 4px;
    cursor: default;
    user-select: none;
}

/* Separador decorativo entre producto y contenido */
.lp-promo-banner__product::after {
    content: '';
    position: absolute;
    right: 0;
    top: 15%;
    bottom: 15%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(245,130,31,0.3) 40%, rgba(245,130,31,0.3) 60%, transparent);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .lp-promo-banner__inner {
        grid-template-columns: 1fr;
        min-height: auto;
        text-align: center;
    }

    .lp-promo-banner__product {
        padding: 40px 24px 20px;
    }

    .lp-promo-banner__product::after { display: none; }

    .lp-promo-banner__badge-wrap {
        top: 24px;
        left: 50%;
        transform: translateX(-50%);
    }

    .lp-promo-banner__reel { max-width: 200px; }

    .lp-promo-banner__content {
        padding: 0 24px 40px;
        align-items: center;
    }

    .lp-promo-banner__title {
        justify-content: center;
    }

    .lp-promo-banner__desc { text-align: center; }

    .lp-promo-banner__lines { align-items: center; }

    .lp-promo-banner__line-logos { justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — MARCAS (marquee infinito)
   ═══════════════════════════════════════════════════════════════ */

.lp-marcas {
    background: #F4F5F6;
    padding: 56px 0 60px;
    overflow: hidden;
}
.lp-marcas__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
    margin-bottom: 40px;
}

/* Título centrado con líneas decorativas */
.lp-marcas__title {
    font-size: clamp(0.7rem, 1.2vw, 0.8rem) !important;
    font-weight: 600 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 0.22em !important;
    color: var(--lp-text-light) !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
}
.lp-marcas__title::before,
.lp-marcas__title::after {
    content: '' !important;
    flex: 1 !important;
    height: 1px !important;
    background: #D1D5DB !important;
    border-radius: 1px !important;
}

/* Contenedor del marquee: oculta lo que sale por los lados */
.lp-marcas__track-wrap {
    display: flex;
    width: 100%;
    overflow: hidden;
    /* Máscara de fade en los bordes izquierdo y derecho */
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    /* Pausa al hover sobre el wrapper */
}
.lp-marcas__track-wrap:hover .lp-marcas__track {
    animation-play-state: paused;
}

/* Los dos tracks se colocan en fila y se animan juntos */
.lp-marcas__track {
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
    /* Velocidad: 40s para dar una vuelta completa (ajusta a gusto) */
    animation: lp-marquee 40s linear infinite;
}

@keyframes lp-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-100%); }
}

/* Cada logo */
.lp-marcas__item {
    flex-shrink: 0;
    padding: 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lp-marcas__item img {
    max-height: 52px;
    max-width: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    /* Blanco y negro por defecto */
    filter: grayscale(100%) opacity(0.55);
    transition: filter 0.35s ease;
}
.lp-marcas__item img:hover {
    filter: grayscale(0%) opacity(1);
}

@media (max-width: 600px) {
    .lp-marcas { padding: 40px 0 44px; }
    .lp-marcas__item { padding: 0 24px; }
    .lp-marcas__item img { max-height: 40px; max-width: 90px; }
    .lp-marcas__track { animation-duration: 28s; }
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE HERO SLIDER
   ═══════════════════════════════════════════════════════════════ */

/* Wrapper principal */
.lp-hero {
    position: relative;
    width: 100%;
    height: 92vh;
    min-height: 540px;
    max-height: 900px;
    overflow: hidden;
    background: #0a0a0a;
}

/* Ocultar el área de contenido vacío de la front page
   — solo el área #content, nunca el header ni el footer */
.home .site-content > .ast-container,
.home #primary,
.home #main,
.home .entry-content,
.home .ast-article-single {
    display: none !important;
}

/* Track — contiene los slides */
.lp-hero__track {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Slide individual */
.lp-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s ease;
    pointer-events: none;
}
.lp-hero__slide--active {
    opacity: 1;
    pointer-events: auto;
}

/* Vídeo de fondo */
.lp-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Overlay gradiente — oscurece para legibilidad */
.lp-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0.12) 100%),
        linear-gradient(0deg, rgba(0,0,0,0.5) 0%, transparent 38%);
}

/* Área de contenido */
.lp-hero__content {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    z-index: 2;
}
.lp-hero__inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 48px;
    padding-top: 80px; /* compensa header sticky + admin bar */
}

/* Badge */
.lp-hero__badge {
    display: inline-block;
    background: var(--lp-secondary);
    color: #fff;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    padding: 4px 12px;
    border-radius: 3px;
    margin-bottom: 20px;
}

/* Título */
.lp-hero__title {
    font-size: clamp(2.4rem, 5.5vw, 4.2rem);
    font-weight: 900;
    line-height: 1.08;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin: 0 0 20px;
    max-width: 620px;
}
.lp-hero__accent {
    color: var(--lp-primary);
    display: block;
}

/* Subtítulo */
.lp-hero__sub {
    font-size: clamp(0.9rem, 1.5vw, 1.05rem);
    line-height: 1.65;
    color: rgba(255,255,255,0.72);
    max-width: 480px;
    margin: 0 0 36px;
}

/* Botón CTA */
.lp-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--lp-primary);
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none !important;
    padding: 14px 28px;
    border-radius: 6px;
    transition: background 0.2s ease, transform 0.2s ease;
    letter-spacing: 0.01em;
}
.lp-hero__cta:hover {
    background: var(--lp-accent-hover, #E07318);
    transform: translateY(-1px);
}
.lp-hero__cta svg {
    transition: transform 0.2s ease;
}
.lp-hero__cta:hover svg {
    transform: translateX(3px);
}

/* Flechas prev/next — !important para superar reglas globales de botones */
.lp-hero .lp-hero__arrow,
.lp-hero .lp-hero__arrow:not(.compare) {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: #fff !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    box-shadow: none !important;
    outline: none !important;
}
.lp-hero .lp-hero__arrow:hover,
.lp-hero .lp-hero__arrow:not(.compare):hover {
    background: rgba(255,255,255,0.22) !important;
    border-color: rgba(255,255,255,0.45) !important;
    color: #fff !important;
    transform: translateY(-50%) !important;
}
.lp-hero__arrow--prev { left: 24px; }
.lp-hero__arrow--next { right: 24px; }

/* Puntos de navegación */
.lp-hero__nav {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}
.lp-hero .lp-hero__dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.35) !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background 0.25s ease, width 0.3s ease !important;
    box-shadow: none !important;
}
.lp-hero .lp-hero__dot--active {
    background: var(--lp-primary) !important;
    width: 28px !important;
    border-radius: 4px !important;
}

/* Contador 1/2 */
.lp-hero__counter {
    position: absolute;
    bottom: 28px;
    right: 28px;
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 3px;
}
.lp-hero__counter-current { color: #fff; }
.lp-hero__counter-sep { margin: 0 1px; }

/* ── Responsive ── */
@media (max-width: 960px) {
    .lp-hero {
        height: 80vh;
        max-height: 700px;
    }
    .lp-hero__inner {
        padding: 0 32px;
    }
    .lp-hero__overlay {
        background:
            linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 60%, rgba(0,0,0,0.85) 100%),
            linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.2) 100%);
    }
    .lp-hero__arrow { display: none; }
}

@media (max-width: 600px) {
    .lp-hero {
        height: 100svh;
        max-height: none;
        min-height: 500px;
    }
    .lp-hero__content {
        align-items: flex-end;
        padding-bottom: 80px;
    }
    .lp-hero__inner {
        padding: 0 20px;
    }
    .lp-hero__title {
        font-size: clamp(1.9rem, 8vw, 2.5rem);
        max-width: 100%;
    }
    .lp-hero__sub {
        font-size: 0.875rem;
        max-width: 100%;
    }
    .lp-hero__cta {
        padding: 12px 22px;
        font-size: 0.85rem;
        width: 100%;
        justify-content: center;
    }
    .lp-hero__nav { bottom: 40px; }
    .lp-hero__counter { display: none; }
    .lp-hero__badge { margin-bottom: 14px; }
}

/* ═══════════════════════════════════════════════════════════════
   LIVE SEARCH RESPONSIVE — dropdown de sugerencias
   ═══════════════════════════════════════════════════════════════ */

/* ── Contenedor dropdown ── */
.lp-ls-dropdown {
    display: none;
    position: absolute;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.13);
    z-index: 99999;
    overflow: hidden;
    animation: lp-ls-in .15s ease;
}
.lp-ls-dropdown--open { display: block; }

@keyframes lp-ls-in {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Lista vertical ── */
.lp-ls-list {
    list-style: none;
    margin: 0;
    padding: 6px 0;
}

.lp-ls-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    cursor: pointer;
    transition: background .12s;
}
.lp-ls-item:hover,
.lp-ls-item--active { background: #f9f9f9; }

/* Thumbnail */
.lp-ls-thumb-wrap {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--lp-light);
    border: 1px solid #eee;
}
.lp-ls-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.lp-ls-thumb--empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lp-light);
}
.lp-ls-thumb--empty::after {
    content: '';
    width: 24px;
    height: 24px;
    background: #c4c8ce;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center/contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Info */
.lp-ls-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
}
.lp-ls-title {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lp-ls-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.lp-ls-price {
    font-size: 14px;
    font-weight: 700;
    color: #F5821F;
    line-height: 1;
}
.lp-ls-price del  { display: none !important; }
.lp-ls-price ins  { font-style: normal; text-decoration: none; color: #F5821F; }
.lp-ls-price .woocommerce-Price-amount,
.lp-ls-price bdi  { color: inherit; font-size: inherit; font-weight: inherit; }

/* Badge de descuento */
.lp-ls-badge {
    display: inline-block;
    background: #FEF08A;
    color: #713f12;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    line-height: 1.4;
}

/* ── Sin resultados ── */
.lp-ls-empty {
    padding: 20px 16px;
    font-size: 14px;
    color: #6B7280;
    margin: 0;
    text-align: center;
}

/* ── "Ver todos los resultados" ── */
.lp-ls-all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 13px 16px;
    border-top: 1px solid #f0f0f0;
    font-size: 14px;
    font-weight: 500;
    color: #F5821F;
    text-decoration: none;
    transition: background .12s;
}
.lp-ls-all:hover { background: #fff8f2; }


