/* =========================================================
   Durgapur Classified — Brand theme (matches site logo)
   Palette: deep navy + sky-blue accent + cool steel neutrals
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');

:root{
  --graphite-950:#0f1b3d;
  --graphite-900:#152a52;
  --graphite-800:#1c2c5e;
  --steel-600:#5a6a88;
  --steel-300:#a9b4cb;
  --steel-100:#e3e7f1;
  --bg:#f4f6fb;
  --surface:#ffffff;
  --ink:#141c33;
  --ink-soft:#4c5670;
  --ember:#1d5fc4;
  --ember-light:#4fa8e8;
  --ember-dim:#dfeaf9;
  --radius:10px;
  --shadow:0 1px 2px rgba(15,27,61,.06), 0 8px 24px -12px rgba(15,27,61,.14);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;
  font-size:15.5px;
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  letter-spacing:.2px;
  color:var(--graphite-950);
  margin:0 0 .4em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}

/* ---------- Eyebrow / labels ---------- */
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--ember);
  font-weight:500;
}

/* ---------- Header ---------- */
.site-header{
  background:var(--surface);
  border-bottom:2px solid var(--ember);
  box-shadow:0 1px 2px rgba(15,27,61,.05);
}
.header-top{
  display:flex;align-items:center;justify-content:space-between;
  min-height:66px;padding:10px 0;gap:5px;
}
.nav-row{
  background:var(--surface);
  border-top:1px solid var(--steel-100);
}
.nav-row .container{display:flex;}
.brand{display:flex;align-items:center;gap:10px;color:var(--graphite-950);}
.brand-mark{
  width:34px;height:34px;border-radius:6px;
  background:linear-gradient(145deg,var(--ember-light),var(--ember));
  display:flex;align-items:center;justify-content:center;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;color:#14171b;font-size:18px;
  flex:none;
}
.brand-text{line-height:1.15;}
.brand-text strong{
  display:block;font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:700;
  letter-spacing:.3px;color:var(--graphite-950);
}
.brand-text span{display:block;font-size:11px;color:var(--ink-soft);}
.brand-logo{height:58px;width:auto;max-width:250px;object-fit:contain;flex:none;}
.footer-logo{height:52px;width:auto;max-width:230px;object-fit:contain;display:block;}
.footer-logo-wrap{
  display:inline-block;background:#fff;padding:10px 16px;border-radius:8px;margin-bottom:14px;
}

.main-nav{display:flex;align-items:center;gap:2px;flex-wrap:wrap;width:100%;}
.main-nav a{
  color:var(--ink-soft);font-size:13.5px;font-weight:500;
  padding:11px 12px;white-space:nowrap;border-radius:6px;
  transition:color .15s, background .15s;
}
.main-nav a:hover{color:var(--ember);background:var(--ember-dim);}
.main-nav a.active{color:var(--ember);background:var(--ember-dim);}

.header-cta{
  background:var(--ember);color:#fff !important;font-weight:600;
  padding:9px 16px;border-radius:7px;font-size:13.5px;white-space:nowrap;
  transition:background .15s;
}
.header-cta:hover{background:var(--ember-light);}

.header-actions{display:flex;align-items:center;gap:14px;flex:none;}

/* ---------- Header ad banner (AD 1) — desktop: inline next to logo ---------- */
.header-ad-inline{
  flex:1 1 auto;min-width:0;
  overflow:hidden;border-radius:6px;display:block;line-height:0;
}
.header-ad-inline img{
  width:100%;height:auto;max-height:117px;object-fit:fill;object-position:center;display:block;
  margin:0 auto;
}

/* ---------- Header ad banner (AD 1) — mobile: full-width strip below header ---------- */
.header-ad-strip{
  display:none;width:100%;background:var(--bg);border-top:1px solid var(--steel-100);
  overflow:hidden;
}
.header-ad-strip a{display:block;width:100%;line-height:0;}
.header-ad-strip img{
  width:100%;height:auto;max-height:110px;min-height:90px;
  object-fit:contain;object-position:center;display:block;
}

/* ---------- More dropdown ---------- */
.nav-more{position:relative;flex:none;}
.nav-more-toggle{
  background:none;border:none;color:var(--ink-soft);font-size:13.5px;font-weight:500;
  padding:10px 12px;border-radius:6px;cursor:pointer;font-family:inherit;
  display:flex;align-items:center;gap:4px;white-space:nowrap;
}
.nav-more-toggle:hover{color:var(--ember);background:var(--ember-dim);}
.nav-more .caret{font-size:10px;transition:transform .15s;}
.nav-more.open .caret{transform:rotate(180deg);}
.nav-more-menu{
  display:none;position:absolute;top:calc(100% + 6px);left:0;background:#fff;
  border-radius:8px;box-shadow:var(--shadow);min-width:220px;padding:8px;z-index:50;
  border:1px solid var(--steel-100);
}
.nav-more.open .nav-more-menu{display:block;}
.nav-more-menu a{
  display:block;padding:9px 12px;border-radius:6px;color:var(--ink);font-size:13.5px;font-weight:500;
}
.nav-more-menu a:hover{background:var(--ember-dim);color:var(--ember);}

.nav-toggle{display:none;background:none;border:none;color:var(--graphite-950);font-size:22px;cursor:pointer;}

/* ---------- Hero ---------- */
.hero{
  background:var(--graphite-950);
  color:#fff;padding:76px 0 56px;position:relative;overflow:hidden;min-height:420px;display:flex;align-items:center;
  text-align:center;
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 20%, rgba(79,168,232,.16), transparent 55%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 26px);
}
.hero::after{
  content:"";position:absolute;right:-80px;bottom:-120px;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle, rgba(79,168,232,.35), transparent 70%);pointer-events:none;
}
.hero-content{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center;}
.hero h1{color:#fff;font-size:clamp(32px,5vw,50px);max-width:720px;margin:0 auto .25em;transition:opacity .3s;}
.hero p{color:var(--steel-300);max-width:600px;font-size:16px;margin:0 auto 28px;transition:opacity .3s;}
.hero-search{
  display:flex;background:#fff;border-radius:10px;overflow:hidden;max-width:560px;width:100%;
  box-shadow:var(--shadow);margin:0 auto;
}
.hero-search input{
  flex:1;border:none;padding:14px 16px;font-size:14.5px;font-family:inherit;outline:none;
}
.hero-search button{
  border:none;background:var(--ember);color:#fff;padding:0 22px;font-weight:600;cursor:pointer;
  font-family:inherit;font-size:14px;
}
.hero-search button:hover{background:var(--ember-light);}

.hero-btn{
  display:inline-block;margin-top:18px;background:transparent;border:1.5px solid rgba(255,255,255,.5);
  color:#fff;padding:11px 22px;border-radius:8px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s;
}
.hero-btn:hover{background:rgba(255,255,255,.1);border-color:#fff;}

.hero-stats{display:flex;gap:32px;margin-top:34px;flex-wrap:wrap;justify-content:center;}
.hero-stats div strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:26px;color:var(--ember-light);}
.hero-stats div span{font-size:12px;color:var(--steel-300);}

.hero-dots{display:flex;gap:8px;margin-top:32px;justify-content:center;}
.hero-dot{
  width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35);border:none;padding:0;cursor:pointer;
  transition:background .2s,transform .2s;
}
.hero-dot.active{background:var(--ember-light);transform:scale(1.25);}

/* ---------- Section heading ---------- */
.section{padding:52px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;gap:16px;flex-wrap:wrap;}
.section-head h1,.section-head h2{font-size:28px;margin:0;}
.section-head .view-all{font-size:13.5px;font-weight:600;color:var(--ember);}

/* ---------- Category grid (steel-plate cards) ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
.cat-card{
  background:var(--surface);border:1px solid var(--steel-100);border-radius:var(--radius);
  padding:20px 18px;position:relative;overflow:hidden;transition:transform .15s, box-shadow .15s, border-color .15s;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--ember-dim);}
.cat-card::before{
  content:"";position:absolute;left:0;top:0;width:4px;height:100%;
  background:linear-gradient(180deg,var(--ember-light),var(--ember));
  opacity:0;transition:opacity .15s;
}
.cat-card:hover::before{opacity:1;}
.cat-icon{
  width:42px;height:42px;border-radius:8px;background:var(--graphite-950);
  display:flex;align-items:center;justify-content:center;color:var(--ember-light);margin-bottom:14px;
}
.cat-icon svg{width:22px;height:22px;}
.cat-card h3{font-size:17px;margin-bottom:4px;}
.cat-card .count{font-size:12px;color:var(--ink-soft);font-family:'JetBrains Mono',monospace;}

/* ---------- Quick category icon row (circular) ----------
   Always exactly 2 rows: PHP computes --cat-cols = ceil(count/2) and
   the grid fills column-by-column left→right, top→bottom, wrapping into
   row 2 automatically. If there are too many categories to fit the
   container at full size, it scrolls horizontally instead of adding a
   3rd row. */
.cat-icons-row{
  display:grid;
  grid-template-columns:repeat(var(--cat-cols, 10), minmax(78px, 1fr));
  grid-auto-flow:row;
  column-gap:14px;row-gap:20px;
  padding:6px 4px 34px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.cat-icon-item{
  display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
  color:var(--ink);
}
.cat-icon-circle{
  width:64px;height:64px;border-radius:50%;border:1.5px solid var(--steel-100);background:var(--ember-dim);color:var(--ember);
  display:flex;align-items:center;justify-content:center;
  transition:border-color .15s, transform .15s, box-shadow .15s, background .15s;
}
.cat-icon-circle svg{width:26px;height:26px;}
.cat-icon-item:hover .cat-icon-circle{border-color:var(--ember);background:var(--surface);transform:translateY(-3px);box-shadow:var(--shadow);}
.cat-icon-label{font-size:13px;font-weight:500;line-height:1.25;}

/* ---------- Alphabet index + live filter ---------- */
.alpha-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin-bottom:18px;}
.alpha-btn{
  border:none;background:none;font-family:inherit;font-size:14px;font-weight:600;
  color:var(--ember);padding:6px 8px;cursor:pointer;border-radius:6px;transition:background .15s,color .15s;
  display:inline-block;text-decoration:none;line-height:1.2;
}
.alpha-btn:hover{background:var(--ember-dim);}
.alpha-btn.active{color:#c0392b;}
.alpha-btn[data-letter="ALL"]{color:#c0392b;}
.alpha-btn[data-letter="ALL"].active{background:var(--ember-dim);}

.cat-filter-wrap{max-width:420px;margin:0 auto 28px;}
.cat-filter-input{
  width:100%;padding:11px 14px;border:1px solid var(--steel-100);border-radius:999px;
  font-family:inherit;font-size:14px;background:var(--surface);
}
.cat-filter-input:focus{outline:none;border-color:var(--ember);}

.cat-no-results{padding:30px 0;text-align:center;color:var(--ink-soft);font-size:14.5px;}

/* ---------- Homepage directory columns (categories/subcategories + about text) ---------- */
.dir-columns{
  display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;
  padding:34px 0 10px;border-top:1px solid var(--steel-100);
}
.dir-col{text-align:center;}
.dir-cat{margin-bottom:20px;}
.dir-cat-link{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;
  color:var(--graphite-950);margin-bottom:6px;
}
.dir-cat-link:hover{color:var(--ember);}
.dir-sub-link{display:block;font-size:13.5px;color:var(--ink-soft);padding:3px 0;}
.dir-sub-link:hover{color:var(--ember);}
.dir-col-about{text-align:left;font-size:14px;line-height:1.7;color:var(--ink-soft);}
.dir-col-about h3{
  font-family:'Barlow Condensed',sans-serif;font-size:32px;line-height:1.15;margin-bottom:16px;color:var(--graphite-950);
}
.dir-col-about p{margin-bottom:14px;}
.home-ad-banner{display:block;margin-top:18px;border-radius:10px;overflow:hidden;line-height:0;box-shadow:var(--shadow);}
.home-ad-banner img{width:100%;height:auto;display:block;}

/* ---------- Listing table (category page) ---------- */
.listing-table-wrap{overflow-x:auto;border:1px solid var(--steel-100);border-radius:10px;}
.listing-table{width:100%;border-collapse:collapse;font-size:14px;}
.listing-table thead th{
  background:var(--ember-dim);color:var(--ember);font-family:'Barlow Condensed',sans-serif;
  font-size:15px;text-align:left;padding:12px 16px;border-bottom:1px solid var(--steel-100);
}
.listing-table tbody td{padding:14px 16px;border-bottom:1px solid var(--steel-100);vertical-align:top;color:var(--ink);}
.listing-table tbody tr:nth-child(even){background:#f4f8fd;}
.listing-table tbody tr:last-child td{border-bottom:none;}
.listing-table tbody tr:hover{background:var(--ember-dim);}
.listing-table td a{color:var(--ember);font-weight:600;}
.table-featured-tag{
  display:inline-block;margin-left:8px;background:var(--ember);color:#fff;font-size:10.5px;
  font-weight:700;padding:2px 7px;border-radius:4px;vertical-align:middle;
}

@media (max-width:860px){
  .dir-columns{grid-template-columns:1fr;gap:28px;}
}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:var(--surface);border-bottom:1px solid var(--steel-100);}
.breadcrumb .container{padding-top:14px;padding-bottom:14px;font-size:13px;color:var(--ink-soft);}
.breadcrumb a:hover{color:var(--ember);}
.breadcrumb .sep{margin:0 6px;color:var(--steel-300);}

/* ---------- Category page: subcategory chips ---------- */
.subcat-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;}
.subcat-bar a{
  padding:8px 16px;border-radius:20px;border:1px solid var(--steel-100);background:var(--surface);
  font-size:13.5px;font-weight:500;color:var(--ink-soft);
}
.subcat-bar a:hover, .subcat-bar a.active{background:var(--graphite-950);color:#fff;border-color:var(--graphite-950);}

/* ---------- Listing cards ---------- */
.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.listing-card{
  background:var(--surface);border:1px solid var(--steel-100);border-radius:var(--radius);
  overflow:hidden;transition:box-shadow .15s, transform .15s;display:flex;flex-direction:column;
}
.listing-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.listing-card .thumb{height:150px;background:var(--steel-100);position:relative;}
.listing-card .thumb img{width:100%;height:100%;object-fit:cover;}
.listing-card .featured-tag{
  position:absolute;top:10px;left:10px;background:var(--ember);color:#fff;font-size:10.5px;
  font-weight:700;padding:4px 9px;border-radius:5px;letter-spacing:.4px;text-transform:uppercase;
}
.listing-card .body{padding:16px 18px;flex:1;display:flex;flex-direction:column;}
.listing-card h3{font-size:18px;margin-bottom:8px;}
.listing-card .meta{font-size:13px;color:var(--ink-soft);display:flex;gap:7px;margin-bottom:6px;}
.listing-card .meta svg{flex:none;margin-top:2px;color:var(--steel-600);}
.listing-card .desc{font-size:13.5px;color:var(--ink-soft);margin-top:8px;flex:1;}
.listing-card .call-btn{
  margin-top:14px;display:inline-flex;align-items:center;gap:6px;justify-content:center;
  background:var(--graphite-950);color:#fff;padding:9px;border-radius:7px;font-size:13px;font-weight:600;
}
.listing-card .call-btn:hover{background:var(--ember);}

.empty-state{
  text-align:center;padding:60px 20px;color:var(--ink-soft);background:var(--surface);
  border:1px dashed var(--steel-100);border-radius:var(--radius);
}

/* ---------- Footer ---------- */
.site-footer{background:var(--graphite-950);color:var(--steel-300);margin-top:40px;}
.footer-top{padding:44px 0 30px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;}
.footer-grid h5{color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:15px;margin-bottom:14px;letter-spacing:.4px;text-transform:uppercase;}
.footer-grid a{display:block;font-size:13.5px;color:var(--steel-300);margin-bottom:9px;}
.footer-grid a:hover{color:var(--ember-light);}
.footer-bottom{padding:18px 0;font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.footer-disclaimer{width:100%;background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);}
.footer-disclaimer .container{padding:16px 20px;}
.footer-disclaimer p{font-size:11.5px;line-height:1.6;color:var(--steel-300);margin:0 0 6px;}
.footer-disclaimer p:last-child{margin-bottom:0;}
.footer-disclaimer a{color:var(--ember-light);}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .nav-row{border-top:none;}
  .nav-row .container{padding:0;}
  .main-nav{
    position:fixed;inset:66px 0 0 0;background:var(--surface);flex-direction:column;
    align-items:stretch;padding:14px;display:none;overflow-y:auto;
  }
  .main-nav.open{display:flex;}
  .main-nav a{padding:13px 10px;border-bottom:1px solid var(--steel-100);border-radius:0;color:var(--ink);}
  .nav-toggle{display:block;}
  .header-cta{display:none;}
  .header-ad-inline{display:none;}
  .header-ad-strip{display:block;}
  .header-ad-strip img{max-height:80px;min-height:56px;}
  .cat-icons-row{grid-template-columns:repeat(var(--cat-cols, 10), minmax(64px, 1fr));column-gap:10px;}
  .cat-icon-circle{width:50px;height:50px;}
  .cat-icon-circle svg{width:20px;height:20px;}
  .cat-icon-label{font-size:11px;}
  .footer-grid{grid-template-columns:1fr;}
  .nav-more{width:100%;}
  .nav-more-toggle{width:100%;justify-content:space-between;padding:13px 10px;border-bottom:1px solid var(--steel-100);color:var(--ink);}
  .nav-more-menu{
    display:none;position:static;background:transparent;box-shadow:none;border:none;
    padding:0 0 0 14px;min-width:0;
  }
  .nav-more.open .nav-more-menu{display:block;}
  .nav-more-menu a{color:var(--ink-soft);padding:11px 10px;border-bottom:1px solid var(--steel-100);}
  .nav-more-menu a:hover{background:none;color:var(--ember);}
}
