/* Approved Swapday homepage: compact desktop grid and an independent mobile layout. */
.sd-home {
  --sd-blue:#164f97;
  --sd-ink:#102443;
  --sd-teal:#11C5C3;
  --sd-line:#dce5f0;
  --sd-muted:#65758c;
  --sd-soft:#f1f6fd;
  margin:0;
  padding:0;
  background:#fff;
  color:var(--sd-ink);
  font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}

.sd-home * {
  box-sizing:border-box
}

.sd-home [hidden] {
  display:none!important
}

.sd-home a {
  color:var(--sd-blue);
  text-decoration:none
}

.sd-home a:hover {
  text-decoration:underline
}

.sd-home button,.sd-home input,.sd-home select {
  font:inherit
}

.sd-home button,.sd-home select,.sd-home summary {
  cursor:pointer
}

.sd-home h1,.sd-home h2,.sd-home h3,.sd-home p {
  margin:0
}

.sd-home h1 {
  font-size:23px;
  line-height:1.3
}

.sd-home h2 {
  font-size:20px;
  line-height:1.3
}

.sd-home img {
  display:block;
  max-width:100%
}

.sd-home a:focus-visible,.sd-home button:focus-visible,.sd-home input:focus-visible,.sd-home select:focus-visible,.sd-home summary:focus-visible {
  outline:3px solid var(--sd-blue);
  outline-offset:3px
}

.sd-container {
  width:min(1320px,calc(100% - 48px));
  margin-inline:auto
}

.sd-sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.sd-icon {
  display:inline-block;
  width:22px;
  height:22px;
  flex-shrink:0;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:middle
}

.sd-skip-link {
  position:fixed;
  left:12px;
  top:-100px;
  padding:12px 18px;
  background:white;
  z-index:100
}

.sd-skip-link:focus {
  top:8px
}

/* Header: distinct location and keyword controls, outlined account actions. */
.sd-header {
  background:white
}

.sd-header-row {
  display:flex;
  align-items:center;
  gap:24px;
  min-height:78px;
  padding-block:14px
}

.sd-brand {
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
  white-space:nowrap;
  font-size:29px;
  font-weight:500;
  letter-spacing:-1.05px;
  line-height:1;
  color:#1c5093!important
}

.sd-brand:hover {
  text-decoration:none!important
}

.sd-brand img {
  width:28px;
  height:28px;
  object-fit:contain
}

.sd-header-search {
  display:flex;
  align-items:stretch;
  gap:16px;
  flex:1;
  min-width:0
}

.sd-header-location {
  position:relative;
  display:flex;
  width:132px;
  flex-shrink:0
}

.sd-header-location>.sd-icon {
  position:absolute;
  width:16px;
  height:16px;
  left:12px;
  top:14px;
  pointer-events:none
}

.sd-header-location select {
  width:100%;
  min-width:0;
  height:44px;
  padding:8px 24px 8px 33px;
  border:1px solid var(--sd-line);
  border-radius:6px;
  background:#fff;
  color:var(--sd-ink)
}

.sd-search-field {
  display:flex;
  flex:1;
  min-width:0;
  border:1px solid var(--sd-line);
  border-radius:6px;
  overflow:hidden
}

.sd-search-field input {
  flex:1;
  width:100%;
  min-width:0;
  border:0;
  padding:10px 14px;
  font-size:13px;
  color:var(--sd-ink);
  background:white
}

.sd-home .sd-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:40px;
  padding:9px 14px;
  border:1px solid #bad0ed;
  border-radius:6px;
  background:#fff;
  color:var(--sd-blue);
  font-size:13px;
  font-weight:500;
  line-height:1.3;
  text-decoration:none;
  white-space:nowrap
}

.sd-home .sd-button:hover {
  background:var(--sd-soft);
  text-decoration:none
}

.sd-home .sd-button--primary {
  background:var(--sd-teal);
  border-color:var(--sd-teal);
  color:white;
  font-weight:600
}

.sd-home .sd-button--primary:hover {
  background:#0fb5b3;
  border-color:#0fb5b3
}

.sd-search-field .sd-button {
  border-radius:0;
  min-height:42px;
  width:46px;
  padding:10px
}

.sd-search-field .sd-icon {
  width:20px;
  height:20px
}

.sd-account {
  display:flex;
  align-items:center;
  gap:12px;
  white-space:nowrap
}

.sd-account .sd-icon {
  width:16px;
  height:16px
}

.sd-account .sd-button {
  font-size:12px;
  min-height:42px;
  padding:9px 14px
}

.sd-mobile-menu,.sd-mobile-button-label {
  display:none
}

/* The text announcement always precedes the full-width image carousel. */
#home-main {
  padding-top:4px
}

/* Original text-banner styling, scoped to the redesigned homepage. */
.sd-original-announcements { margin:0 0 16px; }
.sd-original-announcements .text-banner-carousel {
  display:flex; align-items:center; justify-content:center; background:#fdf7f7;
}
.sd-original-announcements .single-line-banner-wrapper {
  width:100%; max-width:900px; text-align:center; overflow:hidden;
  background:#fdf7f7; padding:3px 0;
}
.sd-original-announcements .single-line-banner {
  display:none; justify-content:center; align-items:center; width:100%;
  gap:12px; color:#0027ff; font-size:12px; font-weight:600;
  text-decoration:none; letter-spacing:.3px;
}
.sd-original-announcements .banner-slide:first-child { display:flex; }
.sd-original-announcements .single-line-banner:hover { text-decoration:underline; color:#0027ff; }
.sd-original-announcements .text-banner-prev,
.sd-original-announcements .text-banner-next {
  background:none; border:none; font-size:12px; cursor:pointer; color:#676869;
}
.sd-original-announcements .text-banner-prev:hover,
.sd-original-announcements .text-banner-next:hover { color:#242424; }
.sd-original-announcements .banner-icon { font-size:13px; }
.sd-original-announcements .banner-arrow { font-size:12px; }

.sd-ad {
  min-width:0
}

.sd-ad-label {
  display:block;
  font-size:12px;
  color:var(--sd-muted);
  margin:0 0 6px
}

.sd-carousel {
  position:relative
}

.sd-ad img {
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:4px
}

.sd-ad--top {
  margin-bottom:18px
}

.sd-ad--top .sd-slide {
  height:250px;
  overflow:hidden;
  border-radius:4px;
  background:var(--sd-soft)
}

.sd-ad--top img {
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:fill
}

.sd-carousel-controls {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
  padding:0 9px
}

.sd-carousel-controls button {
  pointer-events:auto;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(213,225,238,.8);
  border-radius:50%;
  color:var(--sd-ink);
  font-size:25px;
  line-height:1
}

.sd-carousel-controls span {
  position:absolute;
  left:50%;
  bottom:6px;
  transform:translateX(-50%);
  padding:2px 7px;
  border-radius:12px;
  background:rgba(255,255,255,.86);
  font-size:10px;
  color:var(--sd-muted);
  opacity:0
}

.sd-carousel:hover .sd-carousel-controls span,.sd-carousel:focus-within .sd-carousel-controls span {
  opacity:1
}

.sd-ad--sidebar {
  padding:10px;
  background:var(--sd-soft);
  border-radius:7px
}

.sd-ad--sidebar img {
  max-height:580px
}

.sd-ad--sidebar .sd-carousel-controls {
  padding:0 3px
}

.sd-ad--bottom {
  margin:20px 0 24px;
  padding:8px;
  background:var(--sd-soft);
  border-radius:6px
}

.sd-ad--bottom .sd-slide {
  aspect-ratio:5.6/1
}

.sd-ad--bottom img {
  width:100%;
  height:100%;
  aspect-ratio:5.6/1;
  object-fit:fill
}

.sd-category-shortcuts {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:10px;
  margin-bottom:24px
}

.sd-category-shortcuts a {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 7px;
  min-height:102px;
  border-radius:7px;
  background:var(--sd-soft);
  color:var(--sd-ink);
  font-size:12px;
  line-height:1.35;
  text-align:center
}

.sd-category-shortcuts a:hover,.sd-category-shortcuts [aria-current] {
  background:#e5f5f5;
  text-decoration:none
}

.sd-category-shortcuts .sd-icon {
  width:29px;
  height:29px;
  color:#0056a8
}

/* Sidebar spans the listing grid and discovery sections, as in the reference. */
.sd-marketplace {
  display:grid;
  grid-template-columns:minmax(230px,24%) minmax(0,1fr);
  gap:28px;
  align-items:start;
  scroll-margin-top:20px
}

.sd-sidebar {
  display:grid;
  gap:24px;
  min-width:0
}

.sd-marketplace-content,.sd-results {
  min-width:0
}

.sd-filter-form {
  display:flex;
  flex-direction:column;
  gap:9px;
  border:1px solid var(--sd-line);
  border-radius:8px;
  background:#fbfdff;
  padding:18px
}

.sd-section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}

.sd-section-heading>a {
  font-size:12px;
  white-space:nowrap
}

.sd-filter-form .sd-section-heading {
  margin-bottom:6px
}

.sd-filter-form .sd-section-heading h2 {
  font-size:20px
}

.sd-filter-form>label {
  margin-top:9px
}

.sd-filter-form label,.sd-filter-form legend {
  font-size:13px;
  font-weight:600
}

.sd-filter-form select,.sd-filter-form input[type=number] {
  width:100%;
  min-width:0;
  min-height:42px;
  border:1px solid var(--sd-line);
  border-radius:6px;
  padding:9px 10px;
  background:#fff;
  color:var(--sd-ink);
  font-size:13px
}

.sd-filter-form fieldset {
  min-width:0;
  margin:13px 0 0;
  padding:0;
  border:0
}

.sd-filter-form legend {
  padding:0;
  margin-bottom:10px
}

.sd-price-inputs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}

.sd-price-inputs label {
  display:block;
  margin-bottom:5px;
  font-size:11px;
  color:var(--sd-muted);
  font-weight:400
}

.sd-checkbox {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  margin-right:16px;
  font-weight:400!important
}

.sd-checkbox input {
  width:16px;
  height:16px;
  accent-color:var(--sd-teal)
}

.sd-filter-actions {
  display:flex;
  gap:10px;
  margin-top:14px
}

.sd-filter-actions button {
  width:100%
}

.sd-mobile-clear {
  display:none!important
}

.sd-form-error {
  font-size:12px;
  color:#a12f24
}

.sd-results-heading {
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:12px
}

.sd-results-heading h1 {
  font-size:23px
}

.sd-result-count {
  display:none
}

.sd-result-actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap
}

.sd-sort {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px
}

.sd-sort select {
  min-height:36px;
  max-width:165px;
  border:1px solid var(--sd-line);
  border-radius:5px;
  padding:7px 10px;
  background:#fff;
  color:var(--sd-ink);
  font-size:12px
}

.sd-home .sd-filter-trigger {
  min-height:36px;
  padding:7px 12px;
  font-size:12px
}

.sd-filter-trigger .sd-icon {
  width:17px;
  height:17px
}

.sd-filter-hint {
  display:none
}

.sd-filter-chips {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px
}

.sd-chip {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:6px 12px;
  border-radius:14px;
  background:#edf4fc;
  color:var(--sd-blue);
  font-size:12px
}

.sd-chip span {
  font-size:16px;
  line-height:1
}

.sd-clear {
  font-size:12px
}

.sd-listing-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}

.sd-listing-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--sd-line);
  border-radius:6px;
  background:white;
  overflow:hidden
}

.sd-listing-card:hover {
  border-color:#9bb8d4
}

.sd-listing-photo {
  display:block;
  position:relative;
  aspect-ratio:3/2;
  overflow:hidden;
  background:var(--sd-soft)
}

.sd-listing-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

.sd-featured {
  position:absolute;
  right:7px;
  top:7px;
  padding:3px 7px;
  border-radius:4px;
  background:#ffe34d;
  color:#29220a;
  font-size:11px;
  font-weight:600;
  line-height:1.4
}

.sd-listing-info {
  display:flex;
  flex-direction:column;
  flex:1;
  gap:5px;
  padding:11px 12px
}

.sd-listing-price {
  font-size:18px;
  line-height:1.25;
  font-weight:700;
  color:var(--sd-ink)
}

.sd-listing-info h2 {
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  min-height:2.8em
}

.sd-listing-info h2 a {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:var(--sd-ink)
}

.sd-listing-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:4px 6px;
  margin-top:auto;
  padding-top:10px;
  color:var(--sd-muted);
  font-size:10px
}

.sd-listing-meta>span {
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-width:0;
  overflow-wrap:anywhere
}

.sd-listing-meta .sd-icon {
  width:13px;
  height:13px
}

.sd-listing-meta time {
  white-space:nowrap;
  font-size:9px
}

.sd-feed-ad,.sd-mobile-more {
  display:none!important
}

.sd-empty {
  grid-column:1/-1;
  border:1px dashed var(--sd-line);
  border-radius:7px;
  padding:45px 18px;
  text-align:center
}

.sd-empty p {
  margin:10px 0 18px
}

.sd-empty>i {
  display:block;
  font-size:28px;
  margin-bottom:12px
}

.sd-pagination {
  display:flex;
  justify-content:center;
  gap:9px;
  flex-wrap:wrap;
  margin:24px 0 28px
}

.sd-pagination>a,.sd-pagination>span {
  display:grid;
  place-items:center;
  min-width:38px;
  min-height:38px;
  padding:6px 11px;
  border:1px solid var(--sd-line);
  border-radius:6px;
  font-size:12px
}

.sd-pagination [aria-current] {
  background:var(--sd-teal);
  border-color:var(--sd-teal);
  color:#fff
}

.sd-pagination .sd-pagination-gap {
  border:0
}

.sd-explore {
  margin:30px 0;
  scroll-margin-top:15px
}

.sd-explore .sd-section-heading {
  margin-bottom:14px
}

.sd-discovery-links {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}

.sd-discovery-links>a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:11px 18px;
  background:var(--sd-soft);
  border-radius:7px;
  font-size:12px;
  flex:1;
  white-space:nowrap
}

.sd-discovery-links .sd-icon {
  width:23px;
  height:23px;
  color:#0056a8
}

.sd-discovery-details {
  margin-top:12px;
  font-size:12px
}

.sd-discovery-details>summary {
  padding:7px 0;
  color:var(--sd-blue)
}

.sd-js .sd-discovery-details:not([open]) {
  display:none
}

.sd-discovery-details .sd-discovery-links {
  margin:10px 0
}

.sd-testimonials {
  margin:24px 0
}

.sd-review-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:12px 12px 0
}

.sd-review-grid figure {
  margin:0;
  padding:16px 18px;
  border:1px solid var(--sd-line);
  border-radius:7px
}

.sd-review-grid figcaption {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:12px
}

.sd-review-avatar {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--sd-soft);
  color:var(--sd-blue);
  font-size:13px;
  font-weight:600
}

.sd-review-stars {
  display:block;
  color:#e2a500;
  letter-spacing:1px;
  font-size:16px
}

.sd-review-grid blockquote {
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:8px 0 0 54px;
  color:#385575;
  font-size:12px;
  line-height:1.55
}

.sd-home .sd-safety {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:16px 0 18px;
  padding:14px 20px;
  border-radius:7px;
  background:#e9f8fa;
  color:var(--sd-ink);
  font-size:13px
}

.sd-safety:hover {
  text-decoration:none!important
}

.sd-safety>.sd-icon {
  width:30px;
  height:30px;
  color:#00a9b7
}

.sd-safety-subtitle {
  display:block;
  font-size:11px;
  font-weight:400;
  color:#54738d
}

.sd-footer {
  background:var(--sd-soft)
}

.sd-footer-main {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:35px;
  padding-block:28px
}

.sd-footer-brand p {
  margin-top:10px;
  font-size:12px;
  color:#385575
}

.sd-footer .sd-brand {
  font-size:27px
}

.sd-footer .sd-brand img {
  width:29px;
  height:29px
}

.sd-footer-group>summary {
  font-size:13px;
  font-weight:600;
  list-style:none;
  margin-bottom:10px
}

.sd-footer-group>summary::-webkit-details-marker {
  display:none
}

.sd-footer-group a {
  display:block;
  font-size:12px;
  line-height:1.5;
  margin:5px 0
}

.sd-footer-bottom {
  background:#123b6c;
  color:#fff;
  padding:14px 0;
  font-size:11px
}

.sd-footer-bottom>.sd-container {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap
}

.sd-footer-bottom nav {
  display:flex;
  gap:18px
}

.sd-footer-bottom nav:last-child {
  margin-left:auto;
  font-size:14px
}

.sd-footer-bottom a {
  color:inherit
}

.sd-bottom-nav {
  display:none
}

.sd-filter-dialog {
  border:0;
  border-radius:18px 18px 0 0;
  width:100%;
  max-width:640px;
  max-height:90dvh;
  margin:auto auto 0;
  padding:24px 16px max(20px,env(safe-area-inset-bottom));
  overflow:auto;
  background:white;
  color:var(--sd-ink)
}

.sd-filter-dialog::backdrop {
  background:rgba(14,32,51,.45)
}

.sd-sheet-handle {
  width:42px;
  height:4px;
  border-radius:5px;
  background:#bdc6cf;
  margin:-12px auto 24px
}

.sd-dialog-close {
  position:absolute;
  right:14px;
  top:12px;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  font-size:28px;
  color:var(--sd-ink)
}

.sd-filter-dialog .sd-section-heading {
  padding-right:42px
}

.sd-filter-dialog .sd-filter-form {
  padding:0;
  border:0;
  background:white
}

.sd-sheet-open {
  overflow:hidden
}

@media(min-width:901px) {
  .sd-footer-group>summary {
    pointer-events:none
  }
  .sd-home.sd-js .sd-sort-submit {
    display:none
  }
  .sd-filters-hidden #desktop-filter-slot {
    display:none
  }
}

@media(min-width:901px) and (max-width:1100px) {
  .sd-header-row {
    gap:16px
  }
  .sd-brand {
    font-size:26px
  }
  .sd-header-location {
    width:108px
  }
  .sd-header-search {
    gap:12px
  }
  .sd-account {
    gap:8px
  }
  .sd-account .sd-button {
    padding:9px 10px
  }
  .sd-marketplace {
    grid-template-columns:220px minmax(0,1fr);
    gap:22px
  }
  .sd-listing-grid {
    gap:14px
  }
  .sd-listing-info {
    padding:9px
  }
  .sd-sort label {
    display:none
  }
}

@media(max-width:900px) {
  .sd-home {
    padding-bottom:calc(60px + env(safe-area-inset-bottom));
    font-size:13px
  }
  .sd-container {
    width:calc(100% - 28px)
  }
  .sd-header-row {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px;
    min-height:0;
    padding:12px 0 10px
  }
  .sd-mobile-menu {
    display:block;
    position:relative
  }
  .sd-mobile-menu summary {
    display:grid;
    place-items:center;
    width:22px;
    height:30px;
    list-style:none
  }
  .sd-mobile-menu summary::-webkit-details-marker {
    display:none
  }
  .sd-mobile-menu .sd-icon {
    width:20px;
    height:20px
  }
  .sd-mobile-menu nav {
    position:absolute;
    z-index:40;
    top:38px;
    left:0;
    min-width:190px;
    border:1px solid var(--sd-line);
    border-radius:6px;
    padding:8px;
    background:white
  }
  .sd-mobile-menu nav>a {
    display:block;
    padding:10px 12px;
    font-size:13px
  }
  .sd-brand {
    font-size:22px;
    gap:4px
  }
  .sd-brand img {
    width:23px;
    height:23px
  }
  .sd-account {
    gap:8px
  }
  .sd-account .sd-button {
    font-size:11px;
    min-height:34px;
    padding:7px 10px
  }
  .sd-account-secondary {
    display:none!important
  }
  .sd-header-search {
    grid-column:1/-1;
    grid-row:2;
    gap:9px
  }
  .sd-header-location {
    width:92px
  }
  .sd-header-location select {
    height:36px;
    font-size:12px;
    padding-left:25px
  }
  .sd-header-location>.sd-icon {
    left:7px;
    top:10px;
    width:14px;
    height:14px
  }
  .sd-search-field input {
    padding:8px 10px;
    font-size:12px
  }
  .sd-search-field .sd-button {
    min-height:36px;
    width:38px;
    padding:8px
  }
  .sd-search-field .sd-icon {
    width:17px;
    height:17px
  }
  .sd-desktop-button-label {
    display:none
  }
  .sd-mobile-button-label {
    display:inline
  }
  #home-main {
    padding-top:0
  }
  .sd-ad--top {
    margin-bottom:10px
  }
  .sd-ad--top .sd-slide {
    height:180px
  }
  .sd-ad--top img {
    aspect-ratio:auto
  }
  .sd-carousel-controls {
    padding:0 3px
  }
  .sd-carousel-controls button {
    width:26px;
    height:26px;
    font-size:22px
  }
  .sd-category-shortcuts {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin-bottom:18px
  }
  .sd-category-shortcuts a {
    min-height:78px;
    padding:10px 5px;
    gap:8px;
    font-size:11px
  }
  .sd-category-shortcuts .sd-icon {
    width:26px;
    height:26px
  }
  .sd-category-shortcuts a:last-child>span {
    white-space:nowrap;
    font-size:10px
  }
  .sd-marketplace {
    display:block
  }
  .sd-home.sd-js .sd-sidebar {
    display:none
  }
  .sd-home:not(.sd-js) .sd-filter-trigger {
    display:none
  }
  .sd-home:not(.sd-js) .sd-sidebar {
    margin-bottom:20px
  }
  .sd-desktop-ad {
    display:none
  }
  .sd-results-heading {
    margin-bottom:6px;
    gap:10px
  }
  .sd-results-heading h1 {
    font-size:19px
  }
  .sd-result-actions {
    width:100%;
    justify-content:space-between;
    gap:10px
  }
  .sd-result-actions .sd-filter-trigger {
    flex:1;
    min-height:34px;
    padding:7px 12px;
    font-size:12px
  }
  .sd-sort {
    flex:1
  }
  .sd-sort label {
    display:none
  }
  .sd-sort select {
    width:100%;
    min-height:34px;
    font-size:12px;
    max-width:none
  }
  .sd-home.sd-js .sd-sort-submit {
    display:none
  }
  .sd-filter-hint {
    display:block;
    font-size:11px;
    margin:7px 0 12px!important;
    color:#385575
  }
  .sd-filter-chips {
    margin:0 0 12px
  }
  .sd-filter-chips:has(>.sd-chip:only-child) {
    display:none
  }
  .sd-filter-chips:has(>a) {
    display:flex
  }
  .sd-listing-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .sd-listing-photo {
    aspect-ratio:1.45/1
  }
  .sd-listing-info {
    padding:9px;
    gap:4px
  }
  .sd-listing-price {
    font-size:16px
  }
  .sd-listing-info h2 {
    font-size:12px
  }
  .sd-listing-meta {
    padding-top:10px;
    font-size:10px
  }
  .sd-listing-meta time {
    font-size:9px
  }
  .sd-listing-meta .sd-icon {
    width:12px;
    height:12px
  }
  .sd-featured {
    right:5px;
    top:5px;
    font-size:10px;
    padding:2px 6px
  }
  .sd-feed-ad {
    display:block!important;
    grid-column:1/-1
  }
  .sd-feed-ad .sd-ad--sidebar {
    padding:5px
  }
  .sd-feed-ad .sd-ad-label {
    font-size:10px;
    margin-bottom:4px
  }
  .sd-feed-ad img {
    max-height:170px;
    object-fit:contain
  }
  .sd-pagination {
    display:none
  }
  .sd-home .sd-mobile-more {
    display:flex!important;
    width:100%;
    margin-top:16px;
    min-height:34px;
    font-size:12px;
    border-color:#75adff
  }
  .sd-explore {
    margin:22px 0
  }
  .sd-explore h2 {
    font-size:17px
  }
  .sd-explore .sd-section-heading {
    margin-bottom:10px
  }
  .sd-section-heading>a {
    font-size:10px
  }
  .sd-discovery-links {
    gap:7px
  }
  .sd-discovery-links>a {
    flex:0 1 auto;
    min-height:34px;
    font-size:11px;
    padding:8px 12px;
    gap:8px
  }
  .sd-discovery-links .sd-icon {
    width:19px;
    height:19px
  }
  .sd-ad--bottom {
    margin:18px 0;
    padding:5px
  }
  .sd-ad--bottom .sd-slide,.sd-ad--bottom img {
    aspect-ratio:3/1
  }
  .sd-ad--bottom .sd-ad-label {
    font-size:10px;
    margin-bottom:4px
  }
  .sd-testimonials {
    margin:18px 0
  }
  .sd-testimonials>h2 {
    font-size:17px
  }
  .sd-review-grid {
    grid-template-columns:1fr;
    margin:10px 6px 0;
    gap:12px
  }
  .sd-review-grid figure {
    padding:12px
  }
  .sd-review-grid figcaption {
    gap:10px;
    font-size:11px
  }
  .sd-review-avatar {
    width:35px;
    height:35px
  }
  .sd-review-stars {
    font-size:14px
  }
  .sd-review-grid blockquote {
    font-size:11px;
    margin:5px 0 0 45px;
    -webkit-line-clamp:3
  }
  .sd-home .sd-safety {
    margin:14px 0;
    padding:10px 12px;
    gap:8px;
    font-size:10px
  }
  .sd-safety>.sd-icon {
    width:19px;
    height:19px
  }
  .sd-safety-subtitle {
    display:none
  }
  .sd-footer-main {
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    padding:18px 0 12px
  }
  .sd-footer-brand {
    grid-column:1/-1
  }
  .sd-footer .sd-brand {
    font-size:21px
  }
  .sd-footer .sd-brand img {
    width:24px;
    height:24px
  }
  .sd-footer-brand p {
    display:none
  }
  .sd-footer-group>summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:4px;
    font-size:11px;
    margin:0;
    padding:7px 0;
    border-bottom:1px solid var(--sd-line)
  }
  .sd-footer-group>summary::after {
    content:'⌄';
    font-size:13px
  }
  .sd-footer-group[open]>summary::after {
    transform:rotate(180deg)
  }
  .sd-footer-group a {
    font-size:11px;
    margin:8px 0
  }
  .sd-footer-bottom {
    background:var(--sd-soft);
    color:#385575;
    font-size:10px;
    padding:10px 0 15px
  }
  .sd-footer-bottom>.sd-container {
    justify-content:center;
    gap:10px
  }
  .sd-footer-bottom nav {
    gap:11px
  }
  .sd-footer-bottom nav:last-child {
    margin-left:0;
    justify-content:center;
    width:100%;
    font-size:15px;
    gap:20px
  }
  .sd-bottom-nav {
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:20;
    justify-content:space-around;
    align-items:center;
    min-height:60px;
    padding:5px 10px max(5px,env(safe-area-inset-bottom));
    border-top:1px solid var(--sd-line);
    background:white
  }
  .sd-bottom-nav>a {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:48px;
    min-width:56px;
    font-size:10px;
    color:var(--sd-muted)
  }
  .sd-bottom-nav .sd-icon {
    width:21px;
    height:21px
  }
  .sd-bottom-nav [aria-current] {
    color:#0061d5;
    border-top:2px solid #0061d5
  }
  .sd-filter-dialog .sd-filter-actions {
    position:sticky;
    bottom:-20px;
    background:white;
    padding:14px 0 4px
  }
  .sd-mobile-clear {
    display:inline-flex!important
  }
  .sd-filter-actions .sd-button {
    flex:1
  }
  .sd-filter-actions button {
    width:auto
  }
}

@media(max-width:360px) {
  .sd-container {
    width:calc(100% - 20px)
  }
  .sd-header-row {
    gap:6px
  }
  .sd-brand {
    font-size:20px
  }
  .sd-brand img {
    width:21px;
    height:21px
  }
  .sd-account {
    gap:5px
  }
  .sd-account .sd-button {
    font-size:10px;
    padding:7px 8px
  }
  .sd-category-shortcuts a {
    font-size:10px;
    min-height:72px
  }
  .sd-listing-grid {
    gap:9px
  }
  .sd-listing-info {
    padding:8px
  }
  .sd-listing-price {
    font-size:15px
  }
  .sd-discovery-links>a {
    font-size:10px;
    padding:7px 10px
  }
}

@media(prefers-reduced-motion:reduce) {
  .sd-home * {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}


/* Category photos use the existing Admin image field; the outline remains a fallback. */
.sd-category-photo {
  width:56px;
  height:56px;
  object-fit:contain;
  flex-shrink:0;
  border-radius:6px;
}
.sd-discovery-links .sd-category-photo { width:32px; height:32px; }
@media(max-width:900px) {
  .sd-category-photo { width:48px; height:48px; }
  .sd-category-shortcuts a { min-height:94px; }
  .sd-discovery-links .sd-category-photo { width:28px; height:28px; }
}

@media(max-width:900px) {
  .sd-bottom-nav {
    min-height:70px; padding:8px 12px max(8px,env(safe-area-inset-bottom));
    box-sizing:border-box; border-top:1px solid #e5edf4;
    border-radius:20px 20px 0 0; box-shadow:0 -5px 24px rgba(16,36,67,.09);
    gap:4px
  }
  .sd-bottom-nav>a {
    flex:1; min-width:0; min-height:52px; gap:5px;
    border-radius:14px; font-size:11px; font-weight:500;
    color:#64748b; transition:background .15s,color .15s
  }
  .sd-bottom-nav .sd-icon { width:22px; height:22px }
  .sd-bottom-nav [aria-current] { border-top:0; color:#087b80; background:#e5f9f8 }
  .sd-bottom-nav>a:focus-visible { outline:2px solid var(--sd-teal); outline-offset:2px }
  .sd-bottom-nav>a:active { background:#e5f9f8 }
  .sd-home { padding-bottom:calc(82px + env(safe-area-inset-bottom)) }
}

.sd-location-trigger {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  width:100%; min-width:0; min-height:42px; padding:9px 10px;
  border:1px solid var(--sd-line); border-radius:6px; background:white;
  color:var(--sd-ink); font:inherit; font-size:13px; text-align:left; cursor:pointer
}
.sd-location-trigger span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.sd-location-trigger::after { content:''; width:6px; height:6px; border-right:1px solid; border-bottom:1px solid; transform:rotate(45deg); flex-shrink:0; margin:0 3px 3px }
.sd-header-location .sd-location-trigger { border:0; padding-left:28px; height:100%; font-size:12px }
.sd-location-panel {
  position:fixed; inset:auto; box-sizing:border-box; margin:0; padding:8px;
  border:1px solid #d4deea; border-radius:8px; background:white;
  box-shadow:0 8px 24px rgba(16,36,67,.18); color:#102443;
  overflow:hidden; z-index:100
}
.sd-location-panel input { box-sizing:border-box; width:100%; min-height:42px; padding:10px; border:1px solid #dce5f0; border-radius:4px; background:white; font-size:16px; color:#102443 }
.sd-location-options { overflow:auto; max-height:240px; overscroll-behavior:contain; margin-top:6px }
.sd-location-options button { display:block; width:100%; border:0; border-bottom:1px solid #edf0f4; background:white; padding:12px 10px; text-align:left; font-size:14px; line-height:20px; color:#102443; cursor:pointer }
.sd-location-options button[aria-pressed=true],.sd-location-options button:hover { background:#e6f9f8; color:#086b70 }
.sd-location-panel p { font-size:13px; padding:8px; margin:0 }
.sd-location-trigger:focus-visible,.sd-location-options button:focus-visible { outline:2px solid #11C5C3; outline-offset:-2px }
.sd-location-options button[hidden],.sd-location-panel p[hidden] { display:none }
.sd-header-location .sd-location-trigger { border:1px solid var(--sd-line) }
@media(max-width:900px) { .sd-header-location .sd-location-trigger { min-height:36px; padding-left:25px } }

/* A compact search stays beside the listing filters. */
.sd-listing-search { position:relative; width:180px; min-width:0 }
.sd-listing-search input[type=search] { box-sizing:border-box; width:100%; min-width:0; height:36px; padding:8px 35px 8px 11px; border:1px solid var(--sd-line); border-radius:6px; background:white; color:var(--sd-ink); font-size:12px }
.sd-listing-search button { position:absolute; top:1px; right:1px; width:33px; height:34px; display:grid; place-items:center; padding:0; border:0; border-radius:0 5px 5px 0; background:transparent; color:var(--sd-blue) }
.sd-listing-search .sd-icon { width:17px; height:17px }
.sd-listing-search button:hover { background:var(--sd-soft) }
@media(max-width:900px) {
 .sd-result-actions { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(88px,.8fr); gap:7px }
 .sd-listing-search { width:100% }
 .sd-listing-search input[type=search] { height:36px; padding-left:9px }
 .sd-result-actions .sd-filter-trigger { padding:7px 9px; min-height:36px; gap:5px }
 .sd-result-actions .sd-sort { min-width:0 }
 .sd-result-actions .sd-sort select { min-width:0; height:36px; padding:7px 5px }
}
