:root {
  --sage: #66705a;
  --sage-dark: #485040;
  --sage-light: #edf1e9;
  --gold: #b69955;
  --gold-soft: #ddcfaa;
  --cream: #faf8f1;
  --paper: #fffdf8;
  --ink: #3f403a;
  --muted: #77786f;
  --shadow: 0 22px 60px rgba(62, 69, 54, 0.12);
  --radius: 28px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
}

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

a { color: var(--sage-dark); }

.paper-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: .18;
  mix-blend-mode: multiply;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(130,120,90,.06) 0 1px, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(130,120,90,.05) 0 1px, transparent 1px);
  background-size: 26px 26px, 31px 31px;
}

.edge-ornament {
  position: fixed;
  top: 72px;
  bottom: 0;
  width: 84px;
  z-index: 5;
  pointer-events: none;
  opacity: .28;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: repeat-y;
}

.edge-ornament-left {
  left: -6px;
  background-image: url("assets/continuous-border-left-v8.png");
}

.edge-ornament-right {
  right: -6px;
  background-image: url("assets/continuous-border-right-v8.png");
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: -100px;
  z-index: 1000;
  padding: .75rem 1rem;
  background: #fff;
  border-radius: 8px;
}

.skip-link:focus { top: 1rem; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.site-header {
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.96), rgba(250,248,241,.78) 58%, rgba(231,236,225,.7)),
    linear-gradient(180deg, #f9f7f0, #eef1e9);
  display: flex;
  flex-direction: column;
}

.navigation {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 72px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(250, 248, 241, .88);
  border-bottom: 1px solid rgba(182,153,85,.12);
  backdrop-filter: blur(14px);
}

.brand {
  display: flex;
  align-items: baseline;
  gap: .55rem;
  text-decoration: none;
}

.brand strong {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.8rem;
  letter-spacing: .06em;
  color: var(--sage-dark);
}

.brand span {
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}

.nav-links {
  display: flex;
  gap: 1.2rem;
}

.nav-links a {
  text-decoration: none;
  text-transform: uppercase;
  font-size: .7rem;
  letter-spacing: .12em;
  font-weight: 500;
}

.nav-toggle {
  display: none;
  border: 0;
  background: transparent;
}

.nav-toggle span:not(.sr-only) {
  display: block;
  width: 24px;
  height: 2px;
  margin: 5px;
  background: var(--sage-dark);
}

.hero {
  width: min(1160px, 92vw);
  flex: 1;
  margin: auto;
  padding: 4rem 0 5.5rem;
  display: grid;
  place-items: center;
  text-align: center;
}

.hero-frame {
  width: min(100%, 1050px);
  position: relative;
}

.hero-frame::before,
.hero-frame::after {
  content: "";
  position: absolute;
  inset: 5% 6%;
  border: 1px solid rgba(182,153,85,.20);
  border-radius: 44px;
  pointer-events: none;
}

.hero-frame::after {
  inset: 7% 8%;
  border-color: rgba(102,112,90,.18);
}

.hero-art {
  width: 100%;
  max-height: 64vh;
  object-fit: contain;
  filter: drop-shadow(0 24px 42px rgba(72,80,64,.12));
}

.hero-copy {
  margin-top: 1.2rem;
}

.hero-kicker {
  margin: 0;
  text-transform: uppercase;
  color: var(--gold);
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  letter-spacing: .28em;
}

.hero h1 {
  margin: .25rem 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 500;
  color: var(--sage-dark);
}

.hero-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  color: var(--gold);
}

.hero-rule::before,
.hero-rule::after {
  content: "";
  width: min(190px, 26vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.hero-date {
  margin: .75rem 0 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.35rem, 3vw, 2rem);
  color: var(--sage-dark);
  letter-spacing: .06em;
}

.section {
  position: relative;
  padding: clamp(5rem, 9vw, 8rem) 7vw;
}

.section-inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.narrow {
  width: min(780px, 100%);
  text-align: center;
}

.section-heading {
  max-width: 760px;
  margin: 0 auto 3rem;
  text-align: center;
}

.eyebrow {
  margin: 0 0 .8rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .76rem;
  font-weight: 600;
  color: var(--gold);
}

h2,
h3 {
  font-family: "Cormorant Garamond", serif;
  color: var(--sage-dark);
}

h2 {
  margin: 0 0 1.35rem;
  font-size: clamp(2.5rem, 5vw, 4.2rem);
  line-height: 1.08;
  font-weight: 500;
}

h3 {
  margin: .4rem 0 .85rem;
  font-size: 1.8rem;
  line-height: 1.1;
}

.lead {
  font-size: 1.18rem;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: .8rem 1.65rem;
  border-radius: 999px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: .76rem;
  letter-spacing: .1em;
  font-weight: 600;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button-primary {
  color: #fff;
  background: var(--sage);
  box-shadow: 0 12px 28px rgba(72,80,64,.24);
}

.button-secondary {
  color: var(--sage-dark);
  border: 1px solid var(--gold);
  background: rgba(255,255,255,.75);
}

.countdown-section {
  background:
    radial-gradient(circle at center, rgba(255,255,255,.95), rgba(237,241,233,.82)),
    linear-gradient(180deg, #f4f6ef, #e9eee3);
  overflow: hidden;
}


.countdown {
  margin-top: 2.4rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.countdown div {
  padding: 1.6rem .8rem;
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(247,245,236,.9));
  border: 1px solid rgba(182,153,85,.22);
  border-radius: 22px;
  box-shadow: var(--shadow);
}

.countdown strong {
  display: block;
  font-family: "Cormorant Garamond", serif;
  color: var(--sage-dark);
  font-size: clamp(2.8rem, 6vw, 4.6rem);
  line-height: 1;
}

.countdown span {
  display: block;
  margin-top: .55rem;
  color: var(--gold);
  font-size: .82rem;
  letter-spacing: .08em;
}

.timeline-section {
  background: var(--paper);
}

.timeline {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 120px 1fr;
  row-gap: 1.6rem;
  align-items: start;
}

.timeline-item {
  min-height: 150px;
  padding: 1.5rem 1.5rem 1.5rem 5.2rem;
  position: relative;
  background: linear-gradient(135deg, rgba(250,248,241,.98), rgba(255,255,255,.96));
  border: 1px solid rgba(182,153,85,.12);
  border-radius: var(--radius);
  box-shadow: 0 12px 28px rgba(72,80,64,.07);
}

.timeline-item.left {
  grid-column: 1;
}

.timeline-item.right {
  grid-column: 3;
  transform: translateY(50%);
}

.timeline-item:nth-of-type(2) { grid-row: 1; }
.timeline-item:nth-of-type(3) { grid-row: 2; }
.timeline-item:nth-of-type(4) { grid-row: 3; }
.timeline-item:nth-of-type(5) { grid-row: 4; }
.timeline-item:nth-of-type(6) { grid-row: 5; }
.timeline-item:nth-of-type(7) { grid-row: 6; }
.timeline-item:nth-of-type(8) { grid-row: 7; }

.timeline-icon {
  position: absolute;
  left: 1.2rem;
  top: 1.3rem;
  width: 58px;
  height: 58px;
}

.timeline-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 5px 8px rgba(72,80,64,.12));
}

.timeline time {
  color: var(--gold);
  font-weight: 600;
  letter-spacing: .07em;
}

.timeline-item p {
  margin-bottom: 0;
  color: var(--muted);
}

.locations-section {
  background: var(--cream);
}

.feature {
  margin: 0 auto 4rem;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  background: #fff;
  border: 1px solid rgba(182,153,85,.14);
  border-radius: 34px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.feature.reverse {
  grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
}

.feature.reverse .feature-photo {
  order: 2;
}

.feature-photo img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.feature-copy {
  padding: clamp(2rem, 5vw, 4rem);
  align-self: center;
}

.address {
  color: var(--sage-dark);
  font-weight: 600;
}

.accommodation-section {
  background: var(--sage);
  color: #fff;
}

.accommodation-section h2,
.accommodation-section .eyebrow {
  color: #fff;
}

.accommodation-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.accommodation-copy {
  max-width: 580px;
}

.accommodation-photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.3);
  box-shadow: 0 30px 70px rgba(34,40,30,.25);
}

.rsvp-section {
  background: #fff;
  text-align: center;
}

.standalone-form-button {
  margin-bottom: 2rem;
}

.form-shell {
  width: min(980px, 100%);
  min-height: 950px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(182,153,85,.22);
  border-radius: 30px;
  box-shadow: var(--shadow);
  background: var(--cream);
}

.form-shell iframe {
  display: block;
  width: 100%;
  min-height: 1200px;
  border: 0;
  background: #fff;
}

.story-section {
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.94), rgba(237,241,233,.72)),
    var(--sage-light);
}

.story-roadmap {
  margin: 3rem auto;
  display: grid;
  grid-template-columns: 1fr 80px 1fr 80px 1fr;
  align-items: center;
}

.story-roadmap::before,
.story-roadmap::after {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.story-roadmap::before { grid-column: 2; }
.story-roadmap::after { grid-column: 4; }

.story-node {
  min-height: 140px;
  padding: 1.4rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .4rem;
  border: 1px solid rgba(182,153,85,.12);
  border-radius: 50%;
  background: rgba(255,255,255,.78);
}

.story-node:nth-child(1) { grid-column: 1; }
.story-node:nth-child(2) { grid-column: 3; }
.story-node:nth-child(3) { grid-column: 5; }

.story-node span {
  font-family: "Cormorant Garamond", serif;
  font-size: 2rem;
  color: var(--gold);
}

.story-node strong {
  font-size: .78rem;
  line-height: 1.4;
}

.story-gallery-placeholder {
  min-height: 240px;
  margin-top: 2.5rem;
  display: grid;
  place-items: center;
  padding: 2rem;
  border: 1px dashed var(--gold);
  border-radius: var(--radius);
  color: var(--muted);
  background: rgba(255,255,255,.56);
}

.faq-section {
  background: #fff;
}

.faq-grid {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}

details {
  padding: 1.2rem 1.4rem;
  background: var(--cream);
  border: 1px solid rgba(182,153,85,.12);
  border-radius: 18px;
}

summary {
  cursor: pointer;
  color: var(--sage-dark);
  font-weight: 600;
}

details p {
  margin-bottom: 0;
}

.closing-section {
  background: var(--cream);
}


.signature {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  color: var(--sage-dark);
  font-size: 2.1rem;
  font-weight: 600;
}

.secret-panda {
  position: relative;
  width: min(290px, 56vw);
  height: 190px;
  margin: -55px 7vw 25px auto;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.green-blot {
  position: absolute;
  inset: 12px 0 0 25px;
  background: var(--sage);
  opacity: .88;
  border-radius: 44% 56% 61% 39% / 45% 38% 62% 55%;
  transform: rotate(-5deg);
}

.secret-panda img {
  position: absolute;
  inset: 24px 18px 10px 15px;
  width: calc(100% - 33px);
  height: calc(100% - 34px);
  object-fit: contain;
  opacity: .3;
  transform: rotate(-2deg);
}

.panda-toast {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 200;
  max-width: 320px;
  padding: 1rem 1.2rem;
  color: #fff;
  background: var(--sage-dark);
  border-radius: 14px;
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: .3s ease;
}

.panda-toast.show {
  opacity: 1;
  transform: translateY(0);
}

footer {
  padding: 2rem 6vw;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(255,255,255,.82);
  background: var(--sage-dark);
  font-size: .86rem;
}

footer p { margin: 0; }
footer a { color: #fff; }

.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .8s ease, transform .8s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1000px) {
  .edge-ornament {
    display: none;
  }

  .navigation {
    min-height: 64px;
  }

  .nav-toggle {
    display: block;
  }

  .nav-links {
    position: absolute;
    inset: 64px 0 auto 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem 5vw 1.5rem;
    background: rgba(250,248,241,.98);
    border-bottom: 1px solid rgba(182,153,85,.14);
  }

  .nav-links.open {
    display: flex;
  }

  .nav-links a {
    padding: .65rem 0;
  }

  .timeline {
    grid-template-columns: 1fr;
  }

  .timeline-item.left,
  .timeline-item.right {
    grid-column: 1;
    grid-row: auto;
    transform: none;
  }

  .feature,
  .feature.reverse,
  .accommodation-layout {
    grid-template-columns: 1fr;
  }

  .feature.reverse .feature-photo {
    order: 0;
  }

  .feature-photo img {
    min-height: 300px;
  }

  .accommodation-copy {
    text-align: center;
    margin: 0 auto;
  }

  .story-roadmap {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .story-roadmap::before,
  .story-roadmap::after {
    display: none;
  }

  .story-node:nth-child(n) {
    grid-column: 1;
    border-radius: 24px;
  }

  footer {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 620px) {
  body {
    font-size: 15px;
  }

  .section {
    padding: 4.5rem 5vw;
  }

  .hero {
    padding: 2.5rem 0 4rem;
  }

  .hero-art {
    max-height: 54vh;
  }

  .countdown {
    grid-template-columns: repeat(2, 1fr);
  }

  .brand span {
    display: none;
  }

  .form-shell {
    width: calc(100% + 6vw);
    margin-left: -3vw;
    border-radius: 18px;
  }

  .form-shell iframe {
    min-height: 1280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}





.timeline-item.left {
  margin-right: 0;
}
.timeline-item.right {
  margin-left: 0;
}

/* Bal oldalon 4, jobb oldalon 3 elem, egymáshoz képest fél lépéssel eltolva. */
.timeline-item:nth-of-type(2) { grid-column: 1; grid-row: 1; }
.timeline-item:nth-of-type(3) { grid-column: 3; grid-row: 1; transform: translateY(58%); }
.timeline-item:nth-of-type(4) { grid-column: 1; grid-row: 2; }
.timeline-item:nth-of-type(5) { grid-column: 3; grid-row: 2; transform: translateY(58%); }
.timeline-item:nth-of-type(6) { grid-column: 1; grid-row: 3; }
.timeline-item:nth-of-type(7) { grid-column: 3; grid-row: 3; transform: translateY(58%); }
.timeline-item:nth-of-type(8) { grid-column: 1; grid-row: 4; }

.edge-ornament {
  background-color: transparent !important;
  mix-blend-mode: normal;
  filter: saturate(.92) contrast(1.04);
}


  .ornamented-title::before,
  .ornamented-title::after {
    width: 42px;
    height: 34px;
    opacity: .62;
  }
}

.timeline {
  grid-template-rows: repeat(4, minmax(170px, auto));
}

.timeline-item:nth-of-type(2) { grid-column: 1; grid-row: 1; transform: none; }
.timeline-item:nth-of-type(3) { grid-column: 3; grid-row: 1; transform: translateY(50%); }
.timeline-item:nth-of-type(4) { grid-column: 1; grid-row: 2; transform: none; }
.timeline-item:nth-of-type(5) { grid-column: 3; grid-row: 2; transform: translateY(50%); }
.timeline-item:nth-of-type(6) { grid-column: 1; grid-row: 3; transform: none; }
.timeline-item:nth-of-type(7) { grid-column: 3; grid-row: 3; transform: translateY(50%); }
.timeline-item:nth-of-type(8) { grid-column: 1; grid-row: 4; transform: none; }

@media (max-width: 1000px) {
  .timeline {
    grid-template-rows: none;
  }

  .timeline-item:nth-of-type(n) {
    grid-column: 1;
    grid-row: auto;
    transform: none;
  }
}

.timeline-item:nth-of-type(n){grid-column:1!important;grid-row:auto!important;transform:none!important;}
}


.timeline-item:nth-of-type(n){
    grid-column:1;
    grid-row:auto;
    align-self:auto;
  }
}


.timeline > article:nth-of-type(n) {
    grid-column: 1;
    grid-row: auto;
    transform: none !important;
  }
}


/* v13 – kéthasábos, fél sorral eltolt programblokk */
.timeline {
  --program-row-height: 170px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: repeat(4, var(--program-row-height));
  column-gap: clamp(2rem, 7vw, 7rem);
  row-gap: 0;
  align-items: start;
  max-width: 980px;
  margin-inline: auto;
}

/* Minden korábbi váltakozó/eltolt beállítás felülírása */
.timeline > article.timeline-item {
  grid-column: auto;
  grid-row: auto;
  align-self: start;
  transform: none !important;
  width: 100%;
  margin: 0;
}

/* Bal hasáb: 1., 3., 5., 7. program */
.timeline > article.timeline-item:nth-of-type(1) {
  grid-column: 1;
  grid-row: 1;
}

.timeline > article.timeline-item:nth-of-type(3) {
  grid-column: 1;
  grid-row: 2;
}

.timeline > article.timeline-item:nth-of-type(5) {
  grid-column: 1;
  grid-row: 3;
}

.timeline > article.timeline-item:nth-of-type(7) {
  grid-column: 1;
  grid-row: 4;
}

/* Jobb hasáb: fél sorral lejjebb, a bal oldali elemek közti hézag közepén */
.timeline > article.timeline-item:nth-of-type(2) {
  grid-column: 2;
  grid-row: 1;
  transform: translateY(calc(var(--program-row-height) / 2)) !important;
}

.timeline > article.timeline-item:nth-of-type(4) {
  grid-column: 2;
  grid-row: 2;
  transform: translateY(calc(var(--program-row-height) / 2)) !important;
}

.timeline > article.timeline-item:nth-of-type(6) {
  grid-column: 2;
  grid-row: 3;
  transform: translateY(calc(var(--program-row-height) / 2)) !important;
}

/* A program melletti korábbi grafika teljes eltávolítása */
.timeline-bamboo,
.timeline::before,
.timeline::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* Mobilon maradjon jól olvasható: egymás alatt, időrendben */
@media (max-width: 760px) {
  .timeline {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 640px;
  }

  .timeline > article.timeline-item:nth-of-type(n) {
    transform: none !important;
    width: 100%;
  }
}


/* =========================================================
   V14 – végleges programelrendezés és oldalsó grafikák nélkül
   ========================================================= */

/* Az oldal két szélén futó, végtelenített grafikák eltávolítása */
.edge-ornament,
.edge-ornament-left,
.edge-ornament-right {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  background-image: none !important;
}

/*
  Programritmus asztali nézetben:

  1. bal
                 2. jobb
  3. bal
                 4. jobb
  5. bal
                 6. jobb
  7. bal

  A jobb oldali első kártya teteje az első bal oldali
  kártya függőleges közepénél kezdődik.
*/
.timeline {
  --program-step: 190px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: repeat(4, var(--program-step)) !important;
  column-gap: clamp(2.5rem, 8vw, 8rem) !important;
  row-gap: 0 !important;
  align-items: start !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  position: relative !important;
}

/* A program körüli minden korábbi közép- vagy oldalgrafika kikapcsolása */
.timeline-bamboo,
.timeline::before,
.timeline::after,
.timeline-section::before,
.timeline-section::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
}

/* Minden korábbi, egymásra rakódott pozicionálási szabály nullázása */
.timeline > article.timeline-item {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  align-self: start !important;
  justify-self: stretch !important;
  transform: none !important;
}

/* Bal hasáb: 1., 3., 5., 7. */
.timeline > article.timeline-item:nth-of-type(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.timeline > article.timeline-item:nth-of-type(3) {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

.timeline > article.timeline-item:nth-of-type(5) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}

.timeline > article.timeline-item:nth-of-type(7) {
  grid-column: 1 !important;
  grid-row: 4 !important;
}

/* Jobb hasáb: 2., 4., 6. – pontosan fél sorral lejjebb */
.timeline > article.timeline-item:nth-of-type(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  transform: translateY(calc(var(--program-step) / 2)) !important;
}

.timeline > article.timeline-item:nth-of-type(4) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  transform: translateY(calc(var(--program-step) / 2)) !important;
}

.timeline > article.timeline-item:nth-of-type(6) {
  grid-column: 2 !important;
  grid-row: 3 !important;
  transform: translateY(calc(var(--program-step) / 2)) !important;
}

/* Keskenyebb képernyőn enyhébb, de továbbra is kéthasábos ritmus */
@media (max-width: 900px) and (min-width: 701px) {
  .timeline {
    --program-step: 180px;
    column-gap: 2rem !important;
  }
}

/* Mobilon időrendben, egyetlen oszlopban */
@media (max-width: 700px) {
  .timeline {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    max-width: 620px !important;
  }

  .timeline > article.timeline-item:nth-of-type(n) {
    width: 100% !important;
    transform: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}


/* V16 – a két új vacsora-piktogram arányhelyes megjelenítése */
.timeline-icon img[src$="vacsora.png"],
.timeline-icon img[src$="ejfeli-vacsora.jpg"] {
  object-fit: contain;
  object-position: center;
}


/* =========================================================
   V19 DESIGN PRÓBAVERZIÓ
   Finom, elegáns, letisztult díszítések
   ========================================================= */

:root {
  --gold-soft: rgba(182, 153, 85, .34);
  --gold-faint: rgba(182, 153, 85, .12);
  --gold-glow: rgba(209, 180, 107, .22);
}

/* 1. Finom arany elválasztó a nyitó részen */
.hero-divider {
  width: min(360px, 72vw);
  margin: 1.15rem auto 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .8rem;
  color: var(--gold);
  opacity: .9;
}

.hero-divider span {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-soft));
}

.hero-divider span:last-child {
  background: linear-gradient(90deg, var(--gold-soft), transparent);
}

.hero-divider b {
  font-size: .78rem;
  font-weight: 400;
  filter: drop-shadow(0 2px 5px var(--gold-glow));
}

/* 2. Szekciócímek finom csillagmotívummal */
.section-heading h2 {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
}

.heading-sparkle {
  color: var(--gold);
  font-size: .68em;
  opacity: .78;
  transform: translateY(-.04em);
  text-shadow: 0 2px 8px var(--gold-glow);
}

/* 3. Elegáns cím alatti díszvonal */
.section-heading::after {
  content: "";
  display: block;
  width: 150px;
  height: 1px;
  margin: 1rem auto 0;
  background:
    linear-gradient(90deg,
      transparent 0%,
      var(--gold-soft) 24%,
      var(--gold) 50%,
      var(--gold-soft) 76%,
      transparent 100%);
}

/* 4. Programkártyák prémium, de visszafogott kezelése */
.timeline-item {
  border: 1px solid rgba(182, 153, 85, .24) !important;
  box-shadow:
    0 14px 34px rgba(67, 58, 38, .07),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
  overflow: hidden;
}

.timeline-item::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 86% 16%, rgba(217, 186, 111, .11), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.2), transparent 44%);
}

.timeline-item:hover {
  box-shadow:
    0 20px 44px rgba(67, 58, 38, .12),
    0 0 0 1px rgba(182, 153, 85, .05) !important;
  border-color: rgba(182, 153, 85, .42) !important;
}

/* Megőrzi a fél soros eltolást, de hoverkor finoman emelkedik */
.timeline > article.timeline-item:nth-of-type(1):hover,
.timeline > article.timeline-item:nth-of-type(3):hover,
.timeline > article.timeline-item:nth-of-type(5):hover,
.timeline > article.timeline-item:nth-of-type(7):hover {
  transform: translateY(-3px) !important;
}

.timeline > article.timeline-item:nth-of-type(2):hover,
.timeline > article.timeline-item:nth-of-type(4):hover,
.timeline > article.timeline-item:nth-of-type(6):hover {
  transform: translateY(calc(var(--program-step) / 2 - 3px)) !important;
}

/* 5. Piktogramok finom arany glóriával */
.timeline-icon {
  border-radius: 50%;
}

.timeline-icon::before {
  content: "";
  position: absolute;
  inset: -9px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(209,180,107,.15), transparent 68%);
  z-index: -1;
}

/* 6. Visszaszámláló kártyák */
.countdown-luxe > * {
  border: 1px solid rgba(182,153,85,.28) !important;
  box-shadow:
    0 10px 28px rgba(73,61,37,.07),
    inset 0 1px 0 rgba(255,255,255,.72);
  background:
    radial-gradient(circle at 50% 16%, rgba(226,202,147,.12), transparent 55%),
    rgba(255,255,255,.7);
  backdrop-filter: blur(3px);
}

/* 7. Gombok finom arany csillanással */
.button {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}

.button::after {
  content: "";
  position: absolute;
  top: -70%;
  left: -45%;
  width: 34%;
  height: 240%;
  transform: rotate(22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.42),
    transparent
  );
  transition: left .65s ease;
  pointer-events: none;
}

.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 30px rgba(104,84,44,.16);
}

.button:hover::after {
  left: 125%;
}

/* 8. Fontos tartalmi blokkok finom sarokrajza */
.feature,
.accommodation-card,
.rsvp-section .section-inner,
details {
  position: relative;
}

.feature::before,
.accommodation-card::before,
.rsvp-section .section-inner::before {
  content: "⌜";
  position: absolute;
  top: .7rem;
  left: .85rem;
  color: rgba(182,153,85,.42);
  font-family: Georgia, serif;
  font-size: 1.25rem;
  z-index: 2;
  pointer-events: none;
}

.feature::after,
.accommodation-card::after,
.rsvp-section .section-inner::after {
  content: "⌟";
  position: absolute;
  right: .85rem;
  bottom: .65rem;
  color: rgba(182,153,85,.42);
  font-family: Georgia, serif;
  font-size: 1.25rem;
  z-index: 2;
  pointer-events: none;
}

/* 9. Lábléc feletti ornament */
.footer-ornament {
  display: grid;
  grid-template-columns: minmax(30px, 170px) auto minmax(30px, 170px);
  gap: .9rem;
  align-items: center;
  justify-content: center;
  width: min(520px, 82vw);
  margin: 4rem auto 1.2rem;
  color: var(--gold);
  opacity: .7;
}

.footer-ornament span {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-soft));
}

.footer-ornament span:last-child {
  background: linear-gradient(90deg, var(--gold-soft), transparent);
}

.footer-ornament b {
  font-size: 1.15rem;
  font-weight: 400;
}

/* 10. Mobilon is könnyed marad */
@media (max-width: 700px) {
  .timeline > article.timeline-item:nth-of-type(n):hover {
    transform: translateY(-2px) !important;
  }

  .heading-sparkle {
    font-size: .55em;
  }

  .section-heading::after {
    width: 110px;
  }

  .feature::before,
  .feature::after,
  .accommodation-card::before,
  .accommodation-card::after,
  .rsvp-section .section-inner::before,
  .rsvp-section .section-inner::after {
    opacity: .65;
  }
}

@media (prefers-reduced-motion: reduce) {
  .timeline-item,
  .button,
  .button::after {
    transition: none !important;
  }
}


/* =========================================================
   V21 – fejléc, visszaszámláló és szállás finomhangolása
   ========================================================= */

/* A név kezdőbetűi hangsúlyosak, a többi betű világosabb zöld */
.hero-copy h1 .name-initial {
  color: var(--green, #66705a);
}

.hero-copy h1 .name-soft {
  color: #89947c;
}

.hero-copy h1 .name-and {
  color: var(--green, #66705a);
}

/* A dátum és a helyszín távolabb kerül az elválasztótól */
.hero-date {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.15rem, 2.8vw, 2.2rem);
  flex-wrap: wrap;
}

.hero-date .date-separator {
  color: var(--gold);
  opacity: .82;
  font-weight: 300;
}

/* Visszaszámláló címe a többi szekciócímmel azonos */
.countdown-heading {
  margin-bottom: 1.8rem;
}

.countdown-heading h2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
}

.countdown-heading::after {
  content: "";
  display: block;
  width: 150px;
  height: 1px;
  margin: 1rem auto 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--gold-soft) 24%,
    var(--gold) 50%,
    var(--gold-soft) 76%,
    transparent 100%
  );
}

/* A számláló alatti kis arany elválasztó */
.countdown-divider {
  width: min(250px, 68vw);
  margin: 1.6rem auto 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .7rem;
  color: var(--gold);
  opacity: .8;
}

.countdown-divider span {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-soft));
}

.countdown-divider span:last-child {
  background: linear-gradient(90deg, var(--gold-soft), transparent);
}

.countdown-divider b {
  font-size: .72rem;
  font-weight: 400;
}

/* A hosszabb "Másodperc" felirat kényelmesen elfér */
.countdown-luxe > div {
  min-width: 0;
}

.countdown-luxe span {
  white-space: nowrap;
  font-size: clamp(.64rem, 1.4vw, .82rem);
  letter-spacing: .04em;
}

/* Szállás szekció: finoman gazdagabb, de továbbra is letisztult */
.accommodation-section {
  position: relative;
  overflow: hidden;
}

.accommodation-section::before {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  left: -180px;
  top: 8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(182,153,85,.10), transparent 68%);
  pointer-events: none;
}

.accommodation-layout {
  position: relative;
  border: 1px solid rgba(182,153,85,.22);
  border-radius: 34px;
  padding: clamp(1.1rem, 2.5vw, 2rem);
  background:
    radial-gradient(circle at 12% 14%, rgba(223,205,159,.12), transparent 34%),
    rgba(255,255,255,.66);
  box-shadow:
    0 18px 45px rgba(70,60,39,.08),
    inset 0 1px 0 rgba(255,255,255,.78);
}

.accommodation-layout::before,
.accommodation-layout::after {
  position: absolute;
  color: rgba(182,153,85,.43);
  font-family: Georgia, serif;
  font-size: 1.35rem;
  pointer-events: none;
}

.accommodation-layout::before {
  content: "⌜";
  top: .75rem;
  left: .9rem;
}

.accommodation-layout::after {
  content: "⌟";
  right: .9rem;
  bottom: .7rem;
}

.accommodation-kicker {
  display: flex;
  align-items: center;
  gap: .55rem;
  color: var(--gold);
}

.accommodation-kicker .eyebrow {
  margin: 0;
}

.accommodation-kicker > span {
  font-size: .65rem;
  opacity: .72;
}

.accommodation-rule {
  width: min(230px, 80%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .55rem;
  margin: .8rem 0 1.25rem;
  color: var(--gold);
  opacity: .72;
}

.accommodation-rule span {
  height: 1px;
  background: linear-gradient(90deg, var(--gold-soft), transparent);
}

.accommodation-rule span:last-child {
  background: linear-gradient(90deg, transparent, var(--gold-soft));
}

.accommodation-rule b {
  font-size: .8rem;
  font-weight: 400;
}

.accommodation-photo {
  position: relative;
  padding: .55rem;
}

.accommodation-photo-frame {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid rgba(182,153,85,.32);
  box-shadow:
    0 16px 32px rgba(65,55,36,.12),
    0 0 0 7px rgba(255,255,255,.48);
}

.accommodation-photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.16), transparent 45%);
  pointer-events: none;
}

.accommodation-photo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.accommodation-photo-sparkle {
  position: absolute;
  color: var(--gold);
  text-shadow: 0 2px 8px var(--gold-glow);
  pointer-events: none;
}

.accommodation-photo-sparkle.sparkle-one {
  top: -.15rem;
  right: 1.2rem;
  font-size: 1rem;
  opacity: .68;
}

.accommodation-photo-sparkle.sparkle-two {
  right: -.15rem;
  bottom: 1.1rem;
  font-size: .65rem;
  opacity: .52;
}

@media (max-width: 700px) {
  .hero-date {
    gap: .8rem 1.2rem;
  }

  .countdown-luxe span {
    font-size: .62rem;
  }

  .accommodation-layout {
    padding: 1rem;
  }

  .accommodation-rule {
    margin-left: auto;
    margin-right: auto;
  }

  .accommodation-kicker {
    justify-content: center;
  }
}


/* V22 finomítások */
.hero-copy h1 .name-initial{
  color:#59644d;
  font-weight:600;
}

.hero-copy h1 .name-soft,
.hero-copy h1 .name-and{
  color:#a9b49b;
  font-weight:400;
}

.farewell-heading{
  text-align:center;
  margin-bottom:1.5rem;
}

.farewell-heading::after{
  content:"";
  display:block;
  width:150px;
  height:1px;
  margin:1rem auto 0;
  background:linear-gradient(90deg,
      transparent,
      rgba(182,153,85,.35) 25%,
      var(--gold) 50%,
      rgba(182,153,85,.35) 75%,
      transparent);
}


/* =========================================================
   V23 – egységes prémium címtipográfia és végső finomhangolás
   ========================================================= */

/* Minden nagy cím: sötétebb kezdőbetű, világosabb folytatás */
.premium-title .title-initial {
  color: #59644d;
  font-weight: 600;
}

.premium-title .title-rest {
  color: #9daa90;
  font-weight: 500;
}

/* A címsorok finomabb betűköze és optikai egyensúlya */
.premium-title {
  letter-spacing: .015em;
  text-wrap: balance;
}

.section-heading .premium-title,
.countdown-heading .premium-title,
.farewell-heading .premium-title {
  line-height: 1.08;
}

/* Finom luxushatás: a címdíszek enyhén életre kelnek */
.heading-sparkle {
  transition:
    transform .35s ease,
    opacity .35s ease,
    text-shadow .35s ease;
}

.section-heading:hover .heading-sparkle,
.countdown-heading:hover .heading-sparkle,
.farewell-heading:hover .heading-sparkle {
  transform: translateY(-.08em) scale(1.08);
  opacity: .95;
  text-shadow: 0 3px 11px rgba(209,180,107,.3);
}

/* Az arany címvonalak finomabb, prémiumabb fényt kapnak */
.section-heading::after,
.countdown-heading::after,
.farewell-heading::after {
  box-shadow: 0 1px 5px rgba(182,153,85,.12);
}

/* Kiegyensúlyozottabb vertikális térközök */
.section-heading {
  margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.section-heading p {
  margin-top: .8rem;
  line-height: 1.7;
}

/* Finomabb kártyamozgás és árnyékváltás */
.timeline-item,
.feature,
.accommodation-layout,
details,
.countdown-luxe > * {
  will-change: transform;
}

.feature,
.accommodation-layout,
details,
.countdown-luxe > * {
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.feature:hover,
.accommodation-layout:hover,
details:hover {
  transform: translateY(-2px);
  border-color: rgba(182,153,85,.36);
  box-shadow:
    0 20px 46px rgba(67,58,38,.10),
    inset 0 1px 0 rgba(255,255,255,.78);
}

/* A képek nagyon enyhe, elegáns zoomot kapnak */
.feature img,
.accommodation-photo-frame img,
.story-section img {
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.feature:hover img,
.accommodation-layout:hover .accommodation-photo-frame img,
.story-section:hover img {
  transform: scale(1.018);
}

/* A navigáció alá diszkrét arany jelzés kerül hoverkor */
.nav-links a {
  position: relative;
}

.nav-links a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -.38rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transition: left .28s ease, right .28s ease;
}

.nav-links a:hover::after,
.nav-links a:focus-visible::after {
  left: 12%;
  right: 12%;
}

/* Finom fókuszjelzés billentyűzetes használathoz */
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 2px solid rgba(182,153,85,.65);
  outline-offset: 4px;
  border-radius: 4px;
}

/* Mobilon a címkontraszt megmarad, de a tipográfia könnyedebb */
@media (max-width: 700px) {
  .premium-title {
    letter-spacing: 0;
  }

  .section-heading {
    margin-bottom: 2rem;
  }

  .feature:hover,
  .accommodation-layout:hover,
  details:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .heading-sparkle,
  .feature,
  .accommodation-layout,
  details,
  .countdown-luxe > *,
  .feature img,
  .accommodation-photo-frame img,
  .story-section img,
  .nav-links a::after {
    transition: none !important;
  }

  .feature:hover,
  .accommodation-layout:hover,
  details:hover,
  .feature:hover img,
  .accommodation-layout:hover .accommodation-photo-frame img,
  .story-section:hover img {
    transform: none !important;
  }
}

/* V24 - a kezdőbetű optikailag egyben maradjon a szóval */
.premium-title .title-initial{
  display:inline;
  margin-right:-0.03em;
  letter-spacing:0;
}

.premium-title .title-rest{
  display:inline;
  letter-spacing:inherit;
}

.premium-title{
  word-spacing:normal;
}

/* A két span egy szónak hasson */
.title-initial + .title-rest{
  white-space:normal;
}


/* V25 - professzionális first-letter megoldás */
.title-initial,
.title-rest{
  color:inherit !important;
  font-weight:inherit !important;
}

.premium-title{
  color:#9daa90;
}

.premium-title::first-letter{
  color:#59644d;
  font-weight:600;
}


/* V26 - címszínezés a főcím mintájára */
.title-first{
 color:#59644d;
 font-weight:600;
}
.title-rest2{
 color:#9daa90;
 font-weight:500;
}
.title-first,.title-rest2{
 display:inline;
 letter-spacing:inherit;
}
.title-first+.title-rest2{
 margin-left:-0.02em;
}


/* =========================================================
   V27 – egységes brand-title komponens
   ========================================================= */

.brand-title {
  color: #9daa90;
  font-weight: 500;
  letter-spacing: .015em;
  text-wrap: balance;
}

.brand-title .brand-initial {
  color: #59644d;
  font-weight: 600;
  display: inline;
  letter-spacing: inherit;
}

.brand-title .brand-rest {
  color: #9daa90;
  font-weight: 500;
  display: inline;
  letter-spacing: inherit;
}

.brand-title .brand-initial + .brand-rest {
  margin-left: -0.018em;
}

/* A korábbi, egymással versengő címstílusok kikapcsolása */
.premium-title::first-letter {
  color: inherit !important;
  font-weight: inherit !important;
}

.title-first,
.title-rest2,
.title-initial,
.title-rest,
.hero-copy h1 .name-initial,
.hero-copy h1 .name-soft,
.hero-copy h1 .name-and {
  color: inherit !important;
  font-weight: inherit !important;
  margin: 0 !important;
  letter-spacing: inherit !important;
}

.hero-copy h1.brand-title {
  color: #9daa90;
}

h2.brand-title .brand-initial,
.hero-copy h1.brand-title .brand-initial {
  color: #59644d;
}

h2.brand-title .brand-rest,
.hero-copy h1.brand-title .brand-rest {
  color: #9daa90;
}


/* =========================================================
   V28 – egybefüggő címszöveg, valódi ::first-letter megoldás
   ========================================================= */

/* A szekciócím teljes szövege egyetlen spanban marad,
   így sem vizuálisan, sem tördelésben nem eshet szét. */
.section-title-text {
  color: #9daa90;
  font-weight: 500;
  letter-spacing: inherit;
  display: inline;
}

.section-title-text::first-letter {
  color: #59644d;
  font-weight: 600;
}

/* A korábbi, szétbontott címmegoldások teljes kikapcsolása a H2 címeknél */
h2 .brand-initial,
h2 .brand-rest,
h2 .title-first,
h2 .title-rest2,
h2 .title-initial,
h2 .title-rest {
  all: unset;
}


/* V29 - egységes first-letter a Történetünk és a Szállás címhez */
.accommodation-copy h2 .section-title-text{
  color:#9daa90;
  font-weight:500;
}
.accommodation-copy h2 .section-title-text::first-letter{
  color:#59644d;
  font-weight:600;
}


/* =========================================================
   V30 – végleges, szétesésmentes címszínezés
   ========================================================= */

/* A Történetünk teljes szövege egyetlen folytonos elem.
   Csak az első betű kap sötétebb zöldet. */
.story-title {
  display: inline;
  color: #9daa90 !important;
  font-weight: 500;
  letter-spacing: inherit;
  white-space: normal;
}

.story-title::first-letter {
  color: #59644d !important;
  font-weight: 600;
}

/* A Vadvirág Panzió szintén egyetlen folytonos elem.
   Az első betű sötétzöld, minden további betű fehér. */
.accommodation-title-text {
  display: inline;
  color: #ffffff !important;
  font-weight: inherit;
  letter-spacing: inherit;
  white-space: normal;
}

.accommodation-title-text::first-letter {
  color: #59644d !important;
  font-weight: 600;
}

/* Régi, egymást felülíró címstílusok kikapcsolása csak ennél a két címnél */
.story-title .brand-initial,
.story-title .brand-rest,
.story-title .title-first,
.story-title .title-rest2,
.accommodation-title-text .brand-initial,
.accommodation-title-text .brand-rest,
.accommodation-title-text .title-first,
.accommodation-title-text .title-rest2 {
  all: unset !important;
}


/* =========================================================
   V31 – végleges, szétesésmentes címrendszer
   ========================================================= */

h2.premium-title .section-title-text,
#szallas h2.premium-title .accommodation-title-text {
  display: inline !important;
  letter-spacing: inherit !important;
}

/* Az első szó egyetlen törhetetlen egység, ezért az eltérő színű
   kezdőbetű nem válhat le a szó többi részéről. */
h2.premium-title .title-first-word {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  gap: 0 !important;
  white-space: nowrap !important;
  vertical-align: baseline !important;
}

h2.premium-title .title-first-letter,
h2.premium-title .title-first-word-rest {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

/* Általános szekciócímek */
h2.premium-title .section-title-text {
  color: #9daa90 !important;
  -webkit-text-fill-color: #9daa90 !important;
  font-weight: 500 !important;
}

h2.premium-title .section-title-text .title-first-letter {
  color: #59644d !important;
  -webkit-text-fill-color: #59644d !important;
  font-weight: 600 !important;
}

h2.premium-title .section-title-text .title-first-word-rest {
  color: #9daa90 !important;
  -webkit-text-fill-color: #9daa90 !important;
  font-weight: 500 !important;
}

/* Történetünk – külön, célzott felülírás */
#tortenetunk h2.premium-title .story-title .title-first-letter {
  color: #59644d !important;
  -webkit-text-fill-color: #59644d !important;
}

#tortenetunk h2.premium-title .story-title,
#tortenetunk h2.premium-title .story-title .title-first-word-rest {
  color: #9daa90 !important;
  -webkit-text-fill-color: #9daa90 !important;
}

/* Vadvirág Panzió – csak a V sötétzöld, minden más fehér */
#szallas h2.premium-title .accommodation-title-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#szallas h2.premium-title .accommodation-title-text .title-first-letter {
  color: #59644d !important;
  -webkit-text-fill-color: #59644d !important;
  font-weight: 600 !important;
}

#szallas h2.premium-title .accommodation-title-text .title-first-word-rest {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* =========================================================
   V32 – egyszerűsített visszajelzés blokk
   ========================================================= */

.feedback-intro {
  max-width: 760px;
  margin: 1.1rem auto 1.35rem;
  text-align: center;
  line-height: 1.75;
}

.feedback-divider {
  width: min(430px, 74%);
  height: 1px;
  margin: 1.4rem auto;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198, 161, 91, .28) 10%,
    #c6a15b 50%,
    rgba(198, 161, 91, .28) 90%,
    transparent 100%
  );
  position: relative;
}

.feedback-divider::after {
  content: "✦";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -52%);
  padding: 0 .7rem;
  color: #c6a15b;
  background: var(--section-bg, #fff);
  font-size: .72rem;
  line-height: 1;
}

.feedback-button-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: .2rem 0;
}

.feedback-button.premium-rsvp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(365px, 88vw);
  padding: 1.05rem 2.3rem;
  border: 1px solid rgba(222, 193, 126, .9);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0)),
    linear-gradient(135deg, #ad7d34 0%, #d0aa5c 48%, #a4732f 100%);
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: .055em;
  box-shadow:
    0 10px 24px rgba(83, 63, 28, .2),
    inset 0 1px 0 rgba(255,255,255,.42);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.feedback-button.premium-rsvp-button::before,
.feedback-button.premium-rsvp-button::after {
  content: "✦";
  font-size: .76rem;
  color: rgba(255,255,255,.9);
  margin: 0 .7rem;
}

.feedback-button.premium-rsvp-button:hover,
.feedback-button.premium-rsvp-button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.045);
  box-shadow:
    0 14px 30px rgba(83, 63, 28, .25),
    inset 0 1px 0 rgba(255,255,255,.5);
}

.feedback-button.premium-rsvp-button:active {
  transform: translateY(0);
}

@media (max-width: 640px) {
  .feedback-intro {
    line-height: 1.65;
  }

  .feedback-button.premium-rsvp-button {
    min-width: 0;
    width: min(92%, 360px);
    padding: .95rem 1.2rem;
    letter-spacing: .035em;
  }
}


/* =========================================================
   V33 – prémium finomhangolások
   ========================================================= */

/* 1. Finom megjelenési animáció */
.reveal{
    opacity:0;
    transform:translateY(18px);
    transition:
        opacity .55s ease,
        transform .55s ease;
}
.reveal.visible,
.reveal.is-visible{
    opacity:1;
    transform:none;
}

/* 2. Program idővonal pontok */
.timeline-item::before{
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        background-color .35s ease;
}
.timeline-item:hover::before{
    transform:scale(1.18);
    box-shadow:0 0 10px rgba(198,161,91,.45);
}

/* 3. Prémium arany fény a visszajelzés gombon */
.feedback-button.premium-rsvp-button{
    position:relative;
    overflow:hidden;
}
.feedback-button.premium-rsvp-button::selection{
    background:transparent;
}
.feedback-button.premium-rsvp-button::after{
    content:"";
    position:absolute;
    inset:-40% auto -40% -35%;
    width:28%;
    transform:skewX(-25deg) translateX(-180%);
    background:linear-gradient(
        90deg,
        rgba(255,255,255,0),
        rgba(255,255,255,.45),
        rgba(255,255,255,0)
    );
    pointer-events:none;
}
.feedback-button.premium-rsvp-button:hover::after{
    transition:transform .8s ease;
    transform:skewX(-25deg) translateX(650%);
}

/* 4. Történet képei - előkészített album stílus */
.story-photo{
    border:8px solid rgba(255,255,255,.92);
    border-radius:8px;
    box-shadow:
        0 10px 28px rgba(0,0,0,.14),
        0 0 0 1px rgba(198,161,91,.22);
    transition:transform .25s ease;
}
.story-photo:hover{
    transform:translateY(-3px) rotate(.3deg);
}

/* Váltakozó enyhe dőlés, ha több kép kerül be */
.story-photo:nth-of-type(odd){
    transform:rotate(-1.1deg);
}
.story-photo:nth-of-type(even){
    transform:rotate(.9deg);
}
.story-photo:hover:nth-of-type(odd),
.story-photo:hover:nth-of-type(even){
    transform:translateY(-3px) rotate(0deg);
}

/* 5. Hasznos tudnivalók ikonhangulat */
.info-card h3::before,
.faq-item h3::before{
    content:"✦";
    color:#c6a15b;
    margin-right:.45rem;
    font-size:.8em;
}


/* =========================================================
   FINAL RELEASE 1.0
   ========================================================= */

/* Finom, nyomtatott akvarellpapír-hatás */
.paper-grain {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: .055;
  mix-blend-mode: multiply;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(71, 62, 45, .38) 0 .45px, transparent .6px),
    radial-gradient(circle at 70% 60%, rgba(71, 62, 45, .27) 0 .45px, transparent .65px),
    linear-gradient(95deg, rgba(255,255,255,.3), rgba(80,70,50,.08), rgba(255,255,255,.25));
  background-size: 5px 5px, 7px 7px, 100% 100%;
}

/* Finom szekciózáró ornamentumok – csak néhány helyen */
.timeline-section::after,
.locations-section::after,
.rsvp-section::after,
.story-section::after {
  content: "❦";
  display: block;
  width: fit-content;
  margin: -1.15rem auto 0;
  padding: 0 1rem;
  color: rgba(183, 143, 68, .78);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.45rem;
  line-height: 1;
}

/* Ikonok egységes, arany-akvarell kerete */
.timeline-icon {
  border: 1px solid rgba(190, 151, 75, .34);
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.96), rgba(248,245,236,.88));
  box-shadow:
    0 7px 20px rgba(87, 72, 43, .08),
    inset 0 0 0 4px rgba(255,255,255,.55);
}

.timeline-icon img {
  object-fit: contain;
  filter: saturate(.86) contrast(.97);
}

/* Fejléc: lassú, alig észrevehető lebegés és scroll-parallaxis */
.hero-art {
  --hero-parallax: 0px;
  transform: translate3d(0, var(--hero-parallax), 0) scale(1.012);
  animation: hero-breathe 24s ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes hero-breathe {
  from { transform: translate3d(0, var(--hero-parallax), 0) scale(1.006); }
  to   { transform: translate3d(0, calc(var(--hero-parallax) - 2px), 0) scale(1.018); }
}

/* Visszaszámláló állapotüzenetek */
.countdown.countdown-message {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 116px;
  width: min(680px, 94%);
  margin-inline: auto;
  padding: 1.4rem 1.8rem;
}

.countdown.countdown-message p {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.85rem, 4vw, 3rem);
  font-weight: 600;
  color: #66705a;
  text-align: center;
  letter-spacing: .015em;
}

.countdown-divider.message-divider {
  margin-top: 1.1rem;
}

/* Történetfotók: kattintható, későbbi képfeltöltésre előkészítve */
img.story-photo {
  cursor: zoom-in;
}

.story-lightbox[hidden] {
  display: none;
}

.story-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  background: rgba(28, 30, 24, .88);
  backdrop-filter: blur(8px);
}

.story-lightbox-image {
  display: block;
  max-width: min(1100px, 92vw);
  max-height: 82vh;
  width: auto;
  height: auto;
  border: 8px solid rgba(255,255,255,.96);
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(0,0,0,.38);
}

.story-lightbox-caption {
  max-width: 760px;
  margin: .9rem auto 0;
  color: rgba(255,255,255,.9);
  text-align: center;
}

.story-lightbox-close {
  position: fixed;
  top: max(1rem, env(safe-area-inset-top));
  right: max(1rem, env(safe-area-inset-right));
  width: 46px;
  height: 46px;
  border: 1px solid rgba(219,185,116,.65);
  border-radius: 50%;
  background: rgba(35,38,30,.72);
  color: #f5e5bc;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

body.lightbox-open {
  overflow: hidden;
}

/* 2026. szeptember 5. 18:00 után tartós Evening Mode */
html.evening-mode {
  color-scheme: dark;
  --section-bg: #282b24;
}

html.evening-mode body {
  background: #24271f;
  color: #ece6d9;
}

html.evening-mode .site-header,
html.evening-mode .section,
html.evening-mode .countdown-section,
html.evening-mode .timeline-section,
html.evening-mode .locations-section,
html.evening-mode .rsvp-section,
html.evening-mode .story-section,
html.evening-mode .faq-section {
  background-color: #24271f;
}

html.evening-mode .navigation {
  background: rgba(31, 34, 27, .92);
  border-bottom-color: rgba(205, 168, 91, .22);
}

html.evening-mode .navigation a,
html.evening-mode .section p,
html.evening-mode .feature-copy p,
html.evening-mode .faq-item p,
html.evening-mode .story-section p {
  color: #ddd7ca;
}

html.evening-mode .feature,
html.evening-mode .faq-item,
html.evening-mode .story-gallery-placeholder,
html.evening-mode .countdown-luxe {
  background: rgba(49, 53, 43, .88);
  border-color: rgba(205, 168, 91, .24);
  box-shadow: 0 14px 38px rgba(0,0,0,.18);
}

html.evening-mode h3,
html.evening-mode .story-date,
html.evening-mode .countdown.countdown-message p {
  color: #e5d4aa;
}

html.evening-mode h2.premium-title .section-title-text,
html.evening-mode h2.premium-title .section-title-text .title-first-word-rest,
html.evening-mode #tortenetunk h2.premium-title .story-title,
html.evening-mode #tortenetunk h2.premium-title .story-title .title-first-word-rest {
  color: #bdc6ad !important;
  -webkit-text-fill-color: #bdc6ad !important;
}

html.evening-mode h2.premium-title .section-title-text .title-first-letter,
html.evening-mode #tortenetunk h2.premium-title .story-title .title-first-letter {
  color: #e0c37d !important;
  -webkit-text-fill-color: #e0c37d !important;
}

html.evening-mode .feedback-divider::after {
  background: #24271f;
}

html.evening-mode .paper-grain {
  opacity: .07;
  mix-blend-mode: screen;
}

/* Mozgáscsökkentés: minden effekt kikapcsolható rendszerbeállítással */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .hero-art {
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .hero-art {
    animation: none;
    transform: none;
  }

  .timeline-section::after,
  .locations-section::after,
  .rsvp-section::after,
  .story-section::after {
    margin-top: -.65rem;
  }

  .story-lightbox-image {
    border-width: 5px;
    max-height: 78vh;
  }
}


/* =========================================================
   FINAL RELEASE 1.0.1 – célzott vizuális hibajavítások
   ========================================================= */

50% {
    opacity: 1;
    transform: scale(1.1) rotate(7deg);
  }
}

/* 2. A visszajelzés elválasztó középső dísze teljesen háttér nélküli.
      A vonal középen megszakad, ezért nincs fehér takarófolt. */
.feedback-divider {
  height: 1.2rem;
  background: none !important;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .7rem;
}

.feedback-divider::before,
.feedback-divider::after {
  content: "";
  position: static;
  display: block;
  width: auto;
  height: 1px;
  padding: 0;
  transform: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198, 161, 91, .36) 20%,
    #c6a15b 100%
  );
}

.feedback-divider::after {
  background: linear-gradient(
    90deg,
    #c6a15b 0%,
    rgba(198, 161, 91, .36) 80%,
    transparent 100%
  );
}

/* A középső dísz külön, háttér nélküli elemként jelenik meg. */
.feedback-divider {
  color: #c6a15b;
  font-size: 0;
}

.feedback-divider::marker {
  content: "";
}

.feedback-divider > * {
  display: none !important;
}

.feedback-divider::selection {
  background: transparent;
}

/* Középső csillag háttér nélkül, az elem szöveges tartalmaként. */
.feedback-divider {
  --divider-ornament: "✦";
}

.feedback-divider::before {
  grid-column: 1;
}

.feedback-divider::after {
  grid-column: 3;
}

/* A csillagot egy háttér nélküli box-shadow mentes ál-elem adja. */
.feedback-divider {
  position: relative;
}

.feedback-divider span {
  display: none;
}

.feedback-divider {
  text-align: center;
}

.feedback-divider::after,
.feedback-divider::before {
  align-self: center;
}

/* külön elem a középső csillaghoz */
.feedback-divider {
  isolation: isolate;
}

.feedback-divider:empty {
  font-size: .78rem;
}

.feedback-divider:empty::before,
.feedback-divider:empty::after {
  content: "";
}

/* A háttér nélküli csillagot text-shadow nélkül rajzoljuk ki */
.feedback-divider:empty {
  background-image:
    linear-gradient(90deg,
      transparent 0,
      transparent calc(50% - 1.15rem),
      rgba(0,0,0,0) calc(50% - 1.15rem),
      rgba(0,0,0,0) calc(50% + 1.15rem),
      transparent calc(50% + 1.15rem)
    );
}

.feedback-divider:empty::selection {
  background: transparent;
}

/* Modern böngészőkben a középső ornamentum */
.feedback-divider:empty {
  text-indent: 0;
}

.feedback-divider:empty::before {
  box-shadow: none;
}

.feedback-divider:empty::after {
  box-shadow: none;
}

/* Actual center glyph */
.feedback-divider:empty {
  --center-glyph: "✦";
}

.feedback-divider:empty {
  line-height: 1;
}

/* Use an inline SVG-free pseudo overlay with transparent background */
.feedback-divider:empty {
  background-color: transparent !important;
}

.feedback-divider:empty {
  caret-color: transparent;
}

.feedback-divider:empty {
  overflow: visible;
}

.feedback-divider:empty {
  font-family: "Cormorant Garamond", serif;
}

.feedback-divider:empty::before,
.feedback-divider:empty::after {
  z-index: 1;
}

/* central ornament */
.feedback-divider:empty {
  /* fallback text is inserted by JS-free CSS via mask-like overlay below */
}

.feedback-divider:empty {
  contain: layout style;
}

.feedback-divider:empty::before,
.feedback-divider:empty::after {
  opacity: 1;
}

/* Dedicated childless-element center ornament */
.feedback-divider:empty {
  --ornament-color: #c6a15b;
}

.feedback-divider:empty {
  text-decoration: none;
}

/* Add actual glyph using a background-free drop-cap pseudo element */
.feedback-divider:empty {
  /* browser-safe center glyph through generated content on a nested layout surrogate */
}

.feedback-divider:empty::before {
  margin: 0;
}

.feedback-divider:empty::after {
  margin: 0;
}

/* Since both pseudo-elements are reserved for the two lines, use a tiny centered
   radial-free text glyph rendered by a box-shadow-free data URI SVG. */
.feedback-divider {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Ctext x='9' y='13' text-anchor='middle' font-size='12' fill='%23c6a15b'%3E%E2%9C%A6%3C/text%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
  background-color: transparent !important;
}

html.evening-mode .feedback-divider {
  background-color: transparent !important;
}

@media (prefers-reduced-motion: reduce) {
  #tortenetunk .heading-sparkle,
  .story-section .heading-sparkle {
    animation: none !important;
  }
}


/* =========================================================
   FINAL RELEASE 1.0.2 – apró vizuális korrekciók
   ========================================================= */

/* A visszajelzés blokk alatti külön ornamentum eltávolítása.
   A gomb alatti arany elválasztó változatlanul megmarad. */
.rsvp-section::after {
  content: none !important;
  display: none !important;
}

}




/* =========================================================
   FINAL RELEASE 1.0.5 – szerkezeti és elválasztó javítások
   ========================================================= */

/* A Történetünk címe most ugyanazt a .section-heading szerkezetet használja,
   mint az összes többi szekciócím, ezért ugyanazok az animációk érvényesek rá. */
.story-section .section-heading {
  margin-bottom: 1.4rem;
}

/* A korábbi téves ::before csillagokat minden érintett szekciónál eltávolítjuk. */
.timeline-section .section-inner::before,
.locations-section .section-inner::before,
.faq-section .section-inner::before,
.farewell-section .section-inner::before,
.accommodation-text::before {
  content: none !important;
  display: none !important;
}

/* Egységes, ornamentum nélküli arany elválasztó csíkok. */
.timeline-section .section-inner::after,
.locations-section .section-inner::after,
.faq-section .section-inner::after,
.farewell-section .section-inner::after,
.accommodation-text::after {
  content: "" !important;
  display: block !important;
  width: min(430px, 74%);
  height: 1px;
  margin: 2rem auto 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.35) 12%,
    #c6a15b 50%,
    rgba(198,161,91,.35) 88%,
    transparent 100%
  ) !important;
  position: relative;
}

/* A Vadvirág Panzió alatti vonal és a legalul lévő vonal is sima marad. */
.accommodation-text::after,
.farewell-section .section-inner::after {
  background-image: none !important;
  box-shadow: none !important;
}

/* A Történetünk szekció végén ne jelenjen meg ornamentum vagy elválasztó. */
.story-section::after,
.story-section .section-inner::after {
  content: none !important;
  display: none !important;
}

/* A visszajelzés szekció korábbi külön ornamentuma továbbra se jelenjen meg. */
.rsvp-section::after {
  content: none !important;
  display: none !important;
}


/* =========================================================
   FINAL RELEASE 1.0.6 – alapos elválasztó-rendszerezés
   ========================================================= */

/* Minden korábbi ornamentum és pseudo-element kikapcsolása
   a három most javított területen. */
.accommodation-rule::before,
.accommodation-rule::after,
.footer-ornament::before,
.footer-ornament::after,
.feedback-divider::before,
.feedback-divider::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

/* Vadvirág Panzió neve alatti egyszerű, ornamentum nélküli vonal. */
.accommodation-rule.plain-divider {
  display: block !important;
  width: min(230px, 80%);
  height: 1px;
  margin: .8rem 0 1.25rem;
  padding: 0;
  border: 0;
  background: linear-gradient(
    90deg,
    rgba(198,161,91,.12) 0%,
    #c6a15b 50%,
    rgba(198,161,91,.12) 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    rgba(198,161,91,.12) 0%,
    #c6a15b 50%,
    rgba(198,161,91,.12) 100%
  ) !important;
  box-shadow: none !important;
  opacity: .72;
}

/* A lap legalján egyszerű, ornamentum nélküli vonal. */
.footer-ornament.plain-divider {
  display: block !important;
  width: min(520px, 82vw);
  height: 1px;
  margin: 4rem auto 1.2rem;
  padding: 0;
  border: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.35) 14%,
    #c6a15b 50%,
    rgba(198,161,91,.35) 86%,
    transparent 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.35) 14%,
    #c6a15b 50%,
    rgba(198,161,91,.35) 86%,
    transparent 100%
  ) !important;
  box-shadow: none !important;
  opacity: .72;
}

/* RSVP: teljesen tiszta, szimmetrikus elrendezés.
   Rövid – hosszú – gomb – hosszú – rövid. */
.rsvp-section .feedback-divider {
  display: block !important;
  height: 1px;
  padding: 0;
  border: 0;
  position: static;
  color: transparent;
  font-size: 0;
  background-image: none !important;
  box-shadow: none !important;
}

.rsvp-section .feedback-divider-short {
  width: min(210px, 46%);
  margin: .65rem auto;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.40) 18%,
    #c6a15b 50%,
    rgba(198,161,91,.40) 82%,
    transparent 100%
  ) !important;
}

.rsvp-section .feedback-divider-long {
  width: min(430px, 74%);
  margin: .75rem auto 1.2rem;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.28) 10%,
    #c6a15b 50%,
    rgba(198,161,91,.28) 90%,
    transparent 100%
  ) !important;
}

.rsvp-section .feedback-button-wrap + .feedback-divider-long {
  margin-top: 1.2rem;
  margin-bottom: .75rem;
}

.rsvp-section .feedback-divider-long + .feedback-divider-short {
  margin-top: .65rem;
  margin-bottom: 0;
}

/* Ne kerüljön külön szekciózáró ornamentum az RSVP blokk alá. */
.rsvp-section::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 700px) {
  .rsvp-section .feedback-divider-short {
    width: min(170px, 52%);
  }

  .rsvp-section .feedback-divider-long {
    width: min(360px, 78%);
  }
}


/* =========================================================
   FINAL RELEASE 1.0.7
   ========================================================= */

/* 1. Helyszínek szekció: csak a vonal maradjon, ornamentum ne. */
.locations-section .section-inner::before{
    content:none !important;
    display:none !important;
}

/* 2. RSVP szöveg alatti elválasztó eltávolítása.
   A gomb körüli 2+2 vonal megmarad. */
.rsvp-section .section-inner > .divider,
.rsvp-section .section-inner > .section-divider,
.rsvp-section .section-inner > hr{
    display:none !important;
}

/* =========================================================
   FINAL RELEASE 1.0.8 – ellenőrzött célzott javítások
   ========================================================= */

/* Helyszínek: a szekció végén lévő ❦ ornamentum eltávolítása.
   A section-inner::after által rajzolt sima elválasztó vonal megmarad. */
.locations-section::after {
  content: none !important;
  display: none !important;
}

/* Esküvői visszajelzés: a cím közvetlen alatti dekoratív vonal eltávolítása.
   A gomb fölötti két és a gomb alatti két feedback-divider változatlan marad. */
.rsvp-section .section-heading::after {
  content: none !important;
  display: none !important;
}




/* =========================================================
   FINAL RELEASE 1.0.10 – RSVP elválasztók végleges javítása
   ========================================================= */

/* A cím saját dekorációs vonala ne jelenjen meg. */
.rsvp-section .section-heading::after {
  content: none !important;
  display: none !important;
}

/* Pontos sorrend:
   rövid vonal → hosszú vonal → gomb → hosszú vonal → rövid vonal */
.rsvp-section .section-heading + .feedback-divider-short {
  display: block !important;
  width: min(210px, 46%) !important;
  height: 1px !important;
  margin: .65rem auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.40) 18%,
    #c6a15b 50%,
    rgba(198,161,91,.40) 82%,
    transparent 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.40) 18%,
    #c6a15b 50%,
    rgba(198,161,91,.40) 82%,
    transparent 100%
  ) !important;
}

.rsvp-section .section-heading
  + .feedback-divider-short
  + .feedback-divider-long {
  display: block !important;
  width: min(430px, 74%) !important;
  height: 1px !important;
  margin: .75rem auto 1.2rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.28) 10%,
    #c6a15b 50%,
    rgba(198,161,91,.28) 90%,
    transparent 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(198,161,91,.28) 10%,
    #c6a15b 50%,
    rgba(198,161,91,.28) 90%,
    transparent 100%
  ) !important;
}

.rsvp-section .feedback-button-wrap + .feedback-divider-long {
  display: block !important;
  width: min(430px, 74%) !important;
  height: 1px !important;
  margin: 1.2rem auto .75rem !important;
}

.rsvp-section .feedback-button-wrap
  + .feedback-divider-long
  + .feedback-divider-short {
  display: block !important;
  width: min(210px, 46%) !important;
  height: 1px !important;
  margin: .65rem auto 0 !important;
}

/* Egyik RSVP-vonal se kapjon ornamentumot. */
.rsvp-section .feedback-divider::before,
.rsvp-section .feedback-divider::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 700px) {
  .rsvp-section .section-heading + .feedback-divider-short,
  .rsvp-section .feedback-button-wrap
    + .feedback-divider-long
    + .feedback-divider-short {
    width: min(170px, 52%) !important;
  }

  .rsvp-section .section-heading
    + .feedback-divider-short
    + .feedback-divider-long,
  .rsvp-section .feedback-button-wrap + .feedback-divider-long {
    width: min(360px, 78%) !important;
  }
}
