:root{
    --bg: #E5F1EA;
    --light: #99C5AA;
    --main: #6BA680;
    --dark: #115A44;
    --text: #1f2a24;
    --white: #ffffff;
    --border: rgba(17, 90, 68, 0.12);
}

*,
*::before,
*::after{
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
}

body{
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6{
    font-family: inherit;
    font-weight: 700;
}

img{
    max-width: 100%;
    display: block;
}


/* minden kép egységes árnyéka */

figure img,
.split-intro__image img,
.split-benefits__image img,
.about-portrait img,
.about-gallery-item img,
.gallery-strip__item img{
    width: 100%;
    display: block;
    border-radius: 22px;
	box-shadow: 0 6px 16px rgba(0,0,0,0.22);
}


/* ============= KÉP ANIMÁCIÓK - EGYSÉGESEN ============== 
figure,
.split-intro__image,
.split-benefits__image,
.about-gallery-item,
.gallery-strip__item,
.about-portrait{
    overflow: hidden;
    border-radius: 22px;
    transition: transform .35s ease, box-shadow .35s ease;
    box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}

figure img,
.split-intro__image img,
.split-benefits__image img,
.about-gallery-item img,
.gallery-strip__item img,
.about-portrait img{
    width: 100%;
    display: block;
    transition: transform .35s ease;
}

figure:hover,
.split-intro__image:hover,
.split-benefits__image:hover,
.about-gallery-item:hover,
.gallery-strip__item:hover,
.about-portrait:hover{
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(0,0,0,0.20);
}

figure:hover img,
.split-intro__image:hover img,
.split-benefits__image:hover img,
.about-gallery-item:hover img,
.gallery-strip__item:hover img,
.about-portrait:hover img{
    transform: scale(1.035);
}

.image-placeholder,
.hero-placeholder,
.placeholder{
    width: 100%;
    transition: transform .35s ease, box-shadow .35s ease;
}

.split-intro__image:hover .image-placeholder,
.split-benefits__image:hover .image-placeholder,
.split-benefits__image:hover .placeholder,
.service-hero__media:hover .hero-placeholder{
    transform: scale(1.02);
}

===================*/

a{
    color: inherit;
}

.container{
    width: min(1280px, calc(100% - 40px));
    margin: 0 auto;
}

.narrow{
    width: min(820px, 100%);
}

/* HEADER */

.site-header{
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(229, 241, 234, 0.96);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(8px);
}

.header-bar{
    min-height: 72px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 20px;
}

/*.site-brand{
    text-decoration: none;
    font-family: "Balsamiq Sans", sans-serif;
    font-size: 1.3rem;
    color: var(--dark);
    white-space: nowrap;
}*/

/* ============ HEADER / NAV ============ */

.site-header{
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(108, 139, 123, 0.96);
    border-bottom: 1px solid rgba(255,255,255,0.14);
    backdrop-filter: blur(8px);
    overflow: visible;
}

.header-bar{
    min-height: 60px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
    overflow: visible;
}

.site-logo{
    position: relative;
    z-index: 110;
    display: flex;
    align-items: center;
    text-decoration: none;
}

.site-logo img{
    width: 82px;
    height: 82px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    transform: translateY(18px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.16);
}

.header-bar{
    min-height: 60px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
}

.site-logo{
    display: flex;
    align-items: center;
    text-decoration: none;
}

.site-logo img{
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.main-nav{
    justify-self: center;
}

.main-nav__list{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 28px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-nav__list a{
    position: relative;
    text-decoration: none;
    font-size: 0.98rem;
	font-weight: 700;
    color: #ffffff;
    transition: opacity .2s ease, color .2s ease;
}

.main-nav__list a:hover,
.main-nav__list a:focus-visible{
    opacity: 0.88;
}

.main-nav__list a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0;
    height: 2px;
    background: rgba(255,255,255,0.82);
    transition: width .22s ease;
}

.main-nav__list a:hover::after,
.main-nav__list a:focus-visible::after{
    width: 100%;
}

/* AKTÍV MENÜPONT */

.main-nav__list a.active{
    font-weight: 700;
    color: #ffffff;
}

.main-nav__list a.active::after{
    width: 100%;
    height: 3px;
    background: rgba(236,247,241,0.98);
}

.nav-home{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: #ffffff;
}

.nav-home svg{
    width: 20px;
    height: 20px;
    display: block;
}

.nav-home.active{
    opacity: 1;
}

.nav-home.active svg{
    transform: scale(1.08);
}

/* SOCIAL */

.header-social{
    display: flex;
    align-items: center;
    gap: 10px;
    justify-self: end;
}

.social-icon{
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.34);
    color: rgba(236,247,241,0.96);
    transition: transform .18s ease, background .18s ease, color .18s ease;
}

.social-icon svg{
    width: 16px;
    height: 16px;
    display: block;
}

.social-icon:hover,
.social-icon:focus-visible{
    transform: translateY(-1px);
    background: rgba(255,255,255,0.12);
    color: #ffffff;
}

/* HAMBURGER */

.menu-toggle{
    display: none;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    justify-self: center;
}

.menu-toggle span{
    display: block;
    width: 24px;
    height: 2px;
    margin: 5px auto;
    background: #ffffff;
    transition: transform .2s ease, opacity .2s ease;
}

/* TABLET */

@media (max-width: 1160px){
    .main-nav__list{
        gap: 12px;
    }

    .main-nav__list a{
        font-size: 0.93rem;
    }

    .site-logo img{
        width: 40px;
        height: 40px;
    }
}

/* MOBILE */

@media (max-width: 860px){
    .header-bar{
        grid-template-columns: auto auto auto;
        position: relative;
        min-height: 58px;
    }

    .menu-toggle{
        display: block;
    }

    .main-nav{
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(108, 139, 123, 0.98);
        border-bottom: 1px solid rgba(255,255,255,0.14);
        padding: 14px 20px 20px;
        display: none;
    }

    .main-nav.is-open{
        display: block;
    }

    .main-nav__list{
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    .main-nav__list a{
        font-size: 1rem;
    }

    .header-social a{
        width: 28px;
        height: 28px;
    }

    .site-logo img{
        width: 38px;
        height: 38px;
    }
}
/* MAIN */

.site-main{
    min-height: calc(100vh - 120px);
}

.home-hero{
    padding: 120px 0 100px;
    text-align: center;
}

.home-hero h1{
    margin: 0 0 16px;
    font-size: clamp(2rem, 5vw, 4rem);
    color: var(--dark);
}

.home-hero p{
    margin: 0;
    font-size: 1.1rem;
    color: #355347;
}

.content-page{
    padding: 80px 0;
}

.content-page h1{
    margin-top: 0;
    margin-bottom: 20px;
    color: var(--dark);
}

/* FOOTER */

.site-footer{
    border-top: 1px solid var(--border);
    background: rgba(255,255,255,0.45);
}

.footer-inner{
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-inner p{
    margin: 0;
    font-size: 0.9rem;
    color: var(--dark);
}

/* TABLET */

@media (max-width: 1100px){
    .main-nav__list{
        gap: 14px;
    }

    .main-nav__list a{
        font-size: 0.95rem;
    }
}

/* MOBILE */

@media (max-width: 860px){
    .header-bar{
        grid-template-columns: auto auto auto;
        position: relative;
    }

    .menu-toggle{
        display: block;
    }

    .menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    margin:5px auto;
    background:var(--dark);
}

    .header-social a{
        padding: 5px 9px;
        font-size: 0.78rem;
    }

    .site-main{
        min-height: calc(100vh - 116px);
    }
}

@media (max-width: 560px){
    .container{
        width: min(100% - 24px, 100%);
    }

    .site-brand{
        font-size: 1.12rem;
    }

    .header-bar{
        min-height: 64px;
        gap: 10px;
    }

    .home-hero{
        padding: 80px 0 70px;
    }

    .home-hero p{
        font-size: 1rem;
    }
}

/*================maternity=====================*/

.section{
    padding: 40px 0 60px 0;
}

.section--soft{
    background: rgba(255,255,255,0.45);
}

.section--tight{
    padding-top: 40px;
    padding-bottom: 40px;
}

.section-heading{
    text-align: center;
    max-width: 760px;
    margin: 0 auto 46px;
}

.section-heading--left{
    text-align: center;
    margin: 0 0 28px;
}

.section-heading h2{
    margin: 0;
    font-size: clamp(1.9rem, 3vw, 2rem);
    color: var(--dark);
    line-height: 1.15;
}

.lead{
    font-size: 1.22rem;
    line-height: 1.7;
    color: #355347;
}

/*=================SERVICE HERO ========================
.service-hero{
    position: relative;
    height: 260px;
    overflow: hidden;
    background: #dfe8e3;
}

.service-hero__media img{
    width: 100%;
    height: 62vh;
    object-fit: cover;
    object-position: center 60%;
    filter: grayscale(100%) brightness(1.1) contrast(1.02);
}

.service-hero__overlay{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: end;
    background: linear-gradient(to top, rgba(0,0,0,0.22), rgba(0,0,0,0.02));
}

.service-hero__content{
    max-width: 760px;
    padding-bottom: 58px;
    color: #fff;
}

========================sercice hero vége=====================*/
.service-hero {
 background: linear-gradient(
        135deg,
        #0c3f30 0%,
        #115A44 40%,
        #2f8a6b 100%
    );
    padding: 72px 0 56px;
}

.service-hero__media {
    display: none;
}

.service-hero__overlay {
    position: static;
    background: none;
}

.eyebrow{
    display: inline-block;
    position: relative;
    margin: 0 0 22px;
    padding: 10px 40px;
    font-size: 1rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #2f463c;
    font-weight: 600;
    z-index: 1;
}

.eyebrow::before{
    content: "";
    position: absolute;
    left: -18px;
    right: -18px;
    top: -6px;
    bottom: -6px;
	background: linear-gradient(
		90deg,
		rgba(107,166,128,0.10),
		rgba(107,166,128,0.28),
		rgba(153,197,170,0.45),
		rgba(107,166,128,0.28),
		rgba(107,166,128,0.10)
	);
    z-index: -1;
}


.service-hero__content h1{
    color: #E5F1EA;
    margin: 0;
    font-size: clamp(2.2rem, 5vw, 4.5rem);
    line-height: 1.06;
}

.split-intro{
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 50px;
    align-items: center;
}

.split-intro__text p:last-child{
    margin-bottom: 0;
}

.split-intro__image{
    display:flex;
    justify-content:center;
}

.split-intro__image img{
    width:100%;
    max-width:620px;
    height:auto;
    border-radius:22px;
    box-shadow:0 18px 44px rgba(17,90,68,0.12);
}

.info-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.info-card{
    background: rgba(255,255,255,0.72);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 28px;
}

.info-card h3{
    margin-top: 0;
    margin-bottom: 10px;
    color: var(--dark);
}

.info-card p{
    margin: 0;
}

.split-benefits{
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 54px;
    align-items: center;
}
.split-benefits__image img { 
    width:100%;
    max-width:620px;
    height:auto;
    border-radius:22px;
    box-shadow:0 18px 44px rgba(17,90,68,0.12);
}

@media (max-width: 1100px){
    .split-benefits__image{
        display: flex;
        justify-content: center;
    }

    .split-benefits__image img{
        max-width: 620px;
        width: 100%;
    }
}

.feature-list{
    margin: 0;
    padding-left: 20px;
}

.feature-list li + li{
    margin-top: 14px;
}

.gallery-strip__grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
    align-items: stretch;
}

.gallery-strip__item{
    margin: 0;
    overflow: hidden;
    border-radius: 18px;
}

.gallery-strip__item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-strip__item--wide{
    min-height: 520px;
}

.packages-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.packages-grid--single{
    grid-template-columns: minmax(320px, 720px);
    justify-content: center;
}

.package-card{
    position: relative;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 32px 30px;
    box-shadow: 0 14px 34px rgba(17,90,68,0.08);
}

.package-card--featured{
    border-color: rgba(107,166,128,0.35);
    box-shadow: 0 18px 42px rgba(17,90,68,0.12);
}

.package-card__badge{
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--main);
    color: #fff;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.package-card__head{
    margin-bottom: 18px;
    padding-right: 88px;
}

.package-card__head h3{
    margin: 0 0 10px;
    color: var(--dark);
    font-size: 1.5rem;
}

.price{
    margin: 0;
    font-size: 1.35rem;
    color: var(--main);
    font-weight: 700;
}

.package-list{
    margin: 0;
    padding-left: 20px;
}

.package-list li + li{
    margin-top: 12px;
}

.packages-note{
    margin: 20px 0 0;
    text-align: center;
    color: #547566;
    font-size: 0.95rem;
}

.cta-box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 34px 38px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--border);
}

.cta-box h2{
    margin: 0;
    color: var(--dark);
    font-size: clamp(1.5rem, 2.5vw, 2.4rem);
    line-height: 1.15;
}

.button-link{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    border-radius: 999px;
    background: var(--dark);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.button-link:hover,
.button-link:focus-visible{
    opacity: 0.9;
}

@media (max-width: 1100px){
    .split-intro,
    .split-benefits,
    .packages-grid,
    .gallery-strip__grid{
        grid-template-columns: 1fr;
    }

    .gallery-strip__item--wide{
        min-height: 360px;
    }

    .cta-box{
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px){
    .section{
        padding: 72px 0;
    }


    .info-grid,
    .packages-grid{
        grid-template-columns: 1fr;
    }

    .info-card,
    .package-card{
        padding: 24px 22px;
    }

    .package-card__head{
        padding-right: 0;
    }

    .package-card__badge{
        position: static;
        display: inline-block;
        margin-bottom: 14px;
    }
}

.contact-simple{
    padding:80px 0;
    background:rgba(255,255,255,0.45);
}

.contact-simple__inner{
    max-width:640px;
    text-align:center;
}

.contact-simple h2{
    margin:8px 0 18px;
    color:var(--dark);
}

.contact-text{
    margin-bottom:26px;
    font-size:1.05rem;
}

.contact-item{
    font-size:1.1rem;
    margin:10px 0;
}

.contact-item a{
    text-decoration:none;
    color:var(--dark);
    font-weight:600;
}

.contact-item a:hover{
    text-decoration:underline;
}
/*no image
.placeholder{
    background:#e9efe9;
    border-radius:16px;
    min-height:320px;
}*/
.hero-placeholder{
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #dfe8e3, #edf3ee);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7a8f84;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.image-placeholder{
    width: 100%;
    background: linear-gradient(135deg, #e6ede7, #f3f6f3);
    border: 1px dashed #c8d6cc;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7a8f84;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 18px 44px rgba(17,90,68,0.08);
}

.image-placeholder--intro{
    min-height: 320px;
}

.image-placeholder--tall{
    min-height: 460px;
}

/*=============LOGO===============*/
.site-logo{
position: relative;
width: 110px;
}

.site-logo img{
position: absolute;
top: 50%;
left: 0;

width: 110px;
height: 110px;

border-radius: 50%;
object-fit: cover;
display: block;

transform: translateY(-20%);
box-shadow: 0 10px 24px rgba(0,0,0,0.16);
}
/*=============ABOUT===============*/

/* ABOUT INTRO */

.about-intro__grid{
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:60px;
    align-items:center;
}

.about-text{
    font-size:18px;
    line-height:1.75;
}

.about-text p{
    margin-bottom:22px;
}

.about-portrait img{
    width:100%;
    border-radius:22px;
}


/* ABOUT GALLERY */

.about-gallery-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    margin-top:40px;
}

.about-gallery-item img{
    width:100%;
    border-radius:22px;
}


/* editorial hatás */

.about-gallery-item--offset{
    transform:translateY(-40px);
}


/* MOBILE */

@media (max-width:900px){

	.about-intro__grid{
		grid-template-columns:1fr;
	}

	.about-gallery-grid{
		grid-template-columns:1fr;
	}

	.about-gallery-item--offset{
		transform:none;
	}


}

@media (max-width: 860px){

	main-nav {
	padding: 10px 0 14px;
	}
    .main-nav__list{
        width: 100%;
        gap: 0;
    }

    .main-nav__list li{
        width: 100%;
    }

    .main-nav__list a{
        display: block;
        width: 100%;
        padding: 12px 20px;
        color: #e9f3ee;
        background: transparent;
        border-radius: 0;
        transition: background .2s ease, color .2s ease;
    }

    /* Hover / tap állapot */
    .main-nav__list a:hover,
    .main-nav__list a:active,
    .main-nav__list a:focus{
        background: #e4efe9;   /* világos */
        color: #355347;        /* sötét szöveg */
    }

    /* Aktív oldal */
    .main-nav__list a.active{
        background: #d6e6dd;
        color: #2f4a40;
        font-weight: 700;
    }

    /* mobilon az aláhúzás animáció ne zavarjon */
    .main-nav__list a::after{
        display: none;
    }
}

/*=============end of About===============*/

/*=============Fontos tudnivalók===============*/

.info-page__grid{
    max-width: 760px;
    margin: 0 auto;
    display: grid;
    gap: 24px;
}
.info-box{
    background: #fff;
    border-radius: 22px;
    padding: 30px 28px;
    border: 1px solid rgba(17, 90, 68, 0.08);
    box-shadow: 0 14px 34px rgba(17, 90, 68, 0.08);
}

.info-box h2{
    margin-top: 0;
    margin-bottom: 16px;
    color: var(--dark);
}

.info-box p:last-child{
    margin-bottom: 0;
}

/*=============end of Fontos tudnivalók ===============*/


/* minden kép egységes árnyéka */

figure img,
.split-intro__image img,
.split-benefits__image img,
.about-portrait img,
.about-gallery-item img,
.gallery-strip__item img{
    width: 100%;
    display: block;
    border-radius: 14px;
	box-shadow: 0 6px 16px rgba(0,0,0,0.22);
}


/* ============= HOME ============== */

/* HERO – csak desktopon */

.home-hero__image{
    position: absolute;
    inset: 0;
}

.home-hero__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 5%;
    display: block;
}

.home-hero__hotspots{
    position: absolute;
    inset: 0;
}

.hero-tile{
    position: absolute;
    display: flex;
    align-items: end;
    justify-content: center;
    padding: 18px;
    text-decoration: none;
    color: #fff;
    overflow: hidden;
}

.hero-tile::before{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(17, 90, 68, 0.10);
    transition: background .25s ease;
}

.hero-tile span{
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 10px 34px;
    background: rgba(107, 166, 128, 0.56);
    backdrop-filter: blur(4px);
    font-size: 2.2rem;
    line-height: 1.05;
    color: #ffffff;
    text-shadow: 0 2px 10px rgba(0,0,0,0.30);
    transform: translateY(6px);
    opacity: 0.96;
    transition: transform .25s ease, opacity .25s ease, background .25s ease;
}

.hero-tile:hover::before{
    background: linear-gradient(
        to top,
        rgba(17, 90, 68, 0.42),
        rgba(17, 90, 68, 0.14)
    );
}

.hero-tile:hover span{
    transform: translateY(0);
    opacity: 1;
    background: rgba(107, 166, 128, 0.72);
}


/* HOME INTRO */

/* ================= HOME ================= */


/* HERO (desktop) */

.home-hero{
    position: relative;
    width: min(1280px, calc(100% - 40px));
    margin: 32px auto 0;
     aspect-ratio: 1280 / 760;
    overflow: hidden;
    border-radius: 22px;
}

.home-hero__image{
    position: absolute;
    inset: 0;
}

.home-hero__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 5%;   /* fej maradjon látszó */
    display: block;
}

.home-hero__hotspots{
    position: absolute;
    inset: 0;
}

.hero-tile{
    position: absolute;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 18px;
    text-decoration: none;
    color: #fff;
    overflow: hidden;
}

.hero-tile::before{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(17,90,68,0.10);
    transition: background .25s ease;
}

.hero-tile span{
    position: relative;
    z-index: 2;
    padding: 10px 34px;
    background: rgba(107,166,128,0.56);
    backdrop-filter: blur(4px);
    font-size: 2.2rem;
    line-height: 1.05;
    color: #fff;

    text-shadow: 0 2px 10px rgba(0,0,0,0.30);

    transform: translateY(6px);
    transition: all .25s ease;
}

.hero-tile:hover::before{
    background: linear-gradient(
        to top,
        rgba(17,90,68,0.42),
        rgba(17,90,68,0.14)
    );
}

.hero-tile:hover span{
    transform: translateY(0);
    background: rgba(107,166,128,0.72);
}


/* HERO TILE ELRENDEZÉS */

.tile-01{ left:1%; top:1%; width:32%; height:24%; }
.tile-02{ left:1%; top:27%; width:32%; height:35%; }
.tile-03{ left:1%; top:64%; width:32%; height:35%; }

.tile-04{ left:35%; top:1%;  width:25%; height:56%; }
.tile-05{ left:35%; top:59%; width:25%; height:40%; }

.tile-06{ left:62%; top:1%;  width:37%; height:31%; }
.tile-07{ left:62%; top:34%; width:37%; height:31%; }
.tile-08{ left:62%; top:67%; width:37%; height:32%; }

.tile-04{
    align-items: flex-start;
    justify-content: center;
    padding-top: 28px;
}

.tile-06{
    align-items: flex-start;
    justify-content: center;
    padding-top: 75px;
}

/* INTRO SZEKCIÓ */

.home-intro{
    text-align:center;
    padding:56px 0 40px;
}

.home-intro h1{
    margin:0 0 16px;
    color:var(--dark);
    font-size:clamp(2rem,4vw,3.4rem);
}

.home-intro__text{
    margin:0 auto;
    max-width:760px;
    font-size:1.08rem;
    line-height:1.75;
    color:#355347;
}



/* HOME CARD GRID */

.home-sections__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}


/* HOME CARD */

.home-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 10px 22px rgba(0,0,0,0.14);
    border:1px solid rgba(17,90,68,0.08);
}

.home-card__image{
    position:relative;
}

.home-card__image img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
}

.home-card__image h2{
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;

    margin:0;
    padding:10px 14px;

    background:rgba(107,166,128,0.58);
    backdrop-filter:blur(4px);
/*    border-radius:12px;*/
    font-size:2rem;
    line-height:1.05;
    color:#fff;

    text-shadow:0 2px 10px rgba(0,0,0,0.28);
}

.home-card__content{
    padding:18px 20px 20px;
}

.home-card__content p{
    margin:0 0 14px;
}

.home-card__content a{
    color:var(--dark);
    font-weight:700;
    text-decoration:none;
}



/* MOBILE */

@media (max-width:900px){

    .home-hero{
        display:none;
    }

    .home-sections__grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .home-card__image img{
        height:240px;
    }

    .home-card__image h2{
        font-size:1.8rem;
        left:16px;
        right:16px;
        bottom:16px;
    }

    .home-intro{
        padding:42px 0 28px;
    }
}

/*===CONTACT===*/

.contact-card{
    max-width: 620px;
    margin: 0 auto;

    background: #ffffff;
    border-radius: 22px;
    padding: 36px 42px;

    border: 1px solid rgba(17,90,68,0.12);
    box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}

.contact-card h1{
    margin-top:0;
    margin-bottom:24px;
    color:var(--dark);
	text-align: center;
}

.contact-list{
    list-style:none;
    padding:0;
    margin:0;
}

.contact-list li{
    margin-bottom:14px;
    font-size:1.05rem;
}

.contact-list a{
    color:#355347;
    text-decoration:none;
    font-weight:600;
}

.contact-list a:hover{
    text-decoration:underline;
}

.contact-map{
margin-top:40px;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 24px rgba(0,0,0,0.12);
}

.info-block + .contact-simple {
    padding-top: 30px;
}

.about-gallery-item {
    display: flex;
    justify-content: center;
}

.about-gallery-item img {
    width: auto;
    max-width: 600px; /* állítsd ízlés szerint */
}

.home-mobile-intro-photo {
    display: none;
}

@media (max-width: 768px) {
    .home-mobile-intro-photo {
        display: block;
        padding: 0 0 28px;
    }
}

.packages-grid--with-image{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.packages-image img{
    width: 100%;
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(17,90,68,0.12);
}

.packages-grid--with-image{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch; /* EZ A LÉNYEG */
}

.package-card{
    height: 100%;
}

.packages-image{
    height: 100%;
}

.packages-image img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* kitölti, nem torzít */
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(17,90,68,0.12);
}

.packages .section-heading{
    margin-bottom: 16px;
}

.contact-card .eyebrow{
    text-align: center;
    margin: 0 auto 45px;
	display: inline-block;
}

.contact-card{
    text-align: center;
}

.packages + .gallery-strip{
    padding-top: 0;
}
