/* /aanmelden — supplementary styles on top of the WordPress (Twenty Sixteen + coloclue
   child theme) stylesheets that are loaded from coloclue.net in the page <head>.
   WP handles typography, header, nav, footer, base form-control look. We layer the
   form-row grid, success/error banners, and a few small overrides here. */

/* Self-host the WP theme fonts. WP serves the woff2 files from coloclue.net without
   CORS headers, so cross-origin font loading silently falls back to system fonts. By
   shipping the latin subset locally we get the same Montserrat / Merriweather that
   coloclue.net renders. */
@font-face {
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/merriweather-latin-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/merriweather-latin-700.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/montserrat-latin-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/montserrat-latin-700.woff2') format('woff2');
}

/* WP injects this inline on the live site to hide the textual site-title/description
   when a custom logo is present. Replicate so the markup matches WP exactly even though
   we currently omit the elements. */
.site-branding {
    margin: 0 auto 0 0;
}
.site-branding .site-title,
.site-description {
    clip-path: inset(50%);
    position: absolute;
}

/* wpglobus language-switcher flag icons — same PNGs the live site uses. The flag
   span wraps the language label, so position the bg-image at the left and pad the
   text over to the right of it. */
.wpglobus_flag {
    background-repeat: no-repeat;
    background-position: 0 50%;
    background-size: 16px 11px;
    padding-left: 22px;
}
.wpglobus_flag_nl { background-image: url(https://coloclue.net/wp-content/plugins/wpglobus/flags/nl.png); }
.wpglobus_flag_en { background-image: url(https://coloclue.net/wp-content/plugins/wpglobus/flags/us.png); }

/* Multi-column form rows */
.aanmeld-form .form-group {
    display: flex;
    gap: 1em;
    margin-bottom: 1.5em;
    align-items: flex-end;
}

.aanmeld-form .form-field {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

/* Twenty Sixteen styles labels in Montserrat uppercase via .post-password-form label —
   we mirror that look for our form labels. */
.aanmeld-form .form-field label {
    color: #686868;
    display: block;
    font-family: Montserrat, "Helvetica Neue", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.076923077em;
    line-height: 1.6;
    margin-bottom: 0.4em;
    text-transform: uppercase;
}

/* Twenty Sixteen styles inputs + textarea but leaves <select> at browser defaults.
   Mirror the input look so the country dropdown matches. */
.aanmeld-form select {
    background: #f7f7f7;
    background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    border: 1px solid #d1d1d1;
    border-radius: 2px;
    color: #686868;
    padding: 0.625em 0.4375em;
    width: 100%;
    font-family: inherit;
    font-size: inherit;
    line-height: 1.5;
    height: auto;
    -webkit-appearance: menulist;
       -moz-appearance: menulist;
            appearance: menulist;
}

.aanmeld-form select:focus {
    background-color: #fff;
    border-color: #007acc;
    color: #1a1a1a;
    outline: 0;
}

.aanmeld-form .field-help {
    color: #999;
    font-size: 12px;
    margin-top: 0.4em;
    line-height: 1.5;
    font-style: italic;
}

.aanmeld-form .field-feedback {
    font-size: 13px;
    margin-top: 0.3em;
    color: #686868;
}

.aanmeld-form .feedback-error {
    color: #b00423;
}

.aanmeld-form .field-error {
    border-color: #b00423 !important;
    background: #fff8f8 !important;
}

/* Required asterisk — coloclue child theme convention */
.aanmeld-form .required {
    color: #b00423;
    font-weight: normal;
    margin-left: 0.15em;
}

/* Name row: voornaam + tussenvoegsel + achternaam */
.aanmeld-form .form-field-grow {
    flex: 2;
}

.aanmeld-form .form-field-infix {
    flex: 0 0 170px;
}

/* Postcode + city row */
.aanmeld-form .form-field-postcode {
    flex: 0 0 140px;
}

/* Membership note — soft callout above the submit button */
.aanmeld-form .membership-note {
    font-size: 14px;
    color: #686868;
    background: #f7f7f7;
    border-left: 3px solid #007acc;
    padding: 0.75em 1em;
    margin: 1em 0 1.75em;
    line-height: 1.6;
    font-style: italic;
}

.aanmeld-form .form-submit {
    margin-top: 0.5em;
    display: block;
}

/* Error / success banners — match WP color palette */
.error-message-div {
    padding: 0.85em 1em;
    background: #fff3f3;
    border: 1px solid #b00423;
    border-left: 4px solid #b00423;
    color: #b00423;
    border-radius: 2px;
    margin-bottom: 1.75em;
    font-size: 15px;
}

.success-message-div {
    padding: 1.05em 1.25em;
    background: #f1f8f1;
    border: 1px solid #4caf50;
    border-left: 4px solid #4caf50;
    color: #2e7d32;
    border-radius: 2px;
    font-size: 16px;
    line-height: 1.6;
}

/* Language switcher: rendered as the last menu item in the WP nav. Twenty Sixteen
   styles primary-menu items in Montserrat uppercase already; just give it visual
   distance from the regular menu. */
.aanmeld-lang-item {
    margin-left: auto !important;
}

.aanmeld-lang-item > a {
    font-style: italic;
}

/* Responsive: stack name / postcode rows on narrow screens. */
@media (max-width: 600px) {
    .aanmeld-form .form-group {
        flex-direction: column;
        gap: 0.75em;
        align-items: stretch;
    }

    .aanmeld-form .form-field-infix,
    .aanmeld-form .form-field-postcode {
        flex: 1;
    }
}
