:root {
    --sb-app-width: 440px;
    --sb-primary: #a95025;
    --sb-heading: #4f2f20;
    --sb-text: #623821;
    --sb-muted: #96725a;
    --sb-surface: #fffdf9;
    --sb-page-background: #fff9ef;
    --sb-border: #ead0ad;
    --sb-radius-sm: 10px;
    --sb-radius-md: 14px;
    --sb-radius-card: 19px;
}

/* Opt-in application foundations. Existing pages keep their current CSS until migrated. */
.sb-page {
    --sb-page-gutter: 14px;
    width: 100%;
    max-width: var(--sb-app-width);
    min-height: 100dvh;
    margin-inline: auto;
    padding: 18px var(--sb-page-gutter) 90px;
    background:
    radial-gradient(circle at 90% 0, rgba(191, 123, 50, 0.11), transparent 26%),
    #fffaf2;
    color: #4d2d1b;
}

.hero {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--sb-border);
    border-radius: 23px;
    background: var(--sb-surface);
}

.card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--sb-border);
    border-radius: var(--sb-radius-card);
    background: var(--sb-surface);
    box-shadow: 0 8px 22px rgba(91, 48, 23, 0.06);
}

.title {
    margin: 0;
    color: var(--sb-heading);
    font-family: "Noto Serif Devanagari", Georgia, serif;
    font-weight: 700;
    line-height: 1.3;
}

.text-muted {
    color: var(--sb-muted);
}

.text-center
{
    text-align: center;
}

.image {
    display: block;
    max-width: 100%;
    height: auto;
}

.image-full-bleed {
    width: calc(100% + var(--sb-page-gutter) * 2);
    max-width: none;
    margin-inline: calc(var(--sb-page-gutter) * -1);
}

.image-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rounded {
    overflow: hidden;
    border-radius: var(--sb-radius-card);
}

.circle {
    overflow: hidden;
    border-radius: 50%;
}

.cluster {
    display: flex;
    align-items: center;
    gap: 8px;
}

.grid {
    display: grid;
    gap: 8px;
}

.rail {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.rail::-webkit-scrollbar {
    display: none;
}

.icon-button {
    display: grid;
    place-items: center;
    width: 44px;
    aspect-ratio: 1;
    padding: 0;
    border-radius: 50%;
}

/* Shared full-width choices, with an optional primary action. */
.profile-label {
    width: fit-content;
    max-width: 100%;
    min-height: 44px;
    padding: 8px 13px;
    gap: 14px;
    border: 1px solid var(--sb-border);
    border-radius: var(--sb-radius-sm);
    background: var(--sb-surface);
    color: var(--sb-muted);
    font: inherit;
    font-size: 12px;
    line-height: 1.6;
    cursor: pointer;
}

.profile-label > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.profile-label > i {
    flex-shrink: 0;
    color: var(--sb-primary);
    font-size: 14px;
}

.profile-label:focus-visible {
    outline: 2px solid var(--sb-primary);
    outline-offset: 2px;
}

.action-list {
    overflow: hidden;
    border-radius: var(--sb-radius-md);
    background: var(--sb-surface);
}

.action-row {
    display: flex;
    width: 100%;
    min-width: 0;
    padding: 19px 16px;
    align-items: center;
    gap: 16px;
    border: 0;
    border-bottom: 1px solid var(--sb-border);
    background: transparent;
    color: var(--sb-heading);
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.action-row:last-child {
    border-bottom: 0;
}

.action-row-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
}

.action-row-copy {
    display: grid;
    flex: 1;
    min-width: 0;
    gap: 4px;
}

.action-row-copy strong {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
}

.action-row-copy small {
    color: var(--sb-text);
    font-size: 12px;
    line-height: 1.6;
}

.action-row-copy em {
    margin-top: 2px;
    color: var(--sb-muted);
    font-size: 10px;
    font-style: normal;
    line-height: 1.5;
}

.action-row-arrow {
    flex-shrink: 0;
    font-size: 14px;
    opacity: .7;
}

.action-row--featured {
    margin-bottom: 10px;
    padding-block: 23px;
    border: 0;
    border-radius: var(--sb-radius-md);
    background: var(--sb-primary);
    color: #fff;
}

.action-row--featured small,
.action-row--featured em {
    color: #fff;
}

.action-row--featured em {
    opacity: .75;
}

.action-row:hover {
    background: var(--sb-page-background);
    color: var(--sb-heading);
    text-decoration: none;
}

.action-row--featured:hover {
    background: #91421c;
    color: #fff;
}

.action-row:focus-visible,
.icon-button:focus-visible {
    outline: 2px solid var(--sb-primary);
    outline-offset: -3px;
}

@media (max-width: 350px) {
    .sb-page {
        --sb-page-gutter: 10px;
    }
}

/* Small Bootstrap-style spacing set. Add another level only when a real screen needs it. */
.m-0 { margin: 0 !important; }
.mt-1, .my-1 { margin-top: 4px !important; }
.mt-2, .my-2 { margin-top: 8px !important; }
.mt-3, .my-3 { margin-top: 16px !important; }
.mr-1, .mx-1 { margin-right: 4px !important; }
.mr-2, .mx-2 { margin-right: 8px !important; }
.mr-3, .mx-3 { margin-right: 16px !important; }
.mb-1, .my-1 { margin-bottom: 4px !important; }
.mb-2, .my-2 { margin-bottom: 8px !important; }
.mb-3, .my-3 { margin-bottom: 16px !important; }
.mt-4 { margin-top: 22px !important; }
.mb-4 { margin-bottom: 22px !important; }
.ml-1, .mx-1 { margin-left: 4px !important; }
.ml-2, .mx-2 { margin-left: 8px !important; }
.ml-3, .mx-3 { margin-left: 16px !important; }
.mx-auto { margin-right: auto !important; margin-left: auto !important; }
.p-0 { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.p-1 { padding: 4px !important; }
.p-2 { padding: 8px !important; }
.p-3 { padding: 16px !important; }
.pt-1, .py-1 { padding-top: 4px !important; }
.pt-2, .py-2 { padding-top: 8px !important; }
.pt-3, .py-3 { padding-top: 16px !important; }
.pr-1, .px-1 { padding-right: 4px !important; }
.pr-2, .px-2 { padding-right: 8px !important; }
.pr-3, .px-3 { padding-right: 16px !important; }
.pb-1, .py-1 { padding-bottom: 4px !important; }
.pb-2, .py-2 { padding-bottom: 8px !important; }
.pb-3, .py-3 { padding-bottom: 16px !important; }
.pl-1, .px-1 { padding-left: 4px !important; }
.pl-2, .px-2 { padding-left: 8px !important; }
.pl-3, .px-3 { padding-left: 16px !important; }


.hr_divider
{
    opacity: 0.2;
}