﻿@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&display=swap');

:root {
    --color-white: #ffffff;
    --color-text: #005c4c;
    --color-page-bg: #c4c229;
    --color-yellow: #ffd23b;
    --color-lime: #c4c229;
    --color-lime-dark: #a8b82c;
    --color-olive: #9fb015;
    --color-green-deep: #005c4c;
    --color-green-primary: #009884;
    --content-width: 1500px;
    --transition-base: 180ms ease;
    --color-black: #000000;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    color: var(--color-text);
    background: var(--color-white);
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

img {
    display: block;
    max-width: 100%;
}

a {
    transition: opacity var(--transition-base);
}

a:hover {
    opacity: 0.85;
}

.content-shell {
    width: min(calc(100% - 32px), var(--content-width));
    margin: 0 auto;
}

.egyesulet-page {
    position: relative;
    overflow: hidden;
    background: var(--color-lime);
}

.egyesulet-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/images/shape_bg_zold.svg") center center / cover no-repeat;
}

.egyesulet-page > * {
    position: relative;
    z-index: 1;
}

.item {
    padding: 0 16px;
}

.item:first-of-type {
    padding-top: 76px;
}

.item--image-left {
    padding-bottom: 76px;
}

.item-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: min(100%, 1014px);
    margin: 0 auto;
    align-items: stretch;
}

.item-card {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 362px;
    padding: 58px 48px 46px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--color-green-primary);
    color: var(--color-white);
    text-align: center;
}

.item-card--secondary {
    background: var(--color-green-primary);
}

.item-card__label {
    display: inline-block;
    margin: 0 0 16px;
    padding: 2px 8px 4px;
    background: var(--color-black);
    color: var(--color-white);
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1;
}

.item-card h2 {
    max-width: 430px;
    margin: 0;
    color: var(--color-white);
    font-size: clamp(1.8rem, 3vw, 2.05rem);
    font-weight: 900;
    line-height: 1.12;
    text-transform: uppercase;
}

.item-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 38px;
    margin-top: 24px;
    padding: 8px 24px;
    border-radius: 999px;
    background: var(--color-yellow);
    color: var(--color-green-deep);
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.item-picture {
    min-height: 362px;
    margin: 0;
}

.item-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item--image-left .item-card {
    grid-column: 2;
}

.item--image-left .item-picture {
    grid-column: 1;
    grid-row: 1;
}

.newsletter-band-shell {
    position: relative;
    overflow: hidden;
    background: var(--color-lime-dark);
}

.newsletter-band-top {
    height: 100px;
    background: var(--color-lime-dark);
    clip-path: polygon(0 100%, 48% 0, 100% 92%, 100% 100%);
}

.newsletter-band {
    position: relative;
    overflow: hidden;
    margin-top: 0;
    padding: 150px 16px 132px;
    background: url("/images/BG_feliratokozas.jpg") center center / cover no-repeat;
    clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
}


.newsletter-card {
    position: relative;
    z-index: 2;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.newsletter-card__eyebrow {
    margin: 0 0 24px;
    color: var(--color-green-deep);
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.newsletter-card h2 {
    margin: 0 auto 26px;
    color: var(--color-white);
    font-size: clamp(2rem, 3.1vw, 2.55rem);
    font-weight: 900;
    line-height: 1.08;
    text-transform: none;
}

.formdiv {
    position: relative;
    isolation: isolate;
    width: min(100%, 840px);
    min-height: 390px;
    margin: 0 auto;
    padding: 76px 92px 70px;
}

.formdiv::before {
    content: "";
    position: absolute;
    inset: 18px 40px -8px 80px;
    z-index: -1;
    background: var(--color-green-deep);
    clip-path: polygon(0 0, 100% 4%, 78% 100%, 8% 94%);
}

.formdiv::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--color-yellow);
    clip-path: polygon(0 10%, 39% 0, 100% 16%, 84% 88%, 18% 100%);
}

.footer {
    margin: 0;
    background: var(--color-green-primary) url("/images/lablec_bg_kep.jpg") center center / cover no-repeat;
    color: var(--color-white);
    font-size: 1.05rem;
}

.footer a {
    color: var(--color-white);
    text-decoration: none;
}

.footer__inner {
    width: min(calc(100% - 32px), 1000px);
    margin: 0 auto;
    padding: 44px 0 48px;
}

.footer__social {
    text-align: center;
}

.footer__social p {
    margin: 0 0 18px;
    font-size: 1.16rem;
    font-weight: 900;
    line-height: 1.2;
}

.footer__social-links {
    display: flex;
    justify-content: center;
    gap: 16px;
}

.footer__social-links a {
    display: inline-flex;
    width: 40px;
    height: 40px;
}

.footer__columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1.15fr;
    gap: 58px;
    margin-top: 52px;
}

.footer__column h2 {
    margin: 0 0 14px;
    color: var(--color-white);
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.2;
}

.footer__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.footer__nav a {
    font-weight: 900;
}

.footer__logo {
    width: 206px;
    margin-top: 36px;
}

.footer__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer__list li::before {
    content: "▶";
    font-size: 0.85em;
    margin:0 7px 0 0;
}

.footer__contact {
    font-style: normal;
    line-height: 1.25;
}

.footer__contact p {
    margin: 0 0 16px;
}

.footer__bottom {
    padding: 13px 16px 14px;
    background: var(--color-green-deep);
    color: var(--color-white);
    font-size: 0.92rem;
    line-height: 1.2;
    text-align: center;
}

@media (max-width: 700px) {
    .content-shell {
        width: min(calc(100% - 24px), var(--content-width));
    }

    .item {
        padding-inline: 12px;
    }

    .item:first-of-type {
        padding-top: 44px;
    }

    .item--image-left {
        margin-top: 10px;
        padding-bottom: 44px;
    }

    .item-grid {
        grid-template-columns: 1fr;
        width: min(100%, 520px);
    }

    .item-card,
    .item-picture {
        min-height: 0;
    }

    .item-card {
        padding: 38px 24px 34px;
    }

    .item-card h2 {
        font-size: clamp(1.55rem, 8vw, 2rem);
    }

    .item-card__label {
        font-size: 1.2rem;
    }

    .item-picture {
        aspect-ratio: 1.42;
    }

    .item--image-left .item-card,
    .item--image-left .item-picture {
        grid-column: auto;
        grid-row: auto;
    }

    .newsletter-band {
        margin-top: 0;
        padding: 104px 12px 88px;
    }

    .newsletter-band-top {
        height: 62px;
        clip-path: polygon(0 100%, 48% 0, 100% 88%, 100% 100%);
    }

    .newsletter-card__eyebrow {
        margin-bottom: 16px;
        font-size: 1.05rem;
    }

    .newsletter-card h2 {
        margin-bottom: 18px;
        font-size: clamp(1.55rem, 8vw, 2rem);
    }

    .newsletter-card h2 br {
        display: none;
    }

    .formdiv {
        min-height: 320px;
        padding: 54px 28px 56px;
    }

    .formdiv::before {
        inset: 14px 18px -6px 26px;
    }

    .footer__inner {
        padding: 34px 0 38px;
    }

    .footer__social p {
        font-size: 1rem;
    }

    .footer__social-links {
        gap: 10px;
    }

    .footer__social-links a {
        width: 36px;
        height: 36px;
    }

    .footer__columns {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-top: 38px;
        text-align: center;
    }

    .footer__nav {
        align-items: center;
    }

    .footer__logo {
        margin: 28px auto 0;
    }
}

.text-page {
    background: var(--color-white);
    padding: 58px 16px 34px;
}

.rich-text {
    width: min(100%, 1000px);
    margin: 0 auto;
    color: var(--color-black);
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.28;
}

.rich-text p {
    margin: 0 0 34px;
}

.rich-text strong {
    color: var(--color-green-primary);
    font-weight: 900;
}

.rich-text ul {
    margin: -24px 0 34px;
    padding: 0;
    list-style: none;
}

.rich-text li {
    position: relative;
    margin: 0 0 4px;
    padding-left: 20px;
}

.rich-text li::before {
    content: "▶";
    position: absolute;
    left: 0;
    top: 0.02em;
    color: var(--color-green-primary);
    font-size: 0.78em;
    line-height: 1.4;
}

@media (max-width: 700px) {
    .text-page {
        padding: 38px 16px 22px;
    }

    .rich-text {
        font-size: 1.1rem;
        line-height: 1.36;
    }

    .rich-text p {
        margin-bottom: 24px;
    }

    .rich-text ul {
        margin: -14px 0 24px;
    }
}

/********************************************************************/
#consentPopup {
    display: none;
    position: fixed;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    width: 100%;
    height: auto;
    background: rgba(220, 220, 220, 0.7);
    z-index: 1000;
    font-size: 0.8em
}

@media (max-width: 400px) {
    #consentPopup {
    }

    #consentPopup .options button {
    }
}

#consentPopup .consent-dialog-container {
    margin: 15px;
    background: white;
    padding: 20px 10px 20px 10px;
    text-align: left;
    font-size: 1.2em
}

#consentPopup .consent-dialog-header {
    font-size: 1.6em;
    text-align: center
}

#consentPopup label {
    white-space: nowrap
}

#consentPopup input {
    margin: 0 0 0 20px
}

#consentPopup .options button {
    margin-top: 24px;
    padding: 8px 24px;
    border-radius: 999px;
    line-height: 1.2em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    background-color:forestgreen;
    color: white
}

#consentPopup .options button:hover {
    background-color: #165e16
}

#consentPopup .options .uk-button-selection {
    font-size:0.7em;
    background-color:lightgrey;
    color:#6e6e6e;
}

#consentPopup .options .uk-button-selection:hover {
    background-color: #616161;
    color:white;
}

#consentPopup p {
    margin-top: 0px;
    margin-bottom: 0px
}

/********************************************************************/