/* ========================================================== 📱 MOBILE (≤768px) ========================================================== */
 @media (max-width: 768px) {
    /* 🌐 ROOT */
     .cls-custom-location-fields {
         padding: var(--cls-space-md);
         margin: 16px 0 24px;
         gap: var(--cls-space-md);
         border-radius: var(--cls-radius-lg);
    }
    /* ✍️ TYPOGRAPHY */
     .cls-custom-location-fields label {
         font-size: 13px;
    }
     .cls-custom-location-fields h4 {
         font-size: 16px;
    }
     .cls-custom-location-fields p, .cls-custom-location-fields .cls-small {
         font-size: 12px;
    }
    /* 🧊 CARDS */
     .cls-location-section, .cls-map-section, .cls-delivery-datetime, .cls-delivery-summary {
         padding: 16px;
         border-radius: var(--cls-radius-md);
    }
    /* 📝 INPUTS */
     .cls-custom-location-fields input[type="text"], .cls-custom-location-fields select {
         height: 54px;
         font-size: 15px;
    }
    /* 📍 ADDRESS */
     .cls-address-container {
         gap: 10px;
    }
    /* 📍 GPS BUTTON */
     #cls-detect-btn {
         width: 54px;
         height: 54px;
    }
    /* 🗺️ MAP */
     .cls-map-inline {
         height: 260px;
         border-radius: var(--cls-radius-md);
    }
    /* 🗺️ MODALS */
     .cls-map-modal, .cls-permission-modal {
         padding: 14px;
    }
     .cls-map-box {
         border-radius: 20px;
    }
     .cls-map-inner {
         height: 60vh;
         min-height: 320px;
    }
    /* 📍 PERMISSION */
     .cls-permission-box {
         padding: 22px;
         border-radius: 22px;
    }
     .cls-permission-actions {
         flex-direction: column;
    }
     .cls-btn-retry, .cls-btn-close {
         width: 100%;
    }
    /* 🧾 SUMMARY */
     .cls-summary-row {
         align-items: flex-start;
         gap: 8px;
         font-size: 14px;
    }
    /* 📏 DISTANCE */
     .cls-distance-label {
         padding: 14px 16px;
         font-size: 13px;
    }
    /* ⚠️ TOAST */
     #cls-service-warning {
         width: calc(100vw - 24px);
         bottom: 14px;
         padding: 14px 16px;
         border-radius: 18px;
    }
    /* 🔽 SELECT2 */
     .cls-custom-location-fields .select2-results__option {
         padding: var(--cls-select-option-padding-y-mobile) var(--cls-select-option-padding-x-mobile);
    }
     .cls-custom-location-fields .select2-search__field {
         height: var(--cls-select-search-height-mobile);
    }
}
/* ========================================================== 📱 TABLET (≤992px) ========================================================== */
 @media (max-width: 992px) {
     .cls-custom-location-fields {
         padding: 22px;
    }
     .cls-location-row, .cls-date-slot-row {
         grid-template-columns: 1fr;
    }
     .cls-map-inline {
         height: 300px;
    }
     .cls-map-inner {
         height: 65vh;
    }
}
/* ========================================================== 💻 LAPTOP (≤1200px) ========================================================== */
 @media (max-width: 1200px) {
     .cls-custom-location-fields {
         gap: var(--cls-space-lg);
    }
     .cls-map-inner {
         height: 68vh;
    }
}
/* ========================================================== 💻 LARGE LAPTOP (≤1400px) ========================================================== */
 @media (max-width: 1400px) {
     .cls-custom-location-fields {
         padding: 24px;
    }
}
/* ========================================================== 📱 SMALL MOBILE (≤576px) ========================================================== */
 @media (max-width: 576px) {
     .cls-custom-location-fields {
         padding: 16px;
    }
     .cls-custom-location-fields h4 {
         font-size: 17px;
    }
     .cls-address-container {
         align-items: stretch;
    }
     .cls-map-toggle-btn {
         width: 100%;
    }
     .cls-map-inline {
         height: 220px;
    }
     .cls-permission-box h3 {
         font-size: 20px;
    }
     .cls-summary-row {
         flex-direction: column;
         align-items: flex-start;
    }
     .cls-summary-total strong {
         font-size: 20px;
    }
}
/* ========================================================== 📱 EXTRA SMALL (≤420px) ========================================================== */
 @media (max-width: 420px) {
     .cls-custom-location-fields {
         padding: 14px;
    }
     .cls-location-section, .cls-map-section, .cls-delivery-datetime, .cks-delivery-summary {
         padding: 14px;
    }
     .cls-custom-location-fields input[type="text"], .cls-custom-location-fields select {
         padding: 0 14px;
    }
     .cls-map-inline {
         height: 200px;
    }
}
