/* Kıbrıs Psikoloji v30 — dedicated appointment page and global WhatsApp access. */

.kp-v30-appointment-hero {
  min-height:clamp(330px,40vw,500px)!important;
  text-align:center;
}

.kp-v30-appointment-hero > * {
  width:min(100%,820px);
  margin-right:auto!important;
  margin-left:auto!important;
  text-align:center!important;
}

.kp-v30-appointment-page,
.kp-v30-contact-process {
  box-sizing:border-box;
  padding-inline:max(1rem,calc((100vw - 1200px) / 2))!important;
}

.kp-v30-appointment-page { background:#f6f1e9!important; }
.kp-v30-appointment-layout { align-items:stretch!important; }
.kp-v30-appointment-layout > .wp-block-column {
  display:flex;
  min-width:0;
  flex-basis:calc(50% - .75rem)!important;
}

.kp-v30-appointment-page .kp-appointment-form {
  box-sizing:border-box;
  margin:0;
  border-color:rgba(38,63,60,.13);
  background:#fffdf9;
  box-shadow:0 24px 70px rgba(25,61,57,.08);
  flex:1;
  width:100%;
}

.kp-v30-contact-panel {
  box-sizing:border-box;
  position:relative;
  padding:clamp(1.5rem,3vw,2.15rem);
  border:1px solid rgba(38,63,60,.13);
  border-radius:1.75rem;
  background:#e3ebe4;
  box-shadow:0 20px 54px rgba(25,61,57,.07);
  flex:1;
  width:100%;
}

.kp-v30-contact-panel > h2 { margin-top:0; }
.kp-v30-contact-panel .kp-contact-info--card {
  margin-top:1.5rem;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.kp-v30-contact-panel .kp-contact-info--card > h3 { display:none; }
.kp-v30-contact-panel .kp-contact-info--card > p:not(.kp-contact-info__whatsapp) {
  margin:0;
  padding:1rem 0;
  border-bottom:1px solid rgba(38,63,60,.13);
  color:#4d625d;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.kp-v30-contact-panel .kp-contact-info--card strong {
  display:block;
  margin-bottom:.3rem;
  color:#263f3c;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kp-v30-contact-panel .kp-contact-info--card a { color:#173f3b; }
.kp-v30-contact-panel .kp-contact-info__whatsapp { margin:1.4rem 0 0; }
.kp-v30-contact-panel .kp-contact-info__whatsapp a {
  box-sizing:border-box;
  display:flex;
  width:100%;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.8rem 1rem;
  border-radius:999px;
  background:#167064;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.kp-v30-contact-panel .kp-contact-info__whatsapp a:hover {
  background:#125c53;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(22,112,100,.22);
}
.kp-v30-contact-panel .kp-contact-info__socials {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1rem;
}
.kp-v30-contact-panel .kp-contact-info__socials:empty { display:none; }
.kp-v30-contact-panel .kp-contact-info__socials a {
  padding:.45rem .7rem;
  border:1px solid rgba(38,63,60,.14);
  border-radius:999px;
  font-size:.75rem;
  text-decoration:none;
}
.kp-v30-contact-note {
  margin-top:1.4rem!important;
  padding-top:1.25rem;
  border-top:1px solid rgba(38,63,60,.13);
  color:#657772;
  line-height:1.6;
}

.kp-v30-contact-process { background:#e3ebe4!important; }
.kp-v30-contact-steps { gap:1rem!important; }
.kp-v30-contact-steps > .wp-block-column {
  box-sizing:border-box;
  min-width:0;
  padding:clamp(1.35rem,3vw,2rem);
  border:1px solid rgba(38,63,60,.12);
  border-radius:1.4rem;
  background:rgba(255,253,249,.78);
}
.kp-v30-contact-steps h3 { margin-top:1.5rem; }
.kp-v30-step-number {
  display:grid;
  width:3rem;
  height:3rem;
  place-items:center;
  margin:0;
  border:1px solid rgba(38,63,60,.14);
  border-radius:50%;
  color:#a06d59;
  font-family:var(--wp--preset--font-family--editorial);
  font-size:1.15rem;
}

.kp-appointment-page-view .kp-prefooter-cta { display:none; }

/* Always available, but quiet enough not to cover page content. */
.kp-floating-whatsapp {
  position:fixed;
  z-index:9998;
  right:max(1rem,env(safe-area-inset-right));
  bottom:max(1rem,env(safe-area-inset-bottom));
  box-sizing:border-box;
  display:flex;
  min-height:56px;
  align-items:center;
  gap:.65rem;
  padding:.65rem 1rem .65rem .72rem;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:#167064;
  color:#fff!important;
  font-size:.82rem;
  font-weight:700;
  line-height:1;
  text-decoration:none!important;
  box-shadow:0 16px 42px rgba(12,71,62,.28);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.kp-floating-whatsapp svg {
  display:block;
  width:2rem;
  height:2rem;
  fill:currentColor;
}
.kp-floating-whatsapp:hover,
.kp-floating-whatsapp:focus-visible {
  background:#105f55;
  transform:translateY(-3px);
  box-shadow:0 20px 48px rgba(12,71,62,.34);
}
.kp-floating-whatsapp:focus-visible { outline:3px solid rgba(160,109,89,.5); outline-offset:3px; }

@media (max-width:900px) {
  .kp-v30-appointment-layout { flex-wrap:wrap!important; }
  .kp-v30-appointment-layout > .wp-block-column { flex-basis:100%!important; }
  .kp-v30-contact-panel { position:static; }
}

@media (max-width:680px) {
  .kp-v30-appointment-page,
  .kp-v30-contact-process { padding-inline:1rem!important; }
  .kp-v30-contact-steps { gap:1rem!important; }
  .kp-floating-whatsapp {
    right:max(.75rem,env(safe-area-inset-right));
    bottom:max(.75rem,env(safe-area-inset-bottom));
    width:54px;
    height:54px;
    min-height:54px;
    justify-content:center;
    padding:0;
  }
  .kp-floating-whatsapp span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
}

@media (prefers-reduced-motion:reduce) {
  .kp-floating-whatsapp,
  .kp-v30-contact-panel .kp-contact-info__whatsapp a { transition:none; }
}

@media print {
  .kp-floating-whatsapp { display:none!important; }
}
