/**
 * Wolk Latam Payment — Cart + Checkout Styles.
 * Matchea tema Curly Lovers CR (WooCommerce Blocks).
 * @package WolkLatamPayment
 */

/* PAGE HEADINGS */
.woocommerce-checkout h1,.woocommerce-checkout .wp-block-heading,.woocommerce-cart h1,.woocommerce-cart .wp-block-heading{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif)!important;color:var(--cl-purple,#7B2D8E)!important;font-weight:700!important}
.woocommerce-checkout .entry-title,.woocommerce-cart .entry-title{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif)!important;color:var(--cl-purple,#7B2D8E)!important}

/* CHECKOUT GENERAL */
.wp-block-woocommerce-checkout,.wc-block-checkout{font-family:var(--cl-font-body,'DM Sans',-apple-system,sans-serif)!important;color:var(--cl-gray-800,#424242)}
.wc-block-checkout .wc-block-components-checkout-step__title,.wc-block-checkout .wc-block-components-title{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif)!important;color:var(--cl-gray-800,#424242)!important;font-weight:600!important}

/* INPUTS */
.wc-block-checkout .wc-block-components-text-input input,.wc-block-checkout .wc-block-components-text-input textarea,.wc-block-checkout .wc-block-components-select .wc-block-components-select__container,.wc-block-checkout input[type="text"],.wc-block-checkout input[type="email"],.wc-block-checkout input[type="tel"],.wc-block-checkout select{border:2px solid var(--cl-gray-200,#EEE)!important;border-radius:var(--cl-radius,10px)!important;font-family:var(--cl-font-body,'DM Sans',sans-serif)!important;font-size:14px!important;transition:border-color .25s ease!important}
.wc-block-checkout .wc-block-components-text-input input:focus,.wc-block-checkout input:focus,.wc-block-checkout select:focus{border-color:var(--cl-purple,#7B2D8E)!important;outline:none!important;box-shadow:0 0 0 3px rgba(123,45,142,.1)!important}
.wc-block-checkout .wc-block-components-text-input label{font-family:var(--cl-font-body,'DM Sans',sans-serif)!important;color:var(--cl-gray-500,#9E9E9E)!important}
.wc-block-checkout .wc-block-components-text-input.is-active label{color:var(--cl-purple,#7B2D8E)!important}

/* RADIO / CHECKBOX */
.wc-block-checkout .wc-block-components-radio-control__input:checked,.wc-block-checkout input[type="radio"]:checked{border-color:var(--cl-purple,#7B2D8E)!important;background-color:var(--cl-purple,#7B2D8E)!important}
.wc-block-checkout input[type="checkbox"]:checked{background-color:var(--cl-purple,#7B2D8E)!important;border-color:var(--cl-purple,#7B2D8E)!important}
.wc-block-checkout .wc-block-components-radio-control__option{border-radius:var(--cl-radius,10px)!important;border:1px solid var(--cl-gray-200,#EEE)!important;padding:16px!important}
.wc-block-checkout .wc-block-components-radio-control__option--checked{border-color:var(--cl-purple,#7B2D8E)!important;background:var(--cl-purple-50,#FAF5FC)!important}

/* STEPS */
.wc-block-checkout .wc-block-components-checkout-step{border-bottom:1px solid var(--cl-gray-200,#EEE)!important;padding-bottom:24px!important;margin-bottom:24px!important}

/* LINKS */
.wc-block-checkout a{color:var(--cl-purple,#7B2D8E)!important}
.wc-block-checkout a:hover{color:var(--cl-purple-dark,#5C1F6A)!important}

/* PLACE ORDER BUTTON */
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button,.wc-block-components-checkout-place-order-button,.wc-block-checkout__actions button,.woocommerce-checkout #place_order{background:var(--cl-purple,#7B2D8E)!important;color:#fff!important;border:none!important;border-radius:50px!important;font-weight:700!important;font-size:16px!important;padding:16px 40px!important;font-family:var(--cl-font-body,'DM Sans',sans-serif)!important;transition:background .25s ease!important}
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button:hover,.wc-block-checkout__actions button:hover,.woocommerce-checkout #place_order:hover{background:var(--cl-purple-dark,#5C1F6A)!important}

/* PAYMENT METHOD */
.wc-block-checkout .wc-block-components-payment-method-label{font-family:var(--cl-font-body,'DM Sans',sans-serif)!important;font-weight:600!important}

/* 3DS BADGE */
.wlp-3ds-badge{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;background:var(--cl-purple-light,#F3E8F9);border:1px solid var(--cl-purple,#7B2D8E);border-radius:var(--cl-radius,10px);font-size:13px;font-weight:600;color:var(--cl-purple,#7B2D8E);font-family:var(--cl-font-body,'DM Sans',sans-serif)}
.wlp-3ds-badge svg{flex-shrink:0}

/* STRIPE CARD FIELDS — 3 campos separados */
.wlp-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.wlp-field-number{grid-column:1/-1}
.wlp-field label{display:block;font-size:12px;font-weight:600;color:var(--cl-gray-600,#757575);margin-bottom:4px;font-family:var(--cl-font-body,'DM Sans',sans-serif);text-transform:uppercase;letter-spacing:.5px}
.wlp-stripe-input{padding:14px 16px;border:2px solid var(--cl-gray-200,#EEE);border-radius:var(--cl-radius,10px);background:#fff;transition:border-color .25s ease}
.wlp-stripe-input:focus-within{border-color:var(--cl-purple,#7B2D8E);box-shadow:0 0 0 3px rgba(123,45,142,.1)}
.wlp-card-error{color:#e25950;margin-top:8px;font-size:13px;font-family:var(--cl-font-body,'DM Sans',sans-serif)}
.wlp-blocks-payment{padding:4px 0}

/* ORDER SUMMARY */
.wc-block-checkout .wc-block-components-product-name{color:var(--cl-purple,#7B2D8E)!important;font-weight:600!important}
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-weight:700!important}
.wc-block-checkout .wc-block-components-totals-coupon-link{color:var(--cl-purple,#7B2D8E)!important}
.wc-block-checkout .wc-block-components-notice-banner{border-radius:var(--cl-radius,10px)!important}
.wc-block-checkout .wc-block-checkout__terms a{color:var(--cl-purple,#7B2D8E)!important}

/* ═══════════ CART ═══════════ */
.wp-block-woocommerce-cart,.wc-block-cart{font-family:var(--cl-font-body,'DM Sans',-apple-system,sans-serif)!important;color:var(--cl-gray-800,#424242)}

/* Cart heading */
.wc-block-cart .wc-block-components-title,.wc-block-cart .wp-block-heading{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif)!important;color:var(--cl-purple,#7B2D8E)!important}

/* Product names */
.wc-block-cart .wc-block-components-product-name{color:var(--cl-purple,#7B2D8E)!important;font-weight:600!important;text-decoration:none!important}
.wc-block-cart .wc-block-components-product-name:hover{color:var(--cl-purple-dark,#5C1F6A)!important}

/* Prices & meta */
.wc-block-cart .wc-block-components-product-price{font-weight:600!important}
.wc-block-cart .wc-block-components-product-metadata{font-size:13px!important;color:var(--cl-gray-600,#757575)!important}

/* Quantity selector */
.wc-block-cart .wc-block-components-quantity-selector{border:2px solid var(--cl-gray-200,#EEE)!important;border-radius:var(--cl-radius,10px)!important;overflow:hidden}
.wc-block-cart .wc-block-components-quantity-selector input{font-family:var(--cl-font-body,'DM Sans',sans-serif)!important;font-weight:600!important}
.wc-block-cart .wc-block-components-quantity-selector__button{color:var(--cl-purple,#7B2D8E)!important}
.wc-block-cart .wc-block-components-quantity-selector__button:hover{background:var(--cl-purple-light,#F3E8F9)!important}

/* Remove */
.wc-block-cart .wc-block-cart-item__remove-link{color:var(--cl-gray-500,#9E9E9E)!important;font-size:13px!important}
.wc-block-cart .wc-block-cart-item__remove-link:hover{color:#e25950!important}

/* Totals */
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-weight:700!important;font-size:16px!important}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-weight:700!important;font-size:18px!important}
.wc-block-cart .wc-block-components-totals-shipping__via{color:var(--cl-teal,#7ECEC1)!important;font-weight:600!important}
.wc-block-cart .wc-block-components-totals-coupon-link{color:var(--cl-purple,#7B2D8E)!important}

/* Proceed to Checkout */
.wc-block-cart__submit-button,.wc-block-cart .wc-block-cart__submit-button,.wc-block-cart__submit .wc-block-components-button,.woocommerce .wc-proceed-to-checkout a.checkout-button{background:var(--cl-purple,#7B2D8E)!important;color:#fff!important;border:none!important;border-radius:50px!important;font-weight:700!important;font-size:16px!important;padding:16px 40px!important;font-family:var(--cl-font-body,'DM Sans',sans-serif)!important;transition:background .25s ease!important;text-decoration:none!important;text-align:center!important}
.wc-block-cart__submit-button:hover,.wc-block-cart .wc-block-cart__submit-button:hover,.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:var(--cl-purple-dark,#5C1F6A)!important}

/* ═══════════ MOBILE ═══════════ */
@media(max-width:768px){
/* Container padding - prevent content from touching edges */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wc-block-cart,.wc-block-checkout{padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important;max-width:100%!important;overflow-x:hidden!important}
.wc-block-cart .wp-block-woocommerce-cart-line-items-block,.wc-block-cart .wp-block-woocommerce-cart-totals-block,.wc-block-cart .wp-block-woocommerce-cart-order-summary-block,.wc-block-checkout .wp-block-woocommerce-checkout-fields-block,.wc-block-checkout .wp-block-woocommerce-checkout-totals-block{max-width:100%!important;overflow-x:hidden!important}
.wlp-3ds-badge{font-size:12px;padding:8px 12px}
.wlp-stripe-input{padding:12px 14px}
.wlp-fields-grid{grid-template-columns:1fr;gap:8px}
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button,.woocommerce-checkout #place_order,.wc-block-cart__submit-button{width:100%!important;padding:14px 24px!important;border-radius:14px!important}
.wc-block-checkout .wc-block-components-checkout-step{padding-bottom:16px!important;margin-bottom:16px!important}
.wc-block-checkout input,.wc-block-checkout select{font-size:16px!important}
.wc-block-cart .wc-block-components-product-name{font-size:14px!important}
.wc-block-cart .wc-block-components-product-metadata{font-size:12px!important}
/* Cart heading */
.woocommerce-cart .cl-container{padding-left:16px!important;padding-right:16px!important}
.woocommerce-checkout .cl-container{padding-left:16px!important;padding-right:16px!important}
}

/* ORDER RECEIVED PAGE */
.woocommerce-order-received .cl-container,.woocommerce-order-received .cl-page-content{display:block!important;max-width:560px!important;margin:0 auto!important;padding:0 16px!important}
.woocommerce-order-received .woocommerce-order{width:100%}

/* Page title: hide duplicate or style */
.woocommerce-order-received h1{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif)!important;color:var(--cl-purple,#7B2D8E)!important;font-size:26px!important;font-weight:700!important;display:block!important;width:100%!important;text-align:center!important;margin-bottom:4px!important}

/* Thank you message */
.woocommerce-order-received .woocommerce-thankyou-order-received{display:block!important;width:100%!important;text-align:center!important;font-family:var(--cl-font-body,'DM Sans',sans-serif)!important;color:var(--cl-gray-600,#757575)!important;font-size:15px!important;font-weight:400!important;margin-bottom:24px!important}

/* Order summary card */
.woocommerce-order-received .woocommerce-order-overview{list-style:none!important;padding:20px 24px!important;margin:0 0 24px!important;background:var(--cl-purple-50,#FAF5FC)!important;border-radius:16px!important;border:1px solid var(--cl-purple-light,#F3E8F9)!important}
.woocommerce-order-received .woocommerce-order-overview li{padding:10px 0!important;border-bottom:1px solid var(--cl-gray-200,#EEE)!important;font-size:14px;color:var(--cl-gray-600,#757575)}
.woocommerce-order-received .woocommerce-order-overview li:last-child{border-bottom:none!important;padding-bottom:0!important}
.woocommerce-order-received .woocommerce-order-overview li strong{color:var(--cl-gray-800,#424242)!important;font-weight:700}

/* Section headings: purple */
.woocommerce-order-received h2{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif)!important;color:var(--cl-purple,#7B2D8E)!important;font-size:20px!important;font-weight:600!important;margin:28px 0 12px!important;text-align:center!important;display:block!important;width:100%!important}
.woocommerce-order-received .woocommerce-column__title{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif)!important;color:var(--cl-purple,#7B2D8E)!important;font-size:16px!important;font-weight:600!important;margin:0 0 8px!important;text-align:left!important}

/* Table */
.woocommerce-order-received table.shop_table{border:1px solid var(--cl-gray-200,#EEE)!important;border-radius:10px!important;overflow:hidden;border-collapse:separate!important;width:100%}
.woocommerce-order-received table.shop_table th{background:var(--cl-gray-50,#FAFAFA)!important;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--cl-gray-500,#9E9E9E);padding:12px 16px!important}
.woocommerce-order-received table.shop_table td{padding:12px 16px!important;font-size:14px;color:var(--cl-gray-700,#616161)}
.woocommerce-order-received table.shop_table a{color:var(--cl-purple,#7B2D8E)!important;font-weight:600;text-decoration:none}

/* Address cards */
.woocommerce-order-received .woocommerce-customer-details{margin-top:24px}
.woocommerce-order-received .woocommerce-columns--addresses{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
.woocommerce-order-received .woocommerce-column--billing-address,.woocommerce-order-received .woocommerce-column--shipping-address{background:var(--cl-gray-50,#FAFAFA)!important;border-radius:10px!important;padding:16px 20px!important;border:1px solid var(--cl-gray-200,#EEE)!important}
.woocommerce-order-received .woocommerce-customer-details address{font-style:normal!important;line-height:1.9;color:var(--cl-gray-700,#616161);font-size:14px}

@media(max-width:768px){
.woocommerce-order-received .cl-container{padding:0 16px!important}
.woocommerce-order-received h1{font-size:22px!important}
.woocommerce-order-received .woocommerce-columns--addresses{grid-template-columns:1fr!important;gap:12px!important}
.woocommerce-order-received .woocommerce-order-overview{padding:16px 20px!important}
}

/* ═══════════ PAYMENT ERROR MODAL ═══════════ */

/* Ocultar banner nativo de error de WC Blocks en zona de pago */
.wc-block-components-notice-banner.is-error{display:none!important}

/* Overlay */
.wlp-error-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;animation:wlpFadeIn .25s ease}

/* Modal card */
.wlp-error-modal{background:#fff;border-radius:20px;max-width:360px;width:100%;padding:36px 28px 28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:wlpSlideUp .3s ease;position:relative}

/* Icon circle */
.wlp-error-modal__icon{width:64px;height:64px;border-radius:50%;background:#FEF2F2;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.wlp-error-modal__icon svg{width:32px;height:32px;color:#EF4444}

/* Title */
.wlp-error-modal__title{font-family:var(--cl-font-heading,'Playfair Display',Georgia,serif);font-size:20px;font-weight:700;color:var(--cl-gray-800,#424242);margin:0 0 10px}

/* Message */
.wlp-error-modal__msg{font-family:var(--cl-font-body,'DM Sans',sans-serif);font-size:14px;color:var(--cl-gray-600,#757575);line-height:1.6;margin:0 0 24px}

/* Button */
.wlp-error-modal__btn{display:block;width:100%;padding:14px 24px;background:var(--cl-purple,#7B2D8E);color:#fff;border:none;border-radius:50px;font-family:var(--cl-font-body,'DM Sans',sans-serif);font-size:15px;font-weight:700;cursor:pointer;transition:background .25s ease}
.wlp-error-modal__btn:hover{background:var(--cl-purple-dark,#5C1F6A)}
.wlp-error-modal__btn:active{transform:scale(.97)}

/* Animations */
@keyframes wlpFadeIn{from{opacity:0}to{opacity:1}}
@keyframes wlpSlideUp{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
