/* ============================================================
   PHYSEO — main stylesheet
   ============================================================ */

/* Local Custom Fonts */
@font-face {
  font-family: 'Mogace';
  src: url('assets/fonts/mogace/Mogace.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-Italic.otf') format('opentype');
  font-weight: 400;
  
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-MediumItalic.otf') format('opentype');
  font-weight: 500;
  
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-SemiBoldItalic.otf') format('opentype');
  font-weight: 600;
  
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-BoldItalic.otf') format('opentype');
  font-weight: 700;
  
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('assets/fonts/cormorant/CormorantGaramond-LightItalic.otf') format('opentype');
  font-weight: 300;
  
}

body {
  font-family: 'Poppins', sans-serif;
  background: #ede5d5;
  color: #0E2C37;
}

.font-serif {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  letter-spacing: -.005em;
}

.italic-serif {
  font-family: 'Poppins', sans-serif;
  
  font-weight: 700;
  letter-spacing: -.01em;
}

.script {
  font-family: 'Caveat', cursive;
}

/* Poppins Font Styles */
.poppins-thin {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.poppins-extralight {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.poppins-black {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  
}

.poppins-extralight-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  
}

.poppins-light-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  
}

.poppins-regular-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  
}

.poppins-medium-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  
}

.poppins-semibold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  
}

.poppins-bold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  
}

.poppins-extrabold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  
}

.poppins-black-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  
}

/* ---- TOP BAR ---- */
.top-bar {
  background: #0E2C37;
  color: #fff;
  font-family: 'Lato', sans-serif;
}

.top-bar-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  color: #fff;
  font-family: 'Lato', sans-serif;
}

.top-bar a {
  color: #fff;
  transition: color .25s;
}

.top-bar a:hover {
  color: #004E5B;
}

.top-bar i {
  font-size: 18px;
}

.top-bar .top-bar-inner>div:last-child {
  gap: 18px;
}

.top-bar .top-bar-inner>div:last-child a i {
  font-size: 20px;
}

/* ---- BUTTON ---- */
.btn-pill {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight: 500;
  font-size: 14px;
  background: #004E5B;
  color: #fff;
  transition: all .3s ease;
}

.btn-pill .ico {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #fff;
  color: #003A45;
  display: grid;
  place-items: center;
  font-size: 11px;
  transition: transform .35s ease;
}

.btn-pill:hover {
  background: #003A45;
}

.btn-pill:hover .ico {
  transform: rotate(-45deg);
}

.btn-pill-dark {
  background: #0E2C37;
}

.btn-pill-dark .ico {
  color: #0E2C37;
}

.btn-pill-dark:hover {
  background: #004E5B;
}

.btn-pill-dark:hover .ico {
  background: #0E2C37;
  color: #fff;
}

/* ---- HEADER / NAV (white floating pill) ---- */
.header-wrap {
  position: absolute;
  top: 24px;
  /* small inset from top of hero so pill looks like it floats */
  left: 0;
  right: 0;
  z-index: 40;
}

.header-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
}

.nav-pill {
  background: #fff;
  border-radius: 999px;
  padding: 10px 18px 10px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 18px 40px -18px rgba(14, 44, 55, .35);
}

.nav-pill .brand {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-shrink: 0;
}

.nav-pill .brand .brand-icon {
  width: 36px;
  height: 36px;
}

.nav-pill .brand .brand-icon img,
.nav-pill .brand .brand-icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.logo-custom {
  height: 3.5rem;
}

.logo-light {
  filter: brightness(0) invert(1);
}

/* Nav links inside pill */
.nav>a,
.nav>.has-sub>span {
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  color: #0E2C37;
  font-weight: 500;
  transition: color .25s;
  padding: 22px 0;
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.nav>a:hover,
.nav>a.active,
.nav>.has-sub:hover>span {
  color: #004E5B;
}

.nav>a.active::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 14px;
  width: 22px;
  height: 2px;
  background: #004E5B;
}

/* dropdown */
.has-sub {
  position: relative;
}

.has-sub .chev {
  font-size: 10px;
  transition: transform .3s;
}

.has-sub:hover .chev {
  transform: rotate(180deg);
}

.submenu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border-radius: 12px;
  padding: 10px;
  box-shadow: 0 25px 50px -15px rgba(14, 44, 55, .25);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all .3s ease;
  z-index: 70;
}

.has-sub:hover .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.submenu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 8px;
  font-size: 14px;
  color: #0E2C37;
  transition: all .25s;
  font-family: 'Poppins', sans-serif;
}

.submenu a i {
  color: #004E5B;
  width: 16px;
  font-size: 12px;
}

.submenu a:hover {
  background: #f4efe1;
  color: #004E5B;
  padding-left: 18px;
}

/* Mobile hamburger button */
.mobile-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #fff;
  align-items: center;
  justify-content: center;
  color: #0E2C37;
  border: 0;
  cursor: pointer;
}

.mobile-toggle i {
  font-size: 18px;
}

/* Mobile menu panel */
.mobile-menu {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: 16px;
  right: 16px;
  background: #fff;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 25px 50px -15px rgba(14, 44, 55, .3);
  z-index: 50;
}

.mobile-menu.open {
  display: block;
}

.mobile-menu a,
.mobile-menu .m-group>.m-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  color: #0E2C37;
  font-weight: 500;
  cursor: pointer;
}

.mobile-menu a:hover,
.mobile-menu .m-group>.m-head:hover {
  background: #f4efe1;
  color: #004E5B;
}

.mobile-menu .m-sub {
  padding-left: 14px;
  display: none;
}

.mobile-menu .m-group.open .m-sub {
  display: block;
}

.mobile-menu .m-group.open .m-head i {
  transform: rotate(180deg);
}

.mobile-menu .m-head i {
  transition: transform .3s;
  font-size: 11px;
}

.mobile-menu .m-cta {
  margin-top: 8px;
}

.mobile-menu .m-cta .btn-pill {
  width: 100%;
  justify-content: center;
}

/* Mobil dil değiştirici (bayraklar) */
.mobile-menu .m-lang {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(14, 44, 55, .1);
}

.mobile-menu .m-lang-item {
  flex: 1;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(14, 44, 55, .12);
  font-weight: 600;
}

.mobile-menu .m-lang-item img {
  width: 20px;
  height: 20px;
  border-radius: 3px;
  object-fit: cover;
}

.mobile-menu .m-lang-item.active,
.mobile-menu .m-lang-item.active:hover {
  background: #004E5B;
  border-color: #004E5B;
  color: #fff;
}

/* Masaüstü dil değiştirici bayrağı */
.lang-flag {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: cover;
  display: inline-block;
}

@media (max-width: 1023px) {
  .top-bar-inner {
    padding: 10px 18px;
    flex-wrap: wrap;
    gap: 8px;
  }

  .top-bar-inner a,
  .top-bar-inner a i {
    font-size: 12px !important;
  }

  .header-wrap {
    top: 16px;
  }

  .header-inner {
    padding: 0 14px;
  }

  .nav-pill {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    padding: 6px 6px 6px 18px;
    gap: 12px;
  }

  .mobile-toggle {
    display: inline-flex;
  }

  .nav-pill .btn-pill {
    display: none;
  }
}

/* ---- HERO SLIDER ---- */
.hero-swiper {
  position: relative;
  height: 720px;
}

.hero-slide {
  position: relative;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(237, 229, 213, .78) 0%, rgba(237, 229, 213, .4) 42%, rgba(237, 229, 213, 0) 78%);
}

.hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(237, 229, 213, .0) 65%, rgba(237, 229, 213, 1) 100%);
  pointer-events: none;
}

/* ---- HERO — mobil ----
 * Slider görsellerinde özne (Dr. Cengiz) sağ ~%78'de duruyor; sol taraf
 * masaüstünde metin için bilerek koyu. Mobilde 'center' kırpması özneyi
 * çerçeve dışında bırakıyordu. Burada arka planı sağa hizalayıp özneyi
 * görünür kılıyor, sol-ağırlıklı yatay örtüyü ise metnin okunaklı kalması
 * için yumuşak dikey degrade + hafif blur ile değiştiriyoruz. */
@media (max-width: 767px) {
  .hero-slide {
    background-position: 78% center; /* özneyi (sağdaki kişi) çerçevede tut */
  }

  .hero-slide::before {
    background: linear-gradient(180deg,
      rgba(237, 229, 213, .70) 0%,
      rgba(237, 229, 213, .42) 44%,
      rgba(237, 229, 213, .74) 100%);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
  }
}

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

/* Slide content animations — driven by swiper-slide-active class */
.hero-slide .anim {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .9s ease, transform .9s ease;
}

.swiper-slide-active .anim {
  opacity: 1;
  transform: translateY(0);
}

.swiper-slide-active .anim.d1 {
  transition-delay: .15s;
}

.swiper-slide-active .anim.d2 {
  transition-delay: .35s;
}

.swiper-slide-active .anim.d3 {
  transition-delay: .55s;
}

.swiper-slide-active .anim.d4 {
  transition-delay: .75s;
}

.underline-curve {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='14' viewBox='0 0 200 14'%3E%3Cpath d='M2 9 Q 60 1, 110 5 T 198 4' stroke='%23FFC500' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 12px;
  padding-bottom: 12px;
}

/* Vertical pagination dots */
.hero-pagination {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 14px;
  z-index: 10;
}

.hero-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(14, 44, 55, .3);
  opacity: 1;
  transition: all .3s ease;
  margin: 0 !important;
}

.hero-pagination .swiper-pagination-bullet-active {
  background: #004E5B;
  width: 10px;
  height: 28px;
  border-radius: 999px;
}

/* Arrow buttons */
.hero-nav {
  position: absolute;
  bottom: 36px;
  right: 36px;
  display: flex;
  gap: 10px;
  z-index: 10;
}

.hero-nav button {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #fff;
  color: #0E2C37;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 30px -10px rgba(14, 44, 55, .35);
  transition: all .3s;
}

.hero-nav button:hover {
  background: #004E5B;
  color: #fff;
}

/* ---- SECTION TAG ---- */
.tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 2.2px;
  font-weight: 700;
  color: #004E5B;
  font-family: 'Poppins', sans-serif;
}

.tag::before,
.tag::after {
  content: "";
  width: 22px;
  height: 1px;
  background: #004E5B;
}

/* line + dot variant (no trailing line) */
.tag.tag-dot::after {
  display: none;
}

.tag.tag-dot::before {
  width: 34px;
}

.tag.tag-dot .dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #004E5B;
  flex: 0 0 auto;
}

/* ---- 18+ BADGE ---- */
.ring-badge {
  width: 130px;
  height: 130px;
  border-radius: 999px;
  background: #0E2C37;
  color: #fff;
  display: grid;
  place-items: center;
  text-align: center;
  box-shadow: 0 0 0 8px rgba(0, 78, 91, .18);
  position: relative;
}

.ring-badge::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: 999px;
  border: 1px dashed #004E5B;
  animation: spin 22s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* ---- THERAPY CARDS (dark section) ---- */
.therapy-card {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  height: 540px;
  box-shadow: 0 25px 40px -20px rgba(0, 0, 0, .5);
}

.therapy-card .cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}

.therapy-card:hover .cover {
  transform: scale(1.07);
}

.therapy-card .gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(14, 44, 55, .92) 100%);
}

/* Top-right circular action button */
.therapy-card .therapy-action {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: #fff;
  color: #004E5B;
  display: grid;
  place-items: center;
  font-size: 14px;
  z-index: 4;
  box-shadow: 0 8px 18px -6px rgba(0, 0, 0, .25);
  transition: all .3s ease;
}

.therapy-card .therapy-action:hover {
  background: #004E5B;
  color: #fff;
  transform: rotate(-45deg);
}

/* Title block at bottom */
.therapy-card .therapy-title {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 34px;
  line-height: 1.1;
  z-index: 3;
}

.therapy-card .therapy-title::after {
  content: "";
  display: block;
  width: 90px;
  height: 1px;
  background: rgba(255, 255, 255, .35);
  margin-top: 14px;
}

/* Swiper customization */
.therapy-swiper {
  padding-bottom: 50px !important;
}

.therapy-swiper .swiper-pagination {
  bottom: 0 !important;
}

.therapy-swiper .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, .25);
  opacity: 1;
  transition: all .3s;
}

.therapy-swiper .swiper-pagination-bullet-active {
  background: #004E5B !important;
  width: 28px;
  border-radius: 4px;
}

.nav-arrows {
  display: flex;
  gap: 10px;
}

.nav-arrows button {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .18);
  color: #fff;
  display: grid;
  place-items: center;
  transition: all .3s;
}

.nav-arrows button:hover {
  background: #004E5B;
  border-color: #004E5B;
}

/* ---- EMPOWERING ACCORDION ---- */
.acc-item {
  background: #e4dac4;
  border-radius: 22px;
  overflow: hidden;
  transition: background-color .3s ease;
  box-shadow: 0 10px 24px -18px rgba(14, 44, 55, .25);
}

.acc-item.open {
  background: #ddd0b3;
}

.acc-head {
  padding: 22px 26px;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 22px;
  cursor: pointer;
}

.acc-ico {
  width: 50px;
  height: 50px;
  border-radius: 999px;
  background: #004E5B;
  color: #fff;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 18px;
  transition: transform .35s ease;
}

.acc-item.open .acc-ico {
  transform: rotate(-12deg) scale(1.05);
}

.acc-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.2;
  color: #0E2C37;
}

.acc-desc {
  font-size: 13px;
  color: #0E2C3799;
  max-width: 380px;
  line-height: 1.55;
  display: none;
}

@media (min-width: 1024px) {
  .acc-desc {
    display: block;
  }
}

.acc-toggle {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #ede5d5;
  color: #0E2C37;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all .35s ease;
  flex-shrink: 0;
}

.acc-item:hover .acc-toggle {
  background: #fff;
}

.acc-item.open .acc-toggle {
  background: #004E5B;
  color: #fff;
}

/* Açık/kapalı göstergesi: kapalıyken +, açıkken − (ikon döndürülmez,
   döndürülünce "+" görsel olarak "×" hâline geliyordu). */
.acc-toggle i::before {
  content: "\f067"; /* fa-plus */
}

.acc-item.open .acc-toggle i::before {
  content: "\f068"; /* fa-minus */
}

.acc-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s cubic-bezier(.4, 0, .2, 1);
}

.acc-item.open .acc-body {
  grid-template-rows: 1fr;
}

.acc-body-inner {
  overflow: hidden;
  min-height: 0;
}

.acc-content {
  padding: 0 26px 26px 26px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* Yayın listeleri (Hakkımızda / About akordeonu).
   Liste işareti padding kutusunun DIŞINDA durduğu için, kaydırılabilir
   konteynerde iki haneli numaraların ilk hanesi kırpılıyordu (20 → 0).
   Ek sol boşluk numarayı tamamen içeri alır. */
.pub-list {
  padding-left: 2.4rem;
}

.pub-list > li::marker {
  color: #0E2C37;
  font-variant-numeric: tabular-nums;
}

/* Makale/bildiri adları kalın — künyenin geri kalanından ayrışsın. */
.pub-list strong {
  font-weight: 600;
  color: #0E2C37;
}

.acc-img {
  border-radius: 18px;
  overflow: hidden;
  height: 360px;
  width: 100%;
}

@media (max-width: 767px) {
  .acc-img {
    height: 220px;
  }
}

.acc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}

.acc-item.open .acc-img img {
  transform: scale(1.04);
}

.acc-text {
  color: #0E2C37cc;
  font-size: 14px;
  line-height: 1.7;
}

.acc-text h4 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  color: #0E2C37;
  font-size: 22px;
  margin-bottom: 10px;
}

.acc-text .acc-features {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 18px;
}

.acc-text .acc-features span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.acc-text .acc-features i {
  color: #004E5B;
  font-size: 11px;
}

/* ---- WHY STAND OUT ---- */
.progress-row {
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.progress-bar {
  height: 4px;
  background: rgba(255, 255, 255, .15);
  border-radius: 99px;
  overflow: hidden;
  position: relative;
}

.progress-bar>span {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #004E5B;
  border-radius: 99px;
  transition: width 1.4s cubic-bezier(.4, 0, .2, 1);
}

.play-btn {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: #004E5B;
  color: #0E2C37;
  display: grid;
  place-items: center;
  box-shadow: 0 0 0 8px rgba(0, 78, 91, .25);
  position: absolute;
  left: 50%;
  bottom: -32px;
  transform: translateX(-50%);
}

.play-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  box-shadow: 0 0 0 0 rgba(0, 78, 91, .4);
  animation: ring 1.6s ease-out infinite;
}

@keyframes ring {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 78, 91, .5);
  }

  100% {
    box-shadow: 0 0 0 24px rgba(0, 78, 91, 0);
  }
}

/* ---- APPOINTMENT FORM ---- */
.appointment-form {
  background: #eef2ec;
  border-radius: 30px;
  padding: 34px;
  box-shadow: 0 30px 60px -35px rgba(14, 44, 55, .4);
}

.af-field {
  width: 100%;
  background: #fff;
  border: 1px solid rgba(14, 44, 55, .07);
  border-radius: 16px;
  padding: 18px 22px;
  font-size: 14px;
  color: #0E2C37;
  box-shadow: 0 12px 26px -20px rgba(14, 44, 55, .35);
  transition: border-color .25s ease;
}

.af-field::placeholder {
  color: rgba(14, 44, 55, .5);
}

.af-field:focus {
  outline: none;
  border-color: #004E5B;
}

textarea.af-field {
  resize: none;
}

.af-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 56px;
  cursor: pointer;
  color: rgba(14, 44, 55, .5);
}

.af-wrap {
  position: relative;
}

.af-wrap .af-ico {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border: 1px solid rgba(14, 44, 55, .18);
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 11px;
  color: #0E2C37;
  pointer-events: none;
}

.appointment-submit {
  position: relative;
  width: 100%;
  background: #004E5B;
  color: #fff;
  border: 0;
  border-radius: 16px;
  padding: 22px 28px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s ease;
}

.appointment-submit:hover {
  background: #003A45;
}

.appointment-submit .ico {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(14, 44, 55, .85);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
}

@media (max-width: 640px) {
  .appointment-form {
    padding: 24px;
  }
}

/* ---- STEPS TO RECOVERY (list + image layout) ---- */
.recovery-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 64px;
  max-width: 1240px;
  margin: 0 auto;
}

/* LEFT: numbered step list (1 → 6) */
.recovery-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.recovery-step {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 16px 20px;
  border-radius: 20px;
  transition: background .3s ease, box-shadow .3s ease;
}

.recovery-step.active {
  background: #ffffff;
  box-shadow: 0 20px 40px -24px rgba(14, 44, 55, .3);
}

.step-num {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 18px;
  color: #004E5B;
  background: rgba(0, 78, 91, .1);
  transition: background .3s ease, color .3s ease;
}

.recovery-step.active .step-num {
  background: #004E5B;
  color: #fff;
}

.step-body {
  flex: 1 1 auto;
  padding-top: 3px;
}

.recovery-step .step-btn {
  display: inline-block;
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
  color: #0E2C37;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 19px;
  cursor: pointer;
  transition: color .3s ease;
}

.recovery-step .step-btn:hover,
.recovery-step.active .step-btn {
  color: #004E5B;
}

.recovery-step .step-desc {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.6;
  color: #4a5a60;
}

/* RIGHT: image + concentric pulsing rings */
.recovery-center {
  position: relative;
  width: 100%;
  max-width: 480px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}

.ring {
  position: absolute;
  border-radius: 999px;
  border: 1.5px solid rgba(0, 78, 91, .4);
  transform-origin: center;
  animation: ringPulse 3.6s ease-in-out infinite;
  will-change: transform, opacity;
}

.ring-1 {
  inset: 0;
  background: rgba(0, 78, 91, .04);
  animation-delay: 0s;
}

.ring-2 {
  inset: 8%;
  background: rgba(0, 78, 91, .07);
  animation-delay: 0.6s;
}

.ring-3 {
  inset: 18%;
  background: rgba(0, 78, 91, .11);
  animation-delay: 1.2s;
}

@keyframes ringPulse {

  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.06);
    opacity: .55;
  }
}

.recovery-image {
  position: absolute;
  inset: 20%;
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 25px 50px -20px rgba(14, 44, 55, .35);
  z-index: 2;
}

.recovery-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Mid-range desktop: tighten the gap */
@media (max-width: 1279px) {
  .recovery-wrap {
    gap: 40px;
  }

  .recovery-center {
    max-width: 420px;
  }
}

/* Tablet / mobile: image on top, list below (order 1 → 6) */
@media (max-width: 1023px) {
  .recovery-wrap {
    grid-template-columns: 1fr;
    gap: 36px;
    max-width: 560px;
  }

  .recovery-center {
    order: -1;
    max-width: 320px;
  }
}

/* ---- PRICING ---- */
.toggle-track {
  display: inline-flex;
  background: #ede5d5;
  padding: 4px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(14, 44, 55, .1);
}

.toggle-track button {
  padding: 8px 22px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 999px;
  color: #0E2C37;
  transition: all .3s;
}

.toggle-track button.on {
  background: #004E5B;
  color: #fff;
}

.price-card {
  border-radius: 22px;
  padding: 32px;
}

.price-card.dark {
  background: #0E2C37;
  color: white;
}

.price-card.teal {
  background: #004E5B;
  color: white;
}

.price-card .price {
  font-family: 'Poppins', sans-serif;
  font-size: 50px;
  font-weight: 600;
  line-height: 1;
}

.price-card .price small {
  font-size: 14px;
  font-weight: 400;
  opacity: .8;
}

.price-card ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  font-size: 13px;
}

.price-card ul li:last-child {
  border-bottom: 0;
}

.price-card .btn-line {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: 10px 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 13px;
}

.price-card.teal .btn-line {
  background: #0E2C37;
}

/* ---- MARQUEE ---- */
.marquee {
  display: flex;
  gap: 50px;
  animation: drift 28s linear infinite;
}

@keyframes drift {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* ---- CONTACT ---- */
.contact-bar {
  background: url('https://images.unsplash.com/photo-1599447332411-fd0d0444c9eb?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
  position: relative;
}

.contact-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(237, 229, 213, .95) 0%, rgba(237, 229, 213, .5) 50%, rgba(237, 229, 213, 0) 100%);
}

/* ---- FOOTER ---- */
/* ---- INSTAGRAM STRIP ---- */
.insta-tile {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 12px;
}

.insta-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.insta-tile:hover img {
  transform: scale(1.06);
}

.insta-badge {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #004E5B;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
}

footer.main-footer {
  background: #0E2C37;
  color: #cfd8d4;
}

footer .col h5 {
  font-family: 'Poppins', sans-serif;
  
  font-weight: 600;
  color: #fff;
  font-size: 22px;
  margin-bottom: 18px;
}

footer .col a {
  font-size: 14px;
  display: block;
  padding: 5px 0;
  color: #cfd8d4;
  transition: color .25s;
}

footer .col a:hover {
  color: #004E5B;
}

/* utilities */
.img-frame {
  border-radius: 18px;
  overflow: hidden;
}

.img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ring-glow {
  box-shadow: 0 0 0 8px rgba(0, 78, 91, .18);
}

/* ---- Kurumsal renk: koyu zeminde ALTIN aksanlar (#FFC500) ---- */
.bg-deep .tag {
  color: #FFC500;
}

.bg-deep .tag::before,
.bg-deep .tag::after,
.bg-deep .tag .dot {
  background: #FFC500;
}

.progress-bar>span {
  background: #FFC500;
}

/* ---- Mobil yatay taşma önleyiciler ---- */
html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

.appointment-form,
.af-field,
.af-wrap {
  min-width: 0;
  max-width: 100%;
}

/* Swiper / grid öğelerinin mobilde sütunu şişirmesini engelle */
.swiper {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 1023px) {
  .grid>* {
    min-width: 0;
  }
}

/* ============================================================
   PROCESS STEP MODALS & TOOLTIPS
   ============================================================ */

/* Modal Backdrop / Overlay */
.process-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(14, 44, 55, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 20px;
}

.process-modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

/* Modal Content Container */
.process-modal-container {
  background: #ede5d5;
  border: 1px solid rgba(14, 44, 55, 0.15);
  border-radius: 28px;
  width: 100%;
  max-width: 650px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 40px;
  box-shadow: 0 30px 70px -15px rgba(14, 44, 55, 0.45);
  position: relative;
  transform: scale(0.93);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.process-modal-overlay.open .process-modal-container {
  transform: scale(1);
}

/* Close Button */
.process-modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(14, 44, 55, 0.15);
  background: transparent;
  color: #0E2C37;
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.25s ease;
  z-index: 10;
}

.process-modal-close:hover {
  background: #004E5B;
  color: #fff;
  border-color: #004E5B;
  transform: scale(1.08);
}

/* Modal Form Styles */
.modal-form-title {
  font-family: 'Poppins', sans-serif;
  
  font-weight: 600;
  font-size: 32px;
  color: #0E2C37;
  line-height: 1.2;
}

/* Click indicator tooltips for steps 1, 2, 3, 4, 5, 6 */
.step-btn {
  position: relative;
}

@media (min-width: 1024px) {

  .step-btn[data-step="1"]::after,
  .step-btn[data-step="2"]::after,
  .step-btn[data-step="3"]::after,
  .step-btn[data-step="4"]::after,
  .step-btn[data-step="5"]::after,
  .step-btn[data-step="6"]::after {
    content: "Detaylar için tıklayın ✦";
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    background: #004E5B;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 20px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px -5px rgba(0, 78, 91, 0.4);
    z-index: 20;
    pointer-events: none;
    font-family: 'Poppins', sans-serif;
  }

  .step-btn[data-step="1"]::before,
  .step-btn[data-step="2"]::before,
  .step-btn[data-step="3"]::before,
  .step-btn[data-step="4"]::before,
  .step-btn[data-step="5"]::before,
  .step-btn[data-step="6"]::before {
    content: "";
    position: absolute;
    bottom: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    border-width: 6px;
    border-style: solid;
    border-color: #004E5B transparent transparent transparent;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 20;
    pointer-events: none;
  }

  .step-btn:hover::after,
  .step-btn:hover::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}

/* Scrollbar Hide Utility */
.scrollbar-none::-webkit-scrollbar {
  display: none;
}

.scrollbar-none {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.poppins-20{
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
}
.poppins-15{
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
}
/* ============================================================
   SERVICE / İÇERİK SAYFALARI (Faz 2)
   ============================================================ */

/* Hero — sabit nav'ın altından başlaması için üst boşluk */
.service-hero {
  padding-top: 150px;
  padding-bottom: 56px;
  background: #ede5d5;
}
@media (max-width: 1023px) {
  .service-hero { padding-top: 120px; padding-bottom: 40px; }
}

/* Breadcrumb */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(14, 44, 55, .6);
  margin-bottom: 18px;
}
.breadcrumb a { color: rgba(14, 44, 55, .6); transition: color .2s; }
.breadcrumb a:hover { color: #004E5B; }
.breadcrumb .sep { opacity: .5; }
.breadcrumb .current { color: #004E5B; font-weight: 600; }

/* İçerik gövdesi (prose) */
.service-prose { color: #24343a; }
.service-figure {
  margin: 0 0 28px;
}
.service-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 16px;
}
.service-figure figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: #5b6b71;
  font-style: italic;
}
/* ---------------------------------------------------------------
   HİZMET SAYFASI TİPOGRAFİ ÖLÇEĞİ — tek kaynak.
   Dört basamak var, başka boyut kullanılmaz:
     giriş (lead) 18px · gövde 16px · h2 26px · h3 19px
   Tüm hizmet sayfalarında (TR + EN) başlık seviyeleri bu ölçeğe
   göre normalize edildi: bölüm başlıkları h2, teknik alt
   başlıkları h3.
   --------------------------------------------------------------- */
.service-prose > p,
.service-prose > ul { font-size: 16px; line-height: 1.8; margin-bottom: 18px; }

/* Giriş paragrafı — bölümün tamamı tek <p> olmalı, yarısı bu stili
   alıp yarısı gövde stilinde kalmasın. */
.service-prose > p:first-of-type {
  font-size: 18px;
  line-height: 1.75;
  color: #0E2C37;
  margin-bottom: 22px;
}

.service-prose h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #0E2C37;
  margin: 40px 0 14px;
  line-height: 1.25;
}

/* Ana bölüm başlığından hemen sonra alt başlık geliyorsa
   (ör. "Nasıl Yapılır?" → "Anestezi ve Süre") araya fazladan
   boşluk girmesin. */
.service-prose h2 + h3 { margin-top: 22px; }

.service-prose h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 19px;
  font-weight: 600;
  color: #004E5B;
  margin: 30px 0 10px;
  line-height: 1.35;
}

/* Mobilde başlıklar gövdeyi ezmesin. */
@media (max-width: 640px) {
  .service-prose > p:first-of-type { font-size: 17px; }
  .service-prose h2 { font-size: 22px; margin: 32px 0 12px; }
  .service-prose h3 { font-size: 17px; margin: 24px 0 8px; }
}
.service-prose ul { list-style: none; padding: 0; }
.service-prose ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
  line-height: 1.7;
}
.service-prose ul li::before {
  content: "\f00c"; /* fa-check */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 12px;
  color: #004E5B;
}

/* SSS — native <details> akordeon */
.faq-section { margin-top: 44px; }
.faq-section > h2 { margin-bottom: 18px; }
.faq-item {
  border: 1px solid rgba(14, 44, 55, .12);
  border-radius: 16px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.faq-item > summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 22px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #0E2C37;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
  content: "\2b"; /* + */
  font-size: 20px;
  color: #004E5B;
  transition: transform .25s;
  flex: 0 0 auto;
}
.faq-item[open] > summary::after { content: "\2212"; } /* − */
.faq-item[open] > summary { color: #004E5B; }
.faq-answer {
  padding: 0 22px 20px;
  font-size: 15px;
  line-height: 1.75;
  color: #3a4a50;
}

/* Yan panel (aside) */
.service-aside .aside-card {
  background: #0E2C37;
  color: #fff;
  border-radius: 22px;
  padding: 28px;
  margin-bottom: 20px;
}
.service-aside .aside-card h4 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 8px;
}
.service-aside .aside-card p { font-size: 14px; color: rgba(255,255,255,.7); margin-bottom: 18px; line-height: 1.6; }
.service-aside .aside-contact a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 14px;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.12);
}
.service-aside .aside-contact a i { color: #FFC500; width: 18px; text-align: center; }
.service-aside .aside-links {
  background: #D5E9E3;
  border-radius: 22px;
  padding: 26px 28px;
}
.service-aside .aside-links h4 {
  font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 16px; color: #0E2C37; margin-bottom: 14px;
}
.service-aside .aside-links a {
  display: block;
  padding: 9px 0;
  font-size: 14px;
  color: #0E2C37;
  border-bottom: 1px solid rgba(14,44,55,.1);
  transition: color .2s, padding-left .2s;
}
.service-aside .aside-links a:last-child { border-bottom: 0; }
.service-aside .aside-links a:hover { color: #004E5B; padding-left: 6px; }
.service-aside .aside-links a.active { color: #004E5B; font-weight: 600; }

@media (min-width: 1024px) {
  .service-aside { position: sticky; top: 110px; align-self: start; }
}

/* ---- YÜZEN WHATSAPP BUTONU ---- */
/* Konum styles.css'ten yönetilir; Tailwind bottom-* sınıfı kullanılmıyor ki
   app.min.css yeniden derlenmeden de doğru yerde dursun. */
.wa-float {
  bottom: 2rem;
}

@media (max-width: 640px) {
  .wa-float {
    bottom: 1.25rem;
  }
}

/* ---- GOOGLE HASTA YORUMLARI (koyu zeminli slider) ---- */
/* Kartlar inc/reviews-slider.php ile sunucu tarafında basılır.
   Stiller Tailwind yardımcı sınıflarına değil buraya bağlı: script.js
   Tailwind içerik taramasında olmadığı için JS ile üretilen sınıflar
   app.min.css'e girmiyordu. */
.review-card {
  margin: 0;
  border: 0;
  padding: 0;
}

.review-text {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .9);
}

.review-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.review-name {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 18px;
  letter-spacing: -.01em;
  color: #fff;
}

.review-source {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #FFC500;
}

.review-source i {
  font-size: 12px;
}

@media (max-width: 640px) {
  .review-text { font-size: 16px; }
  .review-meta { margin-top: 24px; padding-top: 18px; }
}

/* ---- ÇEREZ ONAY ÇUBUĞU ---- */
/* Markup: inc/cookie-consent.php · mantık: script.js sonundaki blok.
   Sunucu `hidden` ile basar, JS görünür yapar — JS kapalıysa
   kapatılamayan bir çubuk kalmasın. */
.cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  padding: 16px;
  background: #0E2C37;
  color: #fff;
  box-shadow: 0 -18px 40px -24px rgba(14, 44, 55, .8);
  transform: translateY(100%);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}

.cookie-consent.is-visible {
  transform: translateY(0);
}

.cookie-consent[hidden] {
  display: none;
}

.cookie-consent-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.cookie-consent-text strong {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 4px;
}

.cookie-consent-text p {
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .72);
  max-width: 780px;
}

.cookie-consent-text a {
  color: #FFC500;
  text-decoration: underline;
  white-space: nowrap;
}

.cookie-consent-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.cookie-btn {
  border-radius: 999px;
  padding: 11px 26px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.cookie-btn-solid {
  background: #004E5B;
  border: 1px solid #004E5B;
  color: #fff;
}

.cookie-btn-solid:hover {
  background: #FFC500;
  border-color: #FFC500;
  color: #0E2C37;
}

.cookie-btn-ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .28);
  color: rgba(255, 255, 255, .85);
}

.cookie-btn-ghost:hover {
  border-color: #fff;
  color: #fff;
}

@media (max-width: 767px) {
  .cookie-consent-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .cookie-consent-actions {
    justify-content: stretch;
  }

  .cookie-btn {
    flex: 1;
    padding: 12px 18px;
  }
}

/* Yasal metin sayfaları (Çerez Politikası / KVKK) */
.legal-prose {
  color: #24343a;
}

.legal-prose > p,
.legal-prose > ul {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 18px;
}

.legal-prose > p:first-of-type {
  font-size: 18px;
  line-height: 1.75;
  color: #0E2C37;
  margin-bottom: 22px;
}

.legal-prose h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #0E2C37;
  margin: 40px 0 14px;
  line-height: 1.25;
}

.legal-prose h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 19px;
  font-weight: 600;
  color: #004E5B;
  margin: 30px 0 10px;
  line-height: 1.35;
}

.legal-prose ul {
  list-style: none;
  padding: 0;
}

.legal-prose ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
  line-height: 1.7;
}

.legal-prose ul li::before {
  content: "\f00c"; /* fa-check */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 12px;
  color: #004E5B;
}

.legal-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 24px;
  font-size: 15px;
}

.legal-prose table th,
.legal-prose table td {
  border: 1px solid rgba(14, 44, 55, .14);
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}

.legal-prose table th {
  background: #D5E9E3;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  color: #0E2C37;
}

.legal-table-wrap {
  overflow-x: auto;
}

@media (max-width: 640px) {
  .legal-prose > p:first-of-type { font-size: 17px; }
  .legal-prose h2 { font-size: 22px; margin: 32px 0 12px; }
  .legal-prose h3 { font-size: 17px; margin: 24px 0 8px; }
}
