
/* ===== PHONE FLOAT BUTTON ===== */
.contact-toggle {
    position:fixed;
    bottom:1.875em;
    right:1.875em;
    width:4em;
    height:4em;
    border-radius:50%;
    background:#135266;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 0.75em 1.875em rgba(52,123,237,0.4);
    z-index:1001;
    transition:0.2s ease;
}
.contact-toggle:hover { transform:scale(1.05); }

.contact-toggle svg {
    width:1.75em;
    height:1.75em;
    fill:#fff;
}

/* ===== OVERLAY ===== */
.overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.5);
    backdrop-filter:blur(0.25em);
    opacity:0;
    visibility:hidden;
    transition:0.3s ease;
    z-index:1000;
}
.overlay.active {
    opacity:1;
    visibility:visible;
}

/* ===== MODAL ===== */
.modal {
    display: flex;
    flex-direction: column;
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) scale(0.9);
    width:90%;
    max-width:26.25em;
    background:#fff;
    border-radius:1.25em;
    padding:1.5em;
    box-shadow:0 1.875em 5em rgba(0,0,0,0.2);
    opacity:0;
    visibility:hidden;
    transition:0.25s ease;
    z-index:1003;
}
.modal.active {
    opacity:1;
    visibility:visible;
    transform:translate(-50%,-50%) scale(1);
}

.modal h2 { 
    margin-bottom: 1em; 
    text-align: center;
}
.modal .phone { font-size:1.375em; font-weight:600; margin-bottom:0.9375em; }
.modal p { margin-bottom:0.625em; line-height:1.5; }

#modalClose {
    align-self: end;
}