/* ============================================================
   GURUS.GE MODERNIZATION CSS v3 — BANYAN TEMPLATE
   Upload to: /media/templates/site/cassiopeia/css/user.css
   Targets actual Banyan + Cassiopeia class names
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Georgian:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
  --g-primary: #1a56db;
  --g-primary-dark: #1e3a5f;
  --g-primary-light: #ebf2ff;
  --g-accent: #f59e0b;
  --g-text: #1f2937;
  --g-text-light: #6b7280;
  --g-bg: #f8fafc;
  --g-white: #ffffff;
  --g-border: #e5e7eb;
  --g-radius: 12px;
  --g-radius-sm: 8px;
  --g-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  --g-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
  --g-shadow-lg: 0 10px 25px rgba(0,0,0,0.1), 0 4px 10px rgba(0,0,0,0.05);
  --g-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============= GLOBAL ============= */
body {
  font-family: 'Noto Sans Georgian', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  background: var(--g-bg) !important;
  color: var(--g-text) !important;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--g-primary); transition: var(--g-transition); }
a:hover { color: var(--g-primary-dark); text-decoration: none !important; }

/* ============= NAVIGATION ============= */
.container-header, header.header {
  background: linear-gradient(135deg, var(--g-primary-dark) 0%, var(--g-primary) 100%) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.15) !important;
}
.container-header a, .mod-menu a, nav.navbar a {
  color: rgba(255,255,255,0.9) !important;
  padding: 12px 18px !important;
  border-radius: var(--g-radius-sm);
  transition: var(--g-transition);
}
.container-header a:hover, .mod-menu a:hover, nav.navbar a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.12) !important;
}

/* ============= BREADCRUMB ============= */
.mod-breadcrumbs, ol.breadcrumb, .breadcrumb {
  background: transparent !important;
  padding: 12px 0 !important;
  font-size: 0.85rem !important;
  border: none !important;
  color: var(--g-text-light) !important;
}
.breadcrumb a { color: var(--g-primary) !important; }

/* ============= HERO / WELCOME BANNER ============= */
.well, div[class*="well"] {
  background: linear-gradient(135deg, var(--g-primary-dark) 0%, #2563eb 50%, #3b82f6 100%) !important;
  border: none !important;
  border-radius: var(--g-radius) !important;
  padding: 36px 42px !important;
  margin: 0 0 28px 0 !important;
  color: #fff !important;
  box-shadow: var(--g-shadow-lg) !important;
  position: relative;
  overflow: hidden;
}
.well::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.well h2, .well h3, .well strong { color: #fff !important; font-weight: 700 !important; }
.well p, .well span { color: rgba(255,255,255,0.92) !important; line-height: 1.7 !important; }

/* ============= SEARCH BAR ============= */
.mt-component-search input,
input[type="text"][name="searchword"],
input.inputbox,
.mod-search input,
input[placeholder*="მოიძ"] {
  width: 100% !important;
  max-width: 600px !important;
  margin: 8px auto 28px !important;
  display: block !important;
  padding: 14px 20px 14px 48px !important;
  border: 2px solid var(--g-border) !important;
  border-radius: 50px !important;
  font-size: 1rem !important;
  background: var(--g-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 16px center !important;
  box-shadow: var(--g-shadow) !important;
  transition: var(--g-transition);
  outline: none !important;
  color: var(--g-text) !important;
}
.mt-component-search input:focus,
input[type="text"][name="searchword"]:focus,
.mod-search input:focus {
  border-color: var(--g-primary) !important;
  box-shadow: var(--g-shadow-md), 0 0 0 3px var(--g-primary-light) !important;
}

/* ============= "Categories" Title ============= */
.mt-page-index .title {
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--g-text-light) !important;
  font-weight: 700 !important;
  border-bottom: 2px solid var(--g-border) !important;
  padding-bottom: 12px !important;
  margin: 24px 0 28px 0 !important;
}

/* ============= CATEGORY GRID ============= */
.mt-page-index-style-5 .mt-page-index .mt-index-categories {
  column-count: 3 !important;
  column-gap: 20px !important;
}
@media (max-width: 1100px) {
  .mt-page-index-style-5 .mt-page-index .mt-index-categories { column-count: 2 !important; }
}
@media (max-width: 700px) {
  .mt-page-index-style-5 .mt-page-index .mt-index-categories { column-count: 1 !important; }
}

/* ============= CATEGORY CARDS ============= */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category {
  background: var(--g-white) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius) !important;
  margin-bottom: 20px !important;
  box-shadow: var(--g-shadow) !important;
  transition: var(--g-transition);
  overflow: hidden !important;
  break-inside: avoid;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category:hover {
  box-shadow: var(--g-shadow-lg) !important;
  border-color: var(--g-primary) !important;
  transform: translateY(-3px);
}

/* Category image header */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .mt-index-cat-card {
  position: relative !important;
  width: 100% !important;
  height: 110px !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: var(--g-primary) !important;
  border-radius: var(--g-radius) var(--g-radius) 0 0 !important;
  overflow: hidden;
}

/* Dark gradient overlay on category image */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-cat-overlay-link {
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%) !important;
  transition: var(--g-transition);
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-cat-overlay-link:hover {
  background: linear-gradient(180deg, rgba(26,86,219,0.4) 0%, rgba(30,58,95,0.85) 100%) !important;
}

/* Category title on image */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .mt-index-cat-card h2 {
  bottom: 10px !important;
  position: absolute !important;
  padding: 0 16px !important;
  margin: 0 !important;
  z-index: 102;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .mt-index-cat-card h2 a.mt-index-cat-name {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.6) !important;
  text-decoration: none !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
}

/* No-image card */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .mt-index-cat-no-image-card {
  background: linear-gradient(135deg, var(--g-primary-light) 0%, #dbeafe 100%) !important;
  padding: 16px !important;
  border-radius: var(--g-radius) var(--g-radius) 0 0 !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .mt-index-cat-no-image-card h2 {
  bottom: 5px !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .mt-index-cat-no-image-card h2 a.mt-index-cat-name {
  color: var(--g-primary-dark) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  text-decoration: none !important;
}

/* Subcategory list */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-subcats {
  list-style: none !important;
  padding: 14px 16px !important;
  margin: 0 !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-subcats li {
  padding: 6px 0 !important;
  border-bottom: 1px solid #f3f4f6 !important;
  line-height: 1.5em !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-subcats li:last-child {
  border-bottom: none !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-subcats li a {
  color: var(--g-text) !important;
  text-decoration: none !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  display: block !important;
  transition: var(--g-transition);
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-subcats li a:hover {
  color: var(--g-primary) !important;
  padding-left: 4px !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-subcats li span {
  color: var(--g-text-light) !important;
  font-size: 0.78em !important;
  font-weight: 400 !important;
  margin-left: 6px;
}

/* "..." link */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-subcats li a[href*="cat_id"]:has-text("...") {
  color: var(--g-primary) !important;
  font-weight: 600 !important;
}

/* Listings inside categories */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-cat-listings {
  list-style: none !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  border-top: 1px solid #f3f4f6 !important;
  background: var(--g-bg) !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-cat-listings li {
  padding: 4px 0 !important;
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-cat-listings li a {
  color: var(--g-primary) !important;
  font-size: 0.88rem !important;
  text-decoration: none !important;
}

/* Cat details wrapper */
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category .mt-index-cat-details {
  padding: 0 !important;
}

/* ============= LISTING SUMMARY CARDS ============= */
.mt-listing-summary, .listing-summary {
  background: var(--g-white) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius) !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--g-shadow) !important;
  transition: var(--g-transition);
}
.mt-listing-summary:hover, .listing-summary:hover {
  box-shadow: var(--g-shadow-md) !important;
  border-color: #d1d5db !important;
}
div.featured, .listing-summary.featured {
  border-left: 4px solid var(--g-accent) !important;
}

/* ============= LISTING DETAIL ============= */
#listing h2, .mt-listing h2 {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--g-text) !important;
}
#listing h3 {
  border-bottom: 2px solid var(--g-border) !important;
  font-size: 1.1rem !important;
  color: var(--g-text) !important;
}
.fieldRow {
  border-bottom: 1px solid #f3f4f6 !important;
  padding: 10px 0 !important;
}
.fieldRow .caption {
  color: var(--g-text-light) !important;
  font-weight: 500 !important;
}
#contact-form, #listing .user {
  background: var(--g-bg) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius) !important;
  padding: 24px !important;
}

/* ============= BADGES ============= */
sup.new { background: #10b981 !important; border: none !important; border-radius: 4px !important; padding: 2px 6px !important; }
sup.featured { background: var(--g-accent) !important; border: none !important; border-radius: 4px !important; padding: 2px 6px !important; }
sup.popular { background: #ef4444 !important; border: none !important; border-radius: 4px !important; padding: 2px 6px !important; }

/* ============= BUTTONS ============= */
.btn, .button, button.btn {
  border-radius: var(--g-radius-sm) !important;
  padding: 10px 24px !important;
  font-weight: 600 !important;
  transition: var(--g-transition);
  border: none !important;
}
.btn-primary, a.btn-primary {
  background: var(--g-primary) !important;
  color: #fff !important;
  box-shadow: 0 2px 4px rgba(26,86,219,0.3) !important;
}
.btn-primary:hover {
  background: var(--g-primary-dark) !important;
  transform: translateY(-1px);
}
.mt-add-listing-btn {
  background: var(--g-primary) !important;
  color: #fff !important;
  border-radius: var(--g-radius-sm) !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: var(--g-transition);
}
.mt-add-listing-btn:hover {
  background: var(--g-primary-dark) !important;
  color: #fff !important;
}

/* ============= ALPHA INDEX ============= */
.alpha-index a.alpha:link, .alpha-index a.alpha:visited {
  background: var(--g-white) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: 4px !important;
  padding: 4px 8px !important;
  transition: var(--g-transition);
}
.alpha-index a.alpha:hover {
  background: var(--g-primary) !important;
  color: #fff !important;
  border-color: var(--g-primary) !important;
}

/* ============= REVIEWS ============= */
.review { border-bottom: 1px solid #f3f4f6 !important; padding: 20px 0 !important; }
.owners-reply { background: var(--g-primary-light) !important; border-radius: var(--g-radius-sm) !important; padding: 12px !important; }

/* ============= FOOTER ============= */
.container-footer, footer {
  background: var(--g-primary-dark) !important;
  color: rgba(255,255,255,0.8) !important;
  padding: 32px 0 !important;
  margin-top: 48px !important;
}
footer a { color: rgba(255,255,255,0.9) !important; }

/* ============= RESPONSIVE ============= */
@media (max-width: 768px) {
  .well { padding: 24px !important; }
}

/* ============= ANIMATIONS ============= */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.mt-page-index-style-5 .mt-page-index .mt-index-categories .category {
  animation: fadeInUp 0.4s ease-out both;
}

/* ============= SCROLLBAR ============= */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #64748b; }
::selection { background: var(--g-primary-light); color: var(--g-primary-dark); }
