.chero{padding-block:clamp(34px,4vw,58px) clamp(20px,2.4vw,32px);
  background:radial-gradient(110% 80% at 50% 0%,#eef7fc 0%,#fff 62%);text-align:center}
.chero h1{font-size:clamp(2.1rem,4vw,3.1rem);font-weight:800;margin:12px 0 14px}
.chero__lead{max-width:56ch;margin-inline:auto;font-size:1.02rem}

/* ---- kozvetlen kapcsolat sav (telefon + e-mail) ---- */
.cbar{display:inline-flex;align-items:stretch;gap:6px;margin-top:clamp(22px,2.6vw,32px);
  padding:10px;background:linear-gradient(160deg,var(--tint-2) 0%,#f6fbfe 100%);
  border:1px solid #dbeaf4;border-radius:99rem;box-shadow:var(--sh-sm)}
.cbar__item{display:flex;align-items:center;gap:14px;padding:12px 24px;border-radius:99rem;
  text-align:left;transition:background-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.cbar__item:hover{background:#fff;transform:translateY(-1px);box-shadow:var(--sh-sm)}
.cbar__ico{flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--brand);
  display:grid;place-items:center;box-shadow:var(--sh-sm)}
.cbar__ico svg{width:23px;height:23px}
.cbar__t{display:grid;gap:2px;min-width:0}
.cbar__label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.cbar__val{font-family:var(--f-head);font-size:1.05rem;font-weight:700;color:var(--ink);white-space:nowrap}
.cbar__sep{flex:0 0 auto;width:1px;align-self:center;height:40px;background:#d5e6f1}

/* ---- recepcio ---- */
.recep{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,20px);max-width:760px;margin-inline:auto}
.recep__card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:16px 20px;box-shadow:var(--sh-sm);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.recep__card:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.recep__card img{flex:0 0 auto;width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--tint)}
.recep__card h3{font-size:1rem;font-weight:700;margin-bottom:2px}
.recep__card p{font-size:.86rem;color:var(--muted)}

/* ---- urlap ---- */
.cform{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,3vw,40px);align-items:start}
.frm{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.frm__full{grid-column:1/-1}
.fld label{display:block;font-size:.84rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.fld label .req{color:var(--brand)}
.fld input,.fld select,.fld textarea{width:100%;font-family:inherit;font-size:.95rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.fld textarea{min-height:150px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--brand-2);
  box-shadow:0 0 0 3px rgba(26,140,190,.16)}
.fld input::placeholder,.fld textarea::placeholder{color:#a6b4c0}
.chk{display:flex;align-items:center;gap:11px;min-height:44px;font-size:.86rem;line-height:1.5;color:var(--body)}
.chk input{flex:0 0 auto;width:20px;height:20px;accent-color:var(--brand)}
.chk a{color:var(--brand);text-decoration:underline;display:inline-block;padding-block:4px}
.frm__note{grid-column:1/-1;display:none;padding:14px 16px;border-radius:var(--r-sm);
  background:var(--tint-2);border:1px solid #cfe2ee;font-size:.9rem;color:var(--ink)}
.frm__note[data-show]{display:block}

/* ---- informacios panel ---- */
.ipanel{background:linear-gradient(160deg,var(--tint-2) 0%,#f7fbfe 100%);border:1px solid #dbeaf4;
  border-radius:var(--r-xl);padding:clamp(22px,2.6vw,32px)}
.ipanel__ico{width:56px;height:56px;border-radius:17px;background:#fff;color:var(--brand);
  display:grid;place-items:center;box-shadow:var(--sh-sm);margin-bottom:16px}
.ipanel__ico svg{width:27px;height:27px}
.ipanel h2{font-size:clamp(1.15rem,1.5vw,1.35rem);font-weight:800;margin-bottom:10px}
.ipanel>p{font-size:.92rem;line-height:1.6;margin-bottom:20px}
.ipanel ul{display:grid;gap:11px}
.ipanel li{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--ink)}
.ipanel li svg{flex:0 0 auto;width:19px;height:19px;color:var(--brand);margin-top:2px}
.ipanel__div{height:1px;background:#d5e6f1;margin:22px 0 18px}
.ibox+.ibox{margin-top:18px}
.ibox h3{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:9px}
.ibox__row{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.5}
.ibox__row svg{flex:0 0 auto;color:var(--brand);margin-top:3px}
.hrs{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.89rem;margin:0}
.hrs dt{color:var(--body)}
.hrs dd{margin:0;text-align:right;font-weight:600;color:var(--ink)}
.hrs .closed{color:var(--muted);font-weight:500}

/* ---- terkep ---- */
.mapwrap{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh);background:var(--tint)}
#vdmap{width:100%;height:clamp(340px,38vw,480px)}
.leaflet-container{font-family:var(--f-body)}
.vdpin{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 50% 6px;
  transform:rotate(-45deg);background:var(--brand);box-shadow:0 6px 16px rgba(11,58,82,.35);border:2.5px solid #fff}
.vdpin svg{width:20px;height:20px;color:#fff;transform:rotate(45deg)}
.leaflet-popup-content-wrapper{border-radius:var(--r-sm);box-shadow:var(--sh)}
.leaflet-popup-content{margin:14px 16px;font-size:.9rem;line-height:1.5}
.leaflet-popup-content strong{display:block;font-family:var(--f-head);font-size:1rem;color:var(--ink);margin-bottom:3px}
.leaflet-control-zoom a{width:38px;height:38px;line-height:38px}

/* ---- reszponziv ---- */
@media (max-width:1024px){
  .cform{grid-template-columns:1fr}
}
@media (max-width:768px){
  .recep{grid-template-columns:1fr;max-width:520px}
}
@media (max-width:640px){
  .cbar{display:flex;flex-direction:column;width:100%;max-width:420px;gap:4px;
    border-radius:var(--r-lg);padding:8px}
  .cbar__sep{width:auto;height:1px;align-self:stretch;margin-inline:20px}
  .cbar__item{padding:13px 16px;border-radius:var(--r)}
  .cbar__val{white-space:normal;font-size:1rem}
}
@media (max-width:560px){
  .frm{grid-template-columns:1fr}
  #vdmap{height:340px}
}
@media (pointer:coarse){
  .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;font-size:20px}
  .leaflet-popup-close-button{width:36px;height:36px;font-size:20px;line-height:36px}
}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.frm__note--error{background:#fdecec;border-color:#f5c6c6;color:#9b1c1c}
.fld .is-invalid{border-color:#d94a4a;box-shadow:0 0 0 3px rgba(217,74,74,.14)}
