/*
  Kaeva Counselling 10.12
  Final footer canvas and wordmark alignment rules.
  This file is deliberately loaded after the compiled site stylesheet.
*/

/* Keep any browser canvas below the document the same colour as the footer. */
html {
  min-height: 100%;
  background: #30483f !important;
}

body {
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: flex !important;
  flex-direction: column !important;
  background: #30483f !important;
  background-image: none !important;
}

body > main {
  width: 100%;
  flex: 1 0 auto !important;
  background: #fbf8f2;
}

body > footer,
body > .footer {
  flex: 0 0 auto !important;
  margin-top: auto !important;
  background: #30483f !important;
}

/* Align the wordmark with the footer description and language badge. */
.footer .footer-brand-block {
  min-width: 0;
  text-align: left;
}

.footer .footer-brand {
  width: max-content !important;
  max-width: 100%;
  display: inline-flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  align-self: flex-start !important;
  margin: 0 0 24px !important;
  color: #f5f0e8 !important;
  text-align: left !important;
}

.footer .footer-brand .brand-name {
  color: #f5f0e8 !important;
  font-size: 2.35rem !important;
  line-height: .82 !important;
  letter-spacing: .022em !important;
}

.footer .footer-brand small {
  margin-top: .42rem !important;
  color: rgba(255,255,255,.68) !important;
  font-size: .55rem !important;
  letter-spacing: .31em !important;
}

.footer .footer-brand-block p {
  margin-top: 0;
}

@media (max-width: 620px) {
  .footer .footer-brand {
    margin-bottom: 20px !important;
  }

  .footer .footer-brand .brand-name {
    font-size: 2.15rem !important;
  }
}

@supports (height: 100dvh) {
  body {
    min-height: 100dvh !important;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 10.14 — LARGER HEADER WORDMARK
   ================================================================== */

/* Give the brand more visual presence without crowding the controls. */
.nav .brand{
  flex:0 0 auto;
  width:max-content;
  max-width:calc(100% - 164px);
}
.nav .brand-name{
  font-size:3.18rem!important;
  line-height:.79!important;
  letter-spacing:.018em!important;
}
.nav .brand small{
  margin-top:.42rem!important;
  font-size:.7rem!important;
  letter-spacing:.31em!important;
}

@media(max-width:620px){
  .navin{
    min-height:94px!important;
    gap:14px!important;
  }
  .nav .brand{
    max-width:calc(100% - 118px);
  }
  .nav .brand-name{
    font-size:2.48rem!important;
    line-height:.8!important;
  }
  .nav .brand small{
    margin-top:.4rem!important;
    font-size:.58rem!important;
    letter-spacing:.29em!important;
  }
  .nav-actions{
    flex:0 0 auto;
    gap:8px!important;
  }
  .language-picker summary,
  .menu{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  .links{top:94px!important}
  .nav-backdrop{inset:94px 0 0!important}
}

@media(max-width:380px){
  .navin{
    min-height:88px!important;
    gap:10px!important;
  }
  .nav .brand{
    max-width:calc(100% - 106px);
  }
  .nav .brand-name{
    font-size:2.2rem!important;
  }
  .nav .brand small{
    font-size:.51rem!important;
    letter-spacing:.27em!important;
  }
  .language-picker summary,
  .menu{
    width:45px!important;
    height:45px!important;
    min-width:45px!important;
    min-height:45px!important;
  }
  .links{top:88px!important}
  .nav-backdrop{inset:88px 0 0!important}
}


/* ==================================================================
   KAEVA COUNSELLING 10.15 — COMPACT CREDENTIAL HIERARCHY
   ================================================================== */

/*
  The registration line previously used margin-top:auto, which pushed it
  to the bottom of the fixed-height caption and created a large visual gap.
*/
.page-home .hero-therapist-caption {
  justify-content: flex-start !important;
}

.page-home .hero-therapist-credentials {
  margin-top: 10px !important;
}

@media (max-width: 700px) {
  .page-home .hero-therapist-credentials {
    margin-top: 8px !important;
  }
}

@media (max-width: 430px) {
  .page-home .hero-therapist-caption {
    min-height: 108px !important;
  }

  .page-home .hero-therapist-credentials {
    margin-top: 7px !important;
  }
}


/* Kaeva Counselling 10.16 — Contact navigation de-duplication */
.page-contact .nav-actions {
  margin-left: auto;
}


/* 10.18 Root compatibility page: language-pure specialty chips */
.focus-row > span > [data-lang]{
  padding:0!important; margin:0!important; min-height:0!important; width:auto!important;
  background:transparent!important; border:0!important; border-radius:0!important;
}
.focus-row > span > [data-lang]::before{content:none!important;display:none!important;}


/* ==================================================================
   KAEVA COUNSELLING 10.22 — CONTACT AND EMAIL REFINEMENT
   ================================================================== */

.page-contact .editorial-hero {
  padding: 56px 0 48px;
}

.page-contact .contact-section {
  padding-top: 44px;
}

.page-contact .consultation-banner.shell {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  width: min(var(--shell), calc(100% - 52px));
  margin: 0 auto 32px;
  padding: 28px 30px;
  border-left: 1px solid rgba(63, 89, 79, .15);
}

.page-contact .consultation-copy {
  min-width: 0;
}

.page-contact .consultation-copy h2 {
  margin-bottom: 7px;
}

.page-contact .consultation-email-link {
  color: var(--pine);
  font-weight: 820;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.page-contact .contact-grid-v4 {
  align-items: stretch;
}

.page-contact .contact-profile {
  height: 100%;
}

.page-contact .contact-profile > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.page-contact .contact-profile .credentials {
  min-height: 4.8em;
}

.page-contact .contact-actions {
  margin: 18px 0 15px;
}

.page-contact .contact-actions .text-link {
  min-height: 38px;
  align-items: center;
  justify-content: flex-start;
  padding-inline: 3px;
  font-size: .84rem;
}

.page-contact .profile-mini-link {
  margin-top: auto;
  padding-top: 7px;
}

.footer .footer-email {
  font-weight: 720;
  overflow-wrap: anywhere;
}

@media (max-width: 960px) {
  .page-contact .consultation-banner.shell {
    grid-template-columns: minmax(0, 1fr) auto;
    width: min(var(--shell), calc(100% - 36px));
  }
}

@media (max-width: 700px) {
  .page-contact .editorial-hero {
    padding: 40px 0 34px;
  }

  .page-contact .contact-section {
    padding-top: 30px;
  }

  .page-contact .consultation-banner.shell {
    grid-template-columns: 1fr;
    gap: 16px;
    width: min(var(--shell), calc(100% - 28px));
    padding: 23px 21px;
  }

  .page-contact .consultation-banner .btn {
    width: 100%;
  }

  .page-contact .contact-profile .credentials {
    min-height: 0;
  }

  .page-contact .contact-actions .text-link {
    justify-content: center;
    text-align: center;
  }
}


/* ==================================================================
   KAEVA COUNSELLING 10.23 — LATEST LOGO AND BRAND ASSET INTEGRATION
   ================================================================== */
.brand-picture {
  display: block;
  width: 100%;
}

.brand-logo {
  display: block;
  width: 100%;
  height: auto;
}

.nav .brand {
  width: 180px !important;
  max-width: calc(100% - 164px) !important;
  flex: 0 0 auto;
}

.nav .brand-picture,
.nav .brand-logo {
  width: 100%;
}

.footer .footer-brand {
  width: 220px !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
}

.footer .footer-brand .brand-logo {
  filter: brightness(0) invert(1);
  opacity: .93;
}

@media (max-width: 620px) {
  .nav .brand {
    width: 154px !important;
    max-width: calc(100% - 118px) !important;
  }

  .footer .footer-brand {
    width: 205px !important;
  }
}

@media (max-width: 380px) {
  .nav .brand {
    width: 142px !important;
    max-width: calc(100% - 106px) !important;
  }
}

/* ================================================================
   VERSION 10.24 — homepage approach-label language-wrapper fix
   Keep the root index and /en/ homepage typography identical.
   The root index uses nested language spans inside <small>; generic
   approach-strip span rules must not make those summaries look like titles.
   ================================================================ */
.page-home .approach-strip-curated > a > small,
.page-home .approach-strip-curated > a > small span {
  color: var(--muted);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .78rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-wrap: pretty;
}


/* Version 10.25: show all three language choices simultaneously. */
.language-switcher{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid var(--line-strong);
  border-radius:999px;
  background:rgba(255,253,249,.88);
  box-shadow:0 4px 14px rgba(48,72,63,.04);
  white-space:nowrap;
}
.language-button{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border-radius:999px;
  color:var(--pine-deep);
  font-size:.76rem;
  font-weight:790;
  line-height:1;
  text-decoration:none;
  transition:background var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition);
}
.language-button:hover{
  background:var(--sakura-mist);
  transform:translateY(-1px);
}
.language-button[aria-current="page"]{
  background:var(--pine-deep);
  color:#fff;
  box-shadow:0 5px 13px rgba(48,72,63,.16);
}
.language-label-short{display:none;}

/* Keep the full navigation stable on medium desktop widths. */
@media (min-width:1131px) and (max-width:1440px){
  .language-label-full{display:none;}
  .language-label-short{display:inline;}
  .language-button{min-width:35px;padding:0 9px;font-size:.78rem;}
}

@media (max-width:620px){
  .language-switcher{gap:2px;padding:2px;}
  .language-label-full{display:none;}
  .language-label-short{display:inline;}
  .language-button{min-width:32px;min-height:36px;padding:0 8px;font-size:.76rem;}
}

@media print{
  .language-switcher{display:none!important;}
}


/* ==================================================================
   KAEVA COUNSELLING 10.26 — THIRD COUNSELLOR INTEGRATION
   ================================================================== */

/* Three clinician portraits in the homepage hero. */
.page-home .hero-therapists{
  max-width:760px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.page-home .hero-therapist-card:nth-child(2){margin-top:34px!important}
.page-home .hero-therapist-card:nth-child(3){margin-top:0!important}
.page-home .hero-therapist-caption{min-height:112px!important;padding:14px 13px 15px!important}
.page-home .hero-therapist-degree{display:block;margin-top:4px;color:var(--muted);font-size:.61rem;line-height:1.35;overflow-wrap:anywhere}
.page-home .hero-therapist-note{grid-column:1/-1!important}

/* Keep the third homepage profile visually balanced beneath the first two. */
.page-home .clinician-feature.alice-feature{
  grid-column:1/-1;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  grid-template-rows:1fr;
}
.page-home .clinician-feature.alice-feature .feature-photo img{
  height:100%;
  aspect-ratio:auto;
  object-position:center 18%;
}

/* Team comparison table supports a label plus three counsellors. */
.page-team .quick-compare-row{
  grid-template-columns:minmax(135px,.52fr) repeat(3,minmax(0,1fr));
}
.page-team .quick-compare-person{font-size:1.14rem}
.page-team .quick-compare-value{font-size:.86rem}

/* Contact page: two columns with the third profile centred on desktop. */
.page-contact .contact-grid-v4 .contact-profile:nth-child(3){
  grid-column:1/-1;
  width:min(100%,760px);
  justify-self:center;
}

/* Alice's portrait crop remains consistent across placements. */
.person-alice{object-position:center 14%!important}
.page-profile .person-alice.profile-photo-v4{object-position:center top!important}

@media(max-width:1130px){
  .page-home .hero-therapists{max-width:680px!important}
  .page-home .clinician-feature.alice-feature{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .page-home .clinician-feature.alice-feature .feature-photo img{height:auto;aspect-ratio:16/10}
  .page-team .quick-compare{overflow-x:auto}
  .page-team .quick-compare-table{min-width:900px}
}

@media(max-width:840px){
  .page-home .hero-therapists{max-width:620px!important}
  .page-contact .contact-grid-v4 .contact-profile:nth-child(3){grid-column:auto;width:100%}
}

@media(max-width:620px){
  .page-home .hero-therapists{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:420px!important;
  }
  .page-home .hero-therapist-card:nth-child(2){margin-top:0!important}
  .page-home .hero-therapist-card:nth-child(3){
    grid-column:1/-1;
    width:calc(50% - 5px);
    justify-self:center;
  }
  .page-home .hero-therapist-caption{min-height:98px!important}
  .page-home .hero-therapist-degree{font-size:.56rem}
  .page-home .clinician-feature.alice-feature{grid-template-columns:1fr}
  .page-home .clinician-feature.alice-feature .feature-photo img{aspect-ratio:4/4.55}
  .page-team .quick-compare{padding:24px 18px 18px!important}
}

@media(max-width:360px){
  .page-home .hero-therapists{grid-template-columns:1fr!important;max-width:285px!important}
  .page-home .hero-therapist-card:nth-child(3){grid-column:auto;width:100%}
}
