﻿@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Saira+Stencil+One&family=Turret+Road:wght@200;300;400;500;700;800&display=swap');

/*  Globale variabler */
:root {
    --raw-seinna: hsl(24, 74%, 58%);
    --sizzling-sunrise: hsl(51, 95%, 54%);
    --scarlet: hsl(13, 96%, 47%);
    --black: hsl(0, 0%, 0%);
    --white: hsl(0, 0%, 100%);
    --ff-saira-stencil-one: "Saira Stencil One", sans-serif;
    --ff-poppins: 'Poppins', sans-serif;
    --ff-roboto: 'Roboto', sans-serif;
    --ff-turret: 'Turret Road', sans-serif;
    --fs-1: 2rem;
    --fs-2: calc(1.813rem + 1vw);
    --fs-3: calc(1.313rem + 1vw);
    --fs-4: 1.4rem;
    --fs-5: 1rem;
    --fs-6: 0.813rem;
    --fs-7: 0.75rem;
    --fw-400: 400;
    --fw-700: 700;
    --transition-1: 0.25s ease-in-out;
    --section-padding: 80px;
    --radius-4: 4px;
    --radius-12: 12px;
    --stats-text-color: rgba(255,255,255,0.95);
    --stats-subtitle-color: rgba(255,255,255,0.75);
    /* glass tuning */
    --glass-alpha: .42; 
    --glass-stroke: rgba(0,0,0,.06); 
    --glass-blur: 22px;
    --glass-saturate: 180%;


    
    --gm-accent: #7b8aa0;
    --gm-accent-2: #9aa8be;
    --gm-ink: #10131a;
    --gm-ink-weak: #5c6473;
    --gm-ink-dark: #e9edf5;
    --gm-ink-dweak: #aab4c7;
    --gm-radius: 22px;
    --gm-ring: rgba(123,138,160,.28);
    --gm-bd-dark: 1px solid rgba(255,255,255,.10);
    --gm-bd-light: 1px solid rgba(10,10,20,.10);
    --gm-xshadow: 0 28px 80px rgba(0,0,0,.38);
    --gm-mshadow: 0 14px 30px rgba(0,0,0,.22);
    
    --bg-primary-rgb: 230 230 230; 
    --bg-secondary-rgb: 255 255 255; 

    --gm-accent-rgb: 123 138 160; 
    --gm-accent-2-rgb: 154 168 190; 

    --gm-ink-rgb: 16 19 26; 
    --gm-ink-dark-rgb: 233 237 245; 
}

/*  Dark mode */
body.dark-theme {
    --bg-primary: hsl(0, 0%, 12%);
    --bg-secondary: hsl(0, 0%, 19%);
    --color-primary: hsl(0, 0%, 100%);
    --color-secondary: hsl(0, 0%, 62%);
    --card-shadow: hsla(0, 0%, 0%, 0.4);
    --input-bg: hsl(0, 0%, 16%);
    --shadow-1: 10px 10px 40px var(--card-shadow);
   
    --bg-primary-rgb: 31 31 31;
    --bg-secondary-rgb: 48 48 48;
    --gm-ink-rgb: 233 237 245; 
    --glass-alpha: .12; 
    --glass-stroke: rgba(255,255,255,.12);
    --glass-blur: 32px;
    --glass-saturate: 190%;
}

/*  Light mode */
body.light-theme {
    --bg-primary: hsl(0, 0%, 90%);
    --bg-secondary: hsl(0, 0%, 100%);
    --color-primary: hsl(0, 0%, 12%);
    --color-secondary: hsl(0, 0%, 37%);
    --card-shadow: hsla(0, 0%, 0%, 0.1);
    --input-bg: hsl(0, 0%, 93%);
    --shadow-1: 10px 10px 40px var(--card-shadow);
    --stats-text-color: #121212;
    --stats-subtitle-color: #3a3a3a;
    
    --bg-primary-rgb: 230 230 230;
    --bg-secondary-rgb: 255 255 255;
    --gm-ink-rgb: 16 19 26; 

}

*, ::before, ::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

li {
    list-style: none;
}

a, img, time, span, input, label, select, button, textarea, ion-icon {
    display: block;
}

input, button, select, textarea {
    background: none;
    border: none;
    font: inherit;
}

button, select {
    cursor: pointer;
    outline: none;
}

input, textarea {
    width: 100%;
}

ion-icon {
    pointer-events: none;
}

a {
    text-decoration: none;
}

:is(a, button, select) {
    outline-color: var(--scarlet);
    outline-offset: 3px;
}

::selection {
    background: var(--color-primary);
    color: var(--bg-primary);
}

html {
    font-family: var(--ff-roboto);
}

body {
    background: var(--bg-primary);
    transition: var(--transition-1);
}

    body.active {
        overflow: hidden;
    }

.container {
    padding-inline: 10px;
}

.h1 {
    font-size: var(--fs-1);
    line-height: 1.2;
    font-weight: 400;
}

.h2, .h3, .h4 {
    color: var(--color-primary);
    font-family: var(--ff-poppins);
    line-height: 1.2;
}

.h2 {
    font-size: var(--fs-2);
}

.h3 {
    font-size: var(--fs-3);
}

.h4 {
    font-size: var(--fs-5);
}

.w-100 {
    width: 100%;
}

.btn {
    max-width: max-content;
    color: var(--color-primary);
    font-weight: var(--fw-700);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 25px;
    border: 1px solid transparent;
    border-radius: var(--radius-4);
    transition: var(--transition-1);
}

.btn-primary {
    border-color: var(--color-primary);
}

    .btn-primary:is(:hover, :focus) {
        background: var(--color-primary);
        color: var(--bg-primary);
    }

.btn-secondary {
    background: var(--raw-seinna);
    border-color: var(--raw-seinna);
    color: var(--black);
}

    .btn-secondary:is(:hover, :focus) {
        --raw-seinna: hsl(24%, 74%, 64%);
    }

.section-subtitle {
    position: relative;
    color: var(--color-secondary);
    text-transform: uppercase;
    padding-bottom: 5px;
    margin-bottom: 20px;
}

    .section-subtitle::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        width: 60px;
        height: 2px;
        background: var(--color-secondary);
    }

.section-title {
    max-width: 350px;
    margin-bottom: 30px;
}

.section-text {
    color: var(--color-secondary);
    line-height: 1.8;
    margin-bottom: 30px;
    text-align: justify;
}

.tooltip {
    position: absolute;
    top: -48px;
    background: var(--raw-seinna);
    min-width: max-content;
    color: var(--white);
    font-size: 15px;
    font-weight: var(--fw-700);
    padding: 5px 10px;
    border-radius: var(--radius-4);
    box-shadow: var(--shadow-1);
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    transition: var(--transition-1);
    z-index: 1;
}

/* Header */

.header {
    padding-block: 15px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transition: var(--transition-1);
    z-index: 4;
}

    .header.active {
        padding-block: 12px;
        background: var(--bg-secondary);
        box-shadow: var(--shadow-1);
    }

    .header .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
    }

.logo {
    position: relative;
    min-width: 77px;
    z-index: 2;
}

    .logo a {
        color: var(--color-primary);
        font-family: var(--ff-saira-stencil-one);
    }

    .logo span {
        display: inline-block;
        color: var(--raw-seinna);
        margin-left: 2px;
    }

.navbar-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-left: auto;
}

    .navbar-actions select {
        color: var(--color-primary);
        width: 45px;
    }

    .navbar-actions option {
        background: var(--bg-primary);
        color: var(--color-primary);
    }

.theme-btn {
    padding: 4px;
    width: 48px;
    background: var(--bg-secondary);
    border-radius: 100px;
    transition: var(--transition-1);
}

.header.active .theme-btn {
    background: var(--bg-primary);
}

.theme-btn .icon {
    position: relative;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 50px;
    box-shadow: inset 9px -6px var(--color-primary);
    transition: var(--transition-1);
}

.theme-btn.active .icon {
    left: 20px;
    box-shadow: inset 20px -20px var(--sizzling-sunrise);
}

.nav-toggle-btn {
    position: relative;
    transform: rotate(-55deg);
    transition: var(--transition-1);
    z-index: 2;
}

    .nav-toggle-btn.active {
        transform: rotate(-45deg);
    }

    .nav-toggle-btn span {
        width: 20px;
        height: 2px;
        background: var(--color-primary);
        margin: 5px;
        transition: var(--transition-1);
    }

    .nav-toggle-btn :is(.one, .three) {
        width: 10px;
    }

    .nav-toggle-btn .one {
        margin-left: auto;
        transform-origin: left;
    }

    .nav-toggle-btn .three {
        transform-origin: right;
    }

    .nav-toggle-btn.active .one {
        transform: rotate(90deg) translateX(-3px);
    }

    .nav-toggle-btn.active .three {
        transform: rotate(90deg) translateX(3px);
    }

.navbar {
    position: fixed;
    background: var(--bg-secondary);
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    visibility: hidden;
    transition: 0.75s cubic-bezier(0.71, 0.01, 0.24, 0.99);
    transition-delay: .5s;
    z-index: 1;
}

    .navbar.active {
        top: 0;
        visibility: visible;
        transition-delay: 0s;
    }

.navbar-list > li {
    margin-block: 20px;
    padding-inline: 50px;
    overflow: hidden;
}

.navbar-link {
    position: relative;
    width: max-content;
    margin-inline: auto;
    color: var(--color-primary);
    font-family: var(--ff-poppins);
    font-size: var(--fs-1);
    padding: 10px;
    transform: translateY(50px);
    transition: .75s cubic-bezier(0.68, -0.55, 0.27, 2);
}

.navbar.active .navbar-link {
    transform: translateY(0);
    transition-delay: .5s;
}

.navbar-link::before {
    content: '';
    position: absolute;
    top: 100%;
    transform: translateY(-50%);
    left: 0;
    height: 5px;
    width: 0;
    background: var(--raw-seinna);
    transition: var(--transition-1);
}

.navbar-link:is(:hover, :focus)::before {
    width: 100%;
}

.navbar-link.active-link::before {
    width: 100%;
}






/* Hero */

main {
    overflow-x: hidden;
}

.hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 115px;
    margin-bottom: var(--section-padding);
}

.hero-banner {
    max-width: 500px;
    width: 125%;
    margin-bottom: 30px;
}

:is(.hero-social-list, .scroll-down) {
    display: none;
}

.hero-content {
    max-width: 450px;
}

.hero-title {
    text-align: center;
    margin-bottom: 3px;
}

.hero .btn-primary {
    margin-inline: auto;
}

/*--------------------------------------------------------------------------------- Mobile Versjon for Hero klassen ---------------------------------------------------- */
@media (max-width: 767px) {
    .hero {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding-top: 80px;
    }

    .hero-banner {
        max-width: 100%;
        width: 100%;
        margin-bottom: 0;
    }

        .hero-banner img {
            width: 100%;
            height: 850px;
            object-fit: cover;
            opacity: 1; /* Gjør bildet litt gjennomsiktig så teksten blir mer synlig */
        }

    .hero-content {
        position: absolute;
        top: 60%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        max-width: 98%;
        z-index: 2;
    }

    .hero-title {
        font-size: 1.8rem;
        margin-bottom: 10px;
        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
        filter: saturate(1.08) contrast(1.05); /* litt ekstra “punch” på iOS */
    }

    #changing-word .word-letters {
        letter-spacing: -0.08em; /* veldig subtil */
    }
    
    }


    .hero .btn-primary {
        margin-inline: auto;
    }




/* Ikke la andre regler overstyre gradienten */
.hero-title {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    -webkit-background-clip: text;
    background-clip: text;
    word-break: keep-all;
    hyphens: none;
}

/* Bokstavene som animeres (GPU hints) */
#changing-word .letter {
    display: inline-block;
    transform: translateZ(0);
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}



/* HUD-container ved ordet */
#changing-word {
    position: relative;
    display: inline-block;
}

    #changing-word .word-hud {
        position: absolute;
        top: 50%;
        left: 100%;
        transform: translate(10px,-50%);
        display: flex;
        align-items: center;
        gap: 10px;
        pointer-events: none;
    }

    /* WORD CHIP – glass + gradient-ring + synk mot hero-gradient */
    /* Størrelse + spacing som ikke arver fra .hero-title */
    #changing-word .word-chip {
        font-size: clamp(1.72rem, .5rem + .5vw, .9rem);
        padding: .35rem .75rem;
        line-height: 1.05;
        left: calc(100% + .5rem); /* litt luft fra ordet */
        z-index: 3; /* over bilde/tekst */
        border-radius: 999px;
        border: 1px solid transparent; /* trengs for gradient-ring */
        display: inline-flex;

        align-items: center;
        gap: .35rem;
        white-space: nowrap;
        /* 2-lags bakgrunn: 1) glass-fill  2) gradient-ring (følger --aurora-pos) */
        background: linear-gradient(var(--chip-surface, rgba(255,255,255,.06)), var(--chip-surface, rgba(255,255,255,.06))) padding-box, linear-gradient(90deg,#ff9000,#ffffff,#00ffff) border-box;
        background-size: auto, 200% auto;
        background-position: center, var(--aurora-pos, 0%) center;
        /* separasjon fra bakgrunn */
        backdrop-filter: blur(10px) saturate(140%);
        -webkit-backdrop-filter: blur(10px) saturate(140%);
        box-shadow: 0 8px 24px rgba(0,0,0,.08), /* drop */
        inset 0 1px 0 rgba(255,255,255,.22), /* glossy top */
        inset 0 0 0 1px rgba(0,0,0,.06); /* innvendig kant for lysmodus */
    }

    /* Gradient-tekst inne i chip (synk med hero) */
    #changing-word .chip-label {
        background-image: linear-gradient(90deg,#ff9000,#ffffff,#00ffff);
        background-size: 200% auto;
        background-position: var(--aurora-pos, 0%) center;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        font-weight: 700;
        letter-spacing: .02em;
    }

    /* Ikon får nøytral farge (god kontrast i begge moduser) */
    #changing-word .chip-icon {
        width: 1.05em;
        height: 1.05em;
        flex: 0 0 1.05em;
        display: inline-block;
        color: var(--chip-icon-color, #222);
        filter: drop-shadow(0 1px 0 rgba(255,255,255,.25));
    }

        #changing-word .chip-icon path,
        #changing-word .chip-icon circle {
            fill: none;
            stroke: currentColor;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

/* Kontrast-boost i light mode */
@media (prefers-color-scheme: light) {
    #changing-word .word-chip {
        --chip-surface: rgba(255,255,255,.85); /* litt lys plate bak teksten */
        box-shadow: 0 8px 24px rgba(0,0,0,.06), inset 0 0 0 1px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.22);
    }

    #changing-word .chip-label {
        -webkit-text-stroke: .5px rgba(0,0,0,.45); /* outline mot hvitt */
        text-shadow: 0 1px 1px rgba(0,0,0,.16), 0 0 2px rgba(0,0,0,.28); /* “hold” når hvit del av gradient passerer */
    }

    #changing-word .chip-icon {
        --chip-icon-color: #222; /* mørkt ikon i lys modus */
    }
}

/* Dark mode: la ikonet være lyst */
@media (prefers-color-scheme: dark) {
    #changing-word .word-chip {
        --chip-surface: rgba(255,255,255,.06);
    }

    #changing-word .chip-icon {
        --chip-icon-color: #fff;
    }
}





    /* Countdown progress under ordet */
    #changing-word .word-progress {
        position: absolute;
        left: 0;
        right: 0;
        bottom: -6px;
        height: 2px;
        background: rgba(255,255,255,0.18);
        border-radius: 999px;
        overflow: hidden;
    }

        #changing-word .word-progress .bar {
            width: 0%;
            height: 100%;
            background-image: linear-gradient(90deg,#ff9000,#ffffff,#00ffff);
            border-radius: 999px;
        }

    /* Orbit-dot rundt ordet */
    #changing-word .orbit-wrap {
        position: absolute;
        inset: -6px; /* liten margin utenfor teksten */
        pointer-events: none;
        transform-origin: 50% 50%;
        opacity: 0;
    }

    #changing-word .orbit-dot {
        position: absolute;
        top: -30px; /* start på “kl 12” */
        left: 50%;
        transform: translateX(-50%);
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background-image: radial-gradient(circle at 30% 30%, #fff, #00ffff 60%, transparent 70%);
        box-shadow: 0 0 8px rgba(0,255,255,0.7), 0 0 16px rgba(0,255,255,0.35);
    }

/* Små mobil-tilpasninger uten å endre logikken din */
@media (max-width: 767px) {
    #changing-word .word-hud {
        transform: translate(8px,-50%) scale(.98);
        gap: 8px;
    }

    #changing-word .word-chip {
        padding: 5px 9px;
        font-size: .74rem;
    }

    #changing-word .word-progress {
        bottom: -5px;
    }
}







.hero .btn-primary{
  background-image: linear-gradient(
    135deg,
    rgba(255,144,0,.75),
    rgba(255,2,102,.75),
    rgba(0,255,255,.75)
  ) !important;           /* slår inline background i JS */
  box-shadow: 0 6px 18px rgba(0,0,0,.28) !important; /* litt svakere skygge */
}












/* Caret som alltid ligger helt i enden av den skrevne teksten */
.hero-title .typed-caret {
    display: inline; /* sitter på samme linje som teksten */
    border-right: 0.08em solid rgba(255,255,255,0.95); /* | */
    padding-right: 0.08em; /* litt luft så ikke “spiser” siste tegn */
    animation: hero-caret-blink .7s steps(1, end) infinite;
}

/* litt tydeligere på mobil om du vil */
@media (max-width: 767px) {
    .hero-title .typed-caret {
        border-right-color: rgba(255,255,255,1);
    }
}

@keyframes hero-caret-blink {
    50% {
        border-right-color: transparent;
    }
}









/*--------------------------------------------------------------------------------------------------------------- Stats */
.stats-card {
    flex-direction: column;
    text-align: center;
    gap: 15px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(25px) saturate(180%);
    -webkit-backdrop-filter: blur(25px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.25);
    transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.7s ease;
    padding: 35px 25px;
    overflow: hidden;
    position: relative;
}

.stats-card::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.18), transparent 60%);
    transform: rotate(25deg);
    transition: all 1s ease;
}

.stats-card:hover::before {
    transform: rotate(45deg) translate(10%, 10%);
}

.stats-card:hover {
    transform: translateY(-15px) scale(1.05) rotateX(3deg) rotateY(3deg);
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.4),
        inset 0 1px 3px rgba(255, 255, 255, 0.4),
        inset 0 -3px 6px rgba(0, 0, 0, 0.4);
}

.stats-card .card-icon.large-icon {
    width: 85px;
    height: 85px;
    background: rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow:
        inset 0 1px 4px rgba(255, 255, 255, 0.5),
        inset 0 -4px 8px rgba(0, 0, 0, 0.3),
        0 6px 12px rgba(0, 0, 0, 0.3);
    transition: all 0.6s ease;
}

.stats-card .card-icon.large-icon img {
    width: 60%;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.4));
}

.stats-card:hover .card-icon.large-icon {
    transform: scale(1.12);
    box-shadow:
        inset 0 2px 5px rgba(255, 255, 255, 0.6),
        inset 0 -5px 12px rgba(0, 0, 0, 0.4),
        0 12px 20px rgba(0, 0, 0, 0.35);
}

    .stats-card .card-title {
        color: rgba(255, 255, 255, 0.95);
        font-size: 1.5rem;
        margin: 0;
        font-weight: 700;
        text-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
        color: var(--stats-text-color);
    }

    .stats-card .stats-subtitle {
        color: var(--stats-subtitle-color);
        font-size: 0.95rem;
        margin: 0;
        font-weight: 500;
        font-style: italic;
    }



/* Skjul lys logo som standard (dark mode aktiv først) */
.icon-light {
    display: none;
}

body.light-theme .icon-dark {
    display: none;
}

body.light-theme .icon-light {
    display: block;
}


/* === Mobile justeringer for sats card Hiwa ===*/

@media (max-width: 767px) {
    .stats-card {
        max-width: 92%;
        margin: 0 auto 30px;
        padding: 25px 20px;
        border-radius: 20px;
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
        border: 1px solid rgba(255, 255, 255, 0.25);
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 15px 30px rgba(0, 0, 0, 0.3), inset 0 0 30px rgba(255, 255, 255, 0.1), inset 0 0 10px rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(25px) saturate(250%);
        -webkit-backdrop-filter: blur(25px) saturate(250%);
        transition: all 0.6s ease;
        position: relative;
        overflow: hidden;
    }

        .stats-card::before {
            content: "";
            position: absolute;
            top: -40%;
            left: -40%;
            width: 180%;
            height: 180%;
            background: linear-gradient(120deg, rgba(255,255,255,0.25), transparent);
            transform: rotate(25deg);
            opacity: 0.3;
            pointer-events: none;
        }

        .stats-card::after {
            content: "";
            position: absolute;
            bottom: 10px;
            right: 10px;
            width: 100px;
            height: 100px;
            background: radial-gradient(circle at center, rgba(255,255,255,0.2), transparent 70%);
            opacity: 0.15;
            pointer-events: none;
        }

        .stats-card:hover {
            transform: translateY(-8px) scale(1.03);
            box-shadow: 0 40px 80px rgba(0, 0, 0, 0.6), 0 20px 40px rgba(0, 0, 0, 0.4), inset 0 0 40px rgba(255, 255, 255, 0.15), inset 0 0 15px rgba(255, 255, 255, 0.1);
        }

        .stats-card .card-icon.large-icon {
            width: 80px;
            height: 80px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 50%;
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6), inset 0 5px 10px rgba(255, 255, 255, 0.3), inset 0 -5px 15px rgba(0, 0, 0, 0.4);
            margin: 0 auto 15px;
            transition: all 0.5s ease;
        }

        .stats-card:hover .card-icon.large-icon {
            transform: scale(1.12);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7), inset 0 8px 20px rgba(255, 255, 255, 0.4), inset 0 -8px 20px rgba(0, 0, 0, 0.5);
        }

        .stats-card .card-title {
            font-size: 1.4rem;
            color: var(--stats-text-color);
            font-weight: 700;
            text-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
            margin-bottom: 8px;
        }

        .stats-card .stats-subtitle {
            font-size: 1rem;
            font-weight: 400;           
            font-style: italic;
        }

    .stats-list > li {
        margin-bottom: 30px;
    }



    /* Start hidden */
    .stats-card {
        opacity: 0;
        transform: translateY(50px) scale(2.95);
        transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    }

        /* Når synlig (vi legger til klassen 'visible' via JS) */
        .stats-card.visible {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
}








       /*---------------------------------------------------------------------------------------------ned-------------------------------------------------------------------*/



/* About */

.about {
    padding-block: var(--section-padding);
}

.about-banner {
    max-width: 400px;
    margin-inline: auto;
    margin-bottom: 80px;
}

.about .btn {
    max-width: unset;
    width: 100%;
}

.about .btn-secondary {
    margin-bottom: 10px;
}

















/* Skills */

.skills {
    padding-block: var(--section-padding);
}

.skills-content {
    margin-bottom: 50px;
}

.skills-toggle {
    background: var(--bg-secondary);
    position: relative;
    width: max-content;
    margin-inline: auto;
    display: flex;
    align-items: center;
    padding: 5px;
    border-radius: 100px;
    box-shadow: var(--shadow-1);
    z-index: 1;
}

    .skills-toggle::before {
        content: '';
        position: absolute;
        top: 5px;
        left: 5px;
        bottom: 5px;
        width: 126px;
        background: var(--raw-seinna);
        border-radius: 100px;
        transition: var(--transition-1);
        z-index: -1;
    }

    .skills-toggle.active::before {
        left: 125px;
        width: 133px;
        
    }

.toggle-btn {
    color: var(--color-primary);
    font-family: var(--ff-poppins);
    padding: 5px 25px;
    transition: var(--transition-1);
}

    .toggle-btn.active {
        color: var(--white);
    }

.skills-box.active .skills-list, .skills-box .tools-list {
    display: none;
}

.skills-box .skills-list, .skills-box.active .tools-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 15px;
    animation: fadeIn .5s ease-out forwards;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.skills-card {
    position: relative;
    background: var(--bg-secondary);
    width: 80px;
    height: 80px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-12);
    box-shadow: var(--shadow-1);
    cursor: help;
}

    .skills-card:hover .tooltip {
        transform: translateY(0);
        opacity: 1;
    }




    .skills-card:hover {
        transform: scale(1.08);
        box-shadow: 0 0 15px var(--raw-seinna);
        transition: all 0.3s ease;
    }
































/* Projects */

.project-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 5fr));
    gap: 30px;
    padding: 0;
}

.project-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    box-shadow: 0 20px 50px rgba(0,0,0,0.3), inset 0 0 0 1px rgba(255,255,255,0.1);
    transition: transform 0.5s ease, box-shadow 0.5s ease;
    text-decoration: none;
}

    .project-card:hover {
        transform: translateY(-10px) scale(1.02);
        box-shadow: 0 30px 60px rgba(0,0,0,0.4), inset 0 0 0 1px rgba(255,255,255,0.15);
    }

    .project-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    .project-card .card-text {
        padding: 20px;
        color: white;
        text-align: center;
        background: rgba(0, 0, 0, 0.4); /* Ny bakgrunn for bedre lesbarhet */
        backdrop-filter: blur(5px);
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }


        .project-card .card-text h3 {
            margin: 10px 0 5px;
            font-size: 1.2rem;
        }

        .project-card .card-text p {
            margin: 0 0 10px;
            font-size: 0.9rem;
            opacity: 0.8;
        }

        .project-card .card-text span {
            font-size: 0.8rem;
            opacity: 0.6;
        }

        /* Extra: Smooth hover underline on h3 */
        .project-card .card-text h3::after {
            content: '';
            display: block;
            width: 0;
            height: 5px;
            background: var(--raw-seinna, #ff9000);
            transition: width 0.4s;
            margin: 0 auto;
        }

    .project-card:hover .card-text h3::after {
        width: 40%;
    }




                                                                                /*--------------------------------------------------Knapene live og github repo------------------------------------------*/

.project-card-wrapper {
    position: relative;
}

.project-buttons {
    position: absolute;
    bottom: 9px;
    right: 9px;
    display: flex;
    gap: 10px;
    opacity: 1;
    transform: translateY(0px);
    
}



.btn-live, .btn-github {
    background: #fff;
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.3s;
}

    .btn-live:hover {
        background: #00b096;
        color: #fff;
    }

    .btn-github:hover {
        background: #24292e;
        color: #fff;
    }





                       /*-----------------------------------------------Github knapp for Resten av proskjektene-----------------------------------------------*/

.github-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0d1117;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
    transition: transform 0.3s ease;
}

    .github-link:hover {
        transform: scale(1.05);
        background: #161b22;
    }

.view-all {
    text-align: center;
    margin-top: 2rem;
}

.github-link {
    display: inline-block;
    padding: 12px 24px;
    background: #24292e;
    color: white;
    font-weight: bold;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.3s ease;
}

    .github-link:hover {
        background: #000;
    }


























































/* Contact */
.contact {
    padding-block: var(--section-padding);
}

.contact-content {
    margin-bottom: 50px;
}

.contact-list-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
}

.contact-item-icon {
    font-size: 25px;
    color: var(--color-primary);
}

    .contact-item-icon ion-icon {
        --ionicon-stroke-width: 40px;
    }

.contact-item-title {
    margin-bottom: 10px;
}

.contact-list-item .contact-info {
    color: var(--color-secondary);
    font-size: 1rem;
    line-height: 1.6;
    transition: var(--transition-1);
}

.contact-info:not(address):is(:hover, :focus) {
    color: var(--color-primary);
}

.contact-social-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    padding-inline: 40px;
}

.contact-social-link {
    position: relative;
    background: var(--color-primary);
    color: var(--bg-primary);
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    transition: var(--transition-1);
}

    .contact-social-link:is(:hover, :focus) {
        background: var(--raw-seinna);
        color: var(--white);
    }

        .contact-social-link:is(:hover, :focus) .tooltip {
            transform: translateY(0);
            opacity: 1;
        }

.contact-form {
    background: var(--bg-secondary);
    padding: 20px;
    border-radius: var(--radius-12);
    box-shadow: var(--shadow-1);
}

.form-wrapper {
    margin-bottom: 25px;
}

.form-label {
    color: var(--color-primary);
    font-size: var(--fs-7);
    font-family: var(--ff-poppins);
    margin-bottom: 8px;
    margin-left: 5px;
}

.input-wrapper {
    position: relative;
}

.input-field {
    background: var(--input-bg);
    color: var(--raw-seinna);
    padding: 10px;
    padding-left: 40px;
    border-radius: var(--radius-12);
    transition: var(--transition-1);
}

.input-wrapper ion-icon {
    position: absolute;
    top: 10px;
    left: 10px;
    color: var(--color-secondary);
    font-size: 20px;
    transition: var(--transition-1);
}

textarea.input-field {
    min-height: 60px;
    height: 120px;
    max-height: 200px;
    resize: vertical;
}

.input-field:focus {
    outline: 1px solid;
}

    .input-field:focus + ion-icon {
        color: var(--raw-seinna);
    }

.contact .btn-primary {
    max-width: unset;
    width: 100%;
    background: var(--color-primary);
    color: var(--bg-primary);
}

/* Footer */

.footer {
    background: var(--bg-secondary);
    padding-block: 20px;
    text-align: center;
    box-shadow: var(--shadow-1);
}

    .footer .logo {
        margin-bottom: 15px;
    }

.copyright {
    color: var(--color-secondary);
    line-height: 1.6;
}

    .copyright a {
        font-family: var(--ff-turret);
        display: inline-block;
        color: var(--raw-seinna);
    }



/* Media Queries */

@media (min-width: 550px) {
    .container {
        max-width: 550px;
        margin-inline: auto;
    }

    .section-title {
        max-width: 380px;
    }

    .project-list {
        column-count: 2;
        column-gap: 25px;
    }

        .project-list > li:first-child {
            column-span: all;
        }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }

    .section-title {
        max-width: 430px;
    }

    .stats-list {
        grid-template-columns: 1fr 1fr;
    }

    .btn-group {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
    }

    .about .btn {
        max-width: max-content;
    }

    .about .btn-secondary {
        margin-bottom: 0;
    }

    .contact-form {
        max-width: 450px;
        margin-inline: auto;
    }
}

@media (min-width: 992px) {
    :root {
        --fs-2: 3rem;
        --section-padding: 100px;
    }

    .container {
        max-width: 980px;
    }

    .section-content {
        position: relative;
        padding-left: 40px;
    }

    .section-subtitle {
        position: absolute;
        top: 0;
        left: 0;
        transform: rotate(0.75turn) translateX(-100%);
        transform-origin: left top;
        margin-bottom: 0;
    }

        .section-subtitle::after {
            top: 8px;
            left: auto;
            right: calc(100% + 20px);
        }

    .header {
        padding-block: 30px;
    }

        .header.active {
            padding-block: 15px;
        }

    .navbar-actions {
        order: 1;
        margin-left: 0;
    }

    .nav-toggle-btn {
        display: none;
    }

    .navbar {
        all: unset;
    }

    .navbar-link {
        transform: translateY(0);
        font-size: unset;
        padding-inline: 5px;
    }

    .navbar-list > li {
        margin: 0;
        padding: 0;
        overflow: hidden;
    }

    .navbar-list {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 20px;
    }

    .navbar-link::before {
        height: 2px;
    }

    .hero {
        position: relative;
        padding-top: 0;
        height: 100vh;
    }

    .hero-banner {
        max-width: unset;
        height: 100%;
        margin-bottom: 0;
    }

    .hero img {
        height: 100%;
        width: auto;
        margin-inline: auto;
    }

    .hero-content {
        --color-primary: var(--white);
        position: absolute;
        top: 50%;
        filter: drop-shadow(2px 4px 10px var(--black));
    }

    .hero .btn-primary:is(:hover, :focus) {
        color: hsl(0, 0%, 12%);
    }

    .hero-social-list {
        display: block;
        position: absolute;
        bottom: 92px;
        left: -30px;
    }

        .hero-social-list::after {
            content: '';
            position: absolute;
            bottom: -40px;
            left: 13px;
            width: 2px;
            height: 30px;
            background: var(--color-secondary);
        }

    .hero-social-link {
        position: relative;
        color: var(--color-secondary);
        margin-block: 5px;
        padding: 5px;
        font-size: 18px;
        transition: var(--transition-1);
    }

        .hero-social-link:is(:hover, :focus) {
            color: var(--color-primary);
        }

        .hero-social-link .tooltip {
            --trans-x: 10px;
            left: calc(100% + 10px);
            top: 50%;
            transform: translateY(-50%) translateX(var(--trans-x));
        }

        .hero-social-link:is(:hover, :focus) .tooltip {
            --trans-x: 0;
            opacity: 1;
        }

    .scroll-down {
        display: block;
        position: absolute;
        bottom: 80px;
        right: -30px;
        color: var(--color-secondary);
        font-size: 1.25rem;
        text-transform: uppercase;
        transform: rotate(90deg);
        transform-origin: top right;
    }

        .scroll-down::after {
            content: '';
            position: absolute;
            top: 8px;
            right: -50px;
            width: 30px;
            height: 2px;
            background: var(--color-secondary);
        }

    .stats-list {
        grid-template-columns: repeat(3, 1fr);
    }

    .stats-card {
        height: 100%;
    }

    .about {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 30px;
    }

    .about-banner {
        margin-bottom: 0;
    }

    .skills {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 50px;
    }

    .skills-content {
        margin-bottom: 0;
    }

    .skills-toggle {
        margin-inline: 0;
    }

    .project-list {
        column-count: 3;
    }

        .project-list > li:first-child {
            column-span: unset;
            margin: 25px;
            margin-left: 0;
        }

    .contact {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .contact-content {
        margin-bottom: 0;
    }

    .contact-form {
        width: 100%;
    }

    .contact-list {
        margin-left: -40px;
    }

    .footer .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .footer .logo {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1150px;
    }

    .section-title {
        max-width: 460px;
    }

    .about-banner {
        max-width: 450px;
    }
}


.project-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}
.project-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.project-links {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.btn-live, .btn-github {
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s;
}

.btn-live {
  background: #00c9a7;
  color: #fff;
}
.btn-github {
  background: #24292e;
  color: #fff;
}

.btn-live:hover {
  background: #00b096;
}
.btn-github:hover {
  background: #000;
}

































/*----------------------------------------------------------Background---------------------------------------------------------------------------*/


canvas {
    display: block;
    width: 100%;
    height: 100%
}

.particles-js {
    position: fixed;
    inset: 0;

    z-index: -1;
    pointer-events: none;
    background: rgba(255,255,255,0.02);
    transform: translateZ(0); /* hint til GPU, færre artefakter */
    backface-visibility: hidden;
}


html, body {
    margin: 0;
    padding: 0;
    overflow-x: clip
}




















                /*---------------------------------------------------------------------------Form style starter her -------------------------------------------------------------------------*/



/* Success container */
#confirmation {
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px;
    text-align: center;
    position: relative;
    z-index: 1000;
}

/* Boks med suksessmelding */
.success-box {
    padding: 25px 40px;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    background: var(--success-bg);
    color: var(--success-text);
    position: relative;
    z-index: 2;
}

/* Checkmark animasjon */
.confirmation-checkmark {
    width: 64px;
    height: 64px;
    stroke: var(--checkmark-color);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    margin-bottom: 12px;
    animation: draw-check 1s ease forwards;
}

@keyframes draw-check {
    0% {
        stroke-dasharray: 48;
        stroke-dashoffset: 48;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

/* Meldingsstil */
.confirmation-message {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Bobleeffekt */
.bubble {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: radial-gradient(circle, #00ffff, #00c2ff);
    pointer-events: none;
    z-index: 1;
}

/* Definer farge for lys og mørk modus */
body.dark-theme {
    --success-bg: #0a2b29;
    --success-text: #c2fafa;
    --checkmark-color: #ffffff; /* hvit i mørk modus */
}

body:not(.dark-theme) {
    --success-bg: #e1fcf8;
    --success-text: #033232;
    --checkmark-color: #0a2b29; /* mørk farge i lys modus */
}

.bubble {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: radial-gradient(circle at center, #00ffff 0%, #00c2ff 50%, #005577 100%);
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.8), 0 0 30px rgba(0, 255, 255, 0.4);
    opacity: 0.95;
    pointer-events: none;
    z-index: 1;
}









/*--------------------------------Style for AGENTEN MIN------------------------------*/
/* AI Agent Widget */

/* =========================================================
   Hiwa AI Agent — Liquid Glass (mobil + desktop)
   Fullscreen på mobil, fast størrelse på desktop
   ========================================================= */

/* -----------------------------
   Variabler
----------------------------- */
:root {
    --ff-roboto: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    /* Tema / farger */
    --bg-primary-rgb: 14 17 22;
    --bg-secondary-rgb: 23 27 36;
    --color-primary: #e6e8ec;
    --color-secondary: #9aa3b2;
    /* Glass look */
    --gm-radius: 18px;
    --glass-stroke: rgba(255,255,255,.18);
    --glass-alpha: .36;
    --glass-blur: 18px;
    --glass-saturate: 160%;
    /* Ink & aksent */
    --gm-ink: #1b2230;
    --gm-ink-dark: #dfe6f1;
    --gm-accent-rgb: 59 130 246; /* blue-500 */
    --gm-accent-2-rgb: 6 182 212; /* cyan-500 */
    /* Effekter */
    --gm-ring: 0 0 0 4px rgb(59 130 246 / .25);
    --gm-mshadow: 0 12px 28px rgba(0,0,0,.18), 0 2px 0 rgba(0,0,0,.18);
    /* Keyboard-offset settes av JS */
    --keyboard: 0px;
    /* Desktop-størrelse */
    --chat-desktop-w: 520px;
    --chat-desktop-h: min(82vh, 660px);
}

/* Light-variant */
body.light-theme {
    --color-primary: #1a1f2b;
    --color-secondary: #4a5568;
}

/* -----------------------------
   Container & Toggle
----------------------------- */
#chat-widget {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: clamp(320px, 24vw, 400px);
    max-height: 600px;
    border-radius: var(--gm-radius);
    border: 1px solid var(--glass-stroke);
    box-shadow: 0 30px 80px rgba(0,0,0,.40), 0 1px 0 rgba(255,255,255,.08) inset;
    overflow: hidden;
    isolation: isolate;
    color: var(--gm-ink-dark);
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 35%), linear-gradient(0deg, rgba(0,0,0,.10), rgba(0,0,0,0) 55%), rgb(var(--bg-secondary-rgb) / var(--glass-alpha));
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
    animation: gmIn .35s cubic-bezier(.22,1,.36,1) both;
    z-index: 9999;
    background-clip: padding-box;
    -webkit-background-clip: padding-box;
    font-family: var(--ff-roboto);
}

    #chat-widget.active {
        display: grid;
        grid-template-rows: auto 1fr auto;
    }

    /* Sheen/tekstur */
    #chat-widget::before {
        content: "";
        position: absolute;
        inset: 0;
        background: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 2px, rgba(255,255,255,0) 2px 4px), repeating-linear-gradient(-45deg, rgba(0,0,0,.02) 0 3px, rgba(0,0,0,0) 3px 6px);
        mix-blend-mode: overlay;
        pointer-events: none;
        opacity: .35;
    }

    #chat-widget::after {
        content: "";
        position: absolute;
        inset: -30% -25% auto -25%;
        height: 70%;
        background: radial-gradient(60% 90% at 10% 30%, rgba(255,255,255,.12), transparent 60%), radial-gradient(80% 90% at 100% 0%, rgba(255,255,255,.06), transparent 70%);
        filter: blur(28px) saturate(115%);
        opacity: .5;
        pointer-events: none;
        animation: gmSheen 16s ease-in-out infinite alternate;
    }

/* Light tweaks */
body.light-theme #chat-widget {
    color: var(--gm-ink);
    box-shadow: 0 24px 60px rgba(22,28,45,.12), 0 1px 0 rgba(255,255,255,.85) inset;
}

    body.light-theme #chat-widget::before {
        opacity: .26;
    }

/* Toggle-knapp */
#chat-toggle {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 100px;
    height: 100px;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9998;
    box-shadow: 0 22px 48px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.12);
    overflow: hidden;
    background: transparent;
    transition: transform .18s ease, box-shadow .25s ease;
    touch-action: manipulation
}

    #chat-toggle:hover {
        transform: translateY(-1px) scale(1.03);
        box-shadow: 0 28px 64px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.16);
    }

.agent-icon {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

/* -----------------------------
   Header
----------------------------- */
#chat-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    padding-top: calc(12px + env(safe-area-inset-top));
    color: #fff;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0)), linear-gradient(135deg, #232834, #2b3242);
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.18), 0 10px 26px rgba(0,0,0,.28);
    user-select: none;
    cursor: default;
    backdrop-filter: blur(8px) saturate(140%);
    -webkit-backdrop-filter: blur(8px) saturate(140%);
}

.chat-title {
    font: 800 16px/1 var(--ff-roboto);
    letter-spacing: .25px;
    text-shadow: 0 1px 0 rgba(0,0,0,.25);
    padding: 0 74px;
    flex: 1;
    text-align: center;
}

.chat-controls {
    position: absolute;
    right: 10px;
    top: 10px;
    display: flex;
    gap: 8px;
    z-index: 2;
}

.chat-btn {
    background: rgba(255,255,255,.20);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-weight: 800;
    line-height: 1;
    padding: 6px 12px;
    cursor: pointer;
    box-shadow: 0 2px 0 rgba(0,0,0,.25), 0 10px 20px rgba(0,0,0,.18);
    transition: transform .12s ease, background .22s ease, box-shadow .22s ease;
    touch-action: manipulation;
}

    .chat-btn:hover {
        transform: translateY(-1px);
        background: rgba(255,255,255,.32);
    }

/* -----------------------------
   Messages
----------------------------- */
#chat-messages {
    grid-row: 2;
    min-height: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.03)), rgb(var(--bg-primary-rgb) / 0.04);
    overflow: auto;
    scrollbar-width: thin;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

    #chat-messages::-webkit-scrollbar {
        width: 10px;
    }

    #chat-messages::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg,#3d4658,#59657a);
        border-radius: 999px;
    }

.user, .bot {
    position: relative;
    max-width: 85%;
    padding: 12px 16px;
    border-radius: 18px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-wrap: break-word;
    box-shadow: 0 14px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.08);
    animation: gmMsg .18s ease-out both;
    backdrop-filter: blur(8px) saturate(140%);
    -webkit-backdrop-filter: blur(8px) saturate(140%);
}

.user {
    align-self: flex-end;
    color: #1b2230;
    background: linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,.35));
    border: 1px solid rgba(255,255,255,.35);
    border-top-right-radius: 10px;
}

body.dark-theme .user {
    color: #0e1117;
    background: linear-gradient(135deg, rgba(255,255,255,.42), rgba(255,255,255,.24));
    border-color: rgba(255,255,255,.22);
}

.bot {
    align-self: flex-start;
    color: var(--gm-ink-dark);
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)), rgb(var(--bg-secondary-rgb) / 0.10);
    border: 1px solid rgba(255,255,255,.22);
    border-left: 4px solid rgb(var(--gm-accent-rgb) / 0.30);
    border-top-left-radius: 10px;
}

body.light-theme .bot {
    color: var(--gm-ink);
    border-left-color: rgb(var(--gm-accent-rgb) / 0.22);
}

.bot::after {
    content: "";
    position: absolute;
    left: -6px;
    bottom: 10px;
    width: 12px;
    height: 12px;
    background: inherit;
    transform: rotate(45deg);
    border-bottom-left-radius: 4px;
    filter: blur(.2px);
}

.user + .user, .bot + .bot {
    margin-top: 2px;
}

.user + .bot, .bot + .user {
    margin-top: 10px;
}

/* -----------------------------
   Composer
----------------------------- */
#chat-input-area {
    grid-row: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-top: 1px solid var(--glass-stroke);
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0)), rgb(var(--bg-secondary-rgb) / var(--glass-alpha));
    backdrop-filter: blur(calc(var(--glass-blur) - 6px)) saturate(var(--glass-saturate));
    -webkit-backdrop-filter: blur(calc(var(--glass-blur) - 6px)) saturate(var(--glass-saturate));
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
    transform: translateY(calc(-1 * var(--keyboard)));
    transition: transform .18s ease;
}

#chat-input {
    flex: 1;
    height: 46px;
    padding: 0 14px;
    outline: none;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.28);
    color: var(--color-primary);
    background: rgba(255,255,255,.10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
    font-size: 14px;
    transition: box-shadow .2s ease, background .2s ease;
}

    #chat-input::placeholder {
        color: var(--color-secondary);
    }

    #chat-input:focus {
        box-shadow: 0 0 0 4px var(--gm-ring), inset 0 1px 0 rgba(255,255,255,.12);
        background: rgba(255,255,255,.14);
    }

body.dark-theme #chat-input::placeholder {
    color: rgba(255,255,255,.6);
}

body.light-theme #chat-input::placeholder {
    color: rgba(0,0,0,.6);
}

#chat-send {
    height: 46px;
    padding: 0 16px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.28);
    background: linear-gradient(135deg, rgba(255,255,255,.35), rgba(255,255,255,.18));
    color: #0c0f16;
    font-weight: 900;
    cursor: pointer;
    box-shadow: var(--gm-mshadow);
    transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
    touch-action: manipulation;
}

body.dark-theme #chat-send {
    color: #0b0e14;
}

#chat-send:hover {
    transform: translateY(-1px);
    box-shadow: var(--gm-mshadow), 0 0 0 6px rgb(var(--gm-accent-2-rgb) / 0.18);
}

#chat-send:active {
    transform: translateY(0);
    filter: saturate(1.04);
}

/* -----------------------------
   Minimized (dock)
----------------------------- */
#chat-widget.minimized {
    display: flex;
    align-items: center;
    position: fixed;
    right: 16px;
    bottom: 16px;
    width: auto;
    max-width: min(92vw, 520px);
    height: auto;
    border: none;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    isolation: auto;
    z-index: 9999;
}

    #chat-widget.minimized::before, #chat-widget.minimized::after {
        display: none;
    }

    #chat-widget.minimized #chat-messages,
    #chat-widget.minimized #chat-input-area {
        display: none !important;
    }

    #chat-widget.minimized #chat-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 9999px;
        background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.10)), rgb(var(--bg-secondary-rgb) / .42);
        border: 1px solid rgba(255,255,255,.26);
        box-shadow: 0 18px 36px rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.14) inset;
        backdrop-filter: blur(14px) saturate(160%);
        -webkit-backdrop-filter: blur(14px) saturate(160%);
        cursor: pointer;
        user-select: none;
        transition: box-shadow .18s ease, transform .12s ease, background .18s ease;
    }

        #chat-widget.minimized #chat-header:hover {
            box-shadow: 0 22px 46px rgba(0,0,0,.42), 0 0 0 6px rgb(var(--gm-accent-2-rgb) / .16), 0 1px 0 rgba(255,255,255,.16) inset;
            transform: translateY(-1px);
        }

    #chat-widget.minimized .chat-title {
        flex: 1 1 auto;
        min-width: 120px;
        max-width: 52vw;
        padding: 0 6px;
        font-weight: 800;
        font-size: 14px;
        line-height: 1;
        letter-spacing: .2px;
        color: #fff;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        position: relative;
    }

        #chat-widget.minimized .chat-title::before {
            content: "";
            display: inline-block;
            width: 10px;
            height: 10px;
            margin-right: 8px;
            border-radius: 9999px;
            background: radial-gradient(circle at 30% 30%, #8ee, #38bdf8 60%, #0ea5e9 100%);
            box-shadow: 0 0 8px rgba(56,189,248,.8);
            vertical-align: middle;
        }

    #chat-widget.minimized .chat-controls {
        position: static;
        display: inline-flex;
        gap: 8px;
        z-index: 1;
    }

    #chat-widget.minimized .chat-btn {
        width: 34px;
        height: 34px;
        padding: 0;
        border-radius: 9999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-weight: 900;
        font-size: 16px;
        color: #fff;
        background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10));
        border: 1px solid rgba(255,255,255,.28);
        box-shadow: 0 8px 18px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.10) inset;
        transition: transform .12s ease, box-shadow .18s ease, background .18s ease;
    }

        #chat-widget.minimized .chat-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 12px 26px rgba(0,0,0,.38), 0 0 0 6px rgb(var(--gm-accent-rgb) / .18), 0 1px 0 rgba(255,255,255,.14) inset;
        }

/* -----------------------------
   Animasjoner
----------------------------- */
@keyframes gmIn {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes gmSheen {
    0% {
        transform: translateY(-6%) translateX(0) rotate(0deg);
    }

    50% {
        transform: translateY(-2%) translateX(1.5%) rotate(1.5deg);
    }

    100% {
        transform: translateY(-8%) translateX(-1.5%) rotate(-1.5deg);
    }
}

@keyframes gmMsg {
    from {
        opacity: 0;
        transform: translateY(6px) scale(.985);
        filter: blur(1.5px);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    #chat-widget::after, #chat-widget::before, .user, .bot {
        animation: none;
    }
}

/* =============================
   Mobil (≤ 768px)
   Fullscreen når aktiv
============================= */
@media (max-width: 768px) {
    #chat-widget.active {
        position: fixed;
        inset: 0;
        right: 0;
        bottom: 0;
        border-radius: 0;
        width: 100vw;
        height: 100dvh;
        min-height: 100dvh;
        overscroll-behavior: contain;
    }

    @supports (height: 100svh) {
        #chat-widget.active {
            height: 100svh;
            min-height: 100svh;
        }
    }

    #chat-input, #chat-send {
        font-size: 16px;
    }
    /* hindrer iOS-zoom */
    #chat-toggle {
        width: 84px;
        height: 84px;
    }

    #chat-messages {
        padding-bottom: calc(14px + env(safe-area-inset-bottom));
    }

    #chat-widget, #chat-input-area, .user, .bot {
        backdrop-filter: blur(12px) saturate(140%);
        -webkit-backdrop-filter: blur(12px) saturate(140%);
    }
}

/* =============================
   Desktop (≥ 1024px)
   Fast størrelse
============================= */
@media (min-width: 1024px) {
    #chat-widget {
        width: var(--chat-desktop-w);
        height: var(--chat-desktop-h);
        max-height: none; /* overstyr basens max-height */
    }

        #chat-widget::before {
            opacity: .35;
        }

        #chat-widget::after {
            opacity: .5;
            filter: blur(28px) saturate(115%);
        }

    #chat-widget, #chat-input-area, .user, .bot {
        backdrop-filter: blur(5px) saturate(140%);
        -webkit-backdrop-filter: blur(12px) saturate(140%);
    }

}




/* =============================
   Empty state + onboarding
============================= */

/* Containeren */
#chat-empty {
    display: grid;
    gap: 12px;
    padding: 18px;
    margin: 8px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 10px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08);
    color: var(--color-primary);
}

    #chat-empty .empty-title {
        font-weight: 800;
        font-size: 14px;
        letter-spacing: .2px;
    }

    #chat-empty .empty-sub,
    #chat-empty .empty-hint {
        font-size: 12px;
        color: var(--color-secondary);
    }

/* Forslagschips */
.empty-suggestions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}

@media (min-width: 480px) {
    .empty-suggestions {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

.suggestion-chip {
    text-align: left;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.22);
    background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.10));
    color: var(--color-primary);
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
    font-size: 12px;
    transition: transform .12s ease, box-shadow .18s ease, background .18s ease;
    white-space: normal;
}

    .suggestion-chip:hover {
        transform: translateY(-1px);
        box-shadow: 0 12px 26px rgba(0,0,0,.22), 0 0 0 6px rgb(var(--gm-accent-2-rgb) / .16);
    }

/* Banner som forklarer at det er en AI-assistent */
.empty-banner {
    padding: 10px 12px;
    margin: 10px 10px 0;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
    border: 1px solid rgba(255,255,255,.22);
    font-weight: 700;
    font-size: 12px;
    color: var(--color-primary);
    box-shadow: 0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
}

    .empty-banner .muted {
        font-weight: 500;
        opacity: .85;
        margin-left: 6px;
    }

/* "Om agenten" – toggle og panel */
.about-toggle {
    margin: 6px 10px 0;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.24);
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
    color: var(--color-primary);
    cursor: pointer;
    font-weight: 700;
    font-size: 12px;
    box-shadow: 0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
    transition: transform .12s ease, background .18s ease, box-shadow .18s ease;
}

    .about-toggle:hover {
        transform: translateY(-1px);
        box-shadow: 0 12px 26px rgba(0,0,0,.22), 0 0 0 6px rgb(var(--gm-accent-rgb) / .14);
    }

.about-panel {
    margin: 6px 10px 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.18);
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
    font-size: 12px;
    color: var(--color-primary);
}

    .about-panel ul {
        margin: 0;
        padding-left: 16px;
    }

    .about-panel li {
        margin: 4px 0;
    }

/* =============================
   Typing-indikator
============================= */
.bot.typing {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .bot.typing .dots {
        display: inline-flex;
        gap: 4px;
    }

        .bot.typing .dots i {
            width: 6px;
            height: 6px;
            border-radius: 9999px;
            background: currentColor;
            opacity: .55;
            animation: dotPulse 1.2s infinite ease-in-out;
        }

            .bot.typing .dots i:nth-child(2) {
                animation-delay: .15s;
            }

            .bot.typing .dots i:nth-child(3) {
                animation-delay: .30s;
            }

@keyframes dotPulse {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: .45;
    }

    40% {
        transform: translateY(-4px);
        opacity: 1;
    }
}

/* =============================
   Light mode overrides
============================= */
body.light-theme #chat-empty {
    background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.00));
    border-color: rgba(0,0,0,.08);
    box-shadow: 0 18px 32px rgba(22,28,45,.12), inset 0 1px 0 rgba(255,255,255,.75);
    color: var(--gm-ink);
}

body.light-theme .suggestion-chip {
    background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.02));
    border: 1px solid rgba(0,0,0,.08);
    color: var(--gm-ink);
    box-shadow: 0 8px 18px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.85);
}

    body.light-theme .suggestion-chip:hover {
        box-shadow: 0 12px 26px rgba(0,0,0,.14), 0 0 0 6px rgb(var(--gm-accent-2-rgb) / .12);
    }

body.light-theme .empty-banner {
    background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.00));
    border-color: rgba(0,0,0,.08);
    color: var(--gm-ink);
    box-shadow: 0 10px 20px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.85);
}

body.light-theme .about-toggle {
    background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.02));
    border: 1px solid rgba(0,0,0,.10);
    color: var(--gm-ink);
    box-shadow: 0 8px 18px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.85);
}

body.light-theme .about-panel {
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.00));
    border: 1px solid rgba(0,0,0,.08);
    color: var(--gm-ink);
}


















/* ===== Premium Contact Success (match GSAP) ===== */

/* Tema-variabler (lys som default) */
:root {
    --card-bg: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
    --card-stroke: rgba(0,0,0,.06);
    --card-text: #0e1726;
    --sub-text: #475569;
    --check-color: #0a2b29;
    --glow-c1: rgba(34,211,238,.25); /* cyan */
    --glow-c2: rgba(14,165,233,.22); /* sky */
    --glow-c3: rgba(167,139,250,.20); /* violet */

    --ring-color: rgba(14,165,233,.22);
    --btn-fg: #0b1117;
    --btn-bg-top: #ffffff;
    --btn-bg-bot: #f1f5f9;
    --btn-stroke: rgba(0,0,0,.08);
    --btn-shadow: 0 8px 18px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.90);
}

/* Dark theme tokens */
body.dark-theme {
    --card-bg: linear-gradient(180deg, rgba(15,19,28,.85), rgba(18,23,33,.82));
    --card-stroke: rgba(255,255,255,.16);
    --card-text: #e6edf7;
    --sub-text: #9aa3b2;
    --check-color: #ffffff;
    --glow-c1: rgba(34,211,238,.32);
    --glow-c2: rgba(14,165,233,.28);
    --glow-c3: rgba(167,139,250,.26);
    --ring-color: rgba(56,189,248,.35);
    --btn-fg: #0b1117;
    --btn-bg-top: rgba(255,255,255,.95);
    --btn-bg-bot: rgba(255,255,255,.82);
    --btn-stroke: rgba(255,255,255,.28);
    --btn-shadow: 0 8px 18px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.55);
}


#confirmation {
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px;
    text-align: center;
    position: relative;
    z-index: 1000;
}

/* Kortet */
.success-box {
    position: relative;
    isolation: isolate; /* eget stacking-context */
    overflow: visible;
    border-radius: 18px;
    padding: 24px 24px 20px;
    color: var(--card-text);
    background: var(--card-bg);
    border: 1px solid var(--card-stroke);
    box-shadow: 0 24px 60px rgba(0,0,0,.22), 0 1px 0 rgba(255,255,255,.08) inset;
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
    /* GSAP animerer disse variablene */
    --sheen-x: -140%;
    --glow-strength: 0;
    --ring-opacity: 0;
}

    
    .success-box > * {
        position: relative;
        z-index: 2;
    }


.success-surface {
    position: relative;
    border-radius: 6px;
    overflow: hidden; 
}

    
    .success-surface::before {
        content: "";
        position: absolute;
        /* litt større enn kortet  */
        top: -35%;
        bottom: -35%;
        left: -30%;
        right: -30%;
        transform: translateX(var(--sheen-x)) rotate(18deg);
        pointer-events: none;
        
        background: radial-gradient(40% 120% at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,0) 60%), linear-gradient(to right, transparent 0%, color-mix(in srgb, #fff 80%, var(--ring-color)) 45%, color-mix(in srgb, #fff 95%, var(--ring-color)) 50%, color-mix(in srgb, #fff 70%, var(--ring-color)) 55%, transparent 100%);
        filter: blur(14px) saturate(140%);
        mix-blend-mode: screen;
        opacity: .85;
    }

    
    .success-surface::after {
        content: "";
        position: absolute;
        inset: -1px;
        pointer-events: none;
        background: radial-gradient(120% 80% at 0% 0%, rgba(255,255,255,.10), transparent 60%), radial-gradient(120% 80% at 100% 100%, rgba(255,255,255,.08), transparent 60%),
        
        repeating-linear-gradient(60deg, rgba(255,255,255,.05) 0 2px, rgba(255,255,255,0) 2px 6px);
        mix-blend-mode: overlay;
        opacity: .55;
    }


@media (prefers-reduced-motion: reduce) {
    .success-surface::before {
        filter: blur(10px);
        opacity: .7;
    }

    .success-surface::after {
        opacity: .35;
    }
}

/* ==== Light mode fixes (premium & tydelig) ==== */

/* 1) Mer synlig glød/ring i lys modus */
body:not(.dark-theme) .success-glow {
    /* litt mer kontrast rundt kortet */
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring-color) 42%, transparent);
    opacity: calc(var(--ring-opacity) + 0.15);
    /* litt mørkere blanding gjør ringen synlig på lys bakgrunn */
    mix-blend-mode: multiply;
}

/* 2) Sheen: bruk multiply og litt farge i stedet for hvitt */
body:not(.dark-theme) .success-surface::before {
    transform: translateX(var(--sheen-x)) rotate(18deg);
    filter: blur(12px) saturate(130%);
    opacity: .85;
    mix-blend-mode: multiply; /* ← viktig i lys tema */
    background: radial-gradient(38% 120% at 50% 50%, rgba(2,6,23,.06), rgba(2,6,23,0) 62%), /* svakt mørkt fokus i midten */
    linear-gradient(to right, /* farget lysstripe */
    transparent 0%, color-mix(in srgb, #0ea5e9 40%, #000 0%) 45%, color-mix(in srgb, #22d3ee 60%, #000 0%) 50%, color-mix(in srgb, #0ea5e9 40%, #000 0%) 55%, transparent 100%);
}

/* 3) Corner-highlights/tekstur: bruk multiply + mørkere nyanser */
body:not(.dark-theme) .success-surface::after {
    mix-blend-mode: multiply;
    opacity: 100.40;
    background: radial-gradient(120% 80% at 0% 0%, rgba(2,6,23,.06), transparent 60%), radial-gradient(120% 80% at 100% 100%, rgba(2,6,23,.05), transparent 60%), repeating-linear-gradient(60deg, rgba(2,6,23,.05) 0 2px, rgba(2,6,23,0) 2px 6px); /* diskret “grain” for dybde */
}

/* 4) Kortets skygge/ramme i lys modus – mer dybde */
body:not(.dark-theme) .success-box {
    /* beholder dine variabler, men gir litt mer dybde */
    box-shadow: 0 2px 48px rgba(2,6,23,.12), 0 1px 0 rgba(255,255,255,.95) inset, 0 0 0 1px rgba(2,6,23,.06) inset;
}





.success-glow {
    position: absolute;
    z-index: 0;
    inset: -5px;
    border-radius: 24px;
    pointer-events: none;
    background: radial-gradient(120% 120% at 10% 0%, var(--glow-c1), transparent 60%), radial-gradient(120% 120% at 100% 10%, var(--glow-c2), transparent 60%), radial-gradient(140% 140% at 50% 100%, var(--glow-c3), transparent 60%);
    box-shadow: 0 0 0 20px color-mix(in srgb, var(--ring-color) calc(var(--ring-opacity)*100%), transparent);
    opacity: var(--ring-opacity);
    filter: blur(calc(8px + (var(--glow-strength) * px)));
}
/* --- Light mode --- */
body:not(.dark-theme) .success-glow {
    
    mix-blend-mode: multiply;
    opacity: calc(var(--ring-opacity) + 0.18);
    
    background: radial-gradient(120% 120% at 10% 0%, rgba(2,6,23,.10), transparent 60%), radial-gradient(120% 120% at 100% 10%, rgba(2,6,23,.08), transparent 60%), radial-gradient(140% 140% at 50% 100%, rgba(2,6,23,.06), transparent 60%);
    
    box-shadow: 0 0 0 20px rgba(2,6,23,.06), 0 16px 48px rgba(2,6,23,.12);
    
    filter: blur(calc(10px + (var(--glow-strength) * px)));
}


body:not(.dark-theme) {
    --ring-color: rgba(2,6,23,.22); 
    --glow-c1: rgba(14,165,233,.24); 
    --glow-c2: rgba(59,130,246,.20); 
    --glow-c3: rgba(2,132,199,.18); 
}




/* Ikon / check */
.success-icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 8px;
}

.success-check {
    width: 48px;
    height: 48px;
}

    .success-check path {
        stroke: var(--check-color);
        stroke-width: 4;
        stroke-linecap: round;
        stroke-linejoin: round;
        fill: none;
    }

/* Tekst */
.success-headline {
    font-weight: 800;
    font-size: 39px;
    letter-spacing: .2px;
    margin-bottom: 2px;
}

.success-message,
.confirmation-message {
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .2px;
}

.success-sub {
    font-size: 16px;
    color: var(--sub-text);
    margin-top: 6px;
}


.confirmation-actions {
    margin-top: 14px;
    display: flex;
    justify-content: center;
}

#contact-new {
    position: relative;
    z-index: 3;
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 10px 16px;
    border-radius: 42px;
    font-weight: 800;
    color: var(--btn-fg);
    background: linear-gradient(180deg, var(--btn-bg-top), var(--btn-bg-bot));
    border: 1px solid var(--btn-stroke);
    box-shadow: var(--btn-shadow);
    cursor: pointer;
    transition: transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

    #contact-new:hover {
        transform: translateY(-1px);
        box-shadow: 0 12px 26px rgba(0,0,0,.22), 0 0 0 6px color-mix(in srgb, var(--ring-color) 22%, transparent);
    }

    #contact-new:active {
        transform: translateY(0);
    }


#confirmation .bubble {
    z-index: 1;
}

/* Redusert bevegelse: la UI være rolig, GSAP håndterer også dette */
@media (prefers-reduced-motion: reduce) {
    .success-surface::after {
        display: none;
    }

    .success-glow {
        filter: blur(8px);
    }
}


