/* ===========================================
   Overlay
=========================================== */

#ipdl-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:999999;
}

/* ===========================================
   Popup
=========================================== */

#ipdl-popup{
    width:100%;
    max-width:470px;
    background:#fff;
    border-radius:14px;
    padding:35px;
    box-sizing:border-box;
    animation:ipdlFade .25s ease;
}

/* ===========================================
   Heading
=========================================== */

#ipdl-popup h2{
    margin:0 0 10px;
    font-size:28px;
    text-align:center;
}

.ipdl-description{
    margin:0 0 30px;
    color:#666;
    text-align:center;
    line-height:1.6;
    font-size:15px;
}

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

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

.ipdl-field label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
}

.ipdl-field span{
    color:#dc3232;
}

.ipdl-field select{
    width:100%;
    height:48px;
    border:1px solid #ddd;
    border-radius:6px;
    padding:0 15px;
    background:#fff;
    font-size:15px;
    outline:none;
    transition:.2s;
}

.ipdl-field select:focus{
    border-color:#2271b1;
}

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

#ipdl-save-location{
    width:100%;
    height:50px;
    border:none;
    border-radius:6px;
    background:#2271b1;
    color:#fff;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.2s;
}

#ipdl-save-location:hover{
    background:#135e96;
}

/* ===========================================
   Header / Mobile Location
=========================================== */

.ipdl-location{
    line-height:1.2;
}

.ipdl-location .ipdl-change-location{
    display:flex;
    flex-direction:column;
    text-decoration:none;
    color:inherit;
    cursor:pointer;
}

.ipdl-location .ipdl-small{
    font-size:18px;
    color:#777;
    line-height:1;
}

.ipdl-location .ipdl-large{
    font-size:13px;
    font-weight:600;
    line-height:1.3;
    white-space:nowrap;
}

/* ===========================================
   Animation
=========================================== */

@keyframes ipdlFade{

    from{
        opacity:0;
        transform:translateY(25px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.ipdl-change-warning{
    margin:0 0 20px;
    padding:12px 15px;
    background:#fff8e5;
    border:1px solid #f5d66b;
    border-radius:6px;
    color:#8a6d3b;
    font-size:14px;
    line-height:1.5;
}

/* Desktop */
.elementor-element-8b2852d{
    display:block;
}

/* ===========================================
   Mobile
=========================================== */


/* Tablet & Mobile */

@media (max-width:1024px){

    .elementor-element-8b2852d{
        display:none !important;
    }

}
@media (max-width:480px){

    #ipdl-popup{
        padding:25px;
    }

    #ipdl-popup h2{
        font-size:24px;
    }

    .ipdl-location .ipdl-large{
        white-space:normal;
    }

}


/* ===========================================
   Prevent scrolling
=========================================== */

body.ipdl-open{
    overflow:hidden;
}


.ipdl-mobile-location{

    list-style:none;
    padding:15px 20px;
    border-bottom:1px solid #ececec;

}

.ipdl-mobile-location .ipdl-change-location{

    display:flex;
    flex-direction:column;

}

.ipdl-mobile-location .ipdl-small{

    font-size:18px;
    color:#888;

}

.ipdl-mobile-location .ipdl-large{

    font-size:15px;
    font-weight:600;

}

/* Busy state while the new location's shop loads */
#ipdl-save-location[disabled]{
    opacity:.85;
    cursor:wait;
}

/* City pages: [ipdl_products province="" city=""] for another location */
.ipdl-city-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin: 0 0 20px;
    padding: 12px 16px;
    border: 1px solid #f0d9c8;
    border-radius: 10px;
    background: #fff8f2;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}

.ipdl-city-notice .ipdl-deliver-here {
    flex: 0 0 auto;
    padding: 8px 16px;
    border: 0;
    border-radius: 6px;
    background: #222;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
}

.ipdl-city-notice .ipdl-deliver-here:hover {
    background: #000;
}

@media (max-width: 600px) {
    .ipdl-city-notice .ipdl-deliver-here {
        width: 100%;
    }
}
