/* =========================================================
   INDIA DIGITAL BUSINESS - DISCOVER / SEARCH
   IMPORTANT:
   - ALL selectors are scoped to .idb-* or #idbSearchPagination.
   - Existing header/footer/custom.css are not redesigned.
   - Main-Banner.png is shown without replacing/cropping the image.
========================================================= */
:root{
    --idb-blue:#1468e8;
    --idb-blue-dark:#0759d5;
    --idb-navy:#14213d;
    --idb-green:#0a9d57;
    --idb-orange:#f97316;
    --idb-bg:#f5f8fc;
    --idb-border:#e2e8f0;
}

/* =========================================================
   BANNER + SEARCH PANEL
========================================================= */
.idb-discover-hero{
    position:relative;
    width:100%;
    margin:0;
    padding:0 0 205px;
    background:var(--idb-bg);
    overflow:visible;
    z-index:2;
}

.idb-main-banner{
    display:block;
    width:100%;
    height:auto;
    max-width:none;
    margin:0;
    padding:0;
    object-fit:contain;
    object-position:center top;
}

.idb-search-panel{
    position:absolute;
    z-index:20;
    left:50%;
    top:53%;
    transform:translateX(-50%);
    width:min(1280px,calc(100% - 70px));
    box-sizing:border-box;
    background:rgba(255,255,255,.10);
    border:1.5px solid rgba(255,255,255,.90);
    border-radius:22px;
    box-shadow:0 18px 55px rgba(20,33,61,.18);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    padding:20px 24px 22px;
}

.idb-search-panel *{box-sizing:border-box}

.idb-search-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:12px;
}

.idb-search-kicker{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:9px;
    letter-spacing:1.6px;
    font-weight:800;
    color:var(--idb-blue);
}

.idb-search-kicker i{font-size:7px}

.idb-search-panel-head h1{
    font-size:24px;
    line-height:1.2;
    color:var(--idb-navy);
    margin:4px 0 3px;
    font-weight:800;
}

.idb-search-panel-head p{
    font-size:11px;
    color:#64748b;
    margin:0;
}

.idb-smart-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
    border:1px solid #dbe7f7;
    background:#f7fbff;
    color:var(--idb-blue);
    border-radius:99px;
    padding:8px 12px;
    font-size:9px;
    font-weight:700;
}

.idb-search-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 112px;
    gap:9px;
}

.idb-search-input-wrap{position:relative}

.idb-search-input-wrap>i{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    color:#64748b;
    z-index:1;
    font-size:12px;
}

.idb-search-input-wrap input{
    width:100%;
    height:46px;
    border:1px solid #d9e2ef;
    border-radius:11px;
    padding:0 15px 0 40px;
    font-size:12px;
    outline:none;
    color:var(--idb-navy);
    background:#fff;
}

.idb-search-input-wrap input:focus{
    border-color:#6ea0f0;
    box-shadow:0 0 0 4px rgba(20,104,232,.09);
}

#idbSearchButton{
    height:46px;
    border:0;
    border-radius:11px;
    background:linear-gradient(135deg,#1769e8,#0759d5);
    color:#fff;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 7px 16px rgba(20,104,232,.18);
    font-size:12px;
}

#idbSearchButton:disabled{opacity:.7;cursor:wait}

.idb-popular-searches{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    margin:8px 0 11px;
    font-size:9px;
    color:#64748b;
}

.idb-popular-searches button{
    border:1px solid #dbe6f5;
    background:#f8fbff;
    color:var(--idb-blue);
    border-radius:99px;
    padding:4px 8px;
    font-size:8px;
    cursor:pointer;
}

.idb-popular-searches button:hover{
    background:var(--idb-blue);
    color:#fff;
}

/* 12 controls = two clean rows on desktop */
.idb-filter-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:9px 10px;
    align-items:end;
}

.idb-filter-grid label{
    display:block;
    min-width:0;
    font-size:8px;
    text-transform:uppercase;
    font-weight:800;
    color:#64748b;
}

.idb-filter-grid select{
    display:block;
    width:100%;
    height:38px;
    margin-top:4px;
    border:1px solid #dce4ee;
    border-radius:9px;
    background:#fff;
    padding:0 9px;
    color:#293b55;
    font-size:10px;
    outline:none;
}

.idb-filter-grid select:focus{
    border-color:#77a8ff;
    box-shadow:0 0 0 3px rgba(20,104,232,.08);
}

.idb-filter-grid select:disabled{
    background:#f5f7fa;
    color:#9aa7b7;
    cursor:not-allowed;
}

.idb-clear{
    width:100%;
    height:38px;
    border:1px solid #dce4ee;
    background:#fff;
    border-radius:9px;
    color:#334155;
    font-weight:700;
    cursor:pointer;
    font-size:10px;
}

.idb-clear:hover{
    border-color:var(--idb-blue);
    color:var(--idb-blue);
    background:#f8fbff;
}

/* =========================================================
   RESULTS AREA
========================================================= */
.idb-discover-main{
    position:relative;
    z-index:1;
    background:var(--idb-bg);
    padding:20px 22px 55px;
}

.idb-discover-container{
    width:100%;
    max-width:1380px;
    margin:0 auto;
}

.idb-results-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:15px;
    color:#64748b;
    font-size:12px;
}

.idb-results-count{color:#374151;font-weight:500}
.idb-results-count strong{color:var(--idb-navy)}

.idb-search-results-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px 14px;
    width:100%;
}

.idb-business-card{
    min-width:0;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 3px 12px rgba(15,23,42,.05);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.idb-business-card:hover{
    transform:translateY(-3px);
    border-color:#d6dce5;
    box-shadow:0 12px 28px rgba(15,23,42,.10);
}

.idb-card-media{
    position:relative;
    display:block;
    width:100%;
    background:#f4f6f8;
    text-decoration:none;
}

.idb-card-image,
.idb-search-business-logo,
.idb-catalog-image{
    display:block;
    width:100%;
    height:210px;
    object-fit:cover;
    object-position:center;
    background:#f4f6f8;
}

.idb-logo-image{
    object-fit:contain;
    padding:24px;
    background:#fff;
}

.idb-card-image-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:210px;
    background:#f1f3f5;
    color:#98a2b3;
    font-size:42px;
}

.idb-card-badge{
    position:absolute;
    top:10px;
    left:10px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border-radius:5px;
    background:var(--idb-blue);
    color:#fff;
    font-size:9px;
    font-weight:700;
}

.idb-card-body{padding:11px 12px 14px}

.idb-card-company{
    margin-bottom:5px;
    color:#667085;
    font-size:10px;
    line-height:1.35;
}

.idb-card-company img{
    width:32px!important;
    height:32px!important;
    border-radius:6px;
    object-fit:contain;
    background:#fff;
    border:1px solid #e5e7eb;
    margin-right:7px;
    vertical-align:middle;
}

.idb-card-title{
    margin:0 0 5px;
    color:#111827;
    font-size:15px;
    font-weight:700;
    line-height:1.35;
}

.idb-card-title a{color:inherit;text-decoration:none}
.idb-card-title a:hover{color:var(--idb-blue)}

.idb-card-owner{
    font-size:10px;
    color:#667085;
    margin-bottom:7px;
}

.idb-card-owner i{color:var(--idb-blue)}

.idb-card-description{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 8px;
    color:#667085;
    font-size:10px;
    line-height:1.45;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.idb-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:5px 8px;
    color:#667085;
    font-size:9px;
    line-height:1.4;
}

.idb-card-meta span{
    display:inline-flex;
    align-items:center;
    gap:4px;
}

.idb-card-meta i{color:var(--idb-blue)}

.idb-card-section-title{
    font-size:10px;
    font-weight:700;
    color:#344054;
    margin:10px 0 7px;
}

.idb-mini-item{
    display:flex;
    gap:7px;
    align-items:center;
    padding:5px 0;
    border-top:1px solid #f0f1f3;
}

.idb-mini-item img,
.idb-mini-icon{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:5px;
    object-fit:cover;
    border:1px solid #e5e7eb;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#98a2b3;
    font-size:12px;
}

.idb-mini-item strong{display:block;font-size:10px;color:#172033}
.idb-mini-item small{display:block;color:#98a2b3;font-size:8px}

.idb-service-tag{
    display:inline-flex;
    align-items:center;
    gap:4px;
    background:#eef5ff;
    color:var(--idb-blue);
    border-radius:4px;
    padding:4px 6px;
    margin:2px;
    font-size:8px;
    font-weight:600;
}

.idb-card-view-btn{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:11px;
    padding:8px 9px;
    background:var(--idb-blue);
    color:#fff;
    border-radius:7px;
    text-decoration:none;
    font-size:10px;
    font-weight:700;
}

.idb-card-view-btn:hover{background:var(--idb-blue-dark);color:#fff}

.idb-no-results{
    padding:55px 20px;
    text-align:center;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
}

.idb-no-results-icon{
    width:58px;
    height:58px;
    margin:0 auto 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eef4ff;
    color:var(--idb-blue);
    font-size:22px;
}

.idb-no-results h4{margin:0 0 6px;color:#172033;font-size:18px;font-weight:700}
.idb-no-results p{max-width:560px;margin:0 auto;color:#6b7280;font-size:13px}

.idb-loading,
.idb-error{
    padding:55px 20px;
    text-align:center;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    color:#667085;
}

.idb-loading i,.idb-error>i{color:var(--idb-blue);margin-right:6px}
.idb-error strong{color:#b42318}
.idb-error p{margin:7px 0 0;font-size:12px}

/* =========================================================
   PAGINATION - IDB CUSTOM (independent of Bootstrap pagination CSS)
========================================================= */
#idbSearchPagination{
    width:100%;
    margin:28px 0 0;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:visible;
}

.idb-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:0;
    list-style:none;
    flex-wrap:wrap;
}

.idb-pagination a,
.idb-pagination span{
    min-width:38px;
    height:38px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    border:1px solid #d9e2ef;
    border-radius:9px;
    background:#fff;
    color:#172033;
    text-decoration:none!important;
    font-size:12px;
    font-weight:700;
    line-height:1;
    box-shadow:0 2px 7px rgba(15,23,42,.04);
    transition:.18s ease;
}

.idb-pagination a:hover{
    border-color:var(--idb-blue);
    background:#f0f6ff;
    color:var(--idb-blue);
    transform:translateY(-1px);
}

.idb-pagination .active{
    border-color:var(--idb-blue);
    background:var(--idb-blue);
    color:#fff;
    box-shadow:0 5px 14px rgba(20,104,232,.20);
}

.idb-pagination .disabled{
    background:#f3f5f8;
    border-color:#e2e6eb;
    color:#a0a8b3;
    cursor:not-allowed;
}

.idb-pagination .dots{
    min-width:26px;
    border:0;
    background:transparent;
    box-shadow:none;
}

.idb-pagination-label{
    margin-right:7px;
    color:#64748b;
    font-size:11px;
    font-weight:600;
}

@media(max-width:575.98px){
    .idb-pagination{gap:4px}
    .idb-pagination a,.idb-pagination span{min-width:34px;height:34px;padding:0 8px;font-size:11px}
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1199.98px){
    .idb-search-panel{top:62%;width:calc(100% - 45px)}
    .idb-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .idb-search-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:991.98px){
    .idb-discover-hero{padding-bottom:190px}
    .idb-search-panel{top:58%;width:calc(100% - 30px)}
    .idb-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .idb-search-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .idb-card-image,.idb-card-image-placeholder{height:225px}
}

@media(max-width:767.98px){
    .idb-discover-hero{padding-bottom:0}
    .idb-search-panel{
        position:relative;
        left:auto;
        top:auto;
        transform:none;
        width:calc(100% - 20px);
        margin:-55px auto 0;
        padding:17px;
    }
    .idb-search-panel-head{display:block}
    .idb-smart-badge{margin-top:9px}
    .idb-search-row{grid-template-columns:1fr}
    .idb-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .idb-discover-main{padding:18px 12px 45px}
}

@media(max-width:575.98px){
    .idb-search-panel{width:calc(100% - 12px);border-radius:16px}
    .idb-search-panel-head h1{font-size:20px}
    .idb-filter-grid{grid-template-columns:1fr}
    .idb-search-results-grid{grid-template-columns:1fr;gap:16px}
    .idb-card-image,.idb-card-image-placeholder{height:235px}
    .idb-results-toolbar{display:block}
    .idb-results-toolbar>div+div{margin-top:5px}
}

/* Dynamic service icons: image-only enhancement, existing card layout unchanged. */
.idb-service-icon-image{
    width:16px;
    height:16px;
    min-width:16px;
    border-radius:3px;
    object-fit:contain;
    background:#fff;
    border:1px solid rgba(20,105,232,.12);
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
