/* ==========================================================================
   site.css – Section dimension locks & content overflow protection
   Loaded after main.css to override only what is needed.
   Responsive breakpoints match the original theme:
     ≥1400  desktop-xl
     ≥1200  desktop
     ≥992   tablet-landscape
     ≥768   tablet-portrait
     <768   mobile
   ========================================================================== */

/* ------------------------------------------------------------------
   0. NAVBAR – logo boyutu + marka metni (FrontendNavbar)
   Ana şerit: menü linki yüksekliğini aşmadan logo max-height ile büyütülür
   (header-main / menü padding’leri değiştirilmez → navbar toplam yükseklik aynı kalır).
   ------------------------------------------------------------------ */

/* Navbar brand title custom font test (logo sagindaki yaziya ozel) */
@font-face {
  font-family: "Crostan Custom";
  src:
    url("/Fonts/crostan/Crostan-Regular.woff2") format("woff2"),
    url("/Fonts/crostan/Crostan-Regular.woff") format("woff"),
    url("/Fonts/crostan/Crostan-Regular.otf") format("opentype"),
    url("/Fonts/crostan/Crostan-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nurma Custom";
  src:
    url("/Fonts/nurma/Nurma-Regular.woff2") format("woff2"),
    url("/Fonts/nurma/Nurma-Regular.woff") format("woff"),
    url("/Fonts/nurma/Nurma-Regular.otf") format("opentype"),
    url("/Fonts/nurma/Nurma-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.dkt-navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px 12px;
  flex-wrap: nowrap;
  width: fit-content;
  max-width: none;
  min-width: 0;
  flex: 0 0 auto;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  line-height: 1;
  overflow: visible;
  white-space: nowrap;
  text-decoration: none;
}

.dkt-navbar-brand:hover {
  text-decoration: none;
}

/* Ana header marka alanı: layout stabil kalsın */
.header-1 .header-main .header-left .logo {
  display: flex;
  align-items: center;
  overflow: visible;
  min-width: max-content;
  flex: 0 0 auto;
  flex-shrink: 0;
}

.header-1 .header-main .header-left .logo .dkt-navbar-brand {
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: none;
  min-width: max-content;
  overflow: visible;
}

.site-logo-link,
.navbar-brand--logo-only {
  display: inline-flex;
  align-items: center;
  gap: 0;
  width: 320px;
  min-width: 320px;
  max-width: 320px;
  height: 90px;
  flex: 0 0 auto;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
  overflow: visible;
}

.site-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  max-width: none;
  max-height: none;
  margin: 0;
  flex: 0 0 auto;
  flex-shrink: 0;
}

/* Tema dosyasındaki .offcanvas__logo a img { width:150px; } kuralını navbar logosu için ezer. */
.site-logo-link .site-logo-wrap > .site-logo,
.navbar-brand--logo-only .site-logo-wrap > .site-logo {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.site-logo-link .site-logo-wrap,
.navbar-brand--logo-only .site-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  line-height: 0;
  width: 320px;
  min-width: 320px;
  max-width: 320px;
  height: 90px;
  margin: 0;
  padding: 0;
  overflow: visible;
  flex: 0 0 auto;
  flex-shrink: 0;
}

.navbar-brand--logo-only .site-logo-link,
.navbar-brand--logo-only.site-logo-link,
.navbar-brand--logo-only .site-logo-wrap,
.navbar-brand--logo-only .site-logo,
.navbar-brand--logo-only .dkt-navbar-logo {
  overflow: visible;
}

@media (max-width: 991.98px) {
  .site-logo-link,
  .navbar-brand--logo-only,
  .site-logo-link .site-logo-wrap,
  .navbar-brand--logo-only .site-logo-wrap {
    width: 260px;
    min-width: 260px;
    max-width: 260px;
    height: 76px;
  }
}

@media (max-width: 767.98px) {
  .header-1 .header-main .header-left {
    max-width: calc(100vw - 92px);
  }

  .site-logo-link,
  .navbar-brand--logo-only,
  .site-logo-link .site-logo-wrap,
  .navbar-brand--logo-only .site-logo-wrap {
    width: 210px;
    min-width: 210px;
    max-width: 210px;
    height: 64px;
  }
}

.dkt-navbar-brand__title {
  margin: 0;
  max-width: 22rem;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.85vw, 1.2rem);
  line-height: 1.12;
  letter-spacing: 0.015em;
  text-transform: none;
  color: var(--header);
  word-break: break-word;
}

.brand-title-font-1 {
  font-family: "Crostan Custom", "Source Sans 3", sans-serif;
}

.brand-title-font-2 {
  font-family: "Cinzel", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-weight: 600;
  letter-spacing: 0.01em;
}

@media (max-width: 1199.98px) {
  .header-1 .header-main .header-left .logo .dkt-navbar-brand__title {
    font-size: clamp(0.86rem, 2.35vw, 1.08rem);
    max-width: 19rem;
  }
}

@media (max-width: 399.98px) {
  .dkt-navbar-brand__title {
    max-width: 13rem;
    font-size: 0.8rem;
    line-height: 1.2;
    letter-spacing: 0;
  }
}

/* ------------------------------------------------------------------
   1. HERO SECTION  (Index – .hero-1)
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .hero-1 {
    min-height: 100vh;
    display: flex;
    align-items: center;
  }

  .hero-1 > .container {
    flex: 1 1 auto;
  }

  .hero-1 .hero-content h1 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
  }

  .hero-1 .hero-content p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
  }

}

/* ---- Hero görseli: Hakkımızda ile aynı cta-shape-2.png + SVG maske; viewBox 680×560 (340×280 ölçeğinin 2×), feMorphology radius 12 ---- */
.hero-1 .hero-image.hero-image--cta-shape {
  position: relative;
  z-index: 9;
  display: flex;
  justify-content: center;
  width: 100%;
}

.hero-1 .hero-image.hero-image--cta-shape .hero-cta-shape-svg {
  display: block;
  width: 100%;
  max-width: 680px;
  height: auto;
}

@media (min-width: 992px) {
  .hero-1 .hero-image.hero-image--cta-shape .hero-cta-shape-svg {
    max-height: 75vh;
    width: auto;
    max-width: min(680px, 100%);
  }
}

/* ------------------------------------------------------------------
   2. BREADCRUMB  (All inner pages)
   Original: padding 140px 0 197px  →  ~337px visible height.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .breadcrumb-wrapper .page-heading {
    min-height: 337px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .breadcrumb-wrapper .page-heading h1 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   3. INDEX – ABOUT SECTION  (.about-section)
   Original: ~800px (padding 120 + content).
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .about-section .about-content .section-title h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .about-section .about-content > p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ---- Main image: organic blob mask (webkit prefix + fill fix) ---- */
.about-wrapper .about-image-items .about-image {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 554 467"><path fill-rule="evenodd" clip-rule="evenodd" d="M256.927 460.599C207.571 462.931 156.167 476.468 111.79 455.259C65.553 433.161 32.097 390.267 12.5337 343.796C-6.6261 298.284 1.09308 248.529 4.0835 199.413C7.34839 145.79 -9.38287 80.4032 30.8056 43.6927C71.6018 6.42725 138.713 33.5642 194.04 25.8959C239.474 19.5988 282.42 -8.70963 326.803 2.66757C371.57 14.1428 397.872 56.3382 431.965 86.885C470.993 121.852 523.678 146.258 541.433 194.97C560.374 246.935 558.866 309.117 530.316 356.718C502.393 403.276 444.817 422.38 393.302 441.955C349.644 458.543 303.723 458.387 256.927 460.599Z" /></svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 554 467"><path fill-rule="evenodd" clip-rule="evenodd" d="M256.927 460.599C207.571 462.931 156.167 476.468 111.79 455.259C65.553 433.161 32.097 390.267 12.5337 343.796C-6.6261 298.284 1.09308 248.529 4.0835 199.413C7.34839 145.79 -9.38287 80.4032 30.8056 43.6927C71.6018 6.42725 138.713 33.5642 194.04 25.8959C239.474 19.5988 282.42 -8.70963 326.803 2.66757C371.57 14.1428 397.872 56.3382 431.965 86.885C470.993 121.852 523.678 146.258 541.433 194.97C560.374 246.935 558.866 309.117 530.316 356.718C502.393 403.276 444.817 422.38 393.302 441.955C349.644 458.543 303.723 458.387 256.927 460.599Z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  aspect-ratio: 554 / 467;
  overflow: hidden;
}

.about-wrapper .about-image-items .about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ---- Small image: circular with white border ---- */
.about-wrapper .about-image-items .about-image-2 img {
  border-radius: 50%;
  border: 12px solid var(--white, #fff);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  object-fit: cover;
  aspect-ratio: 1;
}

/* ------------------------------------------------------------------
   4. INDEX – PROGRAM / SERVICES CARDS  (.program-section)
   Original cards ~480px. Lock card height for uniformity.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .program-box-items {
    min-height: 480px;
  }

  .program-box-items .program-content h4 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .program-box-items .program-content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .program-box-items .program-image img {
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
  }
}

/* Ok butonu kartın dışına taşıyor (bottom:-50px absolute) ve tıklanamıyordu.
   padding-bottom ile kart içinde yer açıyoruz, z-index ile üstte tutuyoruz. */
.program-box-items {
  padding-bottom: 70px;
}
.program-box-items .program-content .arrow-icon {
  z-index: 10;
  cursor: pointer;
}

/* ------------------------------------------------------------------
   5. INDEX – WORK PROCESS  (.work-process-section)
   Original: ~400px content zone.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .process-work-wrapper .work-process-items .content h4 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .process-work-wrapper .work-process-items .content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   6. INDEX – ACTIVITIES SECTION  (.about-activities-section)
   ------------------------------------------------------------------ */

/* ---- Activities image: webkit prefix for SVG mask ---- */
.about-activities-wrapper .activities-img-items .activities-image {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 508 485"><path fill-rule="evenodd" clip-rule="evenodd" d="M273.307 22.3171C313.958 21.7364 354.018 -9.9391 392.233 3.1801C429.93 16.1214 448.114 56.8471 468.691 89.3925C487.204 118.672 501.176 150.33 506.594 184.055C511.646 215.497 501.66 246.444 499.018 278.149C496.315 310.595 504.839 344.713 490.737 374.404C476.393 404.605 448.022 426.759 419.387 445.812C390.95 464.733 359.473 482.18 324.811 484.809C290.921 487.38 261.165 463.161 227.293 460.384C188.086 457.169 146.979 481.781 110.746 467.257C75.3239 453.059 46.6799 419.717 37.6358 384.361C28.4117 348.301 68.3117 313.334 62.0057 276.717C55.164 236.989 -9.04387 211.189 1.08003 172.094C10.8117 134.513 77.5118 141.105 104.627 112.126C132.07 82.7954 119.879 25.7702 155.969 6.55486C190.772 -11.9748 233.369 22.8875 273.307 22.3171Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: cover;
  aspect-ratio: 508 / 485;
  overflow: hidden;
}

.about-activities-wrapper .activities-img-items .activities-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 992px) {
  .about-activities-section .activities-content .section-title h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .about-activities-section .activities-content > p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .about-activities-section .activities-content .icon-items .content h5 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .about-activities-section .activities-content .icon-items .content p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   7. INDEX – TESTIMONIALS  (.testimonial-section)
   Original: ~500px total (padding 120×2 + content).
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .testimonial-section {
    min-height: auto;
  }
}

.testimonial-section .testimonial-items .testimonial-content .rich-content p {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

/* ------------------------------------------------------------------
   8. INDEX – NEWS / BLOG SECTION  (.news-section)
   Original: ~700px. Lock card images + text.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .news-section {
    min-height: 700px;
  }

  .news-wrapper .news-single-items .news-image img {
    height: 280px;
    object-fit: cover;
    border-radius: 8px;
  }

  .news-wrapper .news-single-items .news-content h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .news-wrapper .news-single-items .news-content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .news-wrapper .news-right-items .news-thumb img {
    width: 160px;
    height: 120px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
  }

  .news-wrapper .news-right-items .news-content h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   9. ABOUT PAGE – THERAPIST INTRO  (.about-activities-section-2)
   Original: ~750px.
   ------------------------------------------------------------------ */

/* ---- About page therapist image: webkit prefix + object-fit ---- */
.about-activities-wrapper.style-2 .activities-image-items .activities-img {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 517 506"><path fill-rule="evenodd" clip-rule="evenodd" d="M263.922 4.18612C301.057 11.8542 330.531 38.895 360.456 62.3296C386.155 82.4538 403.608 110.097 427.543 132.317C453.817 156.708 493.991 167.862 509.209 200.423C524.345 232.808 513.559 271.13 509.014 306.63C504.535 341.612 502.875 379.069 482.651 407.866C462.647 436.351 429.343 452.254 397.349 465.636C368.593 477.664 336.731 474.837 306.33 481.616C275.676 488.452 247.764 506.317 216.368 505.996C182.833 505.652 151.126 493.109 120.34 479.712C85.0158 464.341 32.7457 458.582 21.9359 421.389C9.82265 379.711 72.6756 344.595 68.5072 301.371C64.3884 258.663 -1.83763 237.206 0.0391374 194.338C1.71465 156.067 52.252 140.271 76.8399 111.042C102.165 80.9374 113.913 37.9228 147.992 18.4578C182.23 -1.09785 225.363 -3.77589 263.922 4.18612Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: cover;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 517 506"><path fill-rule="evenodd" clip-rule="evenodd" d="M263.922 4.18612C301.057 11.8542 330.531 38.895 360.456 62.3296C386.155 82.4538 403.608 110.097 427.543 132.317C453.817 156.708 493.991 167.862 509.209 200.423C524.345 232.808 513.559 271.13 509.014 306.63C504.535 341.612 502.875 379.069 482.651 407.866C462.647 436.351 429.343 452.254 397.349 465.636C368.593 477.664 336.731 474.837 306.33 481.616C275.676 488.452 247.764 506.317 216.368 505.996C182.833 505.652 151.126 493.109 120.34 479.712C85.0158 464.341 32.7457 458.582 21.9359 421.389C9.82265 379.711 72.6756 344.595 68.5072 301.371C64.3884 258.663 -1.83763 237.206 0.0391374 194.338C1.71465 156.067 52.252 140.271 76.8399 111.042C102.165 80.9374 113.913 37.9228 147.992 18.4578C182.23 -1.09785 225.363 -3.77589 263.922 4.18612Z"/></svg>');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: cover;
  overflow: hidden;
  aspect-ratio: 517 / 506;
  position: relative;
  z-index: 9;
  max-width: 580px;
}

.about-activities-wrapper.style-2 .activities-image-items .activities-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.about-activities-wrapper.style-2 .activities-content .about-author {
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-image {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex: 1 1 auto;
  min-width: 0;
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-image .author-image-decorative-circle {
  display: inline-block;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 50%;
  background-color: #efc3ad;
  box-shadow: 0 8px 20px rgba(239, 195, 173, 0.35);
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-image .content {
  min-width: 0;
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-image .content h6 {
  margin-bottom: 8px;
  line-height: 1.35;
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-image .content .rich-content {
  color: var(--text);
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-image .content .rich-content p {
  margin-bottom: 0;
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-icon {
  margin-left: auto;
  flex: 0 0 auto;
}

.about-activities-wrapper.style-2 .activities-content .about-author .author-icon .content span {
  display: block;
  margin-bottom: 4px;
}

@media (max-width: 1199px) {
  .about-activities-wrapper.style-2 .activities-content .about-author {
    align-items: flex-start;
    gap: 16px;
  }

  .about-activities-wrapper.style-2 .activities-content .about-author .author-icon {
    margin-left: 0;
  }
}

@media (min-width: 992px) {
  .about-activities-section-2 .activities-content .section-title h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .about-activities-section-2 .activities-content > p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .about-activities-section-2 .activities-content .icon-items .content h5 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .about-activities-section-2 .activities-content .icon-items .content p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   10. ABOUT PAGE – FEATURE VALUES  (.feature-value-section)
   ------------------------------------------------------------------ */

/* Orta sütun: Ana sayfa hero ile aynı — cta-shape-2.png + SVG maske (feMorphology erode 12), birebir PNG */
.feature-value-items .feature-value-image--cta-shape .about-why-choose-cta-shape-svg {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767.98px) {
  .feature-value-items .feature-value-image--cta-shape .about-why-choose-cta-shape-svg {
    max-width: min(100%, 300px);
  }
}

/* ---- Kart stabilizasyon kuralları ---- */

/* Her kart: ikon üstte sabit, content esnek, min yükseklik tutarlı */
.feature-value-items .value-icon-items {
  align-items: flex-start !important; /* ikon her zaman üste hizalanır, ortalanmaz */
  min-height: 108px;                  /* kısa içerikte bile tutarlı yükseklik */
}

/* İkon kutusu: sabit boyut, küçülmez, üstte kalır */
.feature-value-items .value-icon-items .icon {
  flex-shrink: 0;
  align-self: flex-start;
}

/* İçerik alanı: esnek, taşma önlenir */
.feature-value-items .value-icon-items .content {
  flex: 1 1 0%;
  min-width: 0;   /* flex child'da text-overflow çalışması için zorunlu */
  overflow: hidden;
}

/* Başlık: maksimum 2 satır, daha fazla taşarsa kesilir */
.feature-value-items .value-icon-items .content h5 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  margin-bottom: 8px;
}

/* Açıklama metni: maksimum 4 satır, taşarsa kesilir */
.feature-value-items .value-icon-items .content p,
.feature-value-items .value-icon-items .content .rich-content {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

/* rich-content içindeki p etiketleri için margin sıfırla */
.feature-value-items .value-icon-items .content .rich-content p {
  display: inline;
  margin: 0;
}

@media (min-width: 992px) {
  .feature-value-section .section-title h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Geniş ekranda başlık 1 satır, açıklama 3 satır */
  .feature-value-items .value-icon-items .content h5 {
    -webkit-line-clamp: 2;
  }

  .feature-value-items .value-icon-items .content p,
  .feature-value-items .value-icon-items .content .rich-content {
    -webkit-line-clamp: 3;
  }
}

/* ------------------------------------------------------------------
   11. ABOUT PAGE – TESTIMONIALS 2  (.testimonial-section-2)
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .testimonial-wrapper .testimonial-box-items p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}


/* ------------------------------------------------------------------
   12. ABOUT PAGE – INSTAGRAM BANNER
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .instagram-banner .banner-image img {
    height: 200px;
    object-fit: cover;
  }
}

/* About sayfası instagram kartları: tüm görseller tek oran/ölçü */
.about-instagram-section .instagram-wrapper .instagram-banner-items .banner-image {
  height: clamp(180px, 21vw, 240px) !important;
  overflow: hidden;
  border-radius: 16px;
}

.about-instagram-section .instagram-wrapper .instagram-banner-items .banner-image img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 767px) {
  .about-instagram-section .instagram-wrapper .instagram-banner-items .banner-image {
    height: 210px !important;
  }
}

/* ------------------------------------------------------------------
   13. SERVICE PAGE – CLASS CARDS  (.clases-section)
   Original: margin-top 120px + card structure.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .clases-items {
    min-height: 460px;
  }

  .clases-items .clases-image img {
    height: 230px;
    object-fit: cover;
    border-radius: 8px;
  }

  .clases-items .clases-content h4 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .clases-items .clases-content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   14. SERVICE DETAILS  (.event-details-section)
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .event-details-section .details-image img {
    height: 400px;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
  }

  .event-details-section .event-details-content h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .event-details-section .thumb img {
    height: 250px;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
  }
}

/* ------------------------------------------------------------------
   15. BLOG LIST  (.news-standard)
   ------------------------------------------------------------------ */

/* İki sütun: blog + sağda yapışkan iletişim */
.blog-list-page.fix,
.blog-list-page,
.blog-list-page .container,
.blog-list-page .blog-list-layout,
.blog-list-page .blog-sidebar-col {
  overflow: visible;
}

.blog-list-page .blog-list-layout {
  align-items: flex-start;
}

.blog-list-page .blog-sidebar-col {
  align-self: flex-start;
}

.blog-list-page .blog-main-col .news-standard-wrapper.blog-list-cards {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.blog-list-page .blog-sidebar-sticky {
  position: relative;
}

@media (min-width: 992px) {
  .blog-list-page .blog-sidebar-sticky {
    position: sticky;
    top: 100px;
    z-index: 2;
  }
}

.blog-list-page .blog-sidebar-card {
  background: var(--white);
  border: 1px solid rgba(56, 84, 105, 0.12);
  border-radius: 10px;
  padding: 1.5rem 1.35rem;
  box-shadow: 0 4px 24px rgba(56, 84, 105, 0.06);
}

.blog-list-page .blog-sidebar-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--header);
  margin: 0 0 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(56, 84, 105, 0.1);
}

.blog-list-page .blog-sidebar-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.blog-list-page .blog-sidebar-card__list li {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  margin-bottom: 1.1rem;
}

.blog-list-page .blog-sidebar-card__list li:last-of-type {
  margin-bottom: 0;
}

.blog-list-page .blog-sidebar-card__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(243, 159, 95, 0.12);
  color: var(--theme);
  font-size: 1rem;
}

.blog-list-page .blog-sidebar-card__body {
  min-width: 0;
  flex: 1;
}

.blog-list-page .blog-sidebar-card__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(56, 84, 105, 0.55);
  margin-bottom: 0.2rem;
}

.blog-list-page .blog-sidebar-card__value {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--header);
  text-decoration: none;
  line-height: 1.45;
  word-break: break-word;
}

.blog-list-page .blog-sidebar-card__value:hover {
  color: var(--theme);
}

.blog-list-page .blog-sidebar-card__value--multiline {
  font-weight: 500;
  margin: 0;
}

.blog-list-page .blog-sidebar-card__map {
  margin-top: 1.25rem;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(56, 84, 105, 0.1);
  background: rgba(248, 250, 252, 0.9);
  line-height: 0;
}

.blog-list-page .blog-sidebar-card__map iframe {
  width: 100% !important;
  height: 180px;
  min-height: 160px;
  display: block;
  border: 0 !important;
}

.blog-list-page .blog-sidebar-card__cta.theme-btn {
  margin-top: 0.5rem;
}

.blog-list-page .blog-pagination-nav {
  width: 100%;
  display: flex;
  justify-content: center;
  clear: both;
}

/* Uzman yazıları — minimal daire sayfalama (← 01 02 03 →) */
.blog-list-page .page-nav-wrap.blog-pagination-minimal {
  text-align: center;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
}

.blog-list-page .page-nav-wrap.blog-pagination-minimal ul {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  border: none;
  box-shadow: none;
}

.blog-list-page .page-nav-wrap.blog-pagination-minimal ul li {
  display: inline-flex;
  margin: 0;
}

.blog-list-page .page-nav-wrap.blog-pagination-minimal ul li .page-numbers {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0;
  line-height: 1;
  border-radius: 50%;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  border: 1px solid rgba(56, 84, 105, 0.18);
  background: var(--white);
  color: var(--header);
  margin: 0 !important;
  text-decoration: none;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: none;
}

.blog-list-page .page-nav-wrap.blog-pagination-minimal ul li a.page-numbers:hover {
  background: rgba(56, 84, 105, 0.04);
  border-color: rgba(56, 84, 105, 0.28);
  color: var(--header);
}

.blog-list-page .page-nav-wrap.blog-pagination-minimal ul li .page-numbers.current {
  background: var(--white);
  color: var(--header);
  border-color: var(--header);
  box-shadow: 0 0 0 1px rgba(56, 84, 105, 0.08);
}

.blog-list-page .page-nav-wrap.blog-pagination-minimal ul li .page-numbers--nav i {
  font-size: 14px;
  margin: 0;
}

.blog-list-page .page-nav-wrap.blog-pagination-minimal ul li .page-numbers.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
  background: rgba(248, 250, 252, 0.9);
}

@media (max-width: 767px) {
  .blog-list-page .page-nav-wrap.blog-pagination-minimal ul {
    gap: 8px;
  }

  .blog-list-page .page-nav-wrap.blog-pagination-minimal ul li .page-numbers {
    width: 42px;
    height: 42px;
    min-width: 42px;
    font-size: 14px;
  }
}

@media (min-width: 992px) {
  .news-standard-wrapper .news-standard-items .news-thumb img {
    height: 350px;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
  }

  .news-standard-wrapper .news-standard-items .news-content h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .news-standard-wrapper .news-standard-items .news-content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   16. BLOG DETAILS  (.news-details)
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .blog-post-details .post-featured-thumb {
    height: 450px;
    background-size: cover;
    background-position: center;
    border-radius: 8px;
  }

  .blog-post-details .post-content h3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .blog-post-details .details-image img {
    height: 280px;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
  }
}

/* ------------------------------------------------------------------
   17. CONTACT PAGE  (.contact-section)
   Original: ~700px with form.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .contact-section {
    min-height: 700px;
  }

  .contact-section .contact-info-items .content h3 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* 17b. İletişim sayfası – mobil iletişim kartları responsive */
@media (max-width: 767px) {
  .contact-wrapper-2 .contact-left-items .contact-info-area-2 {
    padding: 24px 18px;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items {
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 14px;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    line-height: 40px;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .icon svg {
    width: 20px;
    height: 20px;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .content {
    flex: 1 1 auto;
    min-width: 0;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .content p {
    font-size: 13px;
    margin-bottom: 3px;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .content h3 {
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-items .content h3 a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .contact-wrapper-2 .contact-left-items .contact-info-area-2 .contact-info-social a {
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 14px;
  }
}

/* ------------------------------------------------------------------
   18. MAP SECTION
   ------------------------------------------------------------------ */

.map-section .googpemap iframe {
  width: 100%;
  height: 450px;
}

@media (max-width: 767px) {
  .map-section .googpemap iframe {
    height: 300px;
  }
}

/* ------------------------------------------------------------------
   19. GLOBAL – Section title protection
   Prevents any section-title from blowing up when admin enters
   very long text.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  .section-title h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
  }

  .section-title span {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------
   20. GLOBAL – Image safety net
   Any img inside a section that doesn't already have explicit
   dimensions gets constrained so it never blows the layout.
   ------------------------------------------------------------------ */

section img,
.breadcrumb-wrapper img {
  max-width: 100%;
  height: auto;
}

/* ------------------------------------------------------------------
   21. Arka plan: yukarı-aşağı / yatay süzülme animasyonlarını kapat
   (.float-bob-y / .float-bob-x tema animasyonları)
   ------------------------------------------------------------------ */

.float-bob-y,
.float-bob-x {
  -webkit-animation: none !important;
  animation: none !important;
}

/* ------------------------------------------------------------------
   22. Footer: üst gökkuşağı dekoru kaldırıldı — boşluğu dengele
   ------------------------------------------------------------------ */

.footer-section .contact-info-area {
  padding-top: 72px !important;
}

@media (max-width: 1199px) {
  .footer-section .contact-info-area {
    padding-top: 60px !important;
  }
}

/* ------------------------------------------------------------------
   22b. Footer: logo — yüklenen görselin doğal boyutu (yükseklik/genişlik sınırı yok)
   Yalnızca sütun dışına taşmayı önlemek için genişlik üst sınırı: konteyner
   ------------------------------------------------------------------ */

/* Logo sütunu: grid genişliğine sığsın (widget-head tema default inline-block) */
.footer-widgets-wrapper .single-footer-widget:first-child .widget-head {
  display: block;
  max-width: 100%;
}

.footer-widgets-wrapper .single-footer-widget .widget-head > a {
  display: inline-block;
  line-height: 0;
  max-width: 100%;
}

.footer-widgets-wrapper .single-footer-widget .widget-head > a > img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

/* ------------------------------------------------------------------
   22c. Footer contact cards (mobile): stable alignment + long text wrap
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
  .footer-section .contact-info-area {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 42px !important;
    align-items: stretch;
    justify-content: initial;
  }

  .footer-section .contact-info-area .contact-info-items {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
    padding-bottom: 18px;
  }

  .footer-section .contact-info-area .contact-info-items .icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    line-height: 40px;
  }

  .footer-section .contact-info-area .contact-info-items .icon svg {
    width: 20px;
    height: 20px;
  }

  .footer-section .contact-info-area .contact-info-items .content {
    flex: 1 1 auto;
    min-width: 0;
  }

  .footer-section .contact-info-area .contact-info-items .content p {
    font-size: 13px;
    margin-bottom: 4px;
  }

  .footer-section .contact-info-area .contact-info-items .content h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .footer-section .contact-info-area .contact-info-items .content h3 a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* ------------------------------------------------------------------
   23. Instagram bölümü: çizgiler metnin solunda ve sağında (üstü çizik değil)
   Metin: kesikli çizgi — başlık — kesikli çizgi
   ------------------------------------------------------------------ */

.instagram-wrapper h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.instagram-wrapper h3::before,
.instagram-wrapper h3::after {
  position: static !important;
  flex: 1 1 0;
  min-width: 24px;
  height: 0 !important;
  border: none !important;
  border-bottom: 1px dashed var(--theme) !important;
  background: none !important;
  content: "" !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

@media (max-width: 1399px) {
  .instagram-wrapper h3::before,
  .instagram-wrapper h3::after {
    display: block !important;
  }
}

/* ------------------------------------------------------------------
   25. HİZMETLER SAYFASI – kartlar (clases-items): ortalama + görünüm
   Tek/az kart sola yapışmasın; gölge, hover, tipografi
   ------------------------------------------------------------------ */

.clases-section .container > .row {
  justify-content: center;
}

.clases-section .clases-items {
  border-radius: 20px;
  overflow: hidden;
  background-color: var(--white);
  border: 1px solid rgba(56, 84, 105, 0.09);
  box-shadow:
    0 4px 6px -1px rgba(56, 84, 105, 0.06),
    0 12px 28px -8px rgba(56, 84, 105, 0.1);
  transition:
    box-shadow 0.35s ease,
    transform 0.35s ease,
    border-color 0.35s ease;
}

.clases-section .clases-items:hover {
  transform: translateY(-5px);
  border-color: rgba(243, 159, 95, 0.35);
  box-shadow:
    0 8px 16px -4px rgba(56, 84, 105, 0.08),
    0 20px 40px -12px rgba(56, 84, 105, 0.14);
}

.clases-section .clases-items .clases-image {
  padding: 22px 22px 0;
}

.clases-section .clases-items .clases-image img {
  border-radius: 14px;
  object-fit: cover;
  aspect-ratio: 16 / 10;
}

.clases-section .clases-items .clases-content {
  text-align: center;
  align-items: center;
}

.clases-section .clases-items .clases-content h4 {
  font-size: clamp(1.15rem, 2.5vw, 1.35rem);
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.clases-section .clases-items .clases-content h4 a {
  color: var(--header);
  transition: color 0.2s ease;
}

.clases-section .clases-items .clases-content p {
  max-width: 26rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;
  color: var(--text);
  opacity: 0.92;
}

.clases-section .clases-items .clases-detail-link {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: 22px;
}

.clases-section .clases-items .clases-detail-link .theme-btn.transparent-2 {
  border-radius: 999px;
  padding: 14px 28px;
  font-weight: 600;
  min-width: min(100%, 200px);
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(243, 159, 95, 0.45);
  background: linear-gradient(180deg, #fff 0%, rgba(255, 248, 242, 0.95) 100%);
  box-shadow: 0 2px 8px rgba(243, 159, 95, 0.12);
}

.clases-section .clases-items .clases-detail-link .theme-btn.transparent-2:hover {
  border-color: var(--theme);
  background: var(--theme);
  color: var(--white);
  box-shadow: 0 6px 20px rgba(243, 159, 95, 0.35);
}

/* ------------------------------------------------------------------
   27. Danışan yorumları – konuşma balonu kartları
   ------------------------------------------------------------------ */


/* ------------------------------------------------------------------
   28. Randevu yapalım (/randevu-yapalim) – paneller + tablo
   ------------------------------------------------------------------ */

.appointment-availability-page .appointment-availability {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.appointment-availability__stack {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media (min-width: 992px) {
  .appointment-availability__stack {
    gap: 2.5rem;
  }
}

/* Üst bilgi: çerçeve / gölge yok */
.appointment-availability__intro {
  padding: 4px 0 8px;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
}

/* Randevu listesi bloğu: çerçeve burada */
.appointment-availability__table-section {
  background: linear-gradient(165deg, rgba(255, 255, 255, 1) 0%, rgba(239, 245, 246, 0.55) 100%);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--box-shadow);
  padding: 24px 20px 26px;
}

@media (min-width: 992px) {
  .appointment-availability__table-section {
    padding: 28px 30px 32px;
  }
}

.appointment-availability__section-title.section-title {
  margin-bottom: 0;
}

.appointment-availability__section-title h2 {
  color: var(--header2);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  line-height: 1.35;
  font-weight: 700;
}

.appointment-availability__body {
  color: var(--text);
  font-size: 17px;
  line-height: 1.75;
}

.appointment-availability__body p {
  margin-bottom: 1rem;
}

.appointment-availability__body p:last-child {
  margin-bottom: 0;
}

.appointment-availability__social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(229, 229, 229, 0.9);
}

.appointment-availability__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--body);
  border: 1px solid var(--border);
  color: var(--header);
  font-size: 1.15rem;
  box-shadow: 0 2px 10px rgba(56, 84, 105, 0.08);
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}

.appointment-availability__social-link:hover {
  color: var(--white);
  background: var(--theme);
  border-color: var(--theme);
  transform: translateY(-2px);
}

.appointment-availability__table-head.section-title {
  margin-bottom: 0;
}

.appointment-availability__table-head h2,
.appointment-availability__table-head .h3 {
  color: var(--header2);
  font-weight: 700;
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
}

.appointment-availability__table-hint {
  font-size: 0.95rem;
  color: var(--text);
  margin: 10px 0 18px;
  line-height: 1.55;
}

.appointment-availability__table-hint.rich-content p {
  margin-bottom: 0.4rem;
  opacity: 0.95;
}

.appointment-availability__table-hint.rich-content p:last-child {
  margin-bottom: 0;
}

.appointment-availability__empty-wrap {
  margin-top: 4px;
}

.appointment-availability__empty {
  padding: 20px 16px;
  text-align: center;
  color: var(--text);
  background: rgba(244, 238, 229, 0.45);
  border-radius: 16px;
  border: 1px dashed var(--border);
}

/* ---- Takvim: Navigasyon ---- */
.appt-calendar {
  margin-top: 4px;
}

.appt-calendar__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 20px;
}

.appt-calendar__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--body);
  color: var(--header2);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(56, 84, 105, 0.06);
}

.appt-calendar__nav-btn:hover:not(:disabled) {
  background: var(--theme);
  color: var(--white);
  border-color: var(--theme);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(243, 159, 95, 0.25);
}

.appt-calendar__nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.appt-calendar__nav-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  min-width: 90px;
  text-align: center;
  letter-spacing: 0.01em;
}

/* ---- Takvim: Grid ---- */
.appt-calendar__grid-wrap {
  overflow: hidden;
}

.appt-calendar__grid {
  display: flex;
  gap: 12px;
}

/* ---- Takvim: Gün kolonu ---- */
.appt-calendar__day {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(244, 238, 229, 0.35) 100%);
  box-shadow: 0 4px 16px rgba(56, 84, 105, 0.06);
  overflow: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.appt-calendar__day--hidden {
  display: none !important;
}

.appt-calendar__day--today {
  border-color: rgba(243, 159, 95, 0.55);
  box-shadow: 0 4px 20px rgba(243, 159, 95, 0.13);
}

/* ---- Takvim: Gün başlığı ---- */
.appt-calendar__day-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 16px 10px 14px;
  background: linear-gradient(180deg, rgba(244, 238, 229, 0.7) 0%, rgba(255, 255, 255, 0.4) 100%);
  border-bottom: 1px solid var(--border);
  text-align: center;
}

.appt-calendar__day--today .appt-calendar__day-header {
  background: linear-gradient(180deg, rgba(243, 159, 95, 0.16) 0%, rgba(244, 238, 229, 0.5) 100%);
  border-bottom-color: rgba(243, 159, 95, 0.35);
}

.appt-calendar__day-label {
  display: block;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: var(--header2);
  line-height: 1.3;
}

.appt-calendar__day-label--today {
  color: var(--theme);
  font-weight: 800;
}

.appt-calendar__date-label {
  display: block;
  font-size: 12px;
  color: var(--text);
  opacity: 0.8;
  line-height: 1.3;
  white-space: nowrap;
}

/* ---- Takvim: Saat slotları ---- */
.appt-calendar__slots {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 10px 16px;
  flex: 1;
}

.appt-calendar__slot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.3;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  cursor: default;
}

.appt-calendar__slot--free {
  background: rgba(112, 166, 177, 0.13);
  border: 1px solid rgba(112, 166, 177, 0.4);
  color: #3b6e77;
}

.appt-calendar__slot--free:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 12px rgba(112, 166, 177, 0.18);
}

.appt-calendar__slot--busy {
  background: rgba(92, 112, 126, 0.07);
  border: 1px solid rgba(229, 229, 229, 0.8);
  color: var(--text);
  opacity: 0.55;
}

.appt-calendar__slot--busy .appt-calendar__slot-time {
  text-decoration: line-through;
  text-decoration-color: rgba(92, 112, 126, 0.4);
}

.appt-calendar__slot-time {
  font-weight: 600;
  font-size: 13px;
  white-space: nowrap;
}

.appt-calendar__slot-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  white-space: nowrap;
  padding: 3px 8px;
  border-radius: 999px;
  line-height: 1.2;
}

.appt-calendar__slot--free .appt-calendar__slot-badge {
  background: rgba(112, 166, 177, 0.2);
  color: #4a7a82;
}

.appt-calendar__slot--busy .appt-calendar__slot-badge {
  background: rgba(92, 112, 126, 0.1);
  color: var(--text);
}

.appt-calendar__no-slot {
  display: block;
  text-align: center;
  padding: 18px 8px;
  font-size: 13px;
  color: var(--text);
  opacity: 0.5;
  font-style: italic;
}

/* ---- Takvim: Legend ---- */
.appt-calendar__legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(229, 229, 229, 0.7);
}

.appt-calendar__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
}

.appt-calendar__legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.appt-calendar__legend-dot--free {
  background: rgba(112, 166, 177, 0.5);
  border: 1px solid rgba(112, 166, 177, 0.7);
}

.appt-calendar__legend-dot--busy {
  background: rgba(92, 112, 126, 0.2);
  border: 1px solid rgba(92, 112, 126, 0.35);
}

.appointment-availability__cta {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(229, 229, 229, 0.85);
  text-align: center;
}

/* ---- Takvim: Responsive ---- */
@media (max-width: 575.98px) {
  .appt-calendar__grid {
    gap: 8px;
  }

  .appt-calendar__day-header {
    padding: 12px 6px 10px;
  }

  .appt-calendar__day-label {
    font-size: 13px;
  }

  .appt-calendar__date-label {
    font-size: 11px;
  }

  .appt-calendar__slots {
    padding: 10px 6px 12px;
    gap: 6px;
  }

  .appt-calendar__slot {
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 8px 8px;
    text-align: center;
  }

  .appt-calendar__slot-time {
    font-size: 12px;
  }

  .appt-calendar__slot-badge {
    font-size: 10px;
    align-self: center;
  }

  .appt-calendar__nav {
    gap: 10px;
    margin-bottom: 14px;
  }

  .appt-calendar__nav-btn {
    width: 36px;
    height: 36px;
    font-size: 12px;
  }

  .appt-calendar__nav-label {
    font-size: 12px;
  }

  .appointment-availability__table-section {
    padding: 18px 14px 20px;
  }

  .appointment-availability__table-hint {
    margin-bottom: 14px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .appt-calendar__slot {
    padding: 9px 10px;
  }

  .appointment-availability__table-section {
    padding: 20px 16px 22px;
  }
}

@media (min-width: 992px) {
  .appt-calendar__grid {
    gap: 14px;
  }

  .appt-calendar__day-header {
    padding: 18px 12px 16px;
  }

  .appt-calendar__slots {
    padding: 16px 12px 18px;
    gap: 9px;
  }

  .appt-calendar__slot {
    padding: 11px 14px;
  }
}

/* ------------------------------------------------------------------
   Anasayfa blog — yazar alanında fotoğraf yerine krem daire (görsel yer tutucu)
   ------------------------------------------------------------------ */

.home-blog-author-section .post-items .thumb {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
}

.home-blog-author-section .post-author-items .post-items .thumb {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
}

.home-blog-author-section .home-blog-author-dot {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #f4ecd8;
  box-sizing: border-box;
}

/* ------------------------------------------------------------------
   Anasayfa blog — soldaki 1 kart ve sağdaki 2 kart aynı uzunlukta
   ------------------------------------------------------------------ */
.home-blog-author-section .home-blog-news-row {
  align-items: stretch !important;
}

.home-blog-author-section .home-blog-left-column,
.home-blog-author-section .home-blog-right-column {
  display: flex;
  flex-direction: column;
}

.home-blog-author-section .home-blog-left-column .news-single-items {
  flex: 1 1 auto;
  min-height: 420px;
}

.home-blog-author-section .home-blog-left-column .news-single-items .news-image img {
  width: 100%;
  min-height: 250px;
  object-fit: cover;
}

.home-blog-author-section .home-blog-left-column .news-single-items .news-content h3 {
  line-height: 1.35;
}

.home-blog-author-section .home-blog-right-column {
  gap: 24px;
}

.home-blog-author-section .home-blog-right-column .news-right-items,
.home-blog-author-section .home-blog-right-column .news-right-items:not(:last-child) {
  margin-bottom: 0;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card {
  flex: 1 1 auto;
  min-height: 420px;
  padding: 24px;
  gap: 22px;
  align-items: center;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-thumb {
  flex: 0 0 210px;
  max-width: 210px;
  border-radius: 8px;
  overflow: hidden;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-thumb img {
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: initial;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-content ul {
  margin-bottom: 14px;
  gap: 10px 18px;
  flex-wrap: wrap;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-content h3 {
  margin-bottom: 14px;
  line-height: 1.35;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-content h3 a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-content .post-items {
  margin-top: 18px;
  align-self: flex-start;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-content .theme-btn {
  margin-top: 14px;
  align-self: flex-start;
  padding: 14px 24px;
}

@media (max-width: 1199.98px) {
  .home-blog-author-section .home-blog-left-column .news-single-items {
    min-height: 360px;
  }

  .home-blog-author-section .home-blog-left-column .news-single-items .news-image img {
    min-height: 220px;
  }

  .home-blog-author-section .home-blog-right-column {
    gap: 20px;
  }

  .home-blog-author-section .home-blog-right-column .home-blog-right-card {
    min-height: 360px;
    padding: 22px;
    gap: 18px;
  }

  .home-blog-author-section .home-blog-right-column .home-blog-right-card .news-thumb {
    flex-basis: 180px;
    max-width: 180px;
  }
}

@media (max-width: 767.98px) {
  .home-blog-author-section .home-blog-left-column .news-single-items,
  .home-blog-author-section .home-blog-right-column .home-blog-right-card {
    min-height: 0;
  }

  .home-blog-author-section .home-blog-right-column .home-blog-right-card {
    padding: 20px;
    gap: 16px;
  }

  .home-blog-author-section .home-blog-right-column .home-blog-right-card .news-thumb {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .home-blog-author-section .home-blog-right-column .home-blog-right-card .news-thumb img {
    min-height: 0;
  }
}

/* ------------------------------------------------------------------
   NAVBAR FIX: Masaüstü menüyü mobilde gizle (MeanMenu yerine CSS)
   ------------------------------------------------------------------ */
@media (max-width: 1199px) {
  .header-main .main-menu {
    display: none;
  }
}

/* ------------------------------------------------------------------
   NAVBAR FIX: Offcanvas mobil menü stili
   ------------------------------------------------------------------ */
.offcanvas__info .mobile-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.offcanvas__info .mobile-menu ul li {
  border-bottom: 1px solid var(--border, #E5E5E5);
}

.offcanvas__info .mobile-menu ul li:last-child {
  border-bottom: none;
}

.offcanvas__info .mobile-menu ul li a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 4px;
  font-size: 16px;
  font-weight: 600;
  color: var(--header, #385469);
  text-decoration: none;
  transition: color 0.3s ease;
}

.offcanvas__info .mobile-menu ul li a:hover,
.offcanvas__info .mobile-menu ul li a:active {
  color: var(--theme, #F39F5F);
}

.offcanvas__info .mobile-contact-panel {
  border-top: 1px solid var(--border, #E5E5E5);
  margin-top: auto;
  padding-top: 16px;
}

.offcanvas__info .mobile-contact-panel__title {
  margin: 0 0 10px 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--header, #385469);
}

.offcanvas__info .mobile-contact-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.offcanvas__info .mobile-contact-panel__list li {
  display: grid;
  grid-template-columns: 18px 56px 1fr;
  align-items: start;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(56, 84, 105, 0.18);
}

.offcanvas__info .mobile-contact-panel__list li:last-child {
  border-bottom: none;
}

.offcanvas__info .mobile-contact-panel__list li > i {
  color: var(--theme, #F39F5F);
  margin-top: 3px;
}

.offcanvas__info .mobile-contact-panel__list li > span {
  font-size: 13px;
  font-weight: 600;
  color: #6a7a86;
}

.offcanvas__info .mobile-contact-panel__list li > a {
  color: var(--header, #385469);
  text-decoration: none;
  line-height: 1.45;
  word-break: break-word;
  margin-top: 2px;
}

.offcanvas__info .mobile-contact-panel__list li > a:hover {
  color: var(--theme, #F39F5F);
}

.offcanvas__info .mobile-contact-panel__appointment-btn {
  margin-top: 12px;
  min-height: 46px;
}

.offcanvas__info .mobile-contact-panel__list li:last-child > a {
  margin-top: 4px;
}

/* ------------------------------------------------------------------
   NAVBAR FIX: Tek scroll container + stabil mobil offcanvas
   ------------------------------------------------------------------ */
@media (max-width: 1199px) {
  .offcanvas__info {
    height: 100%;
    min-height: 100dvh;
    overflow: hidden;
    touch-action: pan-y;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.24s;
    transition-timing-function: ease-out;
  }

  .offcanvas__wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    box-sizing: border-box;
    touch-action: pan-y;
  }

  .offcanvas__wrapper .offcanvas__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scrollbar-width: thin;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
  }

  .offcanvas__wrapper .offcanvas__content::-webkit-scrollbar {
    width: 4px;
  }

  .offcanvas__wrapper .offcanvas__content::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.18);
    border-radius: 4px;
  }

  .offcanvas__overlay.overlay-open {
    z-index: 99990;
    pointer-events: auto;
    touch-action: none;
  }

  .offcanvas__info.info-open {
    z-index: 99999;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
  }

  .offcanvas__overlay {
    pointer-events: none;
  }

  .header__hamburger .sidebar__toggle {
    border: 0;
    background: transparent;
    min-width: 48px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
  }
}

/* ------------------------------------------------------------------
   SSS (FAQ) Accordion — footer öncesi section
   ------------------------------------------------------------------ */

.faq-section {
  background: linear-gradient(180deg, rgba(244, 238, 229, 0.3) 0%, rgba(255, 255, 255, 0.6) 100%);
}

.faq-accordion {
  max-width: 860px;
  margin: 0 auto;
}

.faq-accordion__item {
  border-bottom: 1px solid var(--border);
}

.faq-accordion__item:first-child {
  border-top: 1px solid var(--border);
}

.faq-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 22px 4px;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  transition: color 0.25s ease;
}

.faq-accordion__question {
  font-family: "Source Sans 3", sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  font-weight: 600;
  line-height: 1.45;
  color: var(--header2);
  transition: color 0.25s ease;
}

.faq-accordion__item--active .faq-accordion__question {
  color: var(--theme);
}

/* + / - ikonu */
.faq-accordion__icon {
  position: relative;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--border);
  transition: border-color 0.25s ease, background 0.25s ease;
}

.faq-accordion__item--active .faq-accordion__icon {
  border-color: var(--theme);
  background: rgba(243, 159, 95, 0.08);
}

.faq-accordion__icon-bar {
  position: absolute;
  background: var(--header2);
  border-radius: 2px;
  transition: transform 0.3s ease, background 0.25s ease;
}

.faq-accordion__icon-bar--h {
  width: 12px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.faq-accordion__icon-bar--v {
  width: 2px;
  height: 12px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.faq-accordion__item--active .faq-accordion__icon-bar {
  background: var(--theme);
}

.faq-accordion__item--active .faq-accordion__icon-bar--v {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

/* Panel / cevap */
.faq-accordion__panel {
  overflow: hidden;
}

.faq-accordion__panel[hidden] {
  display: none;
}

.faq-accordion__answer {
  padding: 0 4px 24px 4px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--text);
}

.faq-accordion__answer p {
  margin-bottom: 0.75rem;
}

.faq-accordion__answer p:last-child {
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 767.98px) {
  .faq-accordion__trigger {
    padding: 18px 2px;
    gap: 12px;
  }

  .faq-accordion__answer {
    padding: 0 2px 20px 2px;
    font-size: 14px;
  }

  .faq-accordion__icon {
    width: 24px;
    height: 24px;
  }

  .faq-accordion__icon-bar--h {
    width: 10px;
  }

  .faq-accordion__icon-bar--v {
    height: 10px;
  }
}

/* ------------------------------------------------------------------
   24. Responsive audit fixes (hero + global overflow guards)
   ------------------------------------------------------------------ */

/* Horizontal scroll oluşmasını engelle */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Hero/slider alanı için Safari-MacBook dahil stabil yükseklik hesabı */
.hero-1 {
  isolation: isolate;
}

.hero-1 > .container {
  width: 100%;
  min-width: 0;
}

.hero-1 .row {
  min-width: 0;
}

.hero-1 .hero-content,
.hero-1 .hero-image {
  min-width: 0;
}

.hero-1 .hero-image.hero-image--cta-shape {
  width: 100%;
}

.hero-1 .hero-image.hero-image--cta-shape .hero-cta-shape-svg {
  width: min(100%, 680px);
  max-width: 100%;
  height: auto;
  aspect-ratio: 680 / 560;
}

@media (min-width: 992px) {
  .hero-1 {
    min-height: max(620px, calc(100svh - 110px));
    padding-top: clamp(40px, 7vh, 90px);
    padding-bottom: clamp(40px, 7vh, 90px);
  }

  .hero-1 .hero-image.hero-image--cta-shape .hero-cta-shape-svg {
    max-height: min(74svh, 560px);
  }
}

@media (min-width: 992px) and (max-width: 1280px) {
  .hero-1 .hero-content h1 {
    font-size: clamp(2.2rem, 3.6vw, 3.2rem);
  }

  .hero-1 .hero-content .hero-button {
    gap: 16px;
    margin-top: 32px;
    flex-wrap: wrap;
  }
}

@media (max-width: 1024px) {
  .hero-1 .bottom-shape {
    pointer-events: none;
  }
}

/* Navbar ve içerik üst üste binmesini engelle */
main[role="main"] {
  min-width: 0;
}

.header-1 .header-main .header-right {
  min-width: 0;
}

@media (max-width: 575px) {
  .header-1 .header-main .header-left .logo .dkt-navbar-brand {
    gap: 8px;
    flex-wrap: nowrap;
  }

  .dkt-navbar-brand__title {
    max-width: min(48vw, 11rem);
  }
}

/* Kart ve metin blokları */
.program-box-items,
.news-single-items,
.news-right-items,
.testimonial-items,
.contact-content,
.contact-left-items {
  min-width: 0;
}

.program-box-items .program-content,
.news-content,
.testimonial-content {
  overflow-wrap: anywhere;
}

.home-blog-author-section .home-blog-right-column .home-blog-right-card .news-thumb img,
.home-blog-author-section .home-blog-left-column .news-single-items .news-image img {
  object-fit: cover;
}

/* Hero maskeli admin görselinde kalite/kadraj dengesini koru */
.hero-1 .hero-image.hero-image--cta-shape {
  overflow: visible;
}

.hero-1 .hero-image.hero-image--cta-shape .hero-cta-shape-svg {
  width: min(100%, 680px);
  max-width: 680px;
  height: auto;
  aspect-ratio: 680 / 560;
  shape-rendering: geometricPrecision;
}

@media (min-width: 992px) and (max-width: 1400px) {
  .hero-1 .hero-image.hero-image--cta-shape .hero-cta-shape-svg {
    width: min(100%, 650px);
  }
}

@media (max-width: 991px) {
  .hero-1 .hero-image.hero-image--cta-shape .hero-cta-shape-svg {
    width: min(100%, 560px);
  }
}

/* Form ve buton taşmaları */
.contact-form-items .theme-btn,
.post-author-items .theme-btn {
  max-width: 100%;
  white-space: normal;
}

.contact-form-items input,
.contact-form-items textarea {
  min-width: 0;
}

/* Footer alt satırının küçük ekranlarda taşmaması */
@media (max-width: 991.98px) {
  .footer-bottom .footer-wrapper {
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center !important;
    text-align: center;
  }
}
