/* ==========================================================================
   Gyalogolj.hu — program- és időpont-oldal, az Ausztria-landing kinézetével
   (single-gy_program.php, single-gy_esemeny.php, inc/landing.php).

   Az alap az assets/css/ausztria.css (`.a-land`). Az a landing CSS-e minden
   elem margóját és belső térközét nullázza (`.a-land *`) – ami nem a landing
   saját eleme (András szövege, a téma gombjai, naptár, űrlap-választó), annak
   itt adjuk vissza.
   ========================================================================== */

/* Hero: a program képe a landingénél kicsit alacsonyabb, hogy a szöveg közel legyen. */
.a-program .hero { min-height: 82vh; }
.a-program .hero-bg { background-attachment: scroll; }

/* András szövege: olvasható oszlop, landing-betűkkel. */
.a-land .a-szoveg { max-width: 780px; font-size: 1.15rem; line-height: 1.8; }
.a-land .a-szoveg > * + * { margin-top: 1.1em; }
.a-land .a-szoveg :is(h2, h3, h4) { font-family: var(--font-heading); color: var(--text); line-height: 1.25; font-weight: 600; }
.a-land .a-szoveg h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin-top: 2.2em; }
.a-land .a-szoveg h2::after { background: var(--green); }
.a-land .a-szoveg h3 { font-size: 1.5rem; margin-top: 1.8em; }
.a-land .a-szoveg h4 { font-size: 1.25rem; margin-top: 1.5em; }
.a-land .a-szoveg > :first-child { margin-top: 0; }
.a-land .a-szoveg :is(ul, ol) { padding-left: 1.4em; }
.a-land .a-szoveg li + li { margin-top: .45em; }
.a-land .a-szoveg ul li::marker { color: var(--green); }
.a-land .a-szoveg a:not(.btn) { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; }
.a-land .a-szoveg .section-label { margin-bottom: .4em; }
.a-land .a-szoveg + .a-szoveg { margin-top: 0; }
.a-land .a-szoveg details > * + * { margin-top: .8em; }

/* A téma gombja, naptára és időpont-választója a landing nullázása után. */
.a-land .btn { padding: 15px 28px; gap: 10px; }
.a-land .gy-naptar { padding: 26px 26px 24px; margin: 0; }
.a-land .gy-naptar-fej { margin-bottom: 20px; }
.a-land .gy-naptar-fej .eyebrow { margin-bottom: 10px; }
.a-land .gy-naptar-leiras { margin-top: 10px; }
.a-land .gy-naptar-cim { font-family: var(--font-heading); }
.a-land .gy-urlap-idopontok legend { margin-bottom: 12px; }
/* A landing űrlap-címkéi `display: block !important`-ok (ausztria.css) – az időpont-választó sor marad. */
.a-land .signup-form-container .gy-idopont-valaszto { display: flex !important; font-weight: 400 !important; margin-bottom: 0 !important; padding: 16px 20px; }
.a-land .gy-idopont-valaszto input { width: 20px; height: 20px; margin-top: 4px; flex: none; }
.a-land .gy-idopont-valaszto small { margin-top: 2px; }

/* Időpont-kártyák (a landing ár-kártyái). */
.a-land .a-idopontok .pricing-card { display: flex; flex-direction: column; }
.a-land .a-idopontok .pricing-card h3 { font-size: 1.15rem; line-height: 1.35; }
.a-land .a-idopontok .price { font-size: 2.1rem; line-height: 1.2; margin-top: .4rem; }
.a-land .a-idopontok .price small { display: block; font-size: 1rem; }
.a-land .a-idopontok .btn { margin-top: auto; align-self: center; }
.a-land .a-idopontok ul { margin-bottom: 1.4rem; }
.a-land .pricing .info-header + .pricing-note { max-width: 700px; margin-inline: auto; }
.a-land .pricing-note a { color: var(--green-dark); font-weight: 700; }

@media (min-width: 1025px) {
  /* Egy-két kártya is középen álljon, ne a rács bal szélén. */
  .a-land .a-idopontok { grid-template-columns: repeat(auto-fit, minmax(280px, 380px)); justify-content: center; }
}

/* Jelentkezés: a pipás lista címkéje. */
.a-land .signup-checklist b { font-weight: 700; margin-right: .3em; }

/* GY.I.K. akkordeon (programoldalon és a kérdések oldalon is) */
.acc { display: grid; gap: 12px; }
.acc-item { background: var(--white); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.acc-q {
  width: 100%; text-align: left; background: none; border: none; cursor: pointer;
  padding: 22px 56px 22px 26px; font-size: 18px; font-weight: 700; position: relative;
  font-family: 'Source Sans 3', sans-serif;
}
.acc-q::after {
  content: ''; position: absolute; right: 26px; top: 50%; width: 12px; height: 12px;
  border-right: 2.5px solid var(--moss); border-bottom: 2.5px solid var(--moss);
  transform: translateY(-70%) rotate(45deg); transition: transform .35s var(--ease);
}
.acc-item.open .acc-q::after { transform: translateY(-30%) rotate(-135deg); }
.acc-a { max-height: 0; overflow: hidden; transition: max-height .45s var(--ease); }
.acc-item.open .acc-a { max-height: 900px; }
.acc-a > div { padding: 0 26px 24px; color: #3D4238; }
