.odvv-flower-view.odvv-category-mode {
    padding: 0;
    border-radius: 0;
    background: #f7f3e8;
}
.odvv-category-mode > .odvv-flower-heading {
    display: none;
}
.odvv-category-mode > .odvv-flower-layout {
    display: none;
}
.odvv-category-explorer {
    min-height: 55vh;
    font:
        15px/1.4 'ODVV Bitter',
        Georgia,
        serif;
    color: #624a31;
}
.odvv-explorer-header {
    position: sticky;
    z-index: 1020;
    background: #f7f3e8;
    padding: 8px 12px;
    border-bottom: 1px solid #d8c8ae;
}
.odvv-explorer-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 34px;
    margin-bottom: 6px;
    font-size: 12px;
}
.odvv-explorer-toolbar > button {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #c8ad88;
    border-radius: 8px;
    background: #fffdf8;
    color: #624a31;
    font:
        400 29px/1 Georgia,
        serif;
    cursor: pointer;
}
.odvv-explorer-all {
    margin-left: auto;
    color: #624a31 !important;
    font-size: 12px;
    text-decoration: underline;
}
.odvv-explorer-selectors {
    position: relative;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #bca487 transparent;
    padding-bottom: 5px;
    scroll-snap-type: x proximity;
}
.odvv-explorer-level {
    flex: 0 0 calc((100% - 12px) / 3);
    min-width: 110px;
    max-width: 350px;
    scroll-snap-align: end;
}
.odvv-explorer-level > label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
    margin: 0;
}
.odvv-explorer-level-heading {
    display: block;
    padding: 6px 8px;
    border: 1px solid #34513e;
    border-radius: 7px;
    background: #385b46;
    color: #fffdf8;
    font:
        600 12px/1.15 'ODVV Bitter',
        Georgia,
        serif;
    white-space: nowrap;
}
.odvv-explorer-level.level-2 .odvv-explorer-level-heading {
    background: #5d7652;
    border-color: #506a45;
}
.odvv-explorer-level.level-3 .odvv-explorer-level-heading {
    background: #d1ddbf;
    color: #354b32;
    border-color: #b2c19d;
}
.odvv-explorer-select-wrap {
    display: flex;
    position: relative;
    align-items: flex-start;
    gap: 5px;
    min-height: 48px;
    padding: 7px;
    border: 1px solid #cbb592;
    border-radius: 8px;
    background: linear-gradient(135deg, #f0e3cf, #fffcf5);
}
.odvv-explorer-select-wrap > span:first-child {
    color: #987554;
    font-size: 17px;
    line-height: 1.1;
    pointer-events: none;
}
.odvv-explorer-select-wrap select {
    appearance: none;
    -webkit-appearance: none;
    flex: 1;
    min-width: 0;
    border: 0;
    border-radius: 0;
    margin: 0;
    background: transparent;
    color: #624a31;
    font:
        600 13px/1.3 'ODVV Bitter',
        Georgia,
        serif;
    cursor: pointer;
    text-overflow: ellipsis;
}
.odvv-explorer-select-wrap select:disabled {
    cursor: default;
}
.odvv-explorer-select-wrap:focus-within {
    outline: 2px solid #59764c;
    outline-offset: 1px;
}
.odvv-explorer-chevron {
    position: absolute;
    top: 10px;
    right: 5px;
    color: #a98e70;
    font-size: 14px;
    pointer-events: none;
}
.odvv-explorer-content {
    margin: 12px;
    padding: 10px;
    background: #e8ddcc;
    border: 1px solid #ded0ba;
    border-radius: 17px;
}
.odvv-explorer-path {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 10px;
}
.odvv-explorer-path:empty {
    display: none;
}
.odvv-explorer-path button {
    padding: 4px 7px;
    border: 1px solid #cbb592;
    border-radius: 6px;
    background: #fffcf6;
    color: #624a31;
    font:
        500 12px/1.3 'ODVV Bitter',
        Georgia,
        serif;
    cursor: pointer;
}
.odvv-explorer-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
}
.odvv-explorer-card {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 90px;
    padding: 6px;
    border: 1px solid #fff;
    border-radius: 12px;
    background: #fffdf8;
    color: #30251c;
    text-align: left;
    cursor: pointer;
}
.odvv-explorer-card > img {
    flex: 0 0 42%;
    width: 42%;
    height: 88px;
    object-fit: contain;
    background: #fffaf2;
    border-radius: 6px;
}
.odvv-explorer-no-image {
    flex: 0 0 42%;
    width: 42%;
    height: 88px;
    object-fit: contain;
    background: #fffaf2;
    border-radius: 6px;
}
.odvv-explorer-no-image {
    display: grid;
    place-items: center;
    color: #b89b76;
    letter-spacing: 4px;
}
.odvv-explorer-card > strong {
    flex: 1;
    min-width: 0;
    font:
        700 17px/1.3 'ODVV Bitter',
        Georgia,
        serif;
    overflow-wrap: break-word;
}
.odvv-explorer-card-arrow {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #987554, #624a31);
    color: #fffaf2;
    font:
        400 20px/1 Georgia,
        serif;
}
.odvv-explorer-card:hover {
    border-color: #bca487;
}
.odvv-category-explorer :is(button, select, a):focus-visible {
    outline: 2px solid #59764c;
    outline-offset: 2px;
}
@media (max-width: 600px) {
    .odvv-explorer-header {
        padding: 6px 8px;
    }
    .odvv-explorer-content {
        margin: 10px 8px;
        padding: 9px;
    }
    .odvv-explorer-cards {
        grid-template-columns: minmax(0, 1fr);
    }
    .odvv-explorer-card {
        min-height: 88px;
    }
    .odvv-explorer-card > img {
        height: 78px;
    }
    .odvv-explorer-no-image {
        height: 78px;
    }
    .odvv-explorer-card > strong {
        font-size: 16px;
    }
}
.odvv-explorer-header {
    top: var(--odvv-explorer-top, 0px);
}
.odvv-explorer-value {
    flex: 1;
    min-width: 0;
    min-height: 32px;
    display: flex;
    align-items: center;
    padding-right: 11px;
    color: #624a31;
    font:
        600 13px/1.25 'ODVV Bitter',
        Georgia,
        serif;
    overflow-wrap: break-word;
}
.odvv-explorer-select-wrap select {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    z-index: 1;
}
.odvv-explorer-select-wrap:has(select:disabled) .odvv-explorer-value {
    opacity: 0.5;
}
.odvv-flower-dialog > .odvv-flower-close {
    z-index: 1100;
}
.odvv-explorer-card[aria-current='page'] {
    border-color: #5d7652;
    box-shadow: 0 0 0 1px #5d7652;
}
/* Keep the native select as the input layer; its visible label is rendered once. */
.odvv-explorer-select-wrap select {
    opacity: 0 !important;
}
.odvv-explorer-select-wrap select:disabled {
    opacity: 0 !important;
}
/* The fullscreen menu owns its scroll; the page header does not offset it. */
dialog.odvv-flower-dialog {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box;
    overflow: hidden !important;
    background: #f7f3e8;
}
dialog.odvv-flower-dialog[open] {
    display: flex;
    flex-direction: column;
}
dialog.odvv-flower-dialog > [data-flower-mount] {
    flex: 1;
    min-height: 0 !important;
    width: 100%;
    height: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 52px 20px 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 0;
}
dialog.odvv-flower-dialog > .odvv-flower-close {
    position: absolute;
    top: 8px;
    right: 12px;
    width: 34px;
    height: 34px;
    font-size: 26px;
    z-index: 1100;
}
.odvv-flower-modal-view .odvv-explorer-header {
    top: 0 !important;
    padding-top: 8px;
}
@media (max-width: 767px) {
    dialog.odvv-flower-dialog > [data-flower-mount] {
        padding: 52px 12px 20px;
    }
}

/* Category rows: fixed image on the left, readable title, SVG action on the right. */
.odvv-category-explorer .odvv-explorer-content {
    margin: 14px 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.odvv-category-explorer .odvv-explorer-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.odvv-category-explorer .odvv-explorer-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) 36px;
    align-items: center;
    justify-items: stretch;
    gap: 16px;
    min-width: 0;
    margin: 0;
    padding: 10px;
    text-align: left;
    border: 1px solid #dfd6c6;
    border-radius: 16px;
    background: #fffdf8;
    box-shadow: 0 3px 12px #624a3108;
    transition:
        border-color 0.2s,
        background-color 0.2s;
}
.odvv-category-explorer .odvv-explorer-card > img {
    grid-column: 1;
    grid-row: 1;
    display: block;
    width: 112px;
    height: 96px;
    min-width: 0;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 10px;
    background: #f8f1e5;
}
.odvv-category-explorer .odvv-explorer-card > .odvv-explorer-no-image {
    grid-column: 1;
    grid-row: 1;
    width: 112px;
    height: 96px;
    min-width: 0;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 10px;
    background: #f8f1e5;
}
.odvv-category-explorer .odvv-explorer-card > .odvv-explorer-no-image {
    display: grid;
    place-items: center;
}
.odvv-category-explorer .odvv-explorer-card > strong {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    color: #3d3529;
    text-align: left;
    white-space: normal;
    font:
        600 18px/1.35 'ODVV Bitter',
        Georgia,
        serif;
    overflow-wrap: anywhere;
}
.odvv-category-explorer .odvv-explorer-card-arrow {
    grid-column: 3;
    grid-row: 1;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #d4decb;
    border-radius: 50%;
    background: #edf2e5;
    color: #385b46;
}
.odvv-category-explorer .odvv-explorer-card-arrow > svg {
    display: block;
    width: 21px;
    height: 21px;
}
.odvv-category-explorer .odvv-explorer-card:hover {
    border-color: #a4b394;
    background: #fffaf0;
}
.odvv-category-explorer .odvv-explorer-card[aria-current='page'] {
    border-color: #698264;
    background: #f5f7ed;
    box-shadow: none;
}
.odvv-category-explorer .odvv-explorer-card[aria-current='page'] .odvv-explorer-card-arrow {
    border-color: #385b46;
    background: #385b46;
    color: #fffdf8;
}
@media (max-width: 700px) {
    .odvv-category-explorer .odvv-explorer-content {
        margin: 12px;
    }
    .odvv-category-explorer .odvv-explorer-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }
    .odvv-category-explorer .odvv-explorer-card {
        grid-template-columns: 96px minmax(0, 1fr) 32px;
        gap: 12px;
        padding: 9px;
        border-radius: 14px;
    }
    .odvv-category-explorer .odvv-explorer-card > img {
        width: 96px;
        height: 88px;
    }
    .odvv-category-explorer .odvv-explorer-card > .odvv-explorer-no-image {
        width: 96px;
        height: 88px;
    }
    .odvv-category-explorer .odvv-explorer-card > strong {
        font-size: 16px;
    }
    .odvv-category-explorer .odvv-explorer-card-arrow {
        width: 32px;
        height: 32px;
    }
}
@media (max-width: 350px) {
    .odvv-category-explorer .odvv-explorer-content {
        margin: 10px 8px;
    }
    .odvv-category-explorer .odvv-explorer-card {
        grid-template-columns: 80px minmax(0, 1fr) 28px;
        gap: 9px;
        padding: 8px;
    }
    .odvv-category-explorer .odvv-explorer-card > img {
        width: 80px;
        height: 80px;
    }
    .odvv-category-explorer .odvv-explorer-card > .odvv-explorer-no-image {
        width: 80px;
        height: 80px;
    }
    .odvv-category-explorer .odvv-explorer-card > strong {
        font-size: 15px;
    }
    .odvv-category-explorer .odvv-explorer-card-arrow {
        width: 28px;
        height: 28px;
    }
    .odvv-category-explorer .odvv-explorer-card-arrow > svg {
        width: 19px;
        height: 19px;
    }
}

/* Hierarchy dropdown and nested expansion from REF_BUN.html. */
.odvv-category-explorer .ob-category-explorer__category-group {
    display: flex;
    flex-direction: column;
    align-self: start;
    border-radius: 14px;
    background: #fffdf8;
    transition: box-shadow 0.22s;
}
.odvv-category-explorer
    .ob-category-explorer__category-group
    > .ob-category-explorer__category-card {
    width: 100%;
}
.odvv-category-explorer .ob-category-explorer__category-group.ob-category-explorer--is-open {
    box-shadow: 0 0 0 2px #bca487;
}
.odvv-category-explorer .ob-category-explorer__category-head-arrow {
    transition:
        transform 0.25s,
        background 0.2s;
}
.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card
    .ob-category-explorer__category-head-arrow {
    background: #d1ddbf;
    color: #385b46;
    border-color: #bca487;
}
.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card {
    box-shadow: none;
    transform: none;
}
.odvv-category-explorer .ob-category-explorer__home-expansion {
    display: grid;
    grid-template-rows: 0fr;
    transition:
        grid-template-rows 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
        opacity 0.2s;
    opacity: 0;
}
.odvv-category-explorer .ob-category-explorer__home-nested-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition:
        grid-template-rows 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
        opacity 0.2s;
    opacity: 0;
}
.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__home-expansion {
    grid-template-rows: 1fr;
    opacity: 1;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch.ob-category-explorer--is-open
    > .ob-category-explorer__home-nested-panel {
    grid-template-rows: 1fr;
    opacity: 1;
}
.odvv-category-explorer .ob-category-explorer__home-expansion-content {
    min-height: 0;
    overflow: hidden;
}
.odvv-category-explorer .ob-category-explorer__home-nested-content {
    min-height: 0;
    overflow: hidden;
}
.odvv-category-explorer .ob-category-explorer__home-expansion-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 13px;
    background: linear-gradient(135deg, #f0e6d4, #f7f7ee);
    border-block: 1px solid #e8d5b9;
}
.odvv-category-explorer .ob-category-explorer__home-expansion-actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 35px;
    border: 1px solid #bca487;
    border-radius: 9px;
    font-size: 13.2px;
    padding: 6px 10px;
    color: #385b46;
    background: #fffdf4;
}
.odvv-category-explorer .ob-category-explorer__home-expansion-actions .icon {
    width: 14px;
    height: 14px;
}
.odvv-category-explorer .ob-category-explorer__home-branch-list {
    padding: 6px 12px 11px 20px;
}
.odvv-category-explorer .ob-category-explorer__home-branch {
    border-bottom: 1px solid #e9e3d7;
}
.odvv-category-explorer .ob-category-explorer__home-branch:last-child {
    border-bottom: 0;
}
.odvv-category-explorer .ob-category-explorer__home-branch-row {
    position: relative;
    align-items: center;
    gap: 5px;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button {
    display: flex;
    align-items: center;
    gap: 11px;
    text-align: left;
    background: none;
    flex: 1;
    min-width: 0;
    padding: 8px 2px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
    border-radius: 8px;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button:hover {
    background: #f0f2e7;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button > .icon {
    width: 17px;
    height: 17px;
    color: #624a31;
    transition: transform 0.22s;
    flex-shrink: 0;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch.ob-category-explorer--is-open
    > .ob-category-explorer__home-branch-row
    .ob-category-explorer__home-branch-button
    > .icon {
    transform: rotate(180deg);
    color: #385b46;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch.ob-category-explorer--is-open
    > .ob-category-explorer__home-branch-row
    .ob-category-explorer__home-branch-button {
    color: #624a31;
    font-weight: 700;
}
.odvv-category-explorer .ob-category-explorer__branch-view-all {
    border: 1px solid #e8d5b9;
    border-radius: 8px;
    background: linear-gradient(135deg, #f0e6d4, #fffdf5);
    color: #385b46;
    font-size: 13px;
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 7px;
    min-height: 33px;
    flex-shrink: 0;
}
.odvv-category-explorer .ob-category-explorer__branch-view-all .icon {
    width: 12px;
    height: 12px;
}
.odvv-category-explorer .ob-category-explorer__home-nested-list {
    margin: 0 0 8px 23px;
    border-left: 1px solid #e8d5b9;
    padding-left: 10px;
    background: linear-gradient(90deg, #f0e6d4, #fffdf800);
}
.odvv-category-explorer
    .ob-category-explorer__home-branch.level-3
    .ob-category-explorer__home-nested-list {
    border-left-color: #d8d6c6;
    margin-left: 15px;
    padding-left: 8px;
}
.odvv-category-explorer
    .ob-category-explorer__home-nested-list
    .ob-category-explorer__home-branch-button {
    font-size: 14.4px;
}
.odvv-category-explorer .ob-category-explorer__category-pictogram {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #ebe4d3, #faf7ee);
    border: 1px solid #d4c7b3;
    border-radius: 10px;
    overflow: hidden;
    color: #624a31;
}
.odvv-category-explorer .ob-category-explorer__category-pictogram img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}
.odvv-category-explorer .ob-category-explorer__category-pictogram .icon {
    width: 28px;
    height: 28px;
    stroke-width: 1.5;
}
.odvv-category-explorer
    .ob-category-explorer__home-nested-list
    .ob-category-explorer__category-pictogram {
    width: 39px;
    height: 39px;
    border-radius: 8px;
}
.odvv-category-explorer
    .ob-category-explorer__home-nested-list
    .ob-category-explorer__category-pictogram
    .icon {
    width: 24px;
    height: 24px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    border: 1px solid #bfa381;
    border-radius: 14px;
    text-align: left;
    box-shadow: inset 0 1px #fff8;
    transition:
        box-shadow 0.2s,
        transform 0.2s,
        background 0.2s;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab.level-1 {
    background: linear-gradient(125deg, #987554, #624a31);
    border-color: #795538;
    color: #fffdf8;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab.level-2 {
    background: linear-gradient(125deg, #e8d5b9, #f0e6d4);
    color: #624a31;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab.level-3 {
    background: linear-gradient(125deg, #f0e6d4, #fffdf8);
    color: #624a31;
    border-color: #cfbca0;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab:hover:not(:disabled) {
    box-shadow:
        0 0 0 3px #b497713b,
        inset 0 1px #fff5;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab[aria-expanded='true'] {
    box-shadow:
        0 0 0 3px #b497713b,
        inset 0 1px #fff5;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab:disabled {
    opacity: 0.6;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab small {
    display: flex;
    align-items: center;
    font-weight: 500;
    line-height: 1.35;
    min-height: 17px;
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-tab
    small
    .ob-category-explorer__step-number {
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    border: 1px solid currentColor;
    border-radius: 6px;
    opacity: 0.8;
    flex-shrink: 0;
    font-size: 11px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value {
    display: flex;
    align-items: center;
    min-width: 0;
    width: 100%;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value > .icon {
    flex-shrink: 0;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value b {
    display: block;
    flex: 1;
    min-width: 0;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab.level-1 b {
    font-weight: 800;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab.level-2 b {
    font-weight: 600;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab.level-3 b {
    font-weight: 500;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value > .ob-category-explorer__chev {
    margin-left: auto;
    transition: transform 0.22s;
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-tab[aria-expanded='true']
    .ob-category-explorer__chev {
    transform: rotate(180deg);
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown {
    position: fixed;
    top: 0;
    left: 0;
    width: 340px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #bca487;
    border-radius: 0 0 15px 15px;
    background: #fffdf8;
    color: #30251c;
    box-shadow: 0 15px 40px #47301c30;
    transform-origin: top;
    animation: hierarchy-in 0.2s ease-out;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown.closing {
    animation: hierarchy-out 0.18s ease-in forwards;
    pointer-events: none;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 13px;
    border-bottom: 1px solid #e7d9c4;
    background: #f0e6d4;
    flex-shrink: 0;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown-head h2 {
    font:
        600 16px/1.4 'ODVV Bitter',
        Georgia,
        serif;
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-dropdown-head
    .ob-category-explorer__iconbtn {
    width: 32px;
    height: 32px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-options {
    overflow-y: auto;
    overscroll-behavior: contain;
    min-height: 0;
    padding: 5px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 11px;
    min-height: 52px;
    border-radius: 9px;
    border: 1px solid transparent;
    cursor: pointer;
    font-size: 15px;
    line-height: 1.45;
    transition: background 0.15s;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option:hover {
    background: #f7f0e4;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option:has(input:checked) {
    background: #eee1cc;
    border-color: #d7c2a4;
    color: #624a31;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option:focus-within {
    outline: 2px solid #987554;
    outline-offset: -2px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option input[type='checkbox'] {
    width: 21px;
    height: 21px;
    flex-shrink: 0;
    accent-color: #795538;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option > .icon {
    width: 24px;
    height: 24px;
    color: #875333;
    flex-shrink: 0;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option span {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-option.ob-category-explorer--is-selected
    span {
    font-weight: 700;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option.ob-category-explorer__all-option {
    color: #796b56;
    border-bottom: 1px solid #e7d9c4;
    border-radius: 8px 8px 0 0;
    margin-bottom: 3px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tabs {
    gap: 6px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab {
    padding: 10px 9px;
    min-height: 86px;
    gap: 8px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value {
    gap: 6px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value b {
    font-size: 15px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value > .icon {
    width: 21px;
    height: 21px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value > .ob-category-explorer__chev {
    width: 13px;
    height: 13px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab small {
    font-size: 11px;
    gap: 5px;
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-option.ob-category-explorer__list-wave-row {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    animation: list-row-enter 510ms ease-out backwards;
    animation-delay: calc(var(--wave-order) * 72ms);
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-option.ob-category-explorer__list-wave-row::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 8px;
    background: linear-gradient(100deg, transparent, #9b825649, transparent);
    pointer-events: none;
    opacity: 0;
    animation: list-row-shade 580ms ease-in-out;
    animation-delay: calc(var(--wave-order) * 72ms);
}
.odvv-category-explorer .icon {
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.odvv-category-explorer .odvv-explorer-toolbar .icon {
    width: 19px;
    height: 19px;
}
.odvv-category-explorer .odvv-explorer-all {
    display: flex;
    align-items: center;
    gap: 5px;
}
.odvv-category-explorer .odvv-explorer-all[hidden] {
    display: none;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown[hidden] {
    display: none;
}
.odvv-category-explorer .odvv-explorer-selectors {
    display: flex;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab {
    flex: 0 0 calc((100% - 12px) / 3);
    max-width: 350px;
    min-width: 110px;
    scroll-snap-align: end;
    cursor: pointer;
    font-family: 'ODVV Bitter', Georgia, serif;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab small {
    color: inherit;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-tab .ob-category-explorer__step-number {
    font-family: inherit;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-value > .ob-category-explorer__chev {
    flex-shrink: 0;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown {
    z-index: 2147483550;
    max-width: calc(100vw - 24px);
    font-family: 'ODVV Bitter', Georgia, serif;
    animation-name: odvv-hierarchy-in;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown.closing {
    animation-name: odvv-hierarchy-out;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-dropdown-head h2 {
    margin: 0;
    color: inherit;
}
.odvv-category-explorer .ob-category-explorer__iconbtn {
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #bca487;
    border-radius: 8px;
    color: #624a31;
    background: #fffdf8;
    cursor: pointer;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option {
    margin: 0;
    font-weight: 400;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option input {
    margin: 0;
}
.odvv-category-explorer .ob-category-explorer__category-group {
    min-width: 0;
}
.odvv-category-explorer .ob-category-explorer__category-group > .odvv-explorer-card {
    width: 100%;
}
.odvv-category-explorer .ob-category-explorer__home-expansion-actions :is(a, button) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 35px;
    margin: 0;
    padding: 6px 10px;
    border: 1px solid #bca487;
    border-radius: 9px;
    font:
        500 13.2px/1.3 'ODVV Bitter',
        Georgia,
        serif;
    color: #385b46;
    background: #fffdf4;
    text-decoration: none;
    cursor: pointer;
}
.odvv-category-explorer
    .ob-category-explorer__home-expansion-actions
    .ob-category-explorer__branch-all {
    background: #385b46;
    border-color: #385b46;
    color: #fff;
}
.odvv-category-explorer .grow {
    flex: 1;
    min-width: 0;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button {
    width: auto;
    border: 0;
    color: #624a31;
    font-family: 'ODVV Bitter', Georgia, serif;
    cursor: pointer;
}
.odvv-category-explorer .ob-category-explorer__home-branch-row {
    display: flex;
}
.odvv-category-explorer .ob-category-explorer__branch-view-all {
    text-decoration: none;
    font-family: 'ODVV Bitter', Georgia, serif;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button[aria-current='page'] {
    color: #385b46;
    background: #edf2e5;
    font-weight: 700;
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-option.ob-category-explorer__list-wave-row {
    animation-name: odvv-list-row-enter;
}
.odvv-category-explorer
    .ob-category-explorer__hierarchy-option.ob-category-explorer__list-wave-row::after {
    animation-name: odvv-list-row-shade;
}
html.odvv-b2b-focus .odvv-category-explorer .ob-category-explorer__hierarchy-option:focus-within {
    outline: none !important;
}
@keyframes odvv-hierarchy-in {
    from {
        opacity: 0;
        transform: translateY(-6px) scaleY(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scaleY(1);
    }
}
@keyframes odvv-hierarchy-out {
    to {
        opacity: 0;
        transform: translateY(-5px) scaleY(0.96);
    }
}
@keyframes odvv-list-row-enter {
    from {
        transform: translateY(-4px);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes odvv-list-row-shade {
    0% {
        opacity: 0;
        transform: translateX(-100%);
    }
    45% {
        opacity: 1;
        transform: translateX(0);
    }
    100% {
        opacity: 0;
        transform: translateX(100%);
    }
}
@media (max-width: 800px) {
    .odvv-category-explorer .ob-category-explorer__hierarchy-tab {
        padding: 10px 9px;
        min-height: 86px;
        gap: 8px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value {
        gap: 6px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value b {
        font-size: 15px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value > .icon {
        width: 21px;
        height: 21px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value > .ob-category-explorer__chev {
        width: 13px;
        height: 13px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-tab small {
        font-size: 11px;
        gap: 5px;
    }
}
@media (max-width: 520px) {
    .odvv-category-explorer .ob-category-explorer__hierarchy-tab {
        border-radius: 11px;
        padding: 9px 7px;
        min-height: 91px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-tab small {
        font-size: 11px;
        align-items: flex-start;
        min-height: 30px;
    }
    .odvv-category-explorer
        .ob-category-explorer__hierarchy-tab
        small
        .ob-category-explorer__step-number {
        width: 16px;
        height: 17px;
        font-size: 10px;
        border-radius: 4px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value {
        gap: 4px;
        align-items: flex-start;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value b {
        font-size: 14px;
        line-height: 1.4;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value > .icon {
        width: 20px;
        height: 20px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-value > .ob-category-explorer__chev {
        width: 11px;
        height: 11px;
        margin-top: 4px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-dropdown-head h2 {
        font-size: 15px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-option {
        font-size: 15px;
        min-height: 53px;
    }
    .odvv-category-explorer .ob-category-explorer__hierarchy-dropdown {
        border-radius: 12px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .odvv-category-explorer
        :is(
            .ob-category-explorer__home-expansion,
            .ob-category-explorer__home-nested-panel,
            .ob-category-explorer__category-head-arrow,
            .ob-category-explorer__home-branch-button > .icon
        ) {
        transition: none !important;
    }
    .odvv-category-explorer
        :is(
            .ob-category-explorer__hierarchy-dropdown,
            .ob-category-explorer__hierarchy-option.ob-category-explorer__list-wave-row
        ) {
        animation: none !important;
    }
    .odvv-category-explorer
        .ob-category-explorer__hierarchy-option.ob-category-explorer__list-wave-row::after {
        animation: none !important;
        display: none;
    }
}

/* Keep the original green level labels and light selector fields. */
.odvv-category-explorer .odvv-explorer-level {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 12px) / 3);
    min-width: 110px;
    max-width: 350px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #624a31;
    text-align: left;
    font-family: 'ODVV Bitter', Georgia, serif;
}
.odvv-category-explorer .odvv-explorer-level-heading {
    width: 100%;
}
.odvv-category-explorer .odvv-explorer-select-wrap {
    width: 100%;
}
.odvv-category-explorer .odvv-explorer-level:disabled {
    cursor: default;
}
.odvv-category-explorer .odvv-explorer-level:disabled .odvv-explorer-value {
    opacity: 0.5;
}
.odvv-category-explorer .odvv-explorer-select-wrap > span:first-child .icon {
    width: 15px;
    height: 15px;
}
.odvv-category-explorer .odvv-explorer-chevron {
    top: 12px;
}
.odvv-category-explorer .odvv-explorer-chevron .icon {
    width: 12px;
    height: 12px;
    transition: transform 0.22s;
}
.odvv-category-explorer .odvv-explorer-level[aria-expanded='true'] .odvv-explorer-chevron .icon {
    transform: rotate(180deg);
}

/* Fixed selector heights: long names never resize the sticky header. */
.odvv-category-explorer .odvv-explorer-level {
    height: 48px;
    min-height: 48px;
    max-height: 48px;
}
.odvv-category-explorer .odvv-explorer-level-heading {
    flex: 0 0 27px;
    height: 27px;
    min-height: 27px;
    max-height: 27px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.odvv-category-explorer .odvv-explorer-select-wrap {
    flex: 0 0 48px;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    align-items: center;
}
.odvv-category-explorer .odvv-explorer-value {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    height: auto;
    min-height: 0;
    max-height: 32px;
    line-height: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.odvv-category-explorer .odvv-explorer-level-heading {
    box-sizing: border-box;
}
.odvv-category-explorer .odvv-explorer-select-wrap {
    box-sizing: border-box;
}

/* Category headers stay fixed; only their expansion panels grow. */
.odvv-category-explorer .odvv-explorer-card {
    height: 118px;
    min-height: 118px;
    max-height: 118px;
    box-sizing: border-box;
}
.odvv-category-explorer .odvv-explorer-card > strong {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    max-height: 73px;
    overflow: hidden;
}
.odvv-category-explorer .ob-category-explorer__home-branch-row {
    height: 64px;
    min-height: 64px;
    max-height: 64px;
    box-sizing: border-box;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button {
    height: 64px;
    min-height: 64px;
    max-height: 64px;
    box-sizing: border-box;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button > .grow {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 43px;
    overflow: hidden;
}
.odvv-category-explorer
    .ob-category-explorer__home-nested-list
    .ob-category-explorer__home-branch-row {
    height: 56px;
    min-height: 56px;
    max-height: 56px;
}
.odvv-category-explorer
    .ob-category-explorer__home-nested-list
    .ob-category-explorer__home-branch-button {
    height: 56px;
    min-height: 56px;
    max-height: 56px;
}
.odvv-category-explorer
    .ob-category-explorer__home-nested-list
    .ob-category-explorer__home-branch-button
    > .grow {
    max-height: 39px;
}
@media (max-width: 700px) {
    .odvv-category-explorer .odvv-explorer-card {
        height: 108px;
        min-height: 108px;
        max-height: 108px;
    }
    .odvv-category-explorer .odvv-explorer-card > strong {
        max-height: 65px;
    }
}
@media (max-width: 350px) {
    .odvv-category-explorer .odvv-explorer-card {
        height: 98px;
        min-height: 98px;
        max-height: 98px;
    }
    .odvv-category-explorer .odvv-explorer-card > strong {
        max-height: 61px;
    }
}

/* Product listings reuse the menu's category selectors beneath the fixed MENIU bar. */
.odvv-listing-navigation {
    position: sticky;
    top: var(--odvv-general-top, 35px);
    z-index: 1000;
    min-width: 0;
    background: #f7f3e8;
    border-bottom: 1px solid #d8c8ae;
}
.odvv-listing-hierarchy {
    min-width: 0;
}
.odvv-listing-navigation .odvv-category-explorer {
    min-height: 0;
}
.odvv-listing-navigation .odvv-explorer-header {
    position: var(--odvv-header-dock-position, static);
    inset: auto;
    align-items: center;
    border: 0;
}
@media (min-width: 768px) {
    .odvv-listing-navigation {
        box-sizing: border-box;
        width: 100%;
        max-width: 1100px;
        margin-inline: auto;
    }
    .odvv-listing-navigation .odvv-explorer-header {
        box-sizing: border-box;
        width: 100%;
        max-width: 1100px;
        margin-inline: auto;
    }
}
.odvv-listing-navigation .odvv-explorer-path {
    flex-wrap: nowrap;
    min-height: 32px;
    margin: 0 90px 6px 0;
    overflow-x: auto;
    scrollbar-width: thin;
    white-space: nowrap;
}
.odvv-listing-navigation .odvv-explorer-path > button {
    flex-shrink: 0;
}
.odvv-listing-navigation .odvv-explorer-path > span {
    flex-shrink: 0;
}
.odvv-listing-navigation .odvv-explorer-path [aria-current='page'] {
    background: #e5ebdc;
    border-color: #829674;
}
.odvv-listing-price {
    position: absolute;
    top: 4px;
    right: 4px;
}
.odvv-listing-price button {
    min-height: 30px;
    height: 30px;
    padding: 4px 9px;
    gap: 5px;
}
.odvv-listing-price button svg {
    width: 18px;
    height: 18px;
}
@media (max-width: 600px) {
    .odvv-listing-navigation .odvv-explorer-header {
        padding: 4px;
    }
    .odvv-listing-price {
        top: 4px;
        right: 4px;
    }
}

.odvv-explorer-toolbar > button.odvv-explorer-flower {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 34px;
    flex-shrink: 0;
    padding: 0;
    font:
        600 12px/1.2 'ODVV Bitter',
        Georgia,
        serif;
    color: #385b46;
}
.odvv-explorer-flower .icon {
    width: 19px;
    height: 19px;
}

.odvv-category-explorer .odvv-explorer-value.is-single-word {
    display: block;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    -webkit-line-clamp: unset;
    line-height: 32px;
}
.odvv-category-explorer .ob-category-explorer__hierarchy-option > .odvv-hierarchy-photo {
    display: block;
    flex: 0 0 56px;
    width: 56px;
    height: 44px;
    object-fit: cover;
    object-position: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
}

/* The listing header opens the full category explorer at the current branch. */
.odvv-listing-navigation .odvv-explorer-category-launcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    max-width: calc(100% - 120px);
    height: 46px;
    min-height: 46px;
    margin: 0;
    padding: 7px 12px;
    border: 1px solid #bca487;
    border-radius: 9px;
    background: #fffaf0;
    box-shadow: 0 2px 4px #624a3114;
    color: #365b40;
    font:
        700 18px/1.25 'ODVV Bitter',
        Georgia,
        serif;
    text-align: left;
    cursor: pointer;
}
.odvv-listing-navigation .odvv-explorer-category-launcher:hover {
    background: #f0e6d4;
    border-color: #8c9a78;
}
.odvv-explorer-category-launcher > .odvv-explorer-category-label {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.odvv-explorer-category-launcher .odvv-explorer-click-icon {
    flex: none;
    width: 24px;
    height: 26px;
}
.odvv-listing-price button[data-odvv-general-filter] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 7px 12px;
    font:
        700 16px/1.2 'ODVV Bitter',
        Georgia,
        serif;
}
.odvv-listing-price button[data-odvv-general-filter] > svg {
    display: block;
    flex: none;
    width: 22px;
    height: 22px;
}
.odvv-category-launcher-tooltip {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 2;
    width: max-content;
    max-width: min(300px, calc(100vw - 24px));
    padding: 9px 12px;
    border: 1px solid #526f4e;
    border-radius: 9px;
    background: #365b40;
    box-shadow: 0 4px 12px #30432830;
    color: #fffaf0;
    font:
        500 13px/1.35 'ODVV Bitter',
        Georgia,
        serif;
    white-space: normal;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}
.odvv-category-launcher-tooltip::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 18px;
    width: 8px;
    height: 8px;
    background: #365b40;
    border-top: 1px solid #526f4e;
    border-left: 1px solid #526f4e;
    transform: rotate(45deg);
}
.odvv-category-launcher-tooltip.is-visible {
    opacity: 1;
    visibility: visible;
    animation: odvv-category-tip-float 1.7s ease-in-out 2;
}
.odvv-category-launcher-tooltip.is-leaving {
    visibility: visible;
    opacity: 1;
    transform-origin: 24px -10px;
    animation: odvv-category-tip-return 0.3s ease-in forwards;
}
@keyframes odvv-category-tip-return {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(-20px) scale(0.05);
    }
}
@keyframes odvv-category-tip-float {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(4px);
    }
}
@media (max-width: 600px) {
    .odvv-listing-navigation .odvv-explorer-category-launcher {
        font-size: 16px;
        gap: 7px;
        padding-inline: 9px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .odvv-category-launcher-tooltip.is-visible {
        animation: none;
    }
}

@media (max-width: 767.98px) {
    .odvv-listing-navigation {
        width: 100vw;
        max-width: none;
        margin-inline: calc(50% - 50vw);
        top: var(--odvv-general-top, 35px);
    }
    .odvv-listing-navigation .odvv-explorer-header {
        width: 100%;
        max-width: none;
        margin: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    .odvv-category-launcher-tooltip.is-leaving {
        animation: none;
        opacity: 0;
        visibility: hidden;
    }
}

.odvv-explorer-category-launcher > .odvv-explorer-category-photo {
    display: block;
    flex: none;
    background: #fffdf8;
}
@media (max-width: 767.98px) {
    html.odvv-flower-enabled #page-container #page:has([data-odvv-general-navigation]) {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    html.odvv-flower-enabled #page-container #page:has([data-odvv-general-navigation]) #main {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}

.odvv-listing-navigation .odvv-explorer-category-launcher:has(> .odvv-explorer-category-photo) {
    height: 46px;
    min-height: 46px;
    padding: 0 9px 0 0;
}
.odvv-explorer-category-launcher > .odvv-explorer-category-photo {
    width: 58px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px 0 0 8px;
}
.odvv-listing-price button[data-odvv-general-filter] {
    height: 46px;
    min-height: 46px;
}

/* Hierarchy cards use arrows between levels instead of a separate label row. */
.odvv-category-explorer .odvv-explorer-selectors {
    align-items: center;
    gap: 0;
}
.odvv-category-explorer .odvv-explorer-level {
    flex-basis: calc((100% - 12px) / 3);
    gap: 0;
}
.odvv-explorer-level-separator {
    position: relative;
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 6px;
    width: 6px;
    min-width: 0;
    height: 48px;
    color: #987554;
    pointer-events: none;
}
.odvv-explorer-level-separator > .icon {
    display: block;
    flex: none;
    width: 20px;
    height: 24px;
    stroke-width: 2.6;
    filter: drop-shadow(0 1px 0 #fffaf0);
}

.odvv-category-explorer .odvv-explorer-select-wrap > span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}
.odvv-category-explorer .odvv-explorer-select-wrap .odvv-hierarchy-selection-photo {
    display: block;
    flex: none;
    width: 32px;
    height: 32px;
    object-fit: cover;
    object-position: center;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
}

/* Listings reuse the flower header, with the filter in its toolbar. */
.odvv-listing-navigation .odvv-explorer-header {
    display: block;
    padding: 4px;
}
.odvv-listing-navigation .odvv-explorer-toolbar {
    gap: 6px;
    margin-bottom: 4px;
}
.odvv-listing-navigation .odvv-explorer-toolbar > span {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.odvv-listing-navigation .odvv-explorer-toolbar > .odvv-explorer-filter {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex: none;
    width: auto;
    height: 34px;
    min-height: 34px;
    gap: 6px;
    margin-left: auto;
    padding: 5px 9px;
    border: 1px solid #bca487;
    border-radius: 8px;
    background: #f3e5d2;
    color: #765033;
    font:
        700 16px/1.2 'ODVV Bitter',
        Georgia,
        serif;
}
.odvv-explorer-toolbar > .odvv-explorer-filter > svg {
    display: block;
    flex: none;
    width: 20px;
    height: 20px;
}
.odvv-listing-navigation .odvv-explorer-selectors {
    padding-bottom: 0;
}

.odvv-explorer-section-switcher {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    gap: 5px;
    overflow: hidden;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}
.odvv-explorer-section-switcher::-webkit-scrollbar {
    display: none;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab {
    flex: none;
    min-height: 32px;
    padding: 5px 8px;
    border: 1px solid #c8ad88;
    border-radius: 8px;
    background: #fffdf8;
    color: #624a31;
    font:
        600 12px/1.25 'ODVV Bitter',
        Georgia,
        serif;
    white-space: nowrap;
    cursor: pointer;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab:hover {
    background: #eee4d2;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab:disabled {
    opacity: 0.45;
    cursor: default;
}

.odvv-category-explorer .odvv-explorer-selectors[hidden] {
    display: none !important;
}
.odvv-explorer-zone-band.odvv-navigation {
    position: static !important;
    display: block !important;
    width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.odvv-explorer-zone-band.odvv-navigation .ob-zone-band {
    margin: 0;
}

/* The selected tab stays in the flex row; only its siblings scroll. */
.ob-section-switcher__scroll {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
    gap: 2px;
    overflow-x: auto;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}
.ob-section-switcher__scroll::-webkit-scrollbar {
    display: none;
}
.odvv-explorer-section-switcher.can-scroll-left .ob-section-switcher__scroll {
    mask-image: linear-gradient(to right, transparent, #000000 12px);
}
.odvv-explorer-section-switcher.can-scroll-right .ob-section-switcher__scroll {
    mask-image: linear-gradient(to left, transparent, #000000 12px);
}
.odvv-explorer-section-switcher.can-scroll-left.can-scroll-right .ob-section-switcher__scroll {
    mask-image: linear-gradient(to right, transparent, #000000 12px, #000000 calc(100% - 12px), transparent);
}
.odvv-explorer-section-switcher [aria-current='true'] {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf8;
    box-shadow: 0 2px 5px #365b4026;
}

/* The standalone band uses the same desktop height as the catalogue controls. */
@media (min-width: 1000px) {
    .odvv-category-explorer .odvv-explorer-zone-band.ob-fixed-top.odvv-navigation .ob-zone-band {
        height: 68px !important;
    }
}

/* Match the explorer flower button and center the close icon. */
dialog.odvv-flower-dialog:has(.odvv-category-explorer) > .odvv-flower-close {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #c8ad88;
    border-radius: 8px;
    background: #fffdf8;
    color: #385b46;
    font:
        600 12px/1.2 'ODVV Bitter',
        Georgia,
        serif;
}
dialog.odvv-flower-dialog:has(.odvv-category-explorer) > .odvv-flower-close .icon {
    display: block;
    flex: none;
    width: 19px;
    height: 19px;
}

/* Keep all three toolbar controls on the same flex alignment baseline. */
.odvv-flower-modal-view .odvv-explorer-toolbar {
    padding-right: 0;
}
.odvv-explorer-toolbar > .odvv-flower-close {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin: 0 0 0 auto;
    padding: 0;
    border: 1px solid #c8ad88;
    border-radius: 8px;
    background: #fffdf8;
    color: #385b46;
    font:
        600 12px/1.2 'ODVV Bitter',
        Georgia,
        serif;
}
.odvv-explorer-toolbar > .odvv-flower-close .icon {
    display: block;
    flex: none;
    width: 19px;
    height: 19px;
}

/* Keep the selected region legible, including in a compact/pinned header. */
.odvv-category-explorer .odvv-explorer-zone-band .ob-zone-selection .ob-selected-zone-map {
    flex: 0 0 40%;
    width: 40%;
    height: 100%;
    max-width: 82px;
    max-height: 56px;
    aspect-ratio: auto;
}

@media (max-width: 600px) {
    .odvv-category-explorer
        .odvv-explorer-zone-band
        .ob-zone-selection
        .ob-zone-status {
        white-space: normal;
        gap: 3px;
    }
}

@media (max-width: 600px) {
    .odvv-category-explorer .odvv-explorer-zone-band .ob-zone-selection .ob-selected-zone-map {
        flex-basis: 34%;
        width: 34%;
    }
    .odvv-category-explorer
        .odvv-explorer-zone-band
        .ob-zone-selection
        :is(#zone-value, .ob-zone-value) {
        overflow-wrap: anywhere;
    }
}

/* Selected levels are read-only; listing headers open the full explorer. */
.odvv-category-explorer .odvv-explorer-level {
    cursor: default;
}
.odvv-category-explorer .odvv-explorer-value {
    padding-right: 0;
}
.odvv-category-explorer .odvv-explorer-selectors[role='button'] {
    cursor: pointer;
}
.odvv-category-explorer .odvv-explorer-selectors[role='button'] .odvv-explorer-level {
    cursor: pointer;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab[aria-current='true'] {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf8;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab[aria-current='true']:is(:hover, :focus, :active) {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf8;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* Selected levels share the full row, regardless of their count. */
.odvv-category-explorer .odvv-explorer-selectors .odvv-explorer-level {
    max-width: none;
}

.odvv-category-confirm-dialog .odvv-leave-brand {
    max-width: 100%;
}
.odvv-category-confirm-dialog .odvv-leave-brand img {
    flex: 0 0 38px;
    border-radius: 6px;
}
.odvv-category-confirm-dialog .odvv-leave-brand strong {
    min-width: 0;
}
.odvv-category-confirm-dialog [data-category-confirm-continue] {
    background: #365b40;
    border-color: #365b40;
    color: #fffaf0;
}

/* Keep the category name and thumbnail inline with the confirmation sentence. */
.odvv-category-confirm-dialog .odvv-leave-brand {
    display: inline;
    white-space: normal;
}
.odvv-category-confirm-dialog .odvv-leave-brand img {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0 5px 0 3px;
    vertical-align: middle;
}
.odvv-category-confirm-dialog .odvv-leave-brand img[hidden] {
    display: none;
}
.odvv-category-confirm-dialog .odvv-leave-brand strong {
    display: inline;
    overflow-wrap: normal;
}

/* Fill short paths; allow longer paths to scroll without squeezing the labels. */
.odvv-category-explorer .odvv-explorer-selectors .odvv-explorer-level {
    flex: 1 0 150px;
    min-width: 150px;
}
.odvv-category-explorer .odvv-explorer-selectors {
    --odvv-path-fade-left: 0px;
    --odvv-path-fade-right: 0px;
    scroll-snap-type: none;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(
        to right,
        transparent,
        #000 var(--odvv-path-fade-left),
        #000 calc(100% - var(--odvv-path-fade-right)),
        transparent
    );
    mask-image: linear-gradient(
        to right,
        transparent,
        #000 var(--odvv-path-fade-left),
        #000 calc(100% - var(--odvv-path-fade-right)),
        transparent
    );
}
.odvv-category-explorer .odvv-explorer-selectors::-webkit-scrollbar {
    display: none;
}
.odvv-category-explorer .odvv-explorer-selectors.can-scroll-left {
    --odvv-path-fade-left: 16px;
}
.odvv-category-explorer .odvv-explorer-selectors.can-scroll-right {
    --odvv-path-fade-right: 16px;
}

/* The last selected level is the current category. */
.odvv-category-explorer
    .odvv-explorer-selectors
    .odvv-explorer-level:last-child
    .odvv-explorer-select-wrap {
    background: #365b40;
    border-color: #365b40;
}
.odvv-category-explorer
    .odvv-explorer-selectors
    .odvv-explorer-level:last-child
    .odvv-explorer-value {
    color: #fffdf8;
}
.odvv-category-explorer
    .odvv-explorer-selectors
    .odvv-explorer-level:last-child
    .odvv-explorer-select-wrap
    > span:first-child {
    color: #fffdf8;
}

/* Breadcrumbs stay on one scrollable line, with the current category at the end. */
.odvv-category-explorer .odvv-explorer-path {
    flex-wrap: nowrap;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    white-space: nowrap;
    scrollbar-width: none;
    --odvv-crumb-fade-left: 0px;
    --odvv-crumb-fade-right: 0px;
    -webkit-mask-image: linear-gradient(
        to right,
        transparent,
        #000 var(--odvv-crumb-fade-left),
        #000 calc(100% - var(--odvv-crumb-fade-right)),
        transparent
    );
    mask-image: linear-gradient(
        to right,
        transparent,
        #000 var(--odvv-crumb-fade-left),
        #000 calc(100% - var(--odvv-crumb-fade-right)),
        transparent
    );
}
.odvv-category-explorer .odvv-explorer-path > * {
    flex-shrink: 0;
}
.odvv-category-explorer .odvv-explorer-path::-webkit-scrollbar {
    display: none;
}
.odvv-category-explorer .odvv-explorer-path.can-scroll-left {
    --odvv-crumb-fade-left: 16px;
}
.odvv-category-explorer .odvv-explorer-path.can-scroll-right {
    --odvv-crumb-fade-right: 16px;
}

.odvv-category-confirm-dialog > p {
    text-align: center;
    overflow-wrap: anywhere;
}

/* Multiple category selection; the action follows the category tree. */
.odvv-category-explorer .odvv-category-check {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    padding: 3px;
    border: 1px solid #a99b80;
    border-radius: 6px;
    color: #ad9e85;
    background: #fffdf7;
}
.odvv-category-explorer [aria-pressed='true'] .odvv-category-check {
    color: #fffdf7;
    background: #365b40;
    border-color: #365b40;
}
.odvv-category-explorer
    [data-home-toggle][aria-pressed='true']:not(.ob-category-explorer__category-title-toggle):not(
        .ob-category-explorer__category-leaf-toggle
    ) {
    box-shadow: inset 0 0 0 2px #365b40;
}
.odvv-explorer-selection-actions {
    position: sticky;
    bottom: 0;
    z-index: 4;
    display: flex;
    justify-content: center;
    padding: 12px;
    background: #faf6ea;
    border-top: 1px solid #d8cbb6;
}
.odvv-category-explorer .odvv-explorer-selection-actions button:not(.ob-category-view__button) {
    min-height: 44px;
    padding: 10px 24px;
    border: 1px solid #365b40;
    border-radius: 9px;
    background: #365b40;
    color: #fffdf7;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}
.odvv-category-explorer .odvv-explorer-selection-actions button:not(.ob-category-view__button):disabled {
    opacity: 0.45;
    cursor: default;
}

.odvv-category-confirm-items {
    display: grid;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-height: 55vh;
    overflow: auto;
    margin-bottom: 16px;
}
.ob-category-confirm__item {
    position: relative;
    display: grid;
    grid-template-rows: 1fr calc(1.25em + 16px);
    justify-items: center;
    gap: 2px;
    min-width: 0;
    margin: 0;
    padding: 4px 4px 2px;
    border: 1px solid #d8c6b1;
    border-radius: 9px;
    background: rgba(0, 0, 0, 0);
    color: #624a31;
    box-shadow: none;
    cursor: pointer;
    text-align: center;
    overflow-wrap: normal;
}
.ob-category-confirm__item:only-child {
    grid-column: 1/-1;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button > .odvv-explorer-card-arrow {
    flex-shrink: 0;
    flex-basis: auto;
    margin-left: auto;
}
.ob-category-confirm__image {
    grid-row: 1;
    align-self: start;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1;
    flex: 0 0 auto;
    object-fit: contain;
    border-radius: 6px;
}

.odvv-category-explorer .odvv-explorer-selectors.is-multiple .odvv-explorer-level {
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    font: inherit;
    text-align: left;
}
.odvv-category-explorer .odvv-explorer-selectors.is-multiple .odvv-explorer-select-wrap {
    width: 100%;
    background: #365b40;
    border-color: #365b40;
}
.odvv-category-explorer .odvv-explorer-selectors.is-multiple .odvv-explorer-value {
    color: #fffdf8;
}
.odvv-category-explorer
    .odvv-explorer-selectors.is-multiple
    .odvv-explorer-select-wrap
    > span:first-child {
    color: #fffdf8;
}
.odvv-category-explorer .odvv-explorer-selectors.is-multiple .odvv-explorer-level:focus-visible {
    outline: 2px solid #987554;
    outline-offset: -2px;
    border-radius: 8px;
}

.odvv-category-explorer .odvv-explorer-selectors.is-multiple {
    gap: 5px;
}

.odvv-explorer-selection-actions {
    gap: 8px;
}
.odvv-category-explorer .odvv-explorer-selection-actions button:not(.ob-category-view__button) {
    flex: 1;
    min-width: 0;
    max-width: 220px;
    padding-inline: 12px;
}
.odvv-category-explorer .odvv-explorer-selection-actions [data-explorer-clear] {
    background: #fffdf7;
    color: #365b40;
}

.odvv-category-explorer.ob-category-explorer--has-selection-actions {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - var(--odvv-header-height, 44px));
    min-height: 0;
    overflow: hidden;
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions > .odvv-explorer-header {
    position: relative;
    top: auto !important;
    flex: none;
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions > .odvv-explorer-content {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions
    > .odvv-explorer-selection-actions {
    bottom: auto;
    flex: none;
    margin-top: auto;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}
dialog.odvv-flower-dialog > [data-flower-mount].odvv-category-mode {
    overflow: hidden !important;
    padding: 0 !important;
}

/* Parent category and up to four selected children. */
.odvv-category-explorer .odvv-explorer-selectors.odvv-selection-band {
    display: grid;
    gap: 6px;
    padding: 6px;
    border: 1px solid #b9c5a9;
    border-radius: 11px;
    background: #fffdf5;
    overflow: visible;
    mask-image: none;
    -webkit-mask-image: none;
}
.odvv-category-explorer .odvv-selection-band.ob-category-explorer--has-selected {
    grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr);
}
.odvv-selection-band button {
    min-width: 0;
    margin: 0;
    border: 1px solid #b8c6a4;
    border-radius: 7px;
    background: #edf1df;
    color: #365b40;
    font:
        600 12px/1.2 'ODVV Bitter',
        Georgia,
        serif;
    cursor: pointer;
    text-align: left;
}
.odvv-selection-parent {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px;
    min-height: 58px;
}
.odvv-selection-parent > img {
    width: 36px;
    height: 40px;
    object-fit: contain;
    flex: none;
    border-radius: 4px;
}
.odvv-selection-parent > strong {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
.odvv-selection-parent > .icon {
    width: 14px;
    height: 14px;
    flex: none;
}
.odvv-selection-children {
    position: relative;
    display: grid;
    align-self: start;
    align-content: start;
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
}
.odvv-selection-child {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px;
    overflow-wrap: anywhere;
}
.odvv-selection-child > .icon {
    width: 14px;
    height: 14px;
    flex: none;
}
.odvv-selection-child:only-child {
    grid-column: 1/-1;
}
[data-selection-notice] {
    margin: 5px 0 0;
    font-size: 12px;
    color: #624a31;
}

.odvv-category-explorer
    [data-home-products][aria-pressed='true']:not(.ob-category-explorer__category-inline-all):not(.ob-category-explorer__branch-select-all) {
    background: #365b40;
    color: #fffdf7;
    border-color: #365b40;
    box-shadow: inset 0 0 0 1px #365b40;
}

/* Selection styling follows aria-pressed, never pointer focus or aria-current. */
.odvv-category-explorer
    [data-home-toggle][aria-pressed]:not(.ob-category-explorer__category-title-toggle):not(
        .ob-category-explorer__category-leaf-toggle
    ) {
    border: 1px solid transparent;
    border-radius: 9px;
    box-shadow: none;
    transform: none;
    transition: none;
}
.odvv-category-explorer
    [data-home-toggle][aria-pressed='false']:not(.ob-category-explorer__category-title-toggle):not(
        .ob-category-explorer__category-leaf-toggle
    ):is(:not(:hover), :hover, :focus, :active) {
    background: transparent;
    color: #624a31;
    border-color: transparent;
    box-shadow: none;
    font-weight: 400;
}
.odvv-category-explorer
    [data-home-toggle][aria-pressed='false']:not(.ob-category-explorer__category-title-toggle):not(
        .ob-category-explorer__category-leaf-toggle
    )
    > strong {
    color: #624a31;
}
.odvv-category-explorer
    [data-home-toggle][aria-pressed='true']:not(.ob-category-explorer__category-title-toggle):not(
        .ob-category-explorer__category-leaf-toggle
    ):is(:not(:hover), :hover, :focus, :active) {
    background: linear-gradient(105deg, #e8efdc, #f0f4e7);
    border-color: #688a67;
    color: #365b40;
    box-shadow: none;
    font-weight: 700;
}
.odvv-category-explorer
    [data-home-toggle][aria-pressed='true']:not(.ob-category-explorer__category-title-toggle):not(
        .ob-category-explorer__category-leaf-toggle
    )
    > strong {
    color: #365b40;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch:has(
        > .ob-category-explorer__home-branch-row > [aria-pressed]
    ) {
    margin-block: 4px;
    border-bottom: 1px solid #efe5d6;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch:has(
        > .ob-category-explorer__home-branch-row > [aria-pressed='true']
    ) {
    border-bottom-color: transparent;
}
.odvv-category-explorer .ob-category-explorer__home-branch-row:has(> [aria-pressed]) {
    height: 58px;
    min-height: 58px;
    max-height: 58px;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button[aria-pressed] {
    height: 58px;
    min-height: 58px;
    max-height: 58px;
}
.odvv-category-explorer .ob-category-explorer__home-branch-button[aria-pressed] {
    padding: 4px;
    gap: 12px;
    font-size: 18px;
    line-height: 1.25;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch-button[aria-pressed]
    .ob-category-explorer__category-pictogram {
    width: 46px;
    height: 46px;
    border-radius: 8px;
}
.odvv-category-explorer [data-home-toggle][aria-pressed] > .odvv-explorer-card-arrow {
    width: 32px;
    height: 32px;
    min-width: 32px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    transform: none;
}
.odvv-category-explorer [data-home-toggle][aria-pressed] .odvv-category-check {
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    padding: 5px;
    border: 2px solid #c4b69d;
    border-radius: 8px;
    background: #fffdf7;
    color: transparent;
}
.odvv-category-explorer [data-home-toggle][aria-pressed='true'] .odvv-category-check {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf7;
}
.odvv-category-explorer :is([data-home-toggle], [data-home-products]):focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}
html .odvv-category-explorer :is([data-home-toggle], [data-home-products]):focus-visible {
    outline: 2px solid #987554 !important;
    outline-offset: 2px;
    box-shadow: none;
}
html.odvv-b2b-focus
    .odvv-category-explorer
    :is([data-home-toggle], [data-home-products]):focus-visible {
    outline: 2px solid #987554 !important;
    outline-offset: 2px;
    box-shadow: none;
}

/* Keep selection controls at the viewport edge, even in a shorter flower panel. */
.odvv-category-explorer.ob-category-explorer--has-selection-actions {
    box-sizing: border-box;
    padding-bottom: calc(57px + max(12px, env(safe-area-inset-bottom)));
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions
    > .odvv-explorer-selection-actions {
    position: fixed !important;
    inset: auto 0 0 !important;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    z-index: 2147483100;
}
.odvv-explorer-selection-actions > [data-selection-notice] {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    width: 440px;
    max-width: calc(100vw - 24px);
    margin: 0;
    padding: 12px 16px;
    border: 1px solid #b64a40;
    border-radius: 10px;
    background: #fff1eb;
    color: #852c26;
    box-shadow: 0 4px 18px #54271f26;
    font:
        600 14px/1.4 'ODVV Bitter',
        Georgia,
        serif;
    text-align: center;
}
body:has(.ob-category-explorer--has-selection-actions > .odvv-explorer-selection-actions)
    .odvv-page-navigation {
    visibility: hidden;
}

/* Puzzle selector: the original map trigger occupies the parent-card position. */
.odvv-category-explorer
    .odvv-explorer-zone-band.ob-fixed-top.odvv-navigation
    .odvv-explorer-selectors.odvv-puzzle-selection-band {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100%;
    margin: 0;
    gap: 6px;
}
.odvv-category-explorer
    .odvv-explorer-zone-band.ob-fixed-top.odvv-navigation
    .odvv-explorer-selectors.odvv-puzzle-selection-band.ob-category-explorer--has-selected {
    grid-template-columns: minmax(184px, 1fr) minmax(0, 1.3fr);
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-map-trigger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-width: 0;
    min-height: 66px;
    height: auto !important;
    padding: 7px !important;
    border: 1px solid #b8c6a4 !important;
    border-radius: 8px;
    background: #365b40 !important;
    box-shadow: none !important;
    color: #fffdf4;
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-map-trigger .ob-zone-map {
    flex: 0 0 45px;
    height: 40px !important;
    max-height: none;
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-prompt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
    text-align: left;
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-prompt strong {
    font:
        700 14px/1.2 'ODVV Bitter',
        Georgia,
        serif;
    overflow-wrap: anywhere;
}
.odvv-explorer-zone-band
    .odvv-puzzle-selection-band
    :is(.ob-zone-prompt-text, .ob-zone-chosen-label) {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    font:
        400 11px/1.25 'ODVV Bitter',
        Georgia,
        serif;
    color: #fffdf4;
    white-space: normal;
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-map-trigger > .ob-zone-chevron {
    display: none;
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-change {
    text-decoration: underline;
}
.odvv-explorer-zone-band
    .odvv-puzzle-selection-band
    .ob-zone-map-trigger:focus:not(:focus-visible) {
    outline: none !important;
    filter: none;
    box-shadow: none !important;
}

.odvv-category-explorer .odvv-explorer-zone-band .odvv-puzzle-selection-band {
    align-items: start !important;
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-change .ob-zone-chevron {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin: 0 0 2px 4px;
}

.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-prompt strong {
    font-size: 13px !important;
    white-space: nowrap;
}
.odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-map-trigger .ob-zone-map {
    flex-basis: 38px;
    width: 38px !important;
    max-width: 38px;
}

/* Parent categories keep their own brown tone and fixed grid allocation. */
.odvv-category-explorer
    .odvv-explorer-card.ob-category-explorer__category-card:is(
        :not(:hover),
        :hover,
        :focus,
        :active
    ) {
    background: linear-gradient(135deg, #fffaf1 0%, #f3e4ce 60%, #fffaf1 100%);
    border: 1px solid #bda283;
    color: #624a31;
    box-shadow: none;
}
.odvv-category-explorer
    .odvv-selection-band
    .odvv-selection-parent:is(:not(:hover), :hover, :focus, :active) {
    background: linear-gradient(135deg, #fffaf1 0%, #f3e4ce 60%, #fffaf1 100%);
    border: 1px solid #bda283;
    color: #624a31;
    box-shadow: none;
}
.odvv-category-explorer .odvv-explorer-card.ob-category-explorer__category-card > strong {
    color: #624a31;
}
.odvv-category-explorer .ob-category-explorer__category-group.ob-category-explorer--is-open {
    grid-column: auto;
}
.odvv-category-explorer .odvv-explorer-selectors.odvv-selection-band {
    grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr);
}
.odvv-category-explorer
    .odvv-explorer-zone-band.ob-fixed-top.odvv-navigation
    .odvv-explorer-selectors.odvv-puzzle-selection-band {
    grid-template-columns: minmax(184px, 1fr) minmax(0, 1.3fr);
}
.odvv-category-explorer
    .ob-category-explorer__home-branch-button[aria-pressed='false']:is(
        :not(:hover),
        :hover,
        :focus,
        :active
    ) {
    background: transparent;
    border-color: transparent;
    color: #624a31;
    font-weight: 400;
}
.odvv-category-explorer .odvv-selection-child:only-child {
    grid-column: auto;
}
.odvv-category-explorer .odvv-selection-child.is-placeholder {
    grid-column: 1/-1;
    min-height: 0;
    height: auto;
    justify-content: center;
    text-align: center;
    background: #edf1df;
    color: #365b40;
}

.odvv-category-explorer.odvv-explorer-actions-portal {
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.odvv-explorer-actions-portal > .odvv-explorer-selection-actions {
    position: fixed !important;
    inset: auto 0 0 !important;
    z-index: 2147483100;
    width: 100%;
    box-sizing: border-box;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}
body:has(> .odvv-explorer-actions-portal) .odvv-page-navigation {
    visibility: hidden;
}

/* Enlarge the parent-card contents without increasing its footprint. */
.odvv-category-explorer .odvv-selection-parent {
    box-sizing: border-box;
    padding: 0 4px 0 0;
    gap: 5px;
}
.odvv-category-explorer .odvv-selection-parent > img {
    display: block;
    align-self: stretch;
    flex: 0 0 56px;
    aspect-ratio: 1;
    margin: 0;
    padding: 0;
    border-radius: 6px 0 0 6px;
    object-fit: cover;
    object-position: center;
}
.odvv-category-explorer .odvv-selection-parent > strong {
    -webkit-box-orient: vertical;
}
.odvv-category-explorer .odvv-selection-parent > .icon {
    width: 16px;
    height: 16px;
}
.odvv-category-explorer .odvv-selection-parent > .icon:first-child {
    width: 28px;
    height: 28px;
}

/* Leave room for whole words beside the square category photo. */
.odvv-category-explorer
    .odvv-explorer-selectors.odvv-selection-band:not(.odvv-puzzle-selection-band) {
    grid-template-columns: minmax(170px, 1fr) minmax(0, 1.3fr);
}
.odvv-category-explorer .odvv-selection-parent > strong {
    hyphens: none;
}
@media (max-width: 360px) {
    .odvv-category-explorer
        .odvv-selection-band:not(.odvv-puzzle-selection-band)
        .odvv-selection-children {
        grid-template-columns: minmax(0, 1fr);
    }
}

.odvv-category-explorer
    .odvv-explorer-zone-band
    .odvv-puzzle-selection-band
    .ob-zone-map-trigger:not([data-zone='all']) {
    background: #876142 !important;
    border-color: #a68460 !important;
}
.odvv-category-explorer
    .odvv-explorer-zone-band
    .ob-zone-map-trigger:not([data-zone='all'])
    .ob-zone-pin
    circle {
    fill: #876142;
}

/* Keep Romania visible after selecting a region. */
.odvv-category-explorer
    .odvv-explorer-zone-band
    .ob-zone-map-trigger:not([data-zone='all'])
    .ob-region-outline {
    display: none;
}
.odvv-category-explorer
    .odvv-explorer-zone-band
    .ob-zone-map-trigger:not([data-zone='all'])
    .ob-country-outline {
    display: block;
}
.odvv-category-explorer
    .odvv-explorer-zone-band
    .ob-zone-map-trigger:not([data-zone='all'])
    .ob-zone-pin {
    display: none;
}

/* Progressive hierarchy sizing; root cards retain their existing dimensions. */
.odvv-category-explorer .ob-category-explorer__home-branch {
    --branch-font: 16px;
    --branch-image: 40px;
    --branch-height: 54px;
    --branch-check: 28px;
    --branch-gap: 10px;
}
.odvv-category-explorer .ob-category-explorer__home-branch .ob-category-explorer__home-branch {
    --branch-font: 15px;
    --branch-image: 36px;
    --branch-height: 50px;
    --branch-check: 26px;
    --branch-gap: 9px;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    .ob-category-explorer__home-branch
    .ob-category-explorer__home-branch {
    --branch-font: 14px;
    --branch-image: 32px;
    --branch-height: 46px;
    --branch-check: 24px;
    --branch-gap: 8px;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    .ob-category-explorer__home-branch
    .ob-category-explorer__home-branch
    .ob-category-explorer__home-branch {
    --branch-font: 13px;
    --branch-image: 30px;
    --branch-height: 44px;
    --branch-check: 22px;
    --branch-gap: 7px;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row {
    height: var(--branch-height);
    min-height: var(--branch-height);
    max-height: var(--branch-height);
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row
    > .ob-category-explorer__home-branch-button {
    height: var(--branch-height);
    min-height: var(--branch-height);
    max-height: var(--branch-height);
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row
    > .ob-category-explorer__home-branch-button {
    font-size: var(--branch-font);
    gap: var(--branch-gap);
    padding: 4px var(--ob-branch-action-inset, 4px) 4px 4px;
    line-height: 1.25;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row
    > .ob-category-explorer__home-branch-button
    > .ob-category-explorer__category-pictogram {
    width: var(--branch-image);
    height: var(--branch-image);
    flex: 0 0 var(--branch-image);
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row
    > .ob-category-explorer__home-branch-button
    > .ob-category-explorer__category-pictogram
    > .icon {
    width: 65%;
    height: 65%;
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row
    > .ob-category-explorer__home-branch-button
    > .odvv-explorer-card-arrow {
    width: var(--branch-check);
    height: var(--branch-check);
    min-width: var(--branch-check);
    flex-basis: var(--branch-check);
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row
    > .ob-category-explorer__home-branch-button
    .odvv-category-check {
    width: var(--branch-check);
    height: var(--branch-check);
    min-width: var(--branch-check);
    flex-basis: var(--branch-check);
}
.odvv-category-explorer
    .ob-category-explorer__home-branch
    > .ob-category-explorer__home-branch-row
    > .ob-category-explorer__branch-view-all {
    font-size: calc(var(--branch-font) - 3px);
    min-height: 30px;
    padding: 5px 7px;
}

/* Preserve the warm paper gradient behind the category hierarchy. */
.odvv-category-explorer .ob-category-explorer__home-branch-list {
    background: linear-gradient(105deg, #f6efdf, #fffdf8);
}

/* Root actions belong to the category card, with no separate action strip. */
.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions {
    grid-template-rows: 1fr 1fr;
    column-gap: 12px;
    row-gap: 4px;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    cursor: default;
}
.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
    > img {
    grid-row: 1 / 3;
}
.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
    > .odvv-explorer-no-image {
    grid-row: 1 / 3;
}
.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
    button:not(.ob-category-explorer__branch-select-all):not(.ob-category-explorer__edge-close) {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #624a31;
    font-family: inherit;
    box-shadow: none;
    cursor: pointer;
}
.odvv-category-explorer .ob-category-explorer__category-title-toggle {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    text-align: left;
    font-size: 18px;
    line-height: 1.3;
}
.odvv-category-explorer .ob-category-explorer__category-inline-all {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    justify-self: start;
    display: flex;
    align-items: center;
    gap: 5px;
    font:
        400 13px/1.4 'ODVV Bitter',
        Georgia,
        serif;
    color: #365b40;
    text-decoration: none;
    padding: 3px 0;
}
.odvv-category-explorer .ob-category-explorer__category-inline-all .icon {
    width: 12px;
    height: 12px;
}
.odvv-category-explorer .ob-category-explorer__category-inline-toggle {
    grid-column: 3;
    grid-row: 1 / 3;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
}
.odvv-category-explorer .ob-category-explorer__category-collapse-label {
    display: none;
}
.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card
    .ob-category-explorer__category-collapse-label {
    display: inline;
}
.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card
    .ob-category-explorer__category-head-arrow {
    transform: rotate(180deg);
}
@media (max-width: 700px) {
    .odvv-category-explorer
        .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions {
        grid-template-columns: 80px minmax(0, 1fr) auto;
        column-gap: 8px;
    }
    .odvv-category-explorer
        .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
        > .odvv-explorer-no-image {
        width: 80px;
        height: 80px;
    }
    .odvv-category-explorer .ob-category-explorer__category-inline-toggle {
        gap: 3px;
        font-size: 11px;
    }
}

.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle
    > .ob-category-explorer__category-head-arrow {
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    transform: none;
}
.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle
    > .ob-category-explorer__category-head-arrow {
    transform: none;
}
.odvv-category-explorer
    .ob-category-explorer__category-inline-toggle
    .ob-category-explorer__category-head-arrow
    > .icon {
    width: 18px;
    height: 18px;
    transition: transform 0.25s;
}
.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle
    .ob-category-explorer__category-head-arrow
    > .icon {
    transform: rotate(180deg);
}

.odvv-category-explorer
    .odvv-explorer-selectors.odvv-selection-band:not(.odvv-selection-summary-band) {
    border: 1.5px solid #bda283 !important;
}

.odvv-category-explorer
    .odvv-explorer-zone-band.ob-fixed-top.odvv-navigation
    .odvv-explorer-selectors.ob-zone-band.odvv-puzzle-selection-band.odvv-selection-band:not(
        .odvv-selection-summary-band
    ) {
    border: 1.5px solid #bda283 !important;
}

.odvv-category-explorer .odvv-selection-children {
    min-width: 0;
}
.odvv-category-explorer .odvv-selection-children .odvv-selection-child {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    overflow-wrap: normal;
}
.odvv-category-explorer .odvv-selection-children .odvv-selection-child > span {
    display: block;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.odvv-category-explorer .odvv-selection-children .odvv-selection-child.is-placeholder {
    display: block;
    text-overflow: ellipsis;
}

/* Keep four equally sized selection slots, including decorative empty ones. */
.odvv-category-explorer .odvv-selection-children {
    grid-auto-rows: 1fr;
}
.odvv-category-explorer .odvv-selection-children .odvv-selection-child {
    box-sizing: border-box;
    min-height: 26px;
}
.odvv-category-explorer .odvv-selection-children .odvv-selection-child.is-placeholder {
    grid-column: 1/-1;
}
.odvv-category-explorer .odvv-selection-children .odvv-selection-child.is-empty {
    align-self: stretch;
    min-width: 0;
    margin: 0;
    padding: 5px;
    border: 1px solid #b8c6a4;
    border-radius: 7px;
    background: #edf1df;
    opacity: 0.5;
    pointer-events: none;
}

/* Shared filter control: keep its icon centered on mobile and desktop. */
.odvv-category-explorer .odvv-explorer-toolbar .odvv-floating-filter {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    padding: 6px !important;
    gap: 0 !important;
    line-height: 1 !important;
    transform: none !important;
    box-sizing: border-box;
}
.odvv-category-explorer .odvv-explorer-toolbar .odvv-floating-filter > svg {
    display: block;
    flex: 0 0 20px;
    margin: 0 !important;
}
.odvv-category-explorer .odvv-explorer-toolbar .odvv-floating-filter > .odvv-filter-badge {
    position: absolute;
    top: -4px;
    right: -4px;
}
.odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab {
    font-weight: 700;
}
.odvv-category-explorer
    .odvv-puzzle-selection-band
    :is(
        .odvv-selection-child,
        .odvv-selection-child > span,
        .ob-zone-prompt strong,
        .ob-zone-prompt-text,
        .ob-zone-chosen-label
    ) {
    font-weight: 700 !important;
}

/* The map card and the two selection rows share the same vertical bounds. */
.odvv-category-explorer .odvv-explorer-zone-band .odvv-puzzle-selection-band .ob-zone-map-trigger {
    box-sizing: border-box;
    min-height: 58px;
    height: 58px !important;
    padding: 5px 7px !important;
}
.odvv-category-explorer .odvv-puzzle-selection-band .odvv-selection-children {
    grid-auto-rows: 27px;
    row-gap: 4px;
}
.odvv-category-explorer .odvv-puzzle-selection-band .odvv-selection-child {
    height: 27px;
    min-height: 27px;
    padding-block: 4px;
}

/* Reuse the original selected-zone button in the shared selection band. */
.odvv-category-explorer .odvv-explorer-zone-band .odvv-puzzle-selection-band > .ob-zone-selection {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 5px 7px !important;
    border: 1px solid #b5c19a;
    border-radius: 10px;
    background: linear-gradient(110deg, #e6ead8, #f0f0df);
    color: #835333;
    box-shadow:
        0 1px 2px #704b3020,
        inset 0 1px 0 #ffffff;
}
.odvv-category-explorer
    .odvv-explorer-zone-band
    .odvv-puzzle-selection-band
    > .ob-zone-selection
    .ob-selected-zone-map {
    display: block;
    flex: 0 1 30%;
    width: 30%;
    max-width: 48px;
    height: auto;
    max-height: 40px;
    margin: 0;
    padding: 0;
}
.odvv-category-explorer .odvv-puzzle-selection-band > .ob-zone-selection .ob-zone-selection-copy {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    text-align: left;
}
.odvv-category-explorer .odvv-puzzle-selection-band > .ob-zone-selection .ob-zone-value {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #835333;
}
.odvv-category-explorer
    .odvv-puzzle-selection-band
    > .ob-zone-selection
    :is(.ob-zone-status, .ob-zone-change) {
    display: flex !important;
    align-items: center;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
}
.odvv-category-explorer .odvv-puzzle-selection-band > .ob-zone-selection .ob-zone-status {
    color: #6b705b;
}
.odvv-category-explorer .odvv-puzzle-selection-band > .ob-zone-selection .ob-zone-change {
    color: #514d3e;
    font-family: inherit;
    font-weight: 400;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .odvv-category-explorer > .odvv-explorer-header {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin-top: 0;
        margin-bottom: 0;
        margin-inline: 0;
        padding-top: 0 !important;
        padding-inline: 5px;
    }
    .odvv-listing-navigation .odvv-category-explorer > .odvv-explorer-header {
        width: 100%;
        max-width: none;
        margin-top: 0;
        margin-inline: 0;
        padding-top: 0 !important;
        padding-inline: 5px;
    }
}

.odvv-category-explorer
    .ob-category-explorer__category-card
    .odvv-explorer-card-arrow.ob-category-explorer__category-head-arrow {
    background: #eadbc7;
    border-color: #bda283;
    color: #624a31;
}

.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card
    .odvv-explorer-card-arrow.ob-category-explorer__category-head-arrow {
    background: #eadbc7;
    border-color: #bda283;
    color: #624a31;
}

.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle {
    font:
        400 13px/1.4 'ODVV Bitter',
        Georgia,
        serif;
}

.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-collapse-label {
    font:
        400 13px/1.4 'ODVV Bitter',
        Georgia,
        serif;
}

/* Anchor actions outside the scrolling/transformed explorer, in body or dialog. */
.odvv-category-explorer.odvv-explorer-actions-portal {
    position: static !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
    transform: none !important;
    filter: none !important;
    contain: none !important;
    overflow: visible !important;
}
.odvv-explorer-actions-portal > .odvv-explorer-selection-actions {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    margin: 0 !important;
    max-width: none !important;
}
.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle {
    width: max-content;
    min-width: 36px;
    flex-shrink: 0;
    white-space: nowrap;
}
.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle
    > .ob-category-explorer__category-head-arrow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex: none;
    width: max-content;
    min-width: 36px;
    height: 36px;
    padding: 0 9px;
    gap: 6px;
    box-sizing: border-box;
    white-space: nowrap;
}
.odvv-category-explorer
    .ob-category-explorer__category-inline-toggle
    .ob-category-explorer__category-collapse-label {
    order: 0;
    flex: none;
}
.odvv-category-explorer
    .ob-category-explorer__category-inline-toggle
    .ob-category-explorer__category-head-arrow
    > .icon {
    order: 1;
    flex: 0 0 18px;
}

.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle
    > .ob-category-explorer__category-head-arrow {
    background: linear-gradient(135deg, #f0e6d4, #fffdf5);
}

.odvv-category-explorer
    .ob-category-explorer__category-group.ob-category-explorer--is-open
    > .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle
    > .ob-category-explorer__category-head-arrow {
    background: linear-gradient(135deg, #f0e6d4, #fffdf5);
}

/* Slightly larger header controls, with matched selection-column heights. */
.odvv-category-explorer .odvv-explorer-toolbar {
    min-height: 38px;
}
.odvv-category-explorer .odvv-explorer-toolbar > button {
    width: 38px;
    height: 38px;
    min-width: 38px;
    flex-shrink: 0;
}
.odvv-category-explorer .odvv-explorer-toolbar .odvv-floating-filter {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
}
.odvv-category-explorer .odvv-selection-parent > img {
    flex-basis: 62px;
    width: 62px;
    height: 62px;
}
.odvv-category-explorer .odvv-selection-band .odvv-selection-children {
    grid-auto-rows: 30px;
}
.odvv-category-explorer .odvv-selection-band .odvv-selection-children .odvv-selection-child {
    height: 30px;
    min-height: 30px;
    font-size: 13px;
}
.odvv-category-explorer .odvv-explorer-zone-band .odvv-puzzle-selection-band > .ob-zone-selection {
    height: 64px !important;
    min-height: 64px;
}

/* Equal spacing above and below the section toolbar. */
.odvv-category-explorer > .odvv-explorer-header:has(.odvv-explorer-section-switcher) {
    padding-top: 6px !important;
}
.odvv-listing-navigation
    .odvv-category-explorer
    > .odvv-explorer-header:has(.odvv-explorer-section-switcher) {
    padding-top: 4px !important;
}

/* Fix the whole action container, avoiding clipped fixed children on mobile. */
body .odvv-category-explorer.odvv-explorer-actions-portal {
    position: fixed !important;
    inset: auto 0 var(--odvv-actions-bottom, 0px) !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2147483500;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto;
    box-sizing: border-box;
}
body .odvv-explorer-actions-portal > .odvv-explorer-selection-actions {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 767.98px) {
    html body #page-container #page {
        padding: 0px 0px !important;
        padding-block: 0 !important;
        padding-inline: 0 !important;
    }
}

/* Fill the explorer down to the bottom while keeping the last cards reachable. */
dialog.odvv-flower-dialog .odvv-category-explorer.ob-category-explorer--has-selection-actions {
    height: 100%;
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions > .odvv-explorer-content {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions
    > .odvv-explorer-content
    > .odvv-explorer-cards {
    flex: 1 0 auto;
    align-content: start;
    box-sizing: border-box;
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
}

/* Explorer controls keep their normal geometry when legacy navigation pins. */
html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-explorer-zone-band.ob-fixed-top.odvv-navigation
    .odvv-puzzle-selection-band.ob-zone-band {
    padding: 6px !important;
}
html .odvv-category-explorer .odvv-explorer-header .ob-zone-status > span {
    width: 14px;
    height: 14px;
    font-size: 10px;
}
@media (max-width: 600px) {
    html .odvv-category-explorer .odvv-explorer-header .ob-zone-status > span {
        width: 12px;
        height: 12px;
        font-size: 9px;
    }
}
@media (max-width: 370px) {
    html .odvv-category-explorer .odvv-explorer-header .ob-zone-status > span {
        width: 10px;
        height: 10px;
        font-size: 8px;
    }
}

html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-puzzle-selection-band
    > .ob-zone-selection {
    gap: 7px !important;
}

/* The inner explorer band must not inherit the outer sticky navigation width. */
html body .odvv-category-explorer .odvv-explorer-header .odvv-explorer-zone-band.odvv-navigation {
    width: 100% !important;
}

/* Remove main content padding on phones only. */
@media (max-width: 767.98px) {
    html body #page-container #page #main {
        padding: 0 !important;
        padding-block: 0 !important;
        padding-inline: 0 !important;
    }
}

.odvv-category-explorer .odvv-selection-parent > strong {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: normal;
    -webkit-line-clamp: unset;
    font-size: 13px;
    line-height: 1.15;
}

/* Distinguish the category selection from the geographic selection. */
html body .odvv-category-explorer .odvv-selection-children > .odvv-selection-child {
    border: 1px solid #244833 !important;
}
html body .odvv-category-explorer .odvv-selection-children > .odvv-selection-child.is-empty {
    opacity: 1;
}
html body .odvv-category-explorer .odvv-explorer-header .ob-zone-selection {
    border-color: #875333 !important;
}

/* The category list fills the viewport, not the previous flower's measured height. */
html body .odvv-flower-view.odvv-flower-fit.odvv-category-mode {
    height: calc(100dvh - var(--odvv-header-height, 44px)) !important;
    max-height: none !important;
}
html
    body
    .odvv-flower-view.odvv-category-mode
    > .odvv-category-explorer.ob-category-explorer--has-selection-actions {
    height: 100% !important;
    min-height: 0;
    box-sizing: border-box;
}
html
    body
    .odvv-category-explorer.ob-category-explorer--has-selection-actions
    > .odvv-explorer-content
    > .odvv-explorer-cards {
    min-height: 100%;
    align-content: start;
}

/* Compact section tiles match the complete mobile reference, not its enlarged crop. */
.odvv-category-explorer .odvv-explorer-toolbar:has(.odvv-explorer-section-switcher) {
    gap: 4px;
    align-items: center;
}
.odvv-category-explorer .odvv-explorer-section-switcher {
    gap: 4px;
    padding: 0 1px;
    flex: 1 1 auto;
}
.odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    height: 56px;
    min-height: 56px;
    padding: 3px 12px;
    border: 2px solid #fffdf3;
    border-radius: 12px;
    background: linear-gradient(135deg, #fffdf5, #fbe9d5);
    color: #67391e;
    box-shadow: inset 0 0 0 1px #fff8e9;
    filter: none;
    font:
        700 10px/1.05 'ODVV Bitter',
        Georgia,
        serif;
    white-space: normal;
    text-align: center;
    cursor: pointer;
}
.odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab:hover {
    background: linear-gradient(135deg, #fffaf0, #f5dcc0);
}
.odvv-section-symbol {
    display: grid;
    place-items: center;
    flex: none;
    width: 19px;
    height: 19px;
    padding: 1px;
    border: 1px solid #e8d6b8;
    border-radius: 50%;
    background: #fffaf0;
    color: #704528;
    box-sizing: border-box;
}
.odvv-section-symbol > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.odvv-section-symbol > svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.odvv-section-label {
    max-width: 100%;
    flex: none;
    white-space: nowrap;
    letter-spacing: -0.3px;
    line-height: 1.1;
}
.odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab[aria-current='true'] {
    border-color: transparent;
    border-radius: 0;
    background: transparent url('../img/folk-flower/section-petal-selected.svg?v=2') center/100%
        100% no-repeat;
    border: 0;
    color: #fff9e9;
    box-shadow: none;
    filter: none;
    padding: 4px 12px;
    height: 56px;
    min-height: 56px;
}
.odvv-category-explorer
    .odvv-explorer-section-switcher
    > .ob-category-explorer__palette-tab[aria-current='true']:is(:hover, :focus, :active) {
    border-color: transparent;
    border-radius: 0;
    background: transparent url('../img/folk-flower/section-petal-selected.svg?v=2') center/100%
        100% no-repeat;
    border: 0;
    color: #fff9e9;
    box-shadow: none;
    filter: none;
    padding: 4px 12px;
    height: 56px;
    min-height: 56px;
}
.odvv-category-explorer .odvv-explorer-toolbar > .odvv-explorer-flower {
    flex: 0 0 30px;
    width: 30px;
    height: 34px;
    min-width: 30px;
    border-radius: 6px;
    background: #fffdf5;
    border: 1px solid #d5ba99;
}
.odvv-category-explorer .odvv-explorer-flower .odvv-mini-flower {
    width: 26px;
    height: 26px;
}
.odvv-category-explorer .odvv-explorer-toolbar :is(.odvv-floating-filter, .odvv-explorer-filter) {
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 34px !important;
    min-width: 30px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 4px !important;
    border: 1px solid #bc8d66;
    border-radius: 6px;
    background: linear-gradient(135deg, #ffedd4, #f6c99e) !important;
    color: #241b14 !important;
    box-shadow: 0 2px 4px #9c71452b !important;
}
.odvv-category-explorer .odvv-explorer-toolbar .odvv-floating-filter > svg {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px;
}
.odvv-category-explorer .odvv-explorer-toolbar .odvv-filter-badge {
    min-width: 14px;
    height: 14px;
    padding: 0 2px;
    font-size: 9px;
    background: #925128;
    color: #fff9ef;
    border: 1px solid #fff4e3;
    top: -4px;
    right: -4px;
}

/* Three equal tiles fill the available rail; extra sections scroll horizontally. */
.odvv-category-explorer .odvv-explorer-section-switcher {
    container-type: inline-size;
    gap: 2px;
}
.odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab {
    flex: 0 0 calc((100% - 8px) / 3);
    width: calc((100% - 8px) / 3);
    min-width: 0;
    font-size: clamp(9px, 4cqw, 16px);
}

.odvv-category-explorer .odvv-explorer-section-switcher [data-switch-section='-12'] {
    gap: 2px;
}
.odvv-explorer-section-switcher [data-switch-section='-12'] .odvv-section-symbol {
    width: 16px;
    height: 16px;
}

/* Shape morph is independent from the horizontal position animation. */
.odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab.odvv-section-morphing {
    position: relative;
    background-image: none !important;
}
.odvv-section-morph {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
}
.odvv-section-morphing > .odvv-section-symbol {
    position: relative;
    z-index: 1;
}
.odvv-section-morphing > .odvv-section-label {
    position: relative;
    z-index: 1;
}

/* Render the shadow outside the scrolling rail and its clipped edge mask. */
.odvv-category-explorer .odvv-section-shadow {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    filter: drop-shadow(0 4px 4px #62402080) drop-shadow(0 1px 2px #62402040);
}
.odvv-category-explorer .odvv-section-shadow > .odvv-explorer-section-switcher {
    width: 100%;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .odvv-category-explorer .odvv-section-shadow {
        flex: 1 1 auto;
        max-width: none;
    }
    .odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab {
        flex-basis: 140px;
        width: 140px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .odvv-category-explorer .odvv-explorer-section-switcher {
        cursor: grab;
        user-select: none;
    }
    .odvv-category-explorer .odvv-explorer-section-switcher .ob-category-explorer__palette-tab {
        cursor: grab;
        user-select: none;
    }
    .odvv-category-explorer .odvv-explorer-section-switcher.is-dragging {
        cursor: grabbing;
    }
    .odvv-category-explorer .odvv-explorer-section-switcher.is-dragging .ob-category-explorer__palette-tab {
        cursor: grabbing;
    }
}

/* Anchor the filter counter to the button corner in both server and live headers. */
html
    body
    .odvv-category-explorer
    .odvv-explorer-toolbar
    :is(.odvv-floating-filter, .odvv-explorer-filter) {
    position: relative !important;
    overflow: visible;
}
.odvv-category-explorer
    .odvv-explorer-toolbar
    :is(.odvv-floating-filter, .odvv-explorer-filter)
    > .odvv-filter-badge {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    translate: 50% -50%;
    transform: none !important;
    margin: 0 !important;
    line-height: 1;
    display: grid;
    place-items: center;
    box-sizing: border-box;
}
.odvv-category-explorer .odvv-explorer-toolbar .odvv-filter-badge[hidden] {
    display: none;
}

.odvv-category-explorer .odvv-selection-parent > .odvv-selection-section-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
}
.odvv-category-explorer .odvv-selection-section-icon > :is(img, svg) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Keep category photographs full height; only empty-selection icons need an inset. */
.odvv-category-explorer .odvv-selection-parent:has(> .odvv-selection-section-icon) {
    padding: 0 8px;
    gap: 8px;
}
.odvv-category-explorer .odvv-selection-parent > .odvv-selection-section-icon {
    flex: 0 0 40px;
    margin: 0;
}
.odvv-category-explorer .odvv-selection-parent-name {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 0;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.1;
}
.odvv-category-explorer .odvv-selection-parent-prompt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 18px;
    margin-top: 2px;
    font-size: 13px;
    line-height: 1.05;
    font-weight: 400;
    color: #a52f26;
}
.odvv-category-explorer .odvv-selection-parent-prompt > .odvv-selection-menu-icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 16px;
    height: 16px;
    pointer-events: none;
}
.odvv-category-explorer .odvv-selection-menu-icon > :is(img, svg) {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
}

/* Fit the complete category name inside the original card height. */
.odvv-category-explorer .odvv-selection-parent {
    position: relative;
    height: 64px;
    min-height: 64px;
    max-height: 64px;
    overflow: hidden;
}
.odvv-category-explorer .odvv-selection-parent > strong {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
    padding-block: 3px;
    max-height: none;
}
.odvv-category-explorer .odvv-selection-parent-name {
    flex: 1 1 0;
}
.odvv-category-explorer .odvv-selection-parent-prompt {
    flex: 0 0 18px;
}

/* Selected categories share the existing fixed-size image area. */
.odvv-category-explorer .odvv-selection-parent > .odvv-selection-image-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 2px;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    overflow: hidden;
    border-radius: 6px 0 0 6px;
}
.odvv-category-explorer .odvv-selection-image-grid > span {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}
.odvv-category-explorer .odvv-selection-image-grid img {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    object-fit: cover;
    border-radius: 0;
    margin: 0;
}
.odvv-category-explorer .odvv-selection-image-grid .icon {
    width: 22px;
    height: 22px;
}

/* Keep selected root categories highlighted after the attention animation. */
.odvv-category-explorer
    .odvv-explorer-card.ob-category-explorer__category-card.ob-category-explorer--has-inline-actions.ob-category-explorer--has-category-selection {
    background: linear-gradient(135deg, #f7ecd3 0%, #e5d3aa 55%, #d4b77f 100%);
}

/* Square category images and the original standalone selection checkbox. */
.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
    > img {
    width: 112px;
    height: 112px;
    aspect-ratio: 1;
    object-fit: cover;
    background: transparent;
}
.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
    > .ob-category-explorer__category-leaf-toggle {
    grid-column: 3;
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
}
@media (max-width: 700px) {
    .odvv-category-explorer
        .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
        > img {
        width: 80px;
        height: 80px;
    }
}

.odvv-category-explorer .ob-category-explorer__category-title-toggle strong {
    font-weight: 600;
}

.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-all {
    padding: 5px 7px;
    min-height: 33px;
    border: 1px solid #e8d5b9;
    border-radius: 8px;
    background: linear-gradient(135deg, #f0e6d4, #fffdf5);
    color: #385b46;
    font-size: 13px;
    font-weight: 400;
    gap: 4px;
}

.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__branch-all.ob-category-explorer__category-inline-all {
    border: 1px solid #bda283;
}
@media (max-width: 700px) {
    .odvv-category-explorer .ob-category-explorer__category-title-toggle {
        font-size: 16px;
    }
}

/* Reserve the full square image height, including desktop card padding. */
@media (min-width: 701px) {
    .odvv-category-explorer
        .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions {
        box-sizing: border-box;
        height: auto;
        min-height: 134px;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    }
    .odvv-category-explorer
        .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
        > img {
        align-self: center;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    html
        body
        .odvv-category-explorer
        .odvv-explorer-selectors.odvv-selection-band.ob-category-explorer--has-selected:not(.odvv-selection-summary-band) {
        box-sizing: border-box;
        width: 390px;
        max-width: 100%;
        margin-left: 0;
        margin-right: auto;
        justify-self: start;
    }
}

.odvv-category-explorer
    .odvv-selection-band.ob-category-explorer--has-selected
    .odvv-selection-parent:is(:not(:hover), :hover, :focus, :active) {
    background: linear-gradient(315deg, #f7ecd3 0%, #e5d3aa 55%, #d4b77f 100%);
}

/* Clear the selected branch separately from expanding it. */
.odvv-category-explorer
    .ob-category-explorer__category-card
    .ob-category-explorer__category-inline-toggle {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 7px;
}
.odvv-category-explorer .odvv-expand-selection-check {
    display: none;
    width: 32px;
    height: 32px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    border: 2px solid #365b40;
    border-radius: 8px;
    background: #365b40;
    color: #fffdf7;
}
.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-category-selection
    .odvv-expand-selection-check {
    display: flex;
}
.odvv-category-explorer .odvv-expand-selection-check > .icon {
    width: 22px;
    height: 22px;
}

.odvv-category-explorer
    .ob-category-explorer__category-inline-toggle
    > .odvv-expand-selection-check {
    align-self: flex-end;
}

.odvv-category-explorer .odvv-category-expand-actions {
    grid-column: 3;
    grid-row: 1 / 3;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 16px;
}
.odvv-category-explorer button.odvv-expand-selection-check {
    padding: 3px;
    cursor: pointer;
    flex-shrink: 0;
}
.odvv-category-explorer button.odvv-expand-selection-check:focus-visible {
    outline: 2px solid #805332;
    outline-offset: 3px;
}

.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
    .odvv-category-expand-actions
    > .odvv-expand-selection-check {
    width: 38px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border: 1px solid #365b40;
    border-radius: 9px;
    background: #365b40;
    color: #fffdf7;
}

.odvv-category-explorer
    .ob-category-explorer__category-card.ob-category-explorer--has-inline-actions
    > .ob-category-explorer__category-title-toggle {
    grid-row: 1 / 3;
    align-self: center;
}

/* Compact category selection summary. */
.odvv-category-explorer .odvv-explorer-selectors.odvv-selection-band.odvv-selection-summary-band {
    display: flex !important;
    flex-wrap: nowrap;
    width: 100%;
    min-width: 0;
    height: auto !important;
    min-height: 0;
    gap: 6px;
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.odvv-category-explorer .odvv-selection-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 9px 14px;
    border: 1px solid #d8bfa3;
    border-radius: 16px;
    background: linear-gradient(110deg, #fff5e8, #f6e6d2);
    color: #57371f;
    box-shadow: none;
    text-align: left;
    cursor: pointer;
    font-family: 'ODVV Bitter', Georgia, serif;
}
.odvv-selection-summary-copy {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.odvv-selection-summary-copy > small {
    color: #a78e73;
    font:
        700 11px/1.1 Arial,
        sans-serif;
}
.odvv-selection-summary-copy > strong {
    font-size: 23px;
    line-height: 1.15;
    font-weight: 700;
}
.odvv-selection-summary-copy > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #886b50;
    font:
        14px/1.25 Arial,
        sans-serif;
}
.odvv-selection-summary-action {
    flex: none;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
}
.odvv-selection-summary > .icon {
    flex: none;
    width: 16px;
    height: 16px;
}
.odvv-selection-summary-photo {
    flex: none;
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 9px;
}
.odvv-selection-summary:focus-visible {
    outline: 2px solid #805332;
    outline-offset: 2px;
}
@media (max-width: 360px) {
    .odvv-category-explorer .odvv-selection-summary {
        gap: 7px;
        padding-inline: 10px;
    }
    .odvv-selection-summary-copy > strong {
        font-size: 20px;
    }
    .odvv-selection-summary-photo {
        width: 46px;
        height: 52px;
    }
    .odvv-selection-summary-action {
        font-size: 11px;
    }
}
dialog.odvv-selection-dialog {
    overflow: hidden;
    box-sizing: border-box;
    width: min(440px, calc(100vw - 24px));
    height: 75dvh;
    max-height: 75dvh;
    margin: auto;
    padding: 20px;
    border: 1px solid #d8bfa3;
    border-radius: 18px;
    background: #fff7eb;
    color: #57371f;
    box-shadow: 0 12px 50px #36241540;
    font-family: 'ODVV Bitter', Georgia, serif;
}
.odvv-selection-dialog[open] {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}
.odvv-selection-dialog::backdrop {
    background: #35261970;
}
.odvv-selection-dialog__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: -20px -20px 0;
    padding: 10px 14px;
    border-bottom: 1px solid #294832;
    border-radius: 17px 17px 0 0;
    background-color: #365b40;
    color: #ffffff;
}
.odvv-selection-dialog__title {
    margin: 0;
    font-size: 22px;
    color: #ffffff;
}
.odvv-selection-dialog__close {
    display: grid;
    place-items: center;
    flex: none;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #78927d;
    border-radius: 8px;
    background-color: #42694c;
    color: #ffffff;
    cursor: pointer;
}
.odvv-selection-dialog__close:hover {
    background-color: #527b5c;
    border-color: #a1b6a5;
}
.odvv-selection-dialog__close:active {
    background-color: #294832;
}
.odvv-selection-dialog__close:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}
.odvv-selection-dialog__close-icon {
    width: 20px;
    height: 20px;
    color: #ffffff;
}
.ob-selection-toggle-all {
    display: flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    margin: 12px 0;
    padding: 4px 8px;
    border: 1px solid rgba(0, 0, 0, 0);
    border-radius: 9px;
    background-color: rgba(0, 0, 0, 0);
    cursor: pointer;
}
.ob-selection-toggle-all__text {
    min-width: 0;
    margin-left: auto;
    color: #886b50;
    font: 14px/1.4 Arial, sans-serif;
    overflow-wrap: anywhere;
}
.ob-selection-toggle-all__checkbox {
    width: 20px;
    height: 20px;
    margin: 0;
    flex: none;
    accent-color: #365b40;
    cursor: pointer;
}
.ob-selection-toggle-all:has(.ob-selection-toggle-all__checkbox:focus-visible) {
    outline: 2px solid #365b40;
    outline-offset: 2px;
}
.odvv-selection-options {
    display: grid;
    align-content: start;
    gap: 4px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin: -3px;
    padding: 3px;
}
.odvv-selection-dialog__option {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    box-sizing: border-box;
    min-height: 54px;
    padding: 4px 8px;
    border: 1px solid #d8c6b1;
    border-radius: 9px;
    background-color: rgba(0, 0, 0, 0);
    color: #624a31;
    box-shadow: none;
    cursor: pointer;
}
.odvv-selection-dialog__option:has(.odvv-selection-dialog__checkbox:checked) {
    border-color: #688a67;
    background: linear-gradient(105deg, #e8efdc, #f0f4e7);
    color: #365b40;
    font-weight: 700;
}
.odvv-selection-dialog__option:has(.odvv-selection-dialog__checkbox:focus-visible) {
    outline: 2px solid #365b40;
    outline-offset: 2px;
}
.odvv-selection-dialog__checkbox {
    width: 20px;
    height: 20px;
    margin: 0;
    flex: none;
    accent-color: #365b40;
}
.odvv-selection-dialog__image {
    width: 40px;
    height: 40px;
    flex: none;
    object-fit: cover;
    border-radius: 7px;
}
.ob-selection-option__text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.ob-selection-option__breadcrumb {
    display: block;
    color: #886b50;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.odvv-selection-dialog__name {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25;
    color: #624a31;
}
.odvv-selection-dialog__option:has(.odvv-selection-dialog__checkbox:checked) .odvv-selection-dialog__name {
    color: #365b40;
    font-weight: 700;
}
.odvv-selection-dialog footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    margin-top: 18px;
}
.odvv-selection-dialog footer button {
    padding: 10px 12px;
    border: 1px solid #d8bfa3;
    border-radius: 9px;
    background: #f8ead8;
    color: #57371f;
    cursor: pointer;
    font:
        600 13px/1.25 Arial,
        sans-serif;
}
.odvv-selection-dialog footer [data-selection-apply] {
    background: #365b40;
    color: #fff;
    border-color: #365b40;
}

.odvv-category-explorer .odvv-explorer-selectors.odvv-selection-band.odvv-selection-summary-band {
    padding: 0;
}
.odvv-category-explorer .odvv-selection-summary {
    animation: odvv-selection-appear 0.22s ease-out;
}
.odvv-category-explorer .odvv-selection-summary:has(.odvv-selection-summary-photo) {
    padding: 0 12px 0 0;
    overflow: hidden;
    gap: 9px;
}
.odvv-category-explorer .odvv-selection-summary > .odvv-selection-summary-photo {
    width: 48px !important;
    min-width: 48px;
    max-width: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0;
    object-fit: cover;
    align-self: stretch;
}
.odvv-category-explorer .odvv-selection-summary.is-empty {
    justify-content: center;
    text-align: center;
    padding: 14px;
    font-weight: 600;
}
@keyframes odvv-selection-appear {
    from {
        opacity: 0;
        transform: translateY(3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (prefers-reduced-motion: reduce) {
    .odvv-category-explorer .odvv-selection-summary {
        animation: none !important;
    }
}

.odvv-category-explorer .odvv-selection-summary.is-empty {
    color: #57371f;
    background-image: linear-gradient(
        110deg,
        #fff5e8 34%,
        #f6e6d2 42%,
        #fffaf1 48%,
        #f6e6d2 54%,
        #fff5e8 62%
    );
    background-size: 300% 100%;
    animation:
        odvv-selection-cream-shimmer 2.2s ease-in-out infinite alternate,
        odvv-selection-nudge 4s ease-in-out infinite;
}
@keyframes odvv-selection-cream-shimmer {
    from {
        background-position: 100% 50%;
    }
    to {
        background-position: 0% 50%;
    }
}
@keyframes odvv-selection-nudge {
    0%,
    88%,
    100% {
        translate: 0 0;
    }
    90%,
    94%,
    98% {
        translate: -2px 0;
    }
    92%,
    96% {
        translate: 2px 0;
    }
}

.odvv-category-explorer .odvv-explorer-header:has(.odvv-selection-summary-band) {
    border-bottom: 0;
    box-shadow: none;
}

.odvv-listing-navigation:has(.odvv-selection-summary-band) {
    border-bottom: 0;
    box-shadow: none;
}

/* Shorter selection card, with unchanged width. */
.odvv-category-explorer .odvv-selection-summary {
    min-height: 52px;
    padding-block: 4px;
}
.odvv-category-explorer .odvv-selection-summary-copy {
    gap: 2px;
}
.odvv-category-explorer .odvv-selection-summary-copy > strong {
    font-size: 21px;
    line-height: 1.1;
}
.odvv-category-explorer .odvv-selection-summary-copy > small {
    font-size: 10px;
}
.odvv-category-explorer .odvv-selection-summary-copy > span {
    font-size: 13px;
}
.odvv-category-explorer .odvv-selection-summary > .odvv-selection-summary-photo {
    height: 52px !important;
}
.odvv-category-explorer
    .odvv-selection-summary:has(.odvv-selection-summary-photo)
    .odvv-selection-summary-copy {
    padding-block: 5px;
}
.odvv-category-explorer .odvv-selection-summary.is-empty {
    min-height: 52px;
    padding-block: 8px;
    font-size: 17px;
}

/* Category cards: larger edge-to-edge image and clearer title. */
.odvv-category-explorer .odvv-explorer-card.ob-category-explorer__category-card {
    grid-template-columns: 134px minmax(0, 1fr) auto;
    height: 136px;
    min-height: 136px;
    max-height: none;
    padding: 0 10px 0 0;
}
.odvv-category-explorer .odvv-explorer-card.ob-category-explorer__category-card > img {
    display: block;
    width: 134px;
    height: 134px;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    align-self: stretch;
}
.odvv-category-explorer
    .odvv-explorer-card.ob-category-explorer__category-card
    > .ob-category-explorer__category-title-toggle {
    font-size: 21px;
    line-height: 1.25;
}
.odvv-category-explorer
    .odvv-explorer-card.ob-category-explorer__category-card
    > .ob-category-explorer__category-title-toggle
    strong {
    font-weight: 700;
}
@media (max-width: 700px) {
    .odvv-category-explorer .odvv-explorer-card.ob-category-explorer__category-card {
        grid-template-columns: 106px minmax(0, 1fr) auto;
        height: 108px;
        min-height: 108px;
        padding-right: 8px;
    }
    .odvv-category-explorer .odvv-explorer-card.ob-category-explorer__category-card > img {
        width: 106px;
        height: 106px;
    }
    .odvv-category-explorer
        .odvv-explorer-card.ob-category-explorer__category-card
        > .ob-category-explorer__category-title-toggle {
        font-size: 18px;
    }
}

/* Zone and category selection share one row in the puzzle catalog. */
html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-explorer-zone-band.ob-fixed-top.odvv-navigation
    .odvv-explorer-selectors.ob-zone-band.odvv-puzzle-selection-band.odvv-selection-summary-band {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    padding: 0 !important;
    width: 100%;
    gap: 6px;
}
html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-puzzle-selection-band.odvv-selection-summary-band
    > .ob-zone-selection {
    flex: 0 1 40%;
    width: auto !important;
    min-width: 0;
    height: auto !important;
    min-height: 60px;
}
html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-puzzle-selection-band.odvv-selection-summary-band
    > .odvv-selection-summary {
    flex: 1 1 60%;
    width: auto;
    min-width: 0;
}
html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-puzzle-selection-band.odvv-selection-summary-band
    > .ob-zone-selection:only-child {
    flex: 1;
}
.odvv-category-explorer .odvv-explorer-selectors.odvv-selection-summary-band[hidden] {
    display: none !important;
}
.odvv-listing-navigation .odvv-selection-summary.is-empty {
    display: none !important;
}
@media (max-width: 700px) {
    .odvv-category-explorer
        .odvv-puzzle-selection-band.odvv-selection-summary-band
        .odvv-selection-summary {
        gap: 5px;
        padding-inline: 7px;
    }
    .odvv-category-explorer
        .odvv-puzzle-selection-band.odvv-selection-summary-band
        .odvv-selection-summary-copy
        > strong {
        font-size: 16px;
    }
    .odvv-category-explorer
        .odvv-puzzle-selection-band.odvv-selection-summary-band
        .odvv-selection-summary-action {
        font-size: 10px;
    }
    .odvv-category-explorer
        .odvv-puzzle-selection-band.odvv-selection-summary-band
        .odvv-selection-summary:has(.odvv-selection-summary-photo) {
        padding-left: 0;
    }
}

/* Matching geometry for the zone and category selectors. */
html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-puzzle-selection-band.odvv-selection-summary-band
    > :is(.ob-zone-selection, .odvv-selection-summary) {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px;
    box-sizing: border-box;
    border-radius: 12px !important;
}
html
    body
    .odvv-category-explorer
    .odvv-explorer-header
    .odvv-puzzle-selection-band.odvv-selection-summary-band
    .odvv-selection-summary
    > .odvv-selection-summary-photo {
    height: 62px !important;
}

/* The full selection is retained; only four category tiles occupy the band. */
.ob-category-explorer__selection-overflow {
    position: absolute;
    right: -4px;
    bottom: -9px;
    z-index: 1;
    min-width: 24px;
    padding: 2px 6px;
    border: 1px solid #485c38;
    border-radius: 12px;
    background-color: #657b52;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    pointer-events: none;
}

/* Sage header palette, limited to the full category selection explorer. */
.odvv-category-explorer.ob-category-explorer--has-selection-actions {
    background-color: #fffcf6;
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions > .odvv-explorer-header {
    border-bottom: 1px solid #a8ba9e;
}
.odvv-category-explorer.ob-category-explorer--has-selection-actions > .odvv-explorer-content {
    background: #fffcf6;
}
.odvv-explorer-section-switcher > .ob-category-explorer__palette-tab[aria-current='true'] {
    flex-basis: min(110px, calc((100% - 6px) / 3.8));
    width: min(110px, calc((100% - 6px) / 3.8));
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab:not([aria-current='true']) {
    flex-direction: row;
    flex-basis: calc((100cqw - 6px) / 3.4);
    width: calc((100cqw - 6px) / 3.4);
    gap: 2px;
    padding-inline: 8px;
    padding-block: 6px;
    background: radial-gradient(ellipse at 50% 58%, #fffdf7 26%, #fff1da 62%, #f3d5a6 100%);
    color: #624a31;
    position: relative;
    border: 4px solid #fffefb;
    border-radius: 26% / 31%;
    box-shadow: 0 3px 6px #70421d26, inset 0 0 5px #ffffffb3;
}
.ob-category-explorer__palette-tab:not([aria-current='true']) > .odvv-section-symbol {
    position: absolute;
    top: -8px;
    bottom: auto;
    left: -8px;
    z-index: 2;
    box-sizing: border-box;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
}
@media (min-width: 768px) {
    .odvv-explorer-section-switcher .ob-category-explorer__palette-tab:not([aria-current='true']) {
        flex-basis: 124px;
        width: 124px;
    }
}
.ob-category-explorer__palette-tab:not([aria-current='true']) > .odvv-section-label {
    position: relative;
    top: 4px;
    z-index: 3;
    flex: 0 1 auto;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab:not([aria-current='true']):hover {
    background: radial-gradient(ellipse at 50% 58%, #fffaf0 26%, #ffe7c0 62%, #e9bd7e 100%);
    color: #624a31;
    border-color: #fffefb;
    box-shadow: 0 4px 8px #70421d33, inset 0 0 5px #ffffffb3;
}
.odvv-explorer-section-switcher .ob-category-explorer__palette-tab:not([aria-current='true']):active {
    background: radial-gradient(ellipse at 50% 58%, #fff8eb 26%, #fcebd0 62%, #edcd9d 100%);
    color: #624a31;
    border-color: #fffefb;
    box-shadow: 0 1px 2px #70421d26, inset 0 0 5px #ffffff80;
}
.ob-category-explorer--has-selection-actions .ob-category-explorer__palette-tab:focus-visible {
    outline-color: #365b40;
}
.ob-category-explorer--has-selection-actions .ob-category-explorer__palette-tab .odvv-section-label {
    color: #624a31;
}
.ob-category-explorer--has-selection-actions .ob-category-explorer__palette-tab[aria-current='true'] .odvv-section-label {
    color: #ffffff;
}

.ob-category-confirm__item:has(.ob-category-confirm__checkbox:checked) {
    border-color: #688a67;
    background: linear-gradient(105deg, #e8efdc, #f0f4e7);
    color: #365b40;
}
.ob-category-confirm__item:has(.ob-category-confirm__checkbox:focus-visible) {
    outline: 2px solid #365b40;
    outline-offset: -3px;
}
.ob-category-confirm__checkbox {
    position: absolute;
    z-index: 1;
    top: -1px;
    right: -1px;
    width: 28px;
    height: 28px;
    margin: 0;
    accent-color: #365b40;
    cursor: pointer;
}
.ob-category-confirm__name {
    grid-row: 2;
    display: block;
    align-content: center;
    width: 100%;
    min-width: 0;
    margin: 0;
    font-size: 1em;
    line-height: 1;
    text-align: center;
    white-space: normal;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: none;
    color: #624a31;
    font-weight: 400;
}
.ob-category-confirm__name--medium {
    font-size: 0.875em;
    line-height: 1;
}
.ob-category-confirm__name--compact {
    font-size: 0.75em;
    line-height: 1;
}
.ob-category-confirm__name--small {
    font-size: 0.625em;
    line-height: 1;
}
.ob-category-confirm__item:has(.ob-category-confirm__checkbox:checked) .ob-category-confirm__name {
    color: #365b40;
    font-weight: 700;
}
.ob-category-confirm__continue[aria-disabled='true'] {
    opacity: 0.45;
    cursor: default;
}

/* The category currently visible in the catalog has its own selection state. */
.odvv-category-explorer .odvv-selection-child--catalog-current {
    background: linear-gradient(135deg, #70464b 0%, #94675f 52%, #b78b76 100%);
    color: #fff8ec;
}
.odvv-category-explorer .odvv-selection-child--catalog-current > span {
    color: #fff8ec;
}
.odvv-category-explorer .odvv-selection-child--catalog-current > .icon {
    color: #fff8ec;
}
.odvv-category-explorer .odvv-selection-child--catalog-current:hover {
    background: linear-gradient(135deg, #70464b 0%, #94675f 52%, #b78b76 100%);
    color: #fff8ec;
}
.odvv-category-explorer .odvv-selection-child--catalog-current:focus-visible {
    outline: 2px solid #70464b;
    outline-offset: 2px;
}

/* The selected map also appears outside the puzzle catalog. */
.ob-selected-zone-outline {
    fill: #8c5738;
    stroke: #8c5738;
    stroke-width: 0.4;
}

/* Fullscreen puzzle presentation, isolated from the catalogue dialogs. */
.ob-puzzle-intro {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100dvh;
    max-width: none;
    max-height: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    color: #ffffff;
    background: #000000;
    animation: ob-puzzle-intro-open 600ms ease-in-out both;
}

.ob-puzzle-intro::backdrop {
    background: rgba(0, 0, 0, 0);
}

.ob-puzzle-intro--closing {
    animation: ob-puzzle-intro-close 600ms ease-in-out both;
}

.ob-puzzle-intro__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: #000000;
}

.ob-puzzle-intro__skip {
    position: absolute;
    right: 24px;
    bottom: max(24px, env(safe-area-inset-bottom));
    min-height: 44px;
    padding: 10px 22px;
    border: 1px solid #ffffff;
    border-radius: 24px;
    font: 600 16px/1.4 sans-serif;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.65);
    cursor: pointer;
}

.ob-puzzle-intro__skip:hover {
    color: #000000;
    background: #ffffff;
    border-color: #ffffff;
}

.ob-puzzle-intro__skip:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 4px;
    color: #ffffff;
    background: #333333;
    border-color: #ffffff;
}

.ob-puzzle-intro__skip:active {
    color: #ffffff;
    background: #555555;
    border-color: #ffffff;
}

@keyframes ob-puzzle-intro-open {
    from {
        clip-path: circle(0% at 50% 50%);
    }
    to {
        clip-path: circle(72% at 50% 50%);
    }
}

@keyframes ob-puzzle-intro-close {
    from {
        clip-path: circle(72% at 50% 50%);
    }
    to {
        clip-path: circle(0% at 50% 50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ob-puzzle-intro {
        animation-duration: 1ms;
    }
}

/* Recessed gold outline copied from the inactive department flower petal. */
.ob-category-explorer__palette-tab:not([aria-current='true'])::before {
    content: '';
    position: absolute;
    inset: 2px;
    border: 1px solid #ce9e61;
    border-radius: 24% / 28%;
    pointer-events: none;
}

/* A directly selected subcategory can still expand to show its own children. */
.ob-category-explorer__home-branch-button.ob-category-explorer__home-branch-button--selected-parent {
    background: linear-gradient(105deg, #e8efdc, #f0f4e7);
    color: #365b40;
    box-shadow: inset 0 0 0 1px #688a67;
    border-radius: 9px;
    font-weight: 700;
}

.ob-category-explorer__branch-select-all {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    flex: 0 0 var(--branch-check, 24px);
    width: var(--branch-check, 24px);
    height: var(--branch-check, 24px);
    min-height: 0;
    padding: 5px;
    margin-left: auto;
    border: 2px solid #c4b69d;
    border-radius: 8px;
    background: #fffdf7;
    color: #365b40;
    cursor: pointer;
    box-sizing: border-box;
}
.ob-category-explorer__branch-select-all:hover {
    background: #f0f4e7;
    border-color: #688a67;
}
.ob-category-explorer__branch-select-all:focus-visible {
    outline: 2px solid #688a67;
    outline-offset: 2px;
}
.ob-category-explorer__branch-select-all:active {
    background: #dfe8d6;
}
.ob-category-explorer__branch-select-all[aria-pressed='true'] {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf7;
}
.ob-category-explorer__branch-select-all[aria-pressed='mixed'] {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf7;
}
.ob-category-explorer__branch-select-all-icon {
    display: none;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #fffdf7;
    stroke-width: 2;
}
.ob-category-explorer__branch-select-all[aria-pressed='true'] > .ob-category-explorer__branch-select-all-icon {
    display: block;
}
.ob-category-explorer__branch-select-all-minus {
    display: none;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #fffdf7;
    stroke-width: 2;
    stroke-linecap: round;
}
.ob-category-explorer__branch-select-all[aria-pressed='mixed'] > .ob-category-explorer__branch-select-all-minus {
    display: block;
}

.ob-category-explorer__home-branch-button--has-children {
    --ob-branch-action-inset: calc(var(--branch-check, 24px) + 14px);
}

.ob-selection-category-rail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 4px;
    min-width: 0;
    align-self: center;
}
.odvv-category-explorer .odvv-puzzle-selection-band .ob-selection-category-rail__scroll {
    display: block;
    height: 68px;
    min-width: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
}
.ob-selection-category-rail__scroll::-webkit-scrollbar {
    display: none;
}
.ob-selection-category-rail__page {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(2, 30px);
    box-sizing: border-box;
    padding-block: 2px;
    align-items: center;
    gap: 4px;
    height: 68px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.ob-selection-category-rail__page > button.odvv-selection-child {
    width: 100%;
    min-width: 0;
}
.ob-selection-category-rail__dots {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    max-height: 48px;
    overflow-y: auto;
    scrollbar-width: none;
}
button.ob-selection-category-rail__dot {
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    min-width: 6px;
    min-height: 6px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: #b5bda6;
    color: #305b40;
    box-shadow: none;
    cursor: pointer;
}
button.ob-selection-category-rail__dot[aria-current='true'] {
    background: #305b40;
}
button.ob-selection-category-rail__dot:hover {
    background: #657b52;
}
button.ob-selection-category-rail__dot:focus-visible {
    outline: 2px solid #305b40;
    outline-offset: 1px;
}
button.ob-selection-category-rail__dot:active {
    background: #24452f;
}
button.ob-selection-category-rail__change {
    position: static;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 4px;
    box-sizing: border-box;
    width: 64px;
    min-height: 68px;
    margin: 0;
    padding: 5px 3px;
    border: 1px solid #d7b78a;
    border-radius: 7px;
    box-shadow: inset 0 0 5px #ffffffb3;
    background: radial-gradient(ellipse at 50% 58%, #fffdf7 26%, #fff1da 62%, #f3d5a6 100%);
    color: #624a31;
    font: 600 11px/1.3 Arial, sans-serif;
    text-align: center;
    text-transform: none;
    cursor: pointer;
}
button.ob-selection-category-rail__change:hover {
    background: radial-gradient(ellipse at 50% 58%, #fffaf0 26%, #ffe7c0 62%, #e9bd7e 100%);
    color: #624a31;
}
button.ob-selection-category-rail__change:focus-visible {
    outline: 2px solid #8b6542;
    outline-offset: 2px;
}
button.ob-selection-category-rail__change:active {
    background: radial-gradient(ellipse at 50% 58%, #fff8eb 26%, #fcebd0 62%, #edcd9d 100%);
    color: #624a31;
}
.ob-selection-category-rail__menu-icon {
    display: block;
    flex: none;
    width: 18px;
    height: 18px;
    color: #624a31;
}
.ob-selection-category-rail__change-label {
    display: block;
    color: #624a31;
}
.ob-selection-category-rail__scroll:focus-visible {
    outline: 2px solid #305b40;
    outline-offset: 2px;
}

.odvv-selection-band:has(> .ob-selection-category-rail) {
    box-sizing: border-box;
}

.ob-category-explorer__branch-select-all--root {
    order: 1;
    margin-right: 0;
    position: static;
    transform: none;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
}

.ob-category-explorer__branch-select-all--root:has(+ .ob-category-explorer__category-inline-toggle[aria-expanded='true']) {
    margin-right: 6px;
}

@media (max-width: 700px) {
    .ob-category-explorer__branch-select-all--root:has(+ .ob-category-explorer__category-inline-toggle[aria-expanded='true']) {
        margin-right: 8px;
    }
}

.ob-category-view__label {
    display: block;
    color: #fffdf7;
    font-weight: 700;
    line-height: 1.25;
}
.ob-category-view__summary {
    display: block;
    margin-top: 3px;
    color: #fffdf7;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
}
.ob-category-view__category-count {
    color: #fffdf7;
    font-weight: 700;
}
.ob-category-view__separator {
    color: #fffdf7;
    font-weight: 700;
}
.ob-category-view__product-count {
    color: #fffdf7;
    font-weight: 700;
}

.ob-category-view__button {
    flex: 1;
    min-width: 0;
    max-width: 220px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #365b40;
    border-radius: 9px;
    background: #365b40;
    color: #fffdf7;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}
.ob-category-view__button:hover {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf7;
}
.ob-category-view__button:active {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf7;
}
.ob-category-view__button:focus-visible {
    outline: 2px solid #987554;
    outline-offset: 2px;
}
.ob-category-view__button:disabled {
    background: #365b40;
    border-color: #365b40;
    color: #fffdf7;
    opacity: 0.45;
    cursor: default;
}

/* Preserve clipping on cards without the external close control. */
.odvv-explorer-card.ob-category-explorer__category-card:not(.ob-category-explorer__close-anchor) {
    overflow: hidden;
}
.odvv-explorer-content.ob-category-explorer__close-content {
    margin: 0;
    padding: 14px 16px 0;
}
@media (max-width: 700px) {
    .odvv-explorer-content.ob-category-explorer__close-content {
        padding: 12px 12px 0;
    }
}
@media (max-width: 350px) {
    .odvv-explorer-content.ob-category-explorer__close-content {
        padding: 10px 8px 0;
    }
}

/* Keep the close control on the upper-right edge of the first category card. */
.ob-category-explorer__close-anchor {
    position: relative;
    overflow: visible;
}
.ob-category-explorer__edge-close {
    position: absolute;
    top: -12px;
    right: -12px;
    bottom: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 1px solid #c8ad88;
    border-radius: 8px;
    background-color: #fffdf8;
    color: #385b46;
    box-shadow: 0 2px 5px #62402026;
    cursor: pointer;
}
.ob-category-explorer__edge-close:hover {
    background-color: #f4ecdf;
    border-color: #a88d6b;
    color: #385b46;
}
.ob-category-explorer__edge-close:active {
    background-color: #eadcc7;
    border-color: #a88d6b;
    color: #385b46;
}
.ob-category-explorer__edge-close:focus-visible {
    outline: 3px solid #657b52;
    outline-offset: 2px;
}
.ob-category-explorer__edge-close-icon {
    display: block;
    flex: none;
    width: 19px;
    height: 19px;
    color: #385b46;
}

@media (max-width: 350px) {
    .ob-category-explorer__edge-close {
        top: -10px;
        right: -8px;
    }
}

.ob-selection-option__label {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 10px;
    min-width: 0;
    margin: 0;
    cursor: pointer;
}
.ob-selection-option__view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    gap: 4px;
    min-height: 36px;
    margin: 0;
    padding: 6px 8px;
    border: 1px solid #688a67;
    border-radius: 7px;
    background-color: #f0f4e7;
    color: #365b40;
    font: 600 13px/1.25 Arial, sans-serif;
    cursor: pointer;
}
.ob-selection-option__view:hover {
    background-color: #dce8d2;
    border-color: #365b40;
}
.ob-selection-option__view:focus-visible {
    outline: 2px solid #365b40;
    outline-offset: 2px;
}
.ob-selection-option__view:active {
    background-color: #cbdcbe;
    border-color: #294832;
}
.ob-selection-option__view-icon {
    width: 18px;
    height: 18px;
    flex: none;
    color: #365b40;
}
.ob-selection-option__view-text {
    color: #365b40;
}
