/* Sjednocené podstránky, představení týmu a reálné formuláře pluginů. */
.watsu-inner-hero { min-height: 480px; background-image: linear-gradient(90deg, rgba(8,51,61,.84), rgba(8,51,61,.52) 48%, rgba(8,51,61,.06) 100%), var(--inner-hero-image); background-size: cover; background-position: center; color: white; display: flex; align-items: center; position: relative; overflow: hidden; }
.watsu-inner-hero::after { content: ''; position: absolute; bottom: -43px; left: -5%; width: 110%; height: 78px; border-radius: 50% 50% 0 0; background: var(--foam); }
.watsu-inner-hero__content { position: relative; z-index: 1; padding-block: 90px 105px; }
.watsu-inner-hero h1 { color: inherit; max-width: 690px; margin-bottom: 14px; }
.watsu-inner-hero p:not(.eyebrow) { max-width: 590px; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.55; margin: 0; }
.watsu-inner-hero .eyebrow { color: inherit; }
.watsu-inner-hero--light { background-image: linear-gradient(90deg, rgba(250,248,242,.98) 0%, rgba(250,248,242,.88) 32%, rgba(250,248,242,.15) 67%, rgba(8,51,61,.1) 100%), var(--inner-hero-image); color: var(--ink); min-height: 440px; }
.watsu-inner-hero__note { position: absolute; right: 3%; top: 27%; max-width: 150px; color: white; font: 2rem/1 'Caveat', cursive; transform: rotate(-8deg); text-shadow: 0 2px 12px rgba(0,0,0,.38); }

.watsu-about { background: var(--foam); }
.watsu-about__intro { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(280px,.88fr); gap: clamp(35px, 7vw, 100px); padding-top: var(--section-space); align-items: start; }
.watsu-about__intro h2 { max-width: 590px; }
.watsu-about__lead { color: #587077; font-size: clamp(1.1rem,1.65vw,1.3rem); max-width: 620px; }
.watsu-about__portrait { background: #dfedef; border: 10px solid #dfedef; border-radius: 24px; margin: 0; }
.watsu-about__portrait img { width: 100%; aspect-ratio: 1 / 1.1; object-fit: cover; object-position: center 42%; border-radius: 14px; }
.watsu-about__portrait figcaption { color: var(--ink); font: 1.25rem Manrope, Arial, sans-serif; padding: 11px 5px 2px; text-align: center; }
.watsu-about__team { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; padding-block: var(--section-space-compact); }
.watsu-person { display: grid; grid-template-columns: minmax(140px,.8fr) minmax(0,1fr); gap: 25px; align-items: center; background: #fffdfa; border: 1px solid var(--line); border-radius: 22px; padding: 22px; box-shadow: 0 12px 26px rgba(15,72,87,.04); }
.watsu-person__image img { width: 100%; height: 300px; object-fit: cover; border-radius: 12px; }
.watsu-person__body { align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.watsu-person h3 { font-size: clamp(1.7rem,2.4vw,2.25rem); }
.watsu-person p { color: #60747a; font-size: .96rem; }
.watsu-person .button { margin-top: auto; padding: 10px 20px; font-size: .83rem; }
.watsu-about__quote { background: #dceef0; border: 0; color: var(--ink); margin: 0; padding: 42px 0; font: 500 clamp(1.5rem,2.5vw,2.3rem)/1.4 Manrope, Arial, sans-serif; }
.watsu-about__quote .site-shell { display: flex; gap: 22px; max-width: 1060px; }
.watsu-about__quote span { color: #65a9b2; font-size: 3.3rem; line-height: .8; }
.watsu-about__story { padding-block: var(--section-space); }
.watsu-about__story h2 { margin-bottom: 26px; }
.watsu-about__story .watsu-prose { max-width: none; width: 100%; }
.watsu-prose { max-width: 780px; font-size: 1.04rem; }
.watsu-prose p { margin-bottom: 1.15em; }
.watsu-prose h2, .watsu-prose h3 { margin-top: 1.7em; }
.watsu-prose a:not(.button) { color: var(--water); }
.watsu-entry .watsu-prose { max-width: min(780px, calc(100vw - 34px)); }
.watsu-entry .watsu-prose::after { content: ''; display: block; clear: both; }
.watsu-entry .watsu-prose > p:first-child { font-size: clamp(1.08rem, 1.6vw, 1.2rem); line-height: 1.7; }
.watsu-entry .watsu-prose h2 { font-size: clamp(2rem, 3.2vw, 2.7rem); }
.watsu-entry .watsu-prose :is(a, p, h2, h3) { overflow-wrap: anywhere; }
.watsu-article-image { margin: 8px 0 28px; }
.watsu-article-image--right { float: right; width: min(38%, 285px); margin: 6px 0 22px 28px; }
.watsu-article-image--left { float: left; width: min(42%, 300px); margin: 6px 28px 22px 0; }
.watsu-article-image img { display: block; width: 100%; height: auto; border-radius: 14px; }
.watsu-article-gallery { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 30px 0; }
.watsu-article-gallery figure { margin: 0; }
.watsu-article-gallery img { width: 100%; height: 170px; object-fit: cover; border-radius: 12px; }

.watsu-booking-page { background: var(--foam); }
.watsu-booking-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(30px,5vw,74px); align-items: start; padding-top: 0; padding-bottom: var(--section-space-compact); position: relative; z-index: 2; }
.watsu-booking-form { background: rgba(255,255,255,.95); border: 1px solid rgba(15,72,87,.07); border-radius: 18px; box-shadow: 0 18px 55px rgba(15,72,87,.08); padding: clamp(24px,3vw,44px); margin-top: -32px; }
.watsu-booking-form, .watsu-booking-aside, .watsu-booking-form__plugin { min-width: 0; }
.watsu-booking-form h2, .watsu-booking-aside h2 { font-size: clamp(2rem,2.8vw,2.65rem); margin-bottom: 5px; }
.watsu-booking-form > p { max-width: 550px; color: #536970; }
.watsu-voucher { margin-top: 24px; padding: 18px; border: 1px solid #c5dce0; border-radius: 12px; background: #f3f8f7; }
.watsu-voucher label { display: block; margin-bottom: 10px; color: var(--ink); font-weight: 700; }
.watsu-voucher__controls { display: flex; align-items: stretch; gap: 10px; }
.watsu-booking-form .watsu-voucher__controls input { flex: 1 1 180px; width: 100%; min-width: 0; }
.watsu-booking-form .watsu-voucher__controls button { flex: 0 0 auto; }
.watsu-voucher p { margin: 9px 0 0; color: #536970; font-size: .82rem; }
.watsu-voucher__status:empty { display: none; }
.watsu-voucher__status[data-state="error"] { color: #9e3027; }
.watsu-voucher__status[data-state="success"] { color: #17604d; }
.watsu-voucher-purchase { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: clamp(25px,5vw,80px); margin: clamp(45px,7vw,90px) 0; padding: clamp(28px,5vw,68px); border-radius: 25px; background: #e8f2f1; color: var(--ink); }
.watsu-voucher-purchase h2 { margin: 8px 0 15px; font-size: clamp(1.8rem,3vw,3rem); }
.watsu-voucher-purchase__intro > p:not(.eyebrow) { max-width: 550px; line-height: 1.7; }
.watsu-voucher-purchase__intro > strong { display: block; margin-top: 22px; font-size: 1.35rem; }
.watsu-voucher-purchase__form { display: grid; gap: 15px; }
.watsu-voucher-purchase__form label { display: grid; gap: 7px; font-weight: 600; }
.watsu-voucher-purchase__form input { width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid #aac8cb; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; }
.watsu-voucher-purchase__form .button { width: 100%; justify-content: center; margin-top: 4px; }
.watsu-voucher-purchase__trap { position: absolute !important; overflow: hidden; width: 1px; height: 1px; clip-path: inset(50%); white-space: nowrap; }
.watsu-voucher-purchase__notice { margin: 0; padding: 18px; border: 1px solid #aac8cb; border-radius: 12px; background: #fff; }
.watsu-voucher-result { padding: 14px 18px; border-radius: 9px; background: #e8f2f1; color: var(--ink); }
.watsu-booking-form__plugin { margin-top: 24px; }
.watsu-booking-form__plugin > p:first-child { display: none; }
.watsu-booking-form .mpa-shortcode { background: none; border: 0; box-shadow: none; margin: 0; padding: 0; }
.watsu-booking-form .mpa-service-form { max-width: none; }
.watsu-booking-form .mpa-input-wrapper label { color: var(--ink); font-size: .88rem; font-weight: 600; }
.watsu-booking-form .mpa-input-wrapper { margin-bottom: 15px; }
.watsu-booking-form :is(select,input:not([type=checkbox]):not([type=radio]),textarea) { background: #fff; border: 1px solid #c8d4d5; border-radius: 6px; color: var(--text); font: inherit; min-height: 44px; max-width: 100%; padding: 9px 12px; }
.watsu-booking-form select { width: 100%; }
.watsu-booking-form :is(button,.button,input[type=submit]) { background: var(--water); border: 0; border-radius: 999px; color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: 12px 22px; }
.watsu-booking-form :is(button,.button,input[type=submit]):hover { background: var(--ink); }
.watsu-booking-form .mpa-checkout-form, .watsu-booking-form .mpa-booking-form { max-width: 100%; }
.watsu-booking-form .flatpickr-calendar.inline { width: 100%; max-width: 100%; }
.watsu-booking-form :is(.flatpickr-rContainer,.flatpickr-days,.dayContainer,.flatpickr-weekdays,.flatpickr-weekdaycontainer) { width: 100%; min-width: 0; max-width: 100%; }
.watsu-booking-form .flatpickr-day { max-width: 14.2857%; flex-basis: 14.2857%; }
.watsu-booking-form .flatpickr-current-month { display: flex; align-items: center; justify-content: center; gap: 5px; padding-top: 0; }
.watsu-booking-form .flatpickr-current-month .cur-month { margin-left: 0; }
.watsu-booking-form .flatpickr-current-month .numInputWrapper { display: inline-flex; align-items: center; flex: 0 0 5.5ch; width: 5.5ch; height: 28px; vertical-align: middle; }
.watsu-booking-form .flatpickr-current-month input.cur-year { width: 100% !important; height: 28px; min-height: 0; margin: 0; padding: 0 2px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ink); font-size: inherit; line-height: 28px; text-align: center; }
.watsu-booking-form .flatpickr-current-month .numInputWrapper > span { display: none; }
.watsu-booking-form .mpa-times-container::before { content: 'Vyberte čas terapie'; display: block; margin: 4px 0 12px; color: var(--ink); font-size: .9rem; font-weight: 700; }
.watsu-booking-form .mpa-times { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; overflow: visible; }
.watsu-booking-form .mpa-time-wrapper .mpa-time-period { display: inline-flex; align-items: center; justify-content: center; width: 100% !important; min-width: 0; max-width: none; min-height: 46px; margin: 0; padding: 9px 7px; border: 1px solid #b9d1d4; border-radius: 9px; background: #edf5f4; color: var(--ink) !important; font-size: .9rem; font-weight: 700; }
.watsu-booking-form .mpa-time-wrapper .mpa-time-period:hover { background: #dceeee; color: var(--ink) !important; }
.watsu-booking-form .mpa-time-wrapper .mpa-time-period-selected, .watsu-booking-form .mpa-time-wrapper .mpa-time-period-selected:hover { border-color: var(--water); background: var(--water); color: #fff !important; }
.watsu-booking-form .mpa-time-period .mpa-period-end-time { display: inline !important; }
.watsu-booking-aside { padding-top: 12px; }
.watsu-booking-aside > div:first-of-type { max-width: 540px; }
.watsu-booking-benefits { display: grid; gap: 19px; margin: 28px 0; }
.watsu-booking-benefit { display: flex; align-items: center; gap: 18px; }
.watsu-booking-benefit__icon { align-items: center; background: #dfedef; border-radius: 50%; color: var(--ink); display: inline-flex; flex: 0 0 64px; height: 64px; justify-content: center; font-size: 1.8rem; }
.watsu-booking-benefit h3 { font-size: 1.25rem; margin: 0 0 2px; }
.watsu-booking-benefit p { color: #596d75; font-size: .93rem; margin: 0; }
.watsu-booking-aside__image { position: relative; margin: 28px 0 0; border-radius: 14px; overflow: hidden; }
.watsu-booking-aside__image img { width: 100%; height: 250px; object-fit: cover; }
.watsu-booking-aside__image figcaption { position: absolute; bottom: 20px; left: 22px; color: white; font: 1.8rem/1 'Caveat', cursive; transform: rotate(-6deg); text-shadow: 0 1px 10px #06404d; }
.watsu-therapy-list { padding-block: var(--section-space-compact) var(--section-space); }
.watsu-therapy-list h2 { margin-bottom: 24px; }
.watsu-therapy-list__row { display: grid; grid-template-columns: minmax(200px,.45fr) minmax(0,1fr); gap: 30px; border-top: 1px solid var(--line); padding: 22px 0; }
.watsu-therapy-list__row:last-child { border-bottom: 1px solid var(--line); }
.watsu-therapy-list__row h3 { margin: 0; font-size: 1.2rem; }
.watsu-therapy-list__row p { margin: 0; }
@media (max-width: 700px) { .watsu-therapy-list__row { grid-template-columns: 1fr; gap: 7px; } }
@media (max-width: 520px) { .watsu-voucher__controls { flex-direction: column; } .watsu-booking-form .watsu-voucher__controls button { width: 100%; } }
.watsu-booking-bottom { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,6vw,90px); padding-bottom: var(--section-space); }
.watsu-faq h2 { font-size: 2rem; }
.watsu-faq details { background: #fffdfa; border-radius: 9px; margin-bottom: 6px; padding: 11px 16px; }
.watsu-faq summary { color: var(--ink); cursor: pointer; display: list-item; font-size: .93rem; }
.watsu-faq details p { border-top: 1px solid var(--line); margin: 10px 0 0; padding-top: 10px; }
.watsu-booking-quote { align-self: center; background: #e7f3f3; border-radius: 50% 48% 45% 52% / 36% 48% 42% 54%; color: var(--ink); margin: 0; padding: 58px clamp(30px,4vw,65px); }
.watsu-booking-quote > span { color: #8aaeb2; font: 4rem Georgia,serif; line-height: .6; }
.watsu-booking-quote p { font: 500 clamp(1.3rem,2vw,1.8rem)/1.4 Manrope,Arial,sans-serif; }
.watsu-booking-quote cite { font: .8rem Manrope,Arial,sans-serif; letter-spacing: .04em; }

/* Reusable page.php keeps classic-editor content editable on every other page. */
.page-main:not(.watsu-about) .page-hero { background-color: #e5f1f1; padding-block: clamp(76px,9vw,130px); }
.page-main .page-hero--image { background-image: linear-gradient(90deg, rgba(8,51,61,.88),rgba(8,51,61,.24)),var(--page-image); }
.page-main .page-hero__text { max-width: 690px; }
.page-main .page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.page-main .page-hero__note { position: absolute; z-index: 1; right: max(5vw, calc((100vw - 1200px)/2)); top: 38%; max-width: 180px; color: white; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.05; transform: rotate(-7deg); text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.page-main .watsu-clean-content { max-width: 1180px; }
.page-main .watsu-clean-content > :is(h2,h3) { max-width: 850px; }
.page-main .watsu-clean-content > figure { max-width: 980px; }
.page-main .watsu-clean-content > figure img { display: block; width: 100%; max-height: 560px; object-fit: cover; border-radius: 28px; }
.page-main .watsu-clean-content > table { width: min(850px,100%); border-collapse: collapse; }
.page-main .watsu-clean-content td, .page-main .watsu-clean-content th { border-bottom: 1px solid var(--line); padding: 12px; text-align: left; }
.page-main .watsu-clean-content > h2 { border-top: 1px solid var(--line); padding-top: 34px; }
.page-main .watsu-clean-content > h2:first-child { border-top: 0; padding-top: 0; }
.page-main .page-content { font-size: 1.03rem; }
.page-main .page-content > :is(.wp-block-columns,.wp-block-gallery,.wp-block-group,.wp-block-cover,.wp-block-media-text,.wp-block-image) { max-width: 1100px; }
.page-main .page-content .wp-block-columns { display: flex; gap: clamp(22px,4vw,55px); }
.page-main .page-content .wp-block-column { min-width: 0; flex: 1 1 0; }
.page-main .page-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { max-width: 100%; border: 1px solid #b9cdd0; border-radius: 6px; background: white; color: var(--ink); font: inherit; padding: 10px 13px; }
.page-main .page-content :is(button,input[type=submit]) { background: var(--water); border: 0; border-radius: 999px; color: white; cursor: pointer; font: inherit; font-weight: 700; padding: 12px 25px; }
.page-main .page-content :is(button,input[type=submit]):hover { background: var(--ink); }
.page-main .page-content .wp-block-button__link { background: var(--water); border-radius: 999px; color: #fff; padding: 12px 24px; text-decoration: none; }
.page-main .page-content .wp-block-button__link:hover { background: var(--ink); }
.page-main .page-content .wp-block-image img, .page-main .page-content .wp-block-gallery img { border-radius: 14px; }
.page-main .page-content details { border-bottom: 1px solid var(--line); padding: 14px 0; }

/* WPForms is the real course sign-up engine on the test site. */
.single-course .page-hero { background-image: linear-gradient(90deg,rgba(250,248,242,.96),rgba(250,248,242,.84),rgba(250,248,242,.2)),url('../images/watsu-hero-07.webp'); background-size: cover; background-position: center; }
.single-course .page-hero p:not(.eyebrow) { max-width: 600px; font-size: 1.13rem; }
.single-course__main { min-width: 0; }
.single-course .wpforms-container, .watsu-course-registration { background: #fffdfa; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); margin-top: 36px; padding: clamp(22px,3.5vw,42px); scroll-margin-top: 30px; }
.single-course .wpforms-container { max-width: 100%; }
.single-course .wpforms-container .wpforms-field-label { color: var(--ink); font-size: .88rem; font-weight: 600; }
.single-course .wpforms-container :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { border: 1px solid #c8d4d5; border-radius: 6px; background: white; color: var(--text); font: inherit; max-width: 100%; padding: 10px 12px; }
.single-course .wpforms-container .wpforms-submit { background: var(--water); border: 0; border-radius: 999px; color: white; cursor: pointer; font: inherit; font-weight: 700; padding: 12px 25px; }
.single-course .wpforms-container .wpforms-submit:hover { background: var(--ink); }
.watsu-course-registration .wpforms-container { border: 0; box-shadow: none; margin: 0; padding: 0; }
.single-course .course-detail-card { border: 1px solid var(--line); border-radius: 17px; }

.watsu-journal__body { padding-block: var(--section-space); }
.watsu-journal__intro { max-width: 580px; font-size: 1.12rem; }
.watsu-journal__intro p { margin: 0; }
.watsu-journal__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.watsu-journal-card { background: #fffdfa; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; }
.watsu-journal-card__image { display: block; overflow: hidden; }
.watsu-journal-card__image img { width: 100%; height: 220px; object-fit: cover; transition: transform .25s ease; }
.watsu-journal-card__image:hover img { transform: scale(1.04); }
.watsu-journal-card__body { padding: 22px 24px 26px; }
.watsu-journal-card .eyebrow { margin-bottom: 7px; }
.watsu-journal-card h2 { font-size: 1.55rem; }
.watsu-journal-card h2 a { text-decoration: none; }
.watsu-journal-card p:not(.eyebrow) { color: #60747a; font-size: .93rem; }
.watsu-journal-card__more { color: var(--ink); font-size: .9rem; font-weight: 700; text-decoration: none; }
.watsu-journal .pagination { margin-top: 40px; }
.watsu-journal .nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.watsu-journal .page-numbers { background: white; border: 1px solid var(--line); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; text-decoration: none; }
.watsu-journal .page-numbers.current { background: var(--water); color: white; }
.watsu-entry .page-content { padding-block: var(--section-space); }
.watsu-entry__back { margin-top: 35px; }

.watsu-contact__body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(38px,6vw,85px); padding-block: var(--section-space); }
.watsu-contact__details h2 { margin-bottom: 28px; }
.watsu-contact__detail { border-top: 1px solid var(--line); padding: 18px 0; }
.watsu-contact__detail h3 { font-size: 1.3rem; margin-bottom: 5px; }
.watsu-contact__detail p { margin: 0; color: #5b7278; }
.watsu-contact__details a { color: var(--water); }
.watsu-contact__form { background: #fffdfa; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); padding: clamp(24px,3vw,42px); }
.watsu-contact__form h2 { font-size: 2rem; }
.watsu-contact__form .wpforms-container { margin-top: 25px; }
.watsu-contact__form .wpforms-field-label { color: var(--ink); font-weight: 600; }
.watsu-contact__form :is(input:not([type=checkbox]),textarea) { background: white; border: 1px solid #c8d4d5; border-radius: 6px; color: var(--ink); font: inherit; max-width: 100%; padding: 10px 12px; }
.watsu-contact__form button { background: var(--water); border: 0; border-radius: 999px; color: white; cursor: pointer; font: inherit; font-weight: 700; padding: 12px 25px; }
.watsu-contact__hero .watsu-inner-hero__content { max-width: none; }
.watsu-contact__revised { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: clamp(30px,5vw,70px); padding-block: var(--section-space); }
.watsu-contact__primary h2 { font-size: clamp(1.45rem,3vw,2.5rem); overflow-wrap: anywhere; }
.watsu-contact__primary h2 a { color: var(--ink); text-decoration: none; }
.watsu-contact__people { display: grid; gap: 24px; margin-top: 40px; }
.watsu-contact__person { border-top: 1px solid var(--line); padding-top: 20px; }
.watsu-contact__person h3 { font-size: 1.2rem; margin-bottom: 6px; }
.watsu-contact__person p { margin: 0; overflow-wrap: anywhere; }
.watsu-contact__companies { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding-bottom: var(--section-space); }
.watsu-contact__company { padding: clamp(22px,3vw,38px); background: #fffdfa; border: 1px solid var(--line); border-radius: 16px; }
.watsu-contact__company h2 { font-size: 1.45rem; }
.watsu-contact__company p:last-child { margin-bottom: 0; }
.watsu-contact__company a { color: var(--water); overflow-wrap: anywhere; }
@media (max-width: 760px) { .watsu-contact__revised,.watsu-contact__companies { grid-template-columns: 1fr; } }
.watsu-media__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding-bottom: var(--section-space); }
.watsu-media__card { overflow: hidden; background: #fffdfa; border-radius: 12px; box-shadow: var(--shadow); }
.watsu-media__card img { width: 100%; height: 220px; object-fit: cover; }
.watsu-media__card > div { padding: 22px; }
.watsu-media__card h2 { font-size: 1.35rem; }
.watsu-media__card h2 a { text-decoration: none; }
.watsu-media__card p:last-child { margin-bottom: 0; }
@media (max-width: 850px) { .watsu-media__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .watsu-media__grid { grid-template-columns: 1fr; } }
.watsu-contact__image { margin-bottom: 85px; }
.watsu-contact__image img { border-radius: 16px; width: 100%; max-height: 340px; object-fit: cover; }

.watsu-registry__body { padding-block: var(--section-space); }
.watsu-registry__intro { max-width: 900px; font-size: 1.12rem; }
.watsu-registry__intro .button-row { margin-top: 24px; }
.watsu-registry__section { border-top: 1px solid var(--line); margin-top: 65px; padding-top: 42px; scroll-margin-top: 25px; }
.watsu-registry__section > div:not(.watsu-registry__cards) { max-width: 850px; }
.watsu-registry__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 30px; }
.watsu-registry-person { background: #fffdfa; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.watsu-registry-person h3 { font-size: 1.3rem; }
.watsu-registry-person p { color: #60747a; margin-bottom: 8px; }
.watsu-registry-person a { color: var(--water); display: block; font-size: .9rem; }
.watsu-registry__empty { background: #e7f3f3; border-radius: 12px; color: var(--ink); margin-top: 25px; padding: 22px; }
.watsu-registry__extra { margin-top: 55px; }
.watsu-association__features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; padding-block: var(--section-space); }
.watsu-association__features article { background: #fffdfa; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow); padding: 30px; }
.watsu-association__number { background: #dceef0; border-radius: 50%; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; font-size: .77rem; font-weight: 700; margin-bottom: 21px; }
.watsu-association__features h2 { font-size: 1.55rem; }
.watsu-association__features p { color: #60747a; margin: 0; }
.watsu-association__story { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.85fr); align-items: center; gap: clamp(35px,7vw,100px); padding-bottom: var(--section-space); }
.watsu-association__story figure { margin: 0; }
.watsu-association__story img { border-radius: 48% 52% 42% 58% / 44% 36% 64% 56%; width: 100%; aspect-ratio: 1 / .95; object-fit: cover; }
.watsu-association__story ul { color: var(--ink); }
.watsu-association__story li { margin-bottom: 7px; }
.watsu-association__cta { background: #dceef0; padding: clamp(55px,7vw,85px) 0; text-align: center; }
.watsu-association__cta p:not(.eyebrow) { max-width: 660px; margin-inline: auto; }

/* Classic-editor lecturer content becomes cards; biographies remain the popup source. */
.page-main .watsu-clean-content > .watsu-lectors { width: 100%; max-width: none; margin-top: var(--section-space); }
.watsu-lectors__section + .watsu-lectors__section { margin-top: var(--section-space); }
.watsu-lectors__section > h2 { margin: 0 0 26px; }
.watsu-lectors__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.page-main .page-content button.watsu-lector-card { display: grid; grid-template-columns: minmax(130px,.7fr) minmax(0,1fr); align-items: center; gap: 24px; width: 100%; min-height: 220px; padding: 18px; text-align: left; background: #fffdfa; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); color: var(--ink); cursor: pointer; font: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.page-main .page-content button.watsu-lector-card:hover, .page-main .page-content button.watsu-lector-card:focus-visible { background: #fffdfa; color: var(--ink); transform: translateY(-3px); box-shadow: 0 17px 36px rgba(15,72,87,.14); }
.watsu-lector-card img { width: 100%; height: 190px; object-fit: cover; border-radius: 12px; }
.watsu-lector-card__copy { display: flex; flex-direction: column; gap: 9px; }
.watsu-lector-card__copy strong { font: 500 clamp(1.35rem,2vw,1.8rem)/1.15 Manrope,Arial,sans-serif; }
.watsu-lector-card__copy span { color: #57717a; font-size: .87rem; line-height: 1.5; }
.watsu-dialog-open { overflow: hidden; }
.watsu-lector-dialog { width: min(760px,calc(100vw - 32px)); max-height: min(86dvh,900px); padding: 0; border: 0; border-radius: 20px; box-shadow: 0 28px 80px rgba(5,45,55,.28); color: var(--text); background: #fffdfa; }
.watsu-lector-dialog::backdrop { background: rgba(5,39,48,.7); }
.watsu-lector-dialog__panel { position: relative; padding: clamp(24px,4vw,44px); }
.watsu-lector-dialog__close { position: absolute; right: 15px; top: 12px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: #e4f0f0; color: var(--ink); cursor: pointer; font: 2rem/1 Arial,sans-serif; }
.watsu-lector-dialog__close:hover, .watsu-lector-dialog__close:focus-visible { background: var(--water); color: #fff; }
.watsu-lector-dialog__intro { display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: center; gap: 28px; padding-right: 18px; }
.watsu-lector-dialog__intro img { width: 180px; height: 180px; object-fit: cover; border-radius: 14px; }
.watsu-lector-dialog__intro h2 { font-size: clamp(1.8rem,3vw,2.6rem); margin-bottom: 10px; }
.watsu-lector-dialog__intro p:last-child { margin: 0; }
.watsu-lector-dialog__bio { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 24px; }
.watsu-lector-dialog__bio > *:last-child { margin-bottom: 0; }

@media (max-width: 950px) {
	.watsu-registry__cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.watsu-association__features { grid-template-columns: 1fr; }
	.watsu-journal__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.watsu-about__intro { gap: 35px; }
	.watsu-person { grid-template-columns: 1fr; }
	.watsu-person__image img { height: 250px; }
	.watsu-booking-layout { gap: 28px; }
}
@media (max-width: 700px) {
	.watsu-voucher-purchase { grid-template-columns: 1fr; }
	.watsu-lectors__grid { grid-template-columns: 1fr; }
	.watsu-lector-dialog__intro { grid-template-columns: 115px minmax(0,1fr); gap: 16px; }
	.watsu-lector-dialog__intro img { width: 115px; height: 130px; }
	.watsu-article-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.watsu-registry__cards, .watsu-association__story { grid-template-columns: 1fr; }
	.watsu-contact__body { grid-template-columns: 1fr; }
	.watsu-journal__grid { grid-template-columns: 1fr; }
	.watsu-inner-hero { min-height: 450px; }
	.page-main .page-hero__note { display: none; }
	.watsu-inner-hero--light { background-image: linear-gradient(90deg,rgba(250,248,242,.97),rgba(250,248,242,.79),rgba(250,248,242,.45)),var(--inner-hero-image); background-position: 58% center; }
	.watsu-inner-hero__content { padding-block: 75px 100px; }
	.watsu-inner-hero__note { display: none; }
	.watsu-about__intro, .watsu-about__team, .watsu-booking-layout, .watsu-booking-bottom { grid-template-columns: 1fr; }
	.watsu-about__portrait { max-width: 520px; }
	.watsu-person { grid-template-columns: minmax(130px,.8fr) minmax(0,1fr); }
	.watsu-booking-form { margin-top: -25px; }
	.watsu-booking-aside { padding-top: 0; }
	.page-main .page-content .wp-block-columns { flex-direction: column; }
}
@media (max-width: 480px) {
	.page-main .page-content button.watsu-lector-card { grid-template-columns: 105px minmax(0,1fr); gap: 14px; min-height: 150px; padding: 12px; }
	.watsu-lector-card img { height: 135px; }
	.watsu-lector-card__copy strong { font-size: 1.25rem; }
	.watsu-lector-dialog__intro { grid-template-columns: 1fr; }
	.watsu-lector-dialog__intro img { width: 140px; height: 150px; }
	.watsu-article-image--left, .watsu-article-image--right { float: none; width: 100%; margin: 26px 0; }
	.watsu-article-image img { max-height: 480px; object-fit: contain; background: #e7f1f1; }
	.watsu-article-gallery { grid-template-columns: 1fr 1fr; gap: 8px; }
	.watsu-article-gallery img { height: 125px; }
	.watsu-article-gallery figure:last-child { grid-column: 1 / -1; }
	.watsu-article-gallery figure:last-child img { height: 170px; }
	.watsu-booking-form { padding: 16px; }
	.watsu-booking-form .flatpickr-day { height: 34px; line-height: 34px; }
	.watsu-person { grid-template-columns: 1fr; }
	.watsu-person__image img { height: 260px; }
	.watsu-about__quote .site-shell { gap: 10px; }
	.watsu-booking-benefit { align-items: flex-start; }
	.watsu-booking-benefit__icon { flex-basis: 48px; height: 48px; font-size: 1.4rem; }
}
