/* Search screen visual layer: the supplied mobile reference, adapted to Nafe3. */
body:has(.search-page),
body:has(.affiliate-map-page.is-public-map),
main:has(.search-page),
main:has(.affiliate-map-page.is-public-map) {
    background:
        radial-gradient(circle at calc(100% + 100px) 155px,rgba(255,101,8,.17),rgba(255,180,120,.055) 13rem,transparent 23rem),
        radial-gradient(circle at -110px 525px,rgba(21,95,141,.14),rgba(74,175,218,.045) 14rem,transparent 25rem),
        linear-gradient(180deg,#fffaf7 0,#fff 48%,#f8fafc 100%) !important;
    background-attachment:fixed !important;
}
.search-page,
.affiliate-map-page.is-public-map {
    background:transparent !important;
    position:relative;
    isolation:isolate;
}
.affiliate-map-page {
    --search-orange: #ff6508;
    --search-orange-soft: #fff1e8;
    --search-navy: #153f62;
    --search-ink: #172b43;
    --search-muted: #69798a;
    --search-line: #eadfce;
}
.search-page {
    --search-orange: #ff6508;
    --search-orange-soft: #fff1e8;
    --search-navy: #153f62;
    --search-ink: #172b43;
    --search-muted: #69798a;
    --search-line: #eadfce;
    padding-top: 28px;
}

.search-page-head { margin-bottom: 18px; }
.search-page-head h1 { color: var(--search-ink); font-size: clamp(27px,3vw,40px); }
.search-head-mark { color: var(--search-navy); border-color: #d8e4ec; background: #fff; }

.search-unified-hero {
    position: relative;
    isolation: isolate;
    min-height: 104px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 22px;
    margin-bottom: 12px;
    padding: 14px 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.search-unified-hero::after {
    content:"travel_explore";
    position:absolute;
    z-index:0;
    left:2%;
    top:50%;
    display:block;
    color:rgba(21,63,98,.035);
    font-family:"Material Symbols Rounded";
    font-size:92px;
    line-height:1;
    transform:translateY(-50%);
    pointer-events:none;
}
.search-unified-hero>* { position:relative; z-index:1; }
.search-unified-hero__copy { min-width: 0; }
.search-unified-hero__copy>span { display: inline-flex; align-items: center; gap: 5px; color: #d94f00; font-size: 9px; font-weight: 900; }
.search-unified-hero__copy>span i { font-size: 16px; }
.search-unified-hero__copy h1 { margin: 3px 0 1px; color: var(--search-ink); font-size: clamp(20px,2.2vw,29px); line-height: 1.25; }
.search-unified-hero__copy h1 strong { color: var(--search-orange); }
.search-unified-hero__copy p { margin: 0; color: var(--search-muted); font-size: 10px; }
.search-unified-hero__stats { display: grid; grid-template-columns: repeat(3,minmax(92px,1fr)); gap: 7px; }
.search-unified-hero__stats>div { min-height: 58px; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #e8edf0; border-radius: 15px; background: rgba(255,255,255,.9); }
.search-unified-hero__stats>div>i { width: 30px; height: 30px; display: grid; flex: 0 0 30px; place-items: center; border-radius: 10px; background: #fff0e7; color: var(--search-orange); font-size: 18px; }
.search-unified-hero__stats>div:nth-child(2)>i { background: #eaf3f8; color: var(--search-navy); }
.search-unified-hero__stats>div:nth-child(3)>i { background: #e9f7f2; color: #087a60; }
.search-unified-hero__stats span,.search-unified-hero__stats small,.search-unified-hero__stats strong { display: block; }
.search-unified-hero__stats small { color: var(--search-muted); font-size: 7px; white-space: nowrap; }
.search-unified-hero__stats strong { margin-top: 1px; color: var(--search-ink); font-size: 15px; }

.search-main-form {
    position: relative;
    top: auto;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    padding: 10px;
    border-color: #f1d8c6;
    border-radius: 25px;
    box-shadow: none;
}
.search-shared-toolbar { grid-template-areas: "input actions" "tabs tabs"; }
.search-shared-toolbar>.search-main-input { grid-area: input; }
.search-shared-toolbar>.search-main-actions { grid-area: actions; }
.search-view-tabs { grid-area: tabs; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; border-radius: 16px; background: #f4f7f9; }
.search-view-tabs a { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 12px; color: var(--search-navy); font-size: 11px; font-weight: 900; text-decoration: none; }
.search-view-tabs a.active { background: linear-gradient(90deg,#ff6508,#ff7c2b); color: #fff; box-shadow: none; }
.search-view-tabs .material-symbols-rounded { font-size: 20px; }
.search-main-input {
    height: 56px;
    grid-template-columns: 44px minmax(0,1fr) 30px;
    border: 1px solid #ece5de;
    border-radius: 17px;
    background: #fff;
}
.search-main-input>span { font-family: "Material Symbols Rounded"; font-size: 0; }
.search-main-input>span::before { content: "search"; font-size: 28px; color: #17212e; }
.search-main-input input { padding-inline: 4px; color: var(--search-ink); font-size: 14px; font-weight: 700; }
.search-main-input input::placeholder { color: #a1a7ad; }
.search-main-actions { display: flex; align-items: center; gap: 8px; }
.search-main-actions .btn-primary,
.search-main-actions .mobile-filter-button,
.search-main-actions .search-map-submit { height: 48px; border-radius: 15px; }
.search-main-actions .btn-primary { min-width: 92px; justify-content: center; }
.search-map-submit { width: auto; min-width: 105px; display: flex; padding-inline: 14px; gap: 6px; background: var(--search-navy); color: #fff; border-color: var(--search-navy); }
.search-map-submit:hover { color: #fff; background: #0f3453; }
.search-map-submit b { font-size: 11px; }
.mobile-filter-button { display:flex !important; align-items:center; justify-content:center; gap:6px; padding-inline:14px; border:0; background:var(--search-orange); color:#fff; cursor:pointer; }

body.search-filter-sheet-open { overflow: hidden; }
.search-filter-sheet-overlay { position: fixed; z-index: 10020; inset: 0; background: rgba(10,25,40,.54); opacity: 0; visibility: hidden; transition: .24s; backdrop-filter: blur(4px); }
.search-filter-sheet-overlay.open { opacity: 1; visibility: visible; }
.search-filter-sheet { position: fixed; z-index: 10021; right: 50%; bottom: 0; width: min(920px,calc(100% - 28px)); max-height: min(86vh,760px); display:flex; overflow:hidden; flex-direction:column; border: 1px solid #e5ddd6; border-bottom: 0; border-radius: 27px 27px 0 0; background: #fff; box-shadow: 0 -20px 55px rgba(14,31,48,.2); transform: translate(50%,105%); visibility: hidden; transition: transform .3s ease,visibility .3s; }
.search-filter-sheet.open { transform: translate(50%,0); visibility: visible; }
.search-filter-sheet::before { display:none; }
.search-filter-sheet>header { position:relative; z-index:2; flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid #eef0f2; background:#fff; }
.search-filter-sheet>header>div { display: flex; align-items: center; gap: 10px; }
.search-filter-sheet>header>div>span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--search-orange-soft); color: var(--search-orange); }
.search-filter-sheet>header p,.search-filter-sheet>header b,.search-filter-sheet>header small { display: block; margin: 0; }
.search-filter-sheet>header b { color:var(--search-ink); font-size:16px; }
.search-filter-sheet>header small { margin-top:2px; color:var(--search-muted); font-size:11px; }
.search-filter-sheet>header button { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 11px; background: #f2f4f6; color: #5f6d79; }
.search-filter-sheet form { min-height:0; display:flex; flex:1; flex-direction:column; padding:0; overflow:hidden; }
.search-filter-sheet__body { min-height:0; flex:1; padding:14px 18px; overflow:auto; font-family:inherit; scrollbar-width:thin; scrollbar-color:#b8c2ca transparent; overscroll-behavior:contain; }
.search-filter-sheet__body::-webkit-scrollbar,.search-filter-sheet__categories::-webkit-scrollbar { width:5px; height:5px; }
.search-filter-sheet__body::-webkit-scrollbar-track,.search-filter-sheet__categories::-webkit-scrollbar-track { background:transparent; }
.search-filter-sheet__body::-webkit-scrollbar-thumb,.search-filter-sheet__categories::-webkit-scrollbar-thumb { border-radius:999px; background:#b8c2ca; }
.search-filter-sheet__body::-webkit-scrollbar-thumb:hover,.search-filter-sheet__categories::-webkit-scrollbar-thumb:hover { background:#8795a1; }
.search-filter-sheet__grid { display: grid; grid-template-columns: 1fr; gap: 13px; }
.search-filter-sheet__section { min-width:0; padding:13px; border:1px solid #e8edf0; border-radius:17px; background:#fbfcfd; }
.search-filter-sheet__section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.search-filter-sheet__section-head>span { display:flex; align-items:center; gap:7px; color:var(--search-ink); }
.search-filter-sheet__section-head>span>i { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:var(--search-orange-soft); color:var(--search-orange); font-size:18px; }
.search-filter-sheet__section-head b { font-size:13px; }
.search-filter-sheet__search { position:relative; width:min(290px,45%); }
.search-filter-sheet__search>i { position:absolute; z-index:1; top:50%; right:11px; color:#7a8792; font-size:18px; transform:translateY(-50%); }
.search-filter-sheet__search input,.search-filter-sheet__select-search>input { width:100%; height:42px; box-sizing:border-box; border:1px solid #dfe5e9; border-radius:11px; outline:0; background:#fff; color:var(--search-ink); font-family:inherit; font-size:12px; }
.search-filter-sheet__search input { padding:0 36px 0 10px; }
.search-filter-sheet__categories { display:grid; grid-template-columns:1fr; gap:6px; max-height:230px; padding:1px 1px 1px 7px; overflow:auto; scrollbar-width:thin; scrollbar-color:#b8c2ca transparent; }
.search-filter-sheet__categories>label { min-width:0; }
.search-filter-sheet__categories input { position:absolute; opacity:0; pointer-events:none; }
.search-filter-sheet__categories label>span { min-height:43px; display:grid; grid-template-columns:31px minmax(0,1fr) 18px; align-items:center; gap:9px; margin:0; padding:5px 10px; border:1px solid #e2e7ea; border-radius:11px; background:#fff; cursor:pointer; }
.search-filter-sheet__categories label>span>i { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:color-mix(in srgb,var(--category-color,#ff6508) 10%,#fff); color:var(--category-color,#ff6508); }
.search-filter-sheet__categories label>span>i svg { width:17px; height:17px; }
.search-filter-sheet__categories label>span>b { overflow:hidden; color:#405363; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.search-filter-sheet__categories label>span>em { color:var(--search-orange); font-size:17px; font-style:normal; opacity:0; }
.search-filter-sheet__categories input:checked+span { border-color:#ffae7c; background:#fff5ee; }
.search-filter-sheet__categories input:checked+span>em { opacity:1; }
.search-filter-sheet__location-grid,.search-filter-sheet__options-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.search-filter-sheet__select-search { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:5px; }
.search-filter-sheet__select-search>input { padding:0 9px; }
.search-filter-sheet label>span { display:flex; align-items:center; gap:6px; margin-bottom:6px; color:#384b5d; font-size:12px; font-weight:800; }
.search-filter-sheet label>span i { color: var(--search-orange); font-size: 16px; }
.search-filter-sheet select { width:100%; height:46px; padding:0 12px; border:1px solid #dfe5e9; border-radius:12px; outline:0; background:#fbfcfd; color:var(--search-ink); font-family:inherit; font-size:12px; }
.search-filter-sheet select:focus { border-color: #ffad7d; box-shadow: 0 0 0 3px rgba(255,101,8,.08); }
.shared-filter-native-select { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }
.shared-filter-select2 { position:relative; min-width:0; }
.shared-filter-select2__trigger { width:100%; height:46px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 12px; border:1px solid #dfe5e9; border-radius:12px; background:#fbfcfd; color:var(--search-ink); font-family:inherit; cursor:pointer; }
.shared-filter-select2__trigger>span { min-width:0; display:flex; align-items:center; gap:7px; }
.shared-filter-select2__trigger>span>i { flex:0 0 auto; font-size:19px; }
.shared-filter-select2__trigger b { min-width:0; overflow:hidden; font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.shared-filter-select2__trigger>i { color:#74828e; font-size:20px; transition:transform .18s; }
.shared-filter-select2.open .shared-filter-select2__trigger { border-color:#ffad7d; background:#fff; box-shadow:0 0 0 3px rgba(255,101,8,.08); }
.shared-filter-select2.open .shared-filter-select2__trigger>i { transform:rotate(180deg); }
.shared-filter-select2__panel { position:absolute; z-index:30; top:calc(100% + 6px); right:0; left:0; display:none; padding:7px; border:1px solid #dfe5e9; border-radius:14px; background:#fff; box-shadow:0 16px 34px rgba(20,33,61,.16); }
.shared-filter-select2.open .shared-filter-select2__panel { display:block; }
.shared-filter-select2__panel>input { width:100%; height:39px; box-sizing:border-box; padding:0 11px; border:1px solid #e1e6e9; border-radius:10px; outline:0; background:#f8fafb; color:var(--search-ink); font-family:inherit; font-size:11px; }
.shared-filter-select2__panel>input:focus { border-color:#ffad7d; background:#fff; }
.shared-filter-select2__options { max-height:190px; margin-top:6px; overflow:auto; scrollbar-width:thin; scrollbar-color:#b8c2ca transparent; }
.shared-filter-select2__options::-webkit-scrollbar { width:5px; }
.shared-filter-select2__options::-webkit-scrollbar-thumb { border-radius:99px; background:#b8c2ca; }
.shared-filter-select2__options>button { width:100%; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 9px; border:0; border-radius:9px; background:transparent; color:#405363; font-family:inherit; font-size:11px; text-align:right; cursor:pointer; }
.shared-filter-select2__options>button:hover { background:#f4f7f8; }
.shared-filter-select2__options>button.selected { background:#fff1e8; color:#d94f00; font-weight:800; }
.shared-filter-select2__options>button i { color:var(--search-orange); font-size:17px; }
.shared-filter-select2__options>button>span { min-width:0; display:flex; align-items:center; gap:8px; }
.shared-filter-select2__options>button>span>i { flex:0 0 auto; font-size:19px; }
.shared-filter-select2__options>button>span>b { min-width:0; overflow:hidden; color:inherit; font-size:inherit; font-weight:inherit; text-overflow:ellipsis; white-space:nowrap; }
.shared-filter-select2__options>small { display:block; padding:14px 8px; color:#7a8792; font-size:11px; text-align:center; }
.search-filter-sheet footer { flex:0 0 auto; display:grid; grid-template-columns:auto minmax(180px,1fr); gap:9px; margin:0; padding:12px 18px max(12px,env(safe-area-inset-bottom)); border-top:1px solid #edf0f2; background:#fff; }
.search-filter-sheet footer a,.search-filter-sheet footer button { min-height:48px; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:13px; font-family:inherit; font-size:12px; font-weight:800; text-decoration:none; }
.search-filter-sheet footer a { padding-inline: 15px; border: 1px solid #e1e6e9; color: #64727e; }
.search-filter-sheet footer button { border: 0; background: linear-gradient(90deg,#ff6508,#ff7d2d); color: #fff; box-shadow: 0 8px 18px rgba(255,101,8,.2); }
.search-page .search-filter-card,.search-page .search-filter-overlay { display: none !important; }
.search-page .search-layout { grid-template-columns: minmax(0,1fr) !important; }
.affiliate-map-page.is-public-map>.affiliate-map-filter-shell,
.affiliate-map-page.is-public-map>.affiliate-map-filter-overlay { display: none !important; }
.affiliate-map-page.is-public-map>.search-shared-toolbar { margin-bottom: 16px; }
.affiliate-map-page.is-public-map>.affiliate-map-shell { margin-top: 0; }

/* Reserve an explicit image column so funded-ad copy never runs underneath it. */
.search-provider-grid>.app-promotion-card>.app-promotion-card__body {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(210px,260px) minmax(0,1fr) !important;
    box-sizing: border-box;
}
.search-provider-grid>.app-promotion-card .app-promotion-card__image {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 260px;
    box-sizing: border-box;
}
.search-provider-grid>.app-promotion-card .app-promotion-card__copy {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
.search-provider-grid>.app-promotion-card .app-promotion-card__copy h3,
.search-provider-grid>.app-promotion-card .app-promotion-card__copy p {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.search-popular-strip { border-radius: 22px !important; }
.search-layout { grid-template-columns: 284px minmax(0,1fr); }
.search-filter-card { border-radius: 22px; }
.search-results-head { margin-bottom: 10px; }
.search-results-toolbar { border: 1px solid #e8edf1; border-radius: 18px; background: rgba(255,255,255,.9); }

/* The reference uses compact horizontal people cards. */
.search-provider-grid.is-list { gap: 14px !important; }
.search-provider-grid.is-list .search-provider-card {
    grid-template-columns: 112px minmax(0,1fr) !important;
    min-height: 196px !important;
    overflow: hidden;
    border: 1px solid var(--search-line) !important;
    border-radius: 24px !important;
    background: #fff;
    box-shadow: 0 11px 28px rgba(72,48,28,.07) !important;
}
.search-provider-grid.is-list .search-provider-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset-block: 0;
    right: 0;
    width: 112px;
    background: linear-gradient(180deg,#f4f8fa,#fff);
}
.search-provider-grid.is-list .search-provider-card.is-affiliate-provider::after { background: linear-gradient(180deg,#fff4d8,#fff); }
.search-provider-grid.is-list .search-provider-card.is-premium-provider::after { background: linear-gradient(180deg,#f3edff,#fff); }
.search-provider-grid.is-list .search-provider-image {
    z-index: 2;
    width: 84px !important;
    height: 112px !important;
    min-height: 112px !important;
    margin: 22px auto 0 !important;
    border-radius: 21px !important;
    border-color: #fff !important;
    background: #e8f2f4;
}
.search-provider-grid.is-list .search-provider-image img { border-radius: 17px !important; object-fit: cover; }
.search-provider-grid .search-provider-image .affiliate-provider-badge {
    top:auto !important;
    right:auto !important;
    bottom:6px !important;
    left:50% !important;
    width:max-content !important;
    max-width:min(108px,calc(100% + 20px)) !important;
    min-height:24px;
    box-sizing:border-box;
    justify-content:center;
    padding:3px 6px !important;
    overflow:hidden;
    font-size:7px !important;
    line-height:1;
    text-overflow:ellipsis;
    white-space:nowrap;
    transform:translateX(-50%) !important;
}
.search-provider-grid .search-provider-image .affiliate-provider-badge i { flex:0 0 auto; font-size:13px !important; }
.search-provider-grid .search-provider-profile-link {
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    box-sizing:border-box;
    padding:0 13px !important;
    line-height:1 !important;
    white-space:nowrap;
}
.search-provider-grid .search-provider-profile-link>span,
.search-provider-grid .search-provider-profile-link>i {
    width:20px;
    height:20px;
    display:inline-flex !important;
    flex:0 0 20px;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    font-size:19px !important;
    font-style:normal;
    line-height:1 !important;
}
.search-provider-grid .search-provider-profile-link>b {
    display:inline-flex;
    align-items:center;
    margin:0 !important;
    font-size:9px !important;
    font-weight:900;
    line-height:1.2 !important;
}
.search-provider-grid .search-provider-profile-link>i { font-size:18px !important; }
.search-provider-grid.is-list .search-provider-content { z-index: 2; padding: 16px 17px 13px !important; }
.search-provider-grid.is-list .search-provider-name h3 { color: var(--search-ink); font-size: 17px !important; }
.search-provider-grid.is-list .search-provider-name p { margin-top: 2px; color: var(--search-muted); font-size: 10px !important; }
.search-provider-grid.is-list .provider-live-status { color: #07875f; }
.search-provider-grid.is-list .search-provider-tags { margin: 8px 0 !important; }
.search-provider-grid.is-list .search-provider-tags span { background: transparent !important; font-size: 9px !important; }
.search-provider-grid.is-list .search-provider-bottom { padding-top: 7px !important; }
.search-provider-grid.is-list .search-provider-contact { position: static !important; width: 100% !important; margin-top: 8px !important; padding-top: 8px !important; }
.search-provider-grid.is-list .search-provider-contact>a,
.search-provider-grid.is-list .search-provider-contact>span { height: 34px !important; border: 1px solid #e5eaed !important; }

@media (min-width: 1180px) {
    .search-results { min-width: 0; }
    .search-provider-grid.is-list,
    .search-provider-grid.is-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .search-provider-grid.is-list .promotion-card { grid-column: 1/-1; }
    .search-provider-grid.is-grid .promotion-card { grid-column:1/-1; }
}

@media (min-width: 701px) and (max-width: 1179px) {
    .search-provider-grid.is-list,
    .search-provider-grid.is-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 1000px) {
    .search-page { padding-top: 18px; }
    .search-page-head { display: none; }
    .search-main-form { top: auto; }
}

@media (max-width: 820px) {
    .search-unified-hero { grid-template-columns: 1fr; gap: 10px; }
    .search-unified-hero__stats { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 700px) {
    .search-page { padding: 10px 0 34px; }
    .search-page>.container { width: min(100% - 22px, 100%); }
    .search-unified-hero { min-height:0; gap:10px; margin-bottom:10px; padding:10px 4px; border-radius:0; }
    .search-unified-hero::after { display:block; left:1%; font-size:64px; opacity:.8; }
    .search-unified-hero__copy { display:block; text-align:right; }
    .search-unified-hero__copy>span { display: none; }
    .search-unified-hero__copy h1 { margin:0; font-size:21px; font-weight:900; line-height:1.35; letter-spacing:-.25px; white-space:normal; }
    .search-unified-hero__copy h1 strong { font-weight:950; }
    .search-unified-hero__copy p { max-width:100%; margin-top:4px; color:#607182; font-size:10px; font-weight:600; line-height:1.75; }
    .search-unified-hero__stats { gap: 4px; }
    .search-unified-hero__stats>div { min-height: 42px; gap: 5px; padding: 5px 6px; border-radius: 11px; }
    .search-unified-hero__stats>div>i { width: 23px; height: 23px; flex-basis: 23px; border-radius: 7px; font-size: 14px; }
    .search-unified-hero__stats small { font-size:7px; font-weight:700; }
    .search-unified-hero__stats strong { font-size:12px; font-weight:900; }
    .search-main-form {
        position: sticky;
        top: 68px;
        display: grid;
        grid-template-columns: 54px minmax(0,1fr) 54px;
        gap: 8px;
        padding: 8px;
        border: 0;
        border-radius: 22px;
        background: rgba(255,248,243,.96);
        box-shadow: none;
    }
    .search-shared-toolbar { grid-template-areas: "input input input" "tabs tabs tabs"; }
    .search-main-input { grid-column:1/4; grid-row:1; height:52px; grid-template-columns:minmax(0,1fr) 28px; padding-left:86px; padding-right:14px; border:1px solid #ece5de; box-sizing:border-box; box-shadow:none; }
    .search-main-input input { min-width: 0; font-size: 12px; }
    .search-main-input>span { display:none; }
    .search-main-input>span::before { font-size: 22px !important; line-height:1; font-weight:500; font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24; -webkit-text-stroke:0; }
    .search-main-actions { display: contents; }
    .search-main-actions .btn-primary { position:absolute; z-index:2; top:18px; left:18px; min-width:0; width:30px; height:32px; display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; border:0; border-radius:0; background:transparent !important; color:var(--search-navy); line-height:0; box-shadow:none !important; }
    .search-main-actions .btn-primary b { display: none; }
    .search-main-actions .btn-primary span.material-symbols-rounded { width:100%; height:100%; display:flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; padding:0 !important; font-size:21px !important; font-weight:500 !important; line-height:1 !important; font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24 !important; -webkit-text-stroke:0; transform:translateY(-3px) !important; }
    .search-main-actions .mobile-filter-button { position:absolute; z-index:2; top:18px; left:50px; width:30px; height:32px; display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; border:0; border-radius:0; background:transparent !important; color:var(--search-orange); line-height:0; box-shadow:none !important; }
    .search-main-actions .mobile-filter-button b { display: none; }
    .search-main-actions .mobile-filter-button span.material-symbols-rounded { width:100%; height:100%; display:flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; padding:0 !important; font-size:21px !important; font-weight:500 !important; line-height:1 !important; font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24 !important; -webkit-text-stroke:0; transform:none !important; }
    .search-main-form::after { content: none; }
    .search-view-tabs { grid-column: 1/4; grid-row: 2; padding: 4px; border-radius: 15px; }
    .search-view-tabs a { min-height: 42px; }
    .search-provider-grid>.app-promotion-card>.app-promotion-card__body { grid-template-columns: minmax(105px,32%) minmax(0,1fr) !important; }
    .search-provider-grid>.app-promotion-card .app-promotion-card__image { max-width: none; }
    .search-filter-sheet { width: 100%; max-height: 88vh; border-right: 0; border-left: 0; border-radius: 23px 23px 0 0; }
    .search-filter-sheet>header { padding: 13px 14px; }
    .search-filter-sheet__body { padding:10px 12px; }
    .search-filter-sheet__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    .search-filter-sheet__grid { grid-template-columns:1fr; }
    .search-filter-sheet__section { padding:10px; border-radius:14px; }
    .search-filter-sheet__section-head { align-items:stretch; flex-direction:column; }
    .search-filter-sheet__search { width:100%; }
    .search-filter-sheet__categories { grid-template-columns:1fr; max-height:250px; }
    .search-filter-sheet__location-grid,.search-filter-sheet__options-grid { grid-template-columns:1fr; }
    .search-filter-sheet__select-search { grid-template-columns:1fr 1.25fr; }
    .search-filter-sheet select { height:45px; font-size:12px; }
    .search-filter-sheet footer { position:relative; bottom:auto; margin:0; padding:10px 12px max(10px,env(safe-area-inset-bottom)); }

    .search-popular-strip { margin-top: 12px !important; }
    .search-results-head { padding-inline: 4px; }
    .search-results-toolbar { padding: 7px !important; border-radius: 16px; }
    .search-order-switcher { display: none !important; }
    .search-view-switcher { width: 100%; }
    .search-view-switcher>span { font-size: 9px; }

    .search-provider-grid.is-list { gap: 12px !important; }
    .search-provider-grid.is-list .search-provider-card {
        grid-template-columns: 92px minmax(0,1fr) !important;
        min-height: 178px !important;
        border-radius: 21px !important;
    }
    .search-provider-grid.is-list .search-provider-card::after { width: 92px; }
    .search-provider-grid.is-list .search-provider-image {
        width: 70px !important;
        height: 92px !important;
        min-height: 92px !important;
        margin-top: 21px !important;
        border-radius: 18px !important;
    }
    .search-provider-grid.is-list .search-provider-content { padding: 12px 11px 10px !important; }
    .search-provider-grid.is-list .search-provider-name h3 { font-size: 15px !important; }
    .search-provider-grid.is-list .search-provider-name p { font-size: 8px !important; }
    .search-provider-grid.is-list .search-provider-identity { display: none; }
    .search-provider-grid.is-list .search-provider-specialties { display: none !important; }
    .search-provider-grid.is-list .search-provider-tags { margin: 5px 0 !important; }
    .search-provider-grid.is-list .search-provider-tags span { padding: 3px 2px !important; font-size: 7px !important; }
    .search-provider-grid.is-list .search-provider-bottom strong { font-size: 10px !important; }
    .search-provider-grid.is-list .search-provider-profile-link { min-height: 29px; }
    .search-provider-grid.is-list .search-provider-contact { gap: 4px !important; margin-top: 5px !important; padding-top: 5px !important; }
    .search-provider-grid.is-list .search-provider-contact>a,
    .search-provider-grid.is-list .search-provider-contact>span { height: 30px !important; }
    .search-provider-grid.is-list .search-provider-contact b { font-size: 6px !important; }
    .promotion-card { border-radius: 21px !important; }
}

@media (max-width: 700px) {
    .affiliate-map-page.is-public-map { width: min(100% - 22px,100%) !important; padding-top: 10px !important; }
    .affiliate-map-page.is-public-map>.search-shared-toolbar { margin-bottom: 10px; }
    .affiliate-map-page.is-public-map>.affiliate-map-hero,
    .affiliate-map-page.is-public-map>.affiliate-map-stats { display: none !important; }
    .affiliate-map-page.is-public-map .affiliate-map-filter-launcher { display: none !important; }
    .affiliate-map-page.is-public-map .affiliate-map-mobile-tools { min-height: 54px; }
}

@media (max-width: 390px) {
    .search-page>.container { width: min(100% - 14px,100%); }
    .search-main-form { grid-template-columns: 48px minmax(0,1fr) 48px; gap: 6px; padding: 7px; }
    .search-main-actions .btn-primary,
    .search-main-actions .mobile-filter-button { width: 30px; height: 30px; }
    .search-main-actions .btn-primary { top:16px; left:14px; }
    .search-main-actions .mobile-filter-button { top:16px; left:45px; }
    .search-main-input { height:49px; padding-left:80px; padding-right:12px; }
    .search-filter-sheet__categories { grid-template-columns:1fr; }
    .search-provider-grid.is-list .search-provider-card { grid-template-columns: 82px minmax(0,1fr) !important; }
    .search-provider-grid.is-list .search-provider-card::after { width: 82px; }
    .search-provider-grid.is-list .search-provider-image { width: 62px !important; height: 84px !important; min-height: 84px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .search-page *, .search-page *::before, .search-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
/* Search page follows the provider profile header model: one sticky bar only. */
body:has(.search-page) .site-header {
    position: relative;
    top: auto;
}

body:has(.search-page) .search-main-form {
    position: sticky;
    z-index: 45;
    top: 0;
    isolation: isolate;
}

body:has(.search-page) .search-main-form::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    border-bottom: 1px solid #eef1f5;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 22px rgba(20,33,61,.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transform: translateX(-50%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease;
}

body:has(.search-page) .search-main-form.is-stuck::before {
    opacity: 1;
}

/* The map tab is rendered by a separate view, so it needs the same sticky surface explicitly. */
body:has(.affiliate-map-page.is-public-map) .site-header {
    position: relative;
    top: auto;
}

body:has(.affiliate-map-page.is-public-map) .search-main-form {
    position: sticky !important;
    z-index: 45 !important;
    top: 0 !important;
    isolation: isolate;
}

body:has(.affiliate-map-page.is-public-map) .search-main-form::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    border-bottom: 1px solid #eef1f5;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 22px rgba(20,33,61,.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transform: translateX(-50%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease;
}

body:has(.affiliate-map-page.is-public-map) .search-main-form.is-stuck::before {
    opacity: 1;
}

.search-provider-grid.is-grid .search-provider-bottom.profile-only {
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    margin-inline-start: 0 !important;
    overflow: hidden;
}

.search-provider-grid.is-grid .search-provider-bottom.profile-only .search-provider-profile-link {
    width: 100% !important;
    min-height: 36px;
    display: flex !important;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
}

/* The image-column pseudo layer caused a Chromium paint overflow in RTL list cards. */
.search-provider-grid.is-list .search-provider-card::after {
    content: none !important;
    display: none !important;
}
