/**
 * Стили для страницы оформления заказа
 * Совместимость с темами: Storefront, Astra, Divi, OceanWP, Flatsome, Kadence
 */

/* Блок информации о доставке - универсальные стили */
#ymdz-delivery-info,
.ymdz-delivery-info,
.woocommerce #ymdz-delivery-info,
.woocommerce-page #ymdz-delivery-info,
body.woocommerce-checkout #ymdz-delivery-info {
    margin: 15px 0 !important;
    padding: 15px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    background-color: #f8f8f8 !important;
    display: block !important;
    clear: both !important;
}

/* Для тем с кастомной структурой */
.woocommerce-checkout .ymdz-delivery-info,
.checkout .ymdz-delivery-info,
form.checkout .ymdz-delivery-info {
    margin: 15px 0 !important;
    padding: 15px !important;
}


/* Параграфы внутри блока - с высокой специфичностью */
.ymdz-delivery-info p,
#ymdz-delivery-info p,
.woocommerce .ymdz-delivery-info p,
.woocommerce-page .ymdz-delivery-info p {
    margin: 5px 0 !important;
    line-height: 1.6 !important;
}

.ymdz-delivery-info p.loading,
#ymdz-delivery-info .loading {
    color: #777 !important;
    font-style: italic !important;
}

.ymdz-delivery-info p.error,
#ymdz-delivery-info .error {
    color: #b81c23 !important;
    font-weight: 600 !important;
}

.ymdz-delivery-info p.success,
#ymdz-delivery-info .success {
    color: #0f834d !important;
    font-weight: 600 !important;
}

.ymdz-delivery-info p.free-delivery,
#ymdz-delivery-info .free-delivery {
    color: #0f834d !important;
    font-weight: bold !important;
    font-size: 1.1em !important;
}

/* Блок информации о доставке в корзине */
.ymdz-delivery-info-box {
    margin: 15px 0;
    padding: 10px 15px;
    background-color: #f8f8f8;
    border-left: 3px solid #0f834d;
}

.ymdz-delivery-info-box h4 {
    margin-top: 0;
    color: #333;
}

/* Информация о зоне доставки в админке */
.ymdz-order-zone-info {
    margin: 10px 0;
    padding: 10px;
    background-color: #f8f8f8;
    border-left: 3px solid #0073aa;
}

.ymdz-order-zone-info h4 {
    margin-top: 0;
    color: #0073aa;
}

/* Добавьте эти стили в конец файла */

#ymdz-delivery-info {
    margin: 15px 0;
}

#ymdz-delivery-info .ymdz-delivery-info {
    padding: 15px;
    background-color: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    display: none;
}

#ymdz-delivery-info .success {
    color: #0f834d;
    margin: 0 0 10px;
}

#ymdz-delivery-info .free-delivery {
    color: #0f834d;
    font-weight: bold;
    margin: 0;
}

#ymdz-delivery-info .loading {
    color: #666;
    font-style: italic;
    margin: 0;
}

#ymdz-delivery-info .error {
    color: #e2401c;
    margin: 0;
}

/* Переопределение стилей тем */
.woocommerce .ymdz-delivery-info,
.woocommerce-page .ymdz-delivery-info {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Divi theme compatibility */
.et_pb_section .ymdz-delivery-info {
    margin: 15px 0 !important;
}

/* Astra theme compatibility */
.ast-container .ymdz-delivery-info {
    margin: 15px 0 !important;
}

/* Flatsome theme compatibility */
.cart-container .ymdz-delivery-info,
.checkout-page .ymdz-delivery-info {
    margin: 15px 0 !important;
}

/* Адаптивность для мобильных устройств */
@media screen and (max-width: 768px) {
    .ymdz-delivery-info,
    #ymdz-delivery-info,
    .woocommerce .ymdz-delivery-info {
        padding: 10px !important;
        margin: 10px 0 !important;
    }
    
    .ymdz-delivery-info p,
    #ymdz-delivery-info p {
        font-size: 13px !important;
    }
}

@media screen and (max-width: 480px) {
    .ymdz-delivery-info,
    #ymdz-delivery-info {
        padding: 8px !important;
        font-size: 12px !important;
    }
}

/* Стили для карты доставки */
.ymdz-delivery-map-wrapper {
    margin: 20px 0;
}

#ymdz-toggle-map {
    display: inline-block;
    padding: 10px 20px;
    margin-bottom: 15px;
    background-color: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s;
}

#ymdz-toggle-map:hover {
    background-color: #005177;
}

#ymdz-frontend-map {
    width: 100%;
    height: 400px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 15px;
    display: none;
}

#ymdz-map-info {
    padding: 15px;
    background-color: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}

.ymdz-route-info {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
}

.ymdz-route-distance,
.ymdz-route-duration {
    flex: 1;
    min-width: 150px;
}

/* Информация о складе */
.ymdz-warehouse-info {
    margin: 15px 0;
    padding: 15px;
    background-color: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}

.ymdz-warehouse-info h4 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #333;
    font-size: 16px;
}

.ymdz-warehouse-info p {
    margin: 8px 0;
    line-height: 1.6;
}

.ymdz-warehouse-name {
    color: #0073aa;
    font-weight: 600;
}

.ymdz-delivery-cost {
    font-size: 16px;
    font-weight: 600;
    color: #0f834d;
}

.ymdz-info-icon {
    display: inline-block;
    margin-right: 5px;
}

/* Адаптивность для карты */
@media screen and (max-width: 768px) {
    #ymdz-frontend-map {
        height: 300px;
    }
    
    .ymdz-route-info {
        flex-direction: column;
    }
}

@media screen and (max-width: 480px) {
    #ymdz-frontend-map {
        height: 250px;
    }
    
    #ymdz-toggle-map {
        padding: 8px 15px;
        font-size: 13px;
    }
} 