html.adaglio-contact-open { overflow: hidden; }
#adaglio-contact-popup:not([open]) { display: none; }
#adaglio-contact-popup {
    box-sizing: border-box;
    width: min(680px, calc(100% - 32px));
    max-width: none;
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #333;
    overflow: auto;
    overscroll-behavior: contain;
    box-shadow: 0 20px 70px #0005;
    letter-spacing: 0;
}
#adaglio-contact-popup::backdrop { background: #0009; }
#adaglio-contact-popup .adaglio-contact-heading {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 24px;
    background: #fff;
    border-bottom: 1px solid #ddd;
}
#adaglio-contact-title { margin: 0; color: #257525; font-size: 24px; line-height: 1.3; }
#adaglio-contact-popup .adaglio-contact-close {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #333;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
#adaglio-contact-popup .adaglio-contact-body { padding: 24px; }
#adaglio-contact-popup .form-group { display: flex; gap: 16px; }
#adaglio-contact-popup .form-group > p { flex: 1; min-width: 0; }
#adaglio-contact-popup input:not([type="checkbox"]):not([type="radio"]),
#adaglio-contact-popup select,
#adaglio-contact-popup textarea { width: 100%; box-sizing: border-box; }
#adaglio-contact-popup textarea { min-height: 100px; height: 110px; resize: vertical; }
#adaglio-contact-popup input[type="submit"] { background: #257525; color: #fff; white-space: normal; }
#adaglio-contact-popup p:has(input[type="submit"]) { position: relative; }
#adaglio-contact-popup .wpcf7-spinner { position: absolute; left: auto; right: 12px; top: 50%; margin: 0; transform: translateY(-50%); }
#adaglio-contact-popup :focus-visible { outline: 2px solid #257525; outline-offset: 3px; }
@media (max-width: 480px) {
    #adaglio-contact-popup .adaglio-contact-heading { padding: 12px 16px; }
    #adaglio-contact-popup .adaglio-contact-body { padding: 16px; }
    #adaglio-contact-title { font-size: 21px; }
    #adaglio-contact-popup .form-group { display: block; }
    #adaglio-contact-popup .form-group > p { margin-bottom: 12px; }
}
