/* Delivery Date Manager - Checkout Styles */

/* Animacje dla pól wielorodzinnych */
.ddm-multibuilding-field {
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    max-height: 200px;
    margin-bottom: 20px;
    transform: translateY(0);
}

.ddm-multibuilding-field.ddm-hiding {
    opacity: 0;
    max-height: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    transform: translateY(-10px);
}

/* Animacja wejścia z efektem bounce */
@keyframes slideInBounce {
    0% {
        opacity: 0;
        max-height: 0;
        margin-bottom: 0;
        transform: translateY(-15px) scale(0.95);
    }
    60% {
        opacity: 0.8;
        max-height: 180px;
        margin-bottom: 18px;
        transform: translateY(2px) scale(1.02);
    }
    100% {
        opacity: 1;
        max-height: 200px;
        margin-bottom: 20px;
        transform: translateY(0) scale(1);
    }
}

/* Animacja wyjścia z efektem fade */
@keyframes slideOutFade {
    0% {
        opacity: 1;
        max-height: 200px;
        margin-bottom: 20px;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        max-height: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        transform: translateY(-10px) scale(0.98);
    }
}

.ddm-animate-in {
    animation: slideInBounce 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.ddm-animate-out {
    animation: slideOutFade 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.ddm-hidden-field {
    display: none !important;
}

/* Styling for multibuilding checkbox field */
p#billing_is_multibuilding_field {
    width: 90% !important;
}

input#billing_is_multibuilding {
    width: auto !important;
}

.ddm-entrance-code-field.ddm-show {
    display: block !important;
}

/* Address field labels fix */
#billing_address_2_field label,
#shipping_address_2_field label,
#billing_apartment_field label {
    position: static !important;
    clip: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    display: block !important;
    font-size: inherit !important;
    color: inherit !important;
}

/* Remove screen-reader-text class from address field labels */
#billing_address_2_field label.screen-reader-text,
#shipping_address_2_field label.screen-reader-text,
#billing_apartment_field label.screen-reader-text {
    position: static !important;
    clip: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* Hide optional text labels */
.woocommerce .optional,
.woocommerce-checkout .optional,
.form-row .optional,
.form-field .optional,
span.optional,
em.optional {
    display: none !important;
}

/* Postal code validation styles */
.form-row.not-validated input, 
input.not-validated {
    border-color: #e74c3c !important;
    box-shadow: 0 0 3px rgba(231, 76, 60, 0.3) !important;
}

.form-row.validated input, 
input.validated {
    border-color: #0a6b0d !important;
    box-shadow: 0 0 3px rgba(10, 107, 13, 0.3) !important;
}