/* Villcam ügyfél-helymegosztás: a főoldal formanyelvét követő külön párbeszédablak. */
.social-btn.social-google{color:#4285F4;}
.social-btn.social-track{color:#1877F2;}
.social-btn.social-google:focus-visible,
.social-btn.social-google:hover{border-color:#4285F4;color:#4285F4;}
.social-btn.social-track:focus-visible,
.social-btn.social-track:hover{border-color:var(--ochre);color:#1877F2;}
.contact .social-btn.social-track{border-bottom-color:var(--ochre);}
.social-btn.social-track svg{width:21px;height:21px;}
.social-btn.social-track .track-person{
  fill:none;stroke:#1877F2;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.social-btn.social-track .track-pin{
  fill:#25A95C;stroke:#25A95C;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;
}
.social-btn.social-track .track-pin-dot{fill:#fff;stroke:none;}
.social-btn[type="button"]{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
}

#tracking-dialog{
  width:min(94vw,720px);
  max-width:720px;
  max-height:min(92vh,820px);
  max-height:min(92dvh,820px);
  margin:auto;
  padding:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg-panel);
  color:var(--text);
  box-shadow:0 24px 70px rgba(20,31,40,.28);
  overflow:hidden;
}
#tracking-dialog::backdrop{background:rgba(20,31,40,.72);backdrop-filter:blur(3px);}
#tracking-dialog.tracking-completed{width:min(94vw,460px);max-width:460px;}
.tracking-inline#tracking-dialog{
  display:block;
  width:min(344px,calc(100vw - 24px));
  max-width:344px;
  max-height:none;
  margin:0 auto 28px;
  box-shadow:none;
  position:static;
  inset:auto;
  transform:none;
  scroll-margin-top:84px;
  box-sizing:border-box;
  touch-action:pan-y;
}
.tracking-inline#tracking-dialog.tracking-authorized{
  width:min(100%,620px);
  max-width:620px;
}
.tracking-inline#tracking-dialog.tracking-completed{
  width:min(420px,calc(100vw - 24px));
  max-width:420px;
}
.tracking-inline#tracking-dialog .tracking-inner,
.tracking-inline#tracking-dialog .tracking-body,
.tracking-inline#tracking-dialog form,
.tracking-inline#tracking-dialog .tracking-code-row{width:100%;max-width:100%;min-width:0;}
.tracking-inline#tracking-dialog .tracking-inner{max-height:none;}
.tracking-inline#tracking-dialog .tracking-body{
  padding:10px 12px;overflow:visible;overscroll-behavior:auto;touch-action:pan-y;
}
.tracking-inline#tracking-dialog .tracking-head{padding:8px 12px;}
.tracking-inline#tracking-dialog .tracking-head h2{font-size:.94rem;line-height:1.25;}
.tracking-inline#tracking-dialog .tracking-lead{display:none;}
.tracking-inline#tracking-dialog .tracking-code-label{font-size:.68rem;margin-bottom:4px;letter-spacing:.05em;}
.tracking-inline#tracking-dialog #tracking-code{
  max-width:100%;height:38px;padding:6px 8px;font-size:1rem;letter-spacing:.14em;
}
.tracking-inline#tracking-dialog .tracking-submit{
  min-height:38px;padding:6px 10px;font-size:.76rem;white-space:nowrap;
}
.tracking-inline#tracking-dialog .tracking-message{margin-top:4px;min-height:1.2em;font-size:.76rem;line-height:1.35;}
.tracking-inner{display:flex;flex-direction:column;max-height:inherit;}
.tracking-head{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px 20px;border-bottom:1px solid var(--line);background:var(--bg-raised);
}
.tracking-head h2{
  margin:0;font-family:'Inter',sans-serif;font-size:1.25rem;color:var(--ochre-hi);
}
.tracking-close{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:transparent;color:var(--text-dim);font-size:1.1rem;cursor:pointer;
}
.tracking-close:focus-visible{outline:2px solid var(--ochre);outline-offset:2px;}
.tracking-body{padding:22px;overflow:auto;overscroll-behavior:contain;}
.tracking-lead{margin:0 0 18px;color:var(--text-dim);}
.tracking-code-label{
  display:block;font-family:'Inter',sans-serif;font-weight:600;
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;
}
.tracking-code-row{display:flex;gap:10px;align-items:stretch;}
#tracking-code{
  width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;
  background:var(--bg-raised);color:var(--text);padding:11px 14px;
  font-family:'Inter',sans-serif;font-size:1.35rem;font-weight:700;
  letter-spacing:.25em;text-align:center;font-variant-numeric:tabular-nums;
}
#tracking-code:focus{outline:2px solid var(--ochre);outline-offset:1px;border-color:var(--ochre);}
.tracking-submit{
  flex:0 0 auto;border:1px solid var(--ochre);border-radius:6px;
  background:var(--ochre);color:#fff;padding:10px 20px;
  font-family:'Inter',sans-serif;font-weight:700;cursor:pointer;
}
.tracking-submit:disabled{opacity:.58;cursor:wait;}
.tracking-submit:focus-visible{outline:2px solid var(--ochre-hi);outline-offset:2px;}
.tracking-message{min-height:1.5em;margin:10px 0 0;font-size:.9rem;color:var(--text-dim);}
.tracking-message.is-error{color:var(--led-red);}
.tracking-message.is-ok{color:var(--ok);}
.tracking-view[hidden],.tracking-login[hidden],.tracking-complete[hidden]{display:none;}
.tracking-complete{text-align:center;padding:28px 12px 22px;}
.tracking-complete:focus{outline:none;}
.tracking-complete-icon{
  width:66px;height:66px;margin:0 auto 18px;border:1px solid var(--ochre);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--ochre-hi);background:rgba(192,141,16,.08);
}
.tracking-complete-icon svg{
  width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round;
}
.tracking-complete h3{
  margin:0 0 8px;font-family:'Inter',sans-serif;font-size:1.45rem;
  line-height:1.25;color:var(--ochre-hi);
}
.tracking-complete p{margin:0;color:var(--text);font-size:1.02rem;}
.tracking-home-link{
  display:inline-block;margin-top:22px;color:var(--ochre-hi);font-weight:600;
  text-underline-offset:3px;
}
.tracking-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;}
.tracking-pill{
  display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  border-radius:999px;background:var(--bg-raised);padding:6px 10px;
  color:var(--text-dim);font-size:.8rem;
}
.tracking-status-pill::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);
  box-shadow:0 0 7px rgba(46,125,79,.55);animation:trackingStatusPulse 1.65s ease-in-out infinite;
}
.tracking-status-pill.is-delayed::before{background:#D69E2E;box-shadow:0 0 7px rgba(214,158,46,.62);}
.tracking-status-pill.is-cancelled::before,
.tracking-status-pill.is-offline::before{background:var(--led-red);box-shadow:0 0 7px rgba(197,57,41,.55);}
#tracking-arrival-eta{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text);}
@keyframes trackingStatusPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.28;transform:scale(.78)}
}
#tracking-map{
  height:360px;width:100%;border:1px solid var(--line);border-radius:7px;
  background:#E8EDF1;overflow:hidden;
}
.tracking-waiting{
  min-height:120px;display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--text-dim);padding:22px;border:1px dashed var(--line);
  border-radius:7px;background:var(--bg-raised);margin-bottom:12px;
}
.tracking-waiting[hidden]{display:none;}
.tracking-note{margin:12px 0 0;color:var(--text-dim);font-size:.78rem;line-height:1.5;}
.tracking-note a{color:var(--ochre-hi);text-underline-offset:2px;}
.tracking-location-dot{
  width:20px;height:20px;border-radius:50%;background:var(--ochre);
  border:3px solid #fff;box-shadow:0 0 0 2px var(--ochre-hi),0 4px 12px rgba(0,0,0,.35);
}
.tracking-horn-panel{
  margin-top:14px;padding:16px 14px 12px;text-align:center;border:1px solid var(--line);
  border-radius:8px;background:var(--bg-raised);
}
.tracking-horn-panel>strong{
  display:block;margin-bottom:10px;font-family:'Inter',sans-serif;
  color:var(--text);font-size:1rem;letter-spacing:.02em;
}
.tracking-horn-button{
  position:relative;width:112px;height:112px;padding:5px;border:0;border-radius:50%;
  background:conic-gradient(from 0deg,var(--ochre),#F3D486,var(--ochre-hi),var(--ochre));
  box-shadow:0 8px 24px rgba(192,141,16,.30);cursor:pointer;isolation:isolate;
  transition:transform .16s ease,box-shadow .16s ease;
  animation:trackingHornBreath 2.4s ease-in-out infinite;
}
/* Élő, pislogó gomb: 2,40 s-os ciklusban kétszer villan a gyűrű,
   a kisautó ilyenkor egy pillanatra felfénylik. */
.tracking-horn-button::after{
  content:"";position:absolute;inset:-7px;border-radius:50%;
  border:2px solid var(--ochre);opacity:0;pointer-events:none;
  animation:trackingHornWink 2.4s ease-in-out infinite;
}
.tracking-horn-button::before{
  content:"";position:absolute;inset:-4px;border-radius:inherit;z-index:-1;
  background:conic-gradient(from 0deg,transparent 0 55%,rgba(232,182,42,.98) 65%,transparent 76%);
  opacity:0;
}
.tracking-horn-ring{
  display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;
  border:3px solid #fff;background:#fff;
}
.tracking-horn-ring img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
  animation:trackingHornGlare 2.4s ease-in-out infinite;
}
.tracking-horn-button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 11px 28px rgba(192,141,16,.40);}
.tracking-horn-button:focus-visible{outline:3px solid rgba(192,141,16,.45);outline-offset:4px;}
.tracking-horn-button.is-honking{animation:trackingHornShake .48s ease both;}
.tracking-horn-button.is-honking::before{opacity:1;animation:trackingHornLight .72s linear both;}
.tracking-horn-button:disabled{opacity:.62;cursor:wait;transform:none;}
.tracking-horn-message{display:block;min-height:1.3em;margin-top:7px;color:var(--text-dim);font-size:.78rem;}
.tracking-horn-message.is-error{color:var(--led-red);}
@keyframes trackingHornLight{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes trackingHornBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes trackingHornWink{
  0%,4%{opacity:0;transform:scale(.97)}
  10%{opacity:1;transform:scale(1)}
  18%{opacity:0;transform:scale(1.06)}
  26%{opacity:.92;transform:scale(1)}
  34%{opacity:0;transform:scale(1.07)}
  100%{opacity:0;transform:scale(1)}
}
@keyframes trackingHornGlare{
  0%,6%{filter:brightness(1)}
  11%{filter:brightness(1.32)}
  17%{filter:brightness(1)}
  27%{filter:brightness(1.28)}
  33%,100%{filter:brightness(1)}
}
@keyframes trackingHornShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px) rotate(-2deg)}40%{transform:translateX(5px) rotate(2deg)}60%{transform:translateX(-3px) rotate(-1deg)}80%{transform:translateX(3px) rotate(1deg)}}

@media (max-width:540px){
  .tracking-body{padding:18px 15px;}
  .tracking-code-row{flex-direction:column;}
  .tracking-submit{width:100%;}
  #tracking-map{height:52vh;height:52dvh;min-height:300px;}
  .tracking-inline#tracking-dialog{
    width:min(344px,calc(100vw - 24px));
    max-width:344px;
    margin:0 auto 24px;
  }
  .tracking-inline#tracking-dialog.tracking-authorized{
    width:100%;
    max-width:100%;
  }
  .tracking-inline#tracking-dialog.tracking-completed{
    width:min(420px,calc(100vw - 24px));
    max-width:420px;
  }
  .tracking-inline#tracking-dialog .tracking-code-row{flex-direction:row;}
  .tracking-inline#tracking-dialog .tracking-submit{width:auto;}
  .tracking-inline#tracking-dialog .tracking-body{padding:9px 10px;}
  .tracking-inline#tracking-dialog .tracking-head{padding:7px 10px;}
}

@media (prefers-reduced-motion:reduce){
  .tracking-status-pill::before{animation:none;}
}
@media (prefers-reduced-motion:reduce){
  #tracking-dialog::backdrop{backdrop-filter:none;}
  .tracking-horn-button,.tracking-horn-button::before,
  .tracking-horn-button::after,.tracking-horn-ring img{animation:none!important;transition:none;}
}
