/*
Theme Name: Aula del Yo Profundo - Checkout
Description: Estilos personalizados para la página de finalizar compra de WooCommerce.
Author: Personalización AYP
Version: 1.0.0
*/

/* =========================================================
   1. VARIABLES
========================================================= */

body.woocommerce-checkout {
    --ayp-primary: #267c7c;
    --ayp-primary-dark: #1d6262;
    --ayp-accent: #c58a42;
    --ayp-text: #303a3a;
    --ayp-muted: #667171;
    --ayp-border: #dfe7e5;
    --ayp-page-bg-1: #eef6f4;
    --ayp-page-bg-2: #f8fbfa;
    --ayp-card-bg: #ffffff;
    --ayp-soft-bg: #f7faf9;
    --ayp-shadow: 0 12px 40px rgba(24, 53, 53, 0.08);

    background: linear-gradient(
        180deg,
        var(--ayp-page-bg-1) 0%,
        var(--ayp-page-bg-2) 100%
    ) !important;

    color: var(--ayp-text);
}


/* =========================================================
   2. FONDO GENERAL Y CONTENEDOR
========================================================= */

body.woocommerce-checkout .site-main,
body.woocommerce-checkout main,
body.woocommerce-checkout .elementor-location-single,
body.woocommerce-checkout .elementor-widget-shortcode,
body.woocommerce-checkout .elementor-shortcode,
body.woocommerce-checkout .elementor-widget-container {
    background: transparent !important;
}

body.woocommerce-checkout .elementor-element-2e11c0f9,
body.woocommerce-checkout .elementor-element-2e11c0f9 > .elementor-widget-container {
    width: 100%;
}

body.woocommerce-checkout .elementor-element-2e11c0f9 .woocommerce {
    width: min(100%, 1260px);
    margin: 0 auto;
    padding: 42px 22px 70px;
    box-sizing: border-box;
}

body.woocommerce-checkout .woocommerce *,
body.woocommerce-checkout .woocommerce *::before,
body.woocommerce-checkout .woocommerce *::after {
    box-sizing: border-box;
}


/* =========================================================
   3. TÍTULO DE PÁGINA
========================================================= */

body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title {
    margin-bottom: 32px;
    color: var(--ayp-text);
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.025em;
}


/* =========================================================
   4. AVISOS, LOGIN Y CUPÓN
========================================================= */

body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 14px;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
    margin: 0 0 15px;
    padding: 16px 20px 16px 48px;
    border: 1px solid var(--ayp-border);
    border-left: 4px solid var(--ayp-primary);
    border-radius: 10px;
    background: #ffffff;
    color: var(--ayp-text);
    box-shadow: 0 5px 18px rgba(24, 53, 53, 0.05);
}

body.woocommerce-checkout .woocommerce-error {
    border-left-color: #b54840;
}

body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before {
    top: 16px;
    left: 18px;
    color: var(--ayp-primary);
}

body.woocommerce-checkout .woocommerce-error::before {
    color: #b54840;
}

body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .woocommerce-message a {
    color: var(--ayp-primary);
    font-weight: 600;
    text-decoration: none;
}

body.woocommerce-checkout .woocommerce-info a:hover,
body.woocommerce-checkout .woocommerce-message a:hover {
    color: var(--ayp-primary-dark);
    text-decoration: underline;
}

body.woocommerce-checkout form.login,
body.woocommerce-checkout form.checkout_coupon {
    margin: 0 0 24px;
    padding: 24px;
    border: 1px solid var(--ayp-border);
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(24, 53, 53, 0.06);
}


/* =========================================================
   5. ESTRUCTURA PRINCIPAL DEL CHECKOUT
========================================================= */

body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(470px, 0.95fr);
    gap: 32px;
    align-items: start;
    width: 100%;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details {
    grid-column: 1;
    width: 100% !important;
    min-width: 0;
    margin: 0;
}

body.woocommerce-checkout form.checkout.woocommerce-checkout > .col2-set {
    grid-column: 2;
    width: 100% !important;
    min-width: 0;
    margin: 0;
    float: none !important;
}

body.woocommerce-checkout
form.checkout.woocommerce-checkout
> .col2-set
> .inner-col-set {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    margin: 0;
    padding: 0;
    float: none !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-checkout #customer_details .col-2 {
    display: none;
}


/* =========================================================
   6. TARJETA DE FACTURACIÓN
========================================================= */

body.woocommerce-checkout #customer_details {
    padding: 36px;
    border: 1px solid #edf1ef;
    border-radius: 20px;
    background: #fbfbfb !important;
    box-shadow: var(--ayp-shadow);
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-account-fields,
body.woocommerce-checkout #customer_details .create-account {
    background: transparent !important;
}


/* =========================================================
   7. TARJETA TU PEDIDO
========================================================= */

body.woocommerce-checkout #order_review_heading {
    width: 100%;
    margin: 0;
    padding: 30px 32px 14px;
    border: 1px solid #edf1ef;
    border-bottom: 0;
    border-radius: 20px 20px 0 0;
    background: #ffffff !important;
    color: var(--ayp-text);
    box-shadow: var(--ayp-shadow);
}

body.woocommerce-checkout #order_review {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    margin: 0;
    padding: 6px 32px 32px;
    border: 1px solid #edf1ef;
    border-top: 0;
    border-radius: 0 0 20px 20px;
    background: #ffffff !important;
    overflow: visible !important;
    box-shadow: var(--ayp-shadow);
}


/* =========================================================
   8. ENCABEZADOS
========================================================= */

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout #order_review_heading {
    color: var(--ayp-text);
    font-size: clamp(26px, 2.3vw, 32px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.025em;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3 {
    margin: 0 0 28px;
}

body.woocommerce-checkout #order_review_heading {
    font-size: 28px;
}


/* =========================================================
   9. CAMPOS DEL FORMULARIO
========================================================= */

body.woocommerce-checkout .form-row {
    margin: 0 0 19px;
    padding: 0;
}

body.woocommerce-checkout .form-row label {
    display: block;
    margin-bottom: 6px;
    color: #31403f;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

body.woocommerce-checkout .form-row .optional {
    color: var(--ayp-muted);
    font-size: 12px;
    font-weight: 400;
}

body.woocommerce-checkout .required {
    color: var(--ayp-accent);
    text-decoration: none;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
    width: 100%;
    min-height: 56px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid #dbe5e2;
    border-radius: 12px;
    outline: none;
    background: #ffffff !important;
    color: #2f3b3a;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.4;
    box-shadow: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

body.woocommerce-checkout textarea {
    min-height: 120px;
    padding: 16px 18px;
    resize: vertical;
}

body.woocommerce-checkout input.input-text:hover,
body.woocommerce-checkout input[type="text"]:hover,
body.woocommerce-checkout input[type="email"]:hover,
body.woocommerce-checkout input[type="tel"]:hover,
body.woocommerce-checkout input[type="password"]:hover,
body.woocommerce-checkout textarea:hover,
body.woocommerce-checkout select:hover {
    border-color: #b9cbc7;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout input[type="text"]:focus,
body.woocommerce-checkout input[type="email"]:focus,
body.woocommerce-checkout input[type="tel"]:focus,
body.woocommerce-checkout input[type="password"]:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
    border-color: #2b827d;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(43, 130, 125, 0.12);
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder {
    color: #9aa7a5;
    opacity: 1;
}

body.woocommerce-checkout #billing_first_name_field,
body.woocommerce-checkout #billing_last_name_field {
    width: calc(50% - 9px) !important;
}

body.woocommerce-checkout #billing_first_name_field {
    float: left !important;
}

body.woocommerce-checkout #billing_last_name_field {
    float: right !important;
}


/* =========================================================
   10. SELECT2
========================================================= */

body.woocommerce-checkout .select2-container {
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single {
    height: 56px;
    border: 1px solid #dbe5e2;
    border-radius: 12px;
    background: #ffffff !important;
}

body.woocommerce-checkout
.select2-container--default
.select2-selection--single
.select2-selection__rendered {
    padding: 13px 42px 13px 18px;
    color: var(--ayp-text);
    font-size: 15px;
    line-height: 28px;
}

body.woocommerce-checkout
.select2-container--default
.select2-selection--single
.select2-selection__arrow {
    top: 14px;
    right: 11px;
}

body.woocommerce-checkout
.select2-container--default.select2-container--focus
.select2-selection--single,
body.woocommerce-checkout
.select2-container--default.select2-container--open
.select2-selection--single {
    border-color: #2b827d;
    box-shadow: 0 0 0 4px rgba(43, 130, 125, 0.12);
}


/* =========================================================
   11. TABLA TU PEDIDO
========================================================= */

body.woocommerce-checkout #order_review table.shop_table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 26px;
    border: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background: transparent;
}

body.woocommerce-checkout #order_review table.shop_table thead {
    display: table-header-group !important;
}

body.woocommerce-checkout #order_review table.shop_table tbody,
body.woocommerce-checkout #order_review table.shop_table tfoot {
    display: table-row-group !important;
}

body.woocommerce-checkout #order_review table.shop_table tr {
    display: table-row !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
    display: table-cell !important;
    padding: 17px 4px;
    border: 0;
    border-bottom: 1px solid var(--ayp-border);
    color: var(--ayp-text);
    font-size: 14px;
    line-height: 1.5;
    vertical-align: top;
    word-break: normal;
    overflow-wrap: break-word;
}

body.woocommerce-checkout #order_review table.shop_table th:first-child,
body.woocommerce-checkout #order_review table.shop_table td:first-child {
    width: 68% !important;
    padding-right: 18px;
    text-align: left;
}

body.woocommerce-checkout #order_review table.shop_table th:last-child,
body.woocommerce-checkout #order_review table.shop_table td:last-child {
    width: 32% !important;
    text-align: right;
}

body.woocommerce-checkout #order_review table.shop_table thead th {
    color: var(--ayp-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

body.woocommerce-checkout #order_review .product-name {
    font-weight: 500;
}

body.woocommerce-checkout #order_review .product-quantity {
    white-space: nowrap;
}

body.woocommerce-checkout #order_review .cart-subtotal th,
body.woocommerce-checkout #order_review .cart-subtotal td {
    font-weight: 600;
}

body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 0;
    font-size: 17px;
    font-weight: 700;
}

body.woocommerce-checkout #order_review .order-total .amount {
    color: var(--ayp-primary-dark);
    font-size: 24px;
}

body.woocommerce-checkout #order_review .includes_tax {
    display: block;
    margin-top: 5px;
    color: var(--ayp-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.45;
}


/* ==========================================================
   ZONA OPCIONES DE PAGO
========================================================== */

body.woocommerce-checkout #payment{

    background:linear-gradient(
        180deg,
        #F7FBFE 0%,
        #EEF6FC 100%
    ) !important;

    border:1px solid #D6E7F2;

    border-radius:18px;

    box-shadow:
        0 10px 30px rgba(63,118,165,.08);

}

body.woocommerce-checkout #payment ul.wc_payment_methods,
body.woocommerce-checkout #payment ul.payment_methods {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    list-style: none;
}

body.woocommerce-checkout #payment li.wc_payment_method {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 24px !important;
    border: 0;
    background: transparent;
    overflow: visible !important;
}

body.woocommerce-checkout #payment li.wc_payment_method > label{

    color:#2E5D7A;

    font-size:20px;

    font-weight:700;

    margin-bottom:20px;

}

body.woocommerce-checkout #payment .payment_box{

    background:#ffffff !important;

    border:1px solid #DCE8F0;

    border-radius:14px;

    padding:24px !important;

    box-shadow:
        0 6px 18px rgba(70,110,150,.05);

}
/* Título Opciones de pago */

body.woocommerce-checkout #payment li.wc_payment_method > label{

    color:#2b5664;

    font-size:18px;

    font-weight:700;

}

/* Separador */

body.woocommerce-checkout #payment .place-order{

    border-top:1px solid #D6E7F2;

}

body.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}

body.woocommerce-checkout #wc-stripe-upe-form,
body.woocommerce-checkout #payment .wc-upe-form,
body.woocommerce-checkout #payment .wc-stripe-upe-element,
body.woocommerce-checkout #payment .StripeElement,
body.woocommerce-checkout #payment .__PrivateStripeElement {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.woocommerce-checkout #payment iframe {
    display: block !important;
    width: calc(100% + 8px) !important;
    max-width: calc(100% + 8px) !important;
    min-width: 100% !important;
    margin-left: -4px !important;
    margin-right: -4px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.woocommerce-checkout #wc-stripe-hidden-style-input {
    position: absolute !important;
    width: 1px !important;
    min-height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* =========================================================
   13. PRIVACIDAD Y CONDICIONES
========================================================= */

body.woocommerce-checkout #payment .place-order {
    width: 100%;
    margin: 0;
    padding: 24px !important;
    border-top: 1px solid var(--ayp-border);
}

body.woocommerce-checkout .woocommerce-privacy-policy-text {
    margin-bottom: 20px;
    color: var(--ayp-muted);
    font-size: 13px;
    line-height: 1.65;
}

body.woocommerce-checkout #payment .place-order > h3 {
    margin: 0 0 18px;
    color: var(--ayp-text);
    font-size: 19px;
    font-weight: 700;
}

body.woocommerce-checkout #payment .place-order .form-row {
    margin-bottom: 15px;
}

/* Checkbox en una sola línea */

body.woocommerce-checkout #payment .place-order label.checkbox{

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:14px;

    line-height:1.6;

    color:#303a3a;

    margin-bottom:14px;

}

body.woocommerce-checkout #payment .place-order label.checkbox input{

    flex:0 0 auto;

    margin-top:3px;

}

body.woocommerce-checkout #payment .place-order label.checkbox a{

    color:#267c7c;

    font-weight:600;

    text-decoration:none;

}

body.woocommerce-checkout #payment .place-order label.checkbox a:hover{

    text-decoration:underline;

}

body.woocommerce-checkout #payment input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--ayp-primary);
}

body.woocommerce-checkout #payment a{

    color:#3B78A6;

    font-weight:600;

}

body.woocommerce-checkout #payment a:hover{

    color:#245D89;

}


/* =========================================================
   14. BOTÓN REALIZAR PEDIDO
========================================================= */

body.woocommerce-checkout #place_order {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-height: 60px;
    margin: 24px 0 0;
    padding: 15px 22px;
    border: 0;
    border-radius: 14px;
    background: #2d8a83;
    color: #ffffff;
    box-shadow: 0 10px 25px rgba(45, 138, 131, 0.25);
    font-family: inherit;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

body.woocommerce-checkout #place_order:hover {
    background: #236f69;
    box-shadow: 0 12px 28px rgba(35, 111, 105, 0.28);
    transform: translateY(-2px);
}


/* =========================================================
   15. BOTONES SECUNDARIOS
========================================================= */

body.woocommerce-checkout form.login button,
body.woocommerce-checkout form.checkout_coupon button,
body.woocommerce-checkout button[name="apply_coupon"] {
    min-height: 46px;
    padding: 10px 20px;
    border: 0;
    border-radius: 8px;
    background: var(--ayp-primary);
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
}

body.woocommerce-checkout form.login button:hover,
body.woocommerce-checkout form.checkout_coupon button:hover,
body.woocommerce-checkout button[name="apply_coupon"]:hover {
    background: var(--ayp-primary-dark);
}


/* =========================================================
   16. TABLET
========================================================= */

@media (max-width: 1100px) {
    body.woocommerce-checkout form.checkout.woocommerce-checkout {
        grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
        gap: 24px;
    }

    body.woocommerce-checkout #customer_details {
        padding: 30px;
    }

    body.woocommerce-checkout #order_review_heading {
        padding-right: 26px;
        padding-left: 26px;
    }

    body.woocommerce-checkout #order_review {
        padding-right: 26px;
        padding-left: 26px;
    }
}


/* =========================================================
   17. TABLET ESTRECHA
========================================================= */

@media (max-width: 900px) {
    body.woocommerce-checkout form.checkout.woocommerce-checkout {
        display: block !important;
    }

    body.woocommerce-checkout
    form.checkout.woocommerce-checkout
    > .col2-set {
        width: 100% !important;
        margin-top: 28px;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review_heading,
    body.woocommerce-checkout #order_review {
        width: 100% !important;
    }
}


/* =========================================================
   18. MÓVIL
========================================================= */

@media (max-width: 767px) {
    body.woocommerce-checkout .elementor-element-2e11c0f9 .woocommerce {
        padding: 26px 12px 50px;
    }

    body.woocommerce-checkout #customer_details {
        padding: 22px 16px;
        border-radius: 15px;
    }

    body.woocommerce-checkout #billing_first_name_field,
    body.woocommerce-checkout #billing_last_name_field {
        float: none !important;
        width: 100% !important;
    }

    body.woocommerce-checkout input.input-text,
    body.woocommerce-checkout input[type="text"],
    body.woocommerce-checkout input[type="email"],
    body.woocommerce-checkout input[type="tel"],
    body.woocommerce-checkout input[type="password"],
    body.woocommerce-checkout textarea,
    body.woocommerce-checkout select {
        font-size: 16px;
    }

    body.woocommerce-checkout #order_review_heading {
        padding: 23px 18px 12px;
        border-radius: 15px 15px 0 0;
        font-size: 24px;
    }

    body.woocommerce-checkout #order_review {
        padding: 5px 18px 20px;
        border-radius: 0 0 15px 15px;
    }

    body.woocommerce-checkout #order_review table.shop_table th,
    body.woocommerce-checkout #order_review table.shop_table td {
        padding: 14px 3px;
        font-size: 13px;
    }

    body.woocommerce-checkout #order_review table.shop_table th:first-child,
    body.woocommerce-checkout #order_review table.shop_table td:first-child {
        width: 62% !important;
        padding-right: 10px;
    }

    body.woocommerce-checkout #order_review table.shop_table th:last-child,
    body.woocommerce-checkout #order_review table.shop_table td:last-child {
        width: 38% !important;
    }

    body.woocommerce-checkout #payment li.wc_payment_method {
        padding: 16px !important;
    }

    body.woocommerce-checkout #payment .payment_box {
        padding: 12px !important;
    }

    body.woocommerce-checkout #payment .place-order {
        padding: 18px 16px 16px !important;
    }

    body.woocommerce-checkout #place_order {
        min-height: 56px;
        font-size: 15px;
    }
}

/* ==========================================================
   CHECKOUT MÓVIL PREMIUM
   Aprovecha todo el ancho de la pantalla
========================================================== */

@media (max-width: 767px){

    /* Contenedor principal */

    body.woocommerce-checkout .woocommerce{

        padding-left:8px !important;
        padding-right:8px !important;

    }

    /* Tarjeta del pedido */

    body.woocommerce-checkout #order_review_heading{

        margin:0 -6px !important;

        padding:22px 18px 12px !important;

        border-radius:18px 18px 0 0;

    }

    body.woocommerce-checkout #order_review{

        margin:0 -6px !important;

        padding:0 14px 18px !important;

        border-radius:0 0 18px 18px;

    }

    /* Caja azul de opciones de pago */

    body.woocommerce-checkout #payment{

        margin:20px -4px 0 !important;

        border-radius:16px;

    }

    /* Eliminamos espacio lateral */

    body.woocommerce-checkout #payment .wc_payment_method{

        padding:14px !important;

    }

    /* Caja blanca Stripe */

    body.woocommerce-checkout #payment .payment_box{

        padding:8px !important;

        margin:0 !important;

        border-radius:12px;

    }

    /* Stripe ocupa todo */

    body.woocommerce-checkout #wc-stripe-upe-form,
    body.woocommerce-checkout .wc-upe-form,
    body.woocommerce-checkout .wc-stripe-upe-element,
    body.woocommerce-checkout .StripeElement,
    body.woocommerce-checkout .__PrivateStripeElement{

        width:100% !important;

        max-width:100% !important;

        min-width:100% !important;

    }

    /* Iframe Stripe */

    body.woocommerce-checkout #payment iframe{

        width:calc(100% + 20px) !important;

        max-width:none !important;

        margin-left:-10px !important;

        margin-right:-10px !important;

    }

    /* Título */

    body.woocommerce-checkout #payment li.wc_payment_method > label{

        font-size:19px;

        margin-bottom:14px;

    }

    /* Zona de condiciones */

    body.woocommerce-checkout #payment .place-order{

        padding:18px 12px !important;

    }

    /* Checkboxes */

    body.woocommerce-checkout #payment .place-order label.checkbox{

        display:flex;

        align-items:flex-start;

        gap:10px;

        font-size:13px;

        line-height:1.5;

    }

    body.woocommerce-checkout #payment .place-order label.checkbox input{

        margin-top:3px;

        flex:0 0 auto;

    }

    /* Botón */

    body.woocommerce-checkout #place_order{

        width:100% !important;

        min-height:58px;

        font-size:17px;

        border-radius:14px;

    }

}
/* ==========================================================
   CHECKOUT MÓVIL
   Ancho total menos 10px por cada lado
   Sobrescribe márgenes de Elementor y WooCommerce
========================================================== */

@media (max-width: 767px) {

    /* Quita límites del contenedor general de Elementor */
    body.woocommerce-checkout
    .elementor-section,
    body.woocommerce-checkout
    .elementor-container,
    body.woocommerce-checkout
    .elementor-column,
    body.woocommerce-checkout
    .elementor-widget-wrap,
    body.woocommerce-checkout
    .elementor-widget,
    body.woocommerce-checkout
    .elementor-widget-container,
    body.woocommerce-checkout
    .elementor-shortcode {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Contenedor exacto del shortcode de tu página */
    body.woocommerce-checkout
    .elementor-element-2e11c0f9,
    body.woocommerce-checkout
    .elementor-element-2e11c0f9 > .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* WooCommerce: 10px por cada lado */
    body.woocommerce-checkout
    .elementor-element-2e11c0f9
    .woocommerce {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        margin-left: calc(50% - 50vw + 10px) !important;
        margin-right: 0 !important;
        padding: 24px 0 50px !important;
        box-sizing: border-box !important;
    }

    /* Formulario principal */
    body.woocommerce-checkout
    form.checkout.woocommerce-checkout {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* Avisos, login y cupón */
    body.woocommerce-checkout
    .woocommerce-form-login-toggle,
    body.woocommerce-checkout
    .woocommerce-form-coupon-toggle,
    body.woocommerce-checkout
    form.login,
    body.woocommerce-checkout
    form.checkout_coupon,
    body.woocommerce-checkout
    .woocommerce-info,
    body.woocommerce-checkout
    .woocommerce-message,
    body.woocommerce-checkout
    .woocommerce-error {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Todas las secciones principales */
    body.woocommerce-checkout
    #customer_details,
    body.woocommerce-checkout
    form.checkout.woocommerce-checkout > .col2-set,
    body.woocommerce-checkout
    form.checkout.woocommerce-checkout > .col2-set > .inner-col-set,
    body.woocommerce-checkout
    #order_review_heading,
    body.woocommerce-checkout
    #order_review,
    body.woocommerce-checkout
    #payment {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Separación entre facturación y pedido */
    body.woocommerce-checkout
    form.checkout.woocommerce-checkout > .col2-set {
        margin-top: 20px !important;
    }

    /* Facturación */
    body.woocommerce-checkout
    #customer_details {
        padding: 22px 16px !important;
        border-radius: 16px !important;
    }

    /* Tu pedido: título y cuerpo unidos */
    body.woocommerce-checkout
    #order_review_heading {
        margin-bottom: 0 !important;
        padding: 22px 16px 12px !important;
        border-radius: 16px 16px 0 0 !important;
    }

    body.woocommerce-checkout
    #order_review {
        padding: 4px 16px 18px !important;
        border-radius: 0 0 16px 16px !important;
    }

    /* Tabla del pedido */
    body.woocommerce-checkout
    #order_review table.shop_table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    /* Zona azul de pago */
    body.woocommerce-checkout
    #payment {
        margin-top: 18px !important;
        border-radius: 15px !important;
    }

    /* Método Stripe */
    body.woocommerce-checkout
    #payment li.wc_payment_method {
        width: 100% !important;
        padding: 14px !important;
    }

    /* Caja blanca interior de Stripe */
    body.woocommerce-checkout
    #payment .payment_box {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }

    /* Formulario de Stripe */
    body.woocommerce-checkout
    #wc-stripe-upe-form,
    body.woocommerce-checkout
    #payment .wc-upe-form,
    body.woocommerce-checkout
    #payment .wc-stripe-upe-element,
    body.woocommerce-checkout
    #payment .StripeElement,
    body.woocommerce-checkout
    #payment .__PrivateStripeElement {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Iframe seguro de Stripe */
    body.woocommerce-checkout
    #payment iframe {
        display: block !important;
        width: calc(100% + 8px) !important;
        max-width: none !important;
        min-width: 100% !important;
        margin-left: -4px !important;
        margin-right: -4px !important;
    }

    /* Condiciones */
    body.woocommerce-checkout
    #payment .place-order {
        width: 100% !important;
        padding: 18px 14px 16px !important;
        box-sizing: border-box !important;
    }

    /* Checkboxes y texto alineados */
    body.woocommerce-checkout
    #payment .place-order label.checkbox {
        display: flex !important;
        width: 100% !important;
        align-items: flex-start;
        gap: 9px;
        margin: 0 !important;
        font-size: 13px;
        line-height: 1.5;
    }

    body.woocommerce-checkout
    #payment .place-order label.checkbox input {
        flex: 0 0 auto;
        margin-top: 3px !important;
    }

    /* Botón completo */
    body.woocommerce-checkout
    #place_order {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 58px;
        margin: 20px 0 0 !important;
    }
}
