/* ==========================================================================
   UX Enhancement Layer — Op.Dr. Tuncay Ok
   Additive only. Layout / theme yapısına dokunmaz.
   Tema rengini (--pbmit-global-color #0a84ff) yeniden kullanir.
   Style ref: "Accessible & Ethical" (WCAG, focus, reduced-motion, 44px touch)
   ========================================================================== */

:root {
  --ux-brand: var(--pbmit-global-color, #0a84ff);
  --ux-brand-rgb: 10, 132, 255;
  --ux-radius: 14px;
  --ux-shadow: 0 8px 28px rgba(10, 132, 255, .22);
  --ux-ease: cubic-bezier(.2, .7, .2, 1);
}

/* --- 1. Skip link (klavye / ekran okuyucu) ------------------------------- */
.ux-skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 100000;
  background: var(--ux-brand);
  color: #fff;
  padding: 12px 20px;
  border-radius: 0 0 var(--ux-radius) var(--ux-radius);
  font-weight: 600;
  text-decoration: none;
  transition: top .2s var(--ux-ease);
}
.ux-skip-link:focus { top: 0; color: #fff; outline: 3px solid #fff; }

/* --- 2. Gorunur focus halkasi (sadece klavye) --------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.pbmit-btn:focus-visible,
.vc_btn3:focus-visible {
  outline: 3px solid var(--ux-brand) !important;
  outline-offset: 2px !important;
  border-radius: 6px;
}

/* --- 3. Tiklanabilir ogelerde pointer ----------------------------------- */
.vc_btn3, .pbmit-service-btn span, .pbmit-btn,
.navbar-toggler, .closepanel, [role="button"],
.swiper-button-next, .swiper-button-prev {
  cursor: pointer;
}

/* --- 4. Yumusak kaydirma + sticky header offset ------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }

/* --- 5. Gecis yumusatma (hover hissi) ----------------------------------- */
.pbmit-btn, .vc_btn3, .pbmit-service-style-1,
.pbminfotech-post-item, .pbmit-social-li a, a.pbmit-btn-outline {
  transition: transform .25s var(--ux-ease),
              box-shadow .25s var(--ux-ease),
              background-color .25s var(--ux-ease),
              color .25s var(--ux-ease);
}
.pbmit-service-style-1:hover { transform: translateY(-4px); }

/* --- 6. Min dokunma hedefi 44px (mobil) --------------------------------- */
.pbmit-social-li a,
.pbmit-contact-info a,
.navbar-toggler {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .navigation > li > a { min-height: 44px; display: flex; align-items: center; }
}

/* --- 7. Goruntu yumusak girisi (CLS yok, sadece opacity) ---------------- */
img.ux-fade { opacity: 0; transition: opacity .45s var(--ux-ease); }
img.ux-fade.ux-in { opacity: 1; }

/* --- 8. Yuzen hizli iletisim (call / randevu) ---------------------------- */
.ux-fab {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 9990;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
  transition: bottom .25s var(--ux-ease);
}
.ux-footer-overlap .ux-fab {
  bottom: calc(136px + env(safe-area-inset-bottom));
}

.tk-fbottom {
  position: relative;
  isolation: isolate;
  z-index: 20;
}

.tk-fbottom-inner,
.tk-fbottom-credit,
.tk-fbottom-credit a {
  position: relative;
  z-index: 21;
  pointer-events: auto;
}
.ux-fab a {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: var(--ux-shadow);
  transition: transform .2s var(--ux-ease), box-shadow .2s var(--ux-ease);
  text-decoration: none;
}
.ux-fab a:hover { transform: scale(1.08); color: #fff; }
.ux-fab a:active { transform: scale(.94); }
.ux-fab a svg { width: 28px; height: 28px; fill: currentColor; }
.ux-fab .ux-fab-call { background: var(--ux-brand); }
.ux-fab .ux-fab-appt {
  background: #fff;
  color: var(--ux-brand);
  border: 2px solid var(--ux-brand);
  font-weight: 700;
  font-size: 11px;
  line-height: 1.1;
  text-align: center;
  flex-direction: column;
  letter-spacing: .3px;
}
.ux-fab .ux-fab-appt:hover { background: var(--ux-brand); color: #fff; }
.ux-fab .ux-fab-appt svg { width: 22px; height: 22px; margin-bottom: 2px; }

@media (max-width: 480px) {
  .ux-fab a { width: 50px; height: 50px; }
  .ux-fab a svg { width: 24px; height: 24px; }
}

/* --- 9. Yukari don butonu ----------------------------------------------- */
.ux-top {
  position: fixed;
  left: max(16px, env(safe-area-inset-left));
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 9990;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: var(--ux-brand);
  color: #fff;
  box-shadow: var(--ux-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .25s var(--ux-ease),
              transform .25s var(--ux-ease),
              visibility .25s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ux-top.ux-show { opacity: 1; visibility: visible; transform: translateY(0); }
.ux-top:hover { transform: translateY(-3px); }
.ux-top svg { width: 22px; height: 22px; fill: currentColor; }

/* --- 10. Ince okuma ilerleme cubugu (sayfa basinda) -------------------- */
.ux-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0;
  background: var(--ux-brand);
  z-index: 100001;
  transition: width .1s linear;
}

/* --- 11. Aktif menu vurgusu --------------------------------------------- */
.navigation > li.ux-active > a {
  color: var(--ux-brand) !important;
  font-weight: 700;
}

/* --- 12. Reduced motion uyumu ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  img.ux-fade { opacity: 1; }
}

/* ==========================================================================
   POLISH KATMANI — komponent cilalama (layout korunur)
   Tema: Mulish + #0a84ff. Hedef: premium, tutarli, erisilebilir medikal his.
   ========================================================================== */

:root {
  --ux-ink: #16233a;          /* baslik/koyu metin */
  --ux-body: #46505e;         /* govde metni (AA 4.5:1+ /beyaz) */
  --ux-line: #e8eef5;         /* ince ayrac/kenar */
  --ux-surface: #ffffff;
  --ux-tint: rgba(10, 132, 255, .07);   /* marka acik zemin */
  --ux-tint-2: #f3f8fc;       /* bolum acik zemin */
  --ux-r-sm: 12px;
  --ux-r-md: 18px;
  --ux-r-lg: 24px;
  --ux-sh-1: 0 2px 10px rgba(16, 35, 58, .06);
  --ux-sh-2: 0 14px 38px rgba(16, 35, 58, .12);
}

/* --- A. Tipografi okunabilirlik ---------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
/* govde metni kontrast yukseltme */
body, p, li, .pbminfotech-box-desc, .pbmit-heading-content,
.pbmit-ihbox-content {
  color: var(--ux-body);
}
.pbmit-heading-content p { line-height: 1.75; }
h1, h2, h3, h4, h5, h6,
.pbmit-title, .pbmit-post-title, .pbminfotech-box-title {
  color: var(--ux-ink);
  letter-spacing: -.01em;
}

/* --- B. Bolum basligi (subheading) accent ----------------------------- */
.pbmit-heading-subheading { margin-bottom: 34px; }
.pbmit-heading-subheading .pbmit-title { position: relative; }
.pbmit-heading-subheading.text-center .pbmit-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  border-radius: 4px;
  background: var(--ux-brand);
  margin: 16px auto 0;
}

/* --- C. Hizmet kartlari — GRADIENT CAM (glass) ------------------------- */
/* Tema asil kart = .pbminfotech-box-content-inner (mavi bg + 500px sabit).
   Onu cam yuzeye ceviriyoruz. */
.pbmit-service-style-1 {
  position: relative;
  height: 100%;
  background: transparent !important;
  border: none !important;
  border-radius: var(--ux-r-lg) !important;
  overflow: hidden;
}
.pbmit-service-style-1 .pbminfotech-post-item,
.pbmit-service-style-1 .pbminfotech-box-content { height: 100%; }

/* CAM YUZEY */
.pbmit-service-style-1 .pbminfotech-box-content-inner {
  position: relative;
  height: auto !important;
  min-height: 300px;
  padding: 36px 28px 30px !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  border-radius: var(--ux-r-lg);
  border: 1px solid rgba(255, 255, 255, .65);
  background: linear-gradient(160deg, #ffffff 0%, #eef5fb 100%) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px rgba(16, 35, 58, .08), inset 0 1px 0 rgba(255,255,255,.8);
  overflow: hidden;
  transition: transform .3s var(--ux-ease), box-shadow .3s var(--ux-ease);
}
/* ust gradient serit */
.pbmit-service-style-1 .pbminfotech-box-content-inner::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--ux-brand), #22a3c9);
  z-index: 2;
}
/* hover parlama halesi */
.pbmit-service-style-1 .pbminfotech-box-content-inner::after {
  content: "";
  position: absolute;
  top: -40%; right: -30%;
  width: 90%; height: 170%;
  background: radial-gradient(circle, rgba(10,132,255,.15), transparent 70%);
  opacity: 0;
  transform: scale(.6);
  transition: opacity .45s var(--ux-ease), transform .45s var(--ux-ease);
  pointer-events: none;
}
.pbmit-service-style-1:hover .pbminfotech-box-content-inner {
  transform: translateY(-8px);
  box-shadow: 0 22px 50px rgba(10, 132, 255, .22), inset 0 1px 0 rgba(255,255,255,.9);
}
.pbmit-service-style-1:hover .pbminfotech-box-content-inner::after {
  opacity: 1; transform: scale(1) translateX(-30%);
}

/* IKON — cercevesiz, yumusak gradient daire (tema 200px'i ezer) */
.pbmit-service-style-1 .pbmit-service-icon-wrapper {
  position: relative; z-index: 1;
  width: 100px !important; height: 100px !important;
  line-height: normal !important;
  margin: 4px auto 20px !important;
  border-radius: 50%;
  display: flex !important; align-items: center; justify-content: center;
  background: linear-gradient(155deg, rgba(10,132,255,.20), rgba(34,163,201,.12)) !important;
  box-shadow: 0 8px 20px rgba(10,132,255,.14), inset 0 0 0 1px rgba(255,255,255,.7);
  transition: transform .35s var(--ux-ease), box-shadow .35s var(--ux-ease),
              background .35s var(--ux-ease) !important;
}
.pbmit-service-style-1:hover .pbmit-service-icon-wrapper {
  transform: translateY(-2px) scale(1.06);
  background: linear-gradient(155deg, rgba(10,132,255,.22), rgba(34,163,201,.14)) !important;
  box-shadow: 0 12px 26px rgba(10,132,255,.22), inset 0 0 0 1px rgba(255,255,255,.8);
}
.pbmit-service-style-1 .pbmit-service-icon-wrapper img {
  width: 60px !important; height: 60px; object-fit: contain;
  filter: drop-shadow(0 5px 10px rgba(10,132,255,.22)) !important;
  transition: transform .35s var(--ux-ease) !important;
}
.pbmit-service-style-1:hover .pbmit-service-icon-wrapper img { transform: scale(1.08); }

/* BASLIK — koyu (cam acik zeminde) + kisa ayrac */
.pbmit-service-style-1 .pbmit-service-title {
  position: relative; z-index: 1;
  margin: 0 0 16px !important;
  padding-bottom: 16px !important;
  color: var(--ux-ink) !important;
  font-size: 19px; line-height: 1.35; font-weight: 700;
}
.pbmit-service-style-1 .pbmit-service-title span,
.pbmit-service-style-1 .pbmit-service-title a { color: var(--ux-ink) !important; }
.pbmit-service-style-1 .pbmit-service-title a:hover { color: var(--ux-brand) !important; }
.pbmit-service-style-1 .pbmit-service-title::after {
  content: ""; position: absolute; left: 50%; bottom: 0;
  width: 36px; height: 3px; margin-left: -18px;
  background: var(--ux-brand) !important;
  border-radius: 3px; opacity: .55;
  transition: width .3s var(--ux-ease), opacity .3s var(--ux-ease);
}
.pbmit-service-style-1:hover .pbmit-service-title::after { width: 56px; margin-left: -28px; opacity: 1; }

/* "INCELEYIN" — ok link (tema beyaz/cizgi stilini ezer) */
.pbmit-service-style-1 .pbmit-service-btn { margin-top: auto; position: relative; z-index: 1; }
.pbmit-service-style-1 .vc_btn3-container.vc_btn3-inline { margin: 0 !important; }
.pbmit-service-style-1 .vc_btn3-color-globalcolor.vc_general.vc_btn3 {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  padding: 0 !important;
  background: none !important;
  color: var(--ux-brand) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: gap .25s var(--ux-ease);
}
.pbmit-service-style-1 .vc_btn3-color-globalcolor.vc_general.vc_btn3::before { display: none !important; }
.pbmit-service-style-1 .vc_btn3-color-globalcolor.vc_general.vc_btn3::after {
  content: "\2192" !important;
  position: static !important;
  width: auto !important; height: auto !important;
  background: none !important;
  font-size: 16px; line-height: 1;
  transition: transform .25s var(--ux-ease);
}
.pbmit-service-style-1:hover .vc_btn3-color-globalcolor.vc_general.vc_btn3 { gap: 11px; }
.pbmit-service-style-1:hover .vc_btn3-color-globalcolor.vc_general.vc_btn3::after { transform: translateX(3px); }

/* --- D. Butonlar (genel) ---------------------------------------------- */
.pbmit-btn, a.pbmit-btn, .pbmit-btn-outline, .pbmit-btn-outline-global {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px !important;
  padding: 14px 30px;
  font-weight: 600;
  letter-spacing: .2px;
  border: 2px solid var(--ux-brand);
  transition: transform .22s var(--ux-ease), box-shadow .22s var(--ux-ease),
              background-color .22s var(--ux-ease), color .22s var(--ux-ease);
}
.pbmit-btn:not(.pbmit-btn-outline):not(.pbmit-btn-outline-global) {
  background: var(--ux-brand); color: #fff;
}
.pbmit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(10, 132, 255, .3);
  color: #fff;
}
.pbmit-btn-outline, .pbmit-btn-outline-global {
  background: transparent; color: var(--ux-brand);
}
.pbmit-btn-outline:hover, .pbmit-btn-outline-global:hover {
  background: var(--ux-brand); color: #fff; transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(10, 132, 255, .3);
}

/* --- E. Iletisim / randevu kutulari (video-one-left-box) --------------- */
.video-one-left-box {
  display: block;
  border-radius: var(--ux-r-md);
  padding: 28px 26px;
  color: #fff;
  box-shadow: var(--ux-sh-1);
  transition: transform .26s var(--ux-ease), box-shadow .26s var(--ux-ease);
}
.video-one-left-box:hover {
  transform: translateY(-5px);
  box-shadow: var(--ux-sh-2);
  color: #fff;
}
.video-one-left-box .pbmit-ihbox-icon-wrapper i {
  font-size: 34px; color: #fff;
}
.video-one-left-box .pbmit-ihbox-subheading h4 { color: rgba(255,255,255,.85); margin-bottom: 4px; }
.video-one-left-box .pbmit-ihbox-heading h2 { color: #fff; font-size: 22px; }

/* --- F. Hasta yorumlari (testimonial-style-3) -------------------------- */
/* Tema sabit 216px mavi balon + overflow:hidden uyguluyordu -> metin
   tasiyordu. Burada kart modeline cevrilir, sabit yukseklik kaldirilir. */
.testimonial-one-bg { background: var(--ux-tint-2); }

/* esit yukseklik: swiper slide'lari uzat */
.testimonial-one-bg .swiper-slide { height: auto !important; }
.testimonial-one-bg .swiper-wrapper { align-items: stretch !important; }

/* tema kirpmasini ac */
.pbmit-testimonial-style-3 {
  overflow: visible !important;
  text-align: left !important;
  height: 100%;
}

/* dis sarmal = kart (flex column zorla) */
.pbmit-testimonial-style-3 .pbminfotech-post-item {
  display: flex !important;
  flex-direction: column !important;
  background: var(--ux-surface) !important;
  border: 1px solid var(--ux-line);
  border-radius: var(--ux-r-md);
  padding: 30px 26px 24px !important;
  height: 100%;
  box-shadow: var(--ux-sh-1);
  position: relative;
  overflow: hidden;
  transition: transform .26s var(--ux-ease), box-shadow .26s var(--ux-ease);
}
.pbmit-testimonial-style-3 .pbminfotech-post-item:hover {
  transform: translateY(-4px); box-shadow: var(--ux-sh-2);
}

/* tirnak susu kart kosesinde */
.pbmit-testimonial-style-3 .pbminfotech-post-item::before {
  content: "\201C";
  position: absolute;
  top: 4px; left: 20px;
  font-family: Georgia, serif;
  font-size: 64px; line-height: 1;
  color: rgba(10, 132, 255, .14);
  pointer-events: none;
  z-index: 0;
}

/* ic kutu: tema mavi balonunu/216px'i sifirla, buyuyebilir */
.pbmit-testimonial-style-3 .pbminfotech-box-content {
  position: relative;
  z-index: 1;
  background: transparent !important;
  color: var(--ux-body) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 14px 0 16px !important;
  border-radius: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}
.pbmit-testimonial-style-3 .pbminfotech-box-desc { margin: 0 !important; padding: 0 !important; }
/* tema balon kuyrugunu (ucgen) gizle */
.pbmit-testimonial-style-3 .pbminfotech-box-content::before { display: none !important; }
.pbmit-testimonial-style-3 .pbminfotech-box-content::after { display: none !important; }

/* metin: 7 satir sonra kesilir (clamp zorla) */
.pbmit-testimonial-style-3 blockquote,
.pbmit-testimonial-style-3 .pbminfotech-testimonial-text {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ux-body) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 7 !important;
  line-clamp: 7 !important;
  -webkit-box-orient: vertical !important;
  box-orient: vertical;
  overflow: hidden !important;
  /* clamp desteklenmezse guvenli sinir: 7 * 1.7em */
  max-height: 11.9em;
}

/* yazar satiri en altta sabit (absolute degil, akista) */
.pbmit-testimonial-style-3 .pbminfotech-box-author {
  position: static !important;
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: auto 0 0 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--ux-line);
  background: var(--ux-surface);
  z-index: 2;
}
.pbmit-testimonial-style-3 .pbminfotech-box-author::before {
  content: "";
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--ux-brand);
  flex: 0 0 40px;
}
.pbmit-testimonial-style-3 .pbminfotech-box-title {
  margin: 0 !important; font-size: 16px; font-weight: 700; line-height: 1.3;
}

/* --- F2. Harita uzeri adres/iletisim kutusu: sola sifirla ------------- */
.home-contact-section {
  left: 0 !important;
}

/* --- G. Blog kartlari (blogbox-style-1) ------------------------------- */
.pbmit-blogbox-style-1 .post-item {
  background: var(--ux-surface);
  border: 1px solid var(--ux-line);
  border-radius: var(--ux-r-md);
  overflow: hidden;
  height: 100%;
  box-shadow: var(--ux-sh-1);
  transition: transform .26s var(--ux-ease), box-shadow .26s var(--ux-ease);
}
.pbmit-blogbox-style-1 .post-item:hover {
  transform: translateY(-5px); box-shadow: var(--ux-sh-2);
}
.pbmit-blogbox-style-1 .pbmit-featured-wrapper { overflow: hidden; aspect-ratio: 16 / 10; }
.pbmit-blogbox-style-1 .pbmit-featured-wrapper img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s var(--ux-ease);
}
.pbmit-blogbox-style-1 .pbmit-featured-wrapper,
.tk-blog-media {
  background: linear-gradient(135deg, #edf4f9 0%, #f8fbfe 100%);
}
.pbmit-blogbox-style-1 .pbmit-featured-wrapper img[src=""],
.tk-blog-media img[src=""] {
  display: none;
}
.pbmit-blogbox-style-1 .post-item:hover .pbmit-featured-wrapper img { transform: scale(1.06); }
.pbmit-blogbox-style-1 .pbminfotech-box-content { padding: 22px 22px 26px; }
.pbmit-blogbox-style-1 .pbmit-post-title { font-size: 18px; line-height: 1.4; margin-bottom: 10px; }
.pbmit-blogbox-style-1 .pbmit-post-title a { color: var(--ux-ink); transition: color .2s var(--ux-ease); }
.pbmit-blogbox-style-1 .pbmit-post-title a:hover { color: var(--ux-brand); }
.pbmit-blogbox-style-1 .vc_btn3-color-secondarycolor {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 10px; padding: 0; background: transparent;
  color: var(--ux-brand); font-weight: 600;
}
.pbmit-blogbox-style-1 .vc_btn3-color-secondarycolor::after { content: "\2192"; transition: transform .2s var(--ux-ease); }
.pbmit-blogbox-style-1 .vc_btn3-color-secondarycolor:hover::after { transform: translateX(4px); }

/* --- H. Hakkinda gorseli ---------------------------------------------- */
.about-one-img img {
  border-radius: var(--ux-r-lg);
  box-shadow: var(--ux-sh-2);
  width: 100%; object-fit: cover;
}

/* --- I. Sticky header cilasi ------------------------------------------ */
.site-header-menu { transition: box-shadow .25s var(--ux-ease), background-color .25s var(--ux-ease); }
.site-header-menu.sticky-header {
  box-shadow: 0 6px 24px rgba(16, 35, 58, .1);
  backdrop-filter: saturate(1.1);
}
/* menu link alt cizgi animasyonu */
.navigation > li > a { position: relative; }
.navigation > li > a::after {
  content: ""; position: absolute; left: 0; bottom: 2px;
  width: 0; height: 2px; background: var(--ux-brand);
  transition: width .25s var(--ux-ease);
}
.navigation > li:hover > a::after,
.navigation > li.ux-active > a::after { width: 100%; }

/* --- J. Formlar (iletisim) -------------------------------------------- */
.form-control {
  min-height: 50px;
  border: 1.5px solid var(--ux-line) !important;
  border-radius: var(--ux-r-sm) !important;
  padding: 12px 16px !important;
  font-size: 16px;
  background: #fff;
  transition: border-color .2s var(--ux-ease), box-shadow .2s var(--ux-ease) !important;
}
textarea.form-control { min-height: 130px; }
.form-control:focus {
  border-color: var(--ux-brand) !important;
  box-shadow: 0 0 0 4px rgba(10, 132, 255, .12) !important;
  outline: none !important;
}
.form-control::placeholder { color: #9aa6b4; }
/* JS ile eklenen gorunur etiket */
.ux-field-label {
  display: block; font-size: 13px; font-weight: 600;
  color: var(--ux-ink); margin-bottom: 6px;
}
.ux-field-label .ux-req { color: #dc2626; margin-left: 2px; }
.ux-field-error {
  display: none; color: #dc2626; font-size: 13px; margin-top: 6px;
}
.ux-field-error.ux-on { display: block; }
.form-control.ux-invalid { border-color: #dc2626 !important; }
.ux-form-msg {
  display: none; margin-top: 14px; padding: 14px 16px;
  border-radius: var(--ux-r-sm); font-weight: 600;
}
.ux-form-msg.ux-ok { display: block; background: #e7f7ef; color: #0f7a4d; }

/* --- K. Tema scroll-to-top'i gizle (ux-top kullaniyoruz) -------------- */
.scroll-to-top { display: none !important; }

/* --- L. Resim tasmasi onleme ------------------------------------------ */
img { max-width: 100%; height: auto; }

/* --- M. Secim rengi --------------------------------------------------- */
::selection { background: rgba(10, 132, 255, .18); color: var(--ux-ink); }

/* --- O. Footer koruma (koyu zemin -> acik metin) ---------------------- */
.site-footer, .site-footer p, .site-footer li, .site-footer a,
.site-footer .pbmit-footer-text-inner,
.pbmit-footer-widget-area, .pbmit-footer-widget-area *,
.pbmit-footer-bottom, .pbmit-footer-bottom * {
  color: rgba(255, 255, 255, .82);
}
.site-footer h1, .site-footer h2, .site-footer h3,
.site-footer h4, .site-footer h5, .site-footer .widget-title {
  color: #fff;
}
.site-footer a { transition: color .2s var(--ux-ease); }
.site-footer a:hover { color: #fff; }

/* --- N. Mobil ince ayar ----------------------------------------------- */
@media (max-width: 991px) {
  .pbmit-service-style-1 .pbminfotech-post-item { padding: 26px 20px; }
  .pbmit-heading-subheading { margin-bottom: 24px; }
}

/* ==========================================================================
   SUBPAGE REDESIGN KIT
   Index sayfasindaki premium dili alt sayfalara tasir.
   ========================================================================== */

.site-header.header-style-1 {
  position: sticky;
  top: 0;
  z-index: 999;
}

.pre-header {
  background: linear-gradient(90deg, #0a84ff, #38b6ff) !important;
  padding: 8px 0;
  border: none;
}

.pre-header .pbmit-contact-info li,
.pre-header .pbmit-contact-info li a,
.pre-header .pbmit-social-links a {
  color: #fff !important;
}

.pre-header .pbmit-contact-info li a:hover {
  color: #ffd2e6 !important;
}

.pre-header .pbmit-social-links .pbmit-social-li a span {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  transition: background .25s, transform .25s;
}

.pre-header .pbmit-social-links .pbmit-social-li a:hover span {
  background: #fff;
  color: #0a84ff;
  transform: translateY(-2px);
}

.site-header-menu {
  background: #fff !important;
  border-bottom: 1px solid #eef3f7;
  box-shadow: 0 4px 18px rgba(10, 132, 255, .05);
  padding: 4px 0;
}

.site-branding,
.site-title,
.site-title a {
  display: flex;
  align-items: center;
}

.site-header-menu .logo-img {
  height: 72px;
  max-width: 220px;
  width: auto;
  object-fit: contain;
  transition: transform .3s;
}

.site-branding:hover .logo-img {
  transform: scale(1.04);
}

.main-menu .navigation {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
}

.main-menu .navigation > li {
  margin: 0 1px;
  float: none !important;
  position: relative;
}

.main-menu .navigation > li > a {
  position: relative;
  display: block;
  white-space: nowrap;
  color: #0d2c3f !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
  padding: 28px 13px !important;
  border-bottom: 3px solid transparent;
  transition: color .25s, border-color .25s;
}

.main-menu .navigation > li:hover > a,
.main-menu .navigation > li.current-menu-item > a {
  color: #0a84ff !important;
  border-bottom-color: #0a84ff;
}

.main-menu .navigation li.dropdown > a::after {
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 10px;
  margin-left: 7px;
  opacity: .55;
  vertical-align: middle;
}

.main-menu .navigation > li.dropdown > ul,
.main-menu .navigation > li.dropdown > ul > li.dropdown > ul,
.main-menu .navigation li ul {
  border-radius: 0;
  box-shadow: 0 18px 44px rgba(10, 132, 255, .16);
  border: none;
  border-top: 3px solid #0a84ff;
  position: absolute;
  top: calc(100% - 3px);
  left: 0;
  padding: 8px 0;
  max-height: min(70vh, 520px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  pointer-events: auto;
  -webkit-transform: translateY(0) !important;
  -ms-transform: translateY(0) !important;
  transform: translateY(0) !important;
}

.main-menu .navigation > li.dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
}

.main-menu .navigation li ul::-webkit-scrollbar {
  width: 8px;
}

.main-menu .navigation li ul::-webkit-scrollbar-track {
  background: #edf4f8;
}

.main-menu .navigation li ul::-webkit-scrollbar-thumb {
  background: rgba(10, 132, 255, .35);
  border-radius: 999px;
}

.main-menu .navigation li ul:hover::-webkit-scrollbar-thumb {
  background: rgba(10, 132, 255, .55);
}

.main-menu .navigation li ul li a {
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .3px;
  color: #42596b !important;
  border-left: 3px solid transparent;
  transition: background .2s, color .2s, border-color .2s, padding-left .2s;
}

.main-menu .navigation li ul li a:hover {
  background: #f1f8fd;
  color: #0a84ff !important;
  border-left-color: #0a84ff;
  padding-left: 26px;
}

/* Hizmet detay sayfalarindaki uzun alt sayfa listesi tasmadan kaydirilabilsin */
.hizmet-single .service-sidebar > .widget.post-list:first-child .all-post-list {
  max-height: calc(100vh - 210px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 8px;
}

.hizmet-single .service-sidebar > .widget.post-list:first-child .all-post-list::-webkit-scrollbar {
  width: 8px;
}

.hizmet-single .service-sidebar > .widget.post-list:first-child .all-post-list::-webkit-scrollbar-track {
  background: #eaf1f6;
  border-radius: 999px;
}

.hizmet-single .service-sidebar > .widget.post-list:first-child .all-post-list::-webkit-scrollbar-thumb {
  background: rgba(10, 132, 255, .35);
  border-radius: 999px;
}

.hizmet-single .service-sidebar > .widget.post-list:first-child .all-post-list:hover::-webkit-scrollbar-thumb {
  background: rgba(10, 132, 255, .55);
}

@media (max-width: 991px) {
  .hizmet-single .service-sidebar > .widget.post-list:first-child .all-post-list {
    max-height: 360px;
    padding-right: 4px;
  }

  .tk-article-layout {
    grid-template-columns: 1fr;
  }

  .tk-article-aside {
    position: static;
  }
}

.pbmit-header-button .pbmit-btn-outline {
  background: #0a84ff !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px;
  padding: 13px 28px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 13px;
  box-shadow: 0 8px 20px rgba(10, 132, 255, .28);
}

.pbmit-header-button .pbmit-btn-outline:hover {
  background: #0d2c3f !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(10, 132, 255, .36);
}

.navbar-toggler {
  color: #0a84ff;
  font-size: 24px;
  border: none;
  background: transparent;
}

.tk-subpage-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 64px;
  background: linear-gradient(135deg, #eaf4fb 0%, #f7fbff 55%, #fdeef4 100%);
}

.tk-subpage-hero::before,
.tk-subpage-hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(36px);
  opacity: .55;
  pointer-events: none;
}

.tk-subpage-hero::before {
  width: 320px;
  height: 320px;
  background: rgba(10, 132, 255, .18);
  top: -80px;
  right: -60px;
}

.tk-subpage-hero::after {
  width: 260px;
  height: 260px;
  background: rgba(224, 99, 154, .18);
  bottom: -70px;
  left: -40px;
}

.tk-subpage-hero .container {
  position: relative;
  z-index: 1;
}

.tk-page-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  border-radius: 999px;
  background: #fff;
  color: #0a84ff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .5px;
  box-shadow: 0 10px 24px rgba(10, 132, 255, .12);
}

.tk-subpage-hero h1 {
  font-size: clamp(2.2rem, 1.2rem + 3vw, 3.8rem);
  line-height: 1.08;
  font-weight: 800;
  color: #0d2c3f;
  margin: 22px 0 18px;
}

.tk-subpage-hero p {
  max-width: 620px;
  font-size: 1.05rem;
  line-height: 1.75;
  color: #4a6377;
  margin-bottom: 30px;
}

.tk-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.tk-page-btn,
.tk-page-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, color .25s ease;
}

.tk-page-btn {
  padding: 15px 28px;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(10, 132, 255, .24);
}

.tk-page-btn-primary {
  background: linear-gradient(90deg, #0a84ff, #38b6ff);
  color: #fff;
}

.tk-page-btn-primary:hover {
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(10, 132, 255, .34);
}

.tk-page-btn-secondary {
  background: #fff;
  color: #0a84ff;
}

.tk-page-btn-secondary:hover {
  color: #0a84ff;
  transform: translateY(-3px);
}

.tk-page-link {
  color: #0a84ff;
  font-weight: 700;
}

.tk-page-link:hover {
  color: #e0639a;
}

.tk-page-panel {
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: 28px;
  padding: 30px;
  box-shadow: 0 26px 54px rgba(10, 132, 255, .14);
  backdrop-filter: blur(10px);
}

.tk-page-mini {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tk-page-mini-card {
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(10, 132, 255, .1);
}

.tk-page-mini-card strong {
  display: block;
  color: #0d2c3f;
  font-size: 1.45rem;
  margin-bottom: 4px;
}

.tk-page-mini-card span {
  display: block;
  color: #6a8093;
  font-size: .92rem;
  line-height: 1.45;
}

.tk-page-mini-card i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  margin-bottom: 14px;
  color: #0a84ff;
  background: rgba(10, 132, 255, .08);
}

.tk-section {
  padding: 88px 0;
}

.tk-section-muted {
  background: linear-gradient(180deg, #f4fafe 0%, #fff 100%);
}

.tk-section-soft {
  background: linear-gradient(180deg, #fff 0%, #f4fafe 100%);
}

.tk-section-head {
  max-width: 720px;
  margin-bottom: 42px;
}

.tk-section-head h2 {
  font-size: clamp(1.9rem, 1.3rem + 1vw, 2.8rem);
  line-height: 1.15;
  margin: 12px 0 14px;
}

.tk-section-head p {
  color: #6a8093;
  line-height: 1.75;
  margin: 0;
}

.tk-grid {
  display: grid;
  gap: 28px;
}

.tk-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tk-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tk-card {
  position: relative;
  padding: 30px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(10, 132, 255, .1);
  transition: transform .28s ease, box-shadow .28s ease;
}

.tk-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(10, 132, 255, .16);
}

.tk-card-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: #0a84ff;
  background: rgba(10, 132, 255, .09);
  font-size: 22px;
}

.tk-card-icon i,
.tk-page-mini-card i,
.tk-service-meta i,
.tk-service-link i {
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tk-card h3,
.tk-card h4 {
  color: #0d2c3f;
  margin-bottom: 12px;
}

.tk-card p,
.tk-card li {
  color: #5f7486;
  line-height: 1.72;
}

.tk-chip-list,
.tk-check-list,
.tk-inline-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tk-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tk-chip-list li {
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(10, 132, 255, .07);
  color: #0a84ff;
  font-size: .88rem;
  font-weight: 700;
}

.tk-check-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
}

.tk-check-list li:last-child {
  margin-bottom: 0;
}

.tk-check-list li::before {
  content: "\f058";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: #0a84ff;
}

.tk-about-layout {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 42px;
  align-items: center;
}

.tk-about-photo {
  position: relative;
}

.tk-about-photo img {
  width: 100%;
  border-radius: 28px;
  box-shadow: 0 30px 60px rgba(10, 132, 255, .2);
}

.tk-about-photo-badge {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #0a84ff, #e0639a);
  color: #fff;
  box-shadow: 0 20px 40px rgba(10, 132, 255, .26);
}

.tk-about-photo-badge strong {
  font-size: 2rem;
  line-height: 1;
}

.tk-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .9fr);
  gap: 30px;
  align-items: start;
}

.tk-article-main,
.tk-article-panel {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 18px 42px rgba(10, 132, 255, .1);
}

.tk-article-main {
  padding: 34px;
}

.tk-article-panel {
  padding: 26px;
}

.tk-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.tk-article-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(10, 132, 255, .07);
  color: #0a84ff;
  font-size: .88rem;
  font-weight: 700;
}

.tk-article-lead {
  color: #456173;
  font-size: 1.04rem;
  line-height: 1.85;
  margin-bottom: 22px;
}

.tk-article-content h2 {
  color: #0d2c3f;
  font-size: clamp(1.35rem, 1.15rem + .4vw, 1.8rem);
  margin: 28px 0 14px;
}

.tk-article-content p,
.tk-article-content li {
  color: #5f7486;
  line-height: 1.82;
  font-size: 1rem;
}

.tk-article-content p {
  margin-bottom: 16px;
}

.tk-article-content ul {
  margin: 0 0 20px;
  padding-left: 18px;
}

.tk-article-quote {
  margin: 28px 0;
  padding: 22px 24px;
  border-left: 4px solid #0a84ff;
  border-radius: 0 20px 20px 0;
  background: linear-gradient(135deg, rgba(10, 132, 255, .06), rgba(56, 182, 255, .08));
  color: #214457;
  font-weight: 600;
  line-height: 1.8;
}

.tk-article-aside {
  display: grid;
  gap: 20px;
  position: sticky;
  top: 110px;
}

.tk-article-panel h3 {
  color: #0d2c3f;
  font-size: 1.15rem;
  margin-bottom: 12px;
}

.tk-article-panel p {
  color: #5f7486;
  line-height: 1.75;
  margin-bottom: 14px;
}

.tk-article-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.tk-article-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 18px;
  margin-top: 28px;
  border-top: 1px solid rgba(10, 132, 255, .12);
}

.tk-about-copy .tk-chip-list {
  margin-top: 26px;
}

.tk-info-band {
  padding: 34px;
  border-radius: 28px;
  background: linear-gradient(135deg, #0a3a57, #0a84ff);
  color: #fff;
  box-shadow: 0 26px 54px rgba(10, 132, 255, .2);
}

.tk-info-band p,
.tk-info-band li {
  color: rgba(255, 255, 255, .82);
}

.tk-timeline-modern {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tk-timeline-modern::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, #0a84ff, #e0639a);
}

.tk-timeline-modern li {
  position: relative;
  padding-left: 44px;
  margin-bottom: 26px;
}

.tk-timeline-modern li:last-child {
  margin-bottom: 0;
}

.tk-timeline-modern li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  border: 6px solid #0a84ff;
  box-shadow: 0 0 0 5px rgba(10, 132, 255, .1);
}

.tk-timeline-modern .tk-year {
  display: inline-block;
  margin-bottom: 6px;
  color: #0a84ff;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .4px;
}

.tk-timeline-modern h3 {
  font-size: 1.08rem;
  margin-bottom: 6px;
}

.tk-service-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.tk-service-cat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(10, 132, 255, .1);
}

.tk-service-cat strong {
  display: block;
  color: #0d2c3f;
  margin: 14px 0 10px;
  font-size: 1.08rem;
}

.tk-service-cat span {
  display: block;
  color: #6a8093;
  line-height: 1.65;
}

.tk-services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.tk-service-card {
  position: relative;
  height: 100%;
  padding: 30px 26px;
  border-radius: 24px;
  background: linear-gradient(160deg, #ffffff 0%, #eef5fb 100%);
  border: 1px solid rgba(255, 255, 255, .8);
  box-shadow: 0 14px 34px rgba(10, 132, 255, .1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}

.tk-service-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #0a84ff, #22a3c9);
}

.tk-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 50px rgba(10, 132, 255, .18);
}

.tk-service-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.tk-service-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(10, 132, 255, .08);
  color: #0a84ff;
  font-size: .8rem;
  font-weight: 700;
}

.tk-service-meta span i {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  font-size: .92rem;
}

.tk-service-card h3 {
  font-size: 1.2rem;
  line-height: 1.38;
  margin-bottom: 12px;
}

.tk-service-card p {
  margin-bottom: 18px;
  color: #5f7486;
}

.tk-service-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #0a84ff;
  font-weight: 700;
  text-decoration: none;
}

.tk-service-link:hover {
  color: #e0639a;
}

.tk-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.tk-process-step {
  position: relative;
  padding: 28px 24px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(10, 132, 255, .09);
}

.tk-process-step strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  margin-bottom: 18px;
  background: linear-gradient(135deg, #0a84ff, #38b6ff);
  color: #fff;
  font-size: 1rem;
}

.tk-feature-video {
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 28px;
  align-items: stretch;
}

.tk-media-frame,
.tk-video-card iframe {
  width: 100%;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 20px 42px rgba(10, 132, 255, .14);
  aspect-ratio: 16 / 9;
}

.tk-video-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.tk-video-card {
  background: #fff;
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 14px 34px rgba(10, 132, 255, .1);
}

.tk-video-card h3 {
  font-size: 1.08rem;
  margin: 18px 0 10px;
}

.tk-video-card p {
  margin-bottom: 0;
  color: #6a8093;
}

.tk-gallery-top {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 28px;
  align-items: stretch;
}

.tk-gallery-mosaic {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.tk-gallery-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 16px 36px rgba(10, 132, 255, .12);
}

.tk-gallery-card a {
  display: block;
  text-decoration: none;
}

.tk-gallery-card img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  transition: transform .45s ease;
}

.tk-gallery-card:hover img {
  transform: scale(1.05);
}

.tk-gallery-card figcaption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, rgba(7, 19, 28, 0) 0%, rgba(7, 19, 28, .82) 100%);
  color: #fff;
}

.tk-gallery-card strong {
  display: block;
  font-size: 1rem;
}

.tk-gallery-card span {
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, .76);
  font-size: .88rem;
}

.tk-gallery-card.wide {
  grid-column: span 2;
}

.tk-gallery-card.tall img {
  min-height: 500px;
}

.tk-media-note {
  padding: 28px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0a3a57, #0a84ff);
  box-shadow: 0 20px 42px rgba(10, 132, 255, .18);
}

.tk-media-note h3,
.tk-media-note p,
.tk-media-note li {
  color: #fff;
}

.tk-media-note p,
.tk-media-note li {
  color: rgba(255, 255, 255, .8);
}

.tk-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: start;
}

.tk-contact-stack {
  display: grid;
  gap: 20px;
}

.tk-contact-item,
.tk-contact-form-wrap,
.tk-map-card {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 18px 38px rgba(10, 132, 255, .1);
}

.tk-contact-item {
  padding: 28px;
}

.tk-contact-item h3,
.tk-contact-form-wrap h2 {
  color: #0d2c3f;
}

.tk-contact-item h3 {
  margin-bottom: 10px;
}

.tk-contact-item p {
  color: #5f7486;
  line-height: 1.7;
  margin-bottom: 14px;
}

.tk-contact-form-wrap {
  padding: 32px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(10, 132, 255, .08);
}

.tk-contact-form-wrap .tk-section-head {
  margin-bottom: 24px;
}

.tk-contact-form .form-control {
  min-height: 56px;
  border: 1px solid #d8e7f1;
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  color: #0d2c3f;
  padding: 15px 18px;
  box-shadow: none;
}

.tk-contact-form textarea.form-control {
  min-height: 172px;
  resize: vertical;
}

.tk-contact-form .form-control:focus {
  border-color: rgba(10, 132, 255, .45);
  box-shadow: 0 0 0 4px rgba(10, 132, 255, .08);
}

.tk-contact-form .pbmit-btn {
  min-width: 220px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(90deg, #0a84ff, #38b6ff);
  box-shadow: 0 14px 30px rgba(10, 132, 255, .22);
}

.tk-contact-form .pbmit-btn:hover {
  background: linear-gradient(90deg, #0d2c3f, #0a84ff);
}

.tk-contact-note {
  margin-top: 18px;
  display: inline-flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(10, 132, 255, .06);
  color: #4f6679;
  line-height: 1.6;
}

.tk-contact-note i {
  color: #0a84ff;
  margin-top: 3px;
}

.tk-map-card {
  overflow: hidden;
  min-height: 100%;
}

.tk-map-card iframe {
  display: block;
  width: 100%;
  min-height: 420px;
  border: 0;
}

.tk-contact-band {
  height: 100%;
}

.tk-cta-banner {
  padding: 34px 38px;
  border-radius: 30px;
  background: linear-gradient(135deg, #0a84ff 0%, #38b6ff 55%, #e0639a 100%);
  box-shadow: 0 28px 54px rgba(10, 132, 255, .2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.tk-cta-banner h2,
.tk-cta-banner p {
  color: #fff;
  margin: 0;
}

.tk-cta-banner p {
  max-width: 720px;
  color: rgba(255, 255, 255, .84);
}

.tk-cta-banner .tk-page-actions {
  flex-shrink: 0;
}

.tk-fw {
  background: linear-gradient(160deg, #0a3a57 0%, #062e45 100%) !important;
  padding: 70px 0 50px !important;
  border: none !important;
}

.tk-fw-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1.2fr 1.4fr;
  gap: 40px;
}

.tk-fw-name {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 4px;
}

.tk-fw-tag {
  color: #7fc4ec;
  font-weight: 600;
  font-size: .95rem;
  margin-bottom: 16px;
}

.tk-fw-about {
  color: rgba(255, 255, 255, .7);
  line-height: 1.7;
  font-size: .93rem;
  margin-bottom: 22px;
}

.tk-fw-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: linear-gradient(90deg, #38b6ff, #e0639a);
  color: #fff;
  font-weight: 700;
  padding: 13px 26px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .25);
}

.tk-fw-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(0, 0, 0, .35);
  color: #fff;
}

.tk-fw-col h4 {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 18px;
  position: relative;
  padding-bottom: 12px;
}

.tk-fw-col h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #38b6ff, #e0639a);
}

.tk-fw-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tk-fw-col > ul > li {
  margin-bottom: 11px;
}

.tk-fw-col a {
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
  font-size: .94rem;
}

.tk-fw-col > ul > li > a:hover {
  color: #fff;
  padding-left: 5px;
}

.tk-fw-contact ul li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 15px;
  color: rgba(255, 255, 255, .72);
  font-size: .92rem;
  line-height: 1.5;
}

.tk-fw-contact i {
  flex: 0 0 auto;
  color: #7fc4ec;
  margin-top: 3px;
  width: 16px;
  text-align: center;
}

.tk-fbottom {
  background: linear-gradient(90deg, #062e45, #0a84ff) !important;
  padding: 22px 0 !important;
  border: none !important;
}

.tk-fbottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.tk-fbottom-copy,
.tk-fbottom-credit {
  color: rgba(255, 255, 255, .8);
  font-size: 14px;
  margin: 0;
}

.tk-fbottom-copy a,
.tk-fbottom-credit a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.tk-fbottom-copy a:hover,
.tk-fbottom-credit a:hover {
  color: #ffd2e6;
}

.tk-fbottom-social {
  display: flex;
  gap: 10px;
}

.tk-fbottom-social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
}

.tk-fbottom-social a:hover {
  background: #fff;
  color: #0a84ff;
  transform: translateY(-3px);
}

@media (max-width: 1199px) {
  .tk-services-grid,
  .tk-grid-3,
  .tk-process-grid,
  .tk-service-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tk-contact-grid {
    grid-template-columns: 1fr;
  }

  .tk-fw-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .main-menu .navigation {
    display: block !important;
  }

  .main-menu .navigation > li > a {
    padding: 14px 0 !important;
    border-bottom: 1px solid #eef3f7;
    border-left: 0;
  }

  .main-menu .navigation > li:hover > a,
  .main-menu .navigation > li.current-menu-item > a {
    border-bottom-color: #eef3f7;
    padding-left: 8px !important;
  }

  .tk-about-layout,
  .tk-feature-video,
  .tk-gallery-top,
  .tk-grid-2,
  .tk-page-mini {
    grid-template-columns: 1fr;
  }

  .tk-subpage-hero,
  .tk-section {
    padding: 72px 0;
  }

  .tk-cta-banner {
    flex-direction: column;
    align-items: flex-start;
  }

  .tk-contact-form-wrap,
  .tk-contact-item {
    padding: 24px;
    border-radius: 24px;
  }
}

@media (max-width: 767px) {
  .tk-services-grid,
  .tk-video-list,
  .tk-grid-3,
  .tk-process-grid,
  .tk-service-categories,
  .tk-gallery-mosaic,
  .tk-fw-grid {
    grid-template-columns: 1fr;
  }

  .tk-gallery-card.wide {
    grid-column: auto;
  }

  .tk-gallery-card.tall img {
    min-height: 240px;
  }

  .tk-fbottom-inner {
    flex-direction: column;
    text-align: center;
  }

  .tk-contact-form .pbmit-btn {
    width: 100%;
  }

  .tk-map-card iframe {
    min-height: 340px;
  }
}

@media (max-width: 1199px) {
  .site-header .site-header-menu,
  .site-header .site-header-menu.sticky-header {
    background: #fff !important;
    border-bottom: 1px solid #e8f0f6;
    box-shadow: 0 10px 30px rgba(10, 132, 255, .08);
  }

  .site-header .site-branding img,
  .site-header .site-header-menu .logo-img {
    filter: none !important;
    height: 64px !important;
    max-height: none !important;
    width: auto !important;
    max-width: 200px !important;
  }

  .header-style-1 .pbmit-right-side {
    display: flex !important;
    align-items: center;
    gap: 12px;
    position: static !important;
    transform: none !important;
  }

  .pbmit-header-button {
    display: block !important;
  }

  .pbmit-header-button .pbmit-btn-outline {
    padding: 11px 18px;
    font-size: 11px;
    letter-spacing: .8px;
    white-space: nowrap;
  }

  .navbar-toggler,
  .site-header .navbar-toggler,
  .sticky-header .navbar-toggler {
    color: #0a84ff !important;
  }

  .pbmit-mobile-menu-bg {
    background: rgba(13, 44, 63, .28) !important;
    backdrop-filter: blur(4px);
  }

  .pbmit-menu-wrap {
    background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%) !important;
    width: min(360px, 100vw) !important;
    right: calc(-1 * min(360px, 100vw)) !important;
    padding: 88px 18px 24px !important;
    box-shadow: -18px 0 42px rgba(10, 132, 255, .16);
  }

  .active .pbmit-menu-wrap {
    right: 0 !important;
  }

  .closepanel {
    top: 18px !important;
    right: 18px !important;
    width: 42px;
    height: 42px;
    line-height: 42px;
    border-radius: 50%;
    font-size: 24px !important;
    color: #0a84ff !important;
    background: #eef6fb;
  }

  .main-menu .navigation {
    display: block !important;
  }

  .main-menu .navigation > li {
    margin: 0;
    border-bottom: 1px solid #e7eef5 !important;
  }

  .main-menu .navigation > li > a,
  .site-header .site-navigation ul.navigation > li > a {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 14px 6px !important;
    color: #0d2c3f !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    letter-spacing: .6px !important;
    text-transform: uppercase !important;
    border-bottom: 0 !important;
  }

  .main-menu .navigation > li:hover > a,
  .main-menu .navigation > li.current-menu-item > a {
    color: #0a84ff !important;
    padding-left: 6px !important;
    background: transparent;
  }

  .site-header .righticon {
    color: #6d8396 !important;
  }

  .main-menu .navigation > li > ul,
  .main-menu .navigation > li > ul > li > ul {
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    box-shadow: none !important;
  }

  .main-menu .navigation > li.dropdown > ul.open,
  .main-menu .navigation > li.dropdown > ul.open li.dropdown > ul.open {
    display: block;
    max-height: min(52vh, 420px);
    overflow-y: auto;
    background: #f7fbff !important;
    border: 1px solid #dceaf4;
    border-radius: 18px;
    padding: 8px 10px !important;
    margin: 6px 0 16px;
  }

  .main-menu .navigation > li > ul li a {
    padding: 12px 14px !important;
    color: #4f6679 !important;
    font-size: 14px;
    font-weight: 600;
    border-radius: 12px;
  }

  .main-menu .navigation > li > ul li a:hover,
  .main-menu .navigation > li > ul li.active > a {
    color: #0a84ff !important;
    background: rgba(10, 132, 255, .08);
  }
}

@media (max-width: 991px) {
  .site-header .site-header-menu {
    padding: 8px 0;
  }

  .site-header .site-branding img,
  .site-header .site-header-menu .logo-img {
    height: 58px !important;
    max-width: 180px !important;
  }

  .tk-subpage-hero,
  .tk-section {
    padding: 64px 0;
  }

  .tk-page-panel,
  .tk-card,
  .tk-service-card,
  .tk-info-band {
    padding: 24px;
    border-radius: 22px;
  }

  .tk-page-actions {
    gap: 12px;
  }

  .tk-page-btn,
  .tk-page-link {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575px) {
  .pbmit-header-button {
    display: none !important;
  }

  .pbmit-menu-wrap {
    width: 100vw !important;
    right: -100vw !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .site-header .site-header-menu .logo-img {
    height: 52px !important;
    max-width: 160px !important;
  }
}

