body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout,body.cma-checkout-page:not(.woocommerce-order-received) form.checkout{grid-template-columns:minmax(0,1.42fr) minmax(390px,.58fr)!important;grid-template-areas:"customer heading" "customer review"!important;gap:0 clamp(22px,2.4vw,42px)!important;align-items:start!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,body.cma-checkout-page:not(.woocommerce-order-received) #customer_details{grid-area:customer!important;align-self:start!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,body.cma-checkout-page:not(.woocommerce-order-received) #order_review_heading{grid-area:heading!important;align-self:start!important;margin-top:0!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,body.cma-checkout-page:not(.woocommerce-order-received) #order_review{grid-area:review!important;align-self:start!important;margin-top:0!important;top:120px!important}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,body.cma-checkout-page .woocommerce-billing-fields__field-wrapper{display:block!important;width:100%!important}
body.woocommerce-checkout .cma-form-section-title,body.cma-checkout-page .cma-form-section-title{display:none!important}
.cma-checkout-section{margin:0 0 18px;padding:clamp(18px,2vw,25px);border:1px solid #dce7e2;border-radius:17px;background:#fff}
.cma-checkout-section__header{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:start;margin:0 0 17px;padding-bottom:13px;border-bottom:1px solid #edf2f0}
.cma-checkout-section__mark{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:#eaf6f1;color:#087455;font-size:.82rem;font-weight:950}
.cma-checkout-section__header h3{margin:0!important;color:#173247!important;font-size:.96rem!important;font-weight:900!important}
.cma-checkout-section__header p{margin:4px 0 0!important;color:#74857d!important;font-size:.7rem!important}
.cma-checkout-section__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px;width:100%}
.cma-checkout-section__fields .form-row{float:none!important;width:100%!important;min-width:0!important;margin:0 0 14px!important}
.cma-checkout-section__fields .cma-field--full,.cma-checkout-section__fields #billing_country_field,.cma-checkout-section__fields #billing_address_1_field,.cma-checkout-section__fields #billing_address_2_field{grid-column:1/-1!important}
.cma-checkout-section__fields label{margin-bottom:6px!important;color:#233c47!important;font-size:.72rem!important;font-weight:850!important}
.cma-checkout-section__fields .description{display:block!important;margin-top:5px!important;color:#7a8a83!important;font-size:.64rem!important}
.cma-checkout-section__fields input,.cma-checkout-section__fields select,.cma-checkout-section__fields textarea,.cma-checkout-section__fields .select2-selection{min-height:46px!important;border:1px solid #d7e4de!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important}
.cma-account-profile{--cma-green:#087455;--cma-navy:#173247;--cma-line:#dce7e2}
.cma-account-profile__hero{margin:0 0 20px;padding:clamp(22px,3vw,34px);border:1px solid var(--cma-line);border-radius:18px;background:linear-gradient(135deg,#fff,#eef8f3)}
.cma-account-profile__hero>span{display:block;margin-bottom:5px;color:var(--cma-green);font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cma-account-profile__hero h2{margin:0;color:var(--cma-navy);font-size:clamp(1.55rem,3vw,2.3rem);font-weight:950}
.cma-account-profile__hero p{max-width:800px;margin:8px 0 0;color:#6e7e77;line-height:1.6}
.cma-profile-section{margin:0 0 16px;padding:clamp(18px,2.5vw,28px);border:1px solid var(--cma-line);border-radius:16px;background:#fff}
.cma-profile-section>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #edf2f0}
.cma-profile-section>header>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#eaf6f1;color:var(--cma-green);font-size:.72rem;font-weight:950}
.cma-profile-section h3{margin:0;color:var(--cma-navy);font-size:1rem;font-weight:900}
.cma-profile-section header p{margin:4px 0 0;color:#7a8a83;font-size:.72rem}
.cma-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.cma-profile-grid .form-row{width:100%!important;margin:0 0 15px!important}.cma-profile-grid .cma-profile-full{grid-column:1/-1}
.cma-profile-grid input,.cma-profile-grid select{box-sizing:border-box;width:100%;min-height:47px;border:1px solid #d7e4de;border-radius:11px;background:#fff}
.cma-profile-save{width:100%;min-height:52px;border:0!important;border-radius:12px!important;background:#087455!important;color:#fff!important;font-weight:900!important}
@media(max-width:1080px){body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout,body.cma-checkout-page:not(.woocommerce-order-received) form.checkout{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"customer" "heading" "review"!important}body.woocommerce-checkout #order_review,body.cma-checkout-page #order_review{position:static!important}}
@media(max-width:680px){.cma-checkout-section__fields,.cma-profile-grid{grid-template-columns:minmax(0,1fr)}.cma-checkout-section__fields .form-row,.cma-checkout-section__fields .cma-field--full,.cma-profile-grid .form-row,.cma-profile-grid .cma-profile-full{grid-column:1!important}}

/* CYBERMATICA CHECKOUT ALIGN V1 */

/*
 * El resumen del pedido debe estar en la MISMA fila que
 * Detalles de facturación.
 */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout,
body.cma-checkout-page:not(.woocommerce-order-received) form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.42fr) minmax(390px, .58fr) !important;
    grid-template-areas: "customer review" !important;
    grid-template-rows: auto !important;
    column-gap: clamp(22px, 2.4vw, 42px) !important;
    row-gap: 0 !important;
    align-items: start !important;
}

/* Columna izquierda. */
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
body.cma-checkout-page:not(.woocommerce-order-received) #customer_details {
    grid-area: customer !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
}

/*
 * Este título es un nodo separado en WooCommerce y generaba
 * una celda adicional. La tabla ya muestra PRODUCTO / SUBTOTAL.
 */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,
body.cma-checkout-page:not(.woocommerce-order-received) #order_review_heading {
    display: none !important;
}

/* Columna derecha. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
body.cma-checkout-page:not(.woocommerce-order-received) #order_review {
    grid-area: review !important;
    align-self: start !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    position: sticky !important;
    top: 120px !important;
    box-sizing: border-box !important;
}

/* El primer elemento interno tampoco puede empujar la tarjeta hacia abajo. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review > :first-child,
body.cma-checkout-page:not(.woocommerce-order-received) #order_review > :first-child,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table,
body.cma-checkout-page:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table {
    margin-top: 0 !important;
}

/* Tablet y móvil. */
@media (max-width: 1080px) {
    body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout,
    body.cma-checkout-page:not(.woocommerce-order-received) form.checkout {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "customer"
            "review" !important;
        row-gap: 20px !important;
    }

    body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
    body.cma-checkout-page:not(.woocommerce-order-received) #order_review {
        position: static !important;
        top: auto !important;
    }
}

/* END CYBERMATICA CHECKOUT ALIGN V1 */

/* CYBERMATICA MY ACCOUNT PRO V1 */

/* ==========================================================
   MI CUENTA - ESTRUCTURA GENERAL
   ========================================================== */

body.woocommerce-account:not(.logged-in) .site-content,
body.woocommerce-account.logged-in .site-content {
    width: 100% !important;
}

body.woocommerce-account .site-content > .col-full {
    width: calc(100% - clamp(28px, 4vw, 70px)) !important;
    max-width: 1500px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.woocommerce-account .content-area,
body.woocommerce-account .site-main,
body.woocommerce-account article,
body.woocommerce-account .entry-content,
body.woocommerce-account .woocommerce {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Título principal */
body.woocommerce-account:not(.logged-in) .entry-header {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: clamp(38px, 5vw, 72px) 0 22px !important;
    text-align: center !important;
}

body.woocommerce-account:not(.logged-in) .entry-title {
    margin: 0 !important;
    color: #173247 !important;
    font-size: clamp(2rem, 4vw, 3.5rem) !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
}

/* ==========================================================
   USUARIO NO AUTENTICADO - ACCESO / REGISTRO
   ========================================================== */

body.woocommerce-account:not(.logged-in) .woocommerce {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 0 clamp(55px, 7vw, 95px) !important;
}

/*
 * WooCommerce imprime #customer_login con .col-1 y .col-2.
 * Storefront usa floats y porcentajes estrechos.
 * Se reemplazan completamente por CSS Grid.
 */
body.woocommerce-account:not(.logged-in) #customer_login {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(22px, 3vw, 38px) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after {
    content: none !important;
    display: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(26px, 3vw, 38px) !important;
    border: 1px solid #dce7e2 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 50px rgba(20, 50, 68, .075) !important;
}

/* Títulos de cada tarjeta */
body.woocommerce-account:not(.logged-in) #customer_login h2 {
    position: relative;
    margin: 0 0 24px !important;
    padding: 0 0 15px !important;
    color: #173247 !important;
    font-size: clamp(1.45rem, 2.5vw, 2rem) !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
}

body.woocommerce-account:not(.logged-in) #customer_login h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 46px;
    height: 3px;
    border-radius: 999px;
    background: #087455;
}

/* Formularios */
body.woocommerce-account:not(.logged-in) #customer_login form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .form-row {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 17px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #243e49 !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    line-height: 1.4 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login input[type="text"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="email"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="password"] {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 49px !important;
    padding: 10px 13px !important;
    border: 1px solid #d7e4de !important;
    border-radius: 11px !important;
    outline: none !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #203743 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login input:focus {
    border-color: #087455 !important;
    box-shadow: 0 0 0 3px rgba(8, 116, 85, .09) !important;
}

/* Campo de contraseña con botón de mostrar */
body.woocommerce-account:not(.logged-in) #customer_login .password-input {
    display: block !important;
    width: 100% !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .show-password-input {
    top: 50% !important;
    right: 14px !important;
    transform: translateY(-50%) !important;
}

/* Recordarme */
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 12px 12px 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme input {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

/* Botones */
body.woocommerce-account:not(.logged-in) #customer_login button.button,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-button {
    min-height: 47px !important;
    padding: 10px 22px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, #087455, #04513d) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(8, 116, 85, .18) !important;
    font-weight: 900 !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

body.woocommerce-account:not(.logged-in) #customer_login button.button:hover,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 28px rgba(8, 116, 85, .24) !important;
}

/* Recuperar contraseña */
body.woocommerce-account:not(.logged-in) #customer_login .lost_password {
    margin: 12px 0 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .lost_password a {
    color: #087455 !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* Texto de privacidad / registro */
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text {
    margin: 8px 0 18px !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    background: #f5f9f7 !important;
    color: #6f8078 !important;
    font-size: .72rem !important;
    line-height: 1.55 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text p {
    margin: 0 !important;
}

/* ==========================================================
   USUARIO AUTENTICADO - PANEL DE MI CUENTA
   ========================================================== */

body.woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(220px, 270px) minmax(0, 1fr) !important;
    gap: clamp(24px, 3vw, 44px) !important;
    align-items: start !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: clamp(35px, 4vw, 60px) 0 clamp(60px, 7vw, 100px) !important;
}

body.woocommerce-account.logged-in .woocommerce::before,
body.woocommerce-account.logged-in .woocommerce::after {
    content: none !important;
    display: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 13px !important;
    border: 1px solid #dce7e2 !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 14px 38px rgba(20, 50, 68, .06) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    margin: 0 0 5px !important;
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    display: block !important;
    padding: 11px 13px !important;
    border-radius: 10px !important;
    color: #425860 !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
    background: #eaf6f1 !important;
    color: #087455 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(24px, 3vw, 38px) !important;
    border: 1px solid #dce7e2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 38px rgba(20, 50, 68, .06) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > :first-child {
    margin-top: 0 !important;
}

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

@media (max-width: 900px) {
    body.woocommerce-account:not(.logged-in) #customer_login {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.woocommerce-account.logged-in .woocommerce {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
        margin: 0 !important;
    }
}

@media (max-width: 560px) {
    body.woocommerce-account .site-content > .col-full {
        width: calc(100% - 24px) !important;
    }

    body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
    body.woocommerce-account:not(.logged-in) #customer_login > .col-2,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        padding: 20px !important;
        border-radius: 16px !important;
    }

    body.woocommerce-account:not(.logged-in) .entry-header {
        padding-top: 28px !important;
    }
}

/* END CYBERMATICA MY ACCOUNT PRO V1 */
