/* ============================================
   IMPORTS & FONTS
   ============================================ */
   @import url('https://fonts.googleapis.com/css2?family=Allura&family=Lora:ital,wght@0,400..700;1,400..700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

   @font-face {
       font-family: 'New Icon Script';
       src: url('./font/New-Icon-Script.otf') format('opentype');
       font-weight: normal;
       font-style: normal;
   }
   
   /* ============================================
      CSS VARIABLES
      ============================================ */
   :root {
       --gold: #D4AF37;
       --dark-gold: #B8860B;
       --dark-gold-hover: #a3750a;
       --butter-cream: #fcfaf2;
       --text-color: #444;
       --text-color-secondary: #666666;
       --text-color-dark: #4a4a4a;
       --white: #ffffff;
       --shadow-light: 0 4px 15px rgba(0, 0, 0, 0.08);
       --shadow-medium: 0 10px 30px rgba(0, 0, 0, 0.08);
       --shadow-dark: 0 15px 40px rgba(0, 0, 0, 0.12);
       --overlay-dark: rgba(0, 0, 0, 0.4);
       --focus-glow: rgba(181, 161, 98, 0.5);
       
       --font-heading-main: 'New Icon Script';
       --font-heading-sub: 'Playfair Display', serif;
       --font-body: 'Lora', serif;
       
       --container-max-width: 1200px;
       --border-radius-small: 8px;
       --border-radius-medium: 10px;
       --border-radius-large: 12px;
       --border-radius-round: 50px;
   }
   
   /* ============================================
      RESET & BASE STYLES
      ============================================ */
   * {
       box-sizing: border-box;
       margin: 0;
       padding: 0;
   }
   
   html {
       scroll-behavior: smooth;
   }
   
   body {
       font-family: var(--font-body);
       line-height: 1.7;
       color: var(--text-color);
       background-color: var(--butter-cream);
       overflow-x: hidden;
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
   }
   
   /* ============================================
      TYPOGRAPHY
      ============================================ */
   h1, h2, h3, h4 {
       font-family: var(--font-heading-sub);
       color: var(--dark-gold);
   }
   
   h1 {
       font-family: var(--font-heading-main);
       font-size: 5.5rem;
       font-style: normal;
       font-weight: 400;
   }
   
   h2 {
       font-size: 3rem;
       margin-bottom: 2rem;
   }
   
   h3 {
       font-size: 2rem;
   }
   
   h4 {
       font-size: 1.5rem;
       margin-bottom: 1rem;
   }
   
   /* ============================================
      LINKS
      ============================================ */
   a {
       text-decoration: none;
       color: var(--dark-gold);
       transition: color 0.3s ease;
   }
   
   a:hover {
       color: var(--gold);
   }
   
   .active {
       color: var(--gold);
       font-weight: bold;
   }
   
   /* ============================================
      BUTTONS
      ============================================ */
   .btn {
       display: inline-block;
       background: linear-gradient(135deg, var(--dark-gold) 0%, var(--gold) 100%);
       color: var(--butter-cream);
       padding: 15px 35px;
       border-radius: var(--border-radius-round);
       text-transform: uppercase;
       letter-spacing: 1.2px;
       font-weight: 600;
       transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
       border: none;
       cursor: pointer;
       box-shadow: 0 4px 15px rgba(184, 134, 11, 0.3);
       font-family: var(--font-body);
       position: relative;
       overflow: hidden;
   }
   
   .btn::before {
       content: '';
       position: absolute;
       top: 0;
       left: -100%;
       width: 100%;
       height: 100%;
       background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
       transition: left 0.5s;
   }
   
   .btn:hover::before {
       left: 100%;
   }
   
   .btn:hover {
       background: linear-gradient(135deg, var(--gold) 0%, var(--dark-gold) 100%);
       transform: translateY(-3px);
       box-shadow: 0 8px 25px rgba(184, 134, 11, 0.4);
       color: var(--butter-cream);
   }
   
   .btn:active {
       transform: translateY(-1px);
       box-shadow: 0 4px 15px rgba(184, 134, 11, 0.3);
   }
   
   .btn-small {
       padding: 12px 28px;
       border-radius: 30px;
       font-size: 0.95em;
   }
   
   /* ============================================
      HEADER & NAVIGATION
      ============================================ */
   .main-header {
       width: 100%;
       background-color: rgba(252, 250, 242, 0.98);
       backdrop-filter: blur(10px);
       position: sticky;
       top: 0;
       z-index: 1000;
       box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
       transition: box-shadow 0.3s ease;
   }
   
   .main-header:hover {
       box-shadow: 0 4px 25px rgba(0, 0, 0, 0.08);
   }
   
   .header-content {
       display: flex;
       justify-content: space-between;
       align-items: center;
       max-width: var(--container-max-width);
       margin: 0 auto;
       padding: 0.5rem 2rem;
       position: relative;
   }
   
   .logo-container {
       flex-grow: 1;
   }
   
   .logo-image {
       height: 110px;
       transition: transform 0.3s ease;
   }
   
   .logo-image:hover {
       transform: scale(1.05);
   }
   
   /* Hamburger Menu Button */
   .menu-toggle {
       display: none;
       flex-direction: column;
       background: transparent;
       border: none;
       cursor: pointer;
       padding: 0.5rem;
       z-index: 1001;
       gap: 5px;
   }
   
   .menu-toggle span {
       display: block;
       width: 28px;
       height: 3px;
       background-color: var(--dark-gold);
       border-radius: 3px;
       transition: all 0.3s ease;
   }
   
   .menu-toggle.active span:nth-child(1) {
       transform: rotate(45deg) translate(8px, 8px);
   }
   
   .menu-toggle.active span:nth-child(2) {
       opacity: 0;
   }
   
   .menu-toggle.active span:nth-child(3) {
       transform: rotate(-45deg) translate(7px, -7px);
   }
   
   .main-nav ul {
       list-style: none;
       display: flex;
       gap: 2rem;
   }
   
   .main-nav a {
       font-weight: bold;
       font-size: 1.1rem;
       position: relative;
       padding-bottom: 5px;
   }
   
   .main-nav a::after {
       content: '';
       position: absolute;
       bottom: 0;
       left: 50%;
       width: 0;
       height: 2px;
       background-color: var(--gold);
       transition: width 0.3s ease, left 0.3s ease;
   }
   
   .main-nav a:hover::after {
       width: 100%;
       left: 0;
   }
   
   /* ============================================
      SECTIONS & LAYOUT
      ============================================ */
   .section-padding {
       padding: 6rem 5%;
       text-align: center;
   }
   
   .bg-cream {
       background-color: var(--butter-cream);
   }
   
   .page-header {
       padding: 6rem 5% 3rem;
       text-align: center;
       background: linear-gradient(180deg, rgba(252, 250, 242, 0.95) 0%, var(--butter-cream) 100%);
       position: relative;
   }
   
   .page-header::after {
       content: '';
       position: absolute;
       bottom: 0;
       left: 0;
       width: 100%;
       height: 1px;
       background: linear-gradient(90deg, transparent, var(--gold), transparent);
   }
   
   .page-header p {
       font-size: 1.2rem;
       color: var(--text-color);
       max-width: 800px;
       margin: 0 auto;
   }
   
   /* ============================================
      HERO SECTION
      ============================================ */
   .hero-section {
       background: url('backround.jpg') no-repeat center center/cover;
       height: 90vh;
       display: flex;
       justify-content: flex-start;
       align-items: center;
       color: white;
       position: relative;
       text-align: left;
       padding-left: 5%;
   }
   
   .hero-section::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background: linear-gradient(135deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 100%);
       z-index: 0;
   }
   
   .hero-content {
       position: relative;
       z-index: 1;
       max-width: 600px;
       padding: 0 20px;
       margin-left: 5%;
   }
   
   .hero-content h1 {
       font-family: var(--font-heading-main);
       color: var(--butter-cream);
       font-size: 6rem;
       margin-bottom: 1rem;
       text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8), 0 0 30px rgba(0, 0, 0, 0.3);
       letter-spacing: 1px;
   }
   
   .hero-content p {
       font-size: 1.8rem;
       margin-bottom: 2.5rem;
       color: white;
       text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
       font-family: var(--font-heading-sub);
       font-style: italic;
   }
   
   /* ============================================
      PACKAGES SECTION
      ============================================ */
   #csomagok {
       text-align: center;
       background-color: var(--butter-cream);
   }
   
   .services-section {
       background-color: var(--butter-cream);
   }
   
   .service-cards-container {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
       gap: 40px;
       max-width: var(--container-max-width);
       margin: 3rem auto 0;
       padding: 0 20px;
   }
   
   #csomagok h2 {
       font-family: var(--font-heading-sub);
       font-size: 2.8em;
       color: var(--text-color-dark);
       margin-bottom: 60px;
       position: relative;
       padding-bottom: 15px;
   }
   
   #csomagok h2::after {
       content: '';
       position: absolute;
       left: 50%;
       bottom: 0;
       transform: translateX(-50%);
       width: 100px;
       height: 4px;
       background: linear-gradient(90deg, transparent, var(--gold), var(--dark-gold), var(--gold), transparent);
       border-radius: 5px;
       box-shadow: 0 2px 8px rgba(184, 134, 11, 0.3);
   }
   
   .service-grid-container {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
       gap: 40px;
       max-width: var(--container-max-width);
       margin: 0 auto;
       padding: 0 20px;
   }
   
   .service-card {
       background-color: var(--white);
       border-radius: var(--border-radius-large);
       overflow: hidden;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
       display: flex;
       flex-direction: column;
       transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
       text-align: left;
       border: 1px solid rgba(212, 175, 55, 0.1);
   }
   
   .service-card:hover {
       transform: translateY(-10px) scale(1.02);
       box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
       border-color: rgba(212, 175, 55, 0.3);
   }
   
   .card-image-wrapper {
       width: 100%;
       padding-bottom: 66.66%;
       position: relative;
       overflow: hidden;
       border-top-left-radius: var(--border-radius-large);
       border-top-right-radius: var(--border-radius-large);
   }
   
   .service-card .card-image {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       object-fit: cover;
       transition: transform 0.3s ease;
   }
   
   /* Card image without wrapper (for blog cards) */
   .service-card > img.card-image {
       position: static;
       width: 100%;
       height: auto;
       display: block;
       border-top-left-radius: var(--border-radius-large);
       border-top-right-radius: var(--border-radius-large);
   }
   
   .service-card:hover .card-image {
       transform: scale(1.05);
   }
   
   .service-card .card-content {
       padding: 25px;
       display: flex;
       flex-direction: column;
       flex-grow: 1;
   }
   
   .service-card .card-content h3 {
       font-family: var(--font-heading-sub);
       font-size: 1.8em;
       color: var(--dark-gold);
       margin-bottom: 15px;
       line-height: 1.3;
   }
   
   .service-card .card-content p {
       font-family: var(--font-body);
       font-size: 1.1em;
       color: var(--text-color-secondary);
       margin-bottom: 25px;
       line-height: 1.6;
       flex-grow: 1;
   }
   
   .service-card .btn-small {
       display: inline-block;
       padding: 12px 28px;
       background: linear-gradient(135deg, var(--dark-gold) 0%, var(--gold) 100%);
       color: var(--white);
       text-decoration: none;
       border-radius: var(--border-radius-round);
       font-weight: 600;
       font-size: 0.95em;
       transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
       align-self: flex-start;
       box-shadow: 0 3px 12px rgba(184, 134, 11, 0.25);
   }
   
   .service-card .btn-small:hover {
       background: linear-gradient(135deg, var(--gold) 0%, var(--dark-gold) 100%);
       transform: translateY(-3px);
       box-shadow: 0 6px 20px rgba(184, 134, 11, 0.35);
   }
   
   /* ============================================
      HOW IT WORKS SECTION
      ============================================ */
   .how-it-works-section {
       background-color: var(--butter-cream);
   }
   
   .steps-container {
       display: flex;
       justify-content: center;
       flex-wrap: wrap;
       gap: 3rem;
       margin-top: 3rem;
   }
   
   .step {
       flex-basis: 300px;
       background-color: var(--white);
       padding: 2rem;
       border-radius: var(--border-radius-medium);
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
       position: relative;
       transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
       border: 1px solid rgba(212, 175, 55, 0.1);
   }
   
   .step:hover {
       transform: translateY(-8px) scale(1.03);
       box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
       border-color: rgba(212, 175, 55, 0.2);
   }
   
   .step-number {
       position: absolute;
       top: -20px;
       left: 50%;
       transform: translateX(-50%);
       width: 50px;
       height: 50px;
       background: linear-gradient(135deg, var(--gold) 0%, var(--dark-gold) 100%);
       color: white;
       border-radius: 50%;
       display: flex;
       justify-content: center;
       align-items: center;
       font-weight: bold;
       font-size: 1.3rem;
       box-shadow: 0 4px 15px rgba(184, 134, 11, 0.4);
       transition: all 0.3s ease;
   }
   
   .step:hover .step-number {
       transform: translateX(-50%) scale(1.1) rotate(5deg);
       box-shadow: 0 6px 20px rgba(184, 134, 11, 0.5);
   }
   
   /* ============================================
      FAQ SECTION
      ============================================ */
   .gyik-section {
       background-color: var(--butter-cream);
   }
   
   .gyik-container {
       max-width: 900px;
       margin: 3rem auto 0;
       display: flex;
       flex-direction: column;
       gap: 2rem;
   }
   
   .gyik-item {
       background-color: var(--white);
       padding: 2rem;
       border-radius: var(--border-radius-medium);
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
       text-align: left;
       transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
       border-left: 4px solid transparent;
   }
   
   .gyik-item:hover {
       transform: translateX(8px) translateY(-4px);
       box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
       border-left-color: var(--gold);
   }
   
   .gyik-item h4 {
       color: var(--dark-gold);
       margin-bottom: 1rem;
   }
   
   .gyik-item p {
       color: var(--text-color);
       line-height: 1.7;
   }
   
   /* ============================================
      GALLERY SECTION (MODIFIED FOR MASONRY)
      ============================================ */
   .gallery-section {
       background-color: var(--butter-cream);
   }
   
   .photo-grid-container {
       /* Grid helyett oszlopos elrendezés a vegyes méretű képekhez */
       column-count: 3;
       column-gap: 1.5rem;
       margin-top: 3rem;
       padding: 0 20px;
   }
   
   .grid-item {
       width: 100%;
       height: auto; /* Hagyjuk, hogy a kép eredeti magassága érvényesüljön */
       margin-bottom: 1.5rem; /* A grid-gap helyett itt adjuk meg a közt */
       border-radius: var(--border-radius-small);
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
       transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
       cursor: pointer;
       break-inside: avoid; /* Megakadályozza, hogy az oszlopok törjék a képet */
       display: block;
       object-fit: unset; /* Kivesszük a kényszerített vágást */
   }
   
   .grid-item:hover {
       transform: scale(1.02); /* Kicsit finomabb nagyítás, hogy ne csússzon szét az oldal */
       box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
       border-radius: var(--border-radius-medium);
       z-index: 2;
   }
   
   /* ============================================
      TESTIMONIAL SECTION
      ============================================ */
   .testimonial-section {
       background-color: var(--butter-cream);
       color: var(--text-color);
   }
   
   .testimonial-box {
       max-width: 800px;
       margin: 0 auto;
       font-style: italic;
       padding: 3rem;
       background: linear-gradient(135deg, rgba(252, 250, 242, 0.9) 0%, rgba(255, 255, 255, 0.95) 100%);
       border: 2px solid var(--dark-gold);
       border-radius: var(--border-radius-medium);
       box-shadow: 0 8px 30px rgba(184, 134, 11, 0.15);
       position: relative;
       transition: all 0.3s ease;
   }
   
   .testimonial-box::before {
       content: '"';
       position: absolute;
       top: -20px;
       left: 30px;
       font-size: 120px;
       color: var(--gold);
       opacity: 0.2;
       font-family: Georgia, serif;
       line-height: 1;
   }
   
   .testimonial-box:hover {
       transform: translateY(-5px);
       box-shadow: 0 12px 40px rgba(184, 134, 11, 0.2);
   }
   
   .testimonial-box blockquote {
       font-size: 1.5rem;
       line-height: 1.8;
       margin-bottom: 1rem;
       position: relative;
       font-family: var(--font-heading-sub);
       color: var(--text-color);
   }
   
   .testimonial-box p {
       font-size: 1.2rem;
       text-align: right;
       font-style: normal;
   }
   
   /* ============================================
      ABOUT SECTION
      ============================================ */
   .about-content {
       max-width: 800px;
       margin: 0 auto;
       text-align: left;
   }
   
   .about-content p {
       margin-bottom: 1.5rem;
       font-size: 1.2rem;
   }
   
   /* ============================================
      CONTACT SECTION
      ============================================ */
   .contact-section {
       background-color: var(--butter-cream);
   }
   
   .contact-form {
       max-width: 700px;
       margin: 2rem auto 0;
       display: grid;
       gap: 1.5rem;
   }
   
   .contact-form input,
   .contact-form textarea {
       width: 100%;
       padding: 15px 20px;
       border: 2px solid rgba(212, 175, 55, 0.3);
       border-radius: var(--border-radius-small);
       font-family: inherit;
       font-size: 1rem;
       transition: all 0.3s ease;
       background-color: var(--white);
   }
   
   .contact-form input:focus,
   .contact-form textarea:focus {
       outline: none;
       border-color: var(--gold);
       box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1), 0 4px 15px rgba(212, 175, 55, 0.2);
       transform: translateY(-2px);
   }
   
   .contact-form input:hover,
   .contact-form textarea:hover {
       border-color: rgba(212, 175, 55, 0.5);
   }
   
   .contact-info-block {
       margin-top: 3rem;
       padding-top: 3rem;
       border-top: 1px solid var(--gold);
   }
   
   .contact-info-block h3 {
       margin-bottom: 1rem;
   }
   
   .contact-info-block p {
       font-size: 1.1rem;
       margin-bottom: 0.5rem;
   }
   
   .contact-info-block p.partner-info {
       margin-top: 10px;
   }
   
   .social-link {
       display: block;
       margin-top: 1rem;
       font-size: 1.1rem;
   }
   
   /* ============================================
      FOOTER
      ============================================ */
   .main-footer {
       background: linear-gradient(180deg, var(--butter-cream) 0%, rgba(252, 250, 242, 0.95) 100%);
       color: var(--text-color);
       padding: 4rem 5% 3rem;
       border-top: 2px solid rgba(212, 175, 55, 0.2);
       position: relative;
   }
   
   .main-footer::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 1px;
       background: linear-gradient(90deg, transparent, var(--gold), transparent);
   }
   
   .footer-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
       gap: 2rem;
       margin-bottom: 2rem;
   }
   
   .footer-section h4 {
       color: var(--dark-gold);
       font-size: 1.4rem;
       margin-bottom: 1rem;
   }
   
   .footer-section ul {
       list-style: none;
   }
   
   .footer-section p,
   .footer-section a {
       color: var(--text-color);
       margin-bottom: 0.5rem;
       display: block;
   }
   
   .footer-section a:hover {
       color: var(--gold);
       transform: translateX(5px);
       transition: all 0.3s ease;
   }
   
   .footer-section i {
       margin-right: 10px;
       color: var(--gold);
   }
   
   .copyright {
       text-align: center;
       border-top: 1px solid var(--dark-gold);
       padding-top: 1rem;
   }
   
   /* ============================================
      RESPONSIVE DESIGN
      ============================================ */
   
   /* Tablet and smaller desktop */
   @media (max-width: 1200px) {
       .header-content {
           padding: 0.5rem 1.5rem;
       }
       
       .main-nav ul {
           gap: 1.5rem;
       }
       
       .service-grid-container,
       .service-cards-container {
           padding: 0 1.5rem;
       }
   }
   
   /* Tablet */
   @media (max-width: 992px) {
       .service-grid-container {
           gap: 30px;
           grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
       }
       
       /* Masonry Galéria: 2 oszlopra váltás */
       .photo-grid-container {
           column-count: 2;
           padding: 0 1.5rem;
       }
       
       .steps-container {
           gap: 2rem;
       }
       
       .testimonial-box {
           padding: 1.5rem;
       }
       
       .testimonial-box blockquote {
           font-size: 1.3rem;
       }
   }
   
   /* Mobile and tablet portrait */
   @media (max-width: 768px) {
       .menu-toggle {
           display: flex;
       }
       
       .header-content {
           padding: 1rem;
       }
       
       .logo-container {
           flex-grow: 0;
       }
       
       .logo-image {
           height: 90px;
       }
       
       .main-nav {
           position: absolute;
           top: 100%;
           left: 0;
           width: 100%;
           background-color: var(--butter-cream);
           box-shadow: var(--shadow-light);
           max-height: 0;
           overflow: hidden;
           transition: max-height 0.3s ease;
       }
       
       .main-nav.open {
           max-height: 500px;
       }
       
       .main-nav ul {
           flex-direction: column;
           gap: 0;
           padding: 1rem 0;
           align-items: stretch;
       }
       
       .main-nav li {
           width: 100%;
       }
       
       .main-nav a {
           display: block;
           padding: 1rem 2rem;
           text-align: center;
           border-bottom: 1px solid rgba(212, 175, 55, 0.1);
       }
       
       .main-nav a::after {
           display: none;
       }
       
       .hero-section {
           height: 70vh;
           padding-left: 1rem;
           padding-right: 1rem;
           text-align: center;
           justify-content: center;
       }
       
       .hero-content {
           margin-left: 0;
           padding: 0 1rem;
           max-width: 100%;
           text-align: center;
       }
       
       .hero-content h1 {
           font-size: 3.5rem;
       }
       
       .hero-content p {
           font-size: 1.4rem;
       }
       
       .section-padding,
       .page-header {
           padding: 3rem 1rem;
       }
       
       .page-header h1 {
           font-size: 3rem;
       }
       
       h1 {
           font-size: 2.5rem;
       }
       
       h2 {
           font-size: 2rem;
       }
       
       h3 {
           font-size: 1.5rem;
       }
       
       h4 {
           font-size: 1.2rem;
       }
       
       .footer-grid {
           grid-template-columns: 1fr;
           text-align: center;
           gap: 2rem;
       }
       
       .service-grid-container,
       .service-cards-container {
           grid-template-columns: 1fr;
           padding: 0 1rem;
           gap: 2rem;
       }
       
       .steps-container {
           flex-direction: column;
           gap: 2rem;
       }
       
       .step {
           width: 100%;
           flex-basis: auto;
       }
       
       .gyik-container {
           padding: 0 1rem;
           gap: 1.5rem;
       }
       
       .gyik-item {
           padding: 1.5rem;
       }
       
       /* Masonry Galéria: 1 oszlopra váltás */
       .photo-grid-container {
           column-count: 1;
           gap: 0;
           padding: 0 1rem;
       }
       
       /* A korábbi fix magasság törölve lett innen */
       
       .testimonial-box {
           padding: 1.5rem;
           margin: 0 1rem;
       }
       
       .testimonial-box blockquote {
           font-size: 1.2rem;
           line-height: 1.6;
       }
       
       .testimonial-box p {
           font-size: 1rem;
       }
       
       .about-content {
           padding: 0 1rem;
       }
       
       .about-content p {
           font-size: 1.1rem;
       }
       
       .contact-form {
           padding: 0 1rem;
       }
       
       .contact-info-block {
           padding: 0 1rem;
       }
       
       #csomagok h2 {
           font-size: 2.2em;
           margin-bottom: 2rem;
       }
       
       .service-card .card-content h3 {
           font-size: 1.5em;
       }
       
       .service-card .card-content p {
           font-size: 1em;
       }
   }
   
   /* Small mobile */
   @media (max-width: 480px) {
       .header-content {
           padding: 0.75rem;
       }
       
       .logo-image {
           height: 90px;
       }
       
       .hero-section {
           height: 60vh;
       }
       
       .hero-content h1 {
           font-size: 2.5rem;
           margin-bottom: 0.75rem;
       }
       
       .hero-content p {
           font-size: 1.2rem;
           margin-bottom: 1.5rem;
       }
       
       .btn {
           padding: 12px 24px;
           font-size: 0.9rem;
           min-height: 44px; /* Touch-friendly size */
       }
       
       .btn-small {
           padding: 10px 20px;
           min-height: 40px;
       }
       
       .section-padding,
       .page-header {
           padding: 2.5rem 1rem;
       }
       
       .page-header h1 {
           font-size: 2.2rem;
       }
       
       .page-header p {
           font-size: 1rem;
       }
       
       h1 {
           font-size: 2rem;
       }
       
       h2 {
           font-size: 1.75rem;
           margin-bottom: 1.5rem;
       }
       
       #csomagok h2 {
           font-size: 1.8em;
       }
       
       .service-grid-container,
       .service-cards-container {
           gap: 1.5rem;
       }
       
       .service-card .card-content {
           padding: 1.5rem;
       }
       
       .service-card .card-content h3 {
           font-size: 1.3em;
       }
       
       .step {
           padding: 1.5rem;
       }
       
       .step-number {
           width: 35px;
           height: 35px;
           font-size: 1rem;
       }
       
       .gyik-item {
           padding: 1.25rem;
       }
       
       .gyik-item h4 {
           font-size: 1.1rem;
       }
       
       .testimonial-box {
           padding: 1.25rem;
       }
       
       .testimonial-box blockquote {
           font-size: 1.1rem;
       }
       
       /* A galériás fix magasság override innen is törölve */
       
       .contact-form input,
       .contact-form textarea {
           padding: 12px;
           font-size: 0.95rem;
           min-height: 44px; /* Touch-friendly size */
       }
       
       .main-footer {
           padding: 2rem 1rem;
       }
       
       .footer-section h4 {
           font-size: 1.2rem;
       }
       
       .footer-section p,
       .footer-section a {
           font-size: 0.95rem;
       }
   }
   
   /* Landscape orientation on small devices */
   @media (max-width: 768px) and (orientation: landscape) {
       .hero-section {
           height: 100vh;
       }
       
       .hero-content h1 {
           font-size: 3rem;
       }
       
       .hero-content p {
           font-size: 1.3rem;
       }
   }