/* Chatten för telefonen. Bygger på tokens i style.css. Umeå kommuns profil: Björk och Bris dominerar,
   dekorplattan (organisk form) bär hälsningen, puffen (Bold Italic, vriden 11,35°) markerar det aktuella. */
:root { --serif: var(--font); --skriv-h: 84px; }
.serif { font-weight: 700; }
html, body.chatt { height: 100%; }
body.chatt { display: flex; flex-direction: column; min-height: 100dvh; background: var(--sida); overscroll-behavior-y: none; }
body.chatt .prototyp { padding-top: max(5px, env(safe-area-inset-top)); font-size: 13px; }

/* Topp */
.chatt-topp { background: var(--morkgron); color: #fff; display: flex; align-items: center; gap: 12px; padding: 10px 16px; position: sticky; top: 0; z-index: 5; }
@media (prefers-color-scheme: dark) { .chatt-topp { background: #0b3d18; } }
.chatt-topp .ordmarke b { font-family: var(--font); font-weight: 700; font-size: 24px; }
.chatt-topp .ordmarke small { font-size: 14px; }
.chatt-topp .skiva { width: 40px; height: 40px; }
.chatt-topp .skiva svg { width: 26px; height: 26px; }
.ny { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; background: #fff; color: #006e1e; border: 0; border-radius: 999px; padding: 9px 16px 9px 12px; font-weight: 700; font-size: 17px; cursor: pointer; min-height: 44px; }
.ny svg { width: 20px; height: 20px; }

/* Flödet */
.flode { flex: 1; width: 100%; max-width: 680px; margin: 0 auto; padding: 0 16px 24px; display: flex; flex-direction: column; gap: 14px; }

/* Hälsningen på dekorplattan */
.halsning { position: relative; margin: 0 -16px; padding: 30px 24px 70px; color: #fff; overflow: hidden; isolation: isolate; }
.halsning .platta { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; }
.halsning .blad { position: absolute; z-index: -1; width: 150px; height: 150px; right: -44px; top: 18px; transform: rotate(-11.35deg); }
@media (min-width: 560px) { .halsning { margin: 0; border-radius: 0 0 24px 24px; } }
.halsning h1 { color: #fff; font-size: 40px; font-weight: 700; line-height: 1; margin: 0 0 10px; max-width: 12ch; }
.halsning p { font-size: 19px; margin: 0; max-width: 26ch; line-height: 1.3; }
.halsning .skydd { display: inline-flex; gap: 8px; align-items: flex-start; margin-top: 14px; font-size: 15px; background: rgba(0, 0, 0, .16); padding: 7px 12px; border-radius: 10px; max-width: 34ch; }

/* Förslag */
.rubrik-liten { font-size: 14px; text-transform: uppercase; letter-spacing: .07em; color: var(--morkgron); font-weight: 700; margin: 6px 2px 2px; }
.forslag { display: grid; gap: 10px; }
.forslag button { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: var(--yta); border: 1px solid var(--linje); border-radius: 14px; padding: 15px 16px; font-size: 19px; line-height: 1.25; cursor: pointer; min-height: 56px; color: var(--rubrik); }
.forslag button::after { content: ''; flex: none; margin-left: auto; width: 10px; height: 10px; border-right: 3px solid var(--bjork); border-top: 3px solid var(--bjork); transform: rotate(45deg); }
.forslag button:active { background: var(--bris); }
.forslag button.aktuell { background: var(--bris); border: 2px solid var(--bjork); padding-top: 22px; margin-top: 14px; font-weight: 700; }
.puff { position: absolute; top: -16px; right: 18px; background: var(--bjork); color: #fff; font-weight: 700; font-style: italic; font-size: 16px; line-height: 1; text-align: center; padding: 8px 12px; border-radius: 999px; transform: rotate(-11.35deg); box-shadow: 0 3px 0 rgba(0, 0, 0, .12); white-space: nowrap; }
.amnen { display: flex; justify-content: center; }
.amnen .lank { font-size: 17px; padding: 10px; min-height: 44px; }
.alla { display: grid; gap: 14px; }
.alla h3 { margin: 6px 0 4px; font-size: 17px; color: var(--morkgron); }
.alla ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.alla li button { width: 100%; text-align: left; background: var(--yta); border: 1px solid var(--linje); border-radius: 10px; padding: 11px 14px; font-size: 17px; cursor: pointer; color: var(--text); }

/* Meddelanden */
.du { align-self: flex-end; max-width: 85%; background: var(--morkgron); color: #fff; padding: 11px 15px; border-radius: 18px 18px 4px 18px; font-size: 19px; overflow-wrap: anywhere; margin-top: 8px; }
@media (prefers-color-scheme: dark) { .du { background: #1f6b34; } }
.svar { align-self: stretch; background: var(--yta); border: 1px solid var(--linje); border-left: 6px solid var(--bjork); border-radius: 6px 16px 16px 16px; padding: 14px 16px; font-size: 19px; line-height: 1.4; }
.svar.saknas { border-left-color: var(--orange); background: color-mix(in srgb, var(--orange) 8%, var(--yta)); }
.svar.fel { border-left-color: var(--rosa); }
.svar p { margin: 0 0 .55em; } .svar p:last-child { margin-bottom: 0; }
.svar ol, .svar ul { margin: .2em 0 .6em; padding-left: 1.4em; } .svar li { margin-bottom: .35em; } .svar li.del { list-style: none; margin-left: .2em; padding-left: .9em; border-left: 3px solid var(--bris); } .svar li::marker { color: var(--morkgron); font-weight: 700; }
.svar .akut { background: color-mix(in srgb, var(--rosa) 14%, transparent); border-radius: 8px; padding: 6px 10px; font-weight: 700; }
.kalla { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--linje); }
.kalla a, .kalla span { display: inline-flex; align-items: center; gap: 8px; background: var(--bris); color: var(--rubrik); border-radius: 10px; padding: 8px 12px; font-size: 15px; text-decoration: none; line-height: 1.2; }
.kalla svg { flex: none; width: 18px; height: 18px; }
.betyg { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 15px; color: var(--dampad); flex-wrap: wrap; }
.betyg button { background: var(--yta); border: 2px solid var(--linje); border-radius: 999px; padding: 6px 16px; font-size: 16px; cursor: pointer; min-height: 40px; color: var(--text); }
.betyg button[aria-pressed="true"] { border-color: var(--bjork); background: color-mix(in srgb, var(--bjork) 14%, var(--yta)); font-weight: 700; }
.tanker { align-self: stretch; background: var(--yta); border: 1px solid var(--linje); border-left: 6px solid var(--bris); border-radius: 6px 16px 16px 16px; padding: 14px 16px; color: var(--dampad); }
.tanker .laddar { margin-top: 10px; }
.rensat { text-align: center; font-size: 15px; color: var(--dampad); }

/* Tips om hemskärmen */
.hemskarm { display: flex; gap: 12px; align-items: flex-start; background: var(--yta); border: 1px dashed var(--bjork); border-radius: 14px; padding: 12px 14px; font-size: 16px; }
.hemskarm svg { flex: none; width: 28px; height: 28px; }
.hemskarm .lank { margin-left: auto; font-size: 15px; }

/* Skrivfältet */
.skriv { position: sticky; bottom: 0; background: color-mix(in srgb, var(--sida) 92%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-top: 1px solid var(--linje); padding: 10px 16px max(12px, env(safe-area-inset-bottom)); z-index: 5; }
.skriv-rad { max-width: 680px; margin: 0 auto; display: flex; gap: 10px; align-items: flex-end; }
.skriv textarea { flex: 1; min-height: 52px; max-height: 140px; font-size: 19px; border-radius: 26px; padding: 12px 18px; resize: none; line-height: 1.3; }
.skicka { flex: none; width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--bjork); display: grid; place-items: center; cursor: pointer; }
.skicka:disabled { opacity: .45; }
.skicka svg { width: 26px; height: 26px; }
.pnr { max-width: 680px; margin: 0 auto 8px; font-size: 15px; color: var(--orange); font-weight: 700; }
