* {
  --primary-color: #C62828;
  --primary-color-rgb: 198, 40, 40;
  --secondary-color: #E53935;
  --secondary-color-rgb: 229, 57, 53;
}

.shadow-soft {
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  transition: all 0.3s ease;
}

.shadow-soft:hover {
  box-shadow: 0 8px 30px rgba(198,40,40,0.12);
  transform: translateY(-4px);
}

.fs-28 {
  font-size: 28px;
}

.fs-24 {
  font-size: 24px;
}

.fs-40 {
  font-size: 40px;
}

.cols-2 {
  columns: 2;
  column-gap: 20px;
}

.cols-2 li {
  break-inside: avoid;
}

.btn-main-line {
  display: inline-block;
  padding: 12px 30px;
  border: 2px solid #C62828;
  color: #C62828;
  border-radius: 30px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  text-decoration: none;
  background: transparent;
}

.btn-main-line:hover {
  background: #C62828;
  color: #fff;
}

.btn-main-line span {
  position: relative;
  z-index: 2;
}

.accordion-item {
  border: 1px solid rgba(0,0,0,0.08);
  margin-bottom: 8px;
  border-radius: 8px !important;
  overflow: hidden;
}

.accordion-button:not(.collapsed) {
  background-color: rgba(198,40,40,0.06);
  color: #C62828;
  box-shadow: none;
}

.accordion-button:focus {
  box-shadow: none;
  border-color: rgba(198,40,40,0.2);
}

.accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23C62828'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

@media (min-width: 993px) {
  #mainmenu > li > ul.mega {
    position: fixed !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    padding: 20px 0 !important;
    top: 80px;
    visibility: hidden;
    opacity: 0;
    overflow: visible !important;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                visibility 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    background: none !important;
    box-shadow: none !important;
  }

  header:not(.header-mobile) #mainmenu > li:hover > ul.mega {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto;
    transform: translateY(0);
  }
}

#mainmenu > li > ul.mega > li {
  padding: 0;
}

#mainmenu > li > ul.mega .mega-inner {
  display: flex;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.04);
  max-width: 880px;
  margin: 0 auto;
  backdrop-filter: blur(20px);
}

#mainmenu > li > ul.mega .mega-links {
  flex: 1;
  padding: 30px 35px;
  display: flex;
  gap: 10px;
}

#mainmenu > li > ul.mega .mega-col {
  flex: 1;
  min-width: 180px;
}

#mainmenu > li > ul.mega .mega-col h6 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #999;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

#mainmenu > li > ul.mega .mega-col ul {
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: none !important;
  display: block !important;
  width: 100% !important;
}

#mainmenu > li > ul.mega .mega-col ul li {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

#mainmenu > li > ul.mega .mega-col ul li a {
  display: flex;
  align-items: center;
  padding: 9px 14px !important;
  font-size: 14px;
  color: #444 !important;
  border-radius: 8px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  font-weight: 500;
  background: none !important;
  gap: 12px;
}

#mainmenu > li > ul.mega .mega-col ul li a i {
  font-size: 15px;
  color: #C62828;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(198,40,40,0.07);
  border-radius: 8px;
  transition: all 0.25s ease;
  flex-shrink: 0;
  margin: 0 !important;
}

#mainmenu > li > ul.mega .mega-col ul li a:hover {
  background: rgba(198,40,40,0.05) !important;
  color: #C62828 !important;
  transform: translateX(4px);
}

#mainmenu > li > ul.mega .mega-col ul li a:hover i {
  background: #C62828;
  color: #fff;
  transform: scale(1.05);
}

#mainmenu > li > ul.mega .mega-visual {
  width: 280px;
  min-height: 300px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

#mainmenu > li > ul.mega .mega-visual .mega-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  background-size: cover;
  background-position: center;
}

#mainmenu > li > ul.mega .mega-visual .mega-slide.active {
  opacity: 1;
}

#mainmenu > li > ul.mega .mega-visual::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(198,40,40,0.7) 0%, rgba(183,28,28,0.4) 50%, rgba(0,0,0,0.3) 100%);
  z-index: 1;
}

#mainmenu > li > ul.mega .mega-visual .mega-visual-content {
  position: absolute;
  bottom: 25px;
  left: 25px;
  right: 25px;
  z-index: 2;
  color: #fff;
}

#mainmenu > li > ul.mega .mega-visual .mega-visual-content h5 {
  color: #fff;
  font-size: 18px;
  margin-bottom: 6px;
  font-weight: 700;
}

#mainmenu > li > ul.mega .mega-visual .mega-visual-content p {
  color: rgba(255,255,255,0.9);
  font-size: 13px;
  margin-bottom: 12px;
  line-height: 1.5;
}

#mainmenu > li > ul.mega .mega-visual .mega-visual-content a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 20px;
  background: #fff;
  color: #C62828 !important;
  border-radius: 25px;
  font-size: 13px;
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

#mainmenu > li > ul.mega .mega-visual .mega-visual-content a:hover {
  background: #C62828;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(198,40,40,0.3);
}

#mainmenu > li > ul.mega .mega-visual .mega-visual-content a::after {
  content: '\2192';
  font-size: 14px;
  transition: transform 0.3s ease;
}

#mainmenu > li > ul.mega .mega-visual .mega-visual-content a:hover::after {
  transform: translateX(3px);
}

.pre-footer-cta {
  background: linear-gradient(135deg, #C62828 0%, #B71C1C 50%, #8E0000 100%);
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}

.pre-footer-cta::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}

.pre-footer-cta::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -5%;
  width: 300px;
  height: 300px;
  background: rgba(255,255,255,0.03);
  border-radius: 50%;
}

.pre-footer-cta h3 {
  color: #fff;
  font-size: 28px;
  margin-bottom: 12px;
}

.pre-footer-cta p {
  color: rgba(255,255,255,0.85);
  font-size: 16px;
  margin-bottom: 0;
}

.pre-footer-cta .btn-white {
  display: inline-block;
  padding: 12px 35px;
  background: #fff;
  color: #C62828;
  border-radius: 30px;
  font-weight: 600;
  font-size: 15px;
  transition: all 0.3s ease;
  text-decoration: none;
}

.pre-footer-cta .btn-white:hover {
  background: rgba(255,255,255,0.9);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

.pre-footer-info {
  background: #1a1a2e;
  padding: 50px 0;
}

.pre-footer-info .info-card {
  text-align: center;
  padding: 25px 15px;
}

.pre-footer-info .info-card i {
  font-size: 32px;
  color: #C62828;
  margin-bottom: 15px;
  display: block;
}

.pre-footer-info .info-card h5 {
  color: #fff;
  font-size: 16px;
  margin-bottom: 8px;
}

.pre-footer-info .info-card p {
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  margin: 0;
}

.footer-hero {
  position: relative;
  min-height: 420px;
  background-image: url('/images/sifa-gunduz.jpg');
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.footer-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(10,15,30,0.55) 0%, rgba(10,15,30,0.75) 100%);
  z-index: 1;
}

.footer-hero .container {
  position: relative;
  z-index: 2;
}

.footer-hero-content {
  text-align: center;
  padding: 60px 0;
}

.footer-hero-content .footer-flag {
  width: 90px;
  height: 90px;
  margin: 0 auto 24px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,0.3);
  box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}

.footer-hero-content .footer-flag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer-hero-content h2 {
  color: #fff;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 16px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.footer-hero-content p {
  color: rgba(255,255,255,0.88);
  font-size: 15px;
  line-height: 1.7;
  max-width: 700px;
  margin: 0 auto 28px;
}

.footer-hero-content .btn-footer-hero {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 32px;
  background: #fff;
  color: #C62828;
  border-radius: 30px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.footer-hero-content .btn-footer-hero:hover {
  background: #C62828;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(198,40,40,0.4);
}

.footer-hero-content .btn-footer-hero i {
  font-size: 14px;
  transition: transform 0.3s ease;
}

.footer-hero-content .btn-footer-hero:hover i {
  transform: translateX(3px);
}

.footer-main {
  background: #111827;
  padding: 60px 0 30px;
}

.footer-main .footer-logo-area {
  margin-bottom: 20px;
}

.footer-main .footer-logo-area img {
  max-height: 55px;
  margin-bottom: 6px;
}

.footer-main .footer-logo-area .footer-tagline {
  color: rgba(255,255,255,0.45);
  font-size: 12px;
  letter-spacing: 0.5px;
}

.footer-main .footer-about-text {
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 20px;
}

.footer-main .footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.7);
  font-size: 16px;
  margin-right: 8px;
  transition: all 0.3s ease;
  text-decoration: none;
}

.footer-main .footer-social a:hover {
  background: #C62828;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 4px 15px rgba(198,40,40,0.4);
}

.footer-main .footer-col-title {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
  padding-bottom: 12px;
  position: relative;
}

.footer-main .footer-col-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: #C62828;
}

.footer-main .footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-main .footer-links li {
  margin-bottom: 10px;
}

.footer-main .footer-links li a {
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  text-decoration: none;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.footer-main .footer-links li a::before {
  content: '\203A';
  font-size: 18px;
  color: #C62828;
  line-height: 1;
  transition: transform 0.25s ease;
}

.footer-main .footer-links li a:hover {
  color: #fff;
  transform: translateX(4px);
}

.footer-main .footer-links li a:hover::before {
  transform: translateX(2px);
}

.footer-main .footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}

.footer-main .footer-contact-item i {
  color: #C62828;
  font-size: 18px;
  margin-top: 2px;
  flex-shrink: 0;
}

.footer-main .footer-contact-item .fc-label {
  font-size: 12px;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 3px;
}

.footer-main .footer-contact-item .fc-value {
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  line-height: 1.5;
}

.footer-main .footer-contact-item .fc-value a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color 0.25s ease;
}

.footer-main .footer-contact-item .fc-value a:hover {
  color: #C62828;
}

.footer-bottom {
  background: #0d1117;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.footer-bottom .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-bottom .copyright {
  color: rgba(255,255,255,0.4);
  font-size: 13px;
}

.footer-bottom .footer-bottom-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
}

.footer-bottom .footer-bottom-links li a {
  color: rgba(255,255,255,0.4);
  font-size: 13px;
  text-decoration: none;
  transition: color 0.25s ease;
}

.footer-bottom .footer-bottom-links li a:hover {
  color: rgba(255,255,255,0.8);
}

@media (max-width: 992px) {
  .footer-hero {
    min-height: 350px;
  }
  .footer-hero-content h2 {
    font-size: 26px;
  }
  .footer-hero-content p {
    font-size: 14px;
  }
  .footer-main .footer-col-title.has-links {
    cursor: pointer;
    padding-right: 25px;
  }
  .footer-main .footer-col-title.has-links::before {
    content: '\f078';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 0;
    top: 0;
    font-size: 12px;
    transition: transform 0.3s ease;
    color: rgba(255,255,255,0.4);
  }
  .footer-main .footer-col-title.active::before {
    transform: rotate(180deg);
  }
  .footer-main .footer-links {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
  }
  .footer-main .footer-col-title.active + .footer-links {
    max-height: 500px;
  }
  .footer-bottom .container {
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 576px) {
  .footer-hero {
    min-height: 300px;
  }
  .footer-hero-content {
    padding: 40px 0;
  }
  .footer-hero-content .footer-flag {
    width: 70px;
    height: 70px;
  }
  .footer-hero-content h2 {
    font-size: 22px;
  }
}

@media (max-width: 992px) {
  #mainmenu > li > ul.mega .mega-inner {
    flex-direction: column;
    max-width: 100%;
    box-shadow: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
  }
  #mainmenu > li > ul.mega .mega-visual {
    display: none !important;
  }
  #mainmenu > li > ul.mega .mega-links {
    flex-direction: column;
    gap: 8px;
    padding: 5px 0 !important;
  }
  #mainmenu > li > ul.mega .mega-col {
    min-width: auto;
  }
  #mainmenu > li > ul.mega .mega-col h6 {
    font-size: 10px;
    margin-bottom: 6px;
    padding-bottom: 5px;
    color: #C62828;
  }
  #mainmenu > li > ul.mega .mega-col ul li a {
    padding: 6px 8px !important;
    font-size: 13px;
    color: #333 !important;
  }
  #mainmenu > li > ul.mega .mega-col ul li a i {
    width: 24px;
    height: 24px;
    font-size: 12px;
  }
  #mainmenu > li > ul.mega .mega-col ul li a:hover {
    transform: none;
  }

  footer .widget h5 {
    cursor: pointer;
    position: relative;
    padding-right: 25px;
    margin-bottom: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }

  footer .widget h5::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 0;
    top: 2px;
    font-size: 12px;
    transition: transform 0.3s ease;
    color: rgba(255,255,255,0.5);
  }

  footer .widget h5.active::after {
    transform: rotate(180deg);
  }

  footer .widget > ul {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
    padding-top: 0;
  }

  footer .widget h5.active + ul {
    max-height: 500px;
    padding-top: 12px;
  }
}

/* ==========================================================================
   Şifa – site özel düzeltmeler
   ========================================================================== */

/* --- Doktor fotoğrafları --------------------------------------------------
   Yüklenen görseller sunucuda 600x800'e (3:4) normalize ediliyor. Eski/farklı
   oranlı görseller de kart yüksekliğini kaydırmasın diye oran burada sabitlenir.
   Genişlik+yükseklik inline verilmiş küçük avatarlarda (60x60 gibi) tarayıcı
   aspect-ratio'yu zaten yok sayar, o kullanımlar etkilenmez. */
img[src*="/uploads/team/"] {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: top center;
  background-color: #f1f1f4;
}

img[src*="/uploads/team/"].rounded-circle,
img[src*="/uploads/team/"].circle {
  aspect-ratio: 1 / 1;
  object-position: center;
}

/* --- Hasta yorumları: fotoğraf yerine baş harf rozeti --------------------- */
.de_testi_by .testi-initial {
  width: 80px;
  height: 80px;
  margin: 20px auto 0;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: var(--primary-color, #C62828);
  text-align: center;
  flex: 0 0 auto;
}

/* --- Konum haritası ------------------------------------------------------- */
.map-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 320px;
  border: 0;
  display: block;
}

@media (max-width: 767px) {
  .map-embed { aspect-ratio: 4 / 3; }
}

/* --- Yerleşim kaymaları --------------------------------------------------- */
img, svg, iframe {
  max-width: 100%;
}

/* --- Doktor kaydıracı ------------------------------------------------------
   Kapsayıcı bilerek `.swiper` sınıfını taşımıyor: custom-swiper-1.js sayfadaki
   her `.swiper` öğesini fade efektli hero kaydıracı olarak kuruyor ve bizim
   çok kartlı şeridimizi bozardı. Bu yüzden swiper.css'in taban kuralı burada
   ayrı sınıf adıyla tekrarlanıyor; geri kalan sınıflar (swiper-wrapper,
   swiper-slide, swiper-button-*) swiper.css'ten olduğu gibi geliyor. */
.sifa-slider {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  overflow: hidden;
  list-style: none;
  z-index: 1;
}

/* Kartlar ızgara düzeninden geldiği için Bootstrap kolon sınıflarını taşıyor;
   kaydıraçta genişliği Swiper belirlediğinden yüzdeler devre dışı bırakılır. */
.sifa-slider .swiper-slide > [class*="col-"] {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
}

/* Gezinme okları: tasarımın ana rengiyle yuvarlak düğme */
.sifa-slider .swiper-button-prev,
.sifa-slider .swiper-button-next {
  width: 44px;
  height: 44px;
  border-radius: 100%;
  color: #fff;
  background: var(--primary-color, #C62828);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.sifa-slider .swiper-button-prev::after,
.sifa-slider .swiper-button-next::after {
  font-size: 15px;
  font-weight: 700;
}

.sifa-slider .swiper-button-prev { left: 0; }
.sifa-slider .swiper-button-next { right: 0; }


/* ==================================================================== */
/* Alt bant bina görseli                                                */
/* Yukarıdaki .footer-hero kuralı tasarımın eski kök yolunu (/images/)  */
/* kullanıyor; varlıklar bizde /assets/images altında olduğu için       */
/* doğru yol burada yeniden bildirilir. Panelden başka bir fotoğraf     */
/* seçilirse şablon satır içi stille bu değeri ezer.                    */
/* ==================================================================== */
.footer-hero {
  background-image: url('/assets/images/sifa-gunduz.jpg');
}


/* ==================================================================== */
/* Randevu uyarısı — menü üstü bant                                     */
/* ==================================================================== */
:root {
  /* Bandın masaüstündeki kesin yüksekliği. Mega menü panelinin `top` değeri
     viewport'a sabitlendiği için bant kadar aşağı kaydırılması gerekiyor;
     ölçü tek yerde tutulsun diye değişken. */
  --sifa-topbar-h: 44px;
}

.sifa-topbar {
  position: relative;
  z-index: 1002;
  background: linear-gradient(90deg, var(--primary-color, #C62828) 0%, var(--secondary-color, #E53935) 100%);
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
}

.sifa-topbar .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 14px;
  padding-top: 9px;
  padding-bottom: 9px;
  text-align: center;
}

.sifa-topbar-text {
  color: rgba(255, 255, 255, 0.92);
}

.sifa-topbar-tel {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 3px 14px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 30px;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.3s ease;
}

.sifa-topbar-tel:hover {
  background: #fff;
  border-color: #fff;
  color: var(--primary-color, #C62828);
}

@media only screen and (max-width: 767px) {
  .sifa-topbar {
    font-size: 12.5px;
  }
  .sifa-topbar .container {
    gap: 5px 10px;
  }
}

/* Masaüstünde bant tek satır olduğu için yüksekliği sabitlenir; mega menü
   paneli de aynı ölçü kadar aşağı iner. Menü sabitlendiğinde (header.smaller)
   bant ekrandan çıkmış olur, panel eski yerinde kalır. */
@media (min-width: 993px) {
  .sifa-topbar .container {
    height: var(--sifa-topbar-h);
    padding-top: 0;
    padding-bottom: 0;
  }

  .sifa-topbar ~ header:not(.smaller) #mainmenu > li > ul.mega {
    top: calc(80px + var(--sifa-topbar-h));
  }
}


/* ==================================================================== */
/* Randevu uyarısı — tek seferlik açılır pencere                        */
/* ==================================================================== */
.sifa-duyuru {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(10, 15, 30, 0.6);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.sifa-duyuru[hidden] {
  display: none;
}

.sifa-duyuru.acik {
  opacity: 1;
}

/* Pencere açıkken arkadaki sayfa kaymasın */
body.sifa-duyuru-acik {
  overflow: hidden;
}

.sifa-duyuru-kutu {
  width: 100%;
  max-width: 460px;
  padding: 40px 34px 32px;
  background: #fff;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  transform: translateY(16px) scale(0.97);
  transition: transform 0.25s ease;
}

.sifa-duyuru.acik .sifa-duyuru-kutu {
  transform: none;
}

/* Zemin rengi .bg-color-op-1 sınıfından gelir; kutunun kendisi opak beyaz
   olmak zorunda, çünkü arkasında sayfa değil koyu perde var. */
.sifa-duyuru-ikon {
  width: 68px;
  height: 68px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  font-size: 28px;
}

.sifa-duyuru-kutu h4 {
  margin-bottom: 12px;
  font-size: 22px;
}

.sifa-duyuru-kutu p {
  margin-bottom: 14px;
  font-size: 15px;
}

.sifa-duyuru-tel {
  display: inline-block;
  margin-bottom: 26px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-decoration: none;
}

.sifa-duyuru-alt .btn-main {
  min-width: 160px;
  border: none;
  cursor: pointer;
}

@media only screen and (max-width: 575px) {
  .sifa-duyuru-kutu {
    padding: 32px 22px 26px;
  }
  .sifa-duyuru-kutu h4 {
    font-size: 19px;
  }
  .sifa-duyuru-tel {
    font-size: 20px;
  }
}

/* ==========================================================================
   Yan kutulu sayfalarda içerik akışı (hasta rehberi, gebe okulu)

   Orijinal tasarımda bu sayfalar tek satırdır: solda col-lg-8 içinde tüm
   içerik, sağda col-lg-4 yan kutular. PHP sürümünde her içerik bloğu ayrı
   satır bastığı için, yan kutu sütunu ilk satırı kendi boyuna kadar uzatıyor
   ve altındaki bloklar yan kutu bitene kadar aşağı itiliyordu.

   Yan kutu sütunu satır yüksekliğinden çıkarılıp sağ üste sabitlenir; sol
   içerik böylece kesintisiz akar. Sol bloklar col-lg-8 olduğundan yan kutunun
   kapladığı alana girmezler. Küçük ekranlarda kural devre dışıdır; orada
   sütunlar zaten alt alta dizilir.
   ========================================================================== */
@media (min-width: 992px) {
  .sifa-yan-akis {
    position: relative;
  }

  .sifa-yan-akis > .col-lg-4 {
    position: absolute;
    top: 0;
    right: 0;
    width: 33.333333%;
  }
}

/* --------------------------------------------------------------------------
   Footer'daki yapımcı (PROTECHSOFT) logosu

   Özgün logo açık zemin içindir (mavi işaret + siyah yazı). Koyu footer için
   yalnızca yazısı beyaza çevrilmiş bir sürüm kullanılır (protechsoft-beyaz.png);
   mavi işaret olduğu gibi korunur. Böylece zemin kutusuna gerek kalmaz.
   -------------------------------------------------------------------------- */
.footer-yapimci {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  opacity: 0.9;
  transition: opacity 0.25s ease;
}

.footer-yapimci:hover,
.footer-yapimci:focus-visible {
  opacity: 1;
}

.footer-yapimci img {
  width: 150px;
  height: 63px;
}

/* --------------------------------------------------------------------------
   Hasta yorumlarındaki profil görseli

   Adı tanınan yorumlarda baş harf rozetinin yerini cinsiyete uygun portre
   alır; ölçü ve konum rozetle aynı tutulur ki kart yerleşimi değişmesin.
   -------------------------------------------------------------------------- */
.de_testi_by .testi-avatar {
  width: 80px;
  height: 80px;
  margin: 20px auto 0;
  border-radius: 100%;
  display: block;
  object-fit: cover;
}
