:root{
    background-color: var(--color-surface-200);
    --header-height: var(--space-scale-7-5);
    --footer-height: var(--space-scale-4);
    --tab-panel-height :17.75rem
}

body {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

main {
    padding: var(--space-scale-4);
    max-width: 1200px;
    margin-inline: auto;
    width: 100%;
    flex: 1;
}

h1 {
    margin-bottom: var(--space-scale-3);
}

a:not(.button){
    text-decoration: underline;
}

.stepper {
    color: var(--color-text-400);
}

.confirmation {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--color-surface-400);
    max-width: 900px;

    dt {
        background-color: var(--color-surface-300);
        padding: var(--space-scale-2);
    }

    dd {
        padding: var(--space-scale-1) var(--space-scale-2);
        margin-top: var(--space-scale-1);

        &:last-child {
            margin-left: var(--space-scale-2);
            margin-bottom: var(--space-scale-1);
            margin-top: 0;
        }
    }
}

.alert-text {
    color: var(--color-alert-300);
    display: flex;

    &.with-icon {
        height: var(--space-scale-3);
    }

    &:not(.visible) {
        display: none;
    }
}

.tag {
    background-color: var(--tag-background-color, transparent);
    border: 1px solid var(--tag-border-color, var(--color-text-400));
    color: var(--tag-text-color, var(--color-text-400));;
    padding: var(--space-scale-0-5) var(--space-scale-1);
    font-size: var(--text-size-small);
    text-transform: uppercase;
    border-radius: var(--border-radius);
    display: inline-block;
    line-height: 1;

    &[data-theme="success"] {
        --tag-background-color: var(--color-success-100);
        --tag-border-color: var(--color-success-100);
        --tag-text-color: var(--color-success-300);
    }

    &[data-theme="in-progress"] {
        --tag-background-color: var(--color-warning-100);
        --tag-border-color: var(--color-warning-100);
        --tag-text-color: var(--color-warning-400);
    }
}

.row {
    display: flex;
    flex-direction: row;
    gap: var(--space-scale-2);
    align-items: center;
    margin-top: var(--space-scale-2);
}
img{
    max-width: 100%;
    height: auto;
    max-height: 300px;

}
.grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax( var(--grid-min-size, 200px), 1fr));
    gap: var(--grid-spacing, var(--space-scale-2));
    &[data-cols="2"]{
        --grid-min-size: 45% ;
    }
}

strong{
    font-weight: var(--font-weight-bold);
}

.hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--space-scale-4) 0;
    gap: var(--space-scale-3);
    margin-bottom: var(--space-scale-3);
}

.hero h1 {
    font-size: 2rem;
    margin-bottom: 0;
}

.hero-subtitle {
    max-width: 40rem;
    margin-inline: auto;
    color: var(--color-text-400);
    font-size: 1.125rem;
    line-height: 1.6;
}

.home-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    gap: var(--space-scale-3);
}

.steps, .permissions {
    padding: 0;
}

.steps li, .permissions li {
    display: flex;
    align-items: baseline;
    gap: var(--space-scale-1);
}

.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: var(--color-primary-100);
    color: var(--color-primary-400);
    font-weight: var(--font-weight-semibold);
    font-size: 0.875rem;
    flex-shrink: 0;
}

.permissions .badge {
    flex-shrink: 0;
    font-size: 0.75rem;
    min-width: 5.5rem;
    text-align: center;
}

.data-notice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-scale-2);
    align-items: start;

    svg {
        color: var(--color-success-strong);
        margin-top: 0.2rem;
    }

    p {
        color: var(--color-text-400);
        font-size: 0.875rem;
        margin: 0;
    }
}

.hero .small {
    color: var(--color-text-400);
}

.privacy-link {
    margin-top: var(--space-scale-4);
    font-size: var(--text-size-small);
    color: var(--color-text-400);
    text-align: center;
}

footer {
    padding: var(--space-scale-2) var(--space-scale-4);
    text-align: center;
}


