.fixedshipping-section { margin-bottom: 2.5rem; }
.fixedshipping-section h3 { margin-bottom: 0.25rem; }

.fixedshipping-selector .address-footer { display: none; }
.fixedshipping-form .add-address:not(.fixedshipping-add-billing) { display: none; }

.fixedshipping-selector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.fixedshipping-selector .address-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 49%;
    flex: 0 0 49%;
    margin-bottom: 0.625rem;
    background: #f6f6f6;
    border: 3px solid transparent;
}
/*
 * Checkout: solo móvil (<768px) en una columna; desde tablet el Classic mantiene dos (~49%).
 */
@media (max-width: 767.98px) {
    body#checkout .fixedshipping-form .fixedshipping-selector .address-item {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}
/* Preferencias en "Mis direcciones": tarjetas alineadas a la izquierda, sin repartir el espacio. */
.fixedshipping-pref-form .fixedshipping-selector {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0.75rem;
    row-gap: 0.625rem;
}
/* Ancho máximo por tarjeta (no afecta al checkout). */
.fixedshipping-pref-form .fixedshipping-selector .address-item {
    max-width: 300px;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 300px;
    flex: 0 1 300px;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
/* Mis direcciones: hover; fondo blanco al marcar el radio; borde azul solo si es la preferencia guardada (.selected) y el radio sigue marcado. */
.fixedshipping-pref-form .fixedshipping-selector .address-item:hover {
    background: #ececec;
    border-color: rgba(0, 42, 90, 0.18);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.fixedshipping-pref-form .fixedshipping-selector .address-item:has(input:checked) {
    background: #fff;
}
.fixedshipping-pref-form .fixedshipping-selector .address-item:has(input:checked):hover {
    background: #fff;
    border-color: rgba(0, 42, 90, 0.22);
}
.fixedshipping-pref-form .fixedshipping-selector .address-item.selected:not(:has(input:checked)) {
    background: #f6f6f6;
    border: 3px solid transparent;
    box-shadow: none;
}
.fixedshipping-pref-form .fixedshipping-selector .address-item.selected:has(input:checked) {
    border: 3px solid var(--flamasats-primary, #24b9d7);
    box-shadow: none;
}
.fixedshipping-pref-form .fixedshipping-selector .address-item.selected:has(input:checked):hover {
    border-color: var(--flamasats-primary, #24b9d7);
    box-shadow: 0 2px 8px rgba(0, 42, 90, 0.12);
}
.fixedshipping-selector .address-item > header { min-height: 11.7rem; }
.fixedshipping-selector .address-item.selected {
    background: #fff;
    border: 3px solid var(--flamasats-primary, #24b9d7);
}
.fixedshipping-selector .radio-block {
    padding: 0.9375rem;
    text-align: left;
    cursor: pointer;
    margin: 0;
}
.fixedshipping-selector .address-alias { display: inline-block; }
.fixedshipping-selector .address-item .address {
    margin-left: 1.563rem;
    margin-bottom: 0;
    font-weight: 500;
    font-size: 0.875rem;
    color: #232323;
    background: transparent;
}
.fixedshipping-add-billing { margin-top: 0.75rem; }
.fixedshipping-add-billing a { font-size: 0.875rem; color: #232323; text-decoration: none; }
.fixedshipping-add-billing a:hover { text-decoration: underline; }
.fixedshipping-add-billing .material-icons { font-size: 1rem; margin-right: 0.25rem; }
