/* Homepage only: navy surfaces and gold accents match the catalogue and menu. */
.home-page #catalog [hidden] { display: none !important; }
.home-page .lottery-catalog-card--hidden { display: flex; }
.home-page .lottery-catalog-preview__more { display: none; }
.home-page #catalog.catalog-enhanced .lottery-catalog-preview__more { display: flex; }

.catalog-filter {
    position: relative; z-index: 3; margin: 0 0 26px; padding: 28px;
    border: 1px solid rgba(255,217,111,.58); border-radius: 30px; color: #f4f7ff;
    background: radial-gradient(ellipse at 0 0,rgba(92,137,223,.38),transparent 58%),
        linear-gradient(135deg,#21477f,#132e60 58%,#0e244e);
    box-shadow: inset 0 1px 0 rgba(255,245,209,.3), inset 0 -1px 0 rgba(5,18,45,.48),
        0 20px 44px rgba(15,39,91,.24);
}
.catalog-filter button, .catalog-filter input, .catalog-filter summary { font: inherit; }
.catalog-filter button { cursor: pointer; transition: background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease; }
.catalog-filter__top { display: grid; grid-template-columns: minmax(220px,1.1fr) minmax(0,2.7fr); gap: 18px; align-items: end; }
.catalog-filter__label { display: block; margin-bottom: 10px; color: #ffe193; font-size: 13px; font-weight: 800; line-height: 1.3; }

.catalog-filter__search-box, .catalog-filter__select summary {
    min-height: 60px; border: 1px solid rgba(164,190,237,.42); border-radius: 16px; color: #f4f7ff;
    background: linear-gradient(180deg,rgba(12,32,70,.8),rgba(10,27,61,.94));
    box-shadow: inset 0 2px 7px rgba(3,13,36,.22),0 1px 0 rgba(182,206,252,.12);
    transition: background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.catalog-filter__search-box { display: flex; align-items: center; gap: 12px; padding: 0 16px; }
.catalog-filter__search-box svg { flex: none; color: #ffdc78; }
.catalog-filter__search-box input {
    min-width: 0; width: 100%; height: 58px; padding: 0; border: 0; border-radius: 0;
    outline: none; box-shadow: none; background: transparent; color: #f4f7ff; caret-color: #ffdb70; font-size: 15px;
}
.catalog-filter__search-box input::placeholder { color: #b7c8e4; opacity: 1; }
.catalog-filter__search-box input::-webkit-search-cancel-button { cursor: pointer; filter: grayscale(1) brightness(0) invert(1); opacity: .8; }
.catalog-filter__search-box:hover, .catalog-filter__select summary:hover { border-color: rgba(255,219,119,.72); }
.catalog-filter__search-box:focus-within { outline: 3px solid #ffdb70; outline-offset: 3px; border-color: #ffdb70; }
.catalog-filter__options { display: grid; grid-template-columns: .9fr 1.2fr 1.05fr; gap: 14px; }
.catalog-filter__field { min-width: 0; }
.catalog-filter__select { position: relative; }
.catalog-filter__select summary {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px;
    list-style: none; cursor: pointer; font-size: 14px; font-weight: 700; line-height: 1.35;
}
.catalog-filter__select summary::-webkit-details-marker { display: none; }
.catalog-filter__select summary::marker { content: ""; }
.catalog-filter__select summary svg { flex: none; color: #ffdc78; transition: transform .18s ease; }
.catalog-filter__select[open] { z-index: 5; }
.catalog-filter__select[open] summary {
    border-color: #ffdb70; background: linear-gradient(180deg,#1e427b,#163460);
    box-shadow: inset 0 1px 0 rgba(255,229,153,.13),0 0 0 1px rgba(255,219,112,.12);
}
.catalog-filter__select[open] summary svg { transform: rotate(180deg); }
.catalog-filter__choices {
    position: absolute; top: calc(100% + 10px); left: 0; min-width: 100%; width: max-content;
    max-width: min(300px,80vw); padding: 8px; border: 1px solid rgba(255,218,117,.62); border-radius: 18px;
    background: linear-gradient(145deg,#1f4074,#10284f);
    box-shadow: inset 0 1px 0 rgba(255,238,185,.17),0 18px 36px rgba(3,15,43,.38);
}
.catalog-filter__field:last-child .catalog-filter__choices { left: auto; right: 0; }
.catalog-filter__choices button {
    display: block; width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid transparent;
    border-radius: 11px; background: transparent; color: #f4f7ff; text-align: left; font-size: 14px; line-height: 1.4;
}
.catalog-filter__choices button + button { margin-top: 3px; }
.catalog-filter__choices button:hover { border-color: rgba(173,199,247,.28); background: #2b5087; }
.catalog-filter__choices button[aria-pressed="true"] {
    border-color: #ffe2a0; background: linear-gradient(135deg,#ffe8a3,#ffd052); color: #142c55;
    font-weight: 800; box-shadow: inset 0 1px 0 #fff2c9,0 3px 9px rgba(4,17,42,.18);
}
.catalog-filter button:focus-visible, .catalog-filter summary:focus-visible, .catalog-empty button:focus-visible { outline: 3px solid #ffdb70; outline-offset: 3px; }

.catalog-filter__bottom { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(195,215,250,.2); }
.catalog-filter__presets { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.catalog-filter__presets > span { margin-right: 7px; color: #dbe6f8; font-size: 13px; font-weight: 700; }
.catalog-filter__presets button {
    min-height: 44px; padding: 10px 15px; border: 1px solid rgba(179,200,239,.4); border-radius: 13px;
    background: linear-gradient(160deg,rgba(78,114,176,.48),rgba(18,42,83,.75)); color: #f4f7ff;
    box-shadow: inset 0 1px 0 rgba(213,226,255,.12); font-size: 13px; font-weight: 700;
}
.catalog-filter__presets button:hover { border-color: #ffdb70; background: #35578e; }
.catalog-filter__presets button[aria-pressed="true"] {
    border-color: #ffe2a0; color: #142c55; background: linear-gradient(135deg,#ffe8a3,#ffd052);
    box-shadow: inset 0 1px 0 #fff2c9,0 4px 12px rgba(4,17,42,.2);
}
.catalog-filter .catalog-filter__reset, .catalog-empty button {
    flex: none; min-height: 46px; padding: 12px 18px; border: 1px solid rgba(186,207,245,.44);
    border-radius: 13px; color: #eaf1ff; background: linear-gradient(150deg,rgba(55,84,135,.58),rgba(11,30,62,.78));
    box-shadow: inset 0 1px 0 rgba(225,235,255,.14); font-size: 13px; font-weight: 800; cursor: pointer;
}
.catalog-filter .catalog-filter__reset:hover, .catalog-empty button:hover { border-color: #ffdb70; background: #294b7e; }
.catalog-filter__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.catalog-filter__chips button {
    display: inline-flex; align-items: center; gap: 12px; min-height: 38px; max-width: 100%; padding: 8px 12px;
    border: 1px solid rgba(255,223,138,.7); border-radius: 11px; color: #ffe6a0;
    background: rgba(8,25,55,.58); font-size: 13px; overflow-wrap: anywhere;
}
.catalog-filter__chips button:hover { background: #284c81; border-color: #ffe6a0; }
.catalog-filter__chips button span:last-child { font-size: 19px; line-height: 1; }
.catalog-filter__note { margin: 16px 0 0; padding: 12px 14px; border: 1px solid rgba(171,196,238,.18); border-radius: 12px; background: rgba(7,23,49,.32); color: #d5e1f5; font-size: 13px; line-height: 1.55; }
.catalog-filter__mobile { display: none; }
.catalog-results-bar { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin: 0 3px 20px; color: var(--ink); }
.catalog-results-bar p { margin: 0; font-size: 16px; font-weight: 800; }
.catalog-results-bar > span { font-size: 13px; opacity: .8; }
.catalog-empty { padding: 40px 24px; margin-top: 20px; border: 1px solid rgba(255,217,111,.55); border-radius: 24px; background: linear-gradient(140deg,#244879,#142d56); color: #f4f7ff; text-align: center; box-shadow: inset 0 1px 0 rgba(233,242,255,.18); }
.catalog-empty p { margin: 0 0 20px; font-size: 18px; line-height: 1.5; }
.home-page #catalog .lottery-catalog-card:focus { outline: 3px solid #214c99; outline-offset: 4px; }
html[data-theme="dark"] .catalog-filter { box-shadow: inset 0 1px 0 rgba(255,245,209,.3),inset 0 -1px 0 rgba(5,18,45,.48),0 20px 44px rgba(0,7,23,.4); }

@media (min-width: 1280px) {
    body.desktop-lottery-menu-ready .catalog-filter {
        margin-right: clamp(0px, calc(1460px - 100vw), 80px);
    }
}
@media (max-width: 1100px) {
    .catalog-filter__top { grid-template-columns: 1fr; }
    .catalog-filter__options { grid-template-columns: 1fr 1fr 1fr; }
    .catalog-filter__bottom { align-items: flex-end; }
    .catalog-filter__presets > span { width: 100%; }
}
@media (max-width: 650px) {
    .catalog-filter { padding: 18px; border-radius: 24px; margin-bottom: 20px; }
    .catalog-filter__top { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
    .catalog-filter__mobile {
        display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 60px;
        padding: 12px; border: 1px solid #ffe2a0; border-radius: 16px; color: #142c55;
        background: linear-gradient(135deg,#ffe8a3,#ffd052); box-shadow: inset 0 1px 0 #fff2c9,0 5px 12px rgba(4,17,42,.2);
        font-size: 13px !important; font-weight: 800 !important;
    }
    .catalog-filter__mobile svg { width: 18px; height: 18px; flex: none; }
    .catalog-filter__badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 50%; color: #ffe5a3; background: #183b72; font-size: 12px; }
    .catalog-filter__options { grid-column: 1/-1; display: none; grid-template-columns: 1fr; gap: 16px; margin-top: 8px; }
    .catalog-filter.is-open .catalog-filter__options { display: grid; }
    .catalog-filter__choices { position: static; width: auto; max-width: none; margin-top: 8px; box-shadow: inset 0 1px 0 rgba(255,238,185,.17); }
    .catalog-filter__bottom { display: block; margin-top: 18px; padding-top: 18px; }
    .catalog-filter__presets { gap: 7px; }
    .catalog-filter__presets > span { display: none; }
    .catalog-filter__presets button { padding: 9px 10px; min-height: 44px; font-size: 12px; }
    .catalog-filter__reset { width: 100%; margin-top: 14px; }
    .catalog-filter__chips button { min-height: 44px; }
    .catalog-results-bar > span { display: none; }
    .catalog-results-bar p { font-size: 14px; }
    .catalog-filter__search-box { gap: 8px; padding: 0 12px; }
    .catalog-filter__search-box svg { width: 18px; }
    .catalog-filter__search-box input { font-size: 16px; }
}
@media (max-width: 360px) {
    .catalog-filter { padding: 16px; }
    .catalog-filter__top { gap: 9px; }
    .catalog-filter__mobile { padding: 10px; }
    .catalog-filter__mobile svg { display: none; }
}
@media (prefers-reduced-motion: reduce) { .catalog-filter * { transition: none !important; } }
