/* ============================================================
   BYTELAND — CHECKOUT REDISEÑADO PREMIUM (v4)
   Estética: Clean Tech Retail (Oscuro/Tech con acentos Azul/Violeta)
   Garantía de alineación vertical sin floats y Grid Robusto
   ============================================================ */

/* ---------- Fondo y contenedor general ---------- */
.bl-checkout {
    position: relative;
    padding: 60px 0 120px;
    background: linear-gradient(180deg, #F6F8FF 0%, #FFFFFF 320px);
    overflow: hidden;
    min-height: 100vh;
}

.bl-checkout::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -160px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(79, 110, 247, 0.08), transparent 65%);
    pointer-events: none;
}

.bl-checkout::after {
    content: '';
    position: absolute;
    bottom: -160px;
    left: -120px;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(155, 89, 182, 0.06), transparent 65%);
    pointer-events: none;
}

.bl-checkout .container {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ---------- Header del Checkout ---------- */
.bl-checkout-head {
    text-align: center;
    margin-bottom: 48px;
}

.bl-checkout-title {
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-size: clamp(32px, 5vw, 46px);
    font-weight: 700;
    color: #1A1A1A;
    margin: 0 0 12px;
    letter-spacing: -0.02em;
}

.bl-checkout-title em {
    font-style: normal;
    background: linear-gradient(90deg, #4F6EF7, #9B59B6);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bl-checkout-sub {
    font-family: 'Inter', sans-serif;
    color: #65676B;
    max-width: 580px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.6;
}

.bl-checkout-sub b {
    color: #4F6EF7;
}

/* ---------- Grid Principal 2 Columnas ---------- */
.bl-checkout-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important;
    gap: 32px !important;
    align-items: start !important;
    max-width: 1160px;
    margin: 0 auto;
}

.bl-checkout-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.bl-checkout-side {
    position: sticky;
    top: 96px;
    z-index: 10;
}

/* ---------- Tarjetas de Sección Premium ---------- */
.bl-checkout-section {
    background: #FFFFFF !important;
    border: 1px solid #E8ECF8 !important;
    border-radius: 24px !important;
    padding: 32px !important;
    box-shadow: 0 8px 32px rgba(20, 30, 80, 0.03) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.bl-checkout-summary {
    background: #FFFFFF !important;
    border: 1px solid #E8ECF8 !important;
    border-radius: 24px !important;
    padding: 32px !important;
    box-shadow: 0 12px 48px rgba(20, 30, 80, 0.08) !important;
}

.bl-section-head {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #F0F2FA !important;
}

.bl-section-head h3 {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin: 0 !important;
    letter-spacing: -0.01em !important;
}

.bl-section-sub {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #8A8F98 !important;
    margin: 4px 0 0 !important;
}

.bl-section-icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(79, 110, 247, 0.08), rgba(155, 89, 182, 0.08));
    color: #4F6EF7;
}

/* ---------- Alineación Vertical Perfecta & CSS Grid para Campos ---------- */
.bl-fields-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px 24px !important;
    width: 100% !important;
}

/* Reset de Floats y Márgenes de WooCommerce */
.bl-fields-grid p.form-row,
.bl-fields-grid .form-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
}

.bl-fields-grid .clear {
    display: none !important;
}

/* Posicionamiento de Columnas */
.bl-fields-grid p.form-row-first {
    grid-column: 1 !important;
}

.bl-fields-grid p.form-row-last {
    grid-column: 2 !important;
}

.bl-fields-grid p.form-row-wide {
    grid-column: span 2 !important;
}

/* Forzar que inputs envueltos ocupen todo el ancho */
.bl-fields-grid p.form-row .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
    position: relative !important;
}

/* ---------- Etiquetas (Labels) ---------- */
.bl-checkout .form-row label {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #3A4160 !important;
    margin-bottom: 8px !important;
    text-align: left !important;
    float: none !important;
    display: block !important;
    letter-spacing: 0.01em !important;
}

.bl-checkout .form-row label .required {
    color: #4F6EF7 !important;
    border: none !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
}

/* ---------- Inputs, Selects y Textareas ---------- */
.bl-checkout .form-row input.input-text,
.bl-checkout .form-row textarea,
.bl-checkout .form-row select,
.bl-checkout .woocommerce-Input {
    width: 100% !important;
    border: 1.5px solid #E2E7F5 !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    background: #FBFCFE !important;
    color: #1A1A1A !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    transition: border-color .25s, box-shadow .25s, background .25s !important;
    height: auto !important;
    min-height: 50px !important;
    box-shadow: none !important;
    outline: none !important;
}

.bl-checkout .form-row input.input-text:focus,
.bl-checkout .form-row textarea:focus,
.bl-checkout .form-row select:focus,
.bl-checkout .woocommerce-Input:focus {
    border-color: #4F6EF7 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 4px rgba(79, 110, 247, 0.12) !important;
}

.bl-checkout .form-row textarea {
    min-height: 100px !important;
    resize: vertical !important;
}

/* Estilos Select2 (País, Región, Comuna) */
.bl-checkout .select2-container .select2-selection--single {
    border: 1.5px solid #E2E7F5 !important;
    border-radius: 12px !important;
    height: 50px !important;
    background: #FBFCFE !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 16px !important;
    transition: border-color .25s, box-shadow .25s, background .25s !important;
    outline: none !important;
}

.bl-checkout .select2-container--open .select2-selection--single,
.bl-checkout .select2-container .select2-selection--single:focus {
    border-color: #4F6EF7 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 4px rgba(79, 110, 247, 0.12) !important;
}

.bl-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1A1A1A !important;
    font-size: 14px !important;
    padding: 0 !important;
    line-height: normal !important;
    text-align: left !important;
}

.bl-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
    right: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.select2-dropdown {
    border: 1.5px solid #E2E7F5 !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px rgba(20, 30, 80, 0.08) !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    z-index: 99999 !important;
}

.select2-results__option {
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    color: #1A1A1A !important;
}

.select2-results__option--highlighted[aria-selected] {
    background-color: #4F6EF7 !important;
    color: #FFFFFF !important;
}

/* Checkbox Personalizados */
.bl-checkbox {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
}

.bl-checkbox input[type="checkbox"] {
    accent-color: #4F6EF7 !important;
    width: 18px !important;
    height: 18px !important;
    margin-right: 10px !important;
    cursor: pointer !important;
}

.bl-checkbox span {
    font-size: 13.5px !important;
    color: #3A4160 !important;
    font-weight: 500 !important;
}

/* ---------- Resumen del Pedido (Review Order) ---------- */
.bl-summary-title {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin: 0 0 20px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #F0F2FA !important;
}

.bl-review-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    max-height: 380px;
    overflow-y: auto;
    padding-right: 4px;
}

.bl-review-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    background: #F8FAFF !important;
    transition: background 0.25s ease, transform 0.25s ease !important;
}

.bl-review-item:hover {
    background: rgba(79, 110, 247, 0.05) !important;
    transform: translateY(-1px) !important;
}

.bl-review-thumb-wrap {
    position: relative !important;
    flex-shrink: 0 !important;
}

.bl-review-thumb-wrap img.bl-review-thumb {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    display: block !important;
    background: #FFFFFF !important;
    border: 1px solid #E8ECF8 !important;
}

.bl-review-qty {
    position: absolute !important;
    top: -6px !important;
    right: -6px !important;
    background: #4F6EF7 !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    font-family: 'JetBrains Mono', monospace !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    box-shadow: 0 3px 8px rgba(79, 110, 247, 0.3) !important;
}

.bl-review-info {
    flex: 1 !important;
    min-width: 0 !important;
    text-align: left !important;
}

.bl-review-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.bl-review-info .variation {
    font-size: 11.5px !important;
    color: #8A8F98 !important;
    margin: 4px 0 0 !important;
}

.bl-review-price {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* Totales y Desgloses */
.bl-review-totals {
    border-top: 1px dashed #DDE3F2 !important;
    padding-top: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.bl-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 14px !important;
    color: #65676B !important;
}

.bl-total-row span:first-child {
    font-weight: 500 !important;
}

.bl-total-row .woocommerce-Price-amount {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
}

/* Descuento por Transferencia (Fee) */
.bl-total-row.fee {
    color: #9B59B6 !important;
    font-weight: 600 !important;
}

.bl-total-row.fee .woocommerce-Price-amount {
    color: #9B59B6 !important;
    font-weight: 700 !important;
}

/* Envío y filas personalizadas */
.bl-total-row.shipping {
    align-items: flex-start !important;
}

/* Total Destacado */
.bl-total-grand {
    margin-top: 8px !important;
    padding-top: 18px !important;
    border-top: 2px solid #E8ECF8 !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
}

.bl-total-grand-price .woocommerce-Price-amount {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #9B59B6 !important; /* Total destacado color violeta premium */
    letter-spacing: -0.01em !important;
}

/* ---------- Métodos de Pago ---------- */
.bl-payment-head {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 8px 0 20px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #F0F2FA !important;
}

.bl-payment-head h3 {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin: 0 !important;
}

.bl-payment-methods {
    list-style: none !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.bl-pm-card {
    position: relative !important;
    border: 1.5px solid #E2E7F5 !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    overflow: hidden !important;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.2s !important;
    list-style: none !important;
}

.bl-pm-card:hover {
    border-color: rgba(79, 110, 247, 0.4) !important;
    transform: translateY(-1px) !important;
}

.bl-pm-card:has(input[type="radio"]:checked) {
    border-color: #4F6EF7 !important;
    background: #F6F8FF !important;
    box-shadow: 0 4px 20px rgba(79, 110, 247, 0.05) !important;
}

.bl-pm-radio {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.bl-pm-label {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 18px 20px !important;
    cursor: pointer !important;
    user-select: none !important;
}

.bl-pm-radio-dot {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
    border: 2px solid #C9D2EA !important;
    position: relative !important;
    transition: border-color 0.25s !important;
}

.bl-pm-card:has(input[type="radio"]:checked) .bl-pm-radio-dot {
    border-color: #4F6EF7 !important;
}

.bl-pm-card:has(input[type="radio"]:checked) .bl-pm-radio-dot::after {
    content: '' !important;
    position: absolute !important;
    inset: 4px !important;
    border-radius: 50% !important;
    background: #4F6EF7 !important;
    animation: blPop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

@keyframes blPop {
    0% { transform: scale(0); }
    70% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.bl-pm-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
    flex: 1 !important;
    text-align: left !important;
}

.bl-pm-icon {
    display: inline-flex !important;
    align-items: center !important;
}

.bl-pm-icon img {
    max-height: 26px !important;
    width: auto !important;
    display: block !important;
}

.bl-pm-box {
    background: #F9FAFC !important;
    border-top: 1.5px solid #E2E7F5 !important;
    padding: 18px 20px !important;
    font-size: 13.5px !important;
    color: #65676B !important;
    line-height: 1.55 !important;
    animation: blFadeIn 0.3s ease both !important;
}

@keyframes blFadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.bl-pm-box label {
    font-weight: 600 !important;
    color: #1A1A1A !important;
    font-size: 13px !important;
    display: block !important;
    margin-bottom: 6px !important;
}

.bl-pm-box input,
.bl-pm-box select,
.bl-pm-box textarea {
    border: 1.5px solid #E2E7F5 !important;
    border-radius: 10px !important;
    padding: 11px 14px !important;
    width: 100% !important;
    font-size: 13.5px !important;
    background: #FFFFFF !important;
}

.bl-no-payment {
    font-size: 13.5px !important;
    color: #8A8F98 !important;
    padding: 16px !important;
    background: #F6F8FF !important;
    border-radius: 12px !important;
    text-align: left !important;
}

/* ---------- Botón de Pago (Place Order) ---------- */
.bl-place-order {
    padding: 0 !important;
    margin-top: 24px !important;
}

.bl-place-order-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

.bl-place-order-btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: linear-gradient(90deg, #4F6EF7 0%, #9B59B6 100%) !important;
    color: #FFFFFF !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    border: none !important;
    border-radius: 14px !important;
    padding: 18px 24px !important;
    cursor: pointer !important;
    box-shadow: 0 10px 28px rgba(79, 110, 247, 0.3) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
    position: relative !important;
    overflow: hidden !important;
    height: auto !important;
}

.bl-place-order-btn::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -80% !important;
    width: 50% !important;
    height: 100% !important;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.25), transparent) !important;
    transform: skewX(-20deg) !important;
    animation: blShine 3.5s ease-in-out infinite !important;
}

@keyframes blShine {
    0%, 60% { left: -80%; }
    100% { left: 130%; }
}

.bl-place-order-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 36px rgba(79, 110, 247, 0.4) !important;
    filter: brightness(1.05) !important;
}

.bl-place-order-btn:active {
    transform: translateY(0) scale(0.98) !important;
}

.bl-btn-arrow {
    display: inline-flex !important;
    transition: transform 0.25s ease !important;
}

.bl-place-order-btn:hover .bl-btn-arrow {
    transform: translateX(4px) !important;
}

.bl-place-order-secure {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 12.5px !important;
    color: #8A8F98 !important;
    margin: 0 !important;
}

.bl-place-order-secure svg {
    color: #27ae60 !important;
}

/* ---------- Banner Mercado Pago Compacto ---------- */
.bl-checkout .mp-checkout-pro-benefits,
.bl-checkout .mp-checkout-pro-payment-methods,
.bl-checkout .mp-checkout-pro-redirect,
.bl-checkout .mp-checkout-pro-benefits-title,
.bl-checkout .mp-checkout-pro-content > .mp-checkout-pro-benefits,
.bl-checkout .mp-checkout-container .mp-checkout-pro-benefits,
.bl-checkout .mp-checkout-pro-content,
.bl-checkout .mp-checkout-pro-container .mp-checkout-pro-content .mp-checkout-pro-redirect-title {
    display: none !important;
}

.bl-checkout .mp-checkout-pro-root,
.bl-checkout .mp-checkout-pro-container {
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.bl-checkout .mp-checkout-container {
    padding: 0 !important;
}

/* ---------- Cupones & Avisos ---------- */
.bl-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 20px !important;
}

.bl-checkout .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: linear-gradient(90deg, rgba(79, 110, 247, 0.06), rgba(155, 89, 182, 0.05)) !important;
    border: 1px solid rgba(79, 110, 247, 0.2) !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
    font-size: 14px !important;
    color: #3A4160 !important;
}

.bl-checkout .woocommerce-info::before {
    display: none !important;
}

.bl-checkout .checkout_coupon {
    background: #FFFFFF !important;
    border: 1px solid #E8ECF8 !important;
    border-radius: 16px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.bl-checkout .checkout_coupon .form-row {
    margin: 0 !important;
}

.bl-checkout .checkout_coupon input#coupon_code {
    border: 1.5px solid #E2E7F5 !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    min-width: 220px !important;
}

.bl-checkout .checkout_coupon button {
    background: #4F6EF7 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 12px 22px !important;
    font-weight: 600 !important;
    font-family: 'Space Grotesk', sans-serif !important;
    cursor: pointer !important;
}

/* ---------- Mensajes y Alertas (Errores/Éxito) ---------- */
.bl-checkout .woocommerce-error,
.bl-checkout .woocommerce-message {
    border-radius: 14px !important;
    border: 1px solid #E8ECF8 !important;
    background: #FFFFFF !important;
    color: #1A1A1A !important;
    font-size: 13.5px !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    list-style: none !important;
    text-align: left !important;
}

.bl-checkout .woocommerce-error {
    border-left: 4px solid #E74C3C !important;
    background: #FFF5F5 !important;
}

.bl-checkout .woocommerce-message {
    border-left: 4px solid #27AE60 !important;
    background: #F2FCF5 !important;
}

/* ---------- Aviso Descuento Transferencia ---------- */
.bl-transfer-notice {
    background: linear-gradient(90deg, rgba(79, 110, 247, 0.08), rgba(155, 89, 182, 0.08)) !important;
    border: 1.5px solid #4F6EF7 !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    font-size: 13.5px !important;
    color: #3A4160 !important;
    line-height: 1.6 !important;
    text-align: left !important;
}

.bl-transfer-notice b {
    color: #4F6EF7 !important;
}

/* ---------- Términos & Políticas ---------- */
.bl-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 16px !important;
    font-size: 13px !important;
    color: #65676B !important;
}

.bl-checkout .woocommerce-privacy-policy-text {
    font-size: 12.5px !important;
    color: #8A8F98 !important;
    margin-top: 12px !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

/* ---------- Animación de Revelado ---------- */
.bl-checkout .reveal-up {
    opacity: 0;
    transform: translateY(20px);
    animation: blReveal 0.65s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes blReveal {
    to { opacity: 1; transform: translateY(0); }
}

/* Delay escalonado para secciones */
.bl-checkout-main > div:nth-child(1) { animation-delay: 0s; }
.bl-checkout-main > div:nth-child(2) { animation-delay: 0.1s; }
.bl-checkout-main > div:nth-child(3) { animation-delay: 0.2s; }
.bl-checkout-side > div { animation-delay: 0.15s; }

/* ---------- RESPONSIVE MOBILE-FIRST ---------- */

@media (max-width: 1024px) {
    .bl-checkout-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
    
    .bl-checkout-side {
        position: static !important;
        order: -1 !important; /* Resumen del pedido arriba en móviles */
    }
    
    .bl-checkout-summary {
        border-radius: 20px !important;
        padding: 24px !important;
    }
}

@media (max-width: 768px) {
    .bl-checkout {
        padding: 40px 0 80px;
    }
    
    .bl-checkout-head {
        margin-bottom: 32px;
    }
    
    .bl-checkout-section {
        padding: 24px 20px !important;
        border-radius: 20px !important;
    }
    
    .bl-fields-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    
    .bl-fields-grid p.form-row-first,
    .bl-fields-grid p.form-row-last {
        grid-column: 1 !important;
    }
    
    .bl-review-items {
        max-height: 280px;
    }
    
    .bl-review-thumb-wrap img.bl-review-thumb {
        width: 56px !important;
        height: 56px !important;
    }
    
    .bl-place-order-btn {
        font-size: 15px !important;
        padding: 16px 20px !important;
    }
}

@media (max-width: 480px) {
    .bl-review-item {
        gap: 12px !important;
        padding: 10px !important;
    }
    
    .bl-review-thumb-wrap img.bl-review-thumb {
        width: 48px !important;
        height: 48px !important;
    }
    
    .bl-section-head {
        gap: 12px !important;
    }
    
    .bl-section-icon {
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }
    
    .bl-pm-label {
        padding: 15px 16px !important;
        gap: 10px !important;
    }
}

/* ---------- Otras páginas WooCommerce (Mantener consistencia) ---------- */
.section-woocommerce .woocommerce {
    max-width: 1000px;
    margin: 0 auto;
}

.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit {
    background: #4F6EF7 !important;
    color: #FFFFFF !important;
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
    border-radius: 10px !important;
    padding: 12px 24px !important;
    transition: background .25s ease, transform .25s ease !important;
}

.woocommerce a.button:hover, 
.woocommerce button.button:hover {
    background: #3B5AE6 !important;
    color: #FFFFFF !important;
}

/* ============================================================
   CHECKOUT FIX — Sección Método de Pago + Botón (2026-08-26)
   Gana sobre el CSS por defecto de WooCommerce y la regla
   genérica .woocommerce button.button (especificidad mayor).
   ============================================================ */

/* Contenedor de pago: integrado a la tarjeta blanca del resumen
   (WooCommerce le pone fondo gris #f8f8f9 por defecto) */
.bl-checkout #payment.bl-payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
}

/* Lista de métodos: sin bordes/padding heredados de WC */
.bl-checkout #payment.bl-payment ul.payment_methods {
    border-bottom: none !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
}

.bl-checkout #payment.bl-payment ul.payment_methods li {
    line-height: 1.5 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Detalle del método (payment_box): sin flecha gris ni márgenes raros */
.bl-checkout #payment.bl-payment .payment_box::before {
    display: none !important;
}

.bl-checkout #payment.bl-payment .payment_box.bl-pm-box {
    margin: 12px 0 0 !important;
}

/* --- Botón "Realizar pedido": CTA grande de ancho completo --- */
.bl-checkout #payment .place-order .bl-place-order-btn,
.bl-checkout .bl-place-order-wrap .bl-place-order-btn {
    width: 100% !important;
    min-height: 58px !important;
    padding: 18px 28px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    background: linear-gradient(90deg, #4F6EF7 0%, #9B59B6 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(79, 110, 247, 0.3) !important;
}

.bl-checkout .bl-place-order-wrap .bl-place-order-btn:hover {
    transform: translateY(-2px) !important;
    background: linear-gradient(90deg, #3B5AE6 0%, #8E4BA9 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 14px 36px rgba(79, 110, 247, 0.4) !important;
    filter: brightness(1.05) !important;
}

.bl-checkout .bl-place-order-wrap .bl-place-order-btn:active {
    transform: translateY(0) scale(0.98) !important;
}

.bl-checkout .bl-place-order-wrap .bl-place-order-btn .bl-btn-label {
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* Línea de seguridad bajo el botón */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    margin-top: 4px !important;
    font-size: 12.5px !important;
    color: #8A8F98 !important;
}

/* ---------- Transferencia: 3 cuentas (BCI/MACH, MP, SumUp) ---------- */
.bl-bacs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bl-bacs-intro {
    font-size: 13px !important;
    color: #3A4160 !important;
    line-height: 1.6 !important;
    margin: 0 0 4px !important;
    background: #F6F8FF !important;
    border: 1px dashed #C9D4F5 !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
}

.bl-bacs-acc {
    border-radius: 12px !important;
    overflow: hidden !important;
}

.bl-bacs-acc summary {
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    padding: 14px 18px !important;
    color: #FFFFFF !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    user-select: none !important;
    transition: filter 0.2s ease !important;
}

.bl-bacs-acc summary:hover {
    filter: brightness(1.08) !important;
}

.bl-bacs-acc summary::-webkit-details-marker {
    display: none !important;
}

.bl-bacs-acc summary::marker {
    content: '' !important;
}

.bl-bacs-bci summary {
    background: linear-gradient(135deg, #7B2CBF 0%, #9D4EDD 100%) !important; /* morado */
}

.bl-bacs-mp summary {
    background: linear-gradient(135deg, #009EE3 0%, #00B5F1 100%) !important; /* azul MP */
}

.bl-bacs-sumup summary {
    background: linear-gradient(135deg, #141414 0%, #2E2E2E 100%) !important; /* negro */
}

.bl-bacs-acc-badge {
    background: rgba(255, 255, 255, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.bl-bacs-acc-chev {
    margin-left: auto !important;
    font-size: 13px !important;
    opacity: 0.85 !important;
    transition: transform 0.25s ease !important;
}

.bl-bacs-acc[open] .bl-bacs-acc-chev {
    transform: rotate(180deg) !important;
}

.bl-bacs-acc-body {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E7F5 !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    padding: 6px 18px 12px !important;
}

.bl-bacs-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 0 !important;
    border-bottom: 1px dashed #EDF0F8 !important;
    font-size: 13.5px !important;
    color: #65676B !important;
}

.bl-bacs-row:last-child {
    border-bottom: none !important;
}

.bl-bacs-row b {
    color: #1A1A1A !important;
    font-weight: 600 !important;
    text-align: right !important;
}

.bl-bacs-val {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bl-bacs-num {
    font-family: 'JetBrains Mono', 'Courier New', monospace !important;
    font-size: 14px !important;
    letter-spacing: 0.03em !important;
}

.bl-bacs-copy {
    background: #F0F3FF !important;
    border: 1px solid #D7DEF5 !important;
    color: #4F6EF7 !important;
    border-radius: 8px !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    font-family: 'Inter', sans-serif !important;
    cursor: pointer !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.bl-bacs-copy:hover {
    background: #4F6EF7 !important;
    color: #FFFFFF !important;
}

.bl-bacs-warn {
    margin: 10px 0 0 !important;
    padding: 10px 12px !important;
    background: #FFF8E6 !important;
    border: 1px solid #F2D98B !important;
    border-radius: 10px !important;
    font-size: 12.5px !important;
    color: #6B5B1E !important;
    line-height: 1.55 !important;
}

.bl-bacs-email {
    margin-top: 2px !important;
    padding: 12px 14px !important;
    background: #F6F8FF !important;
    border: 1.5px solid #4F6EF7 !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    color: #3A4160 !important;
    line-height: 1.6 !important;
}

.bl-bacs-email b {
    color: #4F6EF7 !important;
}

/* ============================================================
   CHECKOUT v3 — Nota SUPER IMPORTANTE + pie del pago (2026-08-26)
   ============================================================ */

/* --- Nota SUPER IMPORTANTE: alerta ámbar bien visible --- */
.bl-bacs-email {
    margin-top: 4px !important;
    padding: 14px 16px !important;
    background: linear-gradient(135deg, #FFF7E0 0%, #FFEDBE 100%) !important;
    border: 2px solid #F0B429 !important;
    border-radius: 14px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #5C4700 !important;
    line-height: 1.6 !important;
    box-shadow: 0 6px 20px rgba(240, 180, 41, 0.28) !important;
}

.bl-bacs-email-label {
    display: inline-block !important;
    background: #F0B429 !important;
    color: #FFFFFF !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    margin-bottom: 8px !important;
    box-shadow: 0 3px 10px rgba(240, 180, 41, 0.4) !important;
}

.bl-bacs-email p {
    margin: 0 !important;
    font-size: 13.5px !important;
}

.bl-bacs-email p b {
    color: #8A5A00 !important;
}

/* --- Pie del pago: separador sobre el botón --- */
.bl-checkout #payment .place-order.bl-place-order {
    margin-top: 26px !important;
    padding-top: 22px !important;
    border-top: 1.5px dashed #E2E7F5 !important;
}

/* --- Texto de privacidad: centrado y discreto --- */
.bl-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 14px !important;
}

.bl-checkout .woocommerce-privacy-policy-text {
    text-align: center !important;
    font-size: 11.5px !important;
    color: #A0A5B0 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    padding: 0 8px !important;
}

/* --- Línea de confianza: badge centrado bajo el botón --- */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 12px auto 0 !important;
    padding: 7px 16px !important;
    background: #F3F6FC !important;
    border: 1px solid #E4EAF8 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #5A6072 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}

.bl-checkout .bl-place-order-wrap .bl-place-order-secure svg {
    color: #27AE60 !important;
    flex-shrink: 0 !important;
}

/* ============================================================
   CHECKOUT v4 — botón centrado + pago seguro + privacidad (2026-08-26)
   Orden visual: [botón centrado] → [badge pago seguro] → [privacidad]
   ============================================================ */

/* Botón centrado (ya no full-width) */
.bl-checkout #payment .place-order .bl-place-order-btn,
.bl-checkout .bl-place-order-wrap .bl-place-order-btn {
    width: fit-content !important;
    min-width: min(320px, 100%) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

/* Contenedor: centrar hijos */
.bl-checkout .bl-place-order-wrap {
    align-items: center !important;
    gap: 10px !important;
}

/* Badge pago seguro: justo bajo el botón */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    margin: 0 auto !important;
    white-space: normal !important;
    text-align: center !important;
}

/* Privacidad: justo bajo el badge, centrada y discreta */
.bl-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 14px !important;
}

.bl-checkout .woocommerce-privacy-policy-text {
    text-align: center !important;
    font-size: 11.5px !important;
    color: #A0A5B0 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    padding: 0 8px !important;
}

/* ============================================================
   CHECKOUT v5 — bloque apilado compacto (2026-08-26)
   Botón → pago seguro → privacidad: uno encima del otro, alineados
   ============================================================ */

/* Contenedor: columna apretada */
.bl-checkout .bl-place-order-wrap {
    align-items: center !important;
    gap: 6px !important;
    margin-top: 16px !important;
}

/* Recuadro pago seguro: mismo ancho del botón, pegado abajo */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    padding: 8px 16px !important;
    box-sizing: border-box !important;
}

/* Privacidad: pegada al recuadro */
.bl-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 8px !important;
}

/* ============================================================
   CHECKOUT v6 — FIX layout del pie (2026-08-26)
   style.css tiene .form-row { display:flex; justify-content:space-between }
   (global) que ponía botón+seguro a la izquierda y la privacidad
   a la derecha. Forzamos bloque: los 3 apilados en 1 columna.
   ============================================================ */

.bl-checkout #payment .place-order.bl-place-order {
    display: block !important;
    width: 100% !important;
}

.bl-checkout #payment .place-order.bl-place-order .woocommerce-terms-and-conditions-wrapper {
    display: block !important;
    width: 100% !important;
}

/* ============================================================
   CHECKOUT v7 — Métodos de pago con color (2026-08-26)
   Cada opción con su color de marca, emoji y selección vistosa.
   ============================================================ */

/* Emojis por método */
.bl-pm-card.payment_method_woo-mercado-pago-basic .bl-pm-title::before { content: '💳 '; }
.bl-pm-card.payment_method_flowpayment            .bl-pm-title::before { content: '⚡ '; }
.bl-pm-card.payment_method_flow_bcimach           .bl-pm-title::before { content: '💜 '; }
.bl-pm-card.payment_method_bacs                   .bl-pm-title::before { content: '🏦 '; }

/* Título más presente */
.bl-pm-title {
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* ---------- Mercado Pago (azul) ---------- */
.bl-pm-card.payment_method_woo-mercado-pago-basic {
    background: linear-gradient(135deg, #F0FAFF 0%, #FFFFFF 70%) !important;
    border-color: #C4E8F8 !important;
}
.bl-pm-card.payment_method_woo-mercado-pago-basic:has(input[type="radio"]:checked) {
    border-color: #009EE3 !important;
    background: #E8F7FE !important;
    box-shadow: 0 4px 20px rgba(0, 158, 227, 0.18) !important;
}
.bl-pm-card.payment_method_woo-mercado-pago-basic:has(input[type="radio"]:checked) .bl-pm-radio-dot {
    border-color: #009EE3 !important;
}
.bl-pm-card.payment_method_woo-mercado-pago-basic:has(input[type="radio"]:checked) .bl-pm-radio-dot::after {
    background: #009EE3 !important;
}

/* ---------- Cuotas sin tarjeta - FLOW (verde) ---------- */
.bl-pm-card.payment_method_flowpayment {
    background: linear-gradient(135deg, #F0FBF4 0%, #FFFFFF 70%) !important;
    border-color: #BCE8CE !important;
}
.bl-pm-card.payment_method_flowpayment:has(input[type="radio"]:checked) {
    border-color: #0FA958 !important;
    background: #E4F7EC !important;
    box-shadow: 0 4px 20px rgba(15, 169, 88, 0.18) !important;
}
.bl-pm-card.payment_method_flowpayment:has(input[type="radio"]:checked) .bl-pm-radio-dot {
    border-color: #0FA958 !important;
}
.bl-pm-card.payment_method_flowpayment:has(input[type="radio"]:checked) .bl-pm-radio-dot::after {
    background: #0FA958 !important;
}

/* ---------- BCI/MACH - Flow (morado) ---------- */
.bl-pm-card.payment_method_flow_bcimach {
    background: linear-gradient(135deg, #F8F1FD 0%, #FFFFFF 70%) !important;
    border-color: #DCC7F0 !important;
}
.bl-pm-card.payment_method_flow_bcimach:has(input[type="radio"]:checked) {
    border-color: #7B2CBF !important;
    background: #F3E9FB !important;
    box-shadow: 0 4px 20px rgba(123, 44, 191, 0.18) !important;
}
.bl-pm-card.payment_method_flow_bcimach:has(input[type="radio"]:checked) .bl-pm-radio-dot {
    border-color: #7B2CBF !important;
}
.bl-pm-card.payment_method_flow_bcimach:has(input[type="radio"]:checked) .bl-pm-radio-dot::after {
    background: #7B2CBF !important;
}

/* ---------- Transferencia bancaria (azul-violeta) ---------- */
.bl-pm-card.payment_method_bacs {
    background: linear-gradient(135deg, #F4F6FF 0%, #FFFFFF 70%) !important;
    border-color: #CDD6F5 !important;
}
.bl-pm-card.payment_method_bacs:has(input[type="radio"]:checked) {
    border-color: #4F6EF7 !important;
    background: #EBEFFF !important;
    box-shadow: 0 4px 20px rgba(79, 110, 247, 0.18) !important;
}
.bl-pm-card.payment_method_bacs:has(input[type="radio"]:checked) .bl-pm-radio-dot {
    border-color: #4F6EF7 !important;
}
.bl-pm-card.payment_method_bacs:has(input[type="radio"]:checked) .bl-pm-radio-dot::after {
    background: #4F6EF7 !important;
}

/* ============================================================
   CHECKOUT v8 — ajustes finales (2026-08-26)
   Sin emojis · pulso transferencia · subtítulos · drawer v2
   ============================================================ */

/* --- Quitar emojis de los métodos de pago --- */
.bl-pm-card .bl-pm-title::before {
    content: '' !important;
}

/* --- Tarjeta de transferencia: pulso para atraer la atención --- */
@keyframes blBacsPulse {
    0%   { box-shadow: 0 0 0 0 rgba(79, 110, 247, 0.38); }
    70%  { box-shadow: 0 0 0 13px rgba(79, 110, 247, 0); }
    100% { box-shadow: 0 0 0 0 rgba(79, 110, 247, 0); }
}

.bl-pm-card.payment_method_bacs {
    animation: blBacsPulse 2.4s ease-out infinite !important;
}

/* --- Título + subtítulo en la tarjeta de método --- */
.bl-pm-label {
    align-items: center !important;
}

.bl-pm-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 !important;
    min-width: 0 !important;
    text-align: left !important;
}

.bl-pm-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
}

.bl-pm-sub {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #8A8F98 !important;
    line-height: 1.4 !important;
}

/* ============================================================
   CART DRAWER v2 — rediseño (2026-08-26)
   ============================================================ */
.cart-drawer {
    max-width: 460px !important;
}

.cart-drawer-header {
    padding: 20px 24px !important;
    background: linear-gradient(135deg, #F8FAFF 0%, #FFFFFF 100%) !important;
    border-bottom: 1px solid #EDF0F8 !important;
}

.cart-drawer-header h3 {
    font-size: 17px !important;
    letter-spacing: 0.4px !important;
}

.cart-drawer-count {
    color: #4F6EF7 !important;
}

.cart-drawer-body {
    padding: 10px 20px !important;
}

.cart-item {
    grid-template-columns: 64px 1fr auto !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #EDF0F8 !important;
}

.cart-item-image {
    width: 64px !important;
    height: 64px !important;
    border-radius: 12px !important;
    border: 1px solid #E8ECF8 !important;
    background: #F8FAFF !important;
}

.cart-item-info h4 {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #1A1A1A !important;
}

.cart-item-price {
    font-size: 12px !important;
    color: #4F6EF7 !important;
    font-weight: 700 !important;
}

.cart-qty-btn {
    width: 26px !important;
    height: 26px !important;
    border-radius: 8px !important;
    background: #F0F3FF !important;
    color: #4F6EF7 !important;
    border: 1px solid #DDE4F8 !important;
    font-size: 14px !important;
}

.cart-qty-btn:hover {
    background: #4F6EF7 !important;
    color: #FFFFFF !important;
}

.cart-qty-value {
    min-width: 26px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
}

.cart-item-remove {
    font-size: 11px !important;
    color: #A0A5B0 !important;
    margin-left: 10px !important;
}

.cart-drawer-footer {
    padding: 16px 24px 20px !important;
    background: #FFFFFF !important;
    border-top: 1px solid #EDF0F8 !important;
}

.cart-row {
    font-size: 13px !important;
    color: #6B7280 !important;
    padding: 5px 0 !important;
}

.cart-row span:last-child {
    font-weight: 600 !important;
    color: #1A1A1A !important;
}

.cart-shipping-note {
    margin: 2px 0 0 !important;
    font-size: 11px !important;
    color: #A0A5B0 !important;
    text-align: right !important;
    line-height: 1.4 !important;
}

.cart-row.cart-total {
    border-top: 1.5px dashed #D7DEF5 !important;
    margin-top: 10px !important;
    padding-top: 12px !important;
}

.cart-row.cart-total span:last-child {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    background: linear-gradient(90deg, #4F6EF7 0%, #9B59B6 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.btn-checkout {
    margin-top: 14px !important;
    width: 100% !important;
    background: linear-gradient(90deg, #4F6EF7 0%, #9B59B6 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 14px !important;
    padding: 16px 24px !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    box-shadow: 0 10px 28px rgba(79, 110, 247, 0.3) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.btn-checkout:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 36px rgba(79, 110, 247, 0.4) !important;
    filter: brightness(1.05) !important;
}

.btn-text {
    font-size: 13px !important;
    color: #8A8F98 !important;
    margin-top: 10px !important;
}

/* ============================================================
   CHECKOUT v9 — Transferencia más visible (violeta) (2026-08-26)
   ============================================================ */
.bl-pm-card.payment_method_bacs {
    background: linear-gradient(135deg, #F5F0FF 0%, #FFFFFF 70%) !important;
    border: 2px solid #C9B3F0 !important;
}

.bl-pm-card.payment_method_bacs .bl-pm-title {
    color: #6D28D9 !important;
}

.bl-pm-card.payment_method_bacs:has(input[type="radio"]:checked) {
    border-color: #8B5CF6 !important;
    background: #EDE4FE !important;
    box-shadow: 0 4px 20px rgba(139, 92, 246, 0.25) !important;
}

.bl-pm-card.payment_method_bacs:has(input[type="radio"]:checked) .bl-pm-radio-dot {
    border-color: #8B5CF6 !important;
}

.bl-pm-card.payment_method_bacs:has(input[type="radio"]:checked) .bl-pm-radio-dot::after {
    background: #8B5CF6 !important;
}

@keyframes blBacsPulseV2 {
    0%   { box-shadow: 0 0 0 0 rgba(139, 92, 246, 0.40); }
    70%  { box-shadow: 0 0 0 13px rgba(139, 92, 246, 0); }
    100% { box-shadow: 0 0 0 0 rgba(139, 92, 246, 0); }
}

.bl-pm-card.payment_method_bacs {
    animation: blBacsPulseV2 2.4s ease-out infinite !important;
}

/* ============================================================
   CHECKOUT v10 — recuadro Mercado Pago propio (2026-08-26)
   ============================================================ */
.bl-mp-box {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.bl-mp-box-text {
    font-size: 13.5px !important;
    color: #3A4160 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.bl-mp-features {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.bl-mp-features li {
    position: relative !important;
    padding-left: 20px !important;
    font-size: 13px !important;
    color: #65676B !important;
    line-height: 1.5 !important;
}

.bl-mp-features li::before {
    content: '✓' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #009EE3 !important;
    font-weight: 700 !important;
}

.bl-mp-features li b {
    color: #1A1A1A !important;
}

/* Recuadro MP simplificado: línea de cuotas destacada */
.bl-mp-quotas {
    margin: 4px 0 0 !important;
    font-size: 13.5px !important;
    color: #3A4160 !important;
}

.bl-mp-quotas b {
    color: #009EE3 !important;
}

/* ============================================================
   CURSOR NORMAL (2026-08-26) — nada de circulitos ni imágenes
   ============================================================ */
body {
    cursor: auto !important;
}

a, button, [role="button"], .btn, label, summary,
.product-card, .category-card, .bl-pm-label, .cart-qty-btn,
.cart-item-remove, .cart-close, .search-toggle, .icon-btn,
.nav-dropdown-trigger, .floating-tracking, .scroll-top,
input[type="submit"], .woocommerce button.button {
    cursor: pointer !important;
}

input, textarea, select {
    cursor: text !important;
}

/* ============================================================
   CHECKOUT v12 — Boleta/Factura + Retiro + zonas de color (2026-08-26)
   ============================================================ */

/* Campos ocultos (país y ZIP de envío) */
.bl-hidden {
    display: none !important;
}

/* Campos de factura ocultos por defecto; el modo lo controla la clase
   .bl-mode-factura en el form (JS), no estilos inline (el !important
   anterior bloqueaba mostrar los campos) */
.bl-factura {
    display: none !important;
}

.bl-mode-factura .bl-factura {
    display: block !important;
}

.bl-mode-factura .bl-boleta {
    display: none !important;
}

/* ---------- Selector Boleta/Factura (segmented control) ---------- */
.bl-tipo-doc fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 10px !important;
}

.bl-tipo-doc legend {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
}

.bl-tipo-doc input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.bl-tipo-doc label.radio {
    flex: 1 !important;
    text-align: center !important;
    padding: 12px 16px !important;
    border-radius: 12px !important;
    border: 2px solid #E2E7F5 !important;
    background: #FFFFFF !important;
    color: #65676B !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.bl-tipo-doc input[type="radio"]:checked + label.radio {
    border-color: #4F6EF7 !important;
    background: #EBEFFF !important;
    color: #4F6EF7 !important;
    box-shadow: 0 4px 14px rgba(79, 110, 247, 0.15) !important;
}

.bl-tipo-doc input[type="radio"]:checked + label.radio[for*="factura"] {
    border-color: #8B5CF6 !important;
    background: #F3EBFE !important;
    color: #7B2CBF !important;
    box-shadow: 0 4px 14px rgba(139, 92, 246, 0.18) !important;
}

/* ---------- Zonas con color discreto ---------- */
.bl-checkout-main > .bl-checkout-section:nth-child(1) {
    border-top: 3px solid #4F6EF7 !important; /* Datos: azul */
}

.bl-checkout-main > .bl-checkout-section:nth-child(1) .bl-section-icon {
    background: linear-gradient(135deg, rgba(79, 110, 247, 0.12), rgba(79, 110, 247, 0.05)) !important;
    color: #4F6EF7 !important;
}

.bl-checkout-main > .bl-checkout-section:nth-child(2) {
    border-top: 3px solid #0FA958 !important; /* Envío: verde */
}

.bl-checkout-main > .bl-checkout-section:nth-child(2) .bl-section-icon {
    background: linear-gradient(135deg, rgba(15, 169, 88, 0.12), rgba(15, 169, 88, 0.05)) !important;
    color: #0FA958 !important;
}

/* Campos de factura: tinte violeta discreto */
.bl-checkout .bl-factura .form-row {
    background: #F8F4FE !important;
    border-radius: 12px !important;
    padding: 6px 12px !important;
    margin-bottom: 4px !important;
}

.bl-checkout .bl-factura .form-row label {
    color: #6D28D9 !important;
}

/* ---------- Aviso de retiro ---------- */
.bl-pickup-notice {
    margin: 14px 0 0 !important;
    width: 100% !important;
    max-width: none !important;
    background: linear-gradient(135deg, #FFF8E6 0%, #FFEFC7 100%) !important;
    border: 2px solid #F0B429 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    box-shadow: 0 6px 20px rgba(240, 180, 41, 0.25) !important;
    text-align: left !important;
}

.bl-pickup-notice-title {
    display: inline-block !important;
    background: #F0B429 !important;
    color: #FFFFFF !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    margin-bottom: 8px !important;
}

.bl-pickup-address {
    font-size: 14px !important;
    color: #5C4700 !important;
    margin: 0 0 4px !important;
}

.bl-pickup-notice p {
    margin: 4px 0 !important;
    font-size: 13.5px !important;
    color: #5C4700 !important;
    line-height: 1.6 !important;
}

/* ---------- Pulso rojo en campos faltantes ---------- */
@keyframes blFieldPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.55); }
    50% { box-shadow: 0 0 0 7px rgba(231, 76, 60, 0); }
}

.bl-checkout .form-row.woocommerce-invalid input.input-text,
.bl-checkout .form-row.woocommerce-invalid select,
.bl-checkout .form-row.woocommerce-invalid .select2-container,
.bl-checkout .form-row.bl-field-error input.input-text,
.bl-checkout .form-row.bl-field-error select {
    border-color: #E74C3C !important;
    animation: blFieldPulse 1.1s ease-out infinite !important;
}

/* ============================================================
   CHECKOUT v13 — Tarjetas Envío/Retiro (2026-08-26)
   ============================================================ */
.bl-ship-cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}

.bl-ship-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    border: 2px solid #E2E7F5 !important;
    background: #FFFFFF !important;
    cursor: pointer !important;
    text-align: left !important;
    font-family: inherit !important;
    transition: all 0.25s ease !important;
}

.bl-ship-card:hover {
    border-color: #C9D4F5 !important;
    transform: translateY(-1px) !important;
}

.bl-ship-card-icon {
    font-size: 22px !important;
    line-height: 1 !important;
}

.bl-ship-card-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.bl-ship-card-title {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
}

.bl-ship-card-sub {
    font-size: 11.5px !important;
    color: #8A8F98 !important;
    line-height: 1.3 !important;
}

.bl-ship-card-ship.active {
    border-color: #4F6EF7 !important;
    background: #EBEFFF !important;
    box-shadow: 0 4px 16px rgba(79, 110, 247, 0.15) !important;
}

.bl-ship-card-ship.active .bl-ship-card-title {
    color: #4F6EF7 !important;
}

.bl-ship-card-pickup.active {
    border-color: #8B5CF6 !important;
    background: #F3EBFE !important;
    box-shadow: 0 4px 16px rgba(139, 92, 246, 0.18) !important;
}

.bl-ship-card-pickup.active .bl-ship-card-title {
    color: #7B2CBF !important;
}

@media (max-width: 480px) {
    .bl-ship-cards {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   CHECKOUT v14 — tarjetas compactas sin emoji + fallback :has()
   ============================================================ */

/* Tarjetas más compactas */
.bl-ship-cards {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
}

.bl-ship-card {
    gap: 10px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    border: 1.5px solid #E2E7F5 !important;
}

.bl-ship-card-icon {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    color: #8A8F98 !important;
}

.bl-ship-card-ship.active .bl-ship-card-icon,
.bl-ship-card-pickup.active .bl-ship-card-icon {
    color: inherit !important;
}

.bl-ship-card-title {
    font-size: 13px !important;
}

.bl-ship-card-sub {
    font-size: 11px !important;
}

/* ---- Fallback SIN JS: boleta/factura vía :has() ---- */
.bl-checkout:has(input[name="billing_tipo_documento"][value="factura"]:checked) .bl-factura {
    display: block !important;
}

.bl-checkout:has(input[name="billing_tipo_documento"][value="factura"]:checked) .bl-boleta {
    display: none !important;
}

/* ---- Fallback SIN JS: retiro en tienda ---- */
.bl-checkout:has(input[name="shipping_method[0]"][value^="local_pickup"]:checked) #blPickupNotice {
    display: block !important;
}

.bl-checkout:has(input[name="shipping_method[0]"][value^="local_pickup"]:checked) .shipping_address {
    display: none !important;
}

/* ============================================================
   CHECKOUT v15 — tarjetas como labels nativos + estados :has()
   (funciona 100% sin JavaScript)
   ============================================================ */

/* Estados activos por CSS puro (según el radio real marcado) */
.bl-checkout:has(input[name="shipping_method[0]"][value^="local_pickup"]:checked) #blShipCardRetiro {
    border-color: #8B5CF6 !important;
    background: #F3EBFE !important;
    box-shadow: 0 4px 16px rgba(139, 92, 246, 0.18) !important;
}

.bl-checkout:has(input[name="shipping_method[0]"][value^="local_pickup"]:checked) #blShipCardRetiro .bl-ship-card-title {
    color: #7B2CBF !important;
}

.bl-checkout:has(input[name="shipping_method[0]"][value^="local_pickup"]:checked) #blShipCardShip {
    border-color: #E2E7F5 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
}

.bl-checkout:has(input[name="shipping_method[0]"][value^="local_pickup"]:checked) #blShipCardShip .bl-ship-card-title {
    color: #1A1A1A !important;
}

/* Asterisco en campos de factura (obligatorios) */
.bl-factura .form-row label::after {
    content: ' *' !important;
    color: #E74C3C !important;
}

/* ============================================================
   CHECKOUT v16 — FIX especificidad boleta/factura (2026-08-26)
   .bl-fields-grid p.form-row { display:flex !important } (0,2,1)
   ganaba a .bl-factura { display:none !important } (0,1,0) → los
   campos de factura se veían SIEMPRE. Subimos especificidad.
   ============================================================ */

.bl-fields-grid .bl-factura,
.bl-fields-grid p.bl-factura {
    display: none !important;
}

.bl-mode-factura .bl-fields-grid .bl-factura {
    display: block !important;
}

.bl-mode-factura .bl-fields-grid .bl-boleta {
    display: none !important;
}

/* Fallback :has() con la misma especificidad alta */
.bl-checkout:has(input[name="billing_tipo_documento"][value="factura"]:checked) .bl-fields-grid .bl-factura {
    display: block !important;
}

.bl-checkout:has(input[name="billing_tipo_documento"][value="factura"]:checked) .bl-fields-grid .bl-boleta {
    display: none !important;
}

/* Campos de boleta: quitar "(opcional)" y mostrar asterisco (son obligatorios) */
.bl-boleta .form-row label:not(.required_field) .optional {
    display: none !important;
}

.bl-boleta .form-row label:not(.required_field)::after {
    content: ' *' !important;
    color: #E74C3C !important;
}

/* ============================================================
   CHECKOUT v17 — envío solo editable en sección Envío (2026-08-26)
   ============================================================ */

/* Ocultar radios de envío en el resumen (Tu pedido): se muestra texto fijo */
#shipping_method,
.woocommerce-shipping-methods {
    display: none !important;
}

.bl-ship-static {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
    padding: 6px 0 !important;
}

.bl-pickup-limit {
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px dashed rgba(92, 71, 0, 0.35) !important;
}

/* Retiro: ocultar también el checkbox "Enviar a una dirección distinta" */
.bl-checkout:has(input[name="shipping_method[0]"][value^="local_pickup"]:checked) #ship-to-different-address {
    display: none !important;
}

/* ============================================================
   THANK YOU / RECIBO — diseño (2026-08-26)
   ============================================================ */
.bl-thankyou {
    max-width: 720px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

.bl-thankyou-hero {
    text-align: center !important;
    padding: 34px 24px !important;
    background: linear-gradient(135deg, #F4F8FF 0%, #F8F4FF 100%) !important;
    border: 1px solid #E4EAF8 !important;
    border-radius: 22px !important;
}

.bl-thankyou-icon {
    width: 64px !important;
    height: 64px !important;
    margin: 0 auto 14px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #4F6EF7 0%, #9B59B6 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 26px rgba(79, 110, 247, 0.35) !important;
}

.bl-thankyou-hero--fail .bl-thankyou-icon {
    background: linear-gradient(135deg, #E74C3C 0%, #E67E22 100%) !important;
    box-shadow: 0 10px 26px rgba(231, 76, 60, 0.3) !important;
}

.bl-thankyou-hero h1 {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #1A1A1A !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 8px !important;
}

.bl-thankyou-hero p {
    font-size: 14px !important;
    color: #5A6072 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

.bl-thankyou-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
}

.bl-thankyou-mini {
    background: #FFFFFF !important;
    border: 1px solid #E8ECF8 !important;
    border-radius: 16px !important;
    padding: 14px 12px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
}

.bl-thankyou-mini-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 4px !important;
}

.bl-mini-blue   { background: #EBEFFF !important; color: #4F6EF7 !important; }
.bl-mini-violet { background: #F3EBFE !important; color: #7B2CBF !important; }
.bl-mini-green  { background: #E4F7EC !important; color: #0FA958 !important; }
.bl-mini-amber  { background: #FFF3D6 !important; color: #B7791F !important; }

.bl-thankyou-mini-label {
    font-size: 11px !important;
    color: #8A8F98 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
}

.bl-thankyou-mini-value {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}

.bl-thankyou-card {
    background: #FFFFFF !important;
    border: 1px solid #E8ECF8 !important;
    border-radius: 18px !important;
    padding: 20px 22px !important;
    box-shadow: 0 8px 28px rgba(20, 30, 80, 0.05) !important;
}

.bl-thankyou-card-head {
    border-bottom: 1px solid #F0F2FA !important;
    padding-bottom: 12px !important;
    margin-bottom: 14px !important;
}

.bl-thankyou-card-head h3 {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin: 0 !important;
}

.bl-thankyou-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.bl-thankyou-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.bl-thankyou-item-thumb {
    flex-shrink: 0 !important;
}

.bl-thankyou-item-thumb img {
    width: 52px !important;
    height: 52px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 1px solid #E8ECF8 !important;
}

.bl-thankyou-item-name {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.bl-thankyou-item-name b {
    font-size: 13.5px !important;
    color: #1A1A1A !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.bl-thankyou-item-name small {
    font-size: 12px !important;
    color: #8A8F98 !important;
}

.bl-thankyou-item-total {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    white-space: nowrap !important;
}

.bl-thankyou-totals {
    margin-top: 16px !important;
    border-top: 1px dashed #D7DEF5 !important;
    padding-top: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.bl-thankyou-total-row {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 13.5px !important;
    color: #5A6072 !important;
}

.bl-thankyou-total-row span:last-child {
    font-weight: 600 !important;
    color: #1A1A1A !important;
}

.bl-thankyou-total-grand {
    border-top: 1px dashed #D7DEF5 !important;
    margin-top: 6px !important;
    padding-top: 10px !important;
    font-size: 15px !important;
}

.bl-thankyou-total-grand span:last-child {
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    background: linear-gradient(90deg, #4F6EF7 0%, #9B59B6 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.bl-thankyou-delivery {
    font-size: 13.5px !important;
    color: #3A4160 !important;
    line-height: 1.6 !important;
}

.bl-thankyou-delivery-title {
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin: 0 0 6px !important;
}

.bl-thankyou-delivery p {
    margin: 2px 0 !important;
}

.bl-thankyou-delivery--pickup {
    background: linear-gradient(135deg, #FFF8E6 0%, #FFEFC7 100%) !important;
    border: 1.5px solid #F0B429 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    color: #5C4700 !important;
}

.bl-thankyou-delivery-note {
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px dashed rgba(92, 71, 0, 0.35) !important;
}

.bl-thankyou-pay-method {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
    margin: 0 0 10px !important;
}

.bl-thankyou-instructions {
    background: #F8FAFF !important;
    border: 1px solid #E4EAF8 !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
    color: #3A4160 !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
}

.bl-thankyou-instructions p {
    margin: 4px 0 !important;
}

.bl-thankyou-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 6px 0 10px !important;
}

.bl-thankyou-actions .btn-primary {
    background: linear-gradient(90deg, #4F6EF7 0%, #9B59B6 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 14px !important;
    padding: 15px 34px !important;
    font-family: 'Space Grotesk', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    box-shadow: 0 10px 26px rgba(79, 110, 247, 0.3) !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.bl-thankyou-actions .btn-text {
    color: #8A8F98 !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

@media (max-width: 640px) {
    .bl-thankyou-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .bl-thankyou-hero h1 {
        font-size: 22px !important;
    }
}

/* Ocultar la tabla duplicada que WooCommerce agrega vía hook woocommerce_thankyou */
.bl-thankyou .woocommerce-order-details,
.bl-thankyou .woocommerce-order-details-wrapper,
.bl-thankyou .woocommerce-customer-details,
.bl-thankyou .woocommerce-columns--addresses,
.bl-thankyou section.woocommerce-columns {
    display: none !important;
}

/* Sección Confirmar compra (botón bajo la sección Envío) */
.bl-place-order-section .bl-place-order {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.bl-place-order-section .bl-place-order-wrap {
    margin-top: 4px !important;
}

/* Ocultar sección vacía (woocommerce_checkout_after_customer_details sin contenido) */
.bl-checkout-main > .bl-checkout-section:empty {
    display: none !important;
}

/* ============================================================
   CHECKOUT v18 — Botón + Pago seguro a ancho completo (2026-08-26)
   Antes estaban limitados a 320px (pill estrecho). Ahora ocupan
   el ancho completo de la tarjeta: más presencia y armonía.
   ============================================================ */

/* Botón: ancho completo de la tarjeta, más alto y legible */
.bl-checkout .bl-place-order-wrap .bl-place-order-btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 20px 28px !important;
    font-size: 17px !important;
    border-radius: 16px !important;
    gap: 12px !important;
}

/* Recuadro pago seguro: mismo ancho del botón (armónico) */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
}

/* Contenedor: columna centrada con aire entre ambos */
.bl-checkout .bl-place-order-wrap {
    gap: 10px !important;
    margin-top: 18px !important;
}

/* Pantallas chicas: un poco más compactos */
@media (max-width: 480px) {
    .bl-checkout .bl-place-order-wrap .bl-place-order-btn {
        padding: 16px 20px !important;
        font-size: 15px !important;
        border-radius: 14px !important;
    }
    .bl-checkout .bl-place-order-wrap .bl-place-order-secure {
        padding: 10px 14px !important;
        font-size: 12px !important;
        border-radius: 14px !important;
    }
}

/* ============================================================
   CHECKOUT v19 — botón rectangular centrado (2026-08-26)
   Ni píldora estrecha ni losa a lo ancho: botón rectangular
   con buen tamaño, centrado justo al medio de la tarjeta.
   ============================================================ */

/* Botón: rectangular, centrado, ancho cómodo */
.bl-checkout .bl-place-order-wrap .bl-place-order-btn {
    width: min(460px, 100%) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 18px 36px !important;
    font-size: 16.5px !important;
    border-radius: 10px !important;
    gap: 12px !important;
}

/* Recuadro pago seguro: mismo ancho, rectangular, centrado */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    width: min(460px, 100%) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
}

/* Contenedor: centrado */
.bl-checkout .bl-place-order-wrap {
    align-items: center !important;
    gap: 10px !important;
    margin-top: 18px !important;
}

/* Pantallas chicas: se adapta al ancho disponible */
@media (max-width: 480px) {
    .bl-checkout .bl-place-order-wrap .bl-place-order-btn {
        width: 100% !important;
        padding: 16px 20px !important;
        font-size: 15px !important;
        border-radius: 10px !important;
    }
    .bl-checkout .bl-place-order-wrap .bl-place-order-secure {
        width: 100% !important;
        padding: 10px 14px !important;
        font-size: 12px !important;
        border-radius: 10px !important;
    }
}

/* ============================================================
   CHECKOUT v20 — fila: pago seguro izquierda + botón derecha
   al mismo nivel; privacidad abajo de ambos (2026-08-26)
   ============================================================ */

/* Contenedor: fila horizontal, botón a la derecha */
.bl-checkout .bl-place-order-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 18px !important;
}

/* Botón: a la derecha, tamaño natural */
.bl-checkout .bl-place-order-wrap .bl-place-order-btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px 30px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
    gap: 10px !important;
}

/* Recuadro pago seguro: a la izquierda, mismo nivel */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: left !important;
}

/* Privacidad + términos: abajo de ambos, centrado */
.bl-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 14px !important;
    text-align: center !important;
}

/* Pantallas chicas: apilados (seguro arriba, botón abajo) */
@media (max-width: 640px) {
    .bl-checkout .bl-place-order-wrap {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .bl-checkout .bl-place-order-wrap .bl-place-order-btn,
    .bl-checkout .bl-place-order-wrap .bl-place-order-secure {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ============================================================
   CHECKOUT v21 — FIX orden de la fila (2026-08-26)
   En el HTML el botón va ANTES que el recuadro de pago seguro.
   Con row quedaba botón a la izquierda (al revés de lo pedido).
   Con row-reverse: recuadro pago seguro a la IZQUIERDA y botón
   a la DERECHA, ambos al mismo nivel.
   ============================================================ */
.bl-checkout .bl-place-order-wrap {
    flex-direction: row-reverse !important;
}

@media (max-width: 640px) {
    .bl-checkout .bl-place-order-wrap {
        flex-direction: column-reverse !important;
    }
}

/* ============================================================
   CHECKOUT v22 — FIX raíz del layout (2026-08-26)
   style.css global tiene .form-row { display:flex;
   justify-content:space-between }, que ponía el wrap del botón
   a la izquierda y la privacidad a la derecha, y apretaba el
   wrap a 232px → botón y seguro se apilaban en vez de quedar
   lado a lado. El fix anterior apuntaba a #payment (donde NO
   está el botón en este template). Ahora apuntamos al elemento
   real: bloque apilado (wrap arriba, privacidad abajo) y wrap
   a ancho completo para que seguro+botón quepan en la fila.
   ============================================================ */

/* El contenedor real: bloque (wrap arriba, privacidad abajo) */
.bl-checkout .bl-checkout-main .place-order.bl-place-order,
.bl-checkout .place-order.bl-place-order {
    display: block !important;
    width: 100% !important;
}

/* Wrap a ancho completo y sin wrap interno: la fila cabe */
.bl-checkout .bl-place-order-wrap {
    width: 100% !important;
    flex-wrap: nowrap !important;
    box-sizing: border-box !important;
}

/* Botón: no se encoge, queda a la derecha (row-reverse) */
.bl-checkout .bl-place-order-wrap .bl-place-order-btn {
    flex: 0 0 auto !important;
}

/* Recuadro seguro: ocupa el resto a la izquierda, centrado */
.bl-checkout .bl-place-order-wrap .bl-place-order-secure {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    height: auto !important;
    align-self: center !important;
}

/* Privacidad: abajo de ambos, centrada */
.bl-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 14px !important;
    text-align: center !important;
}

/* ===== FILTROS DIN�MICOS POR CATEGOR�A ===== */
.filter-check { display:flex; align-items:center; gap:8px; padding:6px 10px; border-radius:8px; cursor:pointer; transition:background .2s; }
.filter-check:hover { background:rgba(31,56,100,.06); }
.filter-check input[type=checkbox] { accent-color:#1f3864; width:16px; height:16px; cursor:pointer; flex-shrink:0; }
.filter-check span:first-of-type { flex:1; font-size:13px; color:#333; }
.filter-check .filter-count { font-size:11px; color:#888; background:#f0f0f0; border-radius:20px; padding:1px 8px; }
.filter-check input:checked + span { color:#1f3864; font-weight:600; }
.filter-attr { max-height:220px; overflow-y:auto; padding-right:4px; }
.btn-sm { padding:8px 14px; font-size:13px; }
.btn-outline { background:transparent; border:1.5px solid #1f3864; color:#1f3864; }
.btn-outline:hover { background:#1f3864; color:#fff; }
#shopGrid.shop-loading { opacity:.45; pointer-events:none; transition:opacity .25s; position:relative; min-height:200px; }
#shopGrid.shop-loading::after { content:; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.shop-sort select { min-width:190px; }
.filter-title { margin-top:6px; }
#dynamicFilters .filter-title { margin-top:14px; }
@media (max-width:768px) {
 .filter-attr { max-height:none; }
 .shop-sort { width:100%; }
 .shop-sort select { width:100%; }
}
/* Checkout movil: metodos de pago antes de Confirmar compra (2026-08-31) */
@media (max-width: 767px) {
    .bl-checkout-main #payment {
        margin-bottom: 22px !important;
    }
    .bl-checkout-main #payment .bl-payment-methods {
        margin-bottom: 0 !important;
    }
}
