/* /Components/CountryPicker.razor.rz.scp.css */
.country-picker[b-rttrehjxbj] {
    position: relative;
}

.picker-toggle[b-rttrehjxbj] {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: calc(1.5em + .75rem + 2px);
    text-align: left;
    background-color: var(--tm-surface);
}

    .picker-toggle img[b-rttrehjxbj] {
        flex: none;
        margin: -.25rem 0;
    }

.picker-label[b-rttrehjxbj] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.placeholder-text[b-rttrehjxbj] {
    color: var(--tm-muted);
}

.flag-placeholder[b-rttrehjxbj] {
    flex: none;
    width: 1.25rem;
    height: .9rem;
    margin: 0 .1rem;
    border: 1.5px dashed var(--tm-calendar-muted);
    border-radius: 3px;
}

/* Invisible layer that closes the panel when anything outside it is clicked. */
.picker-backdrop[b-rttrehjxbj] {
    position: fixed;
    inset: 0;
    z-index: 10;
}

.picker-panel[b-rttrehjxbj] {
    position: absolute;
    top: calc(100% + .35rem);
    left: 0;
    z-index: 11;
    width: max(100%, 18rem);
    max-width: calc(100vw - 2rem);
    padding: .5rem;
    background: var(--tm-surface);
    border: 1px solid var(--tm-border);
    border-radius: .9rem;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .14), 0 2px 6px rgba(0, 0, 0, .06);
}

.picker-search[b-rttrehjxbj] {
    margin-bottom: .4rem;
}

.picker-list[b-rttrehjxbj] {
    position: relative; /* offsetParent for scrollOptionIntoView */
    max-height: 17rem;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto;
    overscroll-behavior: contain;
}

    .picker-list li[b-rttrehjxbj] {
        display: flex;
        align-items: center;
        gap: .6rem;
        padding: .35rem .5rem;
        border-radius: .5rem;
        cursor: pointer;
    }

        .picker-list li:hover[b-rttrehjxbj] {
            background: var(--tm-hover);
        }

        .picker-list li.active[b-rttrehjxbj] {
            background: var(--tm-selection-soft);
        }

        .picker-list li.current[b-rttrehjxbj] {
            font-weight: 600;
        }

            .picker-list li.current[b-rttrehjxbj]::after {
                content: "✓";
                margin-left: auto;
                color: var(--tm-selection);
            }

.no-results[b-rttrehjxbj] {
    margin: .5rem;
    color: var(--tm-muted);
    font-size: .875rem;
}
/* /Components/YearCalendar.razor.rz.scp.css */
.year-calendar[b-dsflztrun6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 1.75rem 2rem;
}

.month-name[b-dsflztrun6] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tm-accent);
    margin: 0 0 .4rem .35rem;
}

.month-grid[b-dsflztrun6] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    row-gap: 2px;
}

.weekday[b-dsflztrun6] {
    text-align: center;
    font-size: .7rem;
    font-weight: 600;
    color: var(--tm-calendar-muted);
    padding-bottom: .25rem;
}

.day[b-dsflztrun6] {
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: .6rem;
    background: transparent;
    color: var(--tm-text);
    font-size: .85rem;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}

    .day:hover[b-dsflztrun6] {
        background: var(--tm-hover);
    }

    .day:focus-visible[b-dsflztrun6] {
        outline: 2px solid var(--tm-selection);
        outline-offset: -2px;
    }

    .day.weekend[b-dsflztrun6] {
        color: var(--tm-calendar-muted);
    }

    .day.today[b-dsflztrun6] {
        color: var(--tm-accent);
        font-weight: 700;
    }

    .day.selected[b-dsflztrun6] {
        background: var(--tm-selection-soft);
        border-radius: 0;
    }

    .day.range-start[b-dsflztrun6] {
        border-top-left-radius: .6rem;
        border-bottom-left-radius: .6rem;
    }

    .day.range-end[b-dsflztrun6] {
        border-top-right-radius: .6rem;
        border-bottom-right-radius: .6rem;
    }

    .day.range-start[b-dsflztrun6], .day.range-end[b-dsflztrun6] {
        box-shadow: inset 0 0 0 2px var(--tm-selection);
        color: var(--tm-selection);
        font-weight: 700;
    }

.flags[b-dsflztrun6] {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

    .flags img[b-dsflztrun6] {
        position: absolute;
        pointer-events: none;
    }

.flags-1 img[b-dsflztrun6] {
    inset: 6%;
    width: 88%;
    height: 88%;
}

/* Two countries on one day (a travel day): stacked diagonally, like the generated image. */
.flags-2 img[b-dsflztrun6] {
    width: 66%;
    height: 66%;
}

    .flags-2 img:first-child[b-dsflztrun6] {
        top: 3%;
        left: 3%;
    }

    .flags-2 img:last-child[b-dsflztrun6] {
        right: 3%;
        bottom: 3%;
    }

.flags-3 img[b-dsflztrun6] {
    width: 48%;
    height: 48%;
}

    .flags-3 img:nth-child(1)[b-dsflztrun6] { top: 2%; left: 2%; }
    .flags-3 img:nth-child(2)[b-dsflztrun6] { top: 2%; right: 2%; }
    .flags-3 img:nth-child(3)[b-dsflztrun6] { bottom: 2%; left: 2%; }
    .flags-3 img:nth-child(4)[b-dsflztrun6] { bottom: 2%; right: 2%; }
/* /Layout/MainLayout.razor.rz.scp.css */
.app-header[b-h9mbbasc7l] {
    background: rgba(255, 255, 255, .85);
    border-bottom: 1px solid var(--tm-border);
    backdrop-filter: saturate(180%) blur(12px);
}

    .app-header .container-xxl[b-h9mbbasc7l] {
        display: flex;
        align-items: center;
        height: 3.5rem;
    }

.brand[b-h9mbbasc7l] {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--tm-text);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-decoration: none;
}

    .brand:hover[b-h9mbbasc7l] {
        color: var(--tm-text);
    }
/* /Pages/Home.razor.rz.scp.css */
.intro[b-nuxgtsdcjs] {
    margin-bottom: 1.75rem;
}

    .intro h1[b-nuxgtsdcjs] {
        font-size: clamp(1.75rem, 3.2vw, 2.6rem);
        font-weight: 800;
        letter-spacing: -0.025em;
        margin-bottom: .4rem;
    }

    .intro .lead[b-nuxgtsdcjs] {
        max-width: 44rem;
        margin: 0;
        color: var(--tm-muted);
        font-size: 1.05rem;
    }

/* ---- Calendar card and its toolbar ---- */

.calendar-card[b-nuxgtsdcjs] {
    overflow: clip; /* rounds the sticky toolbar's corners without breaking position: sticky */
}

.calendar-toolbar[b-nuxgtsdcjs] {
    margin: -1.5rem -1.5rem 1.5rem;
    padding: 1.25rem 1.5rem 1rem;
    background: var(--tm-surface);
    border-bottom: 1px solid var(--tm-border);
}

@media (min-width: 992px) {
    .calendar-toolbar[b-nuxgtsdcjs] {
        position: sticky;
        top: 0;
        z-index: 2;
    }
}

.toolbar-row[b-nuxgtsdcjs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1rem;
}

.year-stepper[b-nuxgtsdcjs] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

    .year-stepper .btn[b-nuxgtsdcjs] {
        width: 2.25rem;
        height: 2.25rem;
        padding: 0;
        border-radius: 50%;
        font-size: 1.35rem;
        line-height: 1;
    }

    .year-stepper .year[b-nuxgtsdcjs] {
        min-width: 4.5ch;
        margin: 0;
        text-align: center;
        font-size: 1.9rem;
        font-weight: 800;
        letter-spacing: -0.02em;
        color: var(--tm-accent);
        font-variant-numeric: tabular-nums;
    }

.week-start[b-nuxgtsdcjs] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    color: var(--tm-muted);
}

    .week-start .form-select[b-nuxgtsdcjs] {
        width: auto;
    }

.trip-form[b-nuxgtsdcjs] {
    padding: .9rem 1rem .6rem;
    border-radius: 1rem;
    background: var(--tm-bg);
}

    .trip-form .form-label[b-nuxgtsdcjs] {
        margin-bottom: .25rem;
        font-size: .8rem;
        font-weight: 600;
        color: var(--tm-muted);
    }

.hint[b-nuxgtsdcjs], .form-error[b-nuxgtsdcjs] {
    margin: .55rem 0 0;
    font-size: .85rem;
}

.hint[b-nuxgtsdcjs] {
    color: var(--tm-muted);
}

.form-error[b-nuxgtsdcjs] {
    color: #c9302c;
    font-weight: 500;
}

/* ---- Sidebar ---- */

.sidebar[b-nuxgtsdcjs] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

@media (min-width: 992px) and (min-height: 700px) {
    .sidebar[b-nuxgtsdcjs] {
        position: sticky;
        top: 1.5rem;
    }
}

.empty[b-nuxgtsdcjs] {
    margin: 0;
    color: var(--tm-muted);
    font-size: .9rem;
}

.trip-list[b-nuxgtsdcjs] {
    list-style: none;
    margin: 0 -.5rem;
    padding: 0;
    max-height: min(22rem, 40vh);
    overflow-y: auto;
}

    .trip-list li[b-nuxgtsdcjs] {
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .45rem .5rem;
        border-radius: .75rem;
    }

        .trip-list li:hover[b-nuxgtsdcjs] {
            background: var(--tm-bg);
        }

.trip-text[b-nuxgtsdcjs] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    line-height: 1.25;
}

.trip-country[b-nuxgtsdcjs] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trip-dates[b-nuxgtsdcjs] {
    font-size: .825rem;
    color: var(--tm-muted);
}

.trip-list .btn-close[b-nuxgtsdcjs] {
    flex: none;
    font-size: .7rem;
}

.optional[b-nuxgtsdcjs] {
    font-weight: 400;
    color: var(--tm-muted);
}

.card-hint[b-nuxgtsdcjs] {
    margin: -.5rem 0 1rem;
    color: var(--tm-muted);
    font-size: .875rem;
}
