/* Modal layout only; typography, headings, links and buttons use WordPress styles. */
.paca-modal[hidden] { display: none !important; }
.paca-modal.is-open {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: fixed;
    inset: 0;
    z-index: 100000;
    padding: clamp(12px, 4vh, 40px) 12px;
    overflow-y: auto;
    background: rgb(0 0 0 / 70%);
    box-sizing: border-box;
}
.paca-modal-content {
    box-sizing: border-box;
    background: var(--wp--preset--color--base, Canvas);
    color: var(--wp--preset--color--contrast, CanvasText);
    font: inherit;
    width: 100%;
    max-width: 680px;
    margin: auto 0;
    padding: var(--wp--preset--spacing--small, 24px);
    border-radius: var(--wp--custom--border--radius, 8px);
    overflow-wrap: anywhere;
}
.paca-modal-header { display: flex; align-items: flex-start; gap: 16px; justify-content: space-between; margin-bottom: 24px; }
.paca-modal-header > :is(h2, h3) { margin-block: 0; }
.paca-modal .paca-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-sizing: border-box;
    min-width: 52px;
    min-height: 52px;
    padding: 4px 12px;
    font-size: 36px;
    line-height: 1;
}
.paca-modal :is(input, select, textarea, button) { font-family: inherit; font-size: inherit; }
.paca-modal :is(input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="hidden"]), select, textarea) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 0.65em;
    background: var(--wp--preset--color--base, Canvas);
    color: inherit;
    border: 1px solid currentColor;
    border-radius: var(--wp--custom--border--radius, 4px);
}
.paca-modal input[type="submit"] { width: auto; max-width: 100%; white-space: normal; min-height: 44px; }
.paca-modal fieldset { min-width: 0; padding: 0; border: 0; margin: 1.5em 0; }
.paca-modal legend { font: inherit; font-weight: 600; margin-bottom: 0.5em; }
.paca-modal .wpcf7-list-item { margin: 0 1em 0.5em 0; }
.paca-modal .wpcf7-list-item label { display: inline-flex; align-items: baseline; gap: 0.5em; min-height: 44px; cursor: pointer; }
.paca-modal input:is([type="radio"], [type="checkbox"]) { flex-shrink: 0; width: 1.2em; height: 1.2em; accent-color: var(--wp--preset--color--primary, auto); }
.paca-modal :is(button, input, select, textarea, a):focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.paca-modal [role="dialog"]:focus-visible { outline: 3px solid var(--wp--preset--color--contrast, CanvasText); outline-offset: -6px; }
/* Keep validation feedback above its control, including radio/checkbox groups. */
.paca-modal .wpcf7-form-control-wrap {
    display: inline-flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
}
.paca-modal .wpcf7-not-valid-tip {
    order: -1;
    display: block;
    position: static;
    color: inherit;
    font-weight: 700;
    margin: 0 0 0.4em;
    padding: 0;
    background: transparent;
    border: 0;
}
.paca-modal :is(input, select, textarea):is(.wpcf7-not-valid, [aria-invalid="true"]) {
    border: 2px solid #e6b800;
}
.paca-modal :is(.wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance):is(.wpcf7-not-valid, [aria-invalid="true"]) {
    outline: 2px solid #e6b800;
    outline-offset: 3px;
    border-radius: 4px;
}
.paca-modal input:is([type="radio"], [type="checkbox"])[aria-invalid="true"] {
    outline: 2px solid #e6b800;
    outline-offset: 2px;
}
@media print { .paca-modal { display: none !important; } }
