/* STEP 106C: Premium Listings directory */
.search-page{background:#f4f7fb;color:#15243a;min-height:100vh}
.search-page *{box-sizing:border-box}
.search-hero{position:relative;overflow:hidden;padding:27px 0 84px;background:radial-gradient(circle at 83% 12%,rgba(65,153,255,.25),transparent 35%),linear-gradient(120deg,#0c1e39 0%,#123d68 62%,#185889 100%);color:#fff}
.search-hero:after{content:"";position:absolute;width:330px;height:330px;right:-95px;bottom:-220px;border:55px solid rgba(255,255,255,.045);border-radius:50%;pointer-events:none}
.search-breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px;color:#c3d5ea}
.search-breadcrumb a{color:#dceaff;text-decoration:none}
.search-breadcrumb a:hover{text-decoration:underline}
.search-hero-content{position:relative;z-index:1;max-width:790px;padding-top:49px}
.search-eyebrow{display:inline-block;color:#2465d8;font-size:11px;font-weight:850;letter-spacing:1.65px;text-transform:uppercase}
.search-hero .search-eyebrow{color:#9bc8ff}
.search-hero h1{font-size:clamp(35px,4.7vw,58px);font-weight:850;letter-spacing:-1.6px;line-height:1.13;margin:15px 0}
.search-hero h1 span{color:#8fd3ff}
.search-hero p{color:#d7e7f8;font-size:16px;line-height:1.8;max-width:640px;margin:0}
.search-main{position:relative;padding:0 0 90px;margin-top:-34px}
.search-layout{position:relative;display:grid;grid-template-columns:275px minmax(0,1fr);gap:25px;align-items:start}
.search-sidebar{position:sticky;top:20px;background:#fff;border:1px solid #e0e8f3;border-radius:16px;padding:22px;box-shadow:0 10px 30px rgba(21,45,78,.07)}
.search-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:24px}
.search-filter-heading h2{font-size:19px;letter-spacing:-.4px;margin:0;color:#172c49}
.search-filter-heading a{font-size:12px;color:#2467d8;font-weight:750;text-decoration:none}
.search-field{margin-bottom:19px}
.search-field label{display:block;font-size:12px;font-weight:800;color:#344963;margin-bottom:8px}
.search-field input,.search-field select{display:block;width:100%;min-width:0;height:46px;padding:0 12px;border:1px solid #d8e2ee;border-radius:9px;background:#fafcff;color:#223751;font:inherit;font-size:13px}
.search-field input:focus,.search-field select:focus{outline:2px solid #a8cbff;outline-offset:1px;border-color:#2875e7}
.search-submit{width:100%;padding:14px 15px;border:0;border-radius:9px;background:linear-gradient(110deg,#1765db,#3285ed);color:#fff;font-size:13px;font-weight:850;cursor:pointer;box-shadow:0 7px 17px rgba(23,101,219,.2)}
.search-submit:hover{background:#1053bb}
.search-results{min-width:0;background:#fff;border:1px solid #e0e8f3;border-radius:17px;padding:24px;box-shadow:0 10px 30px rgba(21,45,78,.045)}
.search-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding-bottom:19px;border-bottom:1px solid #e8edf5}
.search-results-heading h2{font-size:clamp(23px,2.6vw,31px);letter-spacing:-.8px;color:#172c49;margin:7px 0}
.search-results-heading p{font-size:13px;color:#718199;margin:0}
.search-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.search-business-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #e0e8f3;border-radius:13px;transition:transform .2s,box-shadow .2s,border-color .2s}
.search-business-card:hover{transform:translateY(-3px);border-color:#c4d9f4;box-shadow:0 14px 30px rgba(22,48,84,.1)}
.search-business-top{position:relative;display:flex;align-items:center;justify-content:center;height:195px;padding:10px;background:#f7f9fc;border-bottom:1px solid #eef2f7}
.search-business-top img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.search-image-badge{position:absolute;top:10px;left:10px;z-index:1;padding:6px 8px;background:rgba(255,255,255,.95);border:1px solid #e5ecf5;border-radius:5px;color:#42648b;font-size:9px;font-weight:850;letter-spacing:.6px}
.search-business-placeholder{display:grid;place-items:center;width:75px;height:75px;border-radius:16px;background:#e7f0ff;color:#2166c4;font-size:33px;font-weight:850}
.search-business-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:15px;gap:10px}
.search-card-rating{order:3;display:flex;align-items:center;gap:8px;color:#aab3bf;font-size:17px;letter-spacing:-1px}
.search-card-rating span{font-size:11px;letter-spacing:0;color:#77879d}
.search-business-category{display:inline-block;padding:5px 8px;background:#eef5ff;border-radius:5px;color:#2369c8;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.search-business-content h3{margin:0;font-size:16px;font-weight:850;line-height:1.45;overflow-wrap:anywhere}
.search-business-content h3 a{color:#172c49;text-decoration:none}
.search-business-content h3 a:hover{color:#1765db}
.search-business-location{order:4;margin:0;color:#667993;font-size:12px;line-height:1.5}
.search-business-location:before{content:"📍 ";font-size:12px}
.search-business-description{order:5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;color:#63738b;font-size:12px;line-height:1.7}
.search-business-link{order:6;display:inline-flex;align-items:center;justify-content:center;margin-top:auto;padding:10px 14px;border-radius:7px;background:#1765db;color:#fff;font-size:12px;font-weight:800;text-decoration:none}
.search-business-link:hover{background:#104eac}
.search-empty{text-align:center;padding:60px 18px}
.search-empty-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:16px;background:#eaf3ff;color:#1765db;font-size:42px}
.search-empty h3{margin:0 0 12px;font-size:24px}
.search-empty p{max-width:460px;margin:0 auto 22px;color:#667993;line-height:1.7}
.search-empty a{display:inline-block;padding:12px 18px;border-radius:8px;background:#1765db;color:#fff;text-decoration:none;font-weight:750}
.search-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:32px}
.search-pagination a{padding:10px 14px;border:1px solid #dbe5f0;border-radius:8px;background:#fff;color:#344963;font-size:12px;font-weight:800;text-decoration:none}
.search-pagination a:hover{border-color:#1765db;color:#1765db}
.search-pagination a[aria-current="page"]{background:#1765db;border-color:#1765db;color:#fff}
@media(max-width:1150px){.search-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.search-layout{grid-template-columns:1fr}.search-sidebar{position:static}.search-main{margin-top:-25px}.search-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.search-hero{padding:22px 0 66px}.search-hero-content{padding-top:34px}.search-hero p{font-size:14px}.search-main{padding-bottom:55px}.search-sidebar,.search-results{padding:17px;border-radius:12px}.search-business-grid{grid-template-columns:1fr;gap:14px}.search-business-top{height:210px}.search-results-heading{margin-bottom:17px}.search-results-heading h2{font-size:25px}}


/* STEP 109A: Reserved 120px side gutters for sticky ads */
/* Desktop: keep listing content clear of future side ads. */
@media (min-width: 1200px) {
    .search-page .container {
        width: auto;
        max-width: none;
        margin-left: 120px;
        margin-right: 120px;
        box-sizing: border-box;
    }
}

/* Smaller screens: normal responsive gutters. */
@media (max-width: 1199px) {
    .search-page .container {
        width: auto;
        max-width: none;
        margin-left: 20px;
        margin-right: 20px;
        box-sizing: border-box;
    }
}

@media (max-width: 600px) {
    .search-page .container {
        margin-left: 15px;
        margin-right: 15px;
    }
}
