/* ═══════════════════════════════════════════════════════════
   svarer.css — telefonscenen: anropet som gaar ubesvart, og
   meldingen som redder det.
   Brukes to steder: heroen paa ubesvarte-anrop.html og seksjonen om
   telefonsvareren paa forsiden. Telefonen der det ringer, blir
   ubesvart, SMS-en gaar ut og kunden svarer — og ved siden av
   beskjeden som lander hos deg etterpaa. Hele forloepet er én
   tidslinje paa 12 sekunder som gjentar seg. Bare opacity og
   transform, ingen skript.
   ═══════════════════════════════════════════════════════════ */
.ua-lime { color: var(--lime); }

/* Telefonen staar helt nede i heroen og stikker litt under kanten —
   heroen klipper (overflow hidden), saa den ser ut som den reiser seg
   fra bunnen. Beskjeden staar ved siden av, litt over. */
.ua-scene {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: 22px;
  align-items: end;
  justify-content: center;
  align-self: end;
  margin-bottom: -54px;
}
.ua-phone {
  position: relative;
  width: 300px;
  max-width: 100%;
  aspect-ratio: 300 / 480;
  border-radius: 34px;
  background: linear-gradient(180deg, #151517 0%, #0c0c0e 100%);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 60px 100px -40px rgba(0,0,0,0.95), inset 0 1px 0 rgba(255,255,255,0.08), 0 0 0 6px #0a0a0a, 0 0 0 7px rgba(255,255,255,0.08);
  padding: 30px 16px 16px;
  overflow: hidden;
}
.ua-notch {
  position: absolute; top: 12px; left: 50%; transform: translateX(-50%);
  width: 84px; height: 24px; border-radius: 14px; background: #000;
}

.ua-card {
  position: absolute;
  left: 16px; right: 16px; top: 54px;
  padding: 16px 16px 15px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.13);
}
.ua-avatar {
  grid-row: 1 / 3;
  width: 40px; height: 40px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.85);
  font-size: 15px;
}
.ua-avatar-red { background: rgba(255,90,80,0.2); color: #ff8a80; }
.ua-line1 { font-size: 14.5px; font-weight: 600; color: #fff; letter-spacing: -0.01em; }
.ua-line2 { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 10.5px; letter-spacing: 0.08em; color: rgba(255,255,255,0.5); }
/* ─── Innkommende anrop ─── */
.ua-call {
  position: absolute;
  left: 16px; right: 16px; top: 54px; bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 26px 14px 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,0.09) 0%, rgba(255,255,255,0.03) 100%);
  border: 1px solid rgba(255,255,255,0.12);
}
.ua-call-lab {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 14px;
}
.ua-call-nr { font-size: 22px; font-weight: 600; color: #fff; letter-spacing: -0.02em; }
.ua-call-sub { font-size: 12.5px; color: rgba(255,255,255,0.5); margin-top: 4px; }
.ua-call-knapper {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0 14px;
}
.ua-k {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  font-size: 11px; color: rgba(255,255,255,0.7);
}
.ua-k svg { width: 60px; height: 60px; padding: 17px; border-radius: 50%; fill: #fff; }
.ua-k i { font-style: normal; }
.ua-k-rod svg { background: #ff3b30; transform: rotate(135deg); }
.ua-k-gronn svg { background: #34c759; box-shadow: 0 0 0 0 rgba(52,199,89,0.6); animation: uaRingPuls 1.4s ease-out infinite; }
@keyframes uaRingPuls { 0% { box-shadow: 0 0 0 0 rgba(52,199,89,0.55); } 100% { box-shadow: 0 0 0 18px rgba(52,199,89,0); } }
.ua-avatar-red svg { width: 18px; height: 18px; }
.ua-sms-lab svg { width: 12px; height: 12px; vertical-align: -2px; margin-right: 6px; fill: rgba(255,255,255,0.75); }

.ua-sms, .ua-svar {
  position: absolute;
  left: 16px; right: 16px;
  padding: 11px 13px;
  border-radius: 16px;
  opacity: 0;
}
/* Meldingene ser ut som paa iPhone: sendt = blaa boble til hoeyre,
   mottatt = hvit boble til venstre. */
.ua-sms {
  top: 150px;
  left: 44px;
  background: #0a84ff;
  color: #fff;
  border-bottom-right-radius: 6px;
  box-shadow: 0 18px 40px -22px rgba(10,132,255,0.7);
}
.ua-sms-lab {
  display: block;
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  margin-bottom: 6px;
}
.ua-sms p { font-size: 12.5px; line-height: 1.42; font-weight: 500; }
.ua-svar {
  top: 268px;
  right: 44px;
  background: #fff;
  border: 0;
  border-bottom-left-radius: 6px;
  color: #0a0a0a;
}
.ua-svar p { font-size: 12px; line-height: 1.42; }

/* Beskjeden som lander hos deg */
.ua-beskjed {
  width: min(250px, 100%);
  margin-bottom: 96px;
  padding: 16px 16px 8px;
  border-radius: 16px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  opacity: 0;
  animation: uaBeskjed 12s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
.ua-beskjed-lab {
  display: block;
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 10px;
}
.ua-beskjed-rad {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 8px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 12.5px;
}
.ua-beskjed-rad span { color: rgba(255,255,255,0.45); }
.ua-beskjed-rad b { font-weight: 600; color: #fff; text-align: right; }
.ua-haster { color: var(--lime) !important; }

/* ─── Tidslinjen (12 s) ─── */
@keyframes uaRing   { 0%, 2% { opacity: 0; transform: translateY(10px) scale(0.97); } 6%, 17% { opacity: 1; transform: none; } 22%, 100% { opacity: 0; transform: translateY(-8px) scale(0.985); } }
@keyframes uaPuls   { 0%, 5% { opacity: 0; transform: scale(1); } 8% { opacity: 1; transform: scale(1.03); } 11% { opacity: 0; transform: scale(1.07); } 14% { opacity: 1; transform: scale(1.03); } 17%, 100% { opacity: 0; transform: scale(1.07); } }
@keyframes uaMissed { 0%, 20% { opacity: 0; transform: translateY(8px); } 25%, 88% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes uaSms    { 0%, 29% { opacity: 0; transform: translateY(16px) scale(0.96); } 35%, 88% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes uaSvar   { 0%, 46% { opacity: 0; transform: translateY(14px) scale(0.96); } 52%, 88% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes uaBeskjed{ 0%, 60% { opacity: 0; transform: translateY(12px); } 66%, 90% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; transform: translateY(-6px); } }
.ua-ring   { animation: uaRing 12s cubic-bezier(0.22, 1, 0.36, 1) infinite; }
.ua-missed { animation: uaMissed 12s cubic-bezier(0.22, 1, 0.36, 1) infinite; }
.ua-sms    { animation: uaSms 12s cubic-bezier(0.22, 1, 0.36, 1) infinite; }
.ua-svar   { animation: uaSvar 12s cubic-bezier(0.22, 1, 0.36, 1) infinite; }

@media (prefers-reduced-motion: reduce) {
  .ua-ring { display: none; }
  .ua-k-gronn svg { animation: none; }
  .ua-missed, .ua-sms, .ua-svar, .ua-beskjed { animation: none; opacity: 1; transform: none; }
}
@media (max-width: 980px) {
  .ua-body { grid-template-columns: 1fr; gap: 28px; }
  .ua-text { padding-bottom: 0; }
  .ua-scene { grid-template-columns: 1fr; justify-items: center; gap: 16px; margin-bottom: -70px; }
  .ua-phone { width: 280px; order: 2; }
  .ua-beskjed { width: min(300px, 100%); margin-bottom: 0; order: 1; }
}
@media (max-width: 520px) {
  .ua-phone { width: 256px; }
  .ua-sms { top: 142px; }
  .ua-svar { top: 254px; }
}


/* ═══════════════════════════════════════════════════════════
   Teksten i telefonen skal være telefon-liten
   underside.css setter all p og li uten egen klasse i <main> til
   17 px brødtekst. Reglene over har lavere spesifisitet, så meldingene
   i telefonen ble blåst opp til brødtekststørrelse: boblene sprengte
   skjermen og teksten ble stående uleselig. Scenen er dekor
   (aria-hidden), og skal aldri arve brødtekstmålene.
   ═══════════════════════════════════════════════════════════ */
body.kd-side .ua-scene .ua-phone :is(p, li):not([class]) { font-size: 12.5px; line-height: 1.42; }
/* Heroen er et mørkt panel, og regelen som gir mørke paneler lys tekst
   traff også den HVITE svarboblen — teksten sto hvitt på hvitt, og bare
   emojien var synlig. Ekstra klasse i kjeden slår den regelen. */
body.kd-side .ua-scene .ua-phone .ua-sms p { font-size: 12.5px; }
body.kd-side .ua-scene .ua-phone .ua-svar p { font-size: 12px; }
/* Fargene settes i underside.css, sammen med regelen de må slå. */

/* ═══════════════════════════════════════════════════════════
   MER TROVERDIG TELEFON (okt. 2026)
   Detaljene en ekte iPhone har: statuslinje, «Avslå» og «Svar» under
   knappene, og Meldinger i mørk modus med dato over, grønn SMS-boble
   til høyre med «Levert» under og grå svarboble til venstre.
   Systemskrift, ikke Geist Mono: telefonen skal se ut som en telefon.
   ═══════════════════════════════════════════════════════════ */
.ua-phone, .ua-phone * { font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', system-ui, sans-serif !important; }
.ua-status {
  position: absolute; top: 15px; left: 26px; right: 22px; z-index: 2;
  display: flex; justify-content: space-between; align-items: center;
  color: #fff; font-size: 12.5px; font-weight: 600; letter-spacing: -.01em;
}
.ua-ikoner { display: flex; gap: 5px; align-items: center; }
.ua-ikoner svg { height: 10px; width: auto; fill: currentColor; }
.ua-ikoner svg:last-child { height: 11px; }

.ua-call { background: none; border: 0; padding-top: 34px; }
.ua-call-nr { font-size: 25px; font-weight: 400; letter-spacing: -.01em; }
.ua-call-sub { font-size: 14px; color: rgba(255,255,255,.6); margin-top: 6px; }
.ua-k i { font-size: 12px; color: #fff; }

.ua-line2 { font-size: 12px; letter-spacing: 0; color: rgba(255,255,255,.55); }

.ua-tid {
  position: absolute; left: 0; right: 0; top: 134px; text-align: center;
  font-size: 10.5px; color: rgba(255,255,255,.45); opacity: 0;
  animation: uaSms 12s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
.ua-sms {
  top: 154px; left: 52px; right: 14px;
  background: #34c759; color: #fff;
  border-radius: 18px; border-bottom-right-radius: 5px;
  box-shadow: none; padding: 9px 13px;
}
.ua-sms::after {
  content: "Levert"; position: absolute; right: 4px; bottom: -17px;
  font-size: 10px; color: rgba(255,255,255,.45);
}
.ua-sms p { font-size: 13px; line-height: 1.36; font-weight: 400; }
.ua-svar {
  top: 264px; left: 14px; right: auto; max-width: 74%;
  background: #3a3a3c; color: #fff;
  border-radius: 18px; border-bottom-left-radius: 5px; padding: 9px 13px;
}
.ua-svar p { font-size: 13px; line-height: 1.36; }
body.kd-side .ua-scene .ua-phone .ua-sms p, body.kd-side .ua-scene .ua-phone .ua-svar p { font-size: 13px; line-height: 1.36; color: #fff; }

/* Beskjeden til deg: vanlig tekst over, ikke versal mono i lime. */
.ua-beskjed-lab { font-family: inherit; font-size: 12px; letter-spacing: 0; text-transform: none; color: rgba(255,255,255,.6); }

@media (prefers-reduced-motion: reduce) { .ua-tid { animation: none; opacity: 1; } }
@media (max-width: 520px) {
  .ua-tid { top: 128px; }
  .ua-sms { top: 146px; left: 40px; }
  .ua-svar { top: 262px; }
}
