/* Kıbrıs Psikoloji v29 — coherent, responsive secondary-page system. */

:root {
  --kp29-ink:#263f3c;
  --kp29-deep:#173f3b;
  --kp29-green:#167064;
  --kp29-muted:#687a75;
  --kp29-paper:#fffdf9;
  --kp29-warm:#f6f1e9;
  --kp29-sage:#e3ebe4;
  --kp29-clay:#a06d59;
  --kp29-line:rgba(38,63,60,.13);
  --kp29-shadow:0 22px 60px rgba(25,61,57,.08);
}

/* Compact page path between the fixed header and page content. */
.kp-breadcrumb-wrap {
  box-sizing:border-box;
  margin:0!important;
  padding:.8rem max(1rem,calc((100vw - 1200px) / 2))!important;
  border-bottom:1px solid var(--kp29-line);
  background:var(--kp29-paper);
}
.kp-breadcrumbs { max-width:1200px!important; margin:0 auto!important; }
.kp-breadcrumbs ol {
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .55rem;
  margin:0;
  padding:0;
  list-style:none;
  color:var(--kp29-muted);
  font-size:.76rem;
  line-height:1.5;
}
.kp-breadcrumbs li { display:flex; min-width:0; align-items:center; gap:.55rem; }
.kp-breadcrumbs li:not(:last-child)::after { content:"/"; color:rgba(38,63,60,.32); }
.kp-breadcrumbs a { color:var(--kp29-green); text-decoration:none; }
.kp-breadcrumbs span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* One dependable opening composition for every secondary page. */
.kp-v29-page-hero,
.kp-legal-hero {
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  min-height:clamp(350px,46vw,590px)!important;
  overflow:hidden;
  padding-block:clamp(4.25rem,8vw,7.5rem)!important;
  border-bottom:1px solid var(--kp29-line);
  background:
    radial-gradient(circle at 91% 18%,rgba(151,170,162,.25),transparent 22rem),
    linear-gradient(135deg,#fffdf9 0%,#f7f2ea 100%)!important;
}

.kp-v29-page-hero::before,
.kp-legal-hero::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(45deg,transparent 47%,rgba(160,109,89,.07) 48%,rgba(160,109,89,.07) 49%,transparent 50%),
    linear-gradient(-45deg,transparent 47%,rgba(22,112,100,.055) 48%,rgba(22,112,100,.055) 49%,transparent 50%);
  background-position:0 0,32px 0;
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(90deg,transparent 8%,rgba(0,0,0,.45) 74%,rgba(0,0,0,.75));
  mask-image:linear-gradient(90deg,transparent 8%,rgba(0,0,0,.45) 74%,rgba(0,0,0,.75));
}

.kp-v29-page-hero > *,
.kp-legal-hero > * {
  position:relative;
  z-index:1;
}

.kp-v29-page-hero > h1,
.kp-v29-page-hero > p,
.kp-v29-page-hero > .wp-block-buttons {
  width:min(100%,820px);
  margin-right:auto!important;
  margin-left:max(0px,calc((100vw - 1200px) / 2))!important;
  text-align:left!important;
}

.kp-v29-page-hero h1,
.kp-legal-hero h1 {
  margin-top:0!important;
  color:var(--kp29-ink);
  font-size:clamp(2.55rem,5.6vw,5rem)!important;
  font-weight:400;
  line-height:.98!important;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}

.kp-v29-page-hero p.has-lg-font-size,
.kp-legal-hero p.has-lg-font-size {
  max-width:660px!important;
  margin-top:1.35rem;
  color:var(--kp29-muted)!important;
  line-height:1.7;
}

.kp-v29-page-hero .wp-block-buttons { margin-top:2rem; }

/* Image-led about and online pages. */
.kp-v29-page-hero:has(.wp-block-columns) {
  display:block!important;
  min-height:0!important;
}

.kp-v29-page-hero > .wp-block-columns {
  width:min(1200px,calc(100% - 2rem));
  margin-inline:auto!important;
}

.kp-v29-page-hero .wp-block-column { min-width:0; }

.kp-about-main-photo,
.kp-online-photo {
  position:relative;
  margin:0!important;
  overflow:hidden;
  border:1px solid rgba(38,63,60,.1);
  border-radius:48% 48% 1.75rem 1.75rem;
  background:var(--kp29-sage);
  box-shadow:var(--kp29-shadow);
}

.kp-about-main-photo img,
.kp-online-photo img {
  display:block;
  width:100%;
  height:clamp(420px,49vw,660px)!important;
  object-fit:cover;
  object-position:center 18%;
}

.kp-v29-page-hero .kp-v28-specialist-title strong { white-space:normal; }

/* About page. */
.kp-v29-about-story,
.kp-v29-about-education,
.kp-v29-principles,
.kp-v29-cert-link-section,
.kp-v29-services-page,
.kp-v29-guidance-section,
.kp-v29-online-features,
.kp-v29-preparation-section,
.kp-articles-page,
.kp-certificates-page-archive {
  box-sizing:border-box;
  padding-inline:max(1rem,calc((100vw - 1200px) / 2))!important;
}

.kp-v29-about-story { background:var(--kp29-paper)!important; }
.kp-v29-about-story .wp-block-columns,
.kp-v29-about-education .wp-block-columns { gap:clamp(2rem,6vw,6rem)!important; }

.kp-v29-about-story .kp-editorial-photo {
  margin:0;
  overflow:hidden;
  border-radius:1.5rem 6rem 1.5rem 1.5rem;
  box-shadow:var(--kp29-shadow);
}

.kp-v29-about-story .kp-editorial-photo img {
  display:block;
  width:100%;
  min-height:520px;
  object-fit:cover;
}

.kp-v29-about-story .kp-editorial-quote {
  margin-top:2rem;
  padding:1.5rem 0 0 1.5rem;
  border:0;
  border-top:1px solid var(--kp29-line);
  border-left:3px solid var(--kp29-clay);
  color:var(--kp29-ink);
}

.kp-v29-about-education { background:var(--kp29-warm)!important; }
.kp-v29-about-education .kp-credential-list { display:grid; gap:1rem; }
.kp-v29-about-education .kp-credential-item {
  box-sizing:border-box;
  align-items:flex-start!important;
  gap:1rem;
  margin:0;
  padding:1.35rem 1.4rem;
  border:1px solid var(--kp29-line);
  border-radius:1.25rem;
  background:rgba(255,253,249,.82);
}
.kp-v29-about-education .kp-credential-item p { margin:0; }
.kp-v29-about-education .kp-feature-number {
  flex:0 0 2.5rem;
  color:var(--kp29-clay);
  font-family:var(--wp--preset--font-family--editorial);
  font-size:1.35rem;
}

.kp-v29-principles { background:var(--kp29-sage)!important; }
.kp-v29-principles .wp-block-columns { gap:1rem!important; }
.kp-v29-principles .wp-block-column {
  box-sizing:border-box;
  padding:clamp(1.35rem,3vw,2.2rem);
  border:1px solid rgba(38,63,60,.11);
  border-radius:1.4rem;
  background:rgba(255,253,249,.76);
}
.kp-v29-principles h3 { margin-top:0; }
.kp-v29-cert-link-section { border-top:1px solid var(--kp29-line); }

/* Services: equal cards and a readable scope panel. */
.kp-v29-services-page { background:var(--kp29-paper)!important; }
.kp-v29-service-grid,
.kp-v29-feature-grid { align-items:stretch!important; gap:1rem!important; }
.kp-v29-service-grid > .wp-block-column,
.kp-v29-feature-grid > .wp-block-column { display:flex; min-width:0; }
.kp-v29-service-card,
.kp-v29-feature-card {
  box-sizing:border-box;
  display:flex;
  flex:1;
  flex-direction:column;
  width:100%;
  min-height:370px;
  margin:0;
  padding:clamp(1.5rem,3vw,2.3rem);
  border:1px solid var(--kp29-line);
  border-radius:1.65rem;
  background:var(--kp29-paper);
  box-shadow:0 14px 42px rgba(25,61,57,.055);
}
.kp-v29-service-card--sage { background:var(--kp29-sage); }
.kp-v29-service-card h2,
.kp-v29-feature-card h2 { margin-top:auto; }
.kp-v29-service-card .kp-card-link { margin-top:1.2rem; }
.kp-v29-card-index,
.kp-v29-feature-icon {
  display:grid;
  width:3rem;
  height:3rem;
  place-items:center;
  margin:0 0 3.5rem;
  border:1px solid var(--kp29-line);
  border-radius:50%;
  color:var(--kp29-clay);
  font-family:var(--wp--preset--font-family--editorial);
  font-size:1.15rem;
}
.kp-v29-focus-panel {
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid var(--kp29-line);
  border-radius:1.75rem;
  background:
    linear-gradient(90deg,rgba(227,235,228,.9),rgba(246,241,233,.72)),
    var(--kp29-warm);
}
.kp-v29-focus-grid { margin-top:1.5rem; gap:1rem!important; }
.kp-v29-focus-grid ul,
.kp-v29-check-list { padding:0; list-style:none; }
.kp-v29-focus-grid li,
.kp-v29-check-list li {
  position:relative;
  margin:0;
  padding:.85rem 0 .85rem 2rem;
  border-bottom:1px solid var(--kp29-line);
}
.kp-v29-focus-grid li::before,
.kp-v29-check-list li::before {
  content:"✓";
  position:absolute;
  left:.2rem;
  top:.82rem;
  color:var(--kp29-green);
  font-weight:700;
}
.kp-v29-guidance-section { background:var(--kp29-sage)!important; }
.kp-v29-emergency-note {
  margin-top:1.5rem!important;
  padding:1rem 1.1rem;
  border:1px solid rgba(160,109,89,.22);
  border-left:4px solid var(--kp29-clay);
  border-radius:.85rem;
  background:rgba(255,253,249,.8);
}

/* Online therapy. */
.kp-v29-online-features { background:var(--kp29-sage)!important; }
.kp-v29-feature-card { min-height:300px; background:rgba(255,253,249,.82); }
.kp-v29-feature-card h2 { margin-top:auto; }
.kp-v29-preparation-section { background:var(--kp29-paper)!important; }
.kp-v29-preparation-section > .wp-block-columns {
  box-sizing:border-box;
  padding:clamp(1.5rem,4vw,3.5rem);
  border:1px solid var(--kp29-line);
  border-radius:1.8rem;
  background:linear-gradient(135deg,#fffdf9,#f4efe7);
  box-shadow:var(--kp29-shadow);
}

/* Article and certificate archives. */
.kp-certificates-page-hero,
.kp-articles-hero,
.kp-legal-hero {
  min-height:clamp(330px,40vw,500px)!important;
  text-align:center;
}
.kp-certificates-page-hero > *,
.kp-articles-hero > *,
.kp-legal-hero > * {
  width:min(100%,850px);
  margin-right:auto!important;
  margin-left:auto!important;
  text-align:center!important;
}
.kp-certificates-page-archive,
.kp-articles-page { background:var(--kp29-paper)!important; }
.kp-certificates-page-archive .kp-certificates__track { align-items:stretch!important; }
.kp-certificates-page-archive .kp-certificate-card { min-width:0!important; height:100%; }
.kp-certificates-page-archive .kp-certificate-card__body { min-height:0!important; }
.kp-certificates-page-archive .kp-certificate-card__description { overflow-wrap:anywhere; }

.kp-articles-hero .kp-article-filters {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.55rem;
  margin-top:2rem;
}
.kp-articles-hero .kp-article-filters a { white-space:normal; }
.kp-articles-query .wp-block-post-template { align-items:stretch; gap:1.25rem; }
.kp-query-card--visual { display:flex; height:100%; flex-direction:column; }
.kp-query-card--visual .kp-query-image { margin:0; overflow:hidden; }
.kp-query-card--visual .kp-query-image img { width:100%; object-fit:cover; }
.kp-query-card--visual .kp-query-card__body {
  box-sizing:border-box;
  display:flex;
  flex:1;
  flex-direction:column;
  width:100%;
}
.kp-query-card--visual .wp-block-post-excerpt { flex:1; }
.kp-query-card--visual .wp-block-post-title a { overflow-wrap:anywhere; }
.kp-articles-query .wp-block-query-pagination { margin-top:3rem; gap:.5rem; }
.kp-articles-query .wp-block-query-pagination a,
.kp-articles-query .wp-block-query-pagination span {
  display:grid;
  min-width:2.5rem;
  min-height:2.5rem;
  place-items:center;
  padding:.45rem .7rem;
  border:1px solid var(--kp29-line);
  border-radius:999px;
  background:#fff;
}

/* Legal pages become calm, scannable documents instead of flat text. */
.kp-legal-hero h1 { max-width:18ch!important; }
.kp-legal-page {
  box-sizing:border-box;
  padding:clamp(3.5rem,7vw,6rem) max(1rem,calc((100vw - 1000px) / 2))!important;
  background:
    linear-gradient(180deg,rgba(227,235,228,.55),transparent 14rem),
    var(--kp29-warm)!important;
}
.kp-legal-page > * {
  box-sizing:border-box;
  width:100%;
  max-width:900px!important;
  margin-inline:auto!important;
}
.kp-legal-page > h2,
.kp-legal-page > h3,
.kp-legal-page > p,
.kp-legal-page > ul,
.kp-legal-page > ol {
  padding-inline:clamp(1.25rem,5vw,4.5rem)!important;
  background:var(--kp29-paper);
}
.kp-legal-page > h2 {
  margin-top:0!important;
  padding-top:2.5rem!important;
  border-top:1px solid var(--kp29-line);
  font-size:clamp(1.45rem,2.5vw,2rem);
}
.kp-legal-page > h2:first-of-type { border-radius:1.5rem 1.5rem 0 0; }
.kp-legal-page > p,
.kp-legal-page > ul,
.kp-legal-page > ol {
  margin-top:0;
  margin-bottom:0;
  padding-top:.65rem;
  padding-bottom:2.25rem;
  color:#465b56;
  line-height:1.8;
  overflow-wrap:anywhere;
}
.kp-legal-page > p:last-child,
.kp-legal-page > ul:last-child,
.kp-legal-page > ol:last-child { border-radius:0 0 1.5rem 1.5rem; box-shadow:var(--kp29-shadow); }
.kp-legal-page .kp-legal-notice {
  margin:0 auto 1.5rem!important;
  padding:1.15rem 1.3rem!important;
  border:1px solid rgba(160,109,89,.22)!important;
  border-left:4px solid var(--kp29-clay)!important;
  background:#fffaf4!important;
}

/* Keep the pre-footer invitation distinct from every document background. */
body:not(.home) .kp-prefooter-cta {
  border-top:1px solid var(--kp29-line);
  background:var(--kp29-sage)!important;
}

/* Pages created later by the editor inherit the same visual language. */
.kp-generic-page { background:var(--kp29-warm); }
.kp-generic-page__hero {
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--kp29-line);
  background:
    radial-gradient(circle at 88% 14%,rgba(151,170,162,.26),transparent 20rem),
    linear-gradient(135deg,var(--kp29-paper),var(--kp29-warm));
}
.kp-generic-page__hero .wp-block-post-title {
  max-width:17ch;
  margin-top:2rem;
  color:var(--kp29-ink);
  font-size:clamp(2.55rem,5.6vw,5rem)!important;
  font-weight:400;
  line-height:1;
  overflow-wrap:anywhere;
}
.kp-generic-page__content {
  box-sizing:border-box;
  padding-inline:max(1rem,calc((100vw - 1000px) / 2))!important;
  background:var(--kp29-paper);
}
.kp-generic-page__content .wp-block-post-content > :where(p,ul,ol) { line-height:1.8; }
.kp-generic-page__content .wp-block-post-content :where(img,video,iframe) { max-width:100%; height:auto; }

.kp-archive-page,
.kp-search-page,
.kp-single-article,
.kp-404-page { box-sizing:border-box; overflow:hidden; padding-inline:1rem; }
.kp-archive-page .kp-article-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem; }
.kp-search-page .wp-block-search__inside-wrapper,
.kp-404-page .wp-block-search__inside-wrapper { min-width:0; }

@media (max-width:1000px) {
  .kp-v29-page-hero > h1,
  .kp-v29-page-hero > p,
  .kp-v29-page-hero > .wp-block-buttons { margin-left:auto!important; }
  .kp-v29-page-hero > .wp-block-columns { gap:2.5rem!important; }
  .kp-v29-service-grid,
  .kp-v29-feature-grid { flex-wrap:wrap!important; }
  .kp-v29-service-grid > .wp-block-column,
  .kp-v29-feature-grid > .wp-block-column { flex-basis:calc(50% - .5rem)!important; }
  .kp-articles-query .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

@media (max-width:781px) {
  .kp-v29-page-hero,
  .kp-legal-hero { padding-block:3.75rem!important; }
  .kp-v29-page-hero h1,
  .kp-legal-hero h1 { font-size:clamp(2.35rem,11vw,3.6rem)!important; }
  .kp-v29-page-hero > .wp-block-columns,
  .kp-v29-about-story .wp-block-columns,
  .kp-v29-about-education .wp-block-columns,
  .kp-v29-guidance-section .wp-block-columns,
  .kp-v29-preparation-section .wp-block-columns,
  .kp-v29-cert-link-section .wp-block-columns { gap:2rem!important; }
  .kp-about-main-photo img,
  .kp-online-photo img { height:min(118vw,600px)!important; }
  .kp-v29-about-story .kp-editorial-photo img { min-height:0; max-height:620px; }
  .kp-v29-cert-link-section .wp-block-buttons { justify-content:flex-start!important; }
  .kp-v29-service-grid > .wp-block-column,
  .kp-v29-feature-grid > .wp-block-column { flex-basis:100%!important; }
  .kp-v29-service-card,
  .kp-v29-feature-card { min-height:0; }
  .kp-v29-card-index,
  .kp-v29-feature-icon { margin-bottom:2.5rem; }
}

@media (max-width:680px) {
  .kp-v29-about-story,
  .kp-v29-about-education,
  .kp-v29-principles,
  .kp-v29-cert-link-section,
  .kp-v29-services-page,
  .kp-v29-guidance-section,
  .kp-v29-online-features,
  .kp-v29-preparation-section,
  .kp-articles-page { padding-inline:1rem!important; }
  .kp-articles-query .wp-block-post-template { grid-template-columns:1fr!important; }
  .kp-certificates-page-archive .kp-certificates__track { gap:1rem!important; }
  .kp-certificate-lightbox { padding:.45rem!important; }
  .kp-certificate-lightbox__dialog { max-width:calc(100vw - .9rem)!important; max-height:calc(100dvh - .9rem)!important; }
  .kp-certificate-lightbox__reader { max-height:calc(100dvh - .9rem)!important; }
  .kp-certificate-lightbox__document { min-height:38vh!important; }
  .kp-legal-page { padding-inline:.75rem!important; }
  .kp-legal-page > h2,
  .kp-legal-page > h3,
  .kp-legal-page > p,
  .kp-legal-page > ul,
  .kp-legal-page > ol { padding-inline:1.15rem!important; }
}

@media (prefers-reduced-motion:reduce) {
  .kp-query-card--visual,
  .kp-certificate-card,
  .kp-query-card--visual img { transition:none!important; }
}
