/* =====================================================================
   Daubner tanít – komponensek: kártyák, címkék, ár, kezdőlap, értesítők,
   tanulófelület elemei, régi (lg-*) tartalom megjelenítése
   ===================================================================== */

/* ---------- kártya ---------- */
.card { background: var(--feher); border: 1px solid var(--vonal); border-radius: var(--r-m); overflow: hidden; display: flex; flex-direction: column; transition: transform var(--t-base) var(--ease), box-shadow var(--t-base); }
.card:hover { transform: translateY(-4px); box-shadow: var(--arnyek-2); }
.card--pad { padding: var(--s-3); }
.card--pad:hover { transform: none; box-shadow: none; }
.card__media { display: block; aspect-ratio: 16/9; background: linear-gradient(135deg, var(--egkek-100), var(--homok-50)); overflow: hidden; }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.card__title { font-family: var(--sans); font-size: 18px; font-weight: 600; line-height: 1.35; margin: 0; }
.card__title a { color: var(--tinta); text-decoration: none; }
.card__title a:hover { color: var(--melykek); }
.card__text { font-size: 15px; color: var(--tinta-70); margin: 0; }
.card .btn--text { align-self: flex-start; margin-top: auto; }

/* ---------- címkék, ár ---------- */
.badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 6px 12px; border-radius: var(--r-pill); line-height: 1; }
.badge--akcio { background: var(--safrany); color: var(--tinta); }
.badge--tag { background: var(--homok); color: var(--borostyan); }
.badge--uj { background: var(--melykek); color: #fff; }
.badge--szint { background: var(--egkek-100); color: var(--melykek-700); }
.badge--tagsag { background: var(--lila-100); color: var(--lila-700); }
.badge--kesz { background: var(--siker-bg); color: var(--siker); }
.price { font-weight: 700; font-size: 22px; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--tinta); }
.price del, .price del .amount { font-weight: 500; font-size: 15px; color: var(--tinta-70); text-decoration: line-through; }
.price ins, .price ins .amount { text-decoration: none; color: var(--borostyan); }
.price del { display: block; line-height: 1.2; margin-bottom: 2px; }

/* ---------- értesítők ---------- */
.msg, .woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { display: flex; gap: 12px; padding: 14px 18px; border-radius: var(--r-s); font-size: 15.5px; line-height: 1.5; border-left: 4px solid; margin: 0 0 var(--s-3); list-style: none; background: var(--egkek-100); border-color: var(--melykek); }
.msg--ok, .woocommerce-message { background: var(--siker-bg); border-color: var(--siker); }
.msg--err, .woocommerce-error { background: var(--hiba-bg); border-color: var(--hiba); }
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li { list-style: none; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-info .button { margin-left: auto; align-self: center; }
.gi-notice-bar { background: var(--homok-50); border-top: 1px solid var(--homok); }
.gi-notice-bar__inner { max-width: var(--wrap); margin: 0 auto; padding: 14px var(--gutter); display: flex; gap: var(--s-3); align-items: center; flex-wrap: wrap; font-size: 15px; }
.gi-notice-bar p { margin: 0; flex: 1; min-width: 260px; }
.gi-notice-bar form { display: flex; gap: 8px; }
.lg-placeholder { border: 1px dashed var(--egkek); color: var(--tinta-70); padding: 12px 16px; border-radius: var(--r-s); font-size: 14px; margin: var(--s-2) 0; }

/* ---------- tagsági kapu, tagság hozzáadás ---------- */
.login-cta { border-radius: var(--r-m); padding: 22px 24px; background: linear-gradient(135deg, var(--homok-50), var(--feher)); border: 1px solid var(--homok); margin: var(--s-3) 0; }
.login-cta p { margin: 0 0 12px; font-size: 15.5px; }
.gi-membership-add { padding: 12px 16px; border-radius: var(--r-s); margin: var(--s-2) 0; font-size: 15.5px; }
.gi-membership-add--ok { background: var(--siker-bg); }
.gi-membership-add--err { background: var(--hiba-bg); }
.gi-membership-add--info { background: var(--egkek-100); }
.gi-membership-add__form { display: flex; gap: 10px; max-width: 460px; }

/* ---------- ártábla (Tagság oldal) ---------- */
.gi-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); margin: var(--s-4) 0; align-items: stretch; }
.gi-plan { background: var(--feher); border: 1px solid var(--vonal); border-radius: var(--r-l); padding: 28px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.gi-plan--top { border: 2px solid var(--safrany); box-shadow: var(--arnyek-2); }
.gi-plan--top > .badge { position: absolute; top: -13px; left: 26px; }
.gi-plan__title { font-size: 26px; margin: 0; }
.gi-plan__price { font-size: 38px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.gi-plan__price small { font-size: 15px; font-weight: 500; color: var(--tinta-70); }
.gi-plan__features ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 15.5px; }
.gi-plan__features li { padding-left: 26px; position: relative; text-align: left !important; }
.gi-plan__features li::before { content: ""; position: absolute; left: 0; top: .5em; width: 12px; height: 7px; border-left: 2px solid var(--siker); border-bottom: 2px solid var(--siker); transform: rotate(-45deg); }
.gi-plan .btn { margin-top: auto; }
@media (max-width: 900px) { .gi-plans { grid-template-columns: 1fr; } }

/* ---------- GYIK ---------- */
.gi-faq { margin: 0 0 var(--s-6); }
.gi-faq[hidden] { display: none; }
.gi-faq-szuro { margin-bottom: var(--s-2); }
.gi-faq-szuro .dtbm-filter { text-decoration: none; }
.gi-faq-szuro + #gyik > .gi-faq:first-child .gi-faq__group { margin-top: var(--s-2); }
.gi-faq { scroll-margin-top: 150px; }
.gi-faq__group { font-size: 28px; margin: var(--s-4) 0 var(--s-2); }
.gi-faq__item { border: 1px solid var(--vonal); border-radius: var(--r-m); background: var(--feher); margin: 0 0 10px; }
.gi-faq__item summary { padding: 14px 18px; font-weight: 600; cursor: pointer; list-style: none; display: flex; gap: 12px; align-items: center; }
.gi-faq__item summary::-webkit-details-marker { display: none; }
.gi-faq__item summary::before { content: ""; width: 8px; height: 8px; border-right: 1.5px solid var(--melykek); border-bottom: 1.5px solid var(--melykek); transform: rotate(-45deg); transition: transform var(--t-base); flex: none; }
.gi-faq__item[open] summary::before { transform: rotate(45deg); }
.gi-faq__body { padding: 0 18px 16px; }

/* ---------- tanulófelület: hang, PDF, fülek ---------- */
.gi-audio { margin: var(--s-2) 0; padding: 14px 18px; border-radius: var(--r-m); background: var(--para); border: 1px solid var(--vonal); display: grid; gap: 8px; }
.view-member .gi-audio { background: var(--feher); }
.gi-audio__title { font-weight: 600; font-size: 15.5px; }
.gi-audio audio { width: 100%; display: block; }
.gi-audio__dl { font-size: 14px; font-weight: 600; justify-self: start; }
.gi-pdf { margin: var(--s-3) 0; }
.gi-pdf__frame { width: 100%; height: min(75vh, 900px); border: 1px solid var(--vonal); border-radius: var(--r-m); background: var(--para); }
.gi-pdf figcaption { font-size: 14px; margin-top: 8px; }
.lg-tabs { margin: var(--s-3) 0; }
.lg-tab { border: 1px solid var(--vonal); border-radius: var(--r-m); background: var(--feher); margin: 0 0 10px; }
.lg-tab > summary { padding: 14px 18px; font-weight: 600; font-size: 16px; cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px; }
.lg-tab > summary::-webkit-details-marker { display: none; }
.lg-tab > summary::before { content: ""; width: 8px; height: 8px; border-right: 1.5px solid var(--melykek); border-bottom: 1.5px solid var(--melykek); transform: rotate(-45deg); transition: transform var(--t-base); flex: none; }
.lg-tab[open] > summary { border-bottom: 1px solid var(--vonal); }
.lg-tab[open] > summary::before { transform: rotate(45deg); }
.lg-tab__body { padding: 18px 18px 8px; }

/* ---------- régi WPBakery-elrendezés ---------- */
.lg-row { display: flex; flex-wrap: wrap; gap: 0 var(--s-3); margin: 0 0 var(--s-2); }
.lg-col { flex: 1 1 calc(var(--lg-w, 100%) - var(--s-3)); min-width: min(100%, 280px); }
.lg-col[style*="--lg-w:100%"] { flex-basis: 100%; }
.lg-text > *:last-child { margin-bottom: .6em; }
/* teljes szélességű oldalon a régi WPBakery egyoszlopos szövegblokkja olvasható sorhosszt kap */
/* Széles oldalon az egyoszlopos szövegblokk 72ch marad – KIVÉVE, ha teljes szélességű
   komponens (Bunny galéria/rács, terméklista, ártábla) van benne: azt nem szabad beszűkíteni. */
.prose--wide .lg-col[style*="--lg-w:100%"] > .lg-text:not(:has(.dtbm-gallery-app, .dtbm-grid, .dtbm-tgrid, .dtbm-playlist, ul.products, .gi-plans)) { max-width: 72ch; }
/* A felszabadított blokkon belül a folyszöveg továbbra is olvasható hasábban marad. */
.prose--wide .lg-col[style*="--lg-w:100%"] > .lg-text:has(.dtbm-gallery-app, .dtbm-grid, .dtbm-tgrid, .dtbm-playlist) > :is(p, h1, h2, h3, h4, h5, h6, ul, ol) { max-width: 72ch; }
/* A régi WPBakery keretek kibontása után a szövegszélesség-korlát nem a `.lg-text`
   dobozon ül, hanem közvetlenül a bekezdéseken – a rácsok, galériák és a többoszlopos
   sorok viszont maradnak teljes szélességűek. */
.prose--wide > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, dl) { max-width: 72ch; }
.prose--wide > .lg-row :is(p, h1, h2, h3, h4, h5, h6, ul, ol) { max-width: none; }
.lg-space { display: block; }
.lg-hr { margin: var(--s-3) 0; }
.lg-sep-title { display: flex; align-items: center; gap: 14px; font-size: 24px; margin: var(--s-4) 0 var(--s-2); }
.lg-sep-title::after { content: ""; flex: 1; height: 1px; background: var(--vonal); }
.lg-heading { margin-top: 1em; }
.lg-figure { margin: var(--s-2) 0; }
.lg-figure--center { text-align: center; }
.lg-figure--center img { margin: 0 auto; }
.lg-raw > div { border-radius: var(--r-m); overflow: hidden; }
.lg-iconbox { padding: var(--s-3); border: 1px solid var(--vonal); border-radius: var(--r-m); background: var(--feher); text-align: center; }
.lg-iconbox__title { font-size: 26px; margin: 0; }
.lg-iconbox__title a { text-decoration: none; }
.lg-message { padding: 14px 18px; border-radius: var(--r-s); background: var(--egkek-100); }
.lg-btn-wrap { margin: var(--s-2) 0; }
.lg-section { padding: var(--s-4) 0; }

/* ---------- kezdőlap ---------- */
.hero { position: relative; overflow: hidden; background: radial-gradient(640px 380px at 88% 30%, var(--egkek-100), transparent 70%), linear-gradient(180deg, var(--feher), var(--para)); }
.hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: var(--s-4); align-items: center; padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(48px, 7vw, 80px); }
/* A főcím a név (ügyfélkérés, 2026-10-01): nem vastag, a betűtípus legvékonyabb elérhető vágásában. */
.hero__title { margin: 14px 0 18px; font-weight: 500; }
.hero__alcim { margin: -8px 0 20px; font-size: 20px; line-height: 1.4; color: var(--tinta-70); }
.hero__lead { font-size: 19px; line-height: 1.6; max-width: 46ch; margin-bottom: 28px; }
.hero__actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.hero__portrait { position: relative; display: grid; place-items: center; }
/* A yantra álló ábra (ügyfélkérés, 2026-09-23): nem forog. */
.hero .yantra { position: absolute; width: 125%; max-width: none; aspect-ratio: 1; height: auto; opacity: .45; color: var(--egkek); pointer-events: none; }
/* A szöveg mögé helyezve: a cím jobb széle mögött áll, a portré mögötti rész üresen marad. */
.hero--yantra-szoveg > .yantra { width: min(620px, 52%); top: 50%; left: 34%; translate: -50% -50%; opacity: .38; z-index: 0; }
.hero--yantra-szoveg .hero__text { position: relative; z-index: 1; }
/* Kör: hagyományos fotó keretben. */
.hero__portrait--kor .hero__photo { position: relative; width: min(300px, 78%); height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; background: var(--homok); border: 8px solid var(--feher); box-shadow: var(--arnyek-2); }
/* Kivágott alak: az átlátszó hátterű portré a hero aljára ül, a yantra csak háttér mögötte. */
.hero__portrait--kivagott { align-self: end; margin-bottom: calc(-1 * clamp(48px, 7vw, 80px)); }
.hero__portrait--kivagott .yantra { width: 118%; top: 50%; left: 50%; translate: -50% -56%; }
.hero__portrait--kivagott .hero__photo { position: relative; z-index: 1; display: block; width: min(440px, 92%); height: auto; filter: drop-shadow(0 20px 28px rgba(36, 82, 95, .16)); }
.hero__portrait--kivagott .hero__quote { z-index: 2; bottom: clamp(56px, 9vw, 110px); }
.hero__quote { position: absolute; right: 0; bottom: -6px; background: var(--feher); border-radius: var(--r-m); padding: 12px 16px; box-shadow: var(--arnyek-1); font-family: var(--serif); font-style: italic; font-size: 18px; line-height: 1.25; max-width: 230px; color: var(--melykek); }
@media (max-width: 860px) { .hero__grid { grid-template-columns: 1fr; } .hero__portrait { order: -1; } .hero__quote { display: none; } }
@media (max-width: 860px) { .hero__portrait--kivagott { order: 2; margin-top: var(--s-2); } .hero__portrait--kivagott .hero__photo { width: min(340px, 78%); } }
.trust { background: var(--feher); border-top: 1px solid var(--vonal); border-bottom: 1px solid var(--vonal); }
.trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
/* Elválasztó vonalak nélkül (ügyfélkérés, 2026-10-01). */
.trust__grid div { padding: 22px 16px; text-align: center; font-size: 14px; color: var(--tinta-70); }
.trust__grid b { display: block; font-family: var(--serif); font-size: 36px; line-height: 1; color: var(--tinta); font-weight: 600; margin-bottom: 4px; font-variant-numeric: lining-nums; }
/* Számok sávja: sötétkék háttér, a yantra a sáv háttérábrája (álló). */
.trust--yantra { position: relative; overflow: hidden; background: var(--melykek-700); border-color: transparent; }
.trust--yantra > .yantra { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: clamp(420px, 50vw, 640px); aspect-ratio: 1; height: auto; max-width: none; color: var(--egkek); opacity: .3; pointer-events: none; }
/* A sáv magasabb, hogy a yantra köre felismerhető legyen a számok mögött. */
.trust--yantra .trust__grid { position: relative; z-index: 1; }
.trust--yantra .trust__grid div { padding: 44px 16px; }
.trust--yantra .trust__grid div { color: rgba(255, 255, 255, .78); }
.trust--yantra .trust__grid b { color: var(--feher); }
@media (max-width: 700px) { .trust__grid { grid-template-columns: 1fr 1fr; } }
.home-news { padding: var(--section) 0 var(--s-6); }
.home-news .lg-heading, .home-news h2, .home-news h3 { text-align: left; font-size: clamp(30px, 3.4vw, 40px); text-transform: none !important; }
.how { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-3); }
.how__title { font-family: var(--serif); font-size: 26px; font-weight: 600; display: block; margin-bottom: 6px; }
.how p { font-size: 15.5px; color: var(--tinta-70); }
@media (max-width: 800px) { .how { grid-template-columns: 1fr; } }
/* Kezdőlap ritmusa: fehér és halványkék sávok váltakoznak, a tagság-felhívás az egyetlen sötét,
   hangsúlyos sáv. A sávok közti tér kisebb, mint az aloldalakon: két egymás utáni sáv
   alsó+felső térköze korábban 150-190 px üres helyet adott a címek fölött. */
.home .section, .home .home-news { padding: clamp(36px, 4.5vw, 60px) 0; }
.home .section__head { margin-bottom: var(--s-2); }
.section--sotet { background: var(--melykek-700); color: rgba(255, 255, 255, .88); }
.section--sotet h2 { color: var(--feher); }
.section--sotet .eyebrow { color: var(--homok); }
.section--sotet .lead { color: rgba(255, 255, 255, .88); }
/* A sötét sávban a fehér kártyák saját (sötét) szövegszínt kapnak vissza. */
.section--sotet .card { color: var(--tinta); }
.section--sotet .how p { color: var(--tinta-70); }
.section--sotet + .section--sotet { padding-top: 0; }
.membership-cta { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--s-4); align-items: center; }
.membership-cta h2 { margin: .1em 0 .4em; }
.membership-cta .lead { margin: 0; }
.membership-cta__actions { display: flex; justify-content: flex-end; }
@media (max-width: 800px) { .membership-cta { grid-template-columns: 1fr; } .membership-cta__actions { justify-content: flex-start; } }

/* ---------- Tudástár elosztó, Csapat, Névjegy, Kérdezd Bélát (ACF-es oldalsablonok) ---------- */
.page-content .how--ikonos { margin: var(--s-4) 0; }
.how--ikonos .card--pad { gap: 6px; }
.card__ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--r-m); background: var(--egkek-100); color: var(--melykek); margin-bottom: 10px; }
.card__ico .ico { width: 30px; height: 30px; }
.card__note { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--tinta-70); margin: 0; }
.card__note .ico { width: 16px; height: 16px; }
.how__title a { color: var(--tinta); text-decoration: none; }
.how__title a:hover { color: var(--melykek); }

.dt-roster { margin: var(--s-4) 0 var(--s-6); }
.dt-person { display: grid; grid-template-columns: clamp(150px, 17vw, 210px) minmax(0, 1fr); gap: clamp(20px, 4vw, 44px); align-items: start; }
.dt-person + .dt-person { margin-top: clamp(36px, 5vw, 64px); padding-top: clamp(36px, 5vw, 64px); border-top: 1px solid var(--vonal); }
.dt-person__photo { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; border-radius: var(--r-l); background: var(--homok-50); }
.dt-person__name { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.15; margin: 0; text-wrap: balance; }
.dt-person__role { margin: 4px 0 0; color: var(--borostyan); font-weight: 600; font-size: 16px; }
.dt-person__bio { margin-top: var(--s-2); max-width: 68ch; line-height: 1.75; text-wrap: pretty; }
/* A régi tartalomból örökölt sorkizárás keskeny hasábban folyókat csinál. */
.dt-person__bio p { margin: 0 0 .9em; text-align: left !important; }
.dt-person__bio p:last-child { margin-bottom: 0; }
.dt-person__bio--tobbi { margin-top: 12px; }
.dt-person__mail { display: flex; align-items: center; gap: 8px; margin: var(--s-2) 0 0; font-size: 15px; overflow-wrap: anywhere; }
.dt-person__mail .ico { width: 18px; height: 18px; flex: none; color: var(--melykek); }

.dt-person__more { margin-top: 10px; }
.dt-person__more > summary { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; list-style: none; font: 600 15.5px var(--sans); color: var(--melykek); transition: color var(--t-fast) var(--ease); }
.dt-person__more > summary::-webkit-details-marker { display: none; }
.dt-person__more > summary::after { content: ""; width: 8px; height: 8px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform var(--t-base) var(--ease); flex: none; }
.dt-person__more[open] > summary::after { transform: translateY(1px) rotate(-135deg); }
.dt-person__more > summary:hover { color: var(--borostyan); }
.dt-person__more > summary:focus-visible { outline: 2px solid var(--melykek); outline-offset: 4px; border-radius: var(--r-s); }
.dt-person__more .dt-person__more-zar { display: none; }
.dt-person__more[open] .dt-person__more-nyit { display: none; }
.dt-person__more[open] .dt-person__more-zar { display: inline; }
.dt-person__more[open] .dt-person__bio--tobbi { animation: dt-person-fel var(--t-base) var(--ease) both; }
@keyframes dt-person-fel { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

@media (max-width: 760px) {
	.dt-person { grid-template-columns: 1fr; gap: var(--s-2); }
	.dt-person__photo { width: clamp(132px, 38vw, 168px); }
}
@media (prefers-reduced-motion: reduce) {
	.dt-person__more[open] .dt-person__bio--tobbi { animation: none; }
	.dt-person__more > summary,
	.dt-person__more > summary::after { transition: none; }
}

.gi-nevjegy { max-width: 680px; margin: 0 auto; text-align: center; }
.gi-nevjegy__fejlec { font-size: 24px; margin: 0 0 var(--s-3); }
.gi-nevjegy__blokk { padding: var(--s-3) 0; border-top: 1px solid var(--vonal); }
.gi-nevjegy__blokk h3 { font-size: 19px; margin: 0 0 10px; }
.gi-nevjegy__blokk p { margin: 0 0 6px; }
.gi-partnerek { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; justify-content: center; margin-top: var(--s-2); }
.gi-partnerek img { max-height: 70px; width: auto; }

.gi-kb__video { max-width: 860px; margin: 0 auto var(--s-4); }
.gi-kb { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-4); align-items: start; }
@media (max-width: 900px) { .gi-kb { grid-template-columns: 1fr; } }

/* ---------- saját űrlapok (gi-site-core) ---------- */
/* Az űrlap önálló kártya: a lap háttere elől kiemelkedik, így látszik, hol kezdődik
   és hol ér véget a kitöltendő rész. */
.gi-urlap {
	max-width: 760px; margin: var(--s-3) 0; padding: clamp(22px, 3.4vw, 34px);
	background: var(--feher); border: 1px solid var(--vonal); border-radius: var(--r-l);
	box-shadow: var(--arnyek-1);
}

/* fejléc: bevezető + jelmagyarázat */
.gi-urlap__fejlec { margin: 0 0 var(--s-3); padding-bottom: var(--s-2); border-bottom: 1px solid var(--vonal); }
.gi-urlap__bevezeto { font-size: 16.5px; line-height: 1.6; }
.gi-urlap__bevezeto > :first-child { margin-top: 0; }
.gi-urlap__bevezeto > :last-child { margin-bottom: 0; }
.gi-urlap__jelmagyarazat { margin: 8px 0 0; font-size: 14px; color: var(--tinta-70); }
.gi-urlap__fejlec .gi-urlap__bevezeto + .gi-urlap__jelmagyarazat { margin-top: 12px; }

/* mezőrács */
.gi-urlap__racs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3) var(--s-2); }
.gi-urlap__mezo { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.gi-urlap__mezo--teljes { grid-column: 1 / -1; }
.gi-urlap__cimke { font-weight: 600; font-size: 14.5px; letter-spacing: .01em; color: var(--tinta); }
.gi-urlap__csillag { color: var(--borostyan); margin-left: 2px; font-weight: 700; }
.gi-urlap__segitseg { font-size: 13.5px; line-height: 1.45; color: var(--tinta-70); }

/* a beviteli mezők halvány alapon ülnek, így látszik, hová lehet írni */
.gi-urlap input[type=text], .gi-urlap input[type=email], .gi-urlap input[type=tel],
.gi-urlap input[type=date], .gi-urlap input[type=file], .gi-urlap textarea {
	background: var(--para); border-color: var(--vonal); transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.gi-urlap input:focus, .gi-urlap textarea:focus { background: var(--feher); border-color: var(--melykek); }
.gi-urlap textarea { min-height: 150px; resize: vertical; }

/* választható opciók: kattintható sorok, nem csupasz rádiógombok */
.gi-urlap__opciok { display: grid; gap: 8px; }
.gi-urlap__opcio {
	display: flex; align-items: flex-start; gap: 11px; padding: 12px 14px; cursor: pointer;
	font-size: 15.5px; line-height: 1.45; border: 1.5px solid var(--vonal); border-radius: var(--r-m);
	background: var(--feher); transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.gi-urlap__opcio:hover { border-color: var(--egkek); background: var(--para); }
.gi-urlap__opcio:has(input:checked) { border-color: var(--safrany); background: var(--homok-50); }
.gi-urlap__opcio:has(input:focus-visible) { outline: 2px solid var(--melykek); outline-offset: 2px; }
.gi-urlap__opcio input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--melykek); }

/* lábléc: hozzájárulás + küldés, vonallal elválasztva */
.gi-urlap__lablec {
	margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--vonal);
	display: flex; flex-direction: column; gap: var(--s-2); align-items: flex-start;
}
.gi-urlap__lablec .gi-urlap__mezo { width: 100%; }
.gi-urlap__adatkezeles { border: 0; background: none; padding: 0; font-size: 15px; }
.gi-urlap__adatkezeles:hover { border: 0; background: none; }
.gi-urlap__kuld { margin: 0; }

/* hibák */
.gi-urlap__hiba { font-size: 13.5px; font-weight: 600; color: var(--hiba); }
.gi-urlap__hiba--fo { padding: 13px 16px; border-radius: var(--r-m); background: var(--hiba-bg); font-size: 15px; margin: 0 0 var(--s-3); }
.gi-urlap__mezo--hibas input, .gi-urlap__mezo--hibas textarea { border-color: var(--hiba); background: var(--hiba-bg); }

/* köszönő állapot ugyanabban a kártyában */
.gi-urlap--kesz { display: flex; gap: var(--s-2); align-items: flex-start; border-color: var(--siker); }
.gi-urlap__pipa { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--siker); position: relative; }
.gi-urlap__pipa::after { content: ""; position: absolute; left: 11px; top: 10px; width: 13px; height: 7px; border-left: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: rotate(-45deg); }
.gi-urlap__siker { font-size: 17px; line-height: 1.6; }
.gi-urlap__siker > :first-child { margin-top: 0; }
.gi-urlap__siker > :last-child { margin-bottom: 0; }

/* A csali mező nem display:none – úgy a robotok kiszúrnák, hogy nem kell kitölteni. */
.gi-urlap__csali { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 680px) {
	.gi-urlap__racs { grid-template-columns: 1fr; gap: var(--s-2); }
	.gi-urlap__kuld { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.gi-urlap input, .gi-urlap textarea, .gi-urlap__opcio { transition: none; }
}
