/* Cookie banner — GDPR / ePrivacy / Ν. 3471/2006 · Ν. 4624/2019 */
.cookie-banner h2 > [data-lang="el"],
.cookie-btn > [data-lang="el"],
.cookie-link > [data-lang="el"],
.cookie-banner a > [data-lang="el"],
.footer-cookie-btn > [data-lang="el"] { display: inline !important; }
body.lang-en .cookie-banner h2 > [data-lang="en"],
body.lang-en .cookie-btn > [data-lang="en"],
body.lang-en .cookie-link > [data-lang="en"],
body.lang-en .cookie-banner a > [data-lang="en"],
body.lang-en .footer-cookie-btn > [data-lang="en"] { display: inline !important; }
body.lang-en .cookie-banner p > [data-lang="en"],
body.lang-en .cookie-option [data-lang="en"] { display: block !important; }
.map-consent a > [data-lang="el"] { display: inline !important; }
body.lang-en .map-consent a > [data-lang="en"] { display: inline !important; }

.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2200;
    background: #fff;
    color: #1f1f1f;
    border-top: 4px solid #f8c0a0;
    box-shadow: 0 -8px 32px rgba(26, 79, 74, 0.12);
    padding: 1.25rem 0 1.5rem;
    max-height: 92vh;
    overflow-y: auto;
}

.cookie-banner-inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 1.25rem;
}

.cookie-banner h2 {
    font-family: 'Lora', Georgia, serif;
    color: #1a4f4a;
    font-size: 1.25rem;
    margin: 0 0 0.5rem;
}

.cookie-banner p {
    margin: 0 0 0.75rem;
    font-size: 0.95rem;
    line-height: 1.55;
}

.cookie-banner a {
    color: #1a4f4a;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 0.5rem;
}

.cookie-btn {
    min-height: 44px;
    min-width: 160px;
    padding: 10px 22px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    font-family: inherit;
    transition: 0.2s;
}

.cookie-btn-accept,
.cookie-btn-reject {
    flex: 1 1 160px;
    max-width: 280px;
}

.cookie-btn-accept {
    background: #1e6b63;
    color: #fff;
    border: 2px solid #1e6b63;
}

.cookie-btn-accept:hover {
    background: #1a4f4a;
    border-color: #1a4f4a;
    color: #fff;
}

.cookie-btn-reject {
    background: #fff;
    color: #1e6b63;
    border: 2px solid #1e6b63;
}

.cookie-btn-reject:hover {
    background: #eef8f6;
}

.cookie-btn-save {
    background: #1e6b63;
    color: #fff;
    border: 2px solid #1e6b63;
}

.cookie-link {
    background: none;
    border: none;
    padding: 8px 4px;
    min-height: 44px;
    color: #1a4f4a;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.95rem;
}
.cookie-btn:focus-visible,
.cookie-link:focus-visible,
.footer-cookie-btn:focus-visible,
.cookie-option input:focus-visible {
    outline: 3px solid #1a4f4a;
    outline-offset: 2px;
}

.cookie-settings {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

.cookie-option {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 0.85rem;
}

.cookie-option input {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-top: 3px;
    accent-color: #1e6b63;
}

.cookie-option strong { display: block; color: #1a4f4a; }
.cookie-option span { font-size: 0.85rem; color: #454545; }

.footer-cookie-btn {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    font: inherit;
    margin: 0 12px;
}

.map-consent {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 280px;
    padding: 1.5rem;
    background: #eef8f6;
    color: #1f1f1f;
}

.map-consent[hidden],
.cookie-banner[hidden],
.cookie-settings[hidden] { display: none !important; }

body.high-contrast .cookie-banner {
    background: #000 !important;
    color: #fff !important;
    border-top-color: #ffff00 !important;
}
body.high-contrast .cookie-banner h2,
body.high-contrast .cookie-option strong { color: #ffff00 !important; }
body.high-contrast .cookie-banner p,
body.high-contrast .cookie-option span { color: #fff !important; }
body.high-contrast .cookie-banner a,
body.high-contrast .cookie-link { color: #ffff00 !important; }
body.high-contrast .cookie-btn-accept,
body.high-contrast .cookie-btn-save {
    background: #ffff00 !important;
    color: #000 !important;
    border-color: #fff !important;
}
body.high-contrast .cookie-btn-reject {
    background: #000 !important;
    color: #ffff00 !important;
    border-color: #ffff00 !important;
}
body.high-contrast .cookie-settings { border-top-color: #fff !important; }
body.high-contrast .footer-cookie-btn { color: #ffff00 !important; }
body.high-contrast .map-consent {
    background: #000 !important;
    color: #fff !important;
    border: 1px solid #fff;
}
