/* =========================================================
   KUNDKONTROLLEN - PUBLIC
   ========================================================= */


/* =====================================================
   PUBLIC NAVIGATION / RAM
   ===================================================== */

.public-navbar {
    background: #ffffff;
    border-bottom: 0px solid #dee2e6;
}

    .public-navbar .navbar-brand {
        font-weight: 700;
        font-size: 3.0rem;
        margin-right: 1.5rem;
    }

    .public-navbar .nav-link {
        color: #495057;
        font-size: 1.1rem;
    }

.public-navbar-menu-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.public-main-menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 0;
    padding: 0;
}

.public-navbar .navbar-nav .nav-item {
    display: flex;
    align-items: center;
}

    .public-navbar .navbar-nav .nav-item:not(:last-child)::after {
        content: "|";
        color: #999;
    }

.public-navbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 6px;
}

.public-main {
    min-height: calc(100vh - 130px);
}

.public-footer {
    border-top: 1px solid #dee2e6;
    background: #ffffff;
    color: #6c757d;
    font-size: 0.85rem;
}


/* =====================================================
   EXTERNT KYC-FLÖDE
   ===================================================== */

.kyc-body {
    background: #f5f6f8;
    color: #212529;
}

.kyc-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 18px;
    padding-right: 18px;
}

.kyc-header {
    background: #fff;
    border-bottom: 1px solid #e4e7eb;
    padding: 18px 0;
}

.kyc-logo {
    font-size: 1.15rem;
    font-weight: 700;
}

.kyc-main {
    padding-top: 30px;
    padding-bottom: 50px;
}

.kyc-footer {
    padding: 20px 0 35px;
    color: #7a828a;
    font-size: 0.8rem;
}

.kyc-progress-text {
    font-size: 0.85rem;
    color: #6c757d;
    margin-bottom: 5px;
}

.kyc-progress {
    height: 5px;
    margin-bottom: 24px;
}

.kyc-question {
    padding: 18px 0;
    border-bottom: 1px solid #edf0f2;
}

    .kyc-question:last-child {
        border-bottom: 0;
    }

.kyc-question-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
}

.kyc-question-help {
    color: #6c757d;
    font-size: 0.86rem;
    margin-top: -4px;
    margin-bottom: 10px;
}

.kyc-required {
    color: #b02a37;
}

.kyc-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
}

.kyc-review-question {
    padding: 13px 0;
    border-bottom: 1px solid #edf0f2;
}

    .kyc-review-question:last-child {
        border-bottom: 0;
    }

.kyc-review-answer {
    margin-top: 3px;
    font-weight: 500;
}


/* =====================================================
   PUBLIKA SIDOR / KOMPONENTER
   ===================================================== */

.public-hero {
    padding: 65px 0 70px 0;
    background: #ffffff;
    border-bottom: 1px solid #e9ecef;
}

    .public-hero h1 {
        font-size: 3.4rem;
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -0.04em;
        max-width: 700px;
    }

    .public-hero .lead {
        max-width: 680px;
        font-size: 1.2rem;
        color: #5f666d;
    }

.public-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #526059;
}

.public-section {
    padding: 30px 3px 0 3px;
}

.public-section-light {
    background: #ffffff;
}

.public-section-heading {
    max-width: 680px;
    margin-bottom: 35px;
}

    .public-section-heading h2 {
        font-weight: 700;
        letter-spacing: -0.025em;
    }

    .public-section-heading p {
        color: #6c757d;
        font-size: 1.05rem;
    }

.public-step {
    height: 100%;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e1e5e3;
    border-radius: 12px;
}

.public-step-number {
    margin-bottom: 12px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #6c757d;
}

.public-step h3 {
    font-size: 1.05rem;
    font-weight: 700;
}

.public-step p {
    margin-bottom: 0;
    color: #6c757d;
    font-size: 0.95rem;
}

.public-feature {
    height: 100%;
    padding: 26px;
    border: 1px solid #e1e5e3;
    border-radius: 12px;
    background: #ffffff;
}

    .public-feature h3 {
        font-size: 1.1rem;
        font-weight: 700;
    }

    .public-feature p {
        margin-bottom: 0;
        color: #6c757d;
    }

.public-cta {
    padding: 36px;
    border-radius: 14px;
    background: #212529;
    color: #ffffff;
}

    .public-cta h2 {
        font-size: 1.6rem;
        font-weight: 700;
    }

    .public-cta p {
        margin-bottom: 0;
        color: #ced4da;
    }

.public-page-hero {
    padding: 25px 0 15px 0;
    background: #f8f9fa;
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
}


    .public-page-hero h1 {
        font-size: 2.8rem;
        font-weight: 600;
        line-height: 1.1;
        letter-spacing: -0.035em;
    }

    .public-page-hero p {
        max-width: 720px;
        margin-bottom: 0;
        color: #6c757d;
        font-size: 1.15rem;
    }

.contact-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.contact-card {
    height: 100%;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #dfe3e1;
    border-radius: 14px;
}

    .contact-card h2 {
        margin-bottom: 12px;
        font-size: 1.4rem;
        font-weight: 700;
    }

    .contact-card p {
        color: #6c757d;
    }

.contact-email {
    display: inline-block;
    margin: 6px 0 20px 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #212529;
    text-decoration: none;
}

    .contact-email:hover {
        text-decoration: underline;
    }

.contact-info {
    padding: 24px;
    background: #f8f9fa;
    border-radius: 10px;
}

    .contact-info h3 {
        margin-bottom: 10px;
        font-size: 1.05rem;
        font-weight: 700;
    }

    .contact-info p {
        margin-bottom: 0;
        color: #6c757d;
    }

.login-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.login-card {
    height: 100%;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #dfe3e1;
    border-radius: 14px;
}

    .login-card h2 {
        margin-bottom: 12px;
        font-size: 1.4rem;
        font-weight: 700;
    }

    .login-card > p {
        color: #6c757d;
    }

.login-info {
    padding: 24px;
    background: #f8f9fa;
    border-radius: 10px;
}

.login-step {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 22px;
}

    .login-step:last-child {
        margin-bottom: 0;
    }

.login-step-number {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef0ef;
    border-radius: 10px;
    font-weight: 700;
    color: #212529;
}

.login-step-content {
    flex: 1;
}

    .login-step-content h3 {
        margin: 1px 0 5px 0;
        font-size: 1rem;
        font-weight: 700;
    }

    .login-step-content p {
        margin: 0;
        color: #6c757d;
        line-height: 1.55;
    }

.login-link {
    font-size: 0.875rem;
    text-decoration: none;
}

    .login-link:hover {
        text-decoration: underline;
    }

.login-actions {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
}

.login-card .form-control {
    min-height: 42px;
}

.password-page {
    padding: 70px 0;
}

.password-card {
    max-width: 520px;
    margin: 0 auto;
    padding: 34px;
    background: #ffffff;
    border: 1px solid #dfe3e1;
    border-radius: 14px;
}

    .password-card h1 {
        margin-bottom: 10px;
        font-size: 1.8rem;
        font-weight: 700;
    }

.password-intro {
    margin-bottom: 28px;
    color: #6c757d;
}

.password-back {
    margin-top: 20px;
    text-align: center;
}

.pricing-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.pricing-card {
    padding: 36px;
    background: #ffffff;
    border: 1px solid #dfe3e1;
    border-radius: 14px;
}

    .pricing-card h2 {
        margin-bottom: 8px;
        font-size: 1.6rem;
        font-weight: 700;
    }

.pricing-intro {
    margin-bottom: 26px;
    color: #6c757d;
}

.pricing-price {
    margin-bottom: 6px;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: -0.035em;
}

.pricing-price-info {
    margin-bottom: 28px;
    color: #6c757d;
}

.pricing-list {
    margin: 0 0 30px 0;
    padding: 0;
    list-style: none;
}

    .pricing-list li {
        position: relative;
        padding: 11px 0 11px 30px;
        border-bottom: 1px solid #edf0ee;
    }

        .pricing-list li::before {
            content: "✓";
            position: absolute;
            left: 4px;
            top: 11px;
            font-weight: 700;
            color: #343a40;
        }

.pricing-notice {
    margin-top: 24px;
    padding: 22px 24px;
    background: #f8f9fa;
    border-radius: 10px;
    color: #596168;
}

    .pricing-notice a {
        font-weight: 600;
        color: #212529;
    }

.public-faq {
    max-width: 680px;
    margin: 55px auto 0 auto;
}

    .public-faq h2 {
        margin-bottom: 25px;
        font-size: 1.6rem;
        font-weight: 700;
    }

.faq-item {
    padding: 22px 0;
    border-bottom: 1px solid #dee2e6;
}

    .faq-item:first-of-type {
        border-top: 1px solid #dee2e6;
    }

    .faq-item h3 {
        margin-bottom: 7px;
        font-size: 1.05rem;
        font-weight: 700;
    }

    .faq-item p {
        margin-bottom: 0;
        color: #6c757d;
    }

.process-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.process-item {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 20px;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e1e5e3;
    border-radius: 12px;
}

.process-number {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f1f3f2;
    font-weight: 700;
    color: #343a40;
}

.process-item h2 {
    margin-top: 2px;
    margin-bottom: 8px;
    font-size: 1.15rem;
    font-weight: 700;
}

.process-item p {
    margin-bottom: 0;
    color: #6c757d;
}

.public-notice {
    margin-top: 28px;
    padding: 22px 24px;
    background: #f8f9fa;
    border-left: 4px solid #495057;
    border-radius: 8px;
    color: #4f575e;
}

.customer-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.customer-card {
    height: 100%;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #dfe3e1;
    border-radius: 14px;
}

    .customer-card h2 {
        margin-bottom: 12px;
        font-size: 1.4rem;
        font-weight: 700;
    }

    .customer-card p {
        color: #6c757d;
    }

.customer-info {
    padding: 24px;
    background: #f8f9fa;
    border-radius: 10px;
}

    .customer-info h3 {
        margin-bottom: 10px;
        font-size: 1.05rem;
        font-weight: 700;
    }

    .customer-info p {
        margin-bottom: 0;
        color: #6c757d;
    }

.customer-steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.customer-step {
    margin-bottom: 20px;
}

    .customer-step:last-child {
        margin-bottom: 0;
    }

    .customer-step strong {
        display: block;
        margin-bottom: 3px;
        color: #212529;
    }

    .customer-step span {
        display: block;
        color: #6c757d;
        line-height: 1.55;
    }


/* =====================================================
   LANDNINGSSIDA
   ===================================================== */

.hero-image-col {
    transform: translate(-50px, 15px);
}

.hero-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.home-hero-background {
    width: 100%;
    background-color: #ffffff;
    padding-bottom: 40px;
}

.home-hero {
    position: relative;
    min-height: 600px;
    background-image: url("/Media/Hero.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    border-radius: 0px;
    padding: 3.5rem 0 4.5rem;
    height: 300px;
}

.home-hero-inner {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
    align-items: center;
    gap: 4rem;
}

.home-hero-card {
    width: 100%;
    max-width: 780px;
    padding: 36px 40px;
    background: rgba(255, 255, 255, 0.80);
    border-radius: 12px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);
    margin-left: 0px;
    margin-bottom: 165px;
}

.home-hero-eyebrow {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.home-hero-card h1 {
    font-size: 2.4rem;
    line-height: 1.1;
    margin-bottom: 18px;
}

.home-hero-card p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 24px;
    max-width: 440px;
}

.home-hero-actions {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.landing-v2 .home-hero {
    padding: 3.5rem 0 4.5rem;
    min-height: 1024px;
}

.landing-v2 .home-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
    align-items: center;
    gap: 4rem;
    min-height: 1024px;
}

.landing-v2 .home-hero h1 {
    font-size: clamp(2.7rem, 5vw, 4.6rem);
}

.home-page {
    color: #212529;
}

.home-hero-eyebrow,
.home-kicker {
    display: block;
    margin-bottom: 0.8rem;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6c757d;
}

.home-hero h1 {
    margin: 0 0 1.4rem;
    font-size: clamp(2.7rem, 5vw, 4.6rem);
    line-height: 1.04;
    font-weight: 700;
    letter-spacing: -0.035em;
}

.home-hero-lead {
    max-width: 650px;
    margin-bottom: 1.8rem;
    font-size: 1.3rem;
    line-height: 1.65;
    color: #495057;
}

.home-hero-note {
    margin-top: 1.3rem;
    max-width: 570px;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #6c757d;
}

.home-hero-image img {
    display: block;
    width: 100%;
    height: auto;
}

.home-section {
    padding: 6rem 0;
}

.home-section-light {
    background: #f8f9fa;
}

.home-section-heading {
    max-width: 800px;
    margin-bottom: 3.5rem;
}

    .home-section-heading h2,
    .home-two-column h2,
    .home-trial h2,
    .home-final-cta h2 {
        margin: 0 0 1.2rem;
        font-size: clamp(2rem, 3.5vw, 3rem);
        line-height: 1.15;
        font-weight: 700;
        letter-spacing: -0.025em;
    }

    .home-section-heading p,
    .home-two-column p,
    .home-trial-content p,
    .home-final-cta p {
        font-size: 1.15rem;
        line-height: 1.7;
        color: #495057;
    }

.home-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.home-feature-card {
    padding: 2rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}

.home-feature-number {
    margin-bottom: 1.2rem;
    font-size: 1.85rem;
    font-weight: 700;
    color: #6c757d;
}

.home-feature-card h3 {
    margin-bottom: 0.8rem;
    font-size: 1.35rem;
    font-weight: 700;
}

.home-feature-card p {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.65;
    color: #495057;
}

.home-how {
    background: #ffffff;
}

.home-steps {
    max-width: 850px;
}

.home-step {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 1.4rem;
    padding: 1.6rem 0;
    border-bottom: 1px solid #e5e7eb;
}

    .home-step:first-child {
        border-top: 1px solid #e5e7eb;
    }

.home-step-marker {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ced4da;
    border-radius: 50%;
    font-size: 1.3rem;
    font-weight: 700;
}

.home-step h3 {
    margin: 0 0 0.4rem;
    font-size: 1.3rem;
    font-weight: 700;
}

.home-step p {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.65;
    color: #495057;
}

.home-trial {
    background: #f1f3f5;
}

.home-trial-box {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 4rem;
    align-items: center;
}

.home-trial-content {
    max-width: 700px;
}

.home-trial-offer {
    padding: 2.2rem;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 16px;
}

.home-trial-offer-title {
    margin-bottom: 1.3rem;
    font-size: 1.35rem;
    font-weight: 700;
}

.home-trial-offer ul {
    margin: 0 0 1.8rem;
    padding-left: 1.3rem;
}

.home-trial-offer li {
    margin-bottom: 0.7rem;
    font-size: 1.05rem;
    line-height: 1.5;
}

.home-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    gap: 5rem;
    align-items: center;
}

.home-check-list {
    display: grid;
    gap: 1rem;
}

    .home-check-list > div {
        padding: 1.25rem 1.4rem;
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 10px;
    }

    .home-check-list strong,
    .home-check-list span {
        display: block;
    }

    .home-check-list strong {
        margin-bottom: 0.3rem;
        font-size: 1.1rem;
    }

    .home-check-list span {
        color: #6c757d;
        line-height: 1.5;
    }

.home-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.home-audience-item {
    padding: 1.4rem 1.5rem;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    font-size: 1.05rem;
    font-weight: 600;
}

.home-final-cta {
    padding: 5rem 0;
    background: #f8f9fa;
    border-top: 1px solid #e5e7eb;
}

.home-final-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}

    .home-final-cta-inner > div:first-child {
        max-width: 720px;
    }

.home-final-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    min-width: 210px;
}

.home-text-link {
    color: #495057;
    font-weight: 600;
    text-decoration: none;
}

    .home-text-link:hover {
        color: #212529;
        text-decoration: underline;
    }


/* =====================================================
   RESPONSIVT - PUBLIC
   ===================================================== */

/* Mellanstora skärmar: ge PUBLIC en konsekvent sidmarginal utan
   att ändra den gemensamma .kk-container i Common.css. */
@media (max-width: 1199.98px) {

    .public-navbar > .kk-container,
    .public-main .kk-container {
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }
}

/* Navbar + startsidans grid bryts vid samma breakpoint som Bootstrap navbar. */
@media (max-width: 991.98px) {

    .public-navbar .navbar-brand {
        font-size: 2.4rem;
        margin-right: 1rem;
    }

    .public-navbar .navbar-nav {
        padding-top: 12px;
        padding-bottom: 8px;
    }

        .public-navbar .navbar-nav .nav-item {
            display: block;
        }

            .public-navbar .navbar-nav .nav-item:not(:last-child)::after {
                display: none;
            }

    .public-navbar .nav-link {
        padding: 0.55rem 0;
    }

    /* Viktigt: .landing-v2-reglerna ovan har högre specificitet än
       de gamla generella mobilreglerna. Därför skrivs de över explicit. */
    .landing-v2 .home-hero {
        min-height: auto;
        height: auto;
        padding: 3rem 0;
    }

    .landing-v2 .home-hero-inner {
        display: block;
        min-height: auto;
    }

    .home-hero-card {
        max-width: 680px;
        margin-bottom: 0;
    }

    .home-hero-image {
        display: none;
    }

    .home-trial-box,
    .home-two-column {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .home-feature-grid,
    .home-audience-grid {
        grid-template-columns: 1fr;
    }

    .home-final-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .home-final-actions {
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {

    .public-navbar > .kk-container,
    .public-main .kk-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .public-navbar .navbar-brand {
        font-size: 2rem;
        line-height: 1.1;
        margin-right: 0.75rem;
    }

    .public-navbar .navbar-toggler {
        padding: 0.35rem 0.55rem;
    }

    .public-hero {
        padding: 40px 0;
    }

        .public-hero h1 {
            font-size: 2.25rem;
        }

        .public-hero .lead {
            font-size: 1.05rem;
        }

    .public-section {
        padding: 20px 0;
    }

    .public-page-hero {
        padding: 20px 0 24px;
    }

        .public-page-hero h1 {
            font-size: 2rem;
            line-height: 1.15;
            overflow-wrap: anywhere;
        }

        .public-page-hero p {
            font-size: 1rem;
            line-height: 1.6;
        }

    .public-eyebrow {
        font-size: 0.95rem;
    }

    .contact-card,
    .login-card,
    .customer-card {
        padding: 24px;
    }

    .password-page {
        padding: 45px 0;
    }

    .password-card,
    .pricing-card {
        padding: 26px 22px;
    }

    .pricing-price {
        font-size: 2.1rem;
    }

    .process-item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
        padding: 20px;
    }

    .process-number {
        width: 38px;
        height: 38px;
    }

    .faq-hero {
        padding: 32px 0 28px;
    }

        .faq-hero p {
            font-size: 1.05rem;
        }

    .faq-content {
        padding: 3rem 0 4rem;
    }

    .faq-section {
        margin-bottom: 3rem;
    }
}

@media (max-width: 575.98px) {

    .landing-v2 .home-hero {
        padding: 24px 0;
        background-position: center center;
    }

    .home-hero-card {
        width: 100%;
        max-width: none;
        padding: 24px 20px;
        border-radius: 10px;
    }

    .landing-v2 .home-hero h1,
    .home-hero h1 {
        font-size: 2.25rem;
        line-height: 1.08;
    }

    .home-hero-lead {
        font-size: 1.05rem;
        line-height: 1.55;
    }

    .home-hero-actions {
        gap: 1rem;
    }

    .home-section {
        padding: 3.5rem 0;
    }

    .home-section-heading {
        margin-bottom: 2.5rem;
    }

    .home-step {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 1rem;
    }

    .home-step-marker {
        width: 40px;
        height: 40px;
    }

    .home-feature-card,
    .home-trial-offer {
        padding: 1.5rem;
    }

    .home-final-cta {
        padding: 3.5rem 0;
    }

    .public-cta {
        padding: 26px 22px;
    }
}


/* =========================================================
   FAQ
   ========================================================= */

.faq-hero {
    background: #f3f4f6;
    border-bottom: 1px solid #dee2e6;
    border-top: 1px solid #dee2e6;
    padding: 45px 0 35px 0;
}

.faq-hero-inner {
    max-width: 850px;
}

.faq-eyebrow {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #6c757d;
    margin-bottom: 0.75rem;
}

.faq-hero h1 {
    margin: 0 0 1rem 0;
}

.faq-hero p {
    max-width: 750px;
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.6;
    color: #495057;
}

.faq-content {
    padding: 4rem 0 6rem 0;
}

.faq-section {
    max-width: 1024px;
    margin-bottom: 4rem;
}

    .faq-section h2 {
        margin-bottom: 1.5rem;
    }


/* FAQ ACCORDION */

.faq-content .accordion-item {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
}

.faq-content .accordion-button {
    font-size: 1.1rem;
    font-weight: 600;
    padding: 1.25rem 0;
    background: #ffffff;
    box-shadow: none;
}

    .faq-content .accordion-button:not(.collapsed) {
        color: inherit;
        background: #ffffff;
        box-shadow: none;
    }

.faq-content .accordion-body {
    padding: 0 0 1.5rem 0;
    max-width: 1024px;
    line-height: 1.7;
    color: #495057;
}




/* =========================================================
   LANSERING
   ========================================================= */

.launch-page {
    min-height: 100vh;
    color: #212529;
    background: #ffffff;
}


/* HEADER */

.launch-header {
    background: #ffffff;
    padding: 18px 0;
}

.launch-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.5rem;
    font-weight: 700;
}

.launch-logo {
    display: block;
    width: 44px;
    height: 44px;
    object-fit: contain;
}


/* HERO */

.launch-hero {
    position: relative;
    min-height: 720px;
    background-image: url("/Media/Hero.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    padding: 4rem 0;
}

.launch-hero-inner {
    width: 100%;
}

.launch-hero-card {
    width: 90%;
    max-width: 600px;
    padding: 38px 42px;
    background: rgba(255, 255, 255, 0.88);
    border-radius: 12px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);
}

    .launch-hero-card h1 {
        margin: 0 0 1.2rem;
        font-size: clamp(2.0rem, 5vw, 3.0rem);
        line-height: 1.04;
        font-weight: 700;
        letter-spacing: -0.035em;
    }

.launch-lead {
    max-width: 590px;
    margin-bottom: 1.8rem;
    font-size: 1.15rem;
    line-height: 1.65;
    color: #495057;
}


/* ERBJUDANDE */

.launch-offer {
    margin: 1.8rem 0;
    padding: 1.4rem 0;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.launch-offer-label {
    margin-bottom: 4px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #6c757d;
}

.launch-price {
    font-size: 1.7rem;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.035em;
}

    .launch-price span {
        margin-left: 4px;
        font-size: 1rem;
        font-weight: 500;
        color: #6c757d;
    }

.launch-price-info {
    margin-top: 5px;
    font-size: 0.95rem;
    color: #495057;
}


/* FORMULÄR */

.launch-signup {
    margin-top: 1.7rem;
}

    .launch-signup h2 {
        margin-bottom: 5px;
        font-size: 1.35rem;
        font-weight: 700;
    }

    .launch-signup > p {
        margin-bottom: 15px;
        color: #495057;
    }

.launch-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

    .launch-form-row .form-control {
        min-height: 48px;
    }

    .launch-form-row .btn {
        white-space: nowrap;
    }

.launch-form-note {
    margin-top: 10px;
    max-width: 600px;
    font-size: 0.8rem;
    line-height: 1.5;
    color: #6c757d;
}

.launch-validation {
    display: block;
    margin-top: 8px;
    font-size: 0.875rem;
    color: #b02a37;
}

.launch-thanks {
    margin-top: 15px;
    padding: 16px 18px;
    background: #f1f3f5;
    border-radius: 8px;
}

    .launch-thanks strong,
    .launch-thanks div {
        display: block;
    }


/* INNEHÅLL */

.launch-how {
    background: #ffffff;
}


/* FOOTER */

.launch-footer {
    padding: 25px 0;
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
    color: #6c757d;
    font-size: 0.85rem;
}


/* RESPONSIVT */

@media (max-width: 767.98px) {

    .launch-header {
        padding: 14px 0;
    }

    .launch-logo {
        width: 38px;
        height: 38px;
    }

    .launch-hero {
        min-height: auto;
        padding: 3rem 0;
    }

    .launch-hero-card {
        padding: 28px 24px;
    }

    .launch-form-row {
        grid-template-columns: 1fr;
    }

        .launch-form-row .btn {
            width: 100%;
        }
}


/* =========================================================
   LANSERING - KUNDRESAN
   ========================================================= */

.launch-journey {
    background: #f8f9fa;
}

.launch-journey-list {
    position: relative;
    max-width: 900px;
}


    /* Lodrät linje */

    .launch-journey-list::before {
        content: "";
        position: absolute;
        left: 25px;
        top: 26px;
        bottom: 26px;
        width: 1px;
        background: #ced4da;
    }


/* STEG */

.launch-journey-item {
    position: relative;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 24px;
    padding-bottom: 36px;
}


/* NUMMER */

.launch-journey-number {
    position: relative;
    z-index: 1;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #adb5bd;
    border-radius: 50%;
    font-size: 1.1rem;
    font-weight: 700;
    color: #212529;
}


/* TEXT */

.launch-journey-content {
    padding-top: 4px;
}

    .launch-journey-content h3 {
        margin: 0 0 7px;
        font-size: 1.25rem;
        font-weight: 700;
    }

    .launch-journey-content p {
        max-width: 720px;
        margin: 0;
        font-size: 1.05rem;
        line-height: 1.65;
        color: #495057;
    }


/* SISTA STEGET */

.launch-journey-item-last {
    padding-bottom: 0;
}


/* MOBIL */

@media (max-width: 575px) {

    .launch-journey-list::before {
        left: 20px;
    }

    .launch-journey-item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 18px;
        padding-bottom: 30px;
    }

    .launch-journey-number {
        width: 42px;
        height: 42px;
    }
}
