/* Kıbrıs Psikoloji v21 — corrected content order, archive gallery and simple footer. */
:root {
  --kp21-green:#164a46;
  --kp21-ink:#263f3c;
  --kp21-brown:#a06d59;
  --kp21-brown-soft:#d8c1b4;
  --kp21-paper:#fffdf9;
  --kp21-cream:#f5f0e8;
  --kp21-line:rgba(125,78,60,.22);
}

/* Remove accidental gaps and make section changes a deliberate fine rule. */
main .wp-block-post-content > .alignfull,
.wp-site-blocks main > .alignfull {
  margin-block:0!important;
}

main .wp-block-post-content > .alignfull + .alignfull,
.wp-site-blocks main > .alignfull + .alignfull {
  border-top:1px solid rgba(160,109,89,.15);
}

/* One restrained brown divider between home sections. */
.home main > .wp-block-group:not(:first-child),
.home main > .wp-block-pattern > .wp-block-group {
  position:relative;
}

.home .kp-v18-services::before,
.home .kp-v9-therapist::before,
.home .kp-process-section--v9::before,
.home .kp-v9-cert-section::before,
.home .kp-latest-posts--v9::before,
.home .kp-v18-appointment-section::before {
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:50%;
  width:min(1240px,calc(100% - 2rem));
  height:17px;
  transform:translate(-50%,-8px);
  background:
    linear-gradient(45deg,transparent 44%,var(--kp21-brown) 45% 54%,transparent 55%) center/13px 13px no-repeat,
    linear-gradient(90deg,transparent,rgba(160,109,89,.28) 18%,rgba(160,109,89,.28) 47%,transparent 47% 53%,rgba(160,109,89,.28) 53%,rgba(160,109,89,.28) 82%,transparent) center/100% 1px no-repeat;
  opacity:.72;
  pointer-events:none;
}

/* The professional title remains visible below the name, in green. */
.kp-v18-profile-caption {
  display:flex!important;
  visibility:visible!important;
  min-height:88px;
  background:var(--kp21-paper)!important;
}

.kp-v18-profile-name {
  display:block!important;
  color:var(--kp21-ink)!important;
  line-height:1.45;
}

.kp-v18-profile-name strong {
  display:block;
  color:var(--kp21-ink)!important;
}

.kp-v18-profile-name span {
  display:block;
  margin-top:.15rem;
  color:var(--kp21-green)!important;
  font-weight:700;
}

/* Services are three equal cards at every desktop width. */
.kp-v18-services-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:1rem!important;
}

.kp-v18-services-grid > .wp-block-column,
.kp-v18-services-grid > .wp-block-column:last-child {
  grid-column:auto!important;
  width:auto!important;
  min-width:0;
  height:100%;
  flex-basis:auto!important;
}

.kp-v18-service-card,
.kp-v18-services-grid > .wp-block-column:last-child .kp-v18-service-card {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  min-height:315px!important;
  padding:1.6rem!important;
}

.kp-v18-service-card .kp-card-link {
  margin-top:auto;
  padding-top:1.25rem;
}

/* Semi-circular archive trays with documents peeking out. */
.kp-certificates {
  --kp-cert-arch:#e4e9df;
  --kp-cert-arch-alt:#eadfd5;
  --kp-cert-line:rgba(22,74,70,.14);
}

.kp-certificates__viewport {
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:3.6rem .35rem 2rem!important;
  scroll-padding-inline:.35rem;
}

.kp-certificates__track,
.kp-certificate-showcase .kp-certificates__track,
.kp-certificates-page-archive .kp-certificates__track {
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:clamp(260px,27vw,345px)!important;
  grid-template-columns:none!important;
  align-items:start!important;
  width:max-content!important;
  min-width:100%!important;
  gap:clamp(1.2rem,2.5vw,2.5rem)!important;
}

.kp-certificates-page-archive .kp-certificates__controls {
  display:flex!important;
}

.kp-certificates-page-archive .kp-certificates__progress {
  display:block!important;
}

.kp-certificate-card,
.kp-certificate-showcase .kp-certificate-card,
.kp-certificates-page-archive .kp-certificate-card {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.kp-certificate-card__media,
.kp-certificate-showcase .kp-certificate-card__media,
.kp-certificates-page-archive .kp-certificate-card__media {
  position:relative!important;
  isolation:isolate;
  box-sizing:border-box;
  display:block;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1.42 / 1!important;
  margin:0!important;
  overflow:visible!important;
  border:1px solid rgba(22,74,70,.12)!important;
  border-bottom:0!important;
  border-radius:999px 999px 18px 18px!important;
  background:linear-gradient(145deg,#eef1e9 0%,var(--kp-cert-arch) 68%,#d5ded4 100%)!important;
  box-shadow:inset 0 -24px 35px rgba(22,74,70,.06),0 18px 38px rgba(22,74,70,.08)!important;
  cursor:zoom-in;
  transform:none!important;
  transition:box-shadow .3s ease,translate .3s ease!important;
}

.kp-certificate-card:nth-child(even) .kp-certificate-card__media {
  background:linear-gradient(145deg,#f3ebe4 0%,var(--kp-cert-arch-alt) 68%,#dfd0c4 100%)!important;
}

.kp-certificate-card__media::before {
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  inset:auto -1px -1px!important;
  width:auto!important;
  height:34%!important;
  border:1px solid rgba(22,74,70,.14)!important;
  border-radius:14px 14px 18px 18px!important;
  background:linear-gradient(180deg,rgba(255,253,249,.97),#e8ede5)!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
  box-shadow:0 -6px 18px rgba(22,74,70,.06);
}

.kp-certificate-card:nth-child(even) .kp-certificate-card__media::before {
  background:linear-gradient(180deg,#fbf7f2,#eadfd6)!important;
}

.kp-certificate-card__media::after {
  content:"Belgeyi aç"!important;
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:1.1rem!important;
  padding:.5rem .75rem!important;
  border-radius:999px!important;
  background:var(--kp21-green)!important;
  color:#fff!important;
  font:700 .66rem/1 var(--wp--preset--font-family--sans)!important;
  white-space:nowrap;
  opacity:0!important;
  transform:translate(-50%,7px)!important;
  transition:opacity .22s ease,transform .22s ease!important;
}

.kp-certificate-card__media img,
.kp-certificate-showcase .kp-certificate-card__media img,
.kp-certificates-page-archive .kp-certificate-card__media img {
  position:absolute!important;
  z-index:2!important;
  left:17%!important;
  top:9%!important;
  box-sizing:border-box;
  display:block!important;
  width:66%!important;
  height:79%!important;
  min-height:0!important;
  padding:.3rem!important;
  border:1px solid rgba(22,74,70,.15)!important;
  border-radius:4px!important;
  background:#fff!important;
  object-fit:contain!important;
  box-shadow:0 14px 30px rgba(22,74,70,.17)!important;
  transform:translateY(0) rotate(-.5deg)!important;
  transform-origin:center bottom;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease!important;
}

.kp-certificate-card:nth-child(even) .kp-certificate-card__media img {
  transform:translateY(0) rotate(.55deg)!important;
}

.kp-certificate-card:hover .kp-certificate-card__media,
.kp-certificate-card__media:focus-visible {
  translate:0 -4px;
  box-shadow:inset 0 -24px 35px rgba(22,74,70,.07),0 26px 52px rgba(22,74,70,.13)!important;
}

.kp-certificate-card:hover .kp-certificate-card__media img,
.kp-certificate-card__media:focus-visible img {
  transform:translateY(-28px) scale(1.035) rotate(0deg)!important;
  box-shadow:0 24px 42px rgba(22,74,70,.22)!important;
}

.kp-certificate-card:hover .kp-certificate-card__media::after,
.kp-certificate-card__media:focus-visible::after {
  opacity:1!important;
  transform:translate(-50%,0)!important;
}

.kp-certificate-card__zoom {
  z-index:6!important;
  top:13%!important;
  right:8%!important;
}

.kp-certificate-card__body,
.kp-certificate-showcase .kp-certificate-card__body,
.kp-certificates-page-archive .kp-certificate-card__body {
  box-sizing:border-box;
  display:block!important;
  width:calc(100% - 1.5rem)!important;
  min-height:145px!important;
  margin:0 auto!important;
  padding:1.3rem 1rem 1rem!important;
  border-inline:1px solid rgba(22,74,70,.1);
  border-bottom:1px solid rgba(22,74,70,.1);
  border-radius:0 0 14px 14px;
  background:rgba(255,253,249,.72);
  text-align:center!important;
}

.kp-certificate-card__body h3 { min-height:2.4em; }
.kp-certificate-card__description { -webkit-line-clamp:2!important; }

/* True viewport reader: never inherits transformed-section positioning. */
html.kp-modal-open,
html.kp-modal-open body {
  overflow:hidden!important;
  overscroll-behavior:none;
}

.kp-certificate-lightbox {
  position:fixed!important;
  z-index:2147483000!important;
  inset:0!important;
  box-sizing:border-box;
  display:grid!important;
  width:100vw!important;
  height:100dvh!important;
  padding:clamp(.5rem,1.5vw,1rem)!important;
  place-items:center;
  overflow:hidden!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  animation:none!important;
  transition:opacity .2s ease,visibility .2s ease;
}

.kp-certificate-lightbox[hidden] { display:none!important; }
.kp-certificate-lightbox.is-open { opacity:1; visibility:visible; pointer-events:auto; }

.kp-certificate-lightbox__backdrop {
  position:absolute!important;
  inset:0!important;
  opacity:1!important;
  background:rgba(13,38,35,.82)!important;
  backdrop-filter:blur(9px);
}

.kp-certificate-lightbox__dialog {
  position:relative!important;
  z-index:1!important;
  box-sizing:border-box;
  width:min(1400px,calc(100vw - 2rem))!important;
  height:min(900px,calc(100dvh - 2rem))!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:20px!important;
  background:var(--kp21-paper)!important;
  box-shadow:0 34px 100px rgba(0,0,0,.34)!important;
  opacity:0;
  transform:scale(.96) translateY(12px);
  transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1);
}

.kp-certificate-lightbox.is-open .kp-certificate-lightbox__dialog {
  opacity:1;
  transform:none;
}

.kp-certificate-lightbox__reader {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

.kp-certificate-lightbox__document {
  box-sizing:border-box;
  display:grid!important;
  min-width:0!important;
  min-height:0!important;
  padding:clamp(1rem,3vw,2.5rem)!important;
  place-items:center;
  overflow:hidden!important;
  background:#e7ebe4!important;
}

.kp-certificate-lightbox__dialog .kp-certificate-lightbox__document img {
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(100dvh - 7rem)!important;
  margin:auto!important;
  object-fit:contain!important;
  border-radius:3px!important;
  background:#fff;
  box-shadow:0 18px 55px rgba(22,47,44,.18)!important;
}

.kp-certificate-lightbox__info {
  box-sizing:border-box;
  display:flex!important;
  flex-direction:column;
  min-width:0!important;
  min-height:0!important;
  padding:clamp(3.5rem,5vw,5rem) clamp(1.5rem,3vw,2.5rem) 1.5rem!important;
  overflow-y:auto!important;
  background:var(--kp21-paper)!important;
}

.kp-certificate-lightbox__close {
  position:absolute!important;
  z-index:5!important;
  top:1rem!important;
  right:1rem!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  border:1px solid rgba(22,74,70,.18)!important;
  background:#fff!important;
}

.kp-certificate-lightbox__description {
  max-width:none!important;
  margin:1.25rem 0!important;
  color:#566a66!important;
  font:400 .92rem/1.7 var(--wp--preset--font-family--sans)!important;
  text-align:left!important;
}

.kp-certificate-lightbox__navigation { margin-top:auto!important; }

/* Simple three-column footer. */
.kp-prefooter-cta--simple {
  border-top:1px solid var(--kp21-line);
  border-bottom:1px solid var(--kp21-line);
  background:#eee2d8!important;
}

.kp-prefooter-card--simple {
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.kp-prefooter-card--simple::after { display:none!important; }
.kp-prefooter-card--simple .kp-prefooter-copy { flex:1 1 520px; }
.kp-prefooter-card--simple .kp-prefooter-copy h2 { max-width:22ch; margin-bottom:0; }
.kp-prefooter-card--simple .wp-block-button__link { min-width:220px; }

.kp-site-footer--v21 {
  position:relative;
  margin:0!important;
  overflow:hidden;
  border:0!important;
  background:#f8f4ed!important;
}

.kp-site-footer--v21::before {
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1320px,calc(100% - 2rem));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--kp21-brown-soft) 14% 86%,transparent);
}

.kp-site-footer--v21::after { display:none!important; }

.kp-footer-main--v21 {
  display:grid!important;
  grid-template-columns:minmax(280px,1.35fr) minmax(160px,.7fr) minmax(230px,1fr)!important;
  align-items:start!important;
  gap:clamp(2.5rem,6vw,6rem)!important;
}

.kp-footer-main--v21 > .wp-block-column {
  box-sizing:border-box;
  width:auto!important;
  min-width:0;
  flex-basis:auto!important;
}

.kp-footer-main--v21 > .wp-block-column + .wp-block-column {
  padding-left:clamp(1.5rem,3vw,3rem)!important;
  border-left:1px solid var(--kp21-line)!important;
}

.kp-site-footer--v21 .kp-footer-logo img {
  width:215px!important;
  height:auto;
  filter:none!important;
  opacity:1!important;
}

.kp-site-footer--v21 .kp-footer-brand h2 {
  max-width:18ch!important;
  margin:1.5rem 0 1rem!important;
  color:var(--kp21-ink)!important;
}

.kp-site-footer--v21 .kp-footer-description {
  max-width:46ch;
  color:#5c6d69!important;
}

.kp-footer-small-note {
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid var(--kp21-line);
  color:var(--kp21-brown)!important;
}

.kp-site-footer--v21 h3 {
  margin:.2rem 0 1.35rem!important;
  color:var(--kp21-brown)!important;
  font-family:var(--wp--preset--font-family--sans)!important;
  font-weight:700;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}

.kp-site-footer--v21 .kp-footer-navigation .wp-block-navigation__container {
  align-items:flex-start!important;
  width:100%;
  gap:.22rem!important;
}

.kp-site-footer--v21 .kp-footer-navigation .wp-block-navigation-item,
.kp-site-footer--v21 .kp-footer-navigation .wp-block-navigation-item__content {
  width:100%;
}

.kp-site-footer--v21 .kp-footer-navigation .wp-block-navigation-item__content {
  position:relative;
  box-sizing:border-box;
  padding:.42rem 0!important;
  color:#405b56!important;
  opacity:1!important;
  transition:color .18s ease,padding-left .18s ease;
}

.kp-site-footer--v21 .kp-footer-navigation .wp-block-navigation-item__content:hover {
  padding-left:.4rem!important;
  color:var(--kp21-brown)!important;
  transform:none!important;
}

.kp-footer-bottom--v21 {
  margin-top:clamp(3rem,6vw,5rem)!important;
  padding-top:1.4rem!important;
  border-top:1px solid var(--kp21-line)!important;
  color:#6d7976!important;
}

.kp-footer-bottom--v21 p { margin:0; line-height:1.55; }
.kp-footer-bottom--v21 p:last-child { max-width:610px; text-align:right; }

@media (max-width:900px) {
  .kp-footer-main--v21 { grid-template-columns:1fr 1fr!important; }
  .kp-footer-brand { grid-column:1/-1; max-width:680px; }
  .kp-footer-main--v21 > .wp-block-column:nth-child(2) { padding-left:0!important; border-left:0!important; }
  .kp-certificates__track,
  .kp-certificate-showcase .kp-certificates__track,
  .kp-certificates-page-archive .kp-certificates__track { grid-auto-columns:minmax(260px,62vw)!important; }
  .kp-certificate-lightbox__reader { grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important; }
}

@media (max-width:720px) {
  .kp-v18-services-grid { grid-template-columns:1fr!important; }
  .kp-v18-service-card,
  .kp-v18-services-grid > .wp-block-column:last-child .kp-v18-service-card { min-height:0!important; }
  .kp-certificate-lightbox__reader { grid-template-columns:1fr!important; grid-template-rows:minmax(0,58%) minmax(0,42%)!important; }
  .kp-certificate-lightbox__document { padding:2.8rem .75rem .75rem!important; }
  .kp-certificate-lightbox__dialog .kp-certificate-lightbox__document img { max-height:calc(58dvh - 4.5rem)!important; }
  .kp-certificate-lightbox__info { padding:1.25rem 1.2rem 1rem!important; }
  .kp-certificate-lightbox__eyebrow { margin-bottom:.45rem!important; }
  .kp-certificate-lightbox__dialog h2 { font-size:1.55rem!important; }
  .kp-certificate-lightbox__meta { margin-top:.55rem!important; padding-bottom:.6rem!important; }
  .kp-certificate-lightbox__description { margin:.7rem 0!important; font-size:.84rem!important; line-height:1.5!important; }
}

@media (max-width:600px) {
  .home .kp-v18-services::before,
  .home .kp-v9-therapist::before,
  .home .kp-process-section--v9::before,
  .home .kp-v9-cert-section::before,
  .home .kp-latest-posts--v9::before,
  .home .kp-v18-appointment-section::before { width:calc(100% - 1.5rem); }
  .kp-certificates__track,
  .kp-certificate-showcase .kp-certificates__track,
  .kp-certificates-page-archive .kp-certificates__track { grid-auto-columns:minmax(245px,86vw)!important; gap:1rem!important; }
  .kp-certificate-card__media::after { opacity:1!important; transform:translate(-50%,0)!important; }
  .kp-footer-main--v21 { grid-template-columns:1fr!important; gap:2rem!important; }
  .kp-footer-brand { grid-column:auto; }
  .kp-footer-main--v21 > .wp-block-column + .wp-block-column { padding:1.75rem 0 0!important; border-top:1px solid var(--kp21-line)!important; border-left:0!important; }
  .kp-footer-bottom--v21 { display:block!important; }
  .kp-footer-bottom--v21 p:last-child { margin-top:.75rem; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  .kp-certificate-card__media,
  .kp-certificate-card__media img,
  .kp-certificate-card__media::after,
  .kp-certificate-lightbox,
  .kp-certificate-lightbox__dialog { transition:none!important; }
  .kp-certificate-card:hover .kp-certificate-card__media { translate:none; }
  .kp-certificate-card:hover .kp-certificate-card__media img { transform:none!important; }
}
