/* ============================================================================
   marketing.css — the public marketing site (LandingLayout and its pages).
   Every rule is scoped under .marketing-site (the LandingLayout root), so
   nothing here can leak into the admin app. Shared foundations (fonts, brand
   tokens, error UI) live in css/tokens.css.
   ========================================================================= */

/* Marketing theme: Bootstrap's documented CSS-variable override mechanism. The royal blue is
   sampled from the logo's shield (#002a9b, hover/active follow its gradient toward #001c62);
   the deep navy backdrop of the logo is the shared --ds-navy. No components or utilities are
   redefined. */
.marketing-site {
    --bs-primary: #002a9b;
    --bs-primary-rgb: 0, 42, 155;
    --bs-primary-bg-subtle: #e9eefb;
    --bs-link-color-rgb: 0, 42, 155;
    --bs-link-hover-color-rgb: 0, 34, 125;
}

.marketing-site .btn-primary {
    --bs-btn-bg: #002a9b;
    --bs-btn-border-color: #002a9b;
    --bs-btn-hover-bg: #00227d;
    --bs-btn-hover-border-color: #00227d;
    --bs-btn-active-bg: #001c62;
    --bs-btn-active-border-color: #001c62;
    --bs-btn-disabled-bg: #002a9b;
    --bs-btn-disabled-border-color: #002a9b;
}

/* The dark-blue band in the logo's style (the home hero, the showcase planner and the employee
   onboarding wizard): the brand gradient from deep navy to the shield's royal blue. */
.marketing-site .navy-band {
    background: linear-gradient(160deg, #041644 0%, #002a9b 100%);
}

/* Accent text on navy surfaces: the lighter brand blue (tokens.css: --ds-blue-light). */
.marketing-site .text-blue-light {
    color: var(--ds-blue-light);
}

/* Marketing section titles (e.g. "Core features"): Urbanist at 36px per design.
   36px is not on Bootstrap's font-size scale, hence this dedicated class. The brand navy
   (the admin app's heading blue); titles ON a navy surface add .text-white, which wins. */
.marketing-site .section-title {
    font-family: var(--ds-font-display);
    font-size: 2.25rem;
    color: var(--ds-navy);
}

/* The home hero's headline follows the same navy. */
.marketing-site .display-5 {
    color: var(--ds-navy);
}

/* The Showcase planner's month calendar (ShowcaseBookingForm.razor): a weekday-only (Mon–Fri)
   grid of circular day cells — bookable days tinted, the selected day filled with the brand
   primary. Weekends are never bookable, so their columns simply don't exist. */
.marketing-site .sc-cal-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.25rem;
    justify-items: center;
}

.marketing-site .sc-day {
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--bs-secondary-color);
    font-weight: 600;
}

    .marketing-site .sc-day.bookable {
        background-color: var(--bs-primary-bg-subtle);
        color: var(--bs-primary);
        cursor: pointer;
    }

        .marketing-site .sc-day.bookable:hover {
            background-color: rgba(0, 42, 155, 0.18);
        }

    .marketing-site .sc-day.selected {
        background-color: var(--bs-primary);
        color: #fff;
    }

/* The Showcase wizard's quiz questions (ShowcaseBookingForm.razor), straight on the section's
   navy: a white speech-bubble title, lettered white pill options hanging off a dotted rail. */
.marketing-site .sc-quiz-title {
    display: block;
    background-color: #fff;
    color: #041644;
    font-family: var(--ds-font-display);
    font-size: 1.35rem;
    font-weight: 700;
    text-align: center;
    border-radius: 2rem;
    padding: 1.1rem 2rem;
}

.marketing-site .sc-quiz-options {
    position: relative;
    padding: 1.25rem 0 0.25rem;
}

.marketing-site .sc-quiz-rail {
    position: absolute;
    left: calc(0.85rem - 1.5px);
    top: 0;
    bottom: 1.125rem;
    width: 3px;
    background-color: rgba(255, 255, 255, 0.85);
}

.marketing-site .sc-quiz-row {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1.125rem;
    position: relative;
}

.marketing-site .sc-quiz-dot {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    background-color: #fff;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .marketing-site .sc-quiz-dot > span {
        width: 0.75rem;
        height: 0.75rem;
        border-radius: 50%;
        display: inline-block;
    }

.marketing-site .sc-quiz-option {
    flex: 1;
    display: flex;
    align-items: center;
    background-color: #fff;
    color: #123c78;
    font-weight: 600;
    font-size: 0.95rem;
    border: 2px solid transparent;
    border-radius: 50rem;
    padding: 0;
    overflow: hidden;
    /* flex: 1 fills to the row's end — flush with the bubble AND the journey bar above. */
    min-height: 3.2rem;
}

    .marketing-site .sc-quiz-option .sc-quiz-letter {
        align-self: stretch;
        width: 3.375rem;
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 1.125rem;
    }

    .marketing-site .sc-quiz-option.selected {
        border-color: #0f5132;
        background-color: #e2f3e9;
        color: #0f5132;
    }

/* The wizard's Continue: a soft white-to-periwinkle gradient pill lifting on hover. */
.marketing-site .sc-quiz-continue {
    background: linear-gradient(135deg, #ffffff 0%, #c7d3ff 100%);
    color: #041644;
    font-weight: 700;
    border: 0;
    border-radius: 50rem;
    padding: 0.75rem 2.5rem;
    box-shadow: 0 0.5rem 1.25rem rgba(4, 22, 68, 0.35);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

    .marketing-site .sc-quiz-continue:hover:not(:disabled) {
        color: #041644;
        transform: translateY(-2px);
        box-shadow: 0 0.75rem 1.5rem rgba(4, 22, 68, 0.45);
    }

    .marketing-site .sc-quiz-continue:disabled {
        opacity: 0.5;
        box-shadow: none;
    }

/* The Showcase page's feature cards (Showcase.razor): a rounded-square gradient icon tile
   with a numbered dot pinned to its top-right corner — one tint per pillar. */
.marketing-site .sc-feat-icon {
    position: relative;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.75rem;
    --sc-feat-color: #5b7cfa;
    background: linear-gradient(160deg, color-mix(in srgb, var(--sc-feat-color), #fff 25%) 0%, var(--sc-feat-color) 100%);
    box-shadow: 0 0.625rem 1rem color-mix(in srgb, var(--sc-feat-color), transparent 65%);
}

    .marketing-site .sc-feat-icon.blue {
        --sc-feat-color: #5b7cfa;
    }

    .marketing-site .sc-feat-icon.coral {
        --sc-feat-color: #dd6b55;
    }

    .marketing-site .sc-feat-icon.green {
        --sc-feat-color: #57b866;
    }

    .marketing-site .sc-feat-icon.purple {
        --sc-feat-color: #a163ea;
    }

.marketing-site .sc-feat-num {
    position: absolute;
    top: -0.45rem;
    right: -0.45rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: var(--sc-feat-color);
    border: 2px solid #fff;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* The wizard's interest chips (ShowcaseBookingForm.razor): the selected-option green, as pills
   — on the Confirm card and the booked confirmation alike. */
.marketing-site .sc-chip {
    background-color: #e2f3e9;
    color: #0f5132;
}

/* The booked confirmation (ShowcaseBookingForm.razor), straight on the navy: white detail
   values under soft-white labels. */
.marketing-site .sc-confirm-label {
    color: rgba(255, 255, 255, 0.75);
}

.marketing-site .sc-confirm-value {
    color: #fff;
}

/* The wizard's journey bar (ShowcaseBookingForm.razor) — the Opportunity stepper grammar on
   navy: done stations filled white, the current one ringed, future ones ghosted. */
.marketing-site .sc-steps {
    display: flex;
}

.marketing-site .sc-step {
    flex: 1 1 0;
    position: relative;
    text-align: center;
    min-width: 0;
}

.marketing-site .sc-step-line {
    position: absolute;
    top: 1.05rem;
    height: 2px;
    background-color: rgba(255, 255, 255, 0.25);
}

    .marketing-site .sc-step-line.start {
        left: 0;
        right: 50%;
        margin-right: 1.45rem;
    }

    .marketing-site .sc-step-line.end {
        left: 50%;
        right: 0;
        margin-left: 1.45rem;
    }

    .marketing-site .sc-step-line.reached {
        background-color: #fff;
    }

.marketing-site .sc-step-dot {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    font-size: 0.95rem;
}

    .marketing-site .sc-step-dot.done {
        background-color: #fff;
        color: #041644;
    }

    .marketing-site .sc-step-dot.current {
        border: 2px solid #fff;
        color: #fff;
    }

    .marketing-site .sc-step-dot.ghost {
        border: 2px solid rgba(255, 255, 255, 0.3);
        color: rgba(255, 255, 255, 0.5);
    }

.marketing-site .sc-step-label {
    margin-top: 0.375rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
