/* ==========================================================================
   FEDELAN Checkout: una pagina, cuatro secciones plegables
   ========================================================================== */

/* ---- Page wrapper ---- */

body.woocommerce-checkout .site.grid-container {
    max-width: 100%;
    padding: 0;
    padding-top: var(--fedelan-header-total-height);
}

body.woocommerce-checkout #primary {
    width: 100%;
    float: none;
    margin: 0;
}

body.woocommerce-checkout .site-main {
    padding: 120px 0 0;
}

body.woocommerce-checkout .inside-article {
    padding: 0;
    background: transparent;
    box-shadow: none;
}

body.woocommerce-checkout .entry-header {
    display: none;
}

/* Hide default WC elements we replace */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle {
    display: none;
}

/* ---- Empty cart ---- */

.fedelan-checkout-empty {
    text-align: center;
    padding: 80px 24px;
    font-family: var(--fedelan-font-primary);
    font-size: 16px;
    color: var(--fedelan-gray-dark);
}

.fedelan-checkout-empty a {
    color: var(--fedelan-black);
    text-decoration: underline;
}

/* ==========================================================================
   Form reset
   ========================================================================== */

.fedelan-checkout-form,
.fedelan-checkout-form * {
    box-sizing: border-box;
}

.fedelan-checkout-form {
    font-family: var(--fedelan-font-primary);
    color: var(--fedelan-black);
}

/* ==========================================================================
   Progress Bar
   ========================================================================== */

.fedelan-checkout-layout {
    display: grid;
    grid-template-columns: 1fr 420px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 120px 24px 80px;
    gap: 60px;
}

@media (max-width: 1024px) {
    .fedelan-checkout-layout {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 28px 18px 60px;
    }
}

/* ---- Main (left) column ---- */

.fedelan-checkout-main {
    max-width: 560px;
    width: 100%;
}

@media (max-width: 1024px) {
    .fedelan-checkout-main {
        max-width: 100%;
        order: 2;
    }
}

/* ---- Step container ---- */

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

.fedelan-checkout-step__title {
    font-family: var(--fedelan-font-primary);
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 24px;
    letter-spacing: -0.01em;
}

.fedelan-checkout-step__subtitle {
    font-family: var(--fedelan-font-primary);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 28px 0 16px;
    color: var(--fedelan-gray-dark);
}

/* ==========================================================================
   Form Fields
   ========================================================================== */

.fedelan-field {
    margin-bottom: 20px;
}

.fedelan-field label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 6px;
    color: var(--fedelan-gray-dark);
}

.fedelan-optional {
    font-weight: 400;
    color: var(--fedelan-muted);
}

.fedelan-field__input-wrap {
    position: relative;
}

.fedelan-field__input-wrap input,
.fedelan-field__input-wrap select {
    width: 100%;
    height: 48px;
    padding: 0 40px 0 14px;
    font-family: var(--fedelan-font-primary);
    font-size: 15px;
    color: var(--fedelan-black);
    background: var(--fedelan-white);
    border: 1.5px solid #d0d0d0;
    border-radius: 0;
    transition: border-color 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
}

.fedelan-field__input-wrap select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
}

.fedelan-field__input-wrap input:focus,
.fedelan-field__input-wrap select:focus {
    outline: none;
    border-color: var(--fedelan-black);
}

.fedelan-field__input-wrap input::placeholder {
    color: var(--fedelan-muted);
}

/* Validation states */
.fedelan-field__check {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.fedelan-field.is-valid .fedelan-field__check {
    opacity: 1;
}

.fedelan-field.is-valid .fedelan-field__check::after {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.fedelan-field.is-valid .fedelan-field__input-wrap input,
.fedelan-field.is-valid .fedelan-field__input-wrap select {
    border-color: var(--fedelan-ok);
}

.fedelan-field.is-invalid .fedelan-field__input-wrap input,
.fedelan-field.is-invalid .fedelan-field__input-wrap select {
    border-color: var(--fedelan-err);
}

.fedelan-field__error {
    display: none;
    font-size: 12px;
    color: var(--fedelan-err);
    margin-top: 4px;
    padding-left: 2px;
}

.fedelan-field.is-invalid .fedelan-field__error {
    display: block;
}

.fedelan-field__link {
    display: inline-block;
    margin-top: 6px;
    font-size: 13px;
    color: var(--fedelan-gray-dark);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.fedelan-field__link:hover {
    color: var(--fedelan-black);
}

/* Field rows */

.fedelan-field-row {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.fedelan-field-row > .fedelan-field {
    flex: 1;
}

/* Street + number side by side */
.fedelan-field-row--street > .fedelan-field--street {
    flex: 1;
}

.fedelan-field-row--street > .fedelan-field--number {
    flex: 0 0 130px;
}

.fedelan-field-row--street > .fedelan-field {
    margin-bottom: 0;
}

.fedelan-checkbox--full {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    margin-bottom: 20px;
    cursor: pointer;
    width: 100%;
}

@media (max-width: 500px) {
    .fedelan-field-row {
        flex-direction: column;
        gap: 0;
    }

    .fedelan-field-row--street {
        flex-direction: row;
        gap: 16px;
    }

    .fedelan-field-row--street > .fedelan-field--number {
        flex: 0 0 100px;
    }
}

/* ==========================================================================
   Checkbox
   ========================================================================== */

.fedelan-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    margin-bottom: 20px;
    user-select: none;
}


.fedelan-checkbox__mark {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border: 1.5px solid #d0d0d0;
    border-radius: 0;
    transition: all 0.2s ease;
    position: relative;
    margin-top: 1px;
}

.fedelan-checkbox input:checked + .fedelan-checkbox__mark {
    background-color: var(--fedelan-black);
    border-color: var(--fedelan-black);
}

.fedelan-checkbox input:checked + .fedelan-checkbox__mark::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid var(--fedelan-white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.fedelan-checkbox__text {
    font-size: 14px;
    color: var(--fedelan-gray-dark);
    line-height: 1.4;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.fedelan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 0 32px;
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    -webkit-appearance: none;
}

.fedelan-btn--primary {
    width: 100%;
    background-color: var(--fedelan-black);
    color: var(--fedelan-white);
    margin-top: 12px;
}

.fedelan-btn--primary:hover {
    background-color: #222;
}

.fedelan-btn--outline {
    width: 100%;
    background: transparent;
    color: var(--fedelan-black);
    border: 1.5px solid var(--fedelan-black);
}

.fedelan-btn--outline:hover {
    background-color: var(--fedelan-black);
    color: var(--fedelan-white);
}

.fedelan-btn--small {
    height: 40px;
    padding: 0 20px;
    font-size: 12px;
    background-color: var(--fedelan-black);
    color: var(--fedelan-white);
}

/* ==========================================================================
   Shipping zone info
   ========================================================================== */

.fedelan-shipping-zone-info {
    font-size: 13px;
    color: var(--fedelan-gray-dark);
    margin-bottom: 16px;
}

/* Sin zona detectada queda vacio: sin esto se veia un recuadro gris sin nada. */
.fedelan-shipping-zone-info:empty {
    display: none;
}

.fedelan-shipping-zone-info strong {
    font-weight: 600;
    color: var(--fedelan-black);
}

/* ==========================================================================
   Radio Cards (shipping & payment)
   ========================================================================== */

.fedelan-shipping-option,
.fedelan-payment-option {
    margin-bottom: 12px;
}

.fedelan-radio-card {
    display: block;
    cursor: pointer;
}


.fedelan-radio-card__content {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1.5px solid #e0e0e0;
    border-radius: 0;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.fedelan-radio-card input:checked + .fedelan-radio-card__content {
    border-color: var(--fedelan-black);
    background-color: #fafafa;
}

.fedelan-radio-card__indicator {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid #ccc;
    position: relative;
    transition: border-color 0.2s ease;
}

.fedelan-radio-card input:checked + .fedelan-radio-card__content .fedelan-radio-card__indicator {
    border-color: var(--fedelan-black);
}

.fedelan-radio-card input:checked + .fedelan-radio-card__content .fedelan-radio-card__indicator::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--fedelan-black);
}

.fedelan-radio-card__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.fedelan-radio-card__title {
    font-size: 15px;
    font-weight: 600;
}

.fedelan-radio-card__desc {
    font-size: 13px;
    color: #888;
}

.fedelan-radio-card__price {
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

/* ==========================================================================
   Correo Argentino Grid (2x2)
   ========================================================================== */

.fedelan-correo-grid {
    padding: 16px 0 4px 34px;
    animation: vcStepIn 0.25s ease both;
}

.fedelan-correo-grid__header {
    display: grid;
    grid-template-columns: 120px 1fr 1fr;
    gap: 10px;
    margin-bottom: 8px;
}

.fedelan-correo-grid__header span {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #888;
    text-align: center;
}

.fedelan-correo-grid__header span:first-child {
    text-align: left;
}

.fedelan-correo-grid__row {
    display: grid;
    grid-template-columns: 120px 1fr 1fr;
    gap: 10px;
    margin-bottom: 10px;
    align-items: center;
}

.fedelan-correo-grid__label {
    font-size: 13px;
    font-weight: 500;
    color: var(--fedelan-gray-dark);
}

.fedelan-correo-grid__cell {
    cursor: pointer;
}

.fedelan-correo-grid__cell input {
    display: none;
}

.fedelan-correo-grid__card {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 8px;
    border: 1.5px solid #e0e0e0;
    border-radius: 0;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.fedelan-correo-grid__cell input:checked + .fedelan-correo-grid__card {
    border-color: var(--fedelan-black);
    background-color: #fafafa;
    font-weight: 600;
}

@media (max-width: 500px) {
    .fedelan-correo-grid {
        padding-left: 0;
    }

    .fedelan-correo-grid__header,
    .fedelan-correo-grid__row {
        grid-template-columns: 90px 1fr 1fr;
        gap: 6px;
    }

    .fedelan-correo-grid__label {
        font-size: 12px;
    }

    .fedelan-correo-grid__card {
        padding: 10px 4px;
        font-size: 13px;
    }
}

/* ==========================================================================
   Payment sub-forms
   ========================================================================== */

.fedelan-payment-sub {
    padding: 20px 0 8px 34px;
    animation: vcStepIn 0.25s ease both;
}

.fedelan-transfer-details {
    background: #f9f9f9;
    border-radius: 0;
    padding: 18px 20px;
    margin-bottom: 16px;
}

.fedelan-transfer-details p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--fedelan-gray-dark);
}

@media (max-width: 500px) {
    .fedelan-payment-sub {
        padding-left: 0;
    }
}

/* ==========================================================================
   Address fields block
   ========================================================================== */

.fedelan-checkout-address {
    animation: vcStepIn 0.25s ease both;
}

.fedelan-checkout-address[hidden] {
    display: none;
}

/* ==========================================================================
   Order Summary (right column)
   ========================================================================== */

.fedelan-checkout-summary {
    position: relative;
}

@media (min-width: 1025px) {
    .fedelan-checkout-summary {
        order: 2;
    }

    .fedelan-checkout-summary__inner {
        position: sticky;
        top: calc(var(--fedelan-header-total-height) + 32px);
    }

    .fedelan-checkout-summary__toggle {
        display: none;
    }
}

@media (max-width: 1024px) {
    .fedelan-checkout-summary {
        order: 1;
        margin: calc(var(--fedelan-header-total-height) + 8px) 0 24px;
    }

    .fedelan-checkout-summary__title {
        display: none;
    }

    .fedelan-checkout-summary__body {
        display: none;
    }

    .fedelan-checkout-summary__body.is-open {
        display: block;
        animation: vcStepIn 0.25s ease both;
    }

    .fedelan-checkout-summary__toggle {
        display: flex;
    }

    .fedelan-checkout-summary__inner {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
    }
}

.fedelan-checkout-summary__inner {
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 0;
    padding: 28px 24px;
}

.fedelan-checkout-summary__title {
    font-family: var(--fedelan-font-primary);
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 20px;
}

.fedelan-checkout-summary__toggle svg {
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.fedelan-checkout-summary__toggle {
    all: unset;
    box-sizing: border-box;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0 12px;
    display: flex;
    border: 0;
    border-top: 0;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-family: var(--fedelan-font-primary);
    color: var(--fedelan-black);
    text-align: left;
    cursor: pointer;
}

.fedelan-checkout-summary__toggle:hover,
.fedelan-checkout-summary__toggle:focus,
.fedelan-checkout-summary__toggle:active {
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

.fedelan-checkout-summary__toggle-label {
    font-size: 14px;
    font-weight: 400;
    color: var(--fedelan-gray-dark);
}

.fedelan-checkout-summary__toggle-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.fedelan-checkout-summary__toggle-total {
    font-size: 14px;
    font-weight: 500;
    color: var(--fedelan-black);
    white-space: nowrap;
}

.fedelan-checkout-summary__toggle.is-open svg {
    transform: rotate(180deg);
}

/* Items */

.fedelan-checkout-summary__items {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
}

.fedelan-checkout-summary__item {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.fedelan-checkout-summary__item:last-child {
    margin-bottom: 0;
}

.fedelan-checkout-summary__item-img {
    position: relative;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 0;
    overflow: hidden;
    border: 1px solid #eee;
    background: var(--fedelan-white);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
}

.fedelan-checkout-summary__item-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block;
}

.fedelan-checkout-summary__item-info {
    flex: 1;
    min-width: 0;
}

.fedelan-checkout-summary__item-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
}

.fedelan-checkout-summary__item-price {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

/* Coupon */

.fedelan-checkout-summary__coupon {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
}

.fedelan-coupon-toggle {
    font-size: 12px !important;
    height: 42px !important;
}

.fedelan-coupon-form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    animation: vcStepIn 0.2s ease both;
}

.fedelan-coupon-form input {
    flex: 1;
    height: 40px;
    padding: 0 14px;
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border: 1px solid #d6d0c7;
    border-radius: 0;
    background: #fbf8f3;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.fedelan-coupon-form input:focus {
    outline: none;
    border-color: var(--fedelan-black);
    background: var(--fedelan-white);
}

.fedelan-coupon-msg {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 10px;
    padding: 12px 14px;
    border: 0;
    border-radius: 0;
    color: var(--fedelan-ink);
    font-size: 13px;
    line-height: 1.45;
}
.fedelan-coupon-msg--ok { background: var(--fedelan-ok-soft); }
.fedelan-coupon-msg--err { background: var(--fedelan-err-soft); }

/* Totals */

.fedelan-checkout-summary__totals {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fedelan-checkout-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 14px;
}

.fedelan-checkout-summary__row span:first-child {
    color: var(--fedelan-gray-dark);
}

.fedelan-checkout-summary__shipping {
    font-size: 13px;
    color: var(--fedelan-ink-soft);
}

.fedelan-checkout-summary__row--discount span {
    color: var(--fedelan-gray-dark) !important;
}

.fedelan-checkout-summary__row--discount {
    align-items: center;
}

.fedelan-checkout-summary__discount {
    color: var(--fedelan-gray-dark) !important;
}

.fedelan-checkout-summary__row--total {
    padding-top: 14px;
    border-top: 1px solid #e5e5e5;
    margin-top: 4px;
}

.fedelan-checkout-summary__row--total > span {
    font-size: 18px;
    font-weight: 700;
    color: var(--fedelan-black) !important;
}

/* ==========================================================================
   WooCommerce price formatting inside our components
   ========================================================================== */

.fedelan-checkout-summary .woocommerce-Price-amount,
.fedelan-correo-grid .woocommerce-Price-amount,
.fedelan-radio-card__price .woocommerce-Price-amount {
    font-family: var(--fedelan-font-primary);
}

/* ==========================================================================
   Admin bar offset
   ========================================================================== */

.admin-bar .fedelan-checkout-summary__inner {
    top: calc(var(--fedelan-header-total-height) + 32px + 32px);
}

@media (max-width: 782px) {
    .admin-bar .fedelan-checkout-summary__inner {
        top: calc(var(--fedelan-header-total-height) + 32px + 46px);
    }
}

/* ==========================================================================
   Back Button
   ========================================================================== */


.fedelan-checkout-other-person {
    animation: vcStepIn 0.25s ease both;
}

.fedelan-checkout-shipping-address {
    animation: vcStepIn 0.25s ease both;
}

.fedelan-checkout-pay__total {
    font-weight: 600;
}
body.woocommerce-order-pay .site-main {
    margin-top: var(--fedelan-header-total-height);
}

body.woocommerce-order-pay .woocommerce {
    min-height: calc(100vh - var(--fedelan-header-total-height));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 20px 48px;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper {
    width: 100%;
    max-width: 640px;
}

body.woocommerce-order-pay .woocommerce .order_details {
    max-width: 640px;
    margin: 0 auto 28px;
    text-align: center;
}

body.woocommerce-order-pay .woocommerce .order_details li {
    float: none;
    display: block;
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
}

body.woocommerce-order-pay .woocommerce .order_details + script + div,
body.woocommerce-order-pay .woocommerce .order_details + div[style] {
    width: 100%;
    max-width: 320px;
    margin: 0 auto 0 !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-info {
    margin: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper p,
body.woocommerce-order-pay .woocommerce-notices-wrapper span {
    display: block;
    margin-bottom: 18px;
}

body.woocommerce-order-pay #mp_pending_payment_button,
body.woocommerce-order-pay #mp_failed_payment_button,
body.woocommerce-order-pay .woocommerce .order_details + script + div .button,
body.woocommerce-order-pay .woocommerce .order_details + div[style] .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    border-radius: 0 !important;
    padding: 16px 28px !important;
}

body.woocommerce-order-pay #mp_pending_payment_button + .button,
body.woocommerce-order-pay #mp_failed_payment_button + .button,
body.woocommerce-order-pay .woocommerce-notices-wrapper .button + .button,
body.woocommerce-order-pay .woocommerce .order_details + script + div .button + .button,
body.woocommerce-order-pay .woocommerce .order_details + div[style] .button + .button {
    margin-top: 16px;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper .button {
    float: none !important;
}

/* Eran 100: herencia del header fijo del tema de origen. Este header ocupa su lugar
   y los 100 quedaban como una banda vacia arriba de la caja. */
body.woocommerce-order-received .site-main {
    margin-top: 0;
    padding-top: 0 !important;
}

body.woocommerce-order-received .inside-article {
    background: transparent;
    box-shadow: none;
    padding: 0;
}

body.woocommerce-order-received .site.grid-container,
body.woocommerce-order-received .content-area {
    width: 100%;
    max-width: 100% !important;
}

body.woocommerce-order-received .entry-content {
    max-width: 100% !important;
}

body.woocommerce-order-received .woocommerce {
    min-height: calc(100vh - var(--fedelan-header-total-height) - 32px);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 24px 32px 64px;
}

body.woocommerce-order-received .woocommerce > * {
    width: 100%;
    max-width: 920px;
}

body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-info,
body.woocommerce-order-received form.woocommerce-form-login {
    margin-left: auto;
    margin-right: auto;
}

body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-info {
    text-align: center;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
    margin: 0 0 18px;
    font-family: var(--fedelan-font-primary);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fedelan-black);
}

body.woocommerce-order-received .woocommerce-info {
    max-width: 760px;
    margin: 0 auto 34px;
    padding: 0;
    background: transparent;
    border: 0;
    color: rgba(0, 0, 0, 0.72);
    font-size: 15px;
    line-height: 1.7;
}

body.woocommerce-order-received form.woocommerce-form-login {
    max-width: 760px;
    padding: 44px 52px 38px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 0;
}

body.woocommerce-order-received form.woocommerce-form-login .form-row label,
body.woocommerce-order-received form.woocommerce-form-login .woocommerce-form-login__rememberme,
body.woocommerce-order-received form.woocommerce-form-login .lost_password a {
    color: var(--fedelan-black);
}

body.woocommerce-order-received form.woocommerce-form-login .form-row {
    margin-bottom: 20px;
}

body.woocommerce-order-received form.woocommerce-form-login .form-row label {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.woocommerce-order-received form.woocommerce-form-login input.input-text {
    width: 100%;
    padding: 14px 0 !important;
    color: var(--fedelan-black) !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.32) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-order-received form.woocommerce-form-login input.input-text:focus {
    border-bottom-color: var(--fedelan-black) !important;
}

body.woocommerce-order-received form.woocommerce-form-login .woocommerce-form-login__submit {
    min-width: 240px;
    margin-top: 8px;
    border-radius: 0 !important;
}

body.woocommerce-order-received form.woocommerce-form-login .lost_password {
    margin: 18px 0 0;
    text-align: center;
}

body.woocommerce-order-received .woocommerce-order {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
    gap: 40px;
    align-items: start;
}

/* La pagina de gracias propia va en una columna: el orden de las secciones
   es el mensaje (K54) y la grilla de dos las mezclaba en escritorio. */
body.woocommerce-order-received .woocommerce-order.fedelan-ty {
    display: block;
    max-width: 760px;
    margin: 40px auto 80px;
}

body.woocommerce-order-received .woocommerce-order-overview {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 34px;
    padding: 0;
}

body.woocommerce-order-received .woocommerce-order-overview li {
    list-style: none;
    margin: 0;
    padding: 18px 0 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.56);
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--fedelan-black);
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 0;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    margin: 0 0 18px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fedelan-black);
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    display: block;
}

body.woocommerce-order-received .woocommerce-customer-details .col2-set {
    display: block;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address {
    margin: 0;
    padding: 26px 28px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 0;
    line-height: 1.7;
}

body.woocommerce-order-received .woocommerce table.shop_table {
    width: 100%;
    margin: 0;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
}

body.woocommerce-order-received .woocommerce table.shop_table th,
body.woocommerce-order-received .woocommerce table.shop_table td {
    border: 0 !important;
    padding: 16px 0;
    background: transparent;
}

body.woocommerce-order-received .woocommerce table.shop_table thead th {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.56);
    border-bottom: 1px solid rgba(0, 0, 0, 0.14) !important;
}

body.woocommerce-order-received .woocommerce table.shop_table tbody td,
body.woocommerce-order-received .woocommerce table.shop_table tfoot th,
body.woocommerce-order-received .woocommerce table.shop_table tfoot td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.woocommerce-order-received .woocommerce table.shop_table tr:last-child th,
body.woocommerce-order-received .woocommerce table.shop_table tr:last-child td {
    border-bottom-color: transparent !important;
}

body.woocommerce-order-received .woocommerce table.shop_table .product-name,
body.woocommerce-order-received .woocommerce table.shop_table .product-total,
body.woocommerce-order-received .woocommerce table.shop_table tfoot th,
body.woocommerce-order-received .woocommerce table.shop_table tfoot td {
    color: var(--fedelan-black);
}

body.woocommerce-order-received .woocommerce table.shop_table dl.variation {
    margin-top: 8px;
    color: rgba(0, 0, 0, 0.62);
}

body.woocommerce-order-received .woocommerce table.shop_table dl.variation dt,
body.woocommerce-order-received .woocommerce table.shop_table dl.variation dd {
    margin-bottom: 4px;
}

body.woocommerce-order-received .woocommerce-order-details {
    grid-column: 1;
}

body.woocommerce-order-received .woocommerce-customer-details {
    grid-column: 2;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
    float: none;
    width: 100%;
    margin: 0 0 18px;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column:last-child {
    margin-bottom: 0;
}

/* En la pagina de gracias la caja va solo en la direccion, no tambien en la
   columna que la envuelve (quedaban dos cajas una adentro de la otra). */
body.woocommerce-order-received .fedelan-ty .woocommerce-column--billing-address,
body.woocommerce-order-received .fedelan-ty .woocommerce-column--shipping-address {
    padding: 0;
    background: transparent;
    border: 0;
}

@media (max-width: 768px) {
    body.woocommerce-order-received .site-main {
        margin-top: 0;
        padding-top: 0 !important;
    }

    body.woocommerce-order-received .woocommerce {
        align-items: flex-start;
        min-height: calc(100vh - var(--fedelan-header-total-height) - 20px);
        padding: 16px 16px 40px;
    }

    body.woocommerce-order-received .woocommerce-thankyou-order-received {
        font-size: 24px;
        margin-bottom: 14px;
    }

    body.woocommerce-order-received .woocommerce-info {
        margin-bottom: 22px;
        font-size: 14px;
    }

    body.woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        margin-bottom: 28px;
    }

    body.woocommerce-order-received .woocommerce-order {
        display: block;
    }

    body.woocommerce-order-received .woocommerce-order-overview li {
        padding-top: 14px;
    }

    body.woocommerce-order-received .woocommerce-customer-details address,
    body.woocommerce-order-received .woocommerce-column--billing-address,
    body.woocommerce-order-received .woocommerce-column--shipping-address {
        padding: 20px 18px;
    }

    body.woocommerce-order-received form.woocommerce-form-login {
        padding: 28px 22px 24px;
    }

    body.woocommerce-order-received form.woocommerce-form-login .form-row-first,
    body.woocommerce-order-received form.woocommerce-form-login .form-row-last {
        float: none;
        width: 100%;
    }

    body.woocommerce-order-received form.woocommerce-form-login .woocommerce-form-login__submit {
        width: 100%;
        min-width: 0;
    }
}



/* ==========================================================================
   Order Received (Thank You)
   ========================================================================== */

body.woocommerce-order-received .site.grid-container {
    max-width: 100%;
    padding: 0;
    padding-top: var(--fedelan-header-total-height);
}

body.woocommerce-order-received #primary {
    width: 100%;
    float: none;
    margin: 0;
}

body.woocommerce-order-received .site-main {
    padding: 0;
}

body.woocommerce-order-received .inside-article {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border: none;
}

body.woocommerce-order-received .entry-header,
body.woocommerce-order-received .woocommerce-notice--success {
    display: none;
}

/* ---- Pagina de gracias (K54) ----
   Una sola columna dentro de la caja gris de theme.css (.woocommerce-order):
   estado, que pasa ahora, pago, envio, detalle, ayuda y cuenta, en ese
   orden. Los titulos llevan .fedelan-ty adelante porque theme.css le pone
   24px a todo h2 de .woocommerce-order. */

.fedelan-ty {
    font-family: var(--fedelan-font-primary);
    color: var(--fedelan-ink);
}

.fedelan-ty__hero {
    padding: 0 0 24px;
    border-bottom: 1px solid var(--fedelan-line);
}

.fedelan-ty__numero {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--fedelan-muted);
}

/* El numero se selecciona entero con un click: es lo que se copia para
   escribir por WhatsApp o para la referencia de la transferencia. */
.fedelan-ty__numero-valor {
    color: var(--fedelan-ink);
    user-select: all;
}

.fedelan-ty .fedelan-ty__heading {
    font-size: clamp(24px, 5vw, 32px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
}

.fedelan-ty__subheading {
    font-size: 15px;
    line-height: 1.5;
    color: var(--fedelan-ink-soft);
    margin: 0 0 6px;
}

.fedelan-ty__overview {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 32px;
    margin: 20px 0 0;
    padding: 0;
}

.fedelan-ty__overview-item {
    margin: 0;
}

.fedelan-ty__overview-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--fedelan-muted);
}

.fedelan-ty__overview-value {
    margin: 4px 0 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--fedelan-ink);
}

.fedelan-ty__seccion {
    padding: 24px 0;
    border-bottom: 1px solid var(--fedelan-line);
}

.fedelan-ty .fedelan-ty__titulo {
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--fedelan-muted);
}

.fedelan-ty__pasos {
    margin: 0;
    padding: 0 0 0 20px;
}

.fedelan-ty__pasos li {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.5;
}

.fedelan-ty__dato {
    margin: 0 0 6px;
    font-size: 15px;
    line-height: 1.5;
}

.fedelan-ty__dato--suave {
    color: var(--fedelan-muted);
}

.fedelan-ty__dato a {
    color: var(--fedelan-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---- Datos de la transferencia (partial compartido con los mails) ---- */

.fedelan-transfer {
    margin: 16px 0 0;
    padding: 20px;
    background: var(--fedelan-paper);
}

.fedelan-ty .fedelan-transfer__titulo {
    margin: 0 0 8px;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: var(--fedelan-ink);
}

.fedelan-transfer__plazo,
.fedelan-transfer__aviso,
.fedelan-transfer__nota {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.5;
}

.fedelan-transfer__datos {
    margin: 0 0 12px;
}

.fedelan-transfer__fila {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 4px 12px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid var(--fedelan-line);
}

.fedelan-transfer__fila dt {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--fedelan-muted);
}

.fedelan-transfer__fila dd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin: 0;
}

.fedelan-transfer__valor {
    font-size: 15px;
    font-weight: 700;
    overflow-wrap: anywhere;
    user-select: all;
}

.fedelan-copiar {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 16px;
    border: 0;
    border-radius: 0;
    background: var(--fedelan-paper);
    box-shadow: inset 0 0 0 2px var(--fedelan-ink);
    color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
}

.fedelan-copiar:hover,
.fedelan-copiar.is-copiado {
    background: var(--fedelan-ink);
    color: var(--fedelan-paper);
}

.fedelan-copiar:focus-visible {
    outline: 2px solid var(--fedelan-accent);
    outline-offset: 2px;
}

.fedelan-copiar__estado {
    font-size: 13px;
    font-weight: 700;
    color: var(--fedelan-ink);
}

.fedelan-transfer__wa {
    margin-top: 4px;
}

@media (max-width: 600px) {
    .fedelan-transfer {
        padding: 16px;
    }

    .fedelan-transfer__fila {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Con las dos clases le gana al padding de .fedelan-ty__btn, que viene despues. */
    .fedelan-ty__btn.fedelan-transfer__wa {
        width: 100%;
        padding: 12px 16px;
        letter-spacing: 1px;
    }
}

/* ---- Order items (WC section) ---- */

.fedelan-ty__items {
    margin: 0;
}

.fedelan-ty__items .woocommerce-order-details__title {
    font-family: var(--fedelan-font-primary) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--fedelan-muted) !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: none !important;
}

.fedelan-ty__items table.order_details {
    font-family: var(--fedelan-font-primary) !important;
    width: 100%;
    border-collapse: collapse;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
}

.fedelan-ty__items table.order_details,
.fedelan-ty__items table.order_details th,
.fedelan-ty__items table.order_details td {
    border-color: #e5e5e5 !important;
}

.fedelan-ty__items table.order_details thead th {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--fedelan-muted) !important;
    padding: 0 0 10px !important;
    background: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    border-top: none !important;
}

.fedelan-ty__items table.order_details thead th.product-total {
    text-align: right !important;
}

.fedelan-ty__items table.order_details tbody tr {
    background: none !important;
}

.fedelan-ty__items table.order_details tbody td {
    font-size: 14px !important;
    padding: 14px 0 !important;
    background: none !important;
    border-top: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-left: none !important;
    border-right: none !important;
}

.fedelan-ty__items table.order_details .product-name {
    font-weight: 500 !important;
    color: var(--fedelan-black) !important;
}

.fedelan-ty__items table.order_details .product-name a {
    color: var(--fedelan-black) !important;
    text-decoration: none !important;
}

.fedelan-ty__items table.order_details .product-total {
    text-align: right !important;
    font-weight: 500 !important;
    color: var(--fedelan-black) !important;
}

.fedelan-ty__items table.order_details tfoot tr th,
.fedelan-ty__items table.order_details tfoot tr td {
    font-size: 13px !important;
    color: #666 !important;
    padding: 6px 0 !important;
    background: none !important;
    border: none !important;
    font-weight: 400 !important;
}

.fedelan-ty__items table.order_details tfoot tr td {
    text-align: right !important;
}

/* Last tfoot row = Total a pagar */
.fedelan-ty__items table.order_details tfoot tr:last-child th,
.fedelan-ty__items table.order_details tfoot tr:last-child td {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--fedelan-black) !important;
    padding-top: 14px !important;
    border-top: 1px solid #e5e5e5 !important;
}

/* Hide customer details section on thank you page */
.fedelan-ty__items .woocommerce-customer-details {
    display: none;
}

/* ---- Buttons ---- */

.fedelan-ty__actions {
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 24px;
}

.fedelan-ty__hero .fedelan-ty__actions {
    padding-top: 12px;
}

.fedelan-ty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 28px;
    /* Si el texto no entra en un renglon (celular), los renglones van centrados. */
    text-align: center;
    border-radius: 0;
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color var(--fedelan-dur) var(--fedelan-ease), color var(--fedelan-dur) var(--fedelan-ease);
    background: var(--fedelan-ink);
    color: var(--fedelan-paper) !important;
    border: 0;
}

.fedelan-ty__btn:hover {
    background: var(--fedelan-ink-soft);
}

.fedelan-ty__btn--ghost {
    background: transparent;
    color: var(--fedelan-ink) !important;
    box-shadow: inset 0 0 0 2px var(--fedelan-ink);
}

.fedelan-ty__btn--ghost:hover {
    background: var(--fedelan-ink);
    color: var(--fedelan-paper) !important;
}

.fedelan-ty__cuenta .fedelan-ty__btn {
    margin-top: 8px;
}

/* ==========================================================================
   Checkout: reglas de la seccion 6 del manual
   theme.css se carga despues que esta hoja, asi que lo que tiene que ganarle
   lleva .fedelan-checkout-form adelante.
   ========================================================================== */

/* K16: [hidden] manda sobre cualquier display de las hojas. Sin esto
   "Cambiar" (inline-flex a 600 o menos) salia en las cuatro secciones. */
.fedelan-checkout-form [hidden] {
    display: none !important;
}

/* K30: asterisco en los obligatorios y la leyenda arriba del formulario. */
.fedelan-checkout__leyenda {
    margin: 0 0 16px;
    font-size: 13px;
    color: var(--fedelan-muted);
}

.fedelan-req {
    margin-left: 2px;
    color: var(--fedelan-ink);
}

/* K28: resumen de errores arriba de la seccion. Vacio no ocupa lugar, pero
   sigue en el DOM para que role="alert" anuncie cuando se llena (K72). */
.fedelan-checkout-errores:not(:empty) {
    margin: 0 0 20px;
    padding: 14px 16px;
    background: var(--fedelan-err-soft);
}

.fedelan-checkout-errores:focus {
    outline: 2px solid var(--fedelan-accent);
    outline-offset: 2px;
}

.fedelan-checkout-errores__titulo {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--fedelan-ink);
}

.fedelan-checkout-errores ul {
    margin: 0;
    padding: 0 0 0 18px;
}

.fedelan-checkout-errores li {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--fedelan-ink);
}

.fedelan-checkout-errores a {
    color: var(--fedelan-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Error de un grupo de radios (envio, Correo, pago). */
.fedelan-checkout-step__error {
    margin: 4px 0 16px;
    font-size: 13px;
}

.fedelan-checkout-step__error:empty {
    margin: 0;
}

/* K70: los grupos de radios van en fieldset, sin el marco del navegador. */
.fedelan-checkout-fieldset,
fieldset.fedelan-correo-grid {
    min-width: 0;
    margin: 0;
    border: 0;
}

.fedelan-checkout-fieldset {
    padding: 0;
}

/* K69: el radio de cada variante de Correo queda oculto a la vista pero
   alcanzable con el teclado (antes era display:none). El foco se ve en la
   celda. */
.fedelan-correo-grid__cell {
    position: relative;
    display: block;
}

.fedelan-correo-grid__cell input {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.fedelan-correo-grid__cell input:focus-visible + .fedelan-correo-grid__card {
    outline: 2px solid var(--fedelan-accent);
    outline-offset: 2px;
}

.fedelan-correo-grid__cell.is-disabled {
    cursor: not-allowed;
}

.fedelan-checkout-form .fedelan-correo-grid__cell.is-disabled .fedelan-correo-grid__card {
    color: var(--fedelan-muted);
    font-weight: 400;
    box-shadow: none;
}

/* K12: "Agregar piso o depto" es un boton con cara de link. */
.fedelan-checkout-form .fedelan-checkout__depto {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--fedelan-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.fedelan-checkout-form .fedelan-checkout__depto:hover {
    color: var(--fedelan-ink);
    background: none;
}

/* Resumen del pedido (K48, K49) */
.fedelan-checkout-summary__row-detalle {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: var(--fedelan-ink-soft);
}

.fedelan-checkout-summary__row-detalle:empty {
    display: none;
}

.fedelan-checkout-summary__cupon {
    display: inline-block;
    padding: 1px 7px;
    background: var(--fedelan-paper);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.fedelan-checkout-summary__iva {
    margin: 2px 0 0;
    text-align: right;
    font-size: 12px;
    color: var(--fedelan-ink-soft);
}

/* K46: el aside ahora mide todo el alto de la fila para que el sticky de
   adentro corra. El gris va solo en la caja de adentro, si no la columna
   entera queda gris. */
@media (min-width: 1025px) {
    .fedelan-checkout-form .fedelan-checkout-layout > .fedelan-checkout-summary {
        background: transparent;
    }

    /* El resumen esta siempre abierto al costado: el acordeon no va. La
       regla base de mas arriba (all: unset, display: flex) le ganaba. */
    .fedelan-checkout-form .fedelan-checkout-summary__toggle {
        display: none;
    }
}

/* K47: hasta 1024 una sola columna con el resumen arriba, plegado, y el
   total a la vista en el boton. Antes entre 901 y 1024 el acordeon quedaba
   en la columna del costado. */
@media (max-width: 1024px) {
    .fedelan-checkout-form .fedelan-checkout-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .fedelan-checkout-form .fedelan-checkout-summary {
        order: -1;
    }

    .fedelan-checkout-form .fedelan-checkout-summary__inner {
        position: static;
    }

    .fedelan-checkout-form .fedelan-checkout-summary__toggle {
        display: flex;
        min-height: 48px;
    }

    .fedelan-checkout-form .fedelan-checkout-summary__toggle-label {
        font-size: 15px;
        font-weight: 700;
        color: var(--fedelan-ink);
    }

    .fedelan-checkout-form .fedelan-checkout-summary__toggle-total {
        font-size: 15px;
        font-weight: 700;
    }
}

/* Sobre el campo gris del resumen el gris de texto no llegaba a 4,5:1
   (4,43): ahi va el gris oscuro. */
.fedelan-checkout-summary .fedelan-checkout-summary__item-detail {
    color: var(--fedelan-ink-soft);
}

/* Pedido no encontrado: el encabezado va solo, sin la linea que lo separa
   de las secciones que no hay. */
.fedelan-ty__hero--solo {
    padding-bottom: 0;
    border-bottom: 0;
}


/* ==========================================================================
   DNI o CUIT y Notas del pedido (seccion Facturacion)
   El input y el textarea ya toman el estilo de los campos del checkout
   (theme.css, "Campos del checkout": linea de abajo, Archivo, radio cero).
   Aca solo lo que le falta al textarea: el borde de error y de valido, que
   las reglas de arriba escriben para input y select.
   ========================================================================== */

.fedelan-field.is-invalid .fedelan-field__input-wrap textarea {
    border-bottom-color: var(--fedelan-err);
}

.fedelan-field.is-valid .fedelan-field__input-wrap textarea {
    border-bottom-color: var(--fedelan-ok);
}

.fedelan-field--notas .fedelan-field__input-wrap textarea {
    min-height: 96px;
    line-height: 1.4;
}
