/* =========================================================
   SegítőTérkép – WordPress kiegészítések
   Ajánlatkérő űrlap, aloldalak, lejátszó. Ugyanazokra a tokenekre épül, mint a main.css.
   ========================================================= */

/* ---------- Ajánlatkérés szekció ---------- */
.ask{position:relative;z-index:3;background:var(--paper)}
.ask__inner{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,6vw,6rem);padding:var(--section-y) 0;align-items:start}
.ask__head{position:sticky;top:calc(var(--nav-h) + 2rem)}
.ask__title{font-size:var(--fs-h2);line-height:1;max-width:13ch;margin-bottom:1.5rem}
.ask__title em{color:var(--clay);font-weight:300}
.ask__note{margin-top:2rem;font-size:var(--fs-small);color:var(--ink-muted);padding-left:1rem;border-left:2px solid var(--clay);max-width:44ch}
.ask__card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,3vw,2.5rem);box-shadow:var(--sh-2)}
.ask--inner{background:var(--bg)}
.ask--inner .ask__card{background:var(--paper)}

.sform__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sform__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem}
.sfield{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.sfield--wide{grid-column:1/-1}
.sfield label{font-size:.8125rem;font-weight:500;letter-spacing:.02em;color:var(--brown)}
.sfield label small{font-weight:400;color:var(--ink-muted)}
.sfield input[type=text],.sfield input[type=email],.sfield input[type=tel],.sfield select,.sfield textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:16px;padding:.85rem 1rem;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease),background-color .3s;-webkit-appearance:none;appearance:none}
.ask--inner .sfield input,.ask--inner .sfield select,.ask--inner .sfield textarea{background:var(--bg)}
.sfield textarea{resize:vertical;min-height:140px;line-height:1.5}
.sfield input:focus,.sfield select:focus,.sfield textarea:focus{outline:none;border-color:var(--clay-text);box-shadow:0 0 0 4px rgba(154,110,82,.16)}
.sfield__select{position:relative}
.sfield__select::after{content:"";position:absolute;right:1.1rem;top:50%;width:8px;height:8px;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.sfield__select select{padding-right:2.5rem;cursor:pointer}
.sfield.is-invalid input,.sfield.is-invalid textarea{border-color:#A3432F}
.sfield__err{min-height:0;margin:0;font-size:.8125rem;color:#A3432F}
.sfield__err:empty{display:none}
.sfield--check{margin-top:1.25rem}
.sfield--check label{display:flex;gap:.7rem;align-items:flex-start;font-size:.875rem;font-weight:400;color:var(--ink-muted);line-height:1.5;cursor:pointer}
.sfield--check input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin-top:1px;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s}
.sfield--check input:checked{background:var(--ink);border-color:var(--ink)}
.sfield--check input:checked::after{content:"";width:5px;height:10px;border:solid var(--paper);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.sfield--check input:focus-visible{outline:2px solid var(--clay-text);outline-offset:3px}
.sfield--check a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.sform__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.5rem}
.sform__submit{border:0}
.sform__submit[disabled]{opacity:.6;cursor:progress}
.sform__status{margin:0;font-size:.9375rem;color:var(--cat-evidence);max-width:36ch}
.sform__status.is-error{color:#A3432F}
.sform.is-sent .sform__grid,.sform.is-sent .sfield--check,.sform.is-sent .sform__submit{display:none}
.sform.is-sent .sform__status{font-family:var(--font-display);font-size:1.6rem;line-height:1.2;color:var(--ink);max-width:none}

/* ---------- Kártya-linkek ---------- */
.hcard__link{position:absolute;inset:0;z-index:3;border-radius:var(--r-md)}
.hcard--link .hcard__cta small{display:none}
.node[data-link]{cursor:pointer}
.map__cta{display:block}
.index__name a{border-bottom:1px solid var(--line-strong);transition:border-color .3s}
.index__name a:hover{border-color:var(--ink)}
.logo__img{width:auto;height:32px}

/* ---------- Podcast: élő epizódok ---------- */
button.ep__play{cursor:pointer}
.ep--live .ep__art{cursor:pointer}
.ep--live .ep__status{color:var(--on-dark)}
.ep.is-playing .ep__play{background:var(--on-dark);color:var(--ink)}
.ep.is-playing .ep__play svg{fill:var(--ink)}
.ep.is-playing .ep__line span{transform:scaleX(var(--p,0))}
.ep__own{width:100%;height:100%;object-fit:cover}

.aplayer{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;transform:translateX(-50%);width:min(560px,calc(100% - 32px));
  display:grid;grid-template-columns:auto 1fr auto auto;grid-template-rows:auto auto;column-gap:.9rem;row-gap:.45rem;align-items:center;padding:.75rem .9rem .8rem .75rem;
  border-radius:22px;background:rgba(23,18,14,.86);color:var(--on-dark);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 50px -20px rgba(0,0,0,.6);border:1px solid var(--line-dark)}
.aplayer[hidden]{display:none}
.aplayer__toggle{grid-row:1/3;width:46px;height:46px;border-radius:50%;background:var(--on-dark);display:grid;place-items:center}
.aplayer__toggle svg{width:16px;height:16px;fill:var(--ink)}
.aplayer .i-pause,.aplayer.is-playing .i-play{display:none}
.aplayer.is-playing .i-pause{display:block}
.aplayer__info{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.aplayer__ep{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted)}
.aplayer__title{font-family:var(--font-display);font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aplayer__bar{grid-column:2/4;height:3px;border-radius:3px;background:var(--line-dark-strong);position:relative;cursor:pointer}
.aplayer__bar span{position:absolute;inset:0;background:var(--sage-on-dark);border-radius:3px;transform-origin:left;transform:scaleX(0)}
.aplayer__time{font-size:.75rem;color:var(--on-dark-muted);font-variant-numeric:tabular-nums}
.aplayer__close{grid-row:1/3;grid-column:4;width:36px;height:36px;border-radius:50%;font-size:1.4rem;line-height:1;color:var(--on-dark-muted)}
.aplayer__close:hover{color:var(--on-dark)}

/* ---------- Aloldalak ---------- */
.stk-inner{background:var(--bg)}
.inner{padding-top:calc(var(--nav-h) + clamp(2rem,6vw,5rem))}
.inner .eyebrow a{border-bottom:1px solid transparent;transition:border-color .3s}
.inner .eyebrow a:hover{border-color:currentColor}
.profile{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);padding-bottom:var(--section-y);align-items:start}
.profile__media{position:sticky;top:calc(var(--nav-h) + 2rem);display:grid;gap:1rem}
.profile__img{border-radius:var(--r-lg);overflow:hidden;background:var(--powder);aspect-ratio:3/4}
.profile__img img{width:100%;height:100%;object-fit:cover}
.profile__name{font-size:var(--fs-h2);margin-bottom:1rem}
.profile__meta{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.75rem}
.profile__meta .chip{text-transform:none;letter-spacing:.02em}
.profile__lead{margin-bottom:2rem;max-width:none;color:var(--ink)}
.profile__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin:2.5rem 0}
.profile__facts>div{padding:1.25rem 1.4rem;border-radius:var(--r-md);background:var(--paper);border:1px solid var(--line)}
.profile__facts h2{font-size:var(--fs-eyebrow);letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--clay-text);margin:0 0 .7rem}
.profile__facts ul{display:grid;gap:.4rem}
.profile__facts li{position:relative;padding-left:1rem;font-size:.9375rem}
.profile__facts li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--clay)}
.profile__ev{margin:1.5rem 0}
.profile__contact{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.5rem 0}
.profile__contact a{border-bottom:1px solid var(--line-strong)}
.profile__contact a:hover{border-color:var(--ink)}
.profile__disclaimer{font-size:.8125rem;color:var(--ink-muted);margin-top:1.5rem}

.doc{padding-bottom:var(--section-y)}
.doc__head{max-width:900px;margin-bottom:clamp(2rem,5vw,4rem)}
.doc__head .h-display{font-size:var(--fs-h2);margin-bottom:1.25rem}
.doc__head .chip{margin-bottom:1rem}
.doc__h2 a:hover{color:var(--clay)}
.doc__article+.doc__article{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--line)}
.doc__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.doc__aside{position:sticky;top:calc(var(--nav-h) + 2rem);display:grid;gap:1rem}
.doc__label{font-size:var(--fs-eyebrow);letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--clay-text);margin-top:.5rem}
.doc__links{display:grid;gap:.35rem}
.doc__links a{border-bottom:1px solid var(--line-strong)}
.doc__audio{width:100%;margin-bottom:2rem}

.prose{font-size:var(--fs-lead);line-height:1.65;color:var(--ink);max-width:68ch}
.prose>*+*{margin-top:1.1em}
.prose h2,.prose h3{font-family:var(--font-display);font-weight:360;letter-spacing:-.015em;line-height:1.1;margin-top:1.8em}
.prose h2{font-size:clamp(1.8rem,1.3rem + 1.4vw,2.6rem)}
.prose h3{font-size:clamp(1.4rem,1.15rem + .8vw,1.9rem)}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--clay)}
.prose ul,.prose ol{padding-left:1.25em;list-style:revert}
.prose blockquote{font-family:var(--font-display);font-size:1.5em;line-height:1.25;padding-left:1rem;border-left:2px solid var(--clay)}
.prose img{border-radius:var(--r-md);height:auto}
.prose figcaption{font-size:.875rem;color:var(--ink-muted);margin-top:.5rem}
.nav-links{display:flex;gap:1rem;margin-top:3rem}

/* ---------- Reszponzív ---------- */
@media (max-width:1023px){
  .ask__inner,.profile,.doc__grid{grid-template-columns:1fr}
  .ask__head,.profile__media,.doc__aside{position:relative;top:auto}
  .profile__media{max-width:420px}
}
@media (max-width:767px){
  .sform__grid{grid-template-columns:1fr}
  .ask__card{border-radius:var(--r-lg)}
  .aplayer{grid-template-columns:auto 1fr auto}
  .aplayer__time{display:none}
  .aplayer__bar{grid-column:2/3}
  .aplayer__close{grid-column:3}
}
