/* =============================================================
   Kontaktskjema på behandlerprofilene – [bnett_kontakt_behandler]
   Egen fil, ikke en del av bestillingsskjemaets CSS: profilsidene
   skal slippe å laste 19 kB skjema-CSS for én knapp.
   ============================================================= */

.ptck, .ptck *, .ptck *::before, .ptck *::after{ box-sizing:border-box; }

.ptck{
  --ptck-gronn:#245044;
  --ptck-gronn-m:#245044;
  --ptck-blekk:#18392f;
  --ptck-dus:#5a6b62;
  --ptck-linje:#e2e8e2;
  --ptck-myk:#f2f7ee;
  --ptck-hvit:#fff;
  font-family:inherit;
  display:block;
}

/* ---------- knappen ---------- */
.ptck .ptck__knapp{
  display:inline-flex; align-items:center; gap:9px;
  padding:13px 22px;
  border:0; border-radius:999px;
  background:var(--ptck-gronn); color:#fff;
  font-family:inherit;font-weight:600;font-size:15px;line-height:1.2;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s ease, transform .12s ease;
  max-width:100%;
}
.ptck .ptck__knapp:hover{ background:var(--ptck-gronn-m); }
.ptck .ptck__knapp:active{ transform:translateY(1px); }
.ptck .ptck__knapp:focus-visible{ outline:3px solid #9ec8ae; outline-offset:2px; }
.ptck .ptck__knapp span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ptck .ptck__ikon{ flex:none; }

/* ---------- overlegget ---------- */
.ptck .ptck__overlegg{
  position:fixed; inset:0; z-index:999999;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.ptck .ptck__overlegg[hidden]{ display:none !important; }

.ptck .ptck__bakgrunn{
  position:absolute; inset:0;
  background:rgba(14,32,24,.55);
  animation:ptckInn .18s ease;
}

.ptck .ptck__ark{
  position:relative;
  box-sizing:border-box;
  width:100%; max-width:480px;
  max-height:calc(100dvh - 40px);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  background:var(--ptck-hvit);
  border-radius:9px;
  box-shadow:0 24px 60px rgba(10,26,18,.28);
  padding:22px 22px 24px;
  animation:ptckOpp .22s cubic-bezier(.32,.72,0,1);
}

@keyframes ptckInn{ from{opacity:0} to{opacity:1} }
@keyframes ptckOpp{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }

@media (prefers-reduced-motion:reduce){
  .ptck .ptck__bakgrunn, .ptck .ptck__ark{ animation:none; }
}

/* ---------- topp ---------- */
.ptck .ptck__topp{
  display:flex; align-items:flex-start; gap:12px;
  margin:0 0 16px;
}
.ptck .ptck__tittel{
  margin:0; flex:1 1 auto;
  font-family:inherit;font-weight:700;font-size:19px;line-height:1.3; color:var(--ptck-blekk);
  letter-spacing:-.2px;
}
.ptck .ptck__lukk{
  flex:none; width:34px; height:34px;
  display:grid; place-items:center;
  border:0; border-radius:50%;
  background:var(--ptck-myk); color:var(--ptck-dus);
  cursor:pointer;
}
.ptck .ptck__lukk:hover{ background:#e6efe2; color:var(--ptck-blekk); }
.ptck .ptck__lukk:focus-visible{ outline:3px solid #9ec8ae; outline-offset:2px; }

/* ---------- skjemaet ---------- */
.ptck .ptck__felle{
  position:absolute !important; left:-9999px !important;
  width:1px; height:1px; overflow:hidden;
}
.ptck .ptck__rad{ margin:0 0 13px; }
.ptck .ptck__rad--to{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.ptck .ptck__merke{
  display:flex; align-items:baseline; justify-content:space-between; gap:8px;
  margin:0 0 5px;
  font-family:inherit;font-weight:600;font-size:13.5px;line-height:1.3; color:var(--ptck-blekk);
}
.ptck .ptck__teller{ font-weight:500; font-size:12.5px; color:var(--ptck-dus); }

.ptck .ptck__felt{
  display:block; width:100%; box-sizing:border-box;
  padding:11px 13px;
  border:1px solid var(--ptck-linje); border-radius:7px;
  background:#fff; color:var(--ptck-blekk);
  font-family:inherit;font-weight:400;font-size:16px;line-height:1.4;   /* 16px hindrer at iOS zoomer inn */
  transition:border-color .14s ease, box-shadow .14s ease;
}
.ptck .ptck__felt:focus{
  outline:0;
  border-color:var(--ptck-gronn);
  box-shadow:0 0 0 3px rgba(56,128,81,.16);
}
.ptck .ptck__felt--tekst{ resize:vertical; min-height:92px; }
.ptck .ptck__felt[aria-invalid="true"]{
  border-color:#c0392b;
  box-shadow:0 0 0 3px rgba(192,57,43,.13);
}

.ptck .ptck__personvern{
  margin:14px 0 16px;
  padding:12px 14px;
  background:var(--ptck-myk);
  border-radius:7px;
  font-family:inherit;font-weight:400;font-size:12.5px;line-height:1.55; color:var(--ptck-dus);
}
.ptck .ptck__personvern strong{ color:var(--ptck-blekk); }

.ptck .ptck__handling{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ptck .ptck__send{
  flex:0 0 auto;
  padding:13px 26px; border:0; border-radius:999px;
  background:var(--ptck-gronn); color:#fff;
  font-family:inherit;font-weight:600;font-size:15px;line-height:1.2; cursor:pointer;
  transition:background .15s ease;
}
.ptck .ptck__send:hover:not(:disabled){ background:var(--ptck-gronn-m); }
.ptck .ptck__send:disabled{ opacity:.55; cursor:default; }
.ptck .ptck__send:focus-visible{ outline:3px solid #9ec8ae; outline-offset:2px; }

.ptck .ptck__status{ font-family:inherit;font-weight:500;font-size:13.5px;line-height:1.4; color:#c0392b; }
.ptck .ptck__status--jobber{ color:var(--ptck-dus); }

/* ---------- kvittering ---------- */
.ptck .ptck__kvittering{ text-align:center; padding:12px 4px 4px; }
.ptck .ptck__kvittering[hidden]{ display:none !important; }
.ptck .ptck__hake{
  width:52px; height:52px; margin:0 auto 14px;
  display:grid; place-items:center;
  border-radius:50%; background:var(--ptck-myk); color:var(--ptck-gronn);
}
.ptck .ptck__kvittering h3{
  margin:0 0 8px; font-family:inherit;font-weight:700;font-size:19px;line-height:1.3; color:var(--ptck-blekk);
}
.ptck .ptck__kvittering p{
  margin:0 0 8px; font-family:inherit;font-weight:400;font-size:14.5px;line-height:1.55; color:var(--ptck-dus);
}
.ptck .ptck__kvitteringSmatt{ font-size:12.5px !important; }
.ptck .ptck__ferdig{
  margin-top:12px; padding:11px 24px;
  border:1px solid var(--ptck-linje); border-radius:999px;
  background:#fff; color:var(--ptck-blekk);
  font-family:inherit;font-weight:600;font-size:14.5px;line-height:1.2; cursor:pointer;
}
.ptck .ptck__ferdig:hover{ background:var(--ptck-myk); }

/* ---------- mobil: arket legger seg nederst ---------- */
@media (max-width:540px){
  .ptck .ptck__overlegg{ padding:0; align-items:flex-end; }
  .ptck .ptck__ark{
    max-width:none;
    border-radius:9px 18px 0 0;
    max-height:92dvh;
    padding:20px 18px calc(20px + env(safe-area-inset-bottom));
    animation:ptckArk .26s cubic-bezier(.32,.72,0,1);
  }
  .ptck .ptck__rad--to{ grid-template-columns:1fr; }
  .ptck .ptck__knapp{ width:100%; justify-content:center; }
  .ptck .ptck__send{ width:100%; }
  .ptck .ptck__handling{ flex-direction:column-reverse; align-items:stretch; }
  .ptck .ptck__status{ text-align:center; }
}
@keyframes ptckArk{ from{transform:translateY(100%)} to{transform:none} }

@media (prefers-reduced-motion:reduce){
  .ptck .ptck__ark{ animation:none; }
}
