.elementor-15 .elementor-element.elementor-element-b647ac2{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}/* Start custom CSS for text-editor, class: .elementor-element-aec568a *//* ==========================================================
   ROSHET CHECKOUT PREMIUM
========================================================== */
:root { --gold: #d4af37; --gold-hover: #e5c24a; --dark-bg: #0f0f0f; --card-bg: #1a1a1a; --border: rgba(255,255,255,0.08); --border-soft: rgba(255,255,255,0.05); --text-white: #ffffff; --text-muted: #8f8f8f; --green: #2ecc71; }

body.woocommerce-checkout, .woocommerce, main, article { overflow: visible !important; }
form.woocommerce-checkout { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr) !important; gap: 32px !important; align-items: start !important; }
.woocommerce-additional-fields, #order_comments_field, #customer_details .col-2 { display: none !important; }

#roshet-left-col, .roshet-col-izq { grid-column: 1 !important; grid-row: 1 !important; width: 100% !important; display: flex !important; flex-direction: column !important; gap: 22px !important; }

.roshet-checkout-header { margin-bottom: 30px !important; }
.roshet-checkout-header h1 { font-family: 'Playfair Display', serif !important; font-size: 2.6rem !important; color: var(--text-white) !important; margin: 0 0 8px !important; }
.roshet-checkout-header p { color: var(--text-muted) !important; margin: 0 0 28px !important; }

.roshet-steps { display: flex !important; align-items: center !important; width: 100% !important; }
.step { display: flex !important; align-items: center !important; gap: 10px !important; flex-shrink: 0 !important; }
.step-icon { width: 38px !important; height: 38px !important; border-radius: 50% !important; background: var(--card-bg) !important; border: 2px solid rgba(255,255,255,0.12) !important; color: #777 !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 800 !important; }
.step-completed .step-icon { background: var(--green) !important; border-color: var(--green) !important; color: #fff !important; }
.step-active .step-icon { background: var(--gold) !important; border-color: var(--gold) !important; color: #111 !important; }
.step-line { flex: 1 !important; height: 2px !important; background: rgba(255,255,255,0.08) !important; margin: 0 18px !important; }
.line-completed { background: var(--green) !important; }
.step-text { color: var(--text-muted) !important; font-weight: 600 !important; }
.step-active .step-text, .step-completed .step-text { color: var(--text-white) !important; }

#customer_details, #roshet-card-pagos { background: var(--card-bg) !important; border: 1px solid var(--border) !important; border-radius: 14px !important; padding: 30px !important; width: 100% !important; margin: 0 !important; }
#customer_details .col-1 { width: 100% !important; float: none !important; }
.woocommerce-billing-fields h3, .roshet-card-title { font-family: 'Playfair Display', serif !important; font-size: 1.45rem !important; color: var(--text-white) !important; margin: 0 0 22px !important; padding: 0 !important; border: none !important; }

.woocommerce-billing-fields__field-wrapper { display: flex !important; flex-wrap: wrap !important; margin: 0 -8px !important; }
.woocommerce form .form-row { width: 100% !important; padding: 0 8px !important; margin: 0 0 16px !important; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 50% !important; }
.woocommerce form .form-row label { color: #cfcfcf !important; font-size: 0.88rem !important; margin-bottom: 7px !important; display: block !important; }
.woocommerce form .form-row .required { color: #ff4d4d !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { width: 100% !important; background: var(--dark-bg) !important; border: 1px solid rgba(255,255,255,0.11) !important; border-radius: 8px !important; padding: 13px 14px !important; color: var(--text-white) !important; font-size: 0.95rem !important; min-height: 46px !important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--gold) !important; outline: none !important; }

.select2-container { width: 100% !important; }
.select2-container--default .select2-selection--single { background-color: var(--dark-bg) !important; border: 1px solid rgba(255,255,255,0.11) !important; border-radius: 8px !important; height: 46px !important; display: flex !important; align-items: center !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text-white) !important; padding-left: 14px !important; line-height: 46px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; }
.select2-dropdown { background-color: var(--card-bg) !important; border: 1px solid var(--border) !important; border-radius: 8px !important; z-index: 99999 !important; }
.select2-container--default .select2-search--dropdown .select2-search__field { background-color: var(--dark-bg) !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--text-white) !important; border-radius: 6px !important; }
.select2-container--default .select2-results__option { color: #ccc !important; padding: 9px 14px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option[aria-selected=true] { background-color: rgba(212,175,55,0.13) !important; color: var(--gold) !important; }

#roshet-card-pagos ul.payment_methods { padding: 0 !important; border: none !important; margin: 0 !important; }
#roshet-card-pagos ul.payment_methods li { list-style: none !important; background: var(--dark-bg) !important; border: 1px solid var(--border) !important; border-radius: 10px !important; padding: 16px !important; margin: 0 0 12px !important; color: #ccc !important; }
#roshet-card-pagos ul.payment_methods li input[type="radio"] { accent-color: var(--gold) !important; transform: scale(1.12) !important; margin-right: 9px !important; }
#payment { background: transparent !important; padding: 0 !important; }
div.payment_box { background: transparent !important; border: 1px dashed rgba(212,175,55,0.3) !important; color: #aaa !important; border-radius: 8px !important; margin: 12px 0 0 !important; padding: 12px !important; }

#order_review_heading { display: none !important; }
#order_review { grid-column: 2 !important; grid-row: 1 !important; align-self: start !important; justify-self: start !important; position: sticky !important; top: 90px !important; width: 100% !important; max-width: 430px !important; height: max-content !important; background: var(--card-bg) !important; border: 1px solid var(--border) !important; border-radius: 14px !important; padding: 30px !important; margin: 0 !important; }
#order_review::before { content: "Resumen del Pedido" !important; display: block !important; font-family: 'Playfair Display', serif !important; font-size: 1.45rem !important; color: var(--text-white) !important; font-weight: 800 !important; margin-bottom: 22px !important; }

.woocommerce table.shop_table, .woocommerce table.shop_table tbody, .woocommerce table.shop_table tfoot, .woocommerce table.shop_table tr, .woocommerce table.shop_table th, .woocommerce table.shop_table td { background: transparent !important; border: none !important; }
.woocommerce table.shop_table { width: 100% !important; margin: 0 !important; border-collapse: collapse !important; }
.woocommerce table.shop_table thead { display: none !important; }
.woocommerce table.shop_table tr.cart_item { display: block !important; border-bottom: 1px solid var(--border) !important; padding: 0 0 18px !important; margin: 0 0 18px !important; }
.woocommerce table.shop_table td.product-name { display: block !important; width: 100% !important; padding: 0 !important; }
.woocommerce table.shop_table td.product-total { display: none !important; }
.woocommerce table.shop_table tr.cart_item td.product-name strong.product-quantity { display: none !important; }

.roshet-product-block { display: flex !important; align-items: flex-start !important; gap: 14px !important; width: 100% !important; }
.r-img { width: 74px !important; height: 74px !important; min-width: 74px !important; border-radius: 8px !important; object-fit: cover !important; border: 1px solid rgba(255,255,255,0.08) !important; }
.r-details { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: 4px !important; }
.r-title { color: var(--text-white) !important; font-size: 0.92rem !important; font-weight: 800 !important; line-height: 1.28 !important; }
.r-qty { color: var(--text-muted) !important; font-size: 0.82rem !important; }
.r-price { color: var(--gold) !important; font-size: 1.18rem !important; font-weight: 900 !important; margin-top: 2px !important; }

.woocommerce table.shop_table tfoot tr { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 18px !important; padding: 8px 0 !important; }
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td { padding: 0 !important; line-height: 1.35 !important; }
.woocommerce table.shop_table tfoot th { color: #aaa !important; font-weight: 600 !important; font-size: 0.95rem !important; text-align: left !important; }
.woocommerce table.shop_table tfoot td { color: var(--text-white) !important; font-weight: 800 !important; font-size: 0.95rem !important; text-align: right !important; }
.roshet-envio-gratis, .woocommerce table.shop_table tfoot tr.shipping td, .woocommerce table.shop_table tfoot tr.shipping td span { color: var(--green) !important; font-weight: 800 !important; }

.woocommerce table.shop_table tr.order-total { border-top: 1px solid rgba(212,175,55,0.45) !important; margin-top: 10px !important; padding-top: 16px !important; }
.woocommerce table.shop_table tr.order-total th { color: var(--text-white) !important; font-size: 1.08rem !important; font-weight: 900 !important; }
.woocommerce table.shop_table tr.order-total td, .woocommerce table.shop_table tr.order-total td .amount, .woocommerce table.shop_table tr.order-total td bdi, .roshet-total-final, .roshet-total-final .amount { color: var(--gold) !important; font-size: 1.55rem !important; font-weight: 900 !important; }

.custom-coupon-row { display: flex !important; gap: 10px !important; margin: 22px 0 18px !important; padding-top: 22px !important; border-top: 1px solid var(--border) !important; }
#fake-coupon { flex: 1 !important; min-width: 0 !important; background: var(--dark-bg) !important; border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 8px !important; padding: 13px 14px !important; color: var(--text-white) !important; font-size: 0.9rem !important; }
#fake-coupon:focus { border-color: var(--gold) !important; outline: none !important; }
#btn-fake-coupon { background: transparent !important; border: 1px solid var(--gold) !important; color: var(--gold) !important; padding: 0 18px !important; border-radius: 8px !important; font-weight: 800 !important; cursor: pointer !important; transition: all 0.25s ease !important; }
#btn-fake-coupon:hover { background: var(--gold) !important; color: #111 !important; }

.woocommerce-privacy-policy-text { color: #8f8f8f !important; font-size: 0.82rem !important; line-height: 1.55 !important; margin: 12px 0 16px !important; }
.woocommerce-privacy-policy-text a, .woocommerce-terms-and-conditions-wrapper a { color: var(--gold) !important; font-weight: 800 !important; text-decoration: underline !important; }
.woocommerce-terms-and-conditions-wrapper { display: block !important; margin: 18px 0 16px !important; color: #999 !important; font-size: 0.84rem !important; line-height: 1.55 !important; }
.woocommerce-terms-and-conditions-wrapper label { display: flex !important; align-items: flex-start !important; gap: 9px !important; color: #999 !important; cursor: pointer !important; }
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { display: inline-block !important; width: 15px !important; height: 15px !important; min-width: 15px !important; margin: 4px 0 0 !important; accent-color: var(--gold) !important; }
#place_order { width: 100% !important; background: var(--gold) !important; color: #111 !important; border: none !important; border-radius: 10px !important; padding: 16px 18px !important; font-weight: 900 !important; font-size: 1rem !important; cursor: pointer !important; transition: all 0.25s ease !important; margin: 6px 0 0 !important; }
#place_order:hover { background: var(--gold-hover) !important; transform: translateY(-2px) !important; }

.roshet-trust-icons { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 10px !important; margin-top: 18px !important; color: #777 !important; font-size: 0.78rem !important; }
.roshet-trust-icons span { display: inline-flex !important; align-items: center !important; gap: 5px !important; white-space: nowrap !important; }

@media (max-width: 1024px) {
    form.woocommerce-checkout { grid-template-columns: 1fr !important; gap: 24px !important; }
    #roshet-left-col, .roshet-col-izq, #order_review { grid-column: 1 !important; grid-row: auto !important; max-width: 100% !important; width: 100% !important; }
    #order_review { position: static !important; top: auto !important; }
    .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100% !important; }
    .roshet-steps { flex-wrap: wrap !important; gap: 12px !important; }
    .step-line { display: none !important; }
    .step { width: 100% !important; }
}
@media (max-width: 520px) {
    #customer_details, #roshet-card-pagos, #order_review { padding: 22px !important; border-radius: 12px !important; }
    .roshet-checkout-header h1 { font-size: 2.1rem !important; }
    .roshet-product-block { gap: 12px !important; }
    .r-img { width: 66px !important; height: 66px !important; min-width: 66px !important; }
    .r-title { font-size: 0.86rem !important; }
    .custom-coupon-row { grid-template-columns: 1fr auto !important; display: grid !important; }
    #btn-fake-coupon { padding: 0 14px !important; }
    .roshet-trust-icons { flex-wrap: wrap !important; justify-content: center !important; row-gap: 8px !important; }
}
.roshet-trust-icons { margin-top: 90px !important; }/* End custom CSS */