/* Small interactions for the public design without WordPress/Elementor JS. */
html { scroll-behavior: smooth; }
.ta-skip { position: absolute; top: -100px; left: 16px; z-index: 10000; padding: 10px 16px; background: #397e28; color: #fff; }
.ta-skip:focus { top: 12px; color: #fff; }
.ta-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.elementor-location-header { position: relative; z-index: 100; }
.elementor-location-header .elementor-menu-toggle { cursor: pointer; }
.elementor-location-header .elementor-nav-menu--dropdown { z-index: 200; }
.elementor-location-header .elementor-nav-menu--dropdown[aria-hidden="true"] { pointer-events: none; }
@media (max-width: 1024px) {
  .elementor-location-header .elementor-nav-menu--dropdown { display: none; width: min(100vw, 420px) !important; left: auto !important; right: 0 !important; top: 100% !important; }
  .elementor-location-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown { display: block; pointer-events: auto; }
  .elementor-location-header .ta-submenu-open > .sub-menu { display: block !important; position: static !important; width: 100% !important; }
}
.elementor-accordion .elementor-tab-title { cursor: pointer; }
.elementor-accordion .elementor-tab-content { display: none; }
.elementor-accordion .elementor-tab-content.elementor-active { display: block; }
.elementor-widget-n-carousel .swiper-wrapper { display: flex !important; gap: 10px; transform: none !important; transition: none !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 !important; scrollbar-width: none; }
.elementor-widget-n-carousel .swiper-wrapper::-webkit-scrollbar { display: none; }
.elementor-widget-n-carousel .swiper-slide { flex: 0 0 calc((100% - 20px) / 3) !important; width: auto !important; margin: 0 !important; scroll-snap-align: start; }
.elementor-widget-n-carousel .swiper-slide[aria-hidden="true"] { visibility: visible; }
.elementor-widget-n-carousel .elementor-swiper-button { cursor: pointer; }
@media (min-width: 768px) and (max-width: 1024px) { .elementor-widget-n-carousel .swiper-slide { flex-basis: calc((100% - 10px) / 2) !important; } }
@media (max-width: 767px) { .elementor-widget-n-carousel .swiper-slide { flex-basis: 100% !important; width: 100% !important; } }
#ta-contact-dialog { width: min(92vw, 700px); max-height: 90vh; overflow: auto; border: 0; border-radius: 10px; padding: clamp(24px, 4vw, 42px); box-shadow: 0 25px 90px #0005; color: #222; }
#ta-contact-dialog::backdrop { background: #0008; }
#ta-contact-dialog h2 { color: #397e28; font: 700 clamp(25px, 3vw, 36px)/1.2 Montserrat, sans-serif; margin: 0 40px 22px 0; }
#ta-contact-dialog .ta-dialog-close { position: absolute; right: 14px; top: 12px; border: 0; background: transparent; color: #3a3a3a; font-size: 32px; cursor: pointer; padding: 3px 10px; }
#ta-contact-dialog .elementor-form-fields-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#ta-contact-dialog .elementor-field-group { width: 100%; }
#ta-contact-dialog .elementor-field-type-textarea, #ta-contact-dialog .elementor-field-type-acceptance, #ta-contact-dialog .e-form__buttons { grid-column: 1 / -1; }
#ta-contact-dialog input:not([type=checkbox]), #ta-contact-dialog textarea { width: 100%; }
#ta-contact-dialog .elementor-button { background: #8ccc00; color: #18330e; border: 0; border-radius: 4px; cursor: pointer; }
@media (max-width: 580px) { #ta-contact-dialog .elementor-form-fields-wrapper { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Official platform symbols link to the verified public profiles. */
.ta-social-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px; width: 100%; }
.ta-social-links a { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #fff; text-decoration: none; }
.ta-social-links img { display: block; width: 20px; height: 20px; object-fit: contain; }
.ta-social-links a:first-child img { width: 60px; height: 60px; }
.ta-social-links a:hover, .ta-social-links a:focus-visible { outline: 3px solid #e2ffac; outline-offset: 3px; }
.ta-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* The added arthrosis guide follows the exercise page's own visual language. */
#ta-uebungen .ta-extended-guide { max-width: 880px; }
#ta-uebungen .ta-extended-guide__eyebrow { color: var(--green); font-size: 13px; font-weight: 750; letter-spacing: .12em; margin: 0 0 10px; }
#ta-uebungen .ta-extended-guide h2:not(:first-of-type) { margin-top: 34px; }
#ta-uebungen .ta-extended-guide > p { margin: 0 0 16px; }
#ta-uebungen .ta-extended-guide__questions { margin: 22px 0 26px; border-top: 1px solid var(--line); }
#ta-uebungen .ta-extended-guide__questions details { border-bottom: 1px solid var(--line); }
#ta-uebungen .ta-extended-guide__questions summary { cursor: pointer; padding: 17px 32px 17px 0; font-weight: 650; line-height: 1.45; list-style-position: inside; }
#ta-uebungen .ta-extended-guide__questions details p { margin: 0; padding: 0 0 20px 20px; }
#ta-uebungen .ta-extended-guide__source { color: var(--muted); font-size: 14px; }
@media (max-width: 700px) { .ta-social-links { gap: 14px; padding: 0 18px; } #ta-uebungen .ta-extended-guide__questions summary { padding-top: 14px; padding-bottom: 14px; } }

/* A calm surface makes the practice description readable and keeps green as an accent. */
.elementor-10 .elementor-element-794a83a { background-color: #f2f7ee !important; }
.elementor-10 .elementor-element-794a83a .elementor-element-435f522 .elementor-heading-title { color: #1f6320 !important; }
.elementor-10 .elementor-element-794a83a .elementor-element-3876706,
.elementor-10 .elementor-element-794a83a .elementor-element-3876706 p,
.elementor-10 .elementor-element-794a83a .elementor-element-3876706 strong { color: #253529 !important; }
.elementor-10 .elementor-element-794a83a .elementor-element-3876706 a { color: #1f6320 !important; }

.ta-review-link { margin: 4px 0 22px; text-align: center; }
.ta-review-link a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 7px 14px; border: 1px solid #d9e8d3; border-radius: 999px; background: #f7faf5; color: #1f6320 !important; font-size: 15px; font-weight: 650; text-decoration: none !important; }
.ta-review-link a:hover, .ta-review-link a:focus-visible { background: #eaf4e3; outline: 2px solid #1f6320; outline-offset: 2px; }
.ta-review-link img { display: block; flex: 0 0 48px; width: 48px; height: 48px; margin: -12px; object-fit: contain; }

#post-726 .ta-contact-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 30px; }
#post-726 .ta-contact-action { display: flex; flex-direction: column; justify-content: center; min-height: 118px; padding: 18px; border: 1px solid #d9e8d3; border-radius: 15px; background: #f2f7ee; color: #234326 !important; text-decoration: none !important; }
#post-726 .ta-contact-action strong { color: inherit; font-size: 18px; line-height: 1.3; }
#post-726 .ta-contact-action span { margin-top: 9px; color: inherit; font-size: 14px; line-height: 1.45; }
#post-726 .ta-contact-action-primary { border-color: #1f6b24; background: #1f6b24; color: #fff !important; }
#post-726 .ta-contact-action:hover, #post-726 .ta-contact-action:focus-visible { outline: 2px solid #1f6320; outline-offset: 2px; }

@media (max-width: 767px) {
  .elementor-10 .elementor-element-1a30f71 p:first-child { font-size: 16px !important; line-height: 1.55 !important; }
  .elementor-42 .elementor-element-6acf3bb8 .elementor-heading-title { font-size: clamp(23px, 7vw, 29px) !important; line-height: 1.18 !important; overflow-wrap: normal !important; word-break: normal !important; }
  .elementor-42 .elementor-element-578a3572 .elementor-heading-title { font-size: clamp(20px, 5.6vw, 24px) !important; line-height: 1.25 !important; }
  #post-726 .ta-contact-actions { grid-template-columns: 1fr; }
  #post-726 .ta-contact-action { min-height: 84px; padding: 16px 18px; }
}
.ta-video-consent{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#153e33,#28744c);color:#fff;text-align:center;padding:1.5rem}.ta-video-consent-inner{max-width:24rem}.ta-video-play{display:inline-grid;place-items:center;width:4.5rem;height:4.5rem;border:2px solid #fff;border-radius:50%;font-size:1.6rem;padding-left:.25rem}.ta-video-consent p{color:#fff;font-size:1.1rem;font-weight:700;margin:1rem 0}.ta-video-consent button{border:0;border-radius:.35rem;background:#9bd31a;color:#173a2d;font-weight:700;padding:.65rem 1.1rem;cursor:pointer}.ta-video-consent small{display:block;color:#fff;line-height:1.4;margin-top:.7rem}.ta-video-consent a{color:#fff;text-decoration:underline}.ta-video-consent button:focus-visible,.ta-video-consent a:focus-visible{outline:3px solid #fff;outline-offset:3px}
