/* ============================================================
   Galaxy6189 – Vendégház · Fő stíluslap
   Betölthető minden aloldalon.
   ============================================================ */

/* ----------------------------------------------------------
   Google Fonts
   ---------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

/* ----------------------------------------------------------
   CSS Custom Properties
   ---------------------------------------------------------- */
:root {
  /* Szinek – zsálya-zöld + meleg homok paletta */
  --clr-bg:          #F5F2EC;       /* meleg homokfehér alap */
  --clr-bg-alt:      #E8E2D6;       /* homokos szekció háttér */
  --clr-surface:     #FFFFFF;       /* kártya, panel */
  --clr-ink:         #2B2318;       /* sötét, meleg tinta */
  --clr-ink-muted:   #5C6155;       /* zsálya-szürke muted szöveg */
  --clr-border:      #D2CCBE;       /* homokos elválasztó */
  --clr-accent:      #5C7055;       /* zsálya-zöld fő akcent */
  --clr-accent-dark: #3E5039;       /* mélyebb zsálya (hover) */
  --clr-accent-warm: #A07850;       /* aranybarna másodlagos akcent */
  --clr-hero-over:   rgba(20, 28, 18, 0.50); /* hero overlay – zöldes árnyék */

  /* Tipográfia */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'Jost', 'Segoe UI', sans-serif;

  /* Térközök */
  --page-max:           1280px;
  --section-pad-lg:     100px;
  --section-pad-md:     72px;
  --section-pad-sm:     48px;
  --gap:                24px;
  --container-gutter:   32px;

  /* Effektek */
  --radius:    2px;
  --transition: 0.22s ease;
  --shadow-sm: 0 2px 12px rgba(43,35,24,0.07);
  --shadow-md: 0 6px 32px rgba(43,35,24,0.12);
}

/* ----------------------------------------------------------
   Reset & Alap
   ---------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 17px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 300;
  line-height: 1.7;
  color: var(--clr-ink);
  background: var(--clr-bg);
}

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

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 1rem;
  color: var(--clr-ink);
}

h1 { font-size: clamp(3rem, 5.5vw, 5.2rem);  letter-spacing: -0.02em; }
h2 { font-size: clamp(2.2rem, 3.5vw, 3.6rem); letter-spacing: -0.015em; }
h3 { font-size: clamp(1.4rem, 2vw, 1.8rem); }

p {
  margin: 0 0 1rem;
  font-size: 1rem;
  color: var(--clr-ink-muted);
}

p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------
   Segédosztályok
   ---------------------------------------------------------- */
.container {
  width: min(calc(100% - var(--container-gutter) * 2), var(--page-max));
  margin-inline: auto;
}

.eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--clr-accent);
  margin-bottom: 14px;
}

.section-header {
  max-width: 840px;
  margin-bottom: 48px;
  margin-inline: auto;
  text-align: center;
}

.section-header h2 {
  margin-bottom: 16px;
}

/* ----------------------------------------------------------
   Gombok
   ---------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  padding: 13px 30px;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1.5px solid var(--clr-accent);
  background: var(--clr-accent);
  color: #fff;
  cursor: pointer;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
  border-radius: var(--radius);
}

.btn:hover,
.btn:focus-visible {
  background: var(--clr-accent-dark);
  border-color: var(--clr-accent-dark);
  color: #fff;
}

.btn--outline {
  background: transparent;
  color: var(--clr-accent);
}

.btn--outline:hover,
.btn--outline:focus-visible {
  background: var(--clr-accent);
  color: #fff;
}

.btn--light {
  background: transparent;
  border-color: rgba(255,255,255,0.75);
  color: #fff;
}

.btn--light:hover,
.btn--light:focus-visible {
  background: rgba(255,255,255,0.15);
  border-color: #fff;
  color: #fff;
}

.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
  justify-content: center;
}

/* ----------------------------------------------------------
   Header / Navigáció
   ---------------------------------------------------------- */
.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  transition: background var(--transition), box-shadow var(--transition);
}

.site-header.is-top {
  background: rgba(20, 30, 16, 0.30);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.site-header.is-scrolled {
  background: rgba(20, 30, 16, 0.30);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 2px 24px rgba(10,16,8,0.18);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 70px;
  width: min(calc(100% - var(--container-gutter) * 2), var(--page-max));
  margin-inline: auto;
}

/* Logo */
.site-logo {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  text-decoration: none;
}

.site-logo img { height: 60px; }

.site-logo__name {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #fff;
  transition: color var(--transition);
}

.site-logo__sub {
  font-size: 1rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  transition: color var(--transition);
}

.is-scrolled .site-logo__name { color: #fff; }
.is-scrolled .site-logo__sub  { color: rgba(255,255,255,0.65); }

/* Főmenü – desktop */
.main-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}

.main-nav a {
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.88);
  padding: 8px 12px;
  border-radius: var(--radius);
  transition: color var(--transition), background var(--transition);
}

.main-nav a:hover {
  color: #fff;
  background: rgba(255,255,255,0.1);
}

.main-nav a.active {
  color: #fff;
  background: rgba(255,255,255,0.1);
}

.is-scrolled .main-nav a {
  color: rgba(255,255,255,0.88);
}

.is-scrolled .main-nav a:hover {
  color: #fff;
  background: rgba(255,255,255,0.10);
}

.nav-cta {
  margin-left: 8px;
  padding: 8px 18px !important;
  border: 1.5px solid rgba(255,255,255,0.75) !important;
  background: transparent !important;
  color: #fff !important;
  letter-spacing: 0.1em;
  transition: background var(--transition), border-color var(--transition) !important;
  border-radius: var(--radius) !important;
}

.nav-cta:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #fff !important;
}

.is-scrolled .nav-cta {
  border-color: rgba(255,255,255,0.75) !important;
  color: #fff !important;
}

.is-scrolled .nav-cta:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #fff !important;
  color: #fff !important;
}

/* Hamburger gomb – mobil */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 8px;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}

.nav-toggle span {
  display: block;
  height: 1.5px;
  background: #fff;
  border-radius: 2px;
  transform-origin: center;
  transition: transform 0.25s ease, opacity 0.25s ease, width 0.25s ease;
}

.nav-toggle span:nth-child(1) { width: 22px; }
.nav-toggle span:nth-child(2) { width: 16px; }
.nav-toggle span:nth-child(3) { width: 22px; }

.is-scrolled .nav-toggle span {
  background: #fff;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  width: 22px;
  transform: translateY(6.5px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
  width: 0;
}
.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  width: 22px;
  transform: translateY(-6.5px) rotate(-45deg);
}

/* Mobil menü panel */
.mobile-nav {
  display: none;
  flex-direction: column;
  position: fixed;
  inset: 70px 0 0 0;
  background: var(--clr-bg);
  z-index: 99;
  padding: 24px var(--container-gutter);
  gap: 4px;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(.4,0,.2,1);
}

.mobile-nav.is-open {
  transform: translateX(0);
}

.mobile-nav a {
  display: block;
  padding: 15px 0;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--clr-ink);
  border-bottom: 1px solid var(--clr-border);
  transition: color var(--transition), padding-left var(--transition);
}

.mobile-nav a:hover {
  color: var(--clr-accent);
  padding-left: 6px;
}

.mobile-nav .nav-cta-mobile {
  margin-top: 20px;
  border: none !important;
  background: var(--clr-accent) !important;
  color: #fff !important;
  text-align: center;
  padding: 16px !important;
  border-radius: var(--radius) !important;
}

.mobile-nav .nav-cta-mobile:hover {
  background: var(--clr-accent-dark) !important;
  color: #fff !important;
  padding-left: 0 !important;
}

/* ----------------------------------------------------------
   Aloldal header – ha nem főoldal (is-solid segédosztály)
   ---------------------------------------------------------- */
.site-header.is-solid {
  background: var(--clr-bg);
  border-bottom: 1px solid var(--clr-border);
  box-shadow: var(--shadow-sm);
}

.is-solid .site-logo__name { color: var(--clr-ink); }
.is-solid .site-logo__sub  { color: var(--clr-ink-muted); }
.is-solid .main-nav a      { color: var(--clr-ink-muted); }
.is-solid .main-nav a:hover { color: var(--clr-ink); background: var(--clr-bg-alt); }
.is-solid .nav-toggle span { background: var(--clr-ink); }
.is-solid .nav-cta {
  border-color: var(--clr-accent) !important;
  color: var(--clr-accent) !important;
}
.is-solid .nav-cta:hover {
  background: var(--clr-accent) !important;
  color: #fff !important;
}

/* ----------------------------------------------------------
   Footer
   ---------------------------------------------------------- */
.site-footer {
  background: var(--clr-ink);
  color: rgba(255,255,255,0.6);
  padding-block: 56px 32px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  gap: 48px;
  align-items: start;
  margin-bottom: 40px;
}

.footer-logo .site-logo__name { color: #fff; }
.footer-logo .site-logo__sub  { color: rgba(255,255,255,0.5); }

.footer-tagline {
  font-size: 0.8rem;
  line-height: 1.6;
  margin-top: 14px;
  color: rgba(255,255,255,0.45);
}

.footer-nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 32px;
}

.footer-nav a {
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  transition: color var(--transition);
  padding: 4px 0;
}

.footer-nav a:hover { color: #fff; }

.footer-contact {
  font-size: 0.8rem;
  line-height: 1.9;
}

.footer-contact a {
  color: rgba(255,255,255,0.55);
  transition: color var(--transition);
}

.footer-contact a:hover { color: #fff; }

.footer-bottom {
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.3);
}

/* ----------------------------------------------------------
   Reszponzív
   ---------------------------------------------------------- */
@media (max-width: 1024px) {
  :root {
    --section-pad-lg: 72px;
    --container-gutter: 24px;
  }
}

@media (max-width: 768px) {
  :root {
    --section-pad-lg: 56px;
    --section-pad-md: 48px;
    --section-pad-sm: 36px;
    --container-gutter: 20px;
  }

  body { font-size: 16px; }

  /* Hamburger megjelenítése */
  .nav-toggle  { display: flex; }
  .main-nav    { display: none; }
  .mobile-nav  { display: flex; }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-nav {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

@media (max-width: 480px) {
  :root { --container-gutter: 16px; }
}





/** MAIN **/

    /* Hero */
    main#homepage #hero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      display: flex;
      align-items: flex-end;        /* szöveg mindig alul */
      color: #fff;
      overflow: hidden;
    }

    main#homepage #hero .hero-bg {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(to bottom,
          rgba(10,18,8,0.0)  0%,
          rgba(10,18,8,0.0)  35%,
          rgba(10,18,8,0.55) 70%,
          rgba(10,18,8,0.75) 100%
        ),
        repeating-linear-gradient(
          135deg,
          #b5bfad 0px, #b5bfad 16px,
          #a8b29e 16px, #a8b29e 32px
        );
      background-image: url(/hpimages/20260422-CU6B5630.webp);
      background-size: cover;
      background-position: center;
    }

    main#homepage #hero .hero-inner {
      position: relative;
      z-index: 1;
      width: 100%;
      padding-top: 100px;           /* header magassága + légzés */
      padding-bottom: clamp(48px, 7vh, 88px);
    }

    main#homepage #hero .hero-copy {
      max-width: 760px;
    }

    main#homepage #hero .hero-copy h1 {
      color: #fff;
      margin-bottom: 18px;
      text-shadow: 0 2px 16px rgba(0,0,0,1);
    }

    main#homepage #hero .hero-copy .lead {
      font-size: clamp(1rem, 1.4vw, 1.2rem);
      color: rgba(255,255,255,0.85);
      max-width: 580px;
      font-weight: 400;
      text-shadow: 0 1px 8px rgba(0,0,0,1);
    }

    main#homepage #hero .eyebrow {
      text-shadow: 0 1px 6px rgba(0,0,0,0.9);
    }

    /* Booking kártya a héróban */
    main#homepage #hero .booking-card {
      background: rgba(247, 244, 239, 0.97);
      backdrop-filter: blur(12px);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 28px;
      box-shadow: var(--shadow-md);
    }

    main#homepage #hero .booking-card h3 {
      font-family: var(--font-display);
      font-size: 1.5rem;
      color: var(--clr-ink);
      margin-bottom: 6px;
    }

    main#homepage #hero .booking-card .card-sub {
      font-size: 0.95rem;
      color: var(--clr-ink-muted);
      margin-bottom: 20px;
    }

    main#homepage #hero .booking-card .form-label {
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--clr-ink-muted);
      margin-bottom: 6px;
    }

    main#homepage #hero .booking-card .form-control,
    main#homepage #hero .booking-card .form-select {
      border: 1px solid var(--clr-border);
      background: var(--clr-bg);
      color: var(--clr-ink);
      font-family: var(--font-body);
      font-size: 1rem;
      border-radius: var(--radius);
      height: 46px;
      box-shadow: none;
    }

    main#homepage #hero .booking-card .form-control:focus,
    main#homepage #hero .booking-card .form-select:focus {
      border-color: var(--clr-accent);
      box-shadow: 0 0 0 3px rgba(139,94,60,0.12);
    }

    main#homepage #hero .booking-card .btn {
      width: 100%;
      margin-top: 8px;
    }

    /* Quick facts sáv */
    main#homepage #quick-facts {
      background: var(--clr-surface);
      border-bottom: 1px solid var(--clr-border);
      padding-block: 40px;
    }

    main#homepage #quick-facts .fact-item {
      text-align: center;
      padding: 12px 16px;
    }

    main#homepage #quick-facts .fact-item + .fact-item {
      border-left: 1px solid var(--clr-border);
    }

    main#homepage #quick-facts .fact-value {
      display: block;
      font-family: var(--font-display);
      font-size: clamp(2rem, 3vw, 2.8rem);
      font-weight: 400;
      color: var(--clr-accent);
      line-height: 1;
      margin-bottom: 6px;
    }

    main#homepage #quick-facts .fact-label {
      font-size: 0.82rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--clr-ink-muted);
    }

    /* Környezet szekció */
    main#homepage #kornyezet {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#homepage #kornyezet .feature-list li {
      padding: 13px 16px;
      border-bottom: 1px solid var(--clr-border);
      color: var(--clr-ink-muted);
      font-size: 1rem;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    main#homepage #kornyezet .feature-list li::before {
      content: '';
      display: block;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: var(--clr-accent);
      flex-shrink: 0;
    }

    main#homepage #kornyezet .img-block {
      aspect-ratio: 4/5;
      background: var(--clr-bg-alt);
      border-radius: var(--radius);
      overflow: hidden;
      /* placeholder – képpel cseréld: background-image: url('images/kornyezet.jpg') */
      background-image:
        repeating-linear-gradient(
          45deg,
          #cfc8be 0px, #cfc8be 12px,
          #c5bdb2 12px, #c5bdb2 24px
        );
      background-size: cover;
      display: grid;
      place-items: center;
    }

    /* Vendégház szekció */
    main#homepage #vendeghaz {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#homepage #vendeghaz .room-card {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 28px;
      height: 100%;
      transition: box-shadow var(--transition), transform var(--transition);
    }

    main#homepage #vendeghaz .room-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-3px);
    }

    main#homepage #vendeghaz .room-card .card-icon {
      font-size: 1.5rem;
      margin-bottom: 16px;
      display: block;
    }

    main#homepage #vendeghaz .room-card h3 {
      font-size: 1.2rem;
      margin-bottom: 10px;
    }

    main#homepage #vendeghaz .room-card p {
      font-size: 1rem;
      line-height: 1.7;
    }

    /* Fotós változat */
    main#homepage #vendeghaz .room-card--photo {
      padding: 0;          /* a padding a body-ba kerül, a kép széltől-szélig megy */
      overflow: hidden;
    }

    main#homepage #vendeghaz .room-card--photo .room-card__img {
      width: 100%;
      aspect-ratio: 4 / 3; /* fekvő arány – négyzet helyett 4:3; cseréld 1/1-re ha négyzet kell */
      background: var(--clr-bg-alt);
      overflow: hidden;
      /* placeholder csík – törlöd ha jön a kép */
      background-image: repeating-linear-gradient(
        135deg,
        #bec8b6 0px, #bec8b6 12px,
        #b4be9e 12px, #b4be9e 24px
      );
      background-size: cover;
      background-position: center;
    }

    main#homepage #vendeghaz .room-card--photo .room-card__img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }

    main#homepage #vendeghaz .room-card--photo:hover .room-card__img img {
      transform: scale(1.04);
    }

    main#homepage #vendeghaz .room-card--photo .room-card__body {
      padding: 22px 24px 26px;
    }

    main#homepage #vendeghaz .room-card--photo .room-card__body h3 {
      font-size: 1.2rem;
      margin-bottom: 8px;
    }

    main#homepage #vendeghaz .room-card--photo .room-card__body p {
      font-size: 1rem;
      line-height: 1.7;
      margin: 0;
    }

    /* Miért ide – split szekció */
    main#homepage #miert-ide {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#homepage #miert-ide .img-block {
      aspect-ratio: 3/4;
      background: var(--clr-bg-alt);
      border-radius: var(--radius);
      overflow: hidden;
      background-image:
        repeating-linear-gradient(
          135deg,
          #c8bfb4 0px, #c8bfb4 14px,
          #bdb4a8 14px, #bdb4a8 28px
        );
      background-size: cover;
    }

    main#homepage #miert-ide .feature-list li {
      padding: 13px 16px;
      border-bottom: 1px solid var(--clr-border);
      color: var(--clr-ink-muted);
      font-size: 1rem;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    main#homepage #miert-ide .feature-list li::before {
      content: '';
      display: block;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: var(--clr-accent);
      flex-shrink: 0;
    }

    /* Galéria */
    main#homepage #galeria {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#homepage #galeria .gallery-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr;
      grid-template-rows: 240px 240px;
      gap: var(--gap);
    }

    main#homepage #galeria .gallery-item {
      overflow: hidden;
      border-radius: var(--radius);
      background: var(--clr-border);
      /* placeholder háttér */
      background-image:
        repeating-linear-gradient(
          45deg,
          #bec8b5 0px, #bec8b5 10px,
          #b3be9c 10px, #b3be9c 20px
        );
      background-size: cover;
      background-position: center;
      position: relative;
      cursor: pointer;
      transition: transform var(--transition);
    }

    main#homepage #galeria .gallery-item:hover {
      transform: scale(1.01);
    }

    main#homepage #galeria .gallery-item::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(42,33,24,0);
      transition: background var(--transition);
    }

    main#homepage #galeria .gallery-item:hover::after {
      background: rgba(42,33,24,0.12);
    }

    main#homepage #galeria .gallery-item.large {
      grid-row: span 2;
    }

    main#homepage #galeria .gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* Árak */
    main#homepage #arak {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#homepage #arak .price-table {
      width: 100%;
      border-collapse: collapse;
      background: var(--clr-surface);
      border-radius: var(--radius);
      overflow: hidden;
    }

    main#homepage #arak .price-table-wrap {
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      overflow: hidden;
    }

    main#homepage #arak .price-table thead th {
      padding: 14px 22px 12px;
      font-family: var(--font-body);
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--clr-ink-muted);
      border-bottom: 1px solid var(--clr-border);
      background: var(--clr-bg-alt);
    }

    main#homepage #arak .price-table thead th:not(:first-child) {
      text-align: right;
    }

    main#homepage #arak .price-table tbody td {
      padding: 16px 22px;
      border-bottom: 1px solid var(--clr-border);
      font-size: 1rem;
    }

    main#homepage #arak .price-table tbody tr:last-child td {
      border-bottom: none;
    }

    main#homepage #arak .price-table tbody tr:hover td {
      background: var(--clr-bg);
    }

    main#homepage #arak .price-table tbody td:first-child {
      color: var(--clr-ink-muted);
    }

    main#homepage #arak .price-table tbody td:not(:first-child) {
      text-align: right;
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-weight: 400;
      color: var(--clr-accent);
      white-space: nowrap;
    }

    main#homepage #arak .price-table tbody tr.highlight td {
      background: var(--clr-bg-alt);
    }

    main#homepage #arak .price-table tbody tr.highlight td:not(:first-child) {
      color: var(--clr-accent-dark);
    }

    main#homepage #arak .included-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(4, 1fr);
      gap: 10px;
      height: 100%;
    }

    main#homepage #arak .included-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 12px 14px;
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      font-size: 0.95rem;
      color: var(--clr-ink-muted);
    }

    main#homepage #arak .included-item::before {
      content: '✓';
      color: var(--clr-accent);
      font-weight: 500;
      flex-shrink: 0;
    }

    /* FAQ */
    main#homepage #informaciok {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#homepage #informaciok details {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 0;
      overflow: hidden;
    }

    main#homepage #informaciok details summary {
      list-style: none;
      cursor: pointer;
      padding: 18px 22px;
      font-size: 1.05rem;
      font-weight: 500;
      color: var(--clr-ink);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      user-select: none;
      transition: background var(--transition);
    }

    main#homepage #informaciok details summary::-webkit-details-marker { display: none; }

    main#homepage #informaciok details summary::after {
      content: '+';
      font-size: 1.2rem;
      color: var(--clr-accent);
      flex-shrink: 0;
      transition: transform 0.2s ease;
    }

    main#homepage #informaciok details[open] summary::after {
      transform: rotate(45deg);
    }

    main#homepage #informaciok details summary:hover {
      background: var(--clr-bg);
    }

    main#homepage #informaciok details p {
      padding: 4px 22px 20px;
      font-size: 1rem;
      border-top: 1px solid var(--clr-border);
      margin: 0;
    }

    /* Két független oszlop – egyik nyitása nem tolja a másikat */
    main#homepage #informaciok .faq-columns {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 var(--gap);
      align-items: start;   /* kulcs: az oszlopok tetejéhez igazodnak, nem nyújtják egymást */
    }

    main#homepage #informaciok .faq-col {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    @media (max-width: 768px) {
      main#homepage #informaciok .faq-columns {
        grid-template-columns: 1fr;
      }
    }

    /* Kapcsolat */
    main#homepage #kapcsolat {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#homepage #kapcsolat .row {
      align-items: stretch;
    }

    main#homepage #kapcsolat .col-lg-7,
    main#homepage #kapcsolat .col-lg-5 {
      display: flex;
      flex-direction: column;
    }

    main#homepage #kapcsolat .map-wrap {
      flex: 1;
      min-height: 320px;
      background: var(--clr-bg-alt);
      border-radius: var(--radius);
      border: 1px solid var(--clr-border);
      overflow: hidden;
      display: flex;
    }

    main#homepage #kapcsolat .map-wrap iframe {
      flex: 1;
      border: none;
      display: block;
    }

    main#homepage #kapcsolat .contact-card {
      flex: 1;
    }

    main#homepage #kapcsolat .map-placeholder-text {
      text-align: center;
      color: var(--clr-ink-muted);
      font-size: 1rem;
    }

    main#homepage #kapcsolat .contact-card {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 32px;
      height: 100%;
    }

    main#homepage #kapcsolat .contact-card h3 {
      font-size: 1.4rem;
      margin-bottom: 20px;
    }

    main#homepage #kapcsolat .contact-row {
      padding: 12px 0;
      border-bottom: 1px solid var(--clr-border);
      font-size: 1rem;
    }

    main#homepage #kapcsolat .contact-row:last-of-type {
      border-bottom: none;
    }

    main#homepage #kapcsolat .contact-row .label {
      font-size: 0.78rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--clr-accent);
      display: block;
      margin-bottom: 2px;
    }

    main#homepage #kapcsolat .contact-row a,
    main#homepage #kapcsolat .contact-row span {
      color: var(--clr-ink);
      transition: color var(--transition);
    }

    main#homepage #kapcsolat .contact-row a:hover { color: var(--clr-accent); }

    /* Záró CTA sáv */
    main#homepage #cta-band {
      padding-block: 96px;
      background: var(--clr-ink);
      color: #fff;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    main#homepage #cta-band::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 120%, rgba(139,94,60,0.35) 0%, transparent 65%);
      pointer-events: none;
    }

    main#homepage #cta-band .container {
      position: relative;
      z-index: 1;
      max-width: 780px;
    }

    main#homepage #cta-band h2 {
      color: #fff;
      margin-bottom: 16px;
    }

    main#homepage #cta-band p {
      color: rgba(255,255,255,0.65);
      font-size: 1rem;
    }

    main#homepage #cta-band .btn-row {
      justify-content: center;
    }

    /* ---- Reszponzív főoldal-specifikus ---- */
    @media (max-width: 992px) {
      main#homepage #galeria .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: none;
      }
      main#homepage #galeria .gallery-item.large {
        grid-row: auto;
        grid-column: span 2;
      }
    }

    @media (max-width: 768px) {
      main#homepage #quick-facts .fact-item + .fact-item {
        border-left: none;
        border-top: 1px solid var(--clr-border);
      }

      main#homepage #galeria .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
      }

      main#homepage #galeria .gallery-item.large {
        grid-column: auto;
      }

      main#homepage #galeria .gallery-item {
        aspect-ratio: 4/3;
      }

      main#homepage #arak .included-grid {
        grid-template-columns: 1fr;
      }

      main#homepage #cta-band {
        padding-block: 64px;
      }
    }




    /* ======================================================
       main#kornyezet { section { … } }
       ====================================================== */

    /* Hero – fullscreen képpel */
    main#kornyezet #hero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      display: flex;
      align-items: flex-end;
      color: #fff;
      overflow: hidden;
    }

    main#kornyezet #hero .hero-bg {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(to bottom,
          rgba(10,18,8,0.0)  0%,
          rgba(10,18,8,0.0)  35%,
          rgba(10,18,8,0.55) 70%,
          rgba(10,18,8,0.75) 100%
        );
      background-image: url('hpimages/IMAG1473-02-03.webp');
      background-size: cover;
      background-position: center;
    }

    main#kornyezet #hero .hero-inner {
      position: relative;
      z-index: 1;
      width: 100%;
      padding-top: 100px;
      padding-bottom: clamp(48px, 7vh, 88px);
      text-align: center;
    }

    main#kornyezet #hero .hero-copy {
      max-width: 820px;
      margin-inline: auto;
    }

    main#kornyezet #hero h1 {
      color: #fff;
      margin-bottom: 18px;
      text-shadow: 0 2px 16px rgba(0,0,0,1);
    }

    main#kornyezet #hero .lead {
      font-size: clamp(1rem, 1.4vw, 1.2rem);
      color: rgba(255,255,255,0.85);
      font-weight: 300;
      text-shadow: 0 1px 8px rgba(0,0,0,1);
    }

    /* Intro szöveg szekció */
    main#kornyezet #intro {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#kornyezet #intro .intro-text {
      max-width: 760px;
      margin-inline: auto;
      text-align: center;
    }

    main#kornyezet #intro .intro-text p {
      font-size: 1.05rem;
      line-height: 1.85;
      margin-bottom: 20px;
    }

    main#kornyezet #intro .intro-text p:last-child {
      margin-bottom: 0;
    }

    /* Tanúhegyek szekció */
    main#kornyezet #tanuhegyek {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#kornyezet #tanuhegyek .hegyek-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--gap);
    }

    main#kornyezet #tanuhegyek .hegy-card {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      overflow: hidden;
      transition: box-shadow var(--transition), transform var(--transition);
    }

    main#kornyezet #tanuhegyek .hegy-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-3px);
    }

    main#kornyezet #tanuhegyek .hegy-img {
      aspect-ratio: 16/9;
      background: var(--clr-bg-alt);
      overflow: hidden;
      background-size: cover;
      background-position: center;
    }

    main#kornyezet #tanuhegyek .hegy-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }

    main#kornyezet #tanuhegyek .hegy-card:hover .hegy-img img {
      transform: scale(1.04);
    }

    main#kornyezet #tanuhegyek .hegy-body {
      padding: 20px 22px 22px;
    }

    main#kornyezet #tanuhegyek .hegy-body .hegy-dist {
      font-size: 1rem;
      color: var(--clr-accent);
      font-weight: 500;
      letter-spacing: 0.06em;
      display: block;
      margin-bottom: 6px;
    }

    main#kornyezet #tanuhegyek .hegy-body h3 {
      font-size: clamp(1.2rem, 1.6vw, 1.5rem);
      margin-bottom: 8px;
    }

    main#kornyezet #tanuhegyek .hegy-body p {
      font-size: 1rem;
      line-height: 1.65;
      margin: 0;
    }

    /* Programok szekció */
    main#kornyezet #programok {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#kornyezet #programok .program-block {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      margin-bottom: 2px;
      overflow: hidden;
      border-radius: var(--radius);
    }

    main#kornyezet #programok .program-block:last-child {
      margin-bottom: 0;
    }

    main#kornyezet #programok .program-block.reverse .program-img {
      order: 2;
    }

    main#kornyezet #programok .program-block.reverse .program-text {
      order: 1;
    }

    main#kornyezet #programok .program-img {
      aspect-ratio: 4/3;
      overflow: hidden;
      background: var(--clr-bg-alt);
      background-size: cover;
      background-position: center;
    }

    main#kornyezet #programok .program-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    main#kornyezet #programok .program-text {
      padding: 56px 52px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
    }

    main#kornyezet #programok .program-text .prog-label {
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--clr-accent);
      display: block;
      margin-bottom: 12px;
    }

    main#kornyezet #programok .program-text h3 {
      font-size: clamp(1.4rem, 2vw, 2rem);
      margin-bottom: 14px;
    }

    main#kornyezet #programok .program-text p {
      font-size: 1rem;
      line-height: 1.75;
      margin: 0;
    }

    /* Idézet sáv */
    main#kornyezet #idezet {
      padding-block: 80px;
      background: var(--clr-ink);
      text-align: center;
    }

    main#kornyezet #idezet blockquote {
      max-width: 820px;
      margin-inline: auto;
      font-family: var(--font-display);
      font-size: clamp(1.6rem, 2.5vw, 2.4rem);
      font-weight: 300;
      font-style: italic;
      color: rgba(255,255,255,0.88);
      line-height: 1.4;
      border: none;
      padding: 0;
    }

    main#kornyezet #idezet blockquote::before {
      content: '„';
      color: var(--clr-accent);
    }

    main#kornyezet #idezet blockquote::after {
      content: '"';
      color: var(--clr-accent);
    }

    /* CTA sáv */
    main#kornyezet #cta-band {
      padding-block: 96px;
      background: var(--clr-bg-alt);
      text-align: center;
    }

    main#kornyezet #cta-band .container {
      max-width: 780px;
    }

    main#kornyezet #cta-band h2 {
      margin-bottom: 16px;
    }

    main#kornyezet #cta-band p {
      font-size: 1.05rem;
    }

    main#kornyezet #cta-band .btn-row {
      justify-content: center;
    }

    /* Reszponzív */
    @media (max-width: 992px) {
      main#kornyezet #tanuhegyek .hegyek-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      main#kornyezet #programok .program-block {
        grid-template-columns: 1fr;
      }

      main#kornyezet #programok .program-block.reverse .program-img,
      main#kornyezet #programok .program-block.reverse .program-text {
        order: unset;
      }

      main#kornyezet #programok .program-text {
        padding: 36px 32px;
      }
    }

    @media (max-width: 768px) {
      main#kornyezet #tanuhegyek .hegyek-grid {
        grid-template-columns: 1fr;
      }

      main#kornyezet #idezet {
        padding-block: 56px;
      }

      main#kornyezet #cta-band {
        padding-block: 64px;
      }
    }



    /* ======================================================
       main#informaciok { section { … } }
       ====================================================== */

    main#informaciok #page-hero {
      padding-top: 130px;
      padding-bottom: 64px;
      background: var(--clr-bg-alt);
      border-bottom: 1px solid var(--clr-border);
      text-align: center;
    }

    main#informaciok #page-hero .eyebrow {
      display: block;
    }

    main#informaciok #page-hero h1 {
      font-size: clamp(2.6rem, 4vw, 4.2rem);
      margin-bottom: 16px;
      max-width: 820px;
      margin-inline: auto;
      margin-bottom: 16px;
    }

    main#informaciok #page-hero p {
      max-width: 560px;
      margin-inline: auto;
    }

    /* Kérdés-válasz szekciók */
    main#informaciok .faq-section {
      padding-block: var(--section-pad-lg);
    }

    main#informaciok .faq-section:nth-child(even) {
      background: var(--clr-bg-alt);
    }

    main#informaciok .faq-section:nth-child(odd) {
      background: var(--clr-bg);
    }

    main#informaciok .faq-wrap {
      max-width: 720px;
      margin-inline: auto;
    }

    main#informaciok .faq-block {
      padding-block: 40px;
      border-bottom: 1px solid var(--clr-border);
    }

    main#informaciok .faq-block:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }

    main#informaciok .faq-block:first-child {
      padding-top: 0;
    }

    main#informaciok .faq-q {
      font-family: var(--font-display);
      font-size: clamp(1.35rem, 1.8vw, 1.7rem);
      font-weight: 400;
      color: var(--clr-ink);
      line-height: 1.2;
      margin-bottom: 16px;
    }

    main#informaciok .faq-a p {
      margin-bottom: 12px;
      line-height: 1.75;
    }

    main#informaciok .faq-a p:last-child {
      margin-bottom: 0;
    }

    main#informaciok .faq-a ul {
      margin: 10px 0 14px 0;
      padding: 0;
      list-style: none;
    }

    main#informaciok .faq-a ul li {
      padding: 8px 0 8px 20px;
      position: relative;
      color: var(--clr-ink-muted);
      border-bottom: 1px solid var(--clr-border);
      line-height: 1.6;
    }

    main#informaciok .faq-a ul li:last-child {
      border-bottom: none;
    }

    main#informaciok .faq-a ul li::before {
      content: '–';
      position: absolute;
      left: 0;
      color: var(--clr-accent);
    }

    /* Felszereltség – szoba grid */
    main#informaciok .room-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      margin-top: 8px;
    }

    main#informaciok .room-block {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 20px 22px;
    }

    main#informaciok .room-block .room-name {
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--clr-accent);
      display: block;
      margin-bottom: 8px;
    }

    main#informaciok .room-block p {
      font-size: 1rem;
      line-height: 1.65;
      margin: 0;
    }

    /* Házirend szekció */
    main#informaciok #hazirend {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#informaciok #hazirend .hazirend-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--gap);
      margin-top: 40px;
    }

    main#informaciok #hazirend .hr-card {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 24px;
    }

    main#informaciok #hazirend .hr-card .hr-label {
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--clr-accent);
      display: block;
      margin-bottom: 8px;
    }

    main#informaciok #hazirend .hr-card p {
      font-size: 1rem;
      line-height: 1.65;
      margin: 0;
    }

    /* CTA sáv */
    main#informaciok #cta-band {
      padding-block: 96px;
      background: var(--clr-ink);
      color: #fff;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    main#informaciok #cta-band::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 120%, rgba(92,112,85,0.3) 0%, transparent 65%);
      pointer-events: none;
    }

    main#informaciok #cta-band .container {
      position: relative;
      z-index: 1;
      max-width: 780px;
    }

    main#informaciok #cta-band h2 { color: #fff; margin-bottom: 16px; }
    main#informaciok #cta-band p  { color: rgba(255,255,255,0.65); }
    main#informaciok #cta-band .btn-row { justify-content: center; }

    /* Reszponzív */
    @media (max-width: 992px) {
      main#informaciok #hazirend .hazirend-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 768px) {
      main#informaciok .room-grid {
        grid-template-columns: 1fr;
      }

      main#informaciok #hazirend .hazirend-grid {
        grid-template-columns: 1fr;
      }

      main#informaciok #cta-band {
        padding-block: 64px;
      }
    }




    /* ======================================================
       main#vendeghaz { section { … } }
       ====================================================== */

    /* Oldal-hero */
    main#vendeghaz #page-hero {
      padding-top: 130px;
      padding-bottom: 64px;
      background: var(--clr-bg-alt);
      border-bottom: 1px solid var(--clr-border);
      text-align: center;
    }

    main#vendeghaz #page-hero h1 {
      font-size: clamp(2.6rem, 4vw, 4.2rem);
      max-width: 950px;
      margin-inline: auto;
      margin-bottom: 16px;
    }

    main#vendeghaz #page-hero p {
      max-width: 620px;
      margin-inline: auto;
    }

    /* Quick facts sáv */
    main#vendeghaz #quick-facts {
      background: var(--clr-surface);
      border-bottom: 1px solid var(--clr-border);
      padding-block: 40px;
    }

    main#vendeghaz #quick-facts .fact-item {
      text-align: center;
      padding: 12px 16px;
    }

    main#vendeghaz #quick-facts .fact-item + .fact-item {
      border-left: 1px solid var(--clr-border);
    }

    main#vendeghaz #quick-facts .fact-value {
      display: block;
      font-family: var(--font-display);
      font-size: clamp(2rem, 3vw, 2.8rem);
      font-weight: 400;
      color: var(--clr-accent);
      line-height: 1;
      margin-bottom: 6px;
    }

    main#vendeghaz #quick-facts .fact-label {
      font-size: 1rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--clr-ink-muted);
    }

    /* Intro split szekció */
    main#vendeghaz #intro {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#vendeghaz #intro .intro-img {
      aspect-ratio: 4/3;
      overflow: hidden;
      border-radius: var(--radius);
      background: var(--clr-bg-alt);
    }

    main#vendeghaz #intro .intro-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    main#vendeghaz #intro .intro-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-left: 48px;
    }

    main#vendeghaz #intro .intro-text p {
      font-size: 1.05rem;
      line-height: 1.8;
      margin-bottom: 16px;
    }

    /* Terek szekció */
    main#vendeghaz #terek {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#vendeghaz #terek .ter-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--gap);
    }

    main#vendeghaz #terek .ter-card {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      overflow: hidden;
      transition: box-shadow var(--transition), transform var(--transition);
    }

    main#vendeghaz #terek .ter-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-3px);
    }

    main#vendeghaz #terek .ter-img {
      aspect-ratio: 4/3;
      overflow: hidden;
      background: var(--clr-bg-alt);
    }

    main#vendeghaz #terek .ter-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }

    main#vendeghaz #terek .ter-card:hover .ter-img img {
      transform: scale(1.04);
    }

    main#vendeghaz #terek .ter-body {
      padding: 22px 24px 26px;
    }

    main#vendeghaz #terek .ter-body .ter-label {
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--clr-accent);
      display: block;
      margin-bottom: 8px;
    }

    main#vendeghaz #terek .ter-body h3 {
      font-size: clamp(1.2rem, 1.5vw, 1.5rem);
      margin-bottom: 10px;
    }

    main#vendeghaz #terek .ter-body ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    main#vendeghaz #terek .ter-body ul li {
      padding: 5px 0;
      border-bottom: 1px solid var(--clr-border);
      color: var(--clr-ink-muted);
      font-size: 1rem;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    main#vendeghaz #terek .ter-body ul li:last-child {
      border-bottom: none;
    }

    main#vendeghaz #terek .ter-body ul li::before {
      content: '–';
      color: var(--clr-accent);
      flex-shrink: 0;
    }

    /* Szauna & kültér split */
    main#vendeghaz #szauna {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#vendeghaz #szauna .szauna-img {
      aspect-ratio: 4/3;
      overflow: hidden;
      border-radius: var(--radius);
      background: var(--clr-bg-alt);
    }

    main#vendeghaz #szauna .szauna-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    main#vendeghaz #szauna .szauna-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-right: 48px;
    }

    main#vendeghaz #szauna .szauna-text p {
      font-size: 1.05rem;
      line-height: 1.8;
    }

    main#vendeghaz #szauna .szauna-text ul {
      list-style: none;
      margin: 20px 0 0;
      padding: 0;
    }

    main#vendeghaz #szauna .szauna-text ul li {
      padding: 10px 0;
      border-bottom: 1px solid var(--clr-border);
      color: var(--clr-ink-muted);
      font-size: 1rem;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    main#vendeghaz #szauna .szauna-text ul li:last-child { border-bottom: none; }

    main#vendeghaz #szauna .szauna-text ul li::before {
      content: '✓';
      color: var(--clr-accent);
      font-weight: 500;
      flex-shrink: 0;
    }

    /* Felszereltség szekció */
    main#vendeghaz #felszereltseg {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#vendeghaz #felszereltseg .felsz-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
    }

    main#vendeghaz #felszereltseg .felsz-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 14px 18px;
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      font-size: 1rem;
      color: var(--clr-ink-muted);
    }

    main#vendeghaz #felszereltseg .felsz-item::before {
      content: '✓';
      color: var(--clr-accent);
      font-weight: 500;
      flex-shrink: 0;
    }

    /* Kutyabarát szekció */
    main#vendeghaz #kutya {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#vendeghaz #kutya .kutya-inner {
      max-width: 760px;
      margin-inline: auto;
      text-align: center;
    }

    main#vendeghaz #kutya .kutya-inner p {
      font-size: 1.05rem;
      line-height: 1.8;
      margin-bottom: 32px;
    }

    main#vendeghaz #kutya .kutya-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      text-align: left;
    }

    main#vendeghaz #kutya .kutya-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 14px 18px;
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      font-size: 1rem;
      color: var(--clr-ink-muted);
      line-height: 1.55;
    }

    main#vendeghaz #kutya .kutya-item::before {
      content: '–';
      color: var(--clr-accent);
      flex-shrink: 0;
      margin-top: 2px;
    }

    /* CTA sáv */
    main#vendeghaz #cta-band {
      padding-block: 96px;
      background: var(--clr-ink);
      color: #fff;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    main#vendeghaz #cta-band::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 120%, rgba(92,112,85,0.3) 0%, transparent 65%);
      pointer-events: none;
    }

    main#vendeghaz #cta-band .container {
      position: relative;
      z-index: 1;
      max-width: 780px;
    }

    main#vendeghaz #cta-band h2 { color: #fff; margin-bottom: 16px; }
    main#vendeghaz #cta-band p  { color: rgba(255,255,255,0.65); }
    main#vendeghaz #cta-band .btn-row { justify-content: center; }

    /* Reszponzív */
    @media (max-width: 992px) {
      main#vendeghaz #terek .ter-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 768px) {
      main#vendeghaz #quick-facts .fact-item + .fact-item {
        border-left: none;
        border-top: 1px solid var(--clr-border);
      }

      main#vendeghaz #intro .intro-text {
        padding-left: 0;
        padding-top: 32px;
      }

      main#vendeghaz #szauna .szauna-text {
        padding-right: 0;
        padding-top: 32px;
      }

      main#vendeghaz #terek .ter-grid {
        grid-template-columns: 1fr;
      }

      main#vendeghaz #felszereltseg .felsz-grid {
        grid-template-columns: 1fr;
      }

      main#vendeghaz #kutya .kutya-grid {
        grid-template-columns: 1fr;
      }

      main#vendeghaz #cta-band {
        padding-block: 64px;
      }
    }




        /* ======================================================
       main#arak { section { … } }
       ====================================================== */

    /* Oldal-hero – kompakt, nem fullscreen */
    main#arak #page-hero {
      padding-top: 130px;
      padding-bottom: 64px;
      background: var(--clr-bg-alt);
      border-bottom: 1px solid var(--clr-border);
      text-align: center;
    }

    main#arak #page-hero .eyebrow {
      color: var(--clr-accent);
    }

    main#arak #page-hero h1 {
      font-size: clamp(2.6rem, 4vw, 4.2rem);
      max-width: 820px;
      margin-inline: auto;
      margin-bottom: 16px;
    }

    main#arak #page-hero p {
      font-size: 1.05rem;
      max-width: 620px;
      margin-inline: auto;
    }

    /* Ártáblázat szekció */
    main#arak #arak-tabla {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#arak #arak-tabla .price-table-wrap {
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      overflow: hidden;
    }

    main#arak #arak-tabla .price-table {
      width: 100%;
      border-collapse: collapse;
      background: var(--clr-surface);
    }

    main#arak #arak-tabla .price-table thead th {
      padding: 14px 22px 12px;
      font-family: var(--font-body);
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--clr-ink-muted);
      border-bottom: 1px solid var(--clr-border);
      background: var(--clr-bg-alt);
    }

    main#arak #arak-tabla .price-table thead th:not(:first-child) {
      text-align: right;
    }

    main#arak #arak-tabla .price-table tbody td {
      padding: 18px 22px;
      border-bottom: 1px solid var(--clr-border);
      font-size: 1rem;
    }

    main#arak #arak-tabla .price-table tbody tr:last-child td {
      border-bottom: none;
    }

    main#arak #arak-tabla .price-table tbody tr:hover td {
      background: var(--clr-bg);
    }

    main#arak #arak-tabla .price-table tbody td:first-child {
      color: var(--clr-ink-muted);
    }

    main#arak #arak-tabla .price-table tbody td:not(:first-child) {
      text-align: right;
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-weight: 400;
      color: var(--clr-accent);
      white-space: nowrap;
    }

    main#arak #arak-tabla .price-table tbody tr.highlight td {
      background: var(--clr-bg-alt);
    }

    main#arak #arak-tabla .price-table tbody tr.highlight td:not(:first-child) {
      color: var(--clr-accent-dark);
    }

    main#arak #arak-tabla .included-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(4, 1fr);
      gap: 10px;
      height: 100%;
    }

    main#arak #arak-tabla .included-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 12px 14px;
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      font-size: 1rem;
      color: var(--clr-ink-muted);
    }

    main#arak #arak-tabla .included-item::before {
      content: '✓';
      color: var(--clr-accent);
      font-weight: 500;
      flex-shrink: 0;
    }

    main#arak #arak-tabla .row {
      align-items: stretch;
    }

    main#arak #arak-tabla .col-lg-6 {
      display: flex;
      flex-direction: column;
    }

    /* Feltételek szekció */
    main#arak #feltetelek {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg-alt);
    }

    main#arak #feltetelek .felt-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--gap);
    }

    main#arak #feltetelek .felt-card {
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 28px 26px;
    }

    main#arak #feltetelek .felt-card .felt-label {
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--clr-accent);
      display: block;
      margin-bottom: 10px;
    }

    main#arak #feltetelek .felt-card h3 {
      font-size: clamp(1.1rem, 1.5vw, 1.4rem);
      margin-bottom: 10px;
    }

    main#arak #feltetelek .felt-card p {
      font-size: 1rem;
      line-height: 1.7;
      margin: 0;
    }

    /* Fizetés szekció */
    main#arak #fizetes {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    main#arak #fizetes .fizetes-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin-top: 32px;
    }

    main#arak #fizetes .fizetes-item {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      padding: 18px 20px;
      background: var(--clr-surface);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
    }

    main#arak #fizetes .fizetes-item .fi-num {
      font-family: var(--font-display);
      font-size: 1.6rem;
      color: var(--clr-accent);
      line-height: 1;
      flex-shrink: 0;
      width: 32px;
    }

    main#arak #fizetes .fizetes-item .fi-text strong {
      display: block;
      font-size: 1rem;
      font-weight: 500;
      color: var(--clr-ink);
      margin-bottom: 4px;
    }

    main#arak #fizetes .fizetes-item .fi-text span {
      font-size: 1rem;
      color: var(--clr-ink-muted);
      line-height: 1.6;
    }

    /* CTA sáv */
    main#arak #cta-band {
      padding-block: 96px;
      background: var(--clr-ink);
      color: #fff;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    main#arak #cta-band::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 120%, rgba(92,112,85,0.3) 0%, transparent 65%);
      pointer-events: none;
    }

    main#arak #cta-band .container {
      position: relative;
      z-index: 1;
      max-width: 780px;
    }

    main#arak #cta-band h2 {
      color: #fff;
      margin-bottom: 16px;
    }

    main#arak #cta-band p {
      color: rgba(255,255,255,0.65);
      font-size: 1rem;
    }

    main#arak #cta-band .btn-row {
      justify-content: center;
    }

    /* Reszponzív */
    @media (max-width: 992px) {
      main#arak #feltetelek .felt-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 768px) {
      main#arak #feltetelek .felt-grid {
        grid-template-columns: 1fr;
      }

      main#arak #arak-tabla .included-grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        height: auto;
      }

      main#arak #fizetes .fizetes-list {
        grid-template-columns: 1fr;
      }

      main#arak #cta-band {
        padding-block: 64px;
      }
    }



        /* ======================================================
       main#fotok
       ====================================================== */

    main#fotok #page-hero {
      padding-top: 130px;
      padding-bottom: 60px;
      background: var(--clr-bg-alt);
      border-bottom: 1px solid var(--clr-border);
      text-align: center;
    }

    main#fotok #page-hero h1 {
      font-size: clamp(2.6rem, 4vw, 4.2rem);
      max-width: 820px;
      margin-inline: auto;
      margin-bottom: 14px;
    }

    main#fotok #page-hero p {
      max-width: 560px;
      margin-inline: auto;
    }

    /* Galéria szekció */
    main#fotok #galeria {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    /* Kategória blokk */
    .gal-category {
      margin-bottom: 64px;
    }

    .gal-category:last-child {
      margin-bottom: 0;
    }

    .gal-category-title {
      font-family: var(--font-display);
      font-size: clamp(1.4rem, 2vw, 1.9rem);
      font-weight: 400;
      color: var(--clr-ink);
      text-align: center;
      margin-bottom: 6px;
    }

    .gal-category-divider {
      width: 40px;
      height: 1.5px;
      background: var(--clr-accent);
      margin: 0 auto 28px;
    }

    /* Grid – fix négyzetes thumbok */
    .gal-grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 6px;
    }

    .gal-thumb {
      width: calc(25% - 5px);  /* 4 oszlop */
    }

    /* Thumbnail */
    .gal-thumb {
      position: relative;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      background: var(--clr-bg-alt);
      cursor: pointer;
      border-radius: var(--radius);
    }

    .gal-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;        /* négyzet – levágja ami kilóg */
      object-position: center;
      display: block;
      transition: transform 0.35s ease, opacity 0.3s ease;
      opacity: 0;               /* betöltésig láthatatlan */
    }

    .gal-thumb img.loaded {
      opacity: 1;
    }

    .gal-thumb:hover img {
      transform: scale(1.06);
    }

    /* hover overlay */
    .gal-thumb::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(20,30,16,0);
      transition: background 0.25s ease;
      pointer-events: none;
    }

    .gal-thumb:hover::after {
      background: rgba(20,30,16,0.22);
    }

    /* zoom ikon */
    .gal-thumb .zoom-icon {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: opacity 0.25s ease;
      z-index: 1;
      pointer-events: none;
    }

    .gal-thumb:hover .zoom-icon {
      opacity: 1;
    }

    .gal-thumb .zoom-icon svg {
      width: 28px;
      height: 28px;
      stroke: #fff;
      filter: drop-shadow(0 1px 4px rgba(0,0,0,0.5));
    }

    /* Skeleton loader */
    .gal-thumb.loading {
      background: linear-gradient(90deg, var(--clr-bg-alt) 25%, var(--clr-border) 50%, var(--clr-bg-alt) 75%);
      background-size: 200% 100%;
      animation: shimmer 1.4s infinite;
    }

    @keyframes shimmer {
      0%   { background-position: 200% 0; }
      100% { background-position: -200% 0; }
    }

    /* ── Lightbox ────────────────────────────────────────── */
    #lightbox {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 1000;
      background: rgba(10,14,8,0.95);
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    #lightbox.active {
      display: flex;
    }

    #lightbox-img {
      max-width: min(90vw, 1200px);
      max-height: 90vh;
      object-fit: contain;
      border-radius: var(--radius);
      display: block;
      opacity: 0;
      transition: opacity 0.25s ease;
    }

    #lightbox-img.visible {
      opacity: 1;
    }

    #lightbox-spinner {
      position: absolute;
      width: 36px;
      height: 36px;
      border: 2.5px solid rgba(255,255,255,0.2);
      border-top-color: var(--clr-accent);
      border-radius: 50%;
      animation: spin 0.7s linear infinite;
    }

    @keyframes spin {
      to { transform: rotate(360deg); }
    }

    #lightbox-close {
      position: fixed;
      top: 20px;
      right: 24px;
      width: 44px;
      height: 44px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 50%;
      color: #fff;
      font-size: 1.2rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s;
      z-index: 1001;
    }

    #lightbox-close:hover {
      background: rgba(255,255,255,0.2);
    }

    #lightbox-prev,
    #lightbox-next {
      position: fixed;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 50%;
      color: #fff;
      font-size: 1.1rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s;
      z-index: 1001;
    }

    #lightbox-prev { left: 16px; }
    #lightbox-next { right: 16px; }

    #lightbox-prev:hover,
    #lightbox-next:hover {
      background: rgba(255,255,255,0.2);
    }

    #lightbox-caption {
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      color: rgba(255,255,255,0.6);
      font-size: 1rem;
      letter-spacing: 0.05em;
      white-space: nowrap;
    }

    /* Reszponzív */
    @media (max-width: 1024px) {
      .gal-thumb { width: calc(33.333% - 5px); }
    }

    @media (max-width: 640px) {
      .gal-thumb { width: calc(50% - 4px); }
      .gal-grid  { gap: 4px; }
      #lightbox-prev { left: 6px; }
      #lightbox-next { right: 6px; }
    }



    main#foglalas #page-hero {
      padding-top: 130px;
      padding-bottom: 60px;
      background: var(--clr-bg-alt);
      border-bottom: 1px solid var(--clr-border);
      text-align: center;
    }

    main#foglalas #page-hero h1 {
      font-size: clamp(2.6rem, 4vw, 4.2rem);
      max-width: 820px;
      margin-inline: auto;
      margin-bottom: 14px;
    }

    main#foglalas #page-hero p {
      max-width: 560px;
      margin-inline: auto;
    }

    /* Galéria szekció */
    main#foglalas #galeria {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }



        /* ======================================================
       normal.tpl.php – egyedi tartalomoldal
       ====================================================== */

    #normal-hero {
      padding-top: 130px;
      padding-bottom: 56px;
      background: var(--clr-bg-alt);
      border-bottom: 1px solid var(--clr-border);
      text-align: center;
    }

    #normal-hero h1 {
      font-size: clamp(2.6rem, 4vw, 4.2rem);
      max-width: 820px;
      margin-inline: auto;
      margin-bottom: 0;
    }

    #normal-content {
      padding-block: var(--section-pad-lg);
      background: var(--clr-bg);
    }

    #normal-content .content-wrap {
      max-width: 760px;
      margin-inline: auto;
    }

    /* Opcionális hangulatkép */
    #normal-content .content-image {
      width: 100%;
      aspect-ratio: 16/7;
      overflow: hidden;
      border-radius: var(--radius);
      margin-bottom: 48px;
    }

    #normal-content .content-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }

    /* Szöveg tipográfia */
    #normal-content .content-body {
      font-size: 1.05rem;
      line-height: 1.85;
      color: var(--clr-ink-muted);
    }

    #normal-content .content-body p {
      margin-bottom: 1.4rem;
    }

    #normal-content .content-body p:last-child {
      margin-bottom: 0;
    }

    #normal-content .content-body h2 {
      font-size: clamp(1.6rem, 2.5vw, 2.2rem);
      color: var(--clr-ink);
      margin-top: 2.4rem;
      margin-bottom: 1rem;
    }

    #normal-content .content-body h3 {
      font-size: clamp(1.2rem, 1.8vw, 1.6rem);
      color: var(--clr-ink);
      margin-top: 2rem;
      margin-bottom: 0.8rem;
    }

    #normal-content .content-body ul,
    #normal-content .content-body ol {
      padding-left: 1.4rem;
      margin-bottom: 1.4rem;
    }

    #normal-content .content-body li {
      margin-bottom: 0.4rem;
    }

    #normal-content .content-body a {
      color: var(--clr-accent);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    #normal-content .content-body a:hover {
      color: var(--clr-accent-dark);
    }

    #normal-content .content-body strong {
      font-weight: 500;
      color: var(--clr-ink);
    }

    #normal-content .content-body blockquote {
      border-left: 2px solid var(--clr-accent);
      margin: 1.6rem 0;
      padding: 8px 0 8px 24px;
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-style: italic;
      color: var(--clr-ink);
    }

    #normal-content .content-body hr {
      border: none;
      border-top: 1px solid var(--clr-border);
      margin: 2.4rem 0;
    }


    /**
    *       KAPCSOLAT OLDAL
    *
    */

    main#kapcsolat #page-hero {
        padding-top: 130px;
        padding-bottom: 64px;
        background: var(--clr-bg-alt);
        border-bottom: 1px solid var(--clr-border);
        text-align: center;
    }

    main#kapcsolat #page-hero h1 {
        font-size: clamp(2.6rem, 4vw, 4.2rem);
        max-width: 820px;
        margin-inline: auto;
        margin-bottom: 16px;
    }

    main#kapcsolat #page-hero p {
        max-width: 560px;
        margin-inline: auto;
    }

    /* Térkép + kapcsolat blokk */
    main#kapcsolat #terkep-kapcsolat {
        padding-block: var(--section-pad-lg);
        background: var(--clr-bg);
    }

    main#kapcsolat #terkep-kapcsolat .row {
        align-items: stretch;
    }

    main#kapcsolat #terkep-kapcsolat .col-lg-7,
    main#kapcsolat #terkep-kapcsolat .col-lg-5 {
        display: flex;
        flex-direction: column;
    }

    main#kapcsolat #terkep-kapcsolat .map-wrap {
        flex: 1;
        min-height: 380px;
        border-radius: var(--radius);
        border: 1px solid var(--clr-border);
        overflow: hidden;
        display: flex;
    }

    main#kapcsolat #terkep-kapcsolat .map-wrap iframe {
        flex: 1;
        border: none;
        display: block;
    }

    main#kapcsolat #terkep-kapcsolat .contact-card {
        flex: 1;
        background: var(--clr-surface);
        border: 1px solid var(--clr-border);
        border-radius: var(--radius);
        padding: 36px;
    }

    main#kapcsolat #terkep-kapcsolat .contact-card h2 {
        font-size: clamp(1.6rem, 2vw, 2.2rem);
        margin-bottom: 24px;
    }

    main#kapcsolat #terkep-kapcsolat .contact-row {
        padding: 14px 0;
        border-bottom: 1px solid var(--clr-border);
        font-size: 1rem;
    }

    main#kapcsolat #terkep-kapcsolat .contact-row:last-of-type {
        border-bottom: none;
    }

    main#kapcsolat #terkep-kapcsolat .contact-row .label {
        font-size: 1rem;
        font-weight: 500;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--clr-accent);
        display: block;
        margin-bottom: 3px;
    }

    main#kapcsolat #terkep-kapcsolat .contact-row a,
    main#kapcsolat #terkep-kapcsolat .contact-row span {
        color: var(--clr-ink);
        transition: color var(--transition);
    }

    main#kapcsolat #terkep-kapcsolat .contact-row a:hover {
        color: var(--clr-accent);
    }

    /* CTA sáv */
    main#kapcsolat #cta-band {
        padding-block: 96px;
        background: var(--clr-ink);
        color: #fff;
        text-align: center;
        position: relative;
        overflow: hidden;
    }

    main#kapcsolat #cta-band::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse at 50% 120%, rgba(92,112,85,0.3) 0%, transparent 65%);
        pointer-events: none;
    }

    main#kapcsolat #cta-band .container {
        position: relative;
        z-index: 1;
        max-width: 780px;
    }

    main#kapcsolat #cta-band h2 { color: #fff; margin-bottom: 16px; }
    main#kapcsolat #cta-band p  { color: rgba(255,255,255,0.65); }
    main#kapcsolat #cta-band .btn-row { justify-content: center; }

    @media (max-width: 768px) {
        main#kapcsolat #cta-band { padding-block: 64px; }
    }