@font-face{font-family:Oswald;src:url('/assets/oswald.woff2') format('woff2');font-display:swap}
@font-face{font-family:Signika;src:url('/assets/signika.woff2') format('woff2');font-display:swap}
:root{--ink:#09090b;--surface:#0e0e11;--raised:#151519;--hover:#1a1a1f;--line:#29292f;--line-strong:#3b3b44;--text:#fff;--soft:#d4d4d8;--muted:#9b9ba5;--quiet:#8d8d97;--green:#72d39a;--brand:#176c4c;--danger:#f08a82;--warning:#e7c66a;--display:Oswald,Signika,sans-serif;--body:Signika,ui-sans-serif,system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark}
*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{min-width:320px;margin:0;background:var(--ink);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--green);color:var(--ink)}:focus-visible{outline:2px solid var(--green);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{border:3px solid var(--ink);border-radius:999px;background:var(--line-strong)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.site-head{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 clamp(22px,4vw,64px);border-bottom:1px solid var(--line);background:rgba(9,9,11,.94)}.wordmark{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.wordmark span{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:10px;font-family:var(--display);font-size:1rem}.wordmark strong{font-size:.86rem}.preview-state{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.74rem}.preview-state span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(114,211,154,.08)}.admin-link{justify-self:end;color:var(--soft);font-size:.78rem;text-decoration:none}.admin-link span{display:inline-block;margin-left:7px;transition:transform .2s var(--ease)}.admin-link:hover span{transform:translateX(5px)}
.contact-workspace{min-height:calc(100dvh - 76px);display:grid;grid-template-columns:minmax(320px,.78fr) minmax(500px,1.22fr);max-width:1540px;margin:0 auto}.contact-intro{display:flex;flex-direction:column;padding:clamp(44px,7vh,88px) clamp(28px,5vw,74px);border-right:1px solid var(--line)}.context-label{margin:0 0 24px;color:var(--green);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.contact-intro h1{max-width:580px;margin:0;font-family:var(--display);font-size:clamp(4.2rem,7.2vw,6rem);font-weight:550;letter-spacing:-.035em;line-height:.87;text-wrap:balance}.intro-copy{max-width:45ch;margin:28px 0 0;color:var(--muted);font-size:1rem}.journey{display:grid;gap:0;margin:auto 0 0;padding:44px 0 0;list-style:none}.journey li{position:relative;display:grid;grid-template-columns:38px 1fr;gap:14px;min-height:74px;color:var(--quiet)}.journey li:not(:last-child)::after{content:'';position:absolute;left:18px;top:38px;width:1px;height:36px;background:var(--line)}.journey li>span{display:grid;place-items:center;align-self:start;width:37px;height:37px;border:1px solid var(--line);border-radius:11px;font-family:var(--display);font-size:.86rem;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}.journey strong,.journey small{display:block}.journey strong{padding-top:1px;color:inherit;font-size:.84rem}.journey small{margin-top:2px;color:var(--quiet);font-size:.72rem}.journey li.active,.journey li.done{color:var(--text)}.journey li.active>span{border-color:var(--text);background:var(--text);color:var(--ink)}.journey li.done>span{border-color:rgba(114,211,154,.35);background:rgba(114,211,154,.12);color:var(--green)}.privacy-note{display:flex;align-items:flex-start;gap:12px;max-width:48ch;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}.privacy-note svg{width:21px;flex:0 0 auto;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.privacy-note p{margin:0;color:var(--quiet);font-size:.71rem}.privacy-note strong{color:var(--soft)}
.assistant-shell{position:relative;align-self:stretch;display:grid;grid-template-rows:auto minmax(280px,1fr) auto auto;padding:clamp(20px,4vw,58px) clamp(18px,5vw,72px);overflow:hidden}.assistant-shell::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 68% 24%,rgba(114,211,154,.055),transparent 29%)}.assistant-head,.message-list,.action-bar,.composer,.assistant-foot,.lead-form{position:relative;z-index:1;width:min(720px,100%);margin-inline:auto}.assistant-head{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;border-bottom:1px solid var(--line)}.assistant-identity{display:flex;align-items:center;gap:13px}.assistant-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--brand);color:#fff;font-family:var(--display);font-size:1.15rem}.assistant-head h2,.assistant-head p{margin:0}.assistant-head h2{font-size:.95rem}.assistant-head p{display:flex;align-items:center;gap:7px;margin-top:2px;color:var(--quiet);font-size:.69rem}.assistant-head p i{width:6px;height:6px;border-radius:50%;background:var(--green)}.icon-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);transition:background .16s ease,color .16s ease,border-color .16s ease}.icon-button:hover{border-color:var(--line-strong);background:var(--raised);color:var(--text)}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.message-list{min-height:0;padding:30px 2px 18px;overflow:auto;scrollbar-gutter:stable}.message{max-width:86%;margin-bottom:14px;animation:message-in .34s var(--ease) both}.message.assistant{margin-right:auto}.message.customer{margin-left:auto}.message-bubble{padding:12px 15px;border-radius:13px;background:var(--raised);color:var(--soft);font-size:.86rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.message-bubble a{color:inherit;text-decoration-color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}.message-bubble a:hover{color:var(--text);text-decoration-color:currentColor}.message-bubble a:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}.message.assistant .message-bubble{border-bottom-left-radius:3px}.message.customer .message-bubble{border-bottom-right-radius:3px;background:var(--text);color:var(--ink)}.message-meta{display:flex;gap:8px;margin-top:5px;color:var(--quiet);font-size:.61rem}.message.customer .message-meta{justify-content:flex-end}.typing{display:flex;align-items:center;gap:5px;width:max-content;padding:13px 15px;border-radius:13px 13px 13px 3px;background:var(--raised)}.typing span{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:typing 1s infinite}.typing span:nth-child(2){animation-delay:.12s}.typing span:nth-child(3){animation-delay:.24s}.loading-message{display:flex;align-items:center;gap:5px;color:var(--quiet);font-size:.74rem}.loading-message span{width:5px;height:5px;border-radius:50%;background:var(--quiet);animation:typing 1s infinite}.loading-message span:nth-child(2){animation-delay:.12s}.loading-message span:nth-child(3){animation-delay:.24s}.loading-message p{margin-left:7px}
.action-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 0 14px}.choice-button{display:grid;gap:2px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;transition:background .16s ease,border-color .16s ease,transform .2s var(--ease)}.choice-button:hover{border-color:var(--line-strong);background:var(--raised);transform:translateY(-1px)}.choice-button span{font-size:.78rem;font-weight:650}.choice-button small{color:var(--quiet);font-size:.66rem}
.composer{display:grid;grid-template-columns:1fr 48px;gap:9px;padding:9px 9px 9px 15px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease}.composer:focus-within{border-color:#5a5a64;box-shadow:0 0 0 3px rgba(255,255,255,.045)}.composer textarea{min-height:30px;max-height:120px;padding:5px 0;border:0;outline:0;resize:none;background:transparent;color:var(--text);line-height:1.45}.composer textarea::placeholder{color:var(--quiet)}.composer button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;border-radius:10px;background:var(--text);color:var(--ink);font-weight:700;transition:transform .2s var(--ease),background .16s ease}.composer button{align-self:end;width:48px}.composer button:hover,.primary-button:hover{transform:translateY(-1px);background:#e8e8eb}.composer button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.composer svg,.primary-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.composer .form-error{grid-column:1/-1}.assistant-foot{margin-top:10px;color:var(--quiet);font-size:.62rem;text-align:center}
.lead-form{align-self:end;border:1px solid var(--line-strong);border-radius:15px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;animation:form-in .28s var(--ease) both}.lead-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.lead-form h3,.lead-form p{margin:0}.lead-form h3{font-family:var(--display);font-size:1.2rem;font-weight:550}.lead-form header p{margin-top:3px;color:var(--quiet);font-size:.69rem}.lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 20px;max-height:52vh;overflow:auto}.field{display:grid;gap:6px}.field>span,.booking-fields legend{color:var(--soft);font-size:.69rem;font-weight:650}.field small{color:var(--quiet);font-weight:400}.field input,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--ink);color:var(--text);transition:border-color .16s ease,box-shadow .16s ease}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{border-color:#5a5a64;box-shadow:0 0 0 3px rgba(255,255,255,.04)}.full{grid-column:1/-1}.booking-fields{margin:0;padding:0;border:0}.slot-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.slot-option{position:relative}.slot-option input{position:absolute;opacity:0;pointer-events:none}.slot-option span{display:block;padding:9px 7px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:.67rem;text-align:center;cursor:pointer}.slot-option input:checked+span{border-color:var(--green);background:rgba(114,211,154,.08);color:var(--green)}.slot-option input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}.consent{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:10px;color:var(--muted);font-size:.67rem;cursor:pointer}.consent input{position:absolute;opacity:0}.checkmark{display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--line-strong);border-radius:7px;background:var(--ink);transition:background .16s ease,border-color .16s ease}.checkmark svg{width:14px;height:14px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0}.consent input:checked+.checkmark{border-color:var(--green);background:var(--green)}.consent input:checked+.checkmark svg{opacity:1}.consent input:focus-visible+.checkmark{outline:2px solid var(--green);outline-offset:2px}.lead-form footer{padding:15px 20px;border-top:1px solid var(--line)}.lead-form .primary-button{width:100%}.form-error{min-height:0;margin:0;color:var(--danger);font-size:.69rem}.form-error:not(:empty){min-height:20px}
.success-dialog{width:min(460px,calc(100% - 32px));padding:34px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.6);text-align:center}.success-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.success-dialog[open]{animation:dialog-in .3s var(--ease) both}.success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:rgba(114,211,154,.12);color:var(--green)}.success-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.success-dialog>p:first-of-type{margin:0;color:var(--green);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.success-dialog h2{margin:8px 0 10px;font-family:var(--display);font-size:2rem;font-weight:550}.success-dialog h2+p{margin:0 auto 24px;color:var(--muted);font-size:.82rem}.success-dialog .primary-button{width:100%}
@keyframes message-in{from{opacity:.45;transform:translateY(8px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@keyframes typing{0%,60%,100%{opacity:.32;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes form-in{from{opacity:.55;transform:translateY(16px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes dialog-in{from{opacity:.6;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:980px){.contact-workspace{grid-template-columns:1fr}.contact-intro{min-height:auto;padding:44px 26px 34px;border-right:0;border-bottom:1px solid var(--line)}.contact-intro h1{font-size:clamp(4rem,14vw,6rem)}.intro-copy{margin-top:20px}.journey{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px;padding-top:0}.journey li{grid-template-columns:34px 1fr;min-height:0}.journey li::after{display:none}.journey li>span{width:34px;height:34px}.privacy-note{margin-top:28px}.assistant-shell{min-height:720px;padding:34px 24px 28px}.message-list{max-height:520px}}
@media(max-width:680px){.site-head{height:66px;grid-template-columns:1fr auto;padding:0 17px}.preview-state{display:none}.wordmark strong{display:none}.admin-link{font-size:.72rem}.contact-intro{padding:34px 18px 28px}.context-label{margin-bottom:18px}.contact-intro h1{font-size:clamp(3.7rem,18vw,5.6rem)}.journey{grid-template-columns:1fr;gap:0}.journey li{min-height:61px}.journey li:not(:last-child)::after{display:block;height:23px;left:16px;top:34px}.journey li>span{width:33px;height:33px}.assistant-shell{min-height:calc(100dvh - 66px);padding:22px 14px}.assistant-head{padding-inline:4px}.message-list{padding-top:24px}.action-bar{grid-template-columns:1fr}.lead-fields{grid-template-columns:1fr;max-height:50vh;padding:16px}.full{grid-column:auto}.slot-list{grid-template-columns:1fr 1fr}.lead-form>header,.lead-form footer{padding:15px 16px}.success-dialog{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.choice-button:hover,.primary-button:hover{transform:none}}

/* Samtalebåret aflevering: handlinger, tider og samtykke bliver i chatten. */
.action-bar{display:block;padding:0 0 14px}.action-bar.choices-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-bar.input-actions{display:flex;justify-content:flex-end}.compact-choice{width:auto;min-width:180px}.slot-picker{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);animation:message-in .28s var(--ease) both}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slot-button{min-height:58px;justify-content:center;text-align:center}.slot-button span{line-height:1.35}.consent-summary{padding:20px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);box-shadow:0 22px 60px rgba(0,0,0,.22);animation:message-in .3s var(--ease) both}.summary-eyebrow{margin:0 0 5px;color:var(--green);font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.consent-summary h3{margin:0 0 16px;font-family:var(--display);font-size:1.45rem;font-weight:550}.consent-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--line)}.consent-summary dl>div{min-width:0;padding:11px 12px;background:var(--ink)}.consent-summary dl>div.wide{grid-column:1/-1}.consent-summary dt{color:var(--quiet);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.consent-summary dd{margin:3px 0 0;color:var(--soft);font-size:.76rem;overflow-wrap:anywhere}.consent-summary .wide dd{white-space:pre-wrap;line-height:1.5}.consent-copy{margin:14px 0;color:var(--quiet);font-size:.67rem;line-height:1.5}.summary-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:9px}.primary-choice{border-color:var(--text);background:var(--text);color:var(--ink)}.primary-choice small{color:#52525b}.primary-choice:hover{border-color:#e8e8eb;background:#e8e8eb}.completion-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid rgba(114,211,154,.28);border-radius:15px;background:linear-gradient(135deg,rgba(114,211,154,.09),rgba(23,108,76,.03));animation:message-in .3s var(--ease) both}.completion-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:var(--ink);font-size:1.15rem;font-weight:800}.completion-card p,.completion-card h3{margin:0}.completion-card p{color:var(--green);font-size:.61rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.completion-card h3{margin-top:3px;font-family:var(--display);font-size:1.1rem;font-weight:550}.secondary-button{min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:9px;background:transparent;color:var(--text);font-size:.72rem;font-weight:700;transition:border-color .16s ease,background .16s ease}.secondary-button:hover{border-color:var(--soft);background:rgba(255,255,255,.04)}
@media(max-width:680px){.assistant-shell{grid-template-rows:auto auto auto auto;overflow:visible}.message-list{max-height:none;min-height:0;overflow:visible}.action-bar.choices-actions{grid-template-columns:1fr}.slot-grid{grid-template-columns:1fr 1fr}.consent-summary{padding:16px}.consent-summary dl{grid-template-columns:1fr}.consent-summary dl>div.wide{grid-column:auto}.summary-actions{grid-template-columns:1fr}.completion-card{grid-template-columns:auto 1fr}.completion-card .secondary-button{grid-column:1/-1;width:100%}}
@media(min-width:981px){.contact-intro{position:sticky;top:76px;height:calc(100vh - 76px);align-self:start}}

/* Chattempo: en rolig tankeindikator og en kort, afbrydelig tekstafsløring. */
.typing{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;min-width:176px;padding:12px 14px 10px;overflow:hidden}.typing-dots{display:flex;align-items:center;gap:4px}.typing p{margin:0;color:var(--muted);font-size:.69rem}.thinking-track{position:relative;grid-column:1/-1;height:1px;overflow:hidden;background:var(--line)}.thinking-track::after{content:'';position:absolute;inset:0 auto 0 0;width:42%;background:linear-gradient(90deg,transparent,var(--green),transparent);animation:thinking-scan 1.35s var(--ease) infinite}.message.writing .message-bubble::after{content:'';display:inline-block;width:1px;height:1em;margin-left:3px;vertical-align:-.12em;background:var(--green);animation:caret-pulse .72s steps(1,end) infinite}.message.writing .message-meta{opacity:0}@keyframes thinking-scan{from{transform:translateX(-110%)}to{transform:translateX(340%)}}@keyframes caret-pulse{0%,48%{opacity:1}49%,100%{opacity:.18}}
@media(prefers-reduced-motion:reduce){.thinking-track::after,.message.writing .message-bubble::after{animation:none}.thinking-track::after{width:100%;opacity:.55;transform:none}}

/* Indlejret assistent og dokumenterede destinationsknapper. */
.action-bar.links-actions{display:flex;flex-wrap:wrap;gap:8px}.link-action{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:42px;padding:0 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font-size:.74rem;font-weight:700;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .24s var(--ease)}.link-action:hover{border-color:var(--soft);background:var(--raised);transform:translateY(-1px)}.link-action span:last-child{color:var(--green);font-size:1rem}
body.widget-page{height:100dvh;overflow:hidden;background:var(--surface)}.widget-page .widget-frame{height:100dvh}.widget-page .assistant-shell{height:100%;min-height:0;padding:18px 16px 14px;background:var(--surface)}.widget-page .assistant-shell::before{display:none}.widget-page .assistant-head,.widget-page .message-list,.widget-page .action-bar,.widget-page .composer,.widget-page .assistant-foot{width:100%}.widget-page .message-list{padding-top:20px}.widget-page .assistant-foot{margin-top:8px}.widget-page .assistant-mark{width:40px;height:40px}.widget-page .assistant-head{padding-bottom:14px}.widget-page .widget-head-actions{display:flex;gap:7px}
@media(max-width:520px){.widget-page .assistant-shell{padding:15px 12px 12px}.widget-page .message{max-width:92%}.widget-page .slot-grid{grid-template-columns:1fr}.widget-page .assistant-foot{font-size:.58rem}}

/* Tilgængelige touchmål på alle ikonhandlinger. */
.icon-button{width:44px;height:44px}
