
/* Homepage appointment actions: explicit colours for all interaction states. */
html body a.button.booking-button,
html body .hero a.button.booking-button{
  background:#0a3327!important;
  border-color:#0a3327!important;
  color:#fff!important;
}
html body a.button.booking-button:hover,
html body .hero a.button.booking-button:hover{
  background:#1c634d!important;
  border-color:#1c634d!important;
  color:#fff!important;
  filter:none!important;
}
html body .button.secondary{
  background:#fff!important;
  color:#0a3327!important;
  border-color:#9aafa3!important;
}
html body .button.secondary:hover{
  background:#dff3e8!important;
  color:#0a3327!important;
  border-color:#1c634d!important;
  filter:none!important;
}
html body a.button.booking-button:focus-visible,
html body .nav-cta:focus-visible,
html body .button.secondary:focus-visible{
  outline:3px solid #1c634d!important;
  outline-offset:4px;
  box-shadow:0 0 0 4px #fff!important;
}
html body .nav-cta:hover{
  background:#1c634d!important;
  border-color:#1c634d!important;
  color:#fff!important;
}

/* Clinic and AI entry hierarchy. */
html body .jt-brand-boundary .ai-area .button{background:#dff3e8!important;color:#0a3327!important;border-color:#dff3e8!important}
html body .jt-brand-boundary .ai-area .button:hover{background:#fff!important;color:#0a3327!important;border-color:#fff!important;filter:none!important}
html body .jt-brand-boundary .ai-area .button:focus-visible,html body .explore-link:focus-visible{outline:3px solid #dff3e8;outline-offset:5px}


/* Keep recommendation text dark on its light result and guidance panels. */
#triage .triage-result .result-kicker,
#triage .triage-result .result-main,
#triage .triage-result strong{color:#0a3327!important}
#triage .triage-result p,
#triage .triage-result small,
#triage .triage-result span{color:#43544c!important}
#triage .triage-select span{color:#0a3327!important}
#triage .triage-select select{color:#14221c!important;border-color:#5c6c65!important;opacity:1;-webkit-text-fill-color:currentColor}
#triage .triage-select select:focus-visible{outline:3px solid #1c634d!important;outline-offset:3px}
#triage .triage-doctor-note{background:#e5eee7!important;color:#43544c!important}
#triage .triage-doctor-note.alert{background:#fff5dc!important}
#triage .triage-doctor-note a:not(.button){color:#1c634d!important}

/* One shared structure for the five physiotherapist cards. */
#team .clean-person-card{display:flex;flex-direction:column}
#team .clean-person-copy{display:flex;flex-direction:column;flex:1;gap:12px}
#team .clean-person-copy h4,#team .clean-person-copy>p{margin:0}
#team .pt-specialty{min-height:44px}
#team .pt-profile details{margin:0}
#team .profile-booking{margin-top:auto;padding-top:6px}
#team .pt-profile .profile-booking .button{display:flex;justify-content:center;width:100%;background:#0a3327!important;color:#fff!important;border-color:#0a3327!important}
#team .pt-profile .profile-booking .button:hover{background:#1c634d!important;color:#fff!important;border-color:#1c634d!important;filter:none!important}
#team .pt-profile .profile-booking .button:focus-visible{outline:3px solid #1c634d;outline-offset:4px;box-shadow:0 0 0 4px #fff}
#team .profile-booking small{display:block;margin-top:10px;min-height:36px}

/* 10 October 2026: restore the lower team-photo layout and show the formal group photo uncropped. */
html body .clean-team-hero{
  background:#252627!important;
}
html body .clean-team-hero .photo-open{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#252627!important;
  cursor:zoom-in!important;
}
html body .clean-team-hero .photo-open img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/2!important;
  object-fit:contain!important;
  object-position:center center!important;
  max-height:none!important;
  padding:0!important;
  transform:none!important;
  filter:none!important;
}
@media(max-width:900px){
  html body .clean-team-hero .photo-open img{height:auto!important}
}

/* 11 October 2026: balance the two remaining hero facts after removing duplicate markup. */
html body .hero .clinic-contact-card .hero-meta{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media(max-width:680px){
  html body .hero .clinic-contact-card .hero-meta{
    grid-template-columns:1fr!important;
  }
}

/* Maintain readable copy across the full green triage gradient. */
html body #triage .triage-copy p,html body #triage .triage-copy .micro-note,html body #triage .triage-copy small{color:#f2f7f4!important}

#triage .triage-privacy-note{color:#43544c!important;font-size:.9rem;line-height:1.6;margin:16px 0}

/* 16 October 2026: responsive layout refinements; previous palette restored. */
html body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;line-height:1.65}
html body .wrap{width:min(1120px,calc(100% - 64px))!important}
html body h1,html body h2{font-family:inherit!important;font-weight:600!important;letter-spacing:-.045em!important;text-wrap:balance}
html body h2{font-size:clamp(1.8rem,3.5vw,2.8rem)!important;line-height:1.12!important}
html body p{overflow-wrap:break-word}
html body .hero{padding:88px 0 64px!important}
html body .hero h1{font-size:clamp(2.5rem,5.5vw,4.7rem)!important;line-height:1.06!important;letter-spacing:-.055em!important;}
html body .hero .hero-grid{gap:48px!important}
html body .hero .hero-intro,html body .hero .hero-sub,html body .hero p{}
html body .hero .hero-intro{cursor:default!important}
html body .clinic-contact-card{padding:32px!important;border-radius:24px!important}
html body .clinic-contact-card .eyebrow,html body .clinic-contact-card .hero-phone,html body .clinic-contact-card .hero-phone strong,html body .hero .clinic-contact-card .hero-meta-item strong{}
html body .clinic-contact-card .hero-phone span,html body .hero .clinic-contact-card .hero-meta-item span{opacity:1!important}
html body .clinic-contact-card .hero-phone strong{white-space:normal!important;overflow-wrap:anywhere;font-size:clamp(1.15rem,2vw,1.7rem)!important}
html body .eyebrow,html body .hero .eyebrow{border-radius:0!important;padding:0!important;letter-spacing:.1em}
html body .section{padding:80px 0!important}html body .section.alt,html body .clean-services-section{}
html body .jt-brand-boundary{gap:24px!important;margin-bottom:80px!important}
html body .jt-brand-boundary article{padding:32px!important;border-radius:24px!important;}
html body .jt-brand-boundary h2{margin-top:22px!important}html body .jt-brand-boundary p{font-size:1rem!important}
html body .jt-brand-boundary article.ai-area,html body .explore-section{}
html body .jt-brand-boundary .ai-area h2,html body .explore-head h2{}
html body .jt-brand-boundary .ai-area p,html body .jt-brand-boundary .ai-area .eyebrow,html body .explore-head p,html body .explore-head .eyebrow{}
html body .explore-link{border-radius:18px!important}
html body .explore-link span,html body .explore-link small{}
html body .button,html body .hero .button,html body a.button.booking-button,html body .hero a.button.booking-button,html body #team .pt-profile .profile-booking .button,html body #einmietung .button,html body .career-controls button,html body .nav-cta{border-radius:12px!important;min-height:48px!important;line-height:1.4;white-space:normal;max-width:100%;padding:12px 18px!important}
html body .button:hover,html body .hero .button:hover,html body a.button.booking-button:hover,html body .hero a.button.booking-button:hover,html body #team .pt-profile .profile-booking .button:hover,html body #einmietung .button:hover,html body .career-controls button:hover,html body .nav-cta:hover{filter:none!important;transform:none!important}
html body .button.secondary,html body .hero a.button.secondary,html body .hero .button.call-button{}
html body .jt-brand-boundary .ai-area .button{}
html body #triage.triage-section{}
html body #triage .triage-copy h2,html body #triage .triage-copy .eyebrow{}
html body #triage .triage-copy p,html body #triage .triage-copy small,html body #triage .triage-copy .micro-note{}
html body #triage:after{display:none!important}
html body #triage .triage-card{border-radius:24px!important;padding:28px!important}
html body #triage .triage-result,html body #triage .triage-result.empty,html body #triage .triage-doctor-note,html body #triage .triage-doctor-note.alert{}
html body #triage .triage-select span,html body #triage .triage-result strong,html body #triage .triage-result .result-kicker,html body #triage .triage-result .result-main{}
html body #triage .triage-result p,html body #triage .triage-result small,html body #triage .triage-result span{}
html body .medical-emergency{padding:18px!important;font-weight:750!important}
html body .medical-emergency a{text-decoration:underline!important;text-underline-offset:3px}
html body .medical-help,html body .clean-disclosure,html body .clean-service,html body .refund-accordion,html body .network-discipline,html body .clean-location-grid article,html body .career-wizard{border-radius:18px!important;}
html body #einmietung.rental-offer{}
html body .clean-service[open] summary,html body .booking-truth,html body .location-warning{}
html body select,html body #triage .triage-select select{min-height:48px!important;font-size:1rem!important;max-width:100%}
html body summary{min-height:48px;align-content:center;overflow-wrap:break-word}
html body .mobile-nav summary,html body .mobile-menu-languages a,html body .lang-switch a{min-height:44px!important;min-width:44px!important}
html body :is(a,button,select,input,summary):focus-visible{outline-offset:4px!important;}
html body .ai-area :focus-visible,html body .explore-section :focus-visible{}
html body .hero-backoffice-link,html body .clean-location-grid a,html body .profile-booking a:not(.button){min-height:44px;display:inline-flex;align-items:center}
html body .clean-person-card,html body .clean-team-hero{}
@media(max-width:900px){html body .hero .hero-grid{grid-template-columns:1fr!important;gap:28px!important}html body .clinic-contact-card{max-width:none!important}html body .jt-brand-boundary{gap:20px!important}html body .triage-copy{position:static!important}html body .triage-grid{grid-template-columns:1fr!important;gap:28px!important}}
@media(max-width:620px){html body .wrap{width:calc(100% - 32px)!important}html body .hero{padding:48px 0 40px!important}html body .hero h1{font-size:clamp(2.25rem,10vw,3.1rem)!important}html body .section,html body .explore-section{padding:52px 0!important}html body .jt-brand-boundary{grid-template-columns:1fr!important;margin-bottom:52px!important}html body .jt-brand-boundary article,html body .clinic-contact-card,html body #triage .triage-card{padding:22px!important}html body .hero-actions-primary>.button{flex:1 1 100%}html body .triage-select-grid{grid-template-columns:1fr!important}html body .clean-disclosure>summary{padding:18px!important}html body .clean-location-grid,.rental-packages,.rental-detail-grid{grid-template-columns:1fr!important}html body .medical-help>summary{gap:8px!important}html body .nav-shell{gap:8px!important}html body .clean-price-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}html body *,html body *:before,html body *:after{animation:none!important;transition:none!important}}

/* Intrinsic select widths must not force narrow screens wider than their grid. */
html body .triage-card,html body .triage-select,html body .triage-select select,html body .medical-help>summary>span{min-width:0!important}
@media(max-width:900px){html body .triage-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:620px){html body .triage-select-grid{grid-template-columns:minmax(0,1fr)!important}html body #triage .triage-select select{width:100%!important;min-width:0!important}html body .triage-select{padding:10px!important}}

/* 17 October: non-interactive location labels, visible disciplines, inset disclosure arrows. */
html body .hero-location-labels{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 28px!important}
html body .hero-location-labels>span{display:inline-flex;align-items:center;padding:9px 16px;border:1px solid var(--line,#d7dfda);border-radius:999px;background:var(--green-soft,#dff3e8);color:var(--green-deep,#0a3327);font-size:.95rem;font-weight:600;line-height:1.4;cursor:default}
html body #partner .network-discipline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
html body #partner .network-discipline{min-width:0}
html body #partner .network-discipline a{overflow-wrap:anywhere}
html body #einmietung .rental-model-details>summary{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:12px;list-style:none!important}
html body #einmietung .rental-model-details>summary::-webkit-details-marker{display:none}
html body #einmietung .rental-model-details>summary::marker{content:""}
html body #einmietung .rental-model-details>summary::before{content:"›";grid-column:1;grid-row:1 / span 2;align-self:center;justify-self:center;font-size:1.4rem;line-height:1;transform:rotate(0deg)}
html body #einmietung .rental-model-details[open]>summary::before{transform:rotate(90deg)}
html body #einmietung .rental-model-details>summary>span{grid-column:2;min-width:0}
html body .clean-service>summary>span{min-width:0}
html body .clean-service>summary>b{flex-shrink:0;max-width:40%;white-space:normal}
@media(max-width:900px){html body #partner .network-discipline-grid{grid-template-columns:minmax(0,1fr)}}

/* Clear, separate entry points for real care and synthetic product demos. */
html body .jt-brand-boundary .demo-entry-link{display:block;margin-top:20px;font-weight:700;font-size:14px;line-height:1.6;text-underline-offset:4px;color:#0a3327!important}
html body .jt-brand-boundary .ai-area .demo-entry-link{color:#e1f0e6!important}
html body .jt-brand-boundary .demo-entry-link:focus-visible{outline:3px solid #1c634d;outline-offset:4px}
html body .jt-brand-boundary .ai-area .demo-entry-link:focus-visible{outline-color:#c8ef51}
html body .massage-addon{background:#e3efe7;border:1px solid #9eb7a6}

/* Booking guidance is not a medical urgency assessment. Keep limits before actions. */
html body #triage .appointment-timing{font-size:16px;font-weight:700;color:#0a3327!important;margin:18px 0 12px}
html body #triage .appointment-safety{font-size:14px;line-height:1.65;color:#43544c!important;background:#f5f7f3;border:1px solid #9aafa3;border-radius:12px;padding:16px;margin:0 0 10px}
html body #triage .appointment-source{font-size:13px;line-height:1.6;margin-bottom:20px}

/* Compact AI overview: one desktop row, progressively fewer columns on smaller screens. */
html body #explore .explore-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:end}
html body #explore .explore-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px;align-items:stretch}
html body #explore .explore-link{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:200px;padding:18px 14px;height:100%;overflow-wrap:anywhere}
html body #explore .explore-link strong{margin:0;font-size:1.2rem;line-height:1.25}
html body #explore .explore-link span{display:block;font-size:.88rem;line-height:1.5}
html body #explore .explore-link em{margin-top:auto;padding-top:12px;font-size:.82rem;line-height:1.4}
html body #explore .ai-overview-plan{margin:22px 0 8px;max-width:900px;color:#d4e0db}
html body #explore .ai-overview-note{margin:0;max-width:900px;font-size:.9rem;color:#d4e0db}
html body #explore .ai-overview-note a{color:#fff;text-underline-offset:3px}
@media(max-width:1023px){html body #explore .explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:680px){html body #explore .explore-head{grid-template-columns:1fr!important;gap:16px}html body #explore .explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body #explore .explore-link{padding:18px;min-height:180px!important}}
@media(max-width:479px){html body #explore .explore-grid{grid-template-columns:1fr!important}html body #explore .explore-link{min-height:0!important}}
