.search-page {
    --search-green: #06483f;
    --search-gold: #9b7025;
    --search-border: #e7e9e8;
    background: #fff;
    color: var(--search-green);
    font-family: 'Cairo', sans-serif;
}
.search-page *, [data-search-filter-drawer] * { box-sizing: border-box; }
.search-hero {
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
    text-align: center;
    background: #f5efdf url('../img/home/search-banner.png') center 55% / cover no-repeat;
}
.search-hero-copy {
    max-width: 760px;
    padding: 12px 24px;
    background: radial-gradient(ellipse, #fff8eedd, transparent 75%);
}
.search-hero h1 { margin: 0; font-size: 48px; font-weight: 900; line-height: 1.4; color: var(--search-green); }
.search-hero h2 { margin: 6px 0; font-size: 21px; font-weight: 800; color: var(--search-gold); }
.search-hero p { margin: 0; font-size: 14px; line-height: 1.9; color: #626a66; }
.search-hero-types { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; margin-top: 16px; font-size: 12px; font-weight: 700; }
.search-hero-types span { display: inline-flex; align-items: center; gap: 7px; }
.search-hero-types i { color: var(--search-gold); font-size: 19px; }
.search-page .search-content { max-width: 1480px; padding: 22px 30px 40px; }
.search-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 18px; background: #faf9f5; border-radius: 14px; font-size: 12px; color: #747978; }
.search-summary p { margin: 0; overflow-wrap: anywhere; }
.search-summary strong { color: var(--search-green); font-size: 18px; margin-left: 5px; }
.search-summary > span { display: flex; align-items: center; gap: 7px; }
.search-summary i { color: var(--search-gold); font-size: 18px; }
.search-page .search-layout { gap: 30px; padding-top: 20px; }
.search-page .search-toolbar { background: #f7f8f9; border-radius: 18px; padding: 10px 14px; }
.search-query-form { position: relative; min-width: 0; }
.search-query-field { display: flex; align-items: stretch; min-width: 0; border: 1px solid #d9dfdf; border-radius: 14px; overflow: hidden; background: #fff; }
.search-query-field:focus-within { outline: 2px solid #bc924b; }
.search-query-field .search-query-input { flex: 1; width: 100%; min-width: 0; border: 0; outline: 0; padding: 11px 15px; background: transparent; font: inherit; font-size: 13px; color: #06483f; }
.search-query-field .search-query-input:focus-visible { outline: 0; }
.search-query-submit { display: grid; place-items: center; flex-shrink: 0; min-width: 56px; min-height: 44px; border: 0; background: #06483f; color: #fff; font-size: 24px; cursor: pointer; }
.search-query-submit:hover { background: #0b5d50; }
.search-query-filters { align-self: center; flex-shrink: 0; width: 36px; height: 36px; margin-inline: 4px 8px; border: 0; border-radius: 9px; background: #e8efeb; color: #06483f; font-size: 18px; cursor: pointer; }
.search-page .search-toolbar-filters { margin-top: 12px; padding: 0 2px 2px; }
.search-page :is(h2,h3) { color: var(--search-green); }
.search-page :is(a,button,input,select):focus-visible,
[data-search-filter-drawer] :is(a,button,input,select):focus-visible { outline: 3px solid #bc924b; outline-offset: 3px; }
.search-page [data-desktop-filter-form] { background: #faf9f5; border-color: var(--search-border); border-radius: 18px; box-shadow: none; }
.search-page [data-desktop-filter-form] > header { background: #f1eadb !important; color: var(--search-green) !important; }
.search-page [data-desktop-filter-form] > header :is(h2,span) { color: var(--search-green) !important; background: transparent !important; }
.search-page [data-desktop-filter-form] > header .blur-3xl { display: none; }
.search-page [data-desktop-filter-form] details { background: #fff; border-color: var(--search-border); }
.search-page [data-desktop-filter-form] footer { background: #faf9f5; }
.search-page :is([class~="bg-[#101922]"],[class~="bg-[#0f4c81]"],[class~="bg-[#ff5500]"]) { background: var(--search-green); color: #fff; }
.search-page :is([class~="bg-[#101922]"],[class~="bg-[#0f4c81]"],[class~="bg-[#ff5500]"]):hover { background: #0b5d50; }
.search-page :is([class*="text-[#1d6f74]"],[class*="text-[#0f4c81]"],[class*="text-[#ff5500]"],[class*="text-[#d94800]"]) { color: var(--search-green); }
.search-page :is(.text-violet-600,.text-violet-700,.text-sky-600,.text-sky-700,.text-orange-600,.text-amber-600) { color: var(--search-gold); }
.search-page :is(.bg-violet-50,.bg-sky-50,.bg-orange-50,.bg-amber-50) { background-color: #fcf6e9; }
.search-page :is(.border-violet-200,.border-orange-200) { border-color: #f0e2c4; }
.search-page :is(.bg-teal-50,.bg-emerald-50) { background-color: #edf4ef; }
.search-page input[type="radio"] { accent-color: var(--search-green); }
.search-page label:has(input[type="radio"]:checked) { background: #efe3c7; border-color: #e2d0a7; color: var(--search-green); }
.search-page #search-input-page { font-weight: 700; }
.search-page #search-results-grid > article { border-color: var(--search-border); border-radius: 15px; box-shadow: none; }
.search-page #search-results-grid > article:hover { border-color: #c7d8cf; box-shadow: 0 8px 22px #06483f10; }
.search-page #search-results-grid > article > span[aria-hidden] { background: #bc924b; width: 3px; }
.search-page #search-results-grid h3 { color: var(--search-green); font-size: 15px; line-height: 1.8; }
.search-page #search-results-grid h3 a:hover { color: var(--search-gold); }
.search-page #search-load-more-shell { border: 0; border-radius: 16px; background: #faf9f5; box-shadow: none; }
/* The mobile drawer is moved to body by the existing search controller. */
[data-search-filter-drawer] { font-family: 'Cairo', sans-serif; }
[data-search-filter-panel] { background: #fffdf8 !important; color: #06483f !important; border-color: #e7e9e8; }
[data-search-filter-panel] form { background: #fffdf8 !important; }
[data-filter-drawer-header] { background: #f1eadb !important; background-color: #f1eadb !important; color: #06483f !important; }
[data-filter-drawer-header] > span[aria-hidden] { display: none; }
[data-search-filter-panel] :is(h2,h3,.text-white,.text-slate-200,.text-slate-300) { color: #06483f; }
[data-search-filter-panel] :is(.text-slate-400,.text-slate-500) { color: #737a76; }
[data-search-filter-panel] :is([class*="text-[#ff"],[class*="text-[#54c2c7]"]) { color: #9b7025; }
[data-search-filter-panel] :is(section,label,[data-filter-drawer-header] span) { border-color: #e7e9e8; }
[data-search-filter-panel] :is(section,label) { background-color: #faf9f5; box-shadow: none; }
[data-search-filter-panel] label:has(input:checked) { border-color: #dbc799; background: #efe3c7; color: #06483f; }
[data-search-filter-panel] input[type="radio"] { accent-color: #06483f; }
[data-search-filter-panel] input[type="search"] { color: #06483f; }
[data-search-filter-panel] footer { background: #f1eadb; border-color: #e7e9e8; }
[data-search-filter-panel] button[type="submit"] { background: #06483f; color: #fff; }
[data-search-filter-panel] [data-search-filter-close] { background: #fffdf8; border-color: #e2d0a7; color: #06483f; }
@media (max-width:1199px) {
    .search-page .search-content { padding: 20px; }
    .search-page .search-layout { gap: 20px; }
    .search-hero h1 { font-size: 42px; }
}
@media (max-width:767px) {
    .search-hero { min-height: 230px; padding: 20px 12px; }
    .search-hero-copy { padding: 16px; border-radius: 20px; background: #fff9efd9; }
    .search-hero h1 { font-size: 32px; }
    .search-hero h2 { font-size: 17px; }
    .search-hero p { font-size: 12px; }
    .search-hero-types { margin-top: 12px; gap: 16px; font-size: 11px; }
    .search-page .search-content { padding: 16px 12px 32px; }
    .search-summary { padding: 12px; font-size: 11px; }
    .search-page .search-layout { padding-top: 16px; }
    .search-page .search-toolbar { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 150; margin-inline: -12px; padding: 10px 20px; border-radius: 0; background: #fff; box-shadow: 0 6px 18px #06483f0d; }
}
@media (max-width:600px) {
    .search-page .search-toolbar { padding-inline: 14px; }
}
@media (prefers-reduced-motion:reduce) {
    .search-page * { transition: none !important; }
}
