:root {
  --search-ink: #21150f;
  --search-muted: #6f604e;
  --search-paper: #fbf7ef;
  --search-card: #fffdf8;
  --search-accent: #f7c928;
  --search-green: #157a5b;
}

* { box-sizing: border-box; }
body { margin: 0; background: #f5efe4; color: var(--search-ink); font-family: Inter, system-ui, sans-serif; }
.search-page-shell { width: min(1380px, 100%); margin: 0 auto; }
.search-hero { padding: clamp(54px, 8vw, 110px) max(24px, 6vw); background: linear-gradient(rgba(17,25,33,.54), rgba(17,25,33,.68)), url("images/chintzia-family-beach.jpeg") center 42% / cover; color: #fff; }
.search-kicker { margin: 0 0 12px; color: #ffe16d; font-size: 12px; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; }
.search-hero h1 { max-width: 900px; margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(44px, 7vw, 92px); line-height: .94; letter-spacing: -.055em; }
.search-hero > p:not(.search-kicker) { max-width: 760px; margin: 20px 0 28px; font-size: clamp(17px, 2vw, 23px); line-height: 1.45; font-weight: 700; }
.universal-search-form { max-width: 1000px; padding: 10px; background: rgba(255,255,255,.96); color: var(--search-ink); }
.universal-search-fields { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; }
.universal-search-form label { display: grid; gap: 7px; min-width: 0; }
.universal-search-form label span { padding: 0 8px; font-size: 11px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.universal-search-form input { min-width: 0; min-height: 58px; padding: 0 18px; border: 1px solid rgba(33,21,15,.16); background: #fff; color: var(--search-ink); font: 800 clamp(16px, 2vw, 21px)/1 Inter, sans-serif; }
.universal-search-form button { min-width: 140px; min-height: 58px; border: 0; background: var(--search-accent); color: #16110b; font: 950 16px/1 Inter, sans-serif; cursor: pointer; }
.example-searches { display: flex; flex-wrap: wrap; gap: 8px; max-width: 1000px; margin-top: 14px; }
.example-searches button { min-height: 40px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.55); background: rgba(12,18,26,.45); color: #fff; font: 850 13px/1.1 Inter, sans-serif; cursor: pointer; }
.search-results-section { padding: clamp(42px, 6vw, 82px) max(20px, 6vw) 100px; background: radial-gradient(circle at 94% 2%, rgba(247,201,40,.14), transparent 25rem), var(--search-paper); }
.results-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.search-interpretation { margin: 0 0 6px; color: var(--search-green); font-size: 13px; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.results-heading h2 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(36px, 5vw, 62px); line-height: 1; letter-spacing: -.045em; }
.result-count { margin: 10px 0 0; color: var(--search-muted); font-weight: 750; }
.results-helper { margin: 7px 0 0; color: var(--search-muted); font-size: 13px; font-weight: 650; }
.view-actions { display: flex; align-items: center; gap: 4px; }
.view-actions button, .view-actions a { min-height: 42px; padding: 12px 15px; border: 1px solid transparent; border-radius: 999px; background: #ece3d5; color: var(--search-ink); font: 900 13px/1 Inter, sans-serif; text-decoration: none; cursor: pointer; }
.view-actions .active { background: var(--search-ink); color: #fff; }
.intent-chips, .result-filters { display: flex; gap: 8px; overflow-x: auto; padding: 18px 0 4px; scrollbar-width: none; }
.intent-chips::-webkit-scrollbar, .result-filters::-webkit-scrollbar { display: none; }
.intent-chips span, .result-filters button { flex: 0 0 auto; min-height: 38px; padding: 10px 14px; border: 1px solid rgba(33,21,15,.14); border-radius: 999px; background: #fff; color: var(--search-ink); font: 850 13px/1 Inter, sans-serif; }
.result-filters button { cursor: pointer; }
.result-filters button.active { border-color: var(--search-green); background: var(--search-green); color: #fff; }
.search-filter-block { margin-top: 22px; padding: 15px; border: 1px solid rgba(33,21,15,.1); border-radius: 18px; background: rgba(255,255,255,.52); }
.search-filter-block[hidden] { display: none; }
.filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.filter-heading p { margin: 0; color: var(--search-muted); font-size: 11px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.clear-parent-filters { border: 0; background: transparent; color: var(--search-green); font: 850 12px/1 Inter,sans-serif; text-decoration: underline; cursor: pointer; }
.parent-search-filters { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-top: 11px; }
.parent-search-filters button { min-height: 46px; padding: 10px; border: 1px solid rgba(33,21,15,.14); border-radius: 14px; background: #fff; color: var(--search-ink); font: 900 13px/1.1 Inter,sans-serif; cursor: pointer; }
.parent-search-filters button[aria-pressed="true"] { border-color: var(--search-green); background: var(--search-green); color: #fff; }
.result-filter-block { margin-top: 12px; }
.result-filter-block .result-filters { padding-top: 11px; }
.search-loading { display: flex; align-items: center; justify-content: center; gap: 13px; min-height: 76px; margin-top: 22px; padding: 16px 20px; border: 1px solid rgba(21,122,91,.2); background: #eef8f3; color: var(--search-ink); font-size: 14px; }
.search-loading[hidden] { display: none; }
.search-loading span:last-child { display: grid; gap: 3px; }
.search-loading-spinner { width: 26px; height: 26px; flex: 0 0 auto; border: 3px solid rgba(21,122,91,.22); border-top-color: var(--search-green); border-radius: 50%; animation: search-loading-spin .75s linear infinite; }
.search-results-grid.is-loading { opacity: .35; pointer-events: none; }
.universal-search-form button:disabled, .parent-search-filters button:disabled { cursor: wait; opacity: .65; }
@keyframes search-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .search-loading-spinner { animation: none; border-top-color: rgba(21,122,91,.22); background: var(--search-green); } }
.search-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.5vw, 30px); margin-top: 26px; align-items: stretch; }
.search-results-grid.list { grid-template-columns: 1fr; }
.search-result-card { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border: 1px solid rgba(33,21,15,.08); border-radius: 28px; background: var(--search-card); box-shadow: 0 16px 36px rgba(45,31,20,.09); transition: transform .25s ease, box-shadow .25s ease; }
.search-result-card:hover { transform: translateY(-5px); box-shadow: 0 24px 48px rgba(45,31,20,.15); }
.search-results-grid.list .search-result-card { grid-template-columns: minmax(300px, 40%) 1fr; grid-template-rows: 1fr; }
.search-card-image { position: relative; display: block; width: 100%; height: clamp(220px, 25vw, 330px); overflow: hidden; padding: 0; border: 0; background: #ddd3c3; color: inherit; text-align: left; text-decoration: none; }
button.search-card-image { cursor: pointer; }
.search-results-grid.list .search-card-image { height: 100%; min-height: 390px; }
.search-card-image::before { position: absolute; inset: 0; content: ""; background: linear-gradient(100deg, #e5dccd 20%, #f7f1e7 38%, #e5dccd 58%); background-size: 220% 100%; animation: search-image-shimmer 1.15s linear infinite; }
.search-card-image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .22s ease, transform .35s ease; }
.search-card-image img.is-loaded { opacity: 1; }
.search-result-card:hover img { transform: scale(1.025); }
.search-card-source { position: absolute; z-index: 2; left: 16px; bottom: 16px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; background: rgba(255,253,248,.9); color: var(--search-muted); font-size: 11px; font-weight: 900; box-shadow: 0 6px 18px rgba(0,0,0,.12); backdrop-filter: blur(8px); }
.search-card-representative { position: absolute; z-index: 2; top: 12px; right: 12px; padding: 6px 8px; border-radius: 999px; background: rgba(17,24,39,.78); color: #fff; font-size: 9px; font-weight: 850; letter-spacing: .04em; backdrop-filter: blur(8px); }
@keyframes search-image-shimmer { to { background-position-x: -220%; } }
.search-card-body { display: flex; flex-direction: column; align-items: stretch; gap: 14px; padding: clamp(20px, 3vw, 30px); }
.search-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.search-card-heading { flex: 1; min-width: 0; }
.search-card-body h3 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(25px, 2.6vw, 38px); line-height: 1.02; letter-spacing: -.035em; }
.search-card-body h3 button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-align: left; cursor: pointer; }
.search-card-body h3 button:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.search-card-address { display: block; margin-top: 5px; color: var(--search-muted); font-size: 13px; font-weight: 850; line-height: 1.35; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.search-card-top-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.search-setting-badge { display: inline-flex; align-items: center; min-height: 34px; padding: 8px 12px; border: 1px solid rgba(34,106,134,.25); border-radius: 999px; background: #e3f3fa; color: #176f93; font-size: 12px; font-weight: 900; white-space: nowrap; }
.search-icon-action { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(33,21,15,.08); border-radius: 999px; background: #fff; color: var(--search-ink); box-shadow: 0 8px 18px rgba(48,32,18,.08); cursor: pointer; }
.search-icon-action svg { width: 23px; height: 23px; stroke-width: 2.6; }
.search-icon-action.active { background: #e6f3e3; color: var(--search-green); }
.search-icon-action.active svg { fill: currentColor; }
.search-share-menu { display: grid; gap: 9px; padding: 14px; border: 1px solid rgba(33,21,15,.12); border-radius: 16px; background: #fbf8f1; color: var(--search-ink); }
.search-share-menu[hidden] { display: none; }
.search-share-menu > div { display: flex; flex-wrap: wrap; gap: 8px; }
.search-share-menu button, .search-share-menu a { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid rgba(33,21,15,.12); border-radius: 999px; background: #fff; color: inherit; font: 850 12px/1 Inter, sans-serif; text-decoration: none; cursor: pointer; }
.search-share-menu p { margin: 0; color: var(--search-green); font-size: 12px; font-weight: 850; }
.search-share-menu p[hidden] { display: none; }
.search-card-meta, .search-card-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.search-card-meta span, .search-card-chips span { display: inline-flex; align-items: center; width: fit-content; padding: 8px 11px; border-radius: 999px; background: #f2eadc; color: var(--search-muted); font-size: 12px; font-weight: 900; line-height: 1; }
.search-card-meta .match { border: 1px solid rgba(21,122,91,.24); background: #eaf5e6; color: var(--search-green); }
.search-card-description { margin: 0; color: var(--search-muted); font-size: 15px; line-height: 1.5; font-weight: 650; }
.search-card-details { display: grid; gap: 14px; }
.search-card-details[hidden] { display: none; }
.search-card-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.search-card-stats span { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 8px 11px; border: 1px solid rgba(33,21,15,.1); border-radius: 999px; background: #fbf8f1; color: var(--search-ink); font-size: 12px; font-weight: 900; }
.search-card-stats strong { color: #9a8a75; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.search-parent-tip { margin: 0; padding: 13px 15px; border: 1px solid rgba(221,121,47,.2); border-radius: 16px; background: #fff7e8; color: var(--search-muted); font-size: 14px; line-height: 1.45; }
.search-parent-tip strong { color: var(--search-ink); }
.search-card-chips { margin-top: auto; }
.search-card-actions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; padding-top: 2px; }
.search-card-actions a, .search-card-actions > button:not(.ww-itinerary-button) { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 12px; border: 1px solid rgba(33,21,15,.08); border-radius: 999px; background: #fff; color: var(--search-ink); font: 950 13px/1.2 Inter, sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
.search-card-actions > button.primary { border-color: var(--search-ink); background: var(--search-ink); color: #fff; }
.search-card-actions a.photos { border-color: rgba(34,106,134,.2); background: #e3f3fa; color: #176f93; }
.search-card-map { display: grid; gap: 10px; padding-top: 4px; }
.search-card-map[hidden] { display: none; }
.search-card-map-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.search-card-map-heading button { padding: 7px 10px; border: 1px solid rgba(33,21,15,.12); border-radius: 999px; background: #fff; color: inherit; font: 850 12px/1 Inter, sans-serif; cursor: pointer; }
.search-card-map iframe { width: 100%; height: 320px; border: 0; border-radius: 18px; background: #ddd3c3; }
.search-empty { margin-top: 28px; padding: clamp(28px, 5vw, 58px); background: #fff; text-align: center; }
.search-empty h3 { margin: 0 0 8px; font-family: Fraunces, Georgia, serif; font-size: 34px; }
.search-empty button { margin: 6px; padding: 12px 15px; border: 0; background: var(--search-accent); font-weight: 900; cursor: pointer; }
.load-more { display: block; min-width: 180px; min-height: 50px; margin: 34px auto 0; border: 0; background: var(--search-green); color: #fff; font: 900 15px/1 Inter, sans-serif; cursor: pointer; }
.search-wild-wheel { margin-top: clamp(54px, 8vw, 100px); padding: clamp(24px, 5vw, 54px); border: 1px solid rgba(33,21,15,.1); border-radius: 34px; background: linear-gradient(145deg, #fffdf8, #fff5d7); box-shadow: 0 24px 60px rgba(45,31,20,.11); }
.search-wild-wheel[hidden] { display: none; }
.search-wheel-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.search-wheel-heading > div > p, .search-wheel-shortlist > p { margin: 0 0 7px; color: var(--search-green); font-size: 11px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.search-wheel-heading h2 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(36px, 5vw, 64px); line-height: .95; letter-spacing: -.045em; }
.search-wheel-heading > p { max-width: 430px; margin: 0; color: var(--search-muted); font-weight: 750; line-height: 1.5; }
.search-wheel-layout { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(320px, 1.1fr); gap: clamp(24px, 5vw, 56px); align-items: center; }
.search-wheel-stage { display: grid; justify-items: center; gap: 18px; }
.search-wheel-wrap { position: relative; width: min(410px, 38vw); aspect-ratio: 1; }
.search-wheel-pointer { position: absolute; z-index: 4; top: -7px; left: 50%; width: 34px; height: 48px; transform: translateX(-50%); clip-path: polygon(50% 100%, 0 0, 100% 0); background: var(--search-ink); filter: drop-shadow(0 5px 5px rgba(0,0,0,.22)); }
.search-wheel-disc { position: absolute; inset: 0; border: 12px solid #fff; border-radius: 50%; background: conic-gradient(#f27b38 0 20%, #38a8d8 20% 40%, #f4c52f 40% 60%, #38ad6f 60% 80%, #8d5fd3 80%); box-shadow: 0 20px 45px rgba(45,31,20,.18), inset 0 0 0 3px rgba(33,21,15,.12); transform: rotate(var(--wheel-rotation, 0deg)); transition: transform 1.8s cubic-bezier(.13,.76,.12,1); }
.search-wheel-disc::after { position: absolute; inset: 41%; content: ""; border: 6px solid #fff; border-radius: 50%; background: var(--search-ink); box-shadow: 0 5px 16px rgba(0,0,0,.2); }
.search-wheel-labels { position: absolute; inset: 0; z-index: 2; }
.search-wheel-label { position: absolute; left: 50%; top: 50%; width: 30%; transform: translate(-50%, -50%) rotate(var(--label-angle)) translateY(-145%) rotate(calc(-1 * var(--label-angle))); color: #18100b; font-size: clamp(10px, 1.15vw, 13px); font-weight: 950; line-height: 1.05; text-align: center; text-shadow: 0 1px 1px rgba(255,255,255,.6); }
.search-wheel-label span { display: block; margin-bottom: 3px; font-size: 23px; text-shadow: none; }
.search-wheel-label.selected { padding: 6px; border-radius: 10px; background: rgba(255,255,255,.9); }
.search-wheel-spin { min-height: 54px; padding: 14px 24px; border: 0; border-radius: 999px; background: var(--search-ink); color: #fff; font: 950 14px/1 Inter, sans-serif; text-transform: uppercase; letter-spacing: .04em; box-shadow: 0 12px 26px rgba(33,21,15,.2); cursor: pointer; }
.search-wheel-spin:disabled { cursor: wait; opacity: .65; }
.search-wheel-status { margin: -8px 0 0; color: var(--search-muted); font-size: 13px; font-weight: 750; text-align: center; }
.search-wheel-shortlist { padding: clamp(20px, 3vw, 30px); border: 1px solid rgba(33,21,15,.09); border-radius: 26px; background: rgba(255,255,255,.75); }
.search-wheel-shortlist ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.search-wheel-option { width: 100%; display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; min-height: 66px; padding: 11px 13px; border: 1px solid rgba(33,21,15,.1); border-radius: 16px; background: #fff; color: var(--search-ink); text-align: left; cursor: pointer; }
.search-wheel-option > span:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #f3ead9; font-weight: 950; }
.search-wheel-option strong, .search-wheel-option small { display: block; }
.search-wheel-option small { margin-top: 3px; color: var(--search-muted); font-size: 11px; font-weight: 750; }
.search-wheel-option.selected { border-color: var(--search-green); box-shadow: 0 0 0 2px rgba(21,122,91,.12); }
.search-wheel-result { display: grid; gap: 10px; margin-top: 14px; padding: 18px; border-radius: 18px; background: #eaf5e6; }
.search-wheel-result[hidden] { display: none; }
.search-wheel-result h3, .search-wheel-result p { margin: 0; }
.search-wheel-result h3 { font-family: Fraunces, Georgia, serif; font-size: 28px; line-height: 1; }
.search-wheel-result p { color: var(--search-muted); font-size: 13px; line-height: 1.45; }
.search-wheel-result a { width: fit-content; display: inline-flex; min-height: 42px; align-items: center; padding: 10px 15px; border-radius: 999px; background: var(--search-green); color: #fff; font-size: 12px; font-weight: 900; text-decoration: none; }
#location-choices button { min-height: 44px; padding: 10px 14px; border: 1px solid rgba(33,21,15,.14); border-radius: 999px; background: var(--search-card); color: var(--search-ink); font: 850 13px/1.2 Inter, sans-serif; cursor: pointer; }
#location-choices[hidden] { display: none; }
html[data-theme="dark"] body { background: #08111d; }
html[data-theme="dark"] .search-results-section { --search-ink: #f8fafc; --search-muted: #cbd5e1; --search-paper: #0f172a; --search-card: #16243a; }
html[data-theme="dark"] .search-filter-block { border-color: rgba(148,163,184,.2); background: rgba(22,36,58,.68); }
html[data-theme="dark"] .clear-parent-filters { color: #a7f3d0; }
html[data-theme="dark"] .view-actions button,
html[data-theme="dark"] .view-actions a,
html[data-theme="dark"] .intent-chips span,
html[data-theme="dark"] .result-filters button,
html[data-theme="dark"] .parent-search-filters button {
  border-color: rgba(148,163,184,.28);
  background: #1d2a40;
  color: #f8fafc;
}
html[data-theme="dark"] #location-choices button { border-color: rgba(148,163,184,.28); background: #1d2a40; color: #f8fafc; }
html[data-theme="dark"] .view-actions .active,
html[data-theme="dark"] .result-filters button.active,
html[data-theme="dark"] .parent-search-filters button[aria-pressed="true"] {
  border-color: #34d399;
  background: #34d399;
  color: #052016;
}
html[data-theme="dark"] .search-loading {
  border-color: rgba(52,211,153,.3);
  background: #14243a;
  color: #f8fafc;
}
html[data-theme="dark"] .search-result-card { border-color: rgba(148,163,184,.17); box-shadow: 0 18px 42px rgba(0,0,0,.28); }
html[data-theme="dark"] .search-card-address,
html[data-theme="dark"] .search-card-description,
html[data-theme="dark"] .search-parent-tip { color: #cbd5e1; }
html[data-theme="dark"] .search-card-meta span,
html[data-theme="dark"] .search-card-chips span,
html[data-theme="dark"] .search-card-stats span { border-color: rgba(148,163,184,.2); background: #24324a; color: #e2e8f0; }
html[data-theme="dark"] .search-card-meta .match { border-color: rgba(52,211,153,.28); background: #163b35; color: #a7f3d0; }
html[data-theme="dark"] .search-parent-tip { border-color: rgba(251,191,36,.22); background: #332a1d; }
html[data-theme="dark"] .search-parent-tip strong { color: #f8fafc; }
html[data-theme="dark"] .search-icon-action,
html[data-theme="dark"] .search-card-actions a,
html[data-theme="dark"] .search-card-actions > button:not(.ww-itinerary-button),
html[data-theme="dark"] .search-share-menu button,
html[data-theme="dark"] .search-share-menu a,
html[data-theme="dark"] .search-card-map-heading button { border-color: rgba(148,163,184,.2); background: #1d2a40; color: #f8fafc; }
html[data-theme="dark"] .search-card-actions > button.primary { border-color: #34d399; background: #34d399; color: #052016; }
html[data-theme="dark"] .search-card-actions a.photos,
html[data-theme="dark"] .search-setting-badge { border-color: rgba(125,211,252,.25); background: #17334a; color: #bae6fd; }
html[data-theme="dark"] .search-share-menu { border-color: rgba(148,163,184,.2); background: #24324a; }
html[data-theme="dark"] .search-empty {
  background: #16243a;
  color: #f8fafc;
}
html[data-theme="dark"] .search-wild-wheel { border-color: rgba(148,163,184,.2); background: linear-gradient(145deg, #16243a, #263047); }
html[data-theme="dark"] .search-wheel-shortlist,
html[data-theme="dark"] .search-wheel-option { border-color: rgba(148,163,184,.2); background: #1d2a40; color: #f8fafc; }
html[data-theme="dark"] .search-wheel-result { background: #163b35; }
html[data-theme="dark"] .search-empty button {
  color: #17110a;
}

@media (max-width: 900px) {
  .universal-search-fields { grid-template-columns: 1fr auto; }
  .universal-search-form button { grid-column: 1 / -1; }
  .search-results-grid { grid-template-columns: 1fr; }
  .results-heading { align-items: flex-start; flex-direction: column; }
  .parent-search-filters { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .search-wheel-layout { grid-template-columns: 1fr; }
  .search-wheel-wrap { width: min(410px, 72vw); }
}
@media (max-width: 620px) {
  .search-hero { padding-inline: 18px; }
  .universal-search-fields { grid-template-columns: 1fr; }
  .universal-search-form button { grid-column: auto; }
  .universal-search-form button { min-height: 50px; }
  .search-results-section { padding-inline: 14px; }
  .search-results-grid, .search-results-grid.list { grid-template-columns: 1fr; }
  .search-results-grid.list .search-result-card { grid-template-columns: 1fr; }
  .search-results-grid.list .search-card-image { height: 220px; min-height: 0; }
  .view-actions { width: 100%; }
  .view-actions > * { flex: 1; text-align: center; }
  .parent-search-filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .search-filter-block { padding: 12px; }
  .search-card-body { padding: 18px; }
  .search-card-top { flex-direction: column; }
  .search-card-top-actions { width: 100%; }
  .search-card-actions { grid-template-columns: 1fr; }
  .search-wild-wheel { padding: 20px 14px; border-radius: 24px; }
  .search-wheel-heading { align-items: flex-start; flex-direction: column; }
  .search-wheel-wrap { width: min(330px, 82vw); }
  .search-wheel-label { font-size: 9px; transform: translate(-50%, -50%) rotate(var(--label-angle)) translateY(-135%) rotate(calc(-1 * var(--label-angle))); }
}

@media (prefers-reduced-motion: reduce) {
  .search-result-card,
  .search-card-image::before,
  .search-card-image img { transition: none; }
  .search-result-card:hover { transform: none; }
  .search-card-image::before { animation: none; }
}
