:root{
  --tdy-blue:#1f396a;
  --tdy-text:#0f172a;
  --tdy-muted:#64748b;
  --tdy-border:rgba(22,40,73,.10);
  --tdy-soft:#f8fafc;
}

.hub-page{ padding:10px 0 28px; }
.card-soft{
  background:#fff;
  border:1px solid var(--tdy-border);
  border-radius:14px;
  box-shadow:0 6px 18px rgba(15,23,42,.03);
}

.hub-hero{ padding:14px; margin-bottom:12px; }
.hub-title{ margin:0; font-size:18px; font-weight:700; color:var(--tdy-blue); letter-spacing:-.01em; }
.hub-desc{ margin-top:6px; font-size:13px; color:var(--tdy-muted); line-height:1.5; font-weight:400; }

/* Layout */
.hub-grid{ display:grid; grid-template-columns: 280px 1fr; gap:12px; }
@media (max-width: 991.98px){ .hub-grid{ grid-template-columns: 1fr; } }

/* Sidebar: Hizmet türleri */
.side-card{ padding:10px; }
.side-title{
  font-size:12px;
  font-weight:700;
  color:var(--tdy-muted);
  letter-spacing:.04em;
  text-transform:uppercase;
  margin:4px 6px 10px;
}
.side-list{ display:flex; flex-direction:column; gap:6px; max-height: calc(100vh - 170px); overflow:auto; padding-right:4px; }
.side-list::-webkit-scrollbar{ width:6px; }
.side-list::-webkit-scrollbar-thumb{ background:rgba(15,23,42,.12); border-radius:999px; }

.side-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius:12px;
  text-decoration:none;
  border:1px solid rgba(22,40,73,.08);
  background:var(--tdy-soft);
  color:var(--tdy-text);
  transition:.14s ease;
}
.side-item:hover{ background:#eef2ff; border-color:rgba(22,40,73,.16); }
.side-icon{
  width:32px; height:32px;
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(31,57,106,.08);
  color:var(--tdy-blue);
  flex:0 0 32px;
}
.side-text{ font-size:13px; font-weight:600; color:var(--tdy-blue); line-height:1.15; }
.side-item.active{
  background:var(--tdy-blue);
  border-color:rgba(31,57,106,.35);
}
.side-item.active .side-text{ color:#fff; }
.side-item.active .side-icon{ background:rgba(255,255,255,.18); color:#fff; }

/* Mobil hizmet türleri strip */
.mobile-strip{
  display:none;
  gap:8px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:10px;
  margin-bottom:12px;
}
.mobile-strip::-webkit-scrollbar{ display:none; }
.mobile-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(22,40,73,.10);
  background:#fff;
  text-decoration:none;
  color:var(--tdy-blue);
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
}
.mobile-chip.active{
  background:var(--tdy-blue);
  color:#fff;
  border-color:rgba(31,57,106,.35);
}
.mobile-chip i{ font-size:14px; }

@media (max-width: 991.98px){
  .side-card{ display:none; }
  .mobile-strip{ display:flex; }
}

/* Section */
.section{ padding:12px; margin-bottom:12px; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:10px; }
.section-title{ font-size:14px; font-weight:700; color:var(--tdy-blue); }
.section-sub{ font-size:12px; color:var(--tdy-muted); font-weight:400; }

/* Popüler */
.pop-grid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:8px; }
@media (max-width:575.98px){ .pop-grid{ grid-template-columns:1fr; } }
.pop-item{
  display:flex; align-items:center; gap:10px;
  padding:10px; border-radius:12px;
  border:1px solid rgba(22,40,73,.08);
  background:var(--tdy-soft);
  text-decoration:none;
  transition:.14s ease;
}
.pop-item:hover{ background:#eef2ff; border-color:rgba(22,40,73,.16); }
.pop-img{ width:44px; height:32px; border-radius:10px; object-fit:cover; background:#e5e7eb; }
.pop-text{ font-size:13px; font-weight:600; color:var(--tdy-blue); line-height:1.15; }

/* Arama */
.search-wrap{ position:relative; }
.search-ico{ position:absolute; left:11px; top:50%; transform:translateY(-50%); color:#94a3b8; font-size:14px; pointer-events:none; }
.search-input{
  padding-left:34px !important;
  border-radius:12px;
  border:1px solid #dbe0e7;
  background:#f8fafc;
  height:44px;
  font-size:14px;
}
.search-input:focus{
  background:#fff;
  border-color:#3b82f6;
  box-shadow:0 0 0 2px rgba(59,130,246,0.08);
}

/* Hazır chipler */
.chips-row{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.chip{
  border:none; background:#eef2ff; color:#312e81;
  font-size:13px; padding:8px 10px; border-radius:999px;
  cursor:pointer; transition:.12s ease; font-weight:600;
}
.chip:hover{ background:#7789a9; color:#fff; }

/* Normal kategori grid */
.kat-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; }
@media (max-width:575.98px){ .kat-grid{ grid-template-columns:1fr; } }
.kat-item{
  border:1px solid rgba(22,40,73,.08);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  transition:.14s ease;
}
.kat-item:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,23,42,.08); }
.kat-link{ display:flex; gap:10px; padding:10px; text-decoration:none; color:inherit; }
.kat-img{ width:78px; height:52px; border-radius:12px; object-fit:cover; background:#e5e7eb; flex:0 0 78px; }
.kat-title{
  font-size:13.5px;
  font-weight:600;
  color:var(--tdy-blue);
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* AJAX Arama sonuç kartları (kategori + hizmet chipleri) */
.search-result-card{
  border:1px solid rgba(22,40,73,.08);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  margin-bottom:10px;
}
.search-result-head{
  display:flex; gap:10px; padding:10px;
  text-decoration:none; color:inherit;
}
.search-result-img{
  width:78px; height:52px; border-radius:12px;
  object-fit:cover; background:#e5e7eb; flex:0 0 78px;
}
.search-result-title{
  font-size:14px;
  font-weight:700;
  color:var(--tdy-blue);
  line-height:1.2;
}
.search-result-sub{
  font-size:12px; font-weight:400;
  color:var(--tdy-muted);
  margin-top:4px;
}
.search-result-hizmet{
  padding:0 10px 10px;
}
.search-hizmet-row{
  display:flex; flex-wrap:wrap; gap:6px;
}
.search-hizmet-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(22,40,73,.10);
  background:#ffe59812;
  text-decoration:none;
  color:#997125;
  font-size:13px;
  font-weight:600;
}
.search-hizmet-chip i{ font-size:12px; opacity:.7; }
	
	#ajaxsearch-result { transition: opacity .12s ease; }
#ajaxsearch-result.is-loading { opacity: .85; }

	  
			/* Native search X kapat (çift X olmasın) */
#kategoriAra[type="search"]::-webkit-search-cancel-button,
#kategoriAra[type="search"]::-webkit-search-decoration,
#kategoriAra[type="search"]::-webkit-search-results-button,
#kategoriAra[type="search"]::-webkit-search-results-decoration{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}
#kategoriAra[type="search"]{ -moz-appearance:textfield; appearance:textfield; }

/* TDY Search */
.tdy-search{
  position:relative;
  display:flex;
  align-items:center;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  border-radius:14px;
  padding:8px 10px;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

/* sol ikon */
.tdy-search-ico{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f1f5f9;
  color:#1f396a;
  flex:0 0 auto;
}

/* input */
.tdy-search-input{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 10px !important;
  height:34px;
  background:transparent !important;
  flex:1 1 auto;
}

/* placeholder biraz soft */
.tdy-search-input::placeholder{
  color:#94a3b8;
}

/* sağ X */
.tdy-search-clear{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  color:#475569;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
  padding:0;
}
.tdy-search.has-value .tdy-search-clear{ display:inline-flex; }

.tdy-search-clear:hover{ background:#eef2f7; }

/* focus */
.tdy-search:focus-within{
  border-color: rgba(31,57,106,.35);
  box-shadow: 0 12px 30px rgba(31,57,106,.12);
  transform: translateY(-1px);
}

/* mobilde daha kompakt */
@media (max-width:576px){
  .tdy-search{ border-radius:12px; padding:7px 9px; }
  .tdy-search-ico, .tdy-search-clear{ width:32px; height:32px; border-radius:11px; }
  .tdy-search-input{ height:32px; }
}