/* =======================================================
   0. ALAPBEÁLLÍTÁSOK / MAGER FONT
======================================================= */

@font-face {
    font-family: "Magerfont";
    src: url("../fonts/Figtree/Figtree-VariableFont_wght.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --zold: green;
    --zold-sotet: rgb(0, 107, 0);
    --zold-hover: rgb(0, 150, 0);

    --vilagos-zold: rgb(241, 255, 239);
    --footer-zold: rgb(232, 247, 232);

    --szoveg: rgb(0, 0, 0);
    --szoveg-szurke: rgb(45, 45, 45);
    --szoveg-halvany: rgb(85, 85, 85);

    --kartya-szegely: rgba(0, 107, 0, 0.14);
    --kartya-szegely-erosebb: rgba(0, 107, 0, 0.26);

    --arnyek: 0 1rem 2.4rem rgba(0, 0, 0, 0.055);
    --arnyek-lagy: 0 0.65rem 1.6rem rgba(0, 0, 0, 0.045);

    --font: "Magerfont", sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font);
}

html {
    scroll-behavior: smooth;
}

body,
.torzs {
    min-height: 100vh;

    background-color: white;
    color: var(--szoveg);

    position: relative;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;

    background-image: url("../kepek/rolunk-hatter.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    opacity: 0.45;

    z-index: -1;
    pointer-events: none;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

p {
    color: var(--szoveg-szurke);
    line-height: 1.6;
}

::selection {
    background-color: rgba(0, 128, 0, 0.18);
}


/* =======================================================
   1. ÁRAZÁS OLDAL
======================================================= */

.arak-oldal {
    background-color: white;
}

.arak-main {
    width: 100%;
    padding-top: 0;
}


/* =======================================================
   2. FELSŐ SÁV
======================================================= */

.arak-fejlec {
    width: min(92%, 94rem);

    margin: 0 auto;
    margin-bottom: 2%;
    padding: 2.2rem 0 1.8rem;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.arak-brand {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.arak-logo {
    width: 4.4rem;
    height: 4.4rem;

    object-fit: contain;
    flex-shrink: 0;
}

.arak-marka {
    display: flex;
    flex-direction: column;
    justify-content: center;

    line-height: 1;
    flex-shrink: 0;
}

.arak-mager {
    color: black;

    font-size: clamp(2rem, 3vw, 3.15rem);
    font-weight: 750;
    line-height: 0.9;
    letter-spacing: -0.045em;
}

.arak-alcim {
    margin-top: 0rem;

    color: var(--zold-sotet);

    font-size: clamp(0.75rem, 0.95vw, 1.25rem);
    font-weight: 650;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    white-space: nowrap;
}

.arak-elvalaszto {
    width: 1px;
    height: 3.1rem;

    margin-left: 1.1rem;
    margin-right: 0.7rem;

    background-color: rgba(0, 107, 0, 0.25);
    flex-shrink: 0;
}

.arak-oldalcim {
    color: var(--zold-sotet);

    font-size: clamp(1.75rem, 2.3vw, 2.45rem);
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.arak-vissza-gomb {
    min-width: 13.5rem;
    min-height: 3.5rem;

    padding: 0.9rem 1.8rem;

    display: inline-flex;
    justify-content: center;
    align-items: center;

    background-color: var(--zold);
    color: white;

    border-radius: 0.35rem;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;

    box-shadow: 0 0.5rem 1.2rem rgba(0, 107, 0, 0.16);
}


/* =======================================================
   3. FŐ LAYOUT
======================================================= */

.arak-hero {
    width: min(92%, 94rem);

    margin: 0 auto 5rem;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 30rem;
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: start;
}

.arak-bal {
    min-width: 0;
}

.arak-kiscim {
    margin: 1rem 0 0.7rem;

    color: var(--zold-sotet);

    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.arak-bal h1 {
    max-width: 49rem;
    margin: 0 0 1.5rem;

    color: black;

    font-size: clamp(3rem, 5.4vw, 5.15rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.065em;
}

.arak-bevezeto {
    max-width: 47rem;

    margin-bottom: 2.2rem;

    color: rgb(35, 35, 35);

    font-size: clamp(1.05rem, 1.35vw, 1.28rem);
    font-weight: 400;
    line-height: 1.7;
}


/* =======================================================
   4. ÁRKÁRTYÁK
======================================================= */

.arak-kartyak {
    margin-top: 2rem;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.ar-kartya {
    position: relative;
    overflow: hidden;

    min-height: 10.2rem;

    padding: 1.35rem 1.15rem 1.25rem;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(248, 255, 247, 0.88) 100%
        );

    border: 1px solid var(--kartya-szegely);
    border-radius: 1rem;

    box-shadow: var(--arnyek-lagy);
}

.ar-kartya::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 0.28rem;

    background-color: rgba(0, 107, 0, 0.72);
}

.ar-kartya h2 {
    min-height: 3rem;

    display: flex;
    align-items: center;
    justify-content: center;

    color: black;

    font-size: 1.17rem;
    font-weight: 780;
    line-height: 1.18;
    text-align: center;
}

.ar-vonal {
    width: 100%;
    height: 1px;

    margin: 1rem 0 0.85rem;

    background-color: rgba(0, 107, 0, 0.16);
}

.ar-kartya p {
    min-height: 2.1rem;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--zold-sotet);

    font-size: 1.18rem;
    font-weight: 820;
    line-height: 1.15;
    text-align: center;
}

.kiemelt-ar-kartya {
    background:
        linear-gradient(
            180deg,
            rgba(241, 255, 239, 0.98) 0%,
            rgba(232, 247, 232, 0.94) 100%
        );

    border-color: var(--kartya-szegely-erosebb);
    box-shadow: 0 0.9rem 2rem rgba(0, 107, 0, 0.09);
}

.kiemelt-ar-kartya::before {
    height: 0.35rem;
    background-color: var(--zold-sotet);
}

.arak-megjegyzes {
    margin: 1.25rem 0 2rem;

    color: var(--szoveg-halvany);

    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
}


/* =======================================================
   5. JOBB OLDALI INFORMÁCIÓ
======================================================= */

.arak-jobb {
    padding-top: 5.65rem;

    display: flex;
    flex-direction: column;
    gap: 1.7rem;
}

.arak-info-kartya {
    position: relative;
    overflow: hidden;

    padding: 2.45rem 2.5rem;

    background-color: rgba(241, 255, 239, 0.78);
    border: 1px solid var(--kartya-szegely);
    border-radius: 1.1rem;

    box-shadow: var(--arnyek);
}

.arak-info-kartya::after {
    content: "";
    position: absolute;
    right: -2rem;
    bottom: -2rem;

    width: 14rem;
    height: 14rem;

    background-image: url("kepek/rolunk hatter.webp");
    background-size: cover;
    background-position: center;

    opacity: 0.16;

    pointer-events: none;
}

.arak-info-kartya h2 {
    position: relative;
    z-index: 1;

    margin-bottom: 1.75rem;

    color: var(--zold-sotet);

    font-size: 1.65rem;
    font-weight: 850;
    line-height: 1.2;
}

.arak-info-kartya ul {
    position: relative;
    z-index: 1;

    display: grid;
    gap: 1.15rem;

    list-style: none;
}

.arak-info-kartya li {
    display: flex;
    align-items: center;
    gap: 0.9rem;

    color: rgb(30, 30, 30);

    font-size: 1.08rem;
    font-weight: 400;
    line-height: 1.35;
}

.arak-info-kartya li::before {
    content: "✓";

    width: 1.35rem;
    height: 1.35rem;

    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 50%;

    background-color: var(--zold-sotet);
    color: white;

    font-size: 0.75rem;
    font-weight: 900;

    flex-shrink: 0;
}

.arak-kep-doboz {
    width: 100%;
    height: 19rem;

    overflow: hidden;

    border-radius: 1rem;

    box-shadow: 0 1rem 2.2rem rgba(0, 0, 0, 0.08);
}

.arak-kep-doboz img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =======================================================
   6. CTA BLOKK
======================================================= */

.arak-cta {
    margin-top: 2.2rem;
    padding: 1.85rem 2rem;

    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.6rem;

    background-color: rgba(241, 255, 239, 0.84);
    border: 1px solid var(--kartya-szegely);
    border-radius: 1rem;

    box-shadow: var(--arnyek);
}

.arak-cta-ikon {
    width: 4.5rem;
    height: 4.5rem;

    display: flex;
    justify-content: center;
    align-items: center;

    border: 2px solid var(--zold-sotet);
    border-radius: 50%;

    color: var(--zold-sotet);

    font-size: 1.75rem;
    font-weight: 800;

    flex-shrink: 0;
}

.arak-cta h2 {
    margin-bottom: 0.35rem;

    color: var(--zold-sotet);

    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 850;
    line-height: 1.2;
}

.arak-cta p {
    color: rgb(70, 70, 70);

    font-size: 1.05rem;
    line-height: 1.45;
}

.arak-cta-gomb {
    min-width: 14.5rem;

    padding: 1rem 1.8rem;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;

    background-color: var(--zold-sotet);
    color: white;

    border-radius: 0.5rem;

    font-size: 1.05rem;
    font-weight: 850;
    line-height: 1;

    box-shadow: 0 0.45rem 1rem rgba(0, 107, 0, 0.2);
}


/* =======================================================
   7. FOOTER
======================================================= */

.oldal-footer {
    width: 100%;

    margin-top: 6rem;
    padding: 2rem 8% 1rem;

    background-color: var(--footer-zold);
    border-top: 1px solid rgba(0, 107, 0, 0.15);
}

.footer-tartalom {
    width: 100%;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}

.footer-oszlop h3 {
    margin-bottom: 0.7rem;

    color: var(--zold-sotet);

    font-size: 1.1rem;
    font-weight: 800;
}

.footer-oszlop p {
    margin-bottom: 0.4rem;

    color: rgb(40, 40, 40);

    font-size: 0.95rem;
    line-height: 1.45;
}

.footer-linkek {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.4rem;
}

.footer-linkek a {
    color: var(--zold-sotet);

    font-size: 0.95rem;
    font-weight: 500;
    white-space: nowrap;
}

.footer-also {
    margin-top: 1.5rem;
    padding-top: 0.8rem;

    border-top: 1px solid rgba(0, 107, 0, 0.15);
}

.footer-also p {
    color: rgb(80, 80, 80);

    font-size: 0.85rem;
    line-height: 1.4;
}


/* =======================================================
   8. KÖZEPES DESKTOP
======================================================= */

@media (max-width: 1250px) {

    .arak-hero {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }

    .arak-jobb {
        padding-top: 0;

        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
    }

    .arak-kep-doboz {
        height: auto;
        min-height: 20rem;
    }
}


/* =======================================================
   9. TABLET
======================================================= */

@media (max-width: 1050px) {

    .arak-fejlec {
        width: min(92%, 52rem);

        padding-top: 1.4rem;

        flex-wrap: wrap;
    }

    .arak-vissza-gomb {
        margin-left: auto;
    }

    .arak-hero {
        width: min(92%, 52rem);
    }

    .arak-bal h1 {
        max-width: 42rem;
    }

    .arak-kartyak {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ar-kartya {
        min-height: 9.8rem;
    }

    .arak-cta {
        grid-template-columns: auto 1fr;
    }

    .arak-cta-gomb {
        grid-column: 1 / -1;

        width: 100%;
    }

    .oldal-footer {
        margin-top: 5rem;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .footer-tartalom {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
    }

    .footer-linkek {
        align-items: flex-start;
    }
}


/* =======================================================
   9/B. TABLET PORTRAIT / NAGY MOBIL
   CSAK FEJLÉC
   kb. 768px alatt
======================================================= */

@media (max-width: 768px) {

    .arak-fejlec {
        width: min(92%, 52rem);

        padding-top: 1.4rem;
        padding-bottom: 1.3rem;

        flex-wrap: wrap;
        gap: 1rem;
        align-items: center;
    }

    .arak-brand {
        width: auto;

        min-width: 0;
        gap: 0.7rem;
        flex-wrap: nowrap;
    }

    .arak-logo {
        width: 3.7rem;
        height: 3.7rem;
    }

    .arak-mager {
        font-size: clamp(1.9rem, 5vw, 2.5rem);
    }

    .arak-alcim {
        font-size: clamp(0.58rem, 1.8vw, 0.78rem);
        letter-spacing: 0.11em;
    }

    .arak-elvalaszto {
        display: block;

        height: 2.7rem;

        margin-left: 0.6rem;
        margin-right: 0.45rem;
    }

    .arak-oldalcim {
        font-size: clamp(1.6rem, 4vw, 2rem);
    }

    .arak-vissza-gomb {
        width: auto;
        min-width: 12rem;
        min-height: 3.2rem;

        margin-left: auto;

        padding: 0.8rem 1.4rem;

        border-radius: 0.35rem;

        font-size: 0.95rem;
    }
}


/* =======================================================
   10. MOBIL
======================================================= */

@media (max-width: 700px) {

    body::before {
        opacity: 0.75;

        background-size: 58rem auto;
        background-position: center top;
        background-repeat: repeat-y;
    }

    /* Csak a fejléc viselkedése módosítva:
       601px - 700px között még ne legyen teljes mobilos fejléc */

    .arak-fejlec {
        width: min(92%, 52rem);

        padding: 1.4rem 0 1.3rem;
        gap: 1rem;

        align-items: center;
        flex-wrap: wrap;
    }

    .arak-brand {
        width: auto;

        gap: 0.7rem;
        flex-wrap: nowrap;
    }

    .arak-logo {
        width: 3.7rem;
        height: 3.7rem;
    }

    .arak-mager {
        font-size: clamp(1.9rem, 5vw, 2.5rem);
    }

    .arak-alcim {
        font-size: clamp(0.58rem, 1.8vw, 0.78rem);
        letter-spacing: 0.11em;
    }

    .arak-elvalaszto {
        display: block;

        height: 2.7rem;

        margin-left: 0.6rem;
        margin-right: 0.45rem;
    }

    .arak-oldalcim {
        font-size: clamp(1.6rem, 4vw, 2rem);
    }

    .arak-vissza-gomb {
        width: auto;
        min-width: 12rem;
        min-height: 3.2rem;

        margin-left: auto;

        padding: 0.8rem 1.4rem;

        border-radius: 0.35rem;

        font-size: 0.95rem;
    }

    .arak-hero {
        width: 100%;

        margin-bottom: 3rem;
        padding: 0 1rem;
    }

    .arak-kiscim {
        margin-top: 0.5rem;

        font-size: 0.85rem;
    }

    .arak-bal h1 {
        font-size: clamp(2.35rem, 11vw, 3.2rem);
        line-height: 1.04;
    }

    .arak-bevezeto {
        font-size: 1rem;
        line-height: 1.55;
    }

    .arak-kartyak {
        grid-template-columns: 1fr;
        gap: 0.9rem;

        margin-top: 1.5rem;
    }

    .ar-kartya {
        min-height: auto;

        padding: 1.25rem 1rem 1.15rem;
    }

    .ar-kartya h2 {
        min-height: auto;

        font-size: 1.18rem;
    }

    .ar-vonal {
        margin: 0.85rem 0 0.7rem;
    }

    .ar-kartya p {
        min-height: auto;

        font-size: 1.18rem;
    }

    .arak-megjegyzes {
        font-size: 0.95rem;
    }

    .arak-jobb {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .arak-info-kartya {
        padding: 1.5rem;
    }

    .arak-info-kartya h2 {
        margin-bottom: 1.3rem;

        font-size: 1.35rem;
    }

    .arak-info-kartya ul {
        gap: 0.9rem;
    }

    .arak-info-kartya li {
        font-size: 1rem;
    }

    .arak-kep-doboz {
        height: 13rem;
        min-height: auto;
    }

    .arak-cta {
        grid-template-columns: 1fr;
        gap: 1.1rem;

        padding: 1.4rem;

        text-align: center;
    }

    .arak-cta-ikon {
        width: 4rem;
        height: 4rem;

        margin: 0 auto;
    }

    .arak-cta p {
        font-size: 1rem;
    }

    .arak-cta-gomb {
        min-width: 0;
        width: 100%;
    }

    .oldal-footer {
        margin-top: 4rem;
        padding: 2rem 1rem 1rem;
    }

    .footer-tartalom {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.4rem;
    }

    .footer-linkek {
        align-items: flex-start;
    }

    .footer-linkek a {
        white-space: normal;
    }

    .footer-oszlop p,
    .footer-linkek a {
        font-size: 0.95rem;
        line-height: 1.45;
    }

    .footer-also p {
        font-size: 0.8rem;
    }
}


/* =======================================================
   10/B. MOBIL FEJLÉC
   kb. 600px alatt
   Rólunk oldalhoz igazítva
======================================================= */

@media (max-width: 600px) {

    .arak-fejlec {
        width: 100%;

        margin-bottom: 1rem;
        padding: 1rem 1.2rem;

        align-items: flex-start;
        flex-wrap: wrap;
        gap: 1rem;
    }

    .arak-brand {
        width: 100%;

        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 0.55rem;
    }

    .arak-logo {
        width: 3rem;
        height: 3rem;
    }

    .arak-marka {
        flex-shrink: 0;
    }

    .arak-mager {
        font-size: 1.9rem;
        line-height: 0.9;
    }

    .arak-alcim {
        font-size: 0.55rem;
        letter-spacing: 0.1em;
    }

    .arak-elvalaszto {
        display: block;

        width: 1px;
        height: 2.4rem;

        margin-left: 0.45rem;
        margin-right: 0.35rem;

        flex-shrink: 0;
    }

    .arak-oldalcim {
        font-size: 1.65rem;
        white-space: nowrap;
    }

    .arak-vissza-gomb {
        width: 100%;
        min-width: 0;
        min-height: 3.2rem;

        margin-left: 0;
        padding: 0.9rem 1rem;

        border-radius: 0.7rem;

        font-size: 0.95rem;
    }
}


/* =======================================================
   11. NAGYON KICSI MOBIL
======================================================= */

@media (max-width: 390px) {

    .arak-fejlec {
        padding: 0.9rem 1rem;
    }

    .arak-brand {
        gap: 0.45rem;
    }

    .arak-logo {
        width: 2.6rem;
        height: 2.6rem;
    }

    .arak-mager {
        font-size: 1.55rem;
    }

    .arak-alcim {
        font-size: 0.49rem;
        letter-spacing: 0.07em;
    }

    .arak-oldalcim {
        font-size: 1.35rem;
    }

    .arak-elvalaszto {
        display: block;

        height: 2.15rem;

        margin-left: 0.25rem;
        margin-right: 0.25rem;
    }

    .arak-bal h1 {
        font-size: 2.25rem;
    }

    .arak-kep-doboz {
        height: 11rem;
    }
}

/* =======================================================
   ÁRKÁRTYÁK CSOPORTOSÍTVA
   Kerti / Beltéri munkák
======================================================= */

:root {
    --levendula: rgb(151, 104, 185);
    --levendula-sotet: rgb(104, 64, 135);
    --levendula-vilagos: rgb(251, 247, 255);
    --levendula-hatter: rgb(247, 240, 253);
    --levendula-szegely: rgba(104, 64, 135, 0.315);
    --levendula-vonal: rgba(104, 64, 135, 0.116);
}

.arak-kartyak {
    margin-top: 2rem;

    display: grid;
    grid-template-columns: 1fr;
    gap: 1.8rem;
}

.ar-csoport {
    position: relative;

    padding: 1.25rem;

    border-radius: 1.35rem;
    box-shadow: var(--arnyek-lagy);
}

.ar-csoport-kert {
    background:
        linear-gradient(
            180deg,
            rgba(224, 255, 222, 0.904) 0%,
            rgba(243, 255, 235, 0.72) 100%
        );

    border: 1px solid rgba(4, 122, 0, 0.295);
}

.ar-csoport-belter {
    background:
        linear-gradient(
            180deg,
            rgba(243, 232, 255, 0.9) 0%,
            rgba(247, 240, 253, 0.72) 100%
        );

    border: 1px solid var(--levendula-szegely);
}

.ar-csoport-cim {
    margin-bottom: 1.1rem;

    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 850;
    line-height: 1.15;
}

.ar-csoport-kert .ar-csoport-cim {
    color: var(--zold-sotet);
}

.ar-csoport-belter .ar-csoport-cim {
    color: var(--levendula-sotet);
}

.ar-csoport-racs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}


/* Beltéri kártyák levendulás színre állítása */

.ar-csoport-belter .ar-kartya {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.97) 0%,
            rgba(251, 247, 255, 0.9) 100%
        );

    border-color: var(--levendula-szegely);
}

.ar-csoport-belter .ar-kartya::before {
    background-color: var(--levendula);
}

.ar-csoport-belter .ar-vonal {
    background-color: var(--levendula-vonal);
}

.ar-csoport-belter .ar-kartya p {
    color: var(--levendula-sotet);
}


/* Tablet */

@media (max-width: 1050px) {

    .arak-kartyak {
        grid-template-columns: 1fr;
    }

    .ar-csoport-racs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* Mobil */

@media (max-width: 700px) {

    .arak-kartyak {
        grid-template-columns: 1fr;
        gap: 1.2rem;

        margin-top: 1.5rem;
    }

    .ar-csoport {
        padding: 1rem;
        border-radius: 1.1rem;
    }

    .ar-csoport-cim {
        margin-bottom: 0.9rem;

        font-size: 1.35rem;
        text-align: center;
    }

    .ar-csoport-racs {
        grid-template-columns: 1fr;
        gap: 0.9rem;
    }
}