@font-face {
    font-family: 'Atkinson Hyperlegible';
    src: url('/wp-content/plugins/wijkplaatmaker/assets/fonts/atkinsonhyperlegible-bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Styles for Wijkplaatmaker access/login screens */

.wijkplaatmaker-access-login,
.wijkplaatmaker-access-message {
    max-width: 36rem;
    padding: 2.5rem 2rem;
    margin: 4rem auto;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 45px rgba(42, 125, 123, 0.08);
    text-align: center;
}

.wijkplaatmaker-access-login h1,
.wijkplaatmaker-access-message h1 {
    margin-bottom: 1.5rem;
}

.wijkplaatmaker-access-message p {
    margin-bottom: 0;
}

.wijkplaatmaker-access-login form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
}

.wijkplaatmaker-access-login label {
    font-weight: 600;
    font-family: 'Rubik', sans-serif;
    color: #2A7D7B;
}

.wijkplaatmaker-access-login input[type="text"],
.wijkplaatmaker-access-login input[type="password"],
.wijkplaatmaker-access-login input[type="email"] {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid rgba(42, 125, 123, 0.3);
    border-radius: 8px;
    font-size: 1rem;
    font-family: 'Manrope', sans-serif;
}

.wijkplaatmaker-access-login .forgetmenot {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.wijkplaatmaker-access-login input[type="submit"] {
    align-self: flex-start;
    background-color: #2A7D7B;
    color: #ffffff;
    border: none;
    border-radius: 999px;
    padding: 0.75rem 1.75rem;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    margin-bottom: 2rem;
}

.wijkplaatmaker-access-login input[type="submit"]:hover {
    background-color: #1b504f;
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .wijkplaatmaker-access-login,
    .wijkplaatmaker-access-message {
        margin: 2rem 1rem;
        padding: 2rem 1.5rem;
    }

    .wijkplaatmaker-access-login form {
        gap: 0.75rem;
    }
}

/* Praatplaatmaker canvas accessibility overlays */
body.praatplaatmaker-overlay-active .praatplaatmaker-stage-host {
    position: relative;
}

body.praatplaatmaker-overlay-active .praatplaatmaker-stage-host [id$="AccessibilityHighlight"],
body.praatplaatmaker-overlay-active .praatplaatmaker-stage-host [id$="AccessibilityHighlightBorder"],
body.praatplaatmaker-overlay-active [id$="AccessibilityHighlight"],
body.praatplaatmaker-overlay-active [id$="AccessibilityHighlightBorder"] {
    position: absolute !important;
    top: 0;
    left: 0;
    margin: 0;
    pointer-events: none;
    z-index: 5;
}

body.praatplaatmaker-overlay-active .praatplaatmaker-stage-host [id$="PrefixTab"],
body.praatplaatmaker-overlay-active .praatplaatmaker-stage-host [id$="SuffixTab"],
body.praatplaatmaker-overlay-active .praatplaatmaker-stage-host [id*="accessibilityLabel"],
body.praatplaatmaker-overlay-active .praatplaatmaker-stage-host [id*="AccessibilityLabel"],
body.praatplaatmaker-overlay-active [id$="PrefixTab"],
body.praatplaatmaker-overlay-active [id$="SuffixTab"],
body.praatplaatmaker-overlay-active [id*="accessibilityLabel"],
body.praatplaatmaker-overlay-active [id*="AccessibilityLabel"],
body.praatplaatmaker-overlay-active .praatplaatmaker-live-region {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    pointer-events: none;
}
