/* Kıbrıs Psikoloji v23 — visible hero identity and final layout corrections. */

/* Portrait labels live on the photograph, not in a detached bar. */
.kp-v18-hero-media {
  position:relative!important;
  isolation:isolate;
}

.kp-v18-hero-media .kp-v12-hero-photo {
  height:100%;
}

.kp-v18-hero-media .kp-v12-hero-photo img {
  min-height:650px;
}

.kp-v23-profile-card,
.kp-v18-profile-caption.kp-v23-profile-card {
  position:absolute!important;
  z-index:6!important;
  right:clamp(1rem,2.4vw,2rem)!important;
  bottom:clamp(1rem,2.4vw,2rem)!important;
  left:auto!important;
  display:block!important;
  width:min(280px,calc(100% - 2rem))!important;
  min-height:0!important;
  margin:0!important;
  overflow:visible!important;
  border:1px solid rgba(22,74,70,.13)!important;
  border-radius:14px!important;
  background:rgba(255,253,249,.94)!important;
  box-shadow:0 16px 40px rgba(13,53,50,.16)!important;
  backdrop-filter:blur(9px);
}

.kp-v23-profile-card .kp-v18-profile-name {
  display:block!important;
  margin:0!important;
  text-align:left;
}

.kp-v23-profile-card .kp-v18-profile-name strong {
  display:block!important;
  color:#263f3c!important;
  font-size:1rem!important;
  line-height:1.25;
}

.kp-v23-profile-card .kp-v18-profile-name span {
  display:block!important;
  margin-top:.32rem!important;
  color:#167064!important;
  font-size:.78rem!important;
  font-weight:700!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.kp-v23-hero-note,
.kp-v18-hero-media .kp-v23-hero-note {
  position:absolute!important;
  z-index:5!important;
  top:clamp(1.25rem,3vw,2.5rem)!important;
  right:auto!important;
  bottom:auto!important;
  left:clamp(1rem,2.8vw,2.4rem)!important;
  max-width:10ch!important;
  margin:0!important;
  padding:.7rem .85rem!important;
  border:1px solid rgba(22,74,70,.11);
  border-radius:12px;
  background:rgba(255,253,249,.84)!important;
  color:#50625b!important;
  font-family:var(--wp--preset--font-family--editorial)!important;
  font-size:clamp(1rem,1.5vw,1.25rem)!important;
  font-style:italic;
  line-height:1.12;
  text-align:center;
  transform:rotate(-7deg)!important;
  box-shadow:0 12px 28px rgba(13,53,50,.10);
  backdrop-filter:blur(8px);
}

/* Meaningful, consistently drawn benefit icons below the appointment action. */
.kp-v12-benefits {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.75rem!important;
  padding-top:1.15rem!important;
}

.kp-v12-benefits > .wp-block-column {
  box-sizing:border-box;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;
  gap:.75rem!important;
  min-width:0;
  padding:.85rem!important;
  border:1px solid rgba(22,74,70,.1)!important;
  border-radius:13px;
  background:#f8faf6;
}

.kp-v12-benefits > .wp-block-column:first-child { padding-left:.85rem!important; }

.kp-v12-benefit-icon {
  display:grid!important;
  width:42px!important;
  height:42px!important;
  place-items:center;
  border:1px solid rgba(22,74,70,.18)!important;
  border-radius:50%!important;
  background:#e4ebe3!important;
}

.kp-v12-benefit-icon svg {
  display:block!important;
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:#164a46!important;
  stroke-width:1.7!important;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.kp-v12-benefits p { margin:0!important; line-height:1.35!important; }
.kp-v12-benefits strong { display:block; color:#263f3c; font-size:.75rem!important; }
.kp-v12-benefits p span { display:block; margin-top:.2rem; color:#687975; font-size:.66rem!important; }

/* Guard against all legacy asymmetric service rules. */
.home .kp-v18-services-grid,
.home .kp-v9-services-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}

.home .kp-v18-services-grid > .wp-block-column,
.home .kp-v9-services-grid > .wp-block-column,
.home .kp-v9-services-grid > .wp-block-column:nth-child(1),
.home .kp-v9-services-grid > .wp-block-column:nth-child(2),
.home .kp-v9-services-grid > .wp-block-column:nth-child(3) {
  grid-column:auto!important;
  width:auto!important;
  height:100%!important;
  flex-basis:auto!important;
}

.home .kp-v18-service-card,
.home .kp-v9-service-feature {
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  min-height:315px!important;
}

/* Archive spines show category plus the item's number inside that category. */
.kp-certificate-showcase .kp-certificate-card__spine-title {
  top:.9rem;
  bottom:.9rem;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  max-height:none;
  color:rgba(255,253,249,.9);
  writing-mode:horizontal-tb;
  transform:translateX(-50%);
}

.kp-certificate-card__spine-number {
  display:block;
  color:#d8c1b4;
  font:600 .67rem/1 var(--wp--preset--font-family--sans);
  letter-spacing:.12em;
}

.kp-certificate-card__spine-category {
  display:block;
  max-height:245px;
  overflow:hidden;
  color:inherit;
  font:600 clamp(.61rem,.74vw,.7rem)/1.25 var(--wp--preset--font-family--sans);
  letter-spacing:.12em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

@media (max-width:1000px) {
  .kp-v18-hero-media .kp-v12-hero-photo img { min-height:0; }
}

@media (max-width:760px) {
  .kp-v12-benefits { grid-template-columns:1fr!important; }
  .home .kp-v18-services-grid,
  .home .kp-v9-services-grid { grid-template-columns:1fr!important; }
  .home .kp-v18-service-card,
  .home .kp-v9-service-feature { min-height:0!important; }
}

@media (max-width:600px) {
  .kp-v23-profile-card,
  .kp-v18-profile-caption.kp-v23-profile-card {
    right:.75rem!important;
    bottom:.75rem!important;
    width:min(250px,calc(100% - 1.5rem))!important;
  }
  .kp-v23-hero-note,
  .kp-v18-hero-media .kp-v23-hero-note {
    top:1rem!important;
    left:.8rem!important;
  }
}
