 :root {
     --td: #3a3530;
     --tm: #6b6158;
     --tl: #9a9088;
     --wh: #ffffff;
     --cream: #fdf6f4;
     /* volt: #faf8f3 – krémrózsaszín alap */
     --yl: #f8e8e2;
     /* volt: #f9f2d8 – babarózsa világos */
     --ym: #f0cfc4;
     /* volt: #f2e4a0 – melegrózsaszín közepes */
     --ya: #c49a8a;
     /* volt: #c9a94a – rozéarany akcentszín */
     --sage: #e8d8d2;
     /* volt: #d6dcc8 – meleg homok */
     --blush: #fdf0ec;
     /* volt: #f0e8e0 – halvány púder */
     --nav-h: clamp(64px, 6vw, 92px);
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
 }

 h2 {
     font-family: 'Cormorant Garamond', serif;
     font-size: 2vw;
     font-weight: 300;
     line-height: 1;
     color: var(--td);
     margin-bottom: 1.5rem;
 }

 body {
     font-family: 'Jost', sans-serif;
     background: var(--cream);
     color: var(--td);
     font-weight: 400;
     line-height: 1.7;
 }

 nav {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 100;
     display: flex;
     justify-content: space-between;
     align-items: center;
     height: var(--nav-h);
     padding: 0 5vw;
     background: rgba(250, 248, 243, .93);
     backdrop-filter: blur(8px);
     border-bottom: 1px solid rgba(201, 169, 74, .15);
     transition: box-shadow .3s;
 }

 .delivery-note {
     font-family: 'Cormorant Garamond', serif;
     margin: 1.8rem auto 0;
     text-align: center;
     font-size: 1rem;
     line-height: 1.45;
     color: rgba(113, 109, 104, 0.846);
 }

 .logo span {
     color: var(--ya);
 }

 .logo-img {
     height: 100%;
     width: auto;
     display: block;
 }

 .logo {
     display: flex;
     align-items: center;
     height: 100%;
 }

 .logo-text {
     margin-left: 0.5rem;
     font-family: 'Cormorant Garamond', serif;
     font-size: 1.8rem;
     letter-spacing: .12em;
     color: var(--td);
     text-decoration: none;
 }

 .nav-links {
     font-family: 'Cormorant Garamond', serif;
     display: flex;
     gap: 2rem;
     list-style: none;
 }

 .nav-links a {
     font-size: .78rem;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: var(--tm);
     text-decoration: none;
     transition: color .25s;
 }

 .nav-links a:hover {
     color: var(--ya);
 }

 .hamburger-button {
     display: none;
     flex-direction: column;
     gap: 5px;
     cursor: pointer;
     background: none;
     border: none;
     padding: 4px;
 }

 .hamburger-button span {
     display: block;
     width: 22px;
     height: 1.5px;
     background: var(--td);
 }

 .hero {
     min-height: 100vh;
     display: flex;
     align-items: center;
     padding-top: 0 5vw;
     background: linear-gradient(135deg, var(--cream) 0%, var(--yl) 55%, var(--blush) 100%);
     position: relative;
     overflow: hidden;
 }

 .hero::before {
     content: '';
     position: absolute;
     top: -20%;
     right: -10%;
     width: 60vw;
     height: 60vw;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(242, 228, 160, .3) 0%, transparent 70%);
     pointer-events: none;
 }

 .hero::after {
     content: '';
     position: absolute;
     bottom: -10%;
     left: -5%;
     width: 40vw;
     height: 40vw;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(214, 220, 200, .2) 0%, transparent 70%);
     pointer-events: none;
 }

 .hero-content {

     z-index: 1;
 }

 #leiras {
     font-size: 1.5vw;
     font-family: 'Cormorant Garamond', serif;
     color: black;

 }



 .hero-eyebrow {
     font-size: .72rem;
     letter-spacing: .22em;
     text-transform: uppercase;
     color: var(--ya);
     margin-bottom: 1.5rem;
 }

 .hero h1 {
     font-family: 'Cormorant Garamond', serif;
     font-size: clamp(3rem, 6vw, 5.5rem);
     font-weight: 300;
     line-height: 1.1;
     color: var(--td);
     margin-bottom: 1.5rem;
 }

 .hero h1 {
     color: var(--ya);
 }

 .hero p {
     color: var(--tm);
     font-weight: 400;
     max-width: 420px;
     margin-bottom: 2.5rem;
 }

 .herodiv {
     width: 50%;
 }

 .hero-img {
     width: 70%;
     height: auto;
     display: block;
 }

 .hero-img-div {
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .cta-button {
     display: inline-block;
     padding: .85rem 2.5rem;
     font-size: .75rem;
     letter-spacing: .18em;
     text-transform: uppercase;
     text-decoration: none;
     border: 1px solid var(--ya);
     color: var(--td);
     background: transparent;
     cursor: pointer;
     transition: all .3s;
 }

 .cta-button:hover {
     background: var(--ya);
     color: var(--wh);
 }

 section {
     padding: 7rem 5vw;
 }

 .section-label {
     font-size: .68rem;
     letter-spacing: .25em;
     text-transform: uppercase;
     color: var(--ya);
     margin-bottom: .6rem;
 }

 .section-title {
     font-family: 'Cormorant Garamond', serif;
     /* font-size: clamp(2rem, 3.5vw, 3rem); */
     font-size: 2rem;
     font-weight: 300;
     line-height: 1.2;
     color: var(--td);
     margin-bottom: 1.5rem;
 }

 #sorkizart{
    text-align: justify;
 }

 .section-divider {
     width: 40px;
     height: 1px;
     background: var(--ya);
     margin: 1.5rem 0;
 }

 .about {
     background: var(--wh);
 }

 .about-content {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 6vw;
     align-items: center;
     max-width: 1100px;
     margin: 0 auto;
 }

 .about-image-wrap {
     position: relative;
 }

 .about-image-placeholder {
     width: 100%;
     aspect-ratio: 3.5 / 4;
     background: linear-gradient(145deg, var(--yl), var(--sage));
     background-position: center;
     background-size: cover;
     background-repeat: no-repeat;
     border-radius: 2px;

     display: flex;
     align-items: center;
     justify-content: center;
     font-family: 'Cormorant Garamond', serif;
     font-size: 1.1rem;
     color: var(--tl);
 }

 .about-image-logo {
     width: 80%;
     height: auto;
     position: absolute;
     left: 30px;
     top: 50%;
     transform: translateY(-50%);
     opacity: 0.8;
     transition: opacity 0.3s ease;
 }

 .about-image-wrap::before {
     content: '';
     position: absolute;
     top: 16px;
     left: 16px;
     right: -16px;
     bottom: -16px;
     border: 1px solid var(--ym);
     border-radius: 2px;
     z-index: -1;
 }

 .about-text p {
     font-size: 1.2rem;
     font-family: 'Cormorant Garamond', serif;
     color: black;
     margin-bottom: 1rem;
 }

 .about-signature {
     font-family: 'Cormorant Garamond', serif;
     font-size: 1.35rem;
     color: var(--ya);
     margin-top: 1.5rem;
 }

 .quote-section {
     background: var(--yl);
     text-align: center;
     padding: 5rem 5vw;
 }

 .quote-section blockquote {
     font-family: 'Cormorant Garamond', serif;
     font-size: clamp(1.3rem, 2.5vw, 2rem);
     font-weight: 300;
     color: var(--td);
     max-width: 700px;
     margin: 0 auto;
     line-height: 1.55;
 }

 .services {
     background: var(--cream);
 }

 .services-header {
     text-align: center;
     max-width: 560px;
     margin: 0 auto 4rem;
 }

 .services-header .section-divider {
     margin: 1rem auto;
 }

 .service-grid {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     gap: 1.5rem;
     justify-content: center;
     
 }

 .service-card {
     width: 30%;
     height: auto;
     background: var(--wh);
     border: 1px solid rgba(201, 169, 74, .18);
     padding: 2rem 1.8rem;
     border-radius: 2px;
     transition: box-shadow .3s, transform .3s;
     
 }

 .service-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 3px;
     background: linear-gradient(90deg, var(--ym), var(--ya));
     transform: scaleX(0);
     transform-origin: left;
     transition: transform .4s;
 }

 .service-card:hover {
     box-shadow: 0 8px 30px rgba(0, 0, 0, .06);
     transform: translateY(-3px);
 }

 .service-card:hover::before {
     transform: scaleX(1);
 }

 .service-title {
     font-family: 'Cormorant Garamond', serif;
     font-size: 1.35rem;
     font-weight: 400;
     color: var(--td);
     margin-bottom: .3rem;
 }

 .service-subtitle {
     font-family: 'Cormorant Garamond', serif;
     font-size: .90rem;
     letter-spacing: .15em;
     text-transform: uppercase;
     color: var(--tl);
     margin-bottom: 1.3rem;
 }

 .price-package {
     border-top: 1px solid var(--yl);
     padding-top: 1.1rem;
     margin-top: 1.1rem;
 }

 .price-package:first-of-type {
     border-top: none;
     padding-top: 0;
     margin-top: 0;
 }

 .package-details {
     font-family: 'Cormorant Garamond', serif;
     display: flex;
     color: black;
     flex-direction: column;
     gap: .3rem;

     margin-bottom: .7rem;
 }

 .package-details p {
     font-size: 1.3em;
 }

 #contact-des {
     font-size: 1.2em;
 }

 .package-details div {
     display: flex;
     align-items: flex-start;
     gap: .5rem;
     font-size: .82rem;
     color: var(--tm);
 }

 .package-details div::before {
     content: '—';
     color: var(--ya);
     flex-shrink: 0;
     font-size: .7rem;
     margin-top: .22rem;
 }

 .price-amount {
     font-size: 1rem;
     font-weight: 300;
     color: var(--ya);
 }

 .price-amount span {
     font-size: .78rem;
     font-family: 'Jost', sans-serif;
     color: var(--ya);
     margin-left: 2px;
 }

 .service-description {
     font-family: 'Cormorant Garamond', serif;
     font-size: 1rem;
     color: black;
     margin-bottom: 1.3rem;
     line-height: 1.65;
 }

 .featured-service-card {
     background: linear-gradient(135deg, var(--yl) 0%, var(--cream) 100%);
     border-color: rgba(201, 169, 74, .35);
 }

 .package-label {
     font-size: .68rem;
     letter-spacing: .12em;
     text-transform: uppercase;
     color: var(--tl);
     margin-bottom: .5rem;
 }

 .contact {
     background: var(--wh);
 }

 .contact-content {
     max-width: 660px;
     margin: 0 auto;
     text-align: center;
 }

 .contact-content .section-divider {
     margin: 1rem auto;
 }

 .contact-content p {
     font-family: 'Cormorant Garamond', serif;
     font-size: .93rem;
     color: black;
     margin-bottom: 2.5rem;
 }

 .contact-links {
     display: flex;
     justify-content: center;
     gap: 2rem;
     flex-wrap: wrap;
 }

 .contact-link {
     font-size: .77rem;
     letter-spacing: .15em;
     color: var(--tm);
     text-decoration: none;
     border-bottom: 1px solid var(--ym);
     padding-bottom: 2px;
     transition: color .25s, border-color .25s;
 }

 .contact-link:hover {
     color: var(--ya);
     border-color: var(--ya);
 }

 .contact-link-icon {
     display: inline-flex;
     align-items: center;
     gap: .55rem;
     border-bottom: none;
     padding: .75rem 1.6rem;
     border: 1px solid var(--ym);
     border-radius: 2px;
     letter-spacing: .12em;
     transition: all .3s;
 }

 .contact-link-icon svg {
     flex-shrink: 0;
     color: var(--ya);
     transition: color .3s;
 }

 .contact-link-icon:hover {
     background: var(--ya);
     border-color: var(--ya);
     color: var(--wh);
 }

 .contact-link-icon:hover svg {
     color: var(--wh);
 }

 .contact-note {

     max-width: 480px;
     font-size: .72rem;
     line-height: 1.45;
     color: rgba(154, 144, 136, .75);
 }

 footer {
     background: var(--wh);
     border-top: 1px solid rgba(201, 169, 74, .18);
     text-align: center;
     padding: 2rem 5vw;
     font-size: .72rem;
     color: var(--tl);
     letter-spacing: .1em;
 }

 .mobile-menu {
     display: none;
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: var(--cream);
     z-index: 200;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     gap: 2.5rem;
 }

 .mobile-menu.open {
     display: flex;
 }

 .mobile-menu a {
     font-family: 'Cormorant Garamond', serif;
     font-size: 2rem;
     font-weight: 300;
     color: var(--td);
     text-decoration: none;
 }

 .mobile-menu a:hover {
     color: var(--ya);
 }



 .mobile-menu-close {
     position: absolute;
     top: 1.5rem;
     right: 5vw;
     background: none;
     border: none;
     font-size: 1.5rem;
     cursor: pointer;
     color: var(--tm);
 }

 .fade-up {
     opacity: 0;
     transform: translateY(26px);
     transition: opacity .7s ease, transform .7s ease;
 }

 .fade-up.visible {
     opacity: 1;
     transform: translateY(0);
 }

 @media (max-width: 768px) {
     .nav-links {
         display: none;
     }

     .hamburger-button {
         display: flex;
     }

     .about-content {
         grid-template-columns: 1fr;
     }

     .about-image-wrap {
         max-width: 340px;
         margin: 0 auto;
     }

     .hero {
         padding-top: 6rem;
     }

 }

 

 @media (max-width: 1040px) {
     .service-card {
         width: 48%;
         
     }

 }

 .hero-img-mobil {
     display: none;
     width: 60%;
     height: auto;
 }

 
 

 .behuzas {
     text-indent: 1.5em;
 }





 .service-info {
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 /* 4-es mini galéria stílusa */
 .service-gallery {
     display: flex;
     flex-wrap: wrap;
     flex-direction: row;
     justify-content: center;
     align-content: flex-start;
     gap: 6px;
 }



 .gallery-item {
     width: calc(50% - 6px);
     height: auto;
     aspect-ratio: 4 / 3;
     background: var(--blush);
     border-radius: 2px;
     overflow: hidden;
     position: relative;
     transition: transform 0.5s ease;
 }

 .gallery-item img {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center;
     opacity: 0.8;
     transition: opacity 0.3s ease;
 }

 .gallery-item:hover {
     transform: scale(1.03);
 }

 .gallery-item:hover img {
     opacity: 1;
 }

 .gallery-item.portrait {
     aspect-ratio: 3 / 4;
 }

 .gallery-item.portrait img {
     object-fit: cover;
 }



 /* Dekoráció a galéria köré */
 .service-gallery::after {
     content: '';
     position: absolute;
     inset: -10px;
     border: 1px solid var(--yl);
     z-index: -1;
     pointer-events: none;
 }

 .service-group-h {
     display: flex;
     flex-direction: column;
     gap: 6px;
 }

 .service-gallery>.gallery-item.portrait,
 .service-gallery>.service-group-h {
     width: calc(50% - 3px);
 }

 .service-group-h .gallery-item {
     width: 100%;
 }

 @media (max-width: 900px) {

     .service-gallery>.gallery-item.portrait,
     .service-gallery>.service-group-h {
         width: 100%;
     }
 }



 .gallery-section {
     background: var(--cream);
     padding: 7rem 5vw;
 }

 .gallery-section-header {
     text-align: center;
     max-width: 560px;
     margin: 0 auto 3rem;
 }

 .gallery-section-header .section-divider {
     margin: 1rem auto;
 }

 .portfolio-grid {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     max-width: 1100px;
     margin: 0 auto;
 }

 .portfolio-item {
     flex: 1 1 1 1;
     background: var(--wh);
     height: 220px;
     overflow: hidden;
     border-radius: 2px;
 }

 .portfolio-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform .6s ease, opacity .4s ease;
     opacity: .92;
 }

 .portfolio-item:hover img {
     transform: scale(1.04);
     opacity: 1;
 }

 @media (max-width: 768px) {
     .portfolio-item {
         flex: 1 1 calc(33.333% - 8px);
         /* 3 oszlop */
         height: 160px;
     }
 }

 @media (max-width: 480px) {
     .portfolio-item {
         flex: 1 1 calc(50% - 8px);
         /* 2 oszlop */
         height: 140px;
     }
 }

 .kameras-elvalaszto {
     position: relative;
     width: 60%;
     height: 2px;
     background-color: #f0cfc4;
     margin: 4rem auto;
 }

 .kamera {
     position: absolute;
     top: 50%;
     left: 50%;
     width: 5vw;
     height: 8vh;
     transform: translate(-50%, -50%);
     display: flex;
     align-items: center;
     justify-content: center;
     background-color: #ffffff;
     padding: 0;
     font-size: 2rem;
     color: rgb(240, 207, 196);
     z-index: 1;
     line-height: 1;
     user-select: none;
     border-radius: 50%;
     box-shadow: 0 0 8px rgba(240, 207, 196, 0.7);
 }

 .portfolio-flex {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     gap: 8px;
     justify-content: center;
     align-items: center;
 }

 .pf-item {
     width: 23%;
     height: 38vh;
     display: block;
 }

 @media (max-width: 900px) {
     .pf-item {
         width: 48%;
         height: 38vh;
     }
 }

 @media (max-width: 500px) {
     .pf-item {
         width: 90%;
         height: auto;
     }
 }

 .kamera-ikon {
     display: block;
     width: 65%;
     height: 65%;
     object-fit: contain;
 }

 @media (max-width: 760px) {
    .service-card {
         width: 100%;
         
     }   
     .hero {
        flex-direction: column;
        gap: 2rem;
        align-items: center;
        /* Változtasd auto-ra, hogy csak akkora legyen, mint a tartalom */
        height: auto; 
        min-height: auto; 
        /* Adj neki egy kis extra alsó paddingot a gomb/kép alá */
        padding-bottom: 4rem; 
        padding-top: 8rem; /* Hogy ne csússzon a fix menü alá */
    }

    .cta-button{
        max-width: 100vw;
        margin-top: 3vh;
        margin-bottom: 1vh;
    }

    .kamera-ikon {
        width: 9vw;
        height: auto;
    }

    .kameras-elvalaszto {
        width: 100%;
        height: 1.5px;
    }

    .kamera {
        width: 12vw;
        max-height: 7vh;
        
    }

    

    .hero-content {
        width: 100%;
        height: auto;
        /* Középre igazítja a szöveget és a gombot mobilon */
        display: flex;
        flex-direction: column;
        align-items: center;
        
    }

    .hero-img-mobil {
        display: block; /* 'flex' helyett 'block' szerencsésebb */
        width: 80%; /* Lehet kicsit nagyobb mobilon */
        max-height: none; /* Ne korlátozd a magasságot, ha sok a hely */
        margin:  auto ;
    }
     #leiras{
        font-size: 1.1rem;
     }
     .hero-content h2{
        font-size: 1.8rem;
     }
     
     .hero-img-div {
         display: none;
     }
 }
