/* Happyonline consent banner — groupolympia.com
   Uses the theme tokens (--primary green, --secondary navy) and the Typekit
   families, so it reads as part of the site and not as a bolted-on plugin.
   No text-transform on labels: Greek uppercase must be written unaccented in
   the source instead. */

.og-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: #fff;
    border-top: 3px solid var(--primary, #267a5e);
    box-shadow: 0 -6px 30px rgba(4, 37, 62, .14);
    font-family: "aktiv-grotesk-extended", Arial, sans-serif;
    color: #58595b;
}

.og-consent-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 26px 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "main actions" "prefs actions";
    column-gap: 40px;
    align-items: start;
}

.og-consent-main    { grid-area: main; }
.og-consent-prefs   { grid-area: prefs; }
.og-consent-actions { grid-area: actions; }

.og-consent-title {
    font-family: "alfabet", Georgia, serif;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -.3px;
    color: var(--secondary, #04253e);
    margin: 0 0 8px;
}

.og-consent-text {
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
    max-width: 78ch;
}

.og-consent-link {
    color: var(--primary, #267a5e);
    text-decoration: underline;
    white-space: nowrap;
}

/* preferences */
.og-consent-prefs {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e5efec;
    max-width: 420px;
}

.og-consent-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    font-size: 14px;
    cursor: pointer;
}

.og-consent-row.is-locked { cursor: default; }

.og-consent-row-label {
    color: var(--secondary, #04253e);
    font-weight: 600;
}

.og-consent-row-state { font-size: 13px; color: #8a8b8d; }

.og-consent-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary, #267a5e);
    margin: 0;
    flex: 0 0 auto;
    cursor: pointer;
}

/* actions — accept and reject deliberately identical in size and prominence:
   a visually weaker reject button is a dark pattern and fails the GDPR test. */
.og-consent-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 220px;
}

.og-consent-btn {
    font-family: inherit;
    font-size: 13px;
    letter-spacing: .4px;
    line-height: 1;
    padding: 15px 22px;
    border: 1px solid transparent;
    border-radius: 2px;
    cursor: pointer;
    transition: opacity .2s ease, background .2s ease, color .2s ease;
    white-space: nowrap;
}

.og-consent-btn:hover  { opacity: .85; }
.og-consent-btn:focus-visible {
    outline: 2px solid var(--primary, #267a5e);
    outline-offset: 2px;
}

.og-consent-btn-accept {
    background: var(--primary, #267a5e);
    color: #fff;
}

.og-consent-btn-reject {
    background: var(--secondary, #04253e);
    color: #fff;
}

.og-consent-btn-ghost {
    background: transparent;
    color: var(--secondary, #04253e);
    border-color: #c9d3da;
}

/* mobile */
@media (max-width: 900px) {
    .og-consent-inner {
        grid-template-columns: 1fr;
        grid-template-areas: "main" "prefs" "actions";
        padding: 20px 18px 22px;
        row-gap: 4px;
    }
    .og-consent-actions { margin-top: 16px; min-width: 0; }
    .og-consent-prefs   { max-width: none; }
    .og-consent-title   { font-size: 18px; }
    .og-consent-text    { font-size: 13.5px; }
}

@media (max-width: 480px) {
    .og-consent-btn { padding: 14px 18px; width: 100%; }
}

/* keep the fixed bar from covering the footer's last line while it is open */
body.og-consent-open { padding-bottom: 0; }

/* The footer separator is a hack in style.css: only li:nth-child(2) gets a disc
   marker, which worked while there were exactly two links. Extend it to every
   item after the first, so the cookie-settings link we add gets one too. */
.copyrights ul li:nth-child(n+2) { list-style: disc; }

/* Google's reCAPTCHA badge (contact / our-people) is fixed bottom-right at
   z-index 2000000000, so it floats over this bar. Lift it while the bar is open. */
body.og-consent-open .grecaptcha-badge {
    bottom: calc(var(--og-consent-h, 140px) + 12px) !important;
}
