.sl-discover { display: grid; gap: var(--sl-space-4); min-width: 0; }
.sl-discover-heading h1 { margin-block-end: var(--sl-space-2); }
.sl-discover-heading p { max-width: 65ch; color: var(--sl-muted); }
.sl-discover-nav { display: flex; gap: var(--sl-space-2); flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-block-end: var(--sl-space-1); }
.sl-discover-nav a { flex: 0 0 auto; white-space: nowrap; }
.sl-discover-nav a, .sl-discover-pagination a { display: inline-flex; align-items: center; min-height: var(--sl-control); padding: var(--sl-space-2) var(--sl-space-4); border: 1px solid var(--sl-line); border-radius: var(--sl-space-12); color: var(--sl-brand); text-decoration: none; }
.sl-discover-nav a:hover, .sl-discover-pagination a:hover { background: var(--sl-brand-soft); }
.sl-discover h2 { margin-block: 0 var(--sl-space-4); font-size: 1.5rem; }
.sl-discover ul { list-style: none; padding: 0; margin: 0; }
.sl-discover li, .sl-discover section, .sl-discover article { min-width: 0; }
.sl-discover-filter-panel { border: 1px solid var(--sl-line); border-radius: var(--sl-radius); background: var(--sl-surface); }
.sl-discover-filter-panel > summary { min-height: var(--sl-control); padding: var(--sl-space-4); color: var(--sl-brand); font-weight: 600; cursor: pointer; }
.sl-discover-filters { padding: var(--sl-space-4); }
.sl-discover-filters fieldset { display: grid; gap: var(--sl-space-4); padding: 0; margin: 0; border: 0; min-width: 0; }
.sl-discover-filters legend { padding-block-end: var(--sl-space-4); font-weight: 600; }
.sl-discover-filters label { display: grid; gap: var(--sl-space-2); min-width: 0; color: var(--sl-ink); }
.sl-discover-filters input:not([type=checkbox]), .sl-discover-filters select { width: 100%; min-width: 0; max-width: 100%; min-height: var(--sl-control); padding: var(--sl-space-3); border: 1px solid var(--sl-line); border-radius: var(--sl-sm-radius); background: var(--sl-page); font: inherit; color: var(--sl-ink); }
.sl-discover-filters label:has(input[type=checkbox]) { display: flex; align-items: center; min-height: var(--sl-control); gap: var(--sl-space-3); }
.sl-discover-filters input[type=checkbox] { inline-size: 1.25rem; block-size: 1.25rem; accent-color: var(--sl-brand); }
.sl-discover-filters button, .sl-discover-filters > fieldset > a { min-height: var(--sl-control); padding: var(--sl-space-3) var(--sl-space-4); border: 1px solid var(--sl-brand); border-radius: var(--sl-sm-radius); color: var(--sl-brand); background: var(--sl-page); font: inherit; text-align: center; text-decoration: none; }
.sl-discover-filters button { background: var(--sl-brand); color: var(--sl-page); cursor: pointer; }
.sl-discover-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sl-space-4); }
.sl-discover-rail { display: flex; overflow-x: auto; scroll-snap-type: inline proximity; padding-block: var(--sl-space-2); }
.sl-discover-rail > li { flex: 0 0 min(280px, 85%); scroll-snap-align: start; }
.sl-discover-card { position: relative; height: 100%; overflow: hidden; border: 1px solid var(--sl-line); border-radius: var(--sl-radius); background: var(--sl-page); padding: var(--sl-space-4); overflow-wrap: anywhere; }
.sl-discover-card > a { display: block; color: var(--sl-ink); text-decoration: none; }
.sl-discover-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--sl-sm-radius); background: var(--sl-soft); }
.sl-discover-card h3 { margin-block: var(--sl-space-4) var(--sl-space-2); font-size: 1.1rem; line-height: 1.4; }
.sl-discover-card p { margin-block: var(--sl-space-2); color: var(--sl-muted); }
.sl-discover-card bdi { color: var(--sl-ink); font-variant-numeric: tabular-nums; }
.sl-discover-save { margin-block-start: var(--sl-space-4); }
.sl-discover-card button { width: 100%; }
.sl-discover-categories ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sl-space-3); }
.sl-discover-categories a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sl-space-3); min-height: 100px; padding: var(--sl-space-4); border: 1px solid var(--sl-line); border-radius: var(--sl-radius); color: var(--sl-ink); text-align: center; text-decoration: none; overflow-wrap: anywhere; }
.sl-discover-categories img { inline-size: 64px; block-size: 64px; object-fit: cover; border-radius: 50%; }
.sl-discover-banner { position: relative; overflow: hidden; padding: var(--sl-space-6); border-radius: var(--sl-radius); background: var(--sl-brand-soft); color: var(--sl-brand); }
.sl-discover-banner picture { display: block; margin-block-end: var(--sl-space-6); }
.sl-discover-banner img, .sl-discover-section > img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: cover; border-radius: var(--sl-radius); }
.sl-discover-banner h2 { font-family: var(--sl-display); font-weight: 400; font-size: clamp(2rem, 4vw, 3.5rem); }
.sl-discover-banner a, .sl-discover-section > a { display: inline-flex; min-height: var(--sl-control); align-items: center; color: var(--sl-brand); font-weight: 600; }
.sl-discover-section > p { max-width: 65ch; }
.sl-discover-main { display: grid; gap: var(--sl-space-4); min-width: 0; }
.sl-discover-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sl-space-4); }
.sl-discover-notice { padding: var(--sl-space-4); border: 1px solid var(--sl-danger); border-radius: var(--sl-sm-radius); color: var(--sl-danger); }
@media (min-width: 768px) { .sl-discover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sl-discover-rail { display: flex; } .sl-discover-categories ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } .sl-discover-filters fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1001px) { .sl-discover[data-discover-kind=search], .sl-discover[data-discover-kind=category] { grid-template-columns: 220px minmax(0, 1fr); align-items: start; } .sl-discover-heading, .sl-discover-nav, .sl-discover-notice { grid-column: 1 / -1; } .sl-discover-filter-panel { grid-column: 1; position: sticky; inset-block-start: var(--sl-space-4); } .sl-discover-main { grid-column: 2; } .sl-discover-toolbar { grid-column: 1 / -1; } .sl-discover-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .sl-discover-rail { display: grid; overflow: visible; } .sl-discover-results .sl-discover-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sl-discover-categories ul { grid-template-columns: repeat(8, minmax(0, 1fr)); } .sl-discover-filters fieldset { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1400px) { .sl-discover-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } .sl-discover-results .sl-discover-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.sl-discover-search { display: grid; gap: var(--sl-space-3); }
.sl-discover-search input { min-width: 0; width: 100%; min-height: var(--sl-control); padding: var(--sl-space-3); border: 1px solid var(--sl-line); border-radius: var(--sl-sm-radius); font: inherit; }
.sl-discover-filter-dialog { margin: 0; inset-inline: 0; inset-block-start: auto; inset-block-end: 0; width: 100%; max-width: 100%; border-end-start-radius: 0; border-end-end-radius: 0; padding-block-end: calc(var(--sl-space-6) + env(safe-area-inset-bottom)); }
.sl-discover-filter-dialog .sl-row { justify-content: space-between; align-items: center; }
.sl-discover-filter-dialog .sl-row h2 { margin: 0; }
@media (min-width: 768px) { .sl-discover-search { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } .sl-discover-search label { grid-column: 1 / -1; } .sl-discover-filter-dialog { margin: auto; inset-block: 0; width: min(680px, 94vw); max-width: 94vw; border-radius: var(--sl-radius); padding-block-end: var(--sl-space-6); } }

/* S05-S08 parity: toolbar, type tabs, card actions and category tiles from the approved wireframes. */
.sl-discover-toolbar { display: grid; gap: var(--sl-space-3); min-width: 0; }
.sl-discover-types { display: flex; gap: var(--sl-space-2); overflow-x: auto; padding-block: var(--sl-space-1); }
.sl-discover-types a { flex: 0 0 auto; }
.sl-discover-actions { display: flex; flex-wrap: wrap; gap: var(--sl-space-2); margin-block-start: var(--sl-space-4); }
.sl-discover-actions:empty { display: none; }
.sl-discover-actions > a, .sl-discover-actions > form { flex: 1 1 8rem; min-width: 0; }
.sl-discover-actions .sl-discover-save { margin-block-start: 0; }
.sl-discover-actions .sl-btn { width: 100%; }
.sl-discover-card .sl-btn { color: var(--sl-page); }
.sl-discover-card .sl-btn-secondary { color: var(--sl-brand); }
.sl-discover-category-search { display: grid; gap: var(--sl-space-2); margin-block-end: var(--sl-space-4); } /* PARITY-AUDIT-01: wireframe S05 field spans the container */
.sl-discover-category-search input { min-width: 0; width: 100%; min-height: var(--sl-control); padding: var(--sl-space-3); border: 1px solid var(--sl-line); border-radius: var(--sl-sm-radius); font: inherit; }
.sl-discover :is(li, label)[hidden] { display: none; }
.sl-discover-categories a { min-height: 0; }
.sl-discover-categories img { inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; border-radius: var(--sl-sm-radius); }
.sl-discover-category-name { font-weight: 600; }
.sl-discover-category-cta { display: inline-flex; align-items: center; justify-content: center; min-block-size: var(--sl-control); padding-inline: var(--sl-space-3); border: 1px solid var(--sl-brand); border-radius: var(--sl-sm-radius); color: var(--sl-brand); font-size: .875rem; font-weight: 600; max-inline-size: 100%; }
.sl-discover-categories a:hover .sl-discover-category-cta { background: var(--sl-brand-soft); }
@media (min-width: 768px) { .sl-discover-toolbar { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1001px) { .sl-discover-categories[data-categories-kind=home] .sl-discover-category-cta { padding-inline: var(--sl-space-2); font-size: .75rem; } .sl-discover-categories[data-categories-kind=categories] ul { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 768px) { .sl-discover { gap: var(--sl-space-6); } .sl-discover-main { gap: var(--sl-space-6); } }
.sl-discover-card { display: flex; flex-direction: column; }
.sl-discover-actions { margin-block-start: auto; padding-block-start: var(--sl-space-4); }
.sl-discover-actions .sl-btn { padding-inline: var(--sl-space-3); }
/* The panel summary and the dialog title already name the group; keep the legend for assistive technology only. */
.sl-discover-filters legend { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; padding: 0; }

/* PARITY-HOME-01 (S01): vertical chips, hero, tiles, "near you" rail and the at-home / packages cards from the approved wireframe. */
.sl-discover-verticals a { font-weight: 600; font-size: .8125rem; }
.sl-discover-verticals a[aria-current] { border-color: var(--sl-brand); background: var(--sl-brand-soft); }
.sl-discover-hero { display: flex; flex-direction: column; justify-content: center; gap: var(--sl-space-2); min-block-size: 300px; padding: 2rem var(--sl-space-6); border-radius: var(--sl-radius); background: var(--sl-brand); color: var(--sl-page); }
.sl-discover-hero p { margin: 0; color: var(--sl-page); }
.sl-discover-hero h2 { margin: 0; max-inline-size: 540px; color: var(--sl-page); font-family: var(--sl-display); font-size: 2.375rem; font-weight: 400; line-height: 1.15; }
.sl-discover-hero .sl-btn.sl-btn { align-self: flex-start; margin-block-start: var(--sl-space-2); border-color: var(--sl-page); background: var(--sl-page); color: var(--sl-brand); }
.sl-discover-section-title { margin-block-end: 0; }
.sl-discover-categories[data-categories-kind=home] a { align-items: flex-start; justify-content: flex-start; text-align: start; }
.sl-discover-nearby h2 { margin-block-end: var(--sl-space-4); }
.sl-discover-duo { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sl-space-4); }
.sl-discover-duo-card { padding: var(--sl-space-6); border: 1px solid var(--sl-line); border-radius: var(--sl-radius); background: var(--sl-page); }
.sl-discover-duo-card h2 { margin-block-end: var(--sl-space-3); }
@media (min-width: 768px) { .sl-discover-hero { padding-inline: 3rem; } .sl-discover-duo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1001px) { .sl-discover-hero { min-block-size: 340px; padding: 3rem; } .sl-discover-categories[data-categories-kind=home] ul { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 1400px) { .sl-discover-hero { min-block-size: 390px; } .sl-discover-categories[data-categories-kind=home] ul { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
.sl-app .sl-discover-categories a, .sl-app .sl-discover-card > a { color: var(--sl-ink); }
.sl-app .sl-discover-card h3 { font-weight: 700; }
.sl-discover-card .sl-discover-media-ph { display: grid; place-items: center; aspect-ratio: 4 / 3; padding: var(--sl-space-3); border-radius: var(--sl-sm-radius); background: var(--sl-brand-soft); color: var(--sl-brand); font-size: .75rem; text-align: center; }
@media (max-width: 767px) { .sl-discover-categories[data-categories-kind=home] ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sl-space-2); } .sl-discover-categories[data-categories-kind=home] a { padding: var(--sl-space-3); } }
.sl-discover-categories .sl-discover-media-ph { display: block; inline-size: 100%; aspect-ratio: 4 / 3; border-radius: var(--sl-sm-radius); background: var(--sl-brand-soft); }

/* PAR3-02 (2026-10-29, S01 + S05-S08): wireframe card anatomy and home rhythm. Name first, then media, text lines, then one outlined action; the favourites control is a quiet 44px icon button beside it. */
.sl-discover { gap: 28px; }
.sl-discover-heading h1 { margin-block-end: 0; }
.sl-discover-verticals { flex-wrap: wrap; overflow: visible; padding-block: 0; gap: 12px; }
.sl-discover-verticals a { min-height: var(--sl-control); padding: 10px 17px; border-radius: 12px; font-size: 15px; font-weight: 600; background: var(--sl-page); }
.sl-discover-verticals a.sl-pill-active, .sl-discover-verticals a[aria-current] { background: var(--sl-brand-soft); border-color: var(--sl-brand); }
.sl-discover-verticals a:not([aria-current]) { border-radius: 24px; font-size: 13px; }
.sl-discover-search { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.sl-discover-search input { padding: 12px; border-radius: 10px; }
.sl-discover-search .sl-discover-submit.sl-btn { position: absolute; inline-size: 1px; block-size: 1px; min-inline-size: 0; min-block-size: 0; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sl-discover-search .sl-discover-submit.sl-btn:focus-visible { position: static; inline-size: auto; block-size: auto; min-block-size: var(--sl-control); padding: 10px 17px; border: 1px solid var(--sl-brand); clip-path: none; overflow: visible; }
.sl-discover-search + .sl-location { margin-block-start: -16px; }
.sl-locbtn.sl-btn { justify-content: flex-start; }
.sl-locbtn .sl-icon { inline-size: 20px; block-size: 20px; }
.sl-discover .sl-discover-section-title { margin-block: 0 -14px; font-size: 22px; font-weight: 700; line-height: 1.3; }
.sl-discover-card { padding: 20px; border-radius: 17px; }
.sl-discover-card > a { display: contents; }
.sl-discover-card > a > h3, .sl-discover-card > h3 { order: 1; margin-block: 0 14px; font-size: 22px; font-weight: 700; line-height: 1.3; }
.sl-discover-card > a > img, .sl-discover-card > a > .sl-discover-media-ph { order: 2; border-radius: 12px; }
.sl-discover-card > p { order: 3; margin-block: 6px 14px; color: var(--sl-ink); }
.sl-discover-card > .sl-discover-actions { order: 4; margin-block-start: auto; padding-block-start: 0; align-items: center; }
.sl-discover-card:has(> a:focus-visible) { outline: 2px solid var(--sl-brand); outline-offset: 3px; }
.sl-discover-actions > a, .sl-discover-actions > form { flex: 0 0 auto; }
.sl-discover-actions .sl-btn { width: auto; padding-inline: 17px; }
.sl-discover-actions .sl-discover-heart.sl-btn { inline-size: 44px; padding: 0; }
.sl-discover-heart .sl-icon { inline-size: 20px; block-size: 20px; }
.sl-discover-heart[aria-pressed="true"] .sl-icon { fill: currentColor; }
.sl-discover-card .sl-discover-media-ph { aspect-ratio: 4 / 3; }
.sl-discover-card .sl-btn { color: var(--sl-page); }
.sl-discover-card .sl-btn-secondary { color: var(--sl-brand); }
.sl-discover-hero .sl-btn.sl-btn { border-color: var(--sl-line); }
.sl-discover-duo-card { padding: 20px; border-radius: 17px; }
.sl-discover-duo-card h2 { margin-block: 0 14px; font-size: 22px; font-weight: 700; line-height: 1.3; }
.sl-discover-nearby h2 { margin-block-end: 14px; font-size: 22px; font-weight: 700; line-height: 1.3; }
/* The home "near you" block is a stacked grid like the wireframe (1 / 2 / 4 / 5 columns), not a swipe rail. */
.sl-discover-nearby .sl-discover-rail { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; overflow: visible; padding-block: 0; }
.sl-discover-nearby .sl-discover-rail > li { flex: none; }
@media (min-width: 768px) { .sl-discover-nearby .sl-discover-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1001px) { .sl-discover-nearby .sl-discover-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1400px) { .sl-discover-nearby .sl-discover-rail { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
/* home category tiles: 14px bold name above a 12px outlined button, tile padding 12px 6px */
.sl-discover-categories[data-categories-kind=home] a { padding: 12px 6px; gap: 12px; border-radius: 17px; }
.sl-discover-categories[data-categories-kind=home] .sl-discover-category-name { font-size: 14px; font-weight: 700; line-height: 1.3; padding-inline: 6px; }
.sl-discover-categories[data-categories-kind=home] .sl-discover-category-cta { padding-inline: 4px; border-color: var(--sl-line); border-radius: 12px; font-size: 12px; margin-inline: 6px; background: var(--sl-page); }

/* PAR3-02b (S05): category tiles are cards with the name first (22px bold, start aligned), the image, then one outlined "View services" button. */
.sl-discover-heading .sl-h1.sl-h1 { margin-block-end: 0; }
.sl-discover-heading + .sl-discover-toolbar, .sl-discover-heading + .sl-discover-categories, .sl-discover-heading + .sl-discover-notice { margin-block-start: -8px; }
.sl-discover-category-search { gap: 6px; margin-block-end: 12px; }
.sl-discover-category-search input { padding: 12px; border-radius: 10px; }
.sl-discover-categories[data-categories-kind=categories] ul { gap: 16px; }
.sl-discover-categories[data-categories-kind=categories] a { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; block-size: 100%; padding: 20px; border-radius: 17px; text-align: start; }
.sl-discover-categories[data-categories-kind=categories] .sl-discover-category-name { order: 1; margin-block-end: 14px; font-size: 22px; font-weight: 700; line-height: 1.3; }
.sl-discover-categories[data-categories-kind=categories] a > :is(img, .sl-discover-media-ph) { order: 2; inline-size: 100%; border-radius: 12px; }
.sl-discover-categories[data-categories-kind=categories] .sl-discover-category-cta { order: 3; align-self: flex-start; margin-block-start: auto; min-block-size: var(--sl-control); padding: 10px 17px; border-color: var(--sl-line); border-radius: 12px; background: var(--sl-page); font-size: 15px; }
.sl-discover-categories[data-categories-kind=categories] a > :is(img, .sl-discover-media-ph) + .sl-discover-category-cta { margin-block-start: 8px; }
.sl-discover-categories[data-categories-kind=categories] li { min-inline-size: 0; }

/* PAR3-02c (S06-S08): result tabs are the wireframe chips, the filter rail is a white card titled "Filters" (a "Filters and location" button below 1001px), a result count + sort row heads the grid. */
.sl-discover-types { gap: 8px; padding-block: 0; }
.sl-discover-types a.sl-pill, .sl-discover-pagination a { min-height: var(--sl-control); padding: 10px 17px; border-radius: 24px; font-size: 13px; font-weight: 600; text-decoration: none; }
.sl-discover-pagination a { font-size: 15px; border-radius: 12px; }
.sl-discover-types a.sl-pill-active { border-color: var(--sl-brand); background: var(--sl-brand-soft); color: var(--sl-brand); }
.sl-discover-toolbar { gap: 20px; }
.sl-discover-filter-panel { padding: 0; border: 0; background: transparent; }
.sl-discover-filter-panel > summary { display: inline-flex; align-items: center; justify-content: center; min-block-size: var(--sl-control); padding: 10px 17px; border: 1px solid var(--sl-line); border-radius: 12px; background: var(--sl-page); color: var(--sl-brand); font-size: 15px; font-weight: 600; list-style: none; }
.sl-discover-filter-panel > summary::-webkit-details-marker { display: none; }
.sl-discover-filter-title { display: none; }
.sl-discover-filters { padding: 16px 0 0; }
.sl-discover-filters label { gap: 6px; font-size: 15px; }
.sl-discover-filters input:not([type=checkbox]), .sl-discover-filters select { padding: 12px; border-radius: 10px; font-size: 15px; }
.sl-discover-filters label.sl-discover-check { min-height: var(--sl-control); gap: 9px; }
.sl-discover-more { grid-column: 1 / -1; }
.sl-discover-more > summary { display: flex; align-items: center; min-height: var(--sl-control); padding: 0; color: var(--sl-brand); font-weight: 600; cursor: pointer; }
.sl-discover-more > summary::marker { color: var(--sl-brand); }
.sl-discover-more[open] > summary { margin-block-end: 8px; border-block-end: 0; }
.sl-discover-more-fields { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) and (max-width: 1000px) { .sl-discover-more-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sl-discover-filter-actions { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.sl-discover-filter-actions .sl-btn { padding-inline: 17px; }
.sl-discover-resultsbar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.sl-discover-resultsbar > p { margin: 0; }
.sl-discover-sortform { display: grid; gap: 6px; }
.sl-discover-sortform .sl-field { margin: 0; min-inline-size: 11rem; }
.sl-discover-results .sl-discover-grid { gap: 16px; }
@media (min-width: 1001px) {
 .sl-discover[data-discover-kind=search], .sl-discover[data-discover-kind=category] { column-gap: 24px; }
 .sl-discover-filter-panel { padding: 20px; border: 1px solid var(--sl-line); border-radius: 17px; background: var(--sl-page); }
 .sl-discover-filter-panel > summary { display: block; min-block-size: 0; padding: 0; border: 0; background: none; color: var(--sl-ink); font-size: 22px; font-weight: 700; line-height: 1.3; pointer-events: none; cursor: default; }
 .sl-discover-filter-title { display: inline; }
 .sl-discover-filter-phone { display: none; }
 .sl-discover-filters { padding: 8px 0 0; }
}
.sl-discover-filter-dialog .sl-discover-filters { padding-block-start: 12px; }
.sl-discover-filter-dialog .sl-discover-filter-panel { border: 0; padding: 0; }
.sl-discover-submit.sl-btn { position: absolute; inline-size: 1px; block-size: 1px; min-inline-size: 0; min-block-size: 0; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sl-discover-submit.sl-btn:focus-visible { position: static; inline-size: auto; block-size: auto; min-block-size: var(--sl-control); padding: 10px 17px; border: 1px solid var(--sl-brand); clip-path: none; overflow: visible; }
.sl-discover-sortform { position: relative; }
.sl-discover-filter-panel[open] > summary { margin-block-end: 0; border-block-end: 0; }
@media (min-width: 1001px) { .sl-app .sl-container .sl-discover-filter-panel[open] > summary { margin-block-end: 0; border-block-end: 0; } }
.sl-discover-categories[data-categories-kind=categories] .sl-discover-category-cta { margin-block-start: 8px; }

/* PAR3-05 (S09): published banners follow the approved patterns: the hero campaign is the brand panel with a white button, every other pattern is a bordered card with a 22px bold title and an outlined button. */
.sl-app .sl-discover-banner { padding: 20px; border: 1px solid var(--sl-line); border-radius: 17px; background: var(--sl-page); color: var(--sl-ink); }
.sl-app .sl-discover-banner h2 { margin: 0 0 14px; font-family: var(--sl-font); font-size: 22px; font-weight: 700; line-height: 1.3; }
.sl-app .sl-discover-banner p { margin: 6px 0 14px; }
.sl-app .sl-discover-banner picture { margin-block-end: 14px; }
.sl-app .sl-discover-banner img { border-radius: 12px; }
.sl-app .sl-discover-banner a { display: inline-flex; align-items: center; justify-content: center; min-block-size: var(--sl-control); padding: 10px 17px; border: 1px solid var(--sl-line); border-radius: 12px; background: var(--sl-page); color: var(--sl-brand); font-weight: 600; text-decoration: none; }
.sl-app .sl-discover-banner[data-banner-type*="hero"] { display: flex; flex-direction: column; justify-content: center; padding: 32px 24px; min-block-size: 300px; border: 0; background: var(--sl-brand); color: var(--sl-page); }
.sl-app .sl-discover-banner[data-banner-type*="hero"] h2 { max-inline-size: 540px; font-family: var(--sl-display); font-size: 38px; font-weight: 400; line-height: 1.15; }
.sl-app .sl-discover-banner[data-banner-type*="hero"] a { align-self: flex-start; }
@media (min-width: 1001px) { .sl-app .sl-discover-banner[data-banner-type*="hero"] { padding: 48px; min-block-size: 340px; } }
@media (min-width: 1400px) { .sl-app .sl-discover-banner[data-banner-type*="hero"] { min-block-size: 390px; } }
.sl-discover-card .sl-price { font-size: 22px; font-weight: 700; }
