/* =========================================================
   DENİZ DENTAL - Site Teması
   Eski sitenin (Bootstrap 3) renk paleti ve görünümü,
   Bootstrap 5 altyapısı üzerinde birebir korunacak şekilde uyarlanmıştır.
   ========================================================= */
:root {
  --dental-teal: #38b3ae;
  --dental-teal-dark: #2c8f8b;
  --dental-green: #3ac341;
  --dental-red: #da4453;
  --dental-red-dark: #c73646;
  --dental-blue: #00aeef;
  --dental-navy: #243c4f;
  --text-dark: #333;
  --text-muted: #4d4d4d;
  --shadow-soft: 0 1px 3px 0 rgba(212,212,213,0.9), 0 0 0 1px rgba(212,212,213,0.7);
  --radius: 8px;
}

body {
  font-family: Verdana, sans-serif;
  color: var(--text-dark);
}

a { color: var(--dental-blue); }
a:hover { color: var(--dental-teal-dark); }

.brand-font { font-family: 'Lobster', cursive; }

/* ---------- Üst şerit (telefon) ---------- */
.head-top-bar {
  background-color: var(--dental-teal);
  height: 33px;
  display: flex;
  align-items: center;
}
.head-top-bar a {
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
}
.head-top-bar a:hover { color: #fff; opacity: .85; }

/* ---------- Navbar ---------- */
.navbar-dental {
  background: #fff;
  border-bottom: 0;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  padding: 12px 0;
}
.navbar-dental .navbar-brand { padding: 0; }
.navbar-dental .nav-link {
  color: var(--text-muted) !important;
  font-size: 13px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0.6rem 0.9rem !important;
}
.navbar-dental .nav-link:hover,
.navbar-dental .nav-link:focus,
.navbar-dental .nav-link.active {
  color: var(--dental-blue) !important;
}
.navbar-dental .dropdown-item:active { background-color: var(--dental-teal); }

/* Masaüstünde "TEDAVİLERİMİZ" menüsü üzerine gelince açılsın (eski site davranışı) */
@media (min-width: 992px) {
  .dropdown-hover:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* ---------- Butonlar ---------- */
.btn-dental {
  background-color: var(--dental-red);
  border: none;
  color: #fff;
  font-weight: bold;
  border-radius: 20px;
  padding: 0.6rem 1.8rem;
  transition: all .2s ease;
}
.btn-dental:hover { background-color: var(--dental-red-dark); color: #fff; }

/* ---------- Hero Slider ---------- */
.hero-slider-wrap {
  background-color: #f8f8f8;
  padding: 20px 0 30px;
  box-shadow: 0 5px 15px 0 rgba(0,0,0,.05) inset, 0 -5px 15px 0 rgba(0,0,0,.05) inset;
}

/* ---------- Slogan (Lobster fontu korunuyor) ---------- */
.presentation {
  margin-top: 30px;
  margin-bottom: 10px;
  text-align: center;
}
.presentation h2 {
  font-family: 'Lobster', cursive;
  font-size: 30px;
  color: #2b4274;
}
.presentation p { font-size: 18px; font-style: italic; }
.presentation .violet { color: #5aaaa1; }

/* ---------- Makale/Hizmet Kartları ---------- */
.card.article-card {
  font-size: 1em;
  overflow: hidden;
  border: none;
  border-radius: 4px;
  box-shadow: var(--shadow-soft);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.resim_container { position: relative; }
.resim_container .card-img-top { display: block; width: 100%; height: auto; transition: opacity .3s ease; }
.resim_container:hover .card-img-top { opacity: 0.35; }
.middle_img_x {
  transition: .3s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 2.2rem;
  color: #fff;
}
.resim_container:hover .middle_img_x { opacity: 1; }
.card-block { padding: 1em; flex-grow: 1; }
.card-title { font-size: 1.15em; font-weight: 700; }
.card-text { color: rgba(0,0,0,.68); margin-top: .4em; }
.card-footer {
  padding: .75em 1em;
  color: #fff;
  background: var(--dental-teal);
  border-top: none;
}
.card-footer a { color: #fff; text-decoration: none; }
.card-footer a:hover { text-decoration: underline; }

/* ---------- Kliniğimiz Sosyal/Bilgi Şeridi ---------- */
.clinic-social { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.clinic-social .item_i { display: flex; align-items: center; gap: .5rem; font-weight: 600; color: var(--text-muted); }
.clinic-social .item_i i { color: var(--dental-teal); font-size: 1.2rem; }

/* ---------- Kliniğimiz Galeri + Lightbox ---------- */
.clinic-gallery-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.clinic-gallery-col { width: 150px; }
.clinic-gallery-col img.hover-shadow {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 5px;
  width: 100%;
  cursor: pointer;
  transition: box-shadow .3s ease;
}
.clinic-gallery-col img.hover-shadow:hover {
  box-shadow: 0 4px 8px 0 rgba(0,0,0,.2), 0 6px 20px 0 rgba(0,0,0,.19);
}
.clinic-lightbox {
  display: none;
  position: fixed;
  z-index: 1050;
  inset: 0;
  overflow: auto;
  background-color: rgba(0,0,0,.92);
}
.clinic-lightbox.open { display: block; }
.clinic-lightbox-content {
  position: relative;
  margin: 60px auto;
  width: 90%;
  max-width: 900px;
}
.clinic-lightbox-slide { display: none; text-align: center; }
.clinic-lightbox-slide.active { display: block; }
.clinic-lightbox-slide img { width: 100%; border-radius: 4px; }
.clinic-lightbox-number { color: #f2f2f2; font-size: 13px; margin-bottom: 8px; }
.clinic-lightbox-close {
  position: absolute; top: -40px; right: 0;
  color: #fff; font-size: 32px; font-weight: bold; cursor: pointer;
}
.clinic-lightbox-close:hover { color: #ccc; }
.clinic-lightbox-prev, .clinic-lightbox-next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: 12px 16px;
  color: #fff;
  font-weight: bold;
  font-size: 22px;
  user-select: none;
  background: rgba(0,0,0,.35);
  border-radius: 4px;
}
.clinic-lightbox-prev { left: -10px; }
.clinic-lightbox-next { right: -10px; }
.clinic-lightbox-prev:hover, .clinic-lightbox-next:hover { background: rgba(0,0,0,.6); }

/* ---------- Breadcrumb ---------- */
.dental-breadcrumb { background: rgba(56,179,174,0.08); padding: .9rem 0; }
.dental-breadcrumb .breadcrumb { margin-bottom: 0; }

/* ---------- Kişi (hekim) fotoğrafı gölgesi ---------- */
.person_shadow { box-shadow: rgba(0,0,0,0.15) 0 5px 15px 0; }

/* ---------- Sidebar (kategori/makale listesi) ---------- */
.sidebar-card {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  padding: 1.4rem;
}
.list-group-item.active { background-color: var(--dental-teal); border-color: var(--dental-teal); }

/* ---------- Harita ---------- */
.map-embed { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-soft); min-height: 380px; }
.map-embed iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }

/* ---------- Zengin İçerik ---------- */
.rich-content img { max-width: 100%; height: auto; border-radius: 6px; }
.rich-content { line-height: 1.8; }

/* ---------- Empty State ---------- */
.empty-state { text-align: center; padding: 4rem 1rem; color: #8a8a8a; }
.empty-state i { font-size: 3.5rem; color: var(--dental-teal); margin-bottom: 1rem; display: block; }

/* ---------- Footer ---------- */
footer.site-footer {
  background: var(--dental-navy);
  padding: 50px 0 20px;
  margin-top: 60px;
  color: rgba(255,255,255,0.65);
}
footer.site-footer .footer-title {
  position: relative;
  font-size: 17px;
  text-transform: uppercase;
  color: #fff;
  padding-bottom: 8px;
}
footer.site-footer .footer-title::after {
  content: '';
  display: block;
  width: 50px; height: 2px;
  background: var(--dental-green);
  margin-top: 8px;
}
footer.site-footer a { color: rgba(255,255,255,0.75); text-decoration: none; }
footer.site-footer a:hover { color: var(--dental-green); }
footer.site-footer .footer-nav li { margin-bottom: 6px; }
footer.site-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 30px;
  padding-top: 18px;
  font-size: .88rem;
  text-align: center;
}

/* ---------- Admin Panel ---------- */
.admin-sidebar {
  background: linear-gradient(180deg, var(--dental-navy), #1a2c39);
  min-height: 100vh;
  color: #fff;
}
.admin-sidebar .brand { padding: 1.4rem 1.2rem; font-family: 'Lobster', cursive; font-size: 1.3rem; }
.admin-sidebar a.nav-link { color: rgba(255,255,255,0.8); padding: .7rem 1.3rem; border-radius: 8px; margin: 2px 10px; font-weight: 500; }
.admin-sidebar a.nav-link:hover, .admin-sidebar a.nav-link.active { background: rgba(56,179,174,0.35); color: #fff; }
.admin-content { background: #f4f6f7; min-height: 100vh; padding: 2rem; }
.stat-card { border-radius: var(--radius); color: #fff; padding: 1.6rem; box-shadow: var(--shadow-soft); }
.stat-card.c1 { background: linear-gradient(135deg, var(--dental-teal), var(--dental-teal-dark)); }
.stat-card.c2 { background: linear-gradient(135deg, var(--dental-navy), #1a2c39); }
.stat-card.c3 { background: linear-gradient(135deg, var(--dental-red), var(--dental-red-dark)); }
.admin-card { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-soft); padding: 1.6rem; }
.login-wrapper {
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--dental-navy), var(--dental-teal-dark));
}
.login-box {
  background: #fff; border-radius: var(--radius); padding: 2.5rem; width: 100%; max-width: 420px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.35);
}
.form-control:focus, .form-select:focus {
  border-color: var(--dental-teal);
  box-shadow: 0 0 0 .2rem rgba(56,179,174,0.2);
}
.table thead { background: var(--dental-navy); color: #fff; }
.cover-preview { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; }

@media (max-width: 767px) {
  * [class*='col-xs'] { padding: 5px; }
  .card-block { padding: 5px; }
}
