/* Hypnose Austria: match the separate website without changing the school or admin. */
.hypnosis-page {
  --paper: #fbfdfc;
  --white: #fff;
  --ink: #2a1f27;
  --muted: #6f5d66;
  --line: rgba(42, 31, 39, .14);
  --gold: #d62c5a;
  --gold-light: #fff0f4;
  --brand: #d62c5a;
  --violet: #8b2f5f;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--paper);
}
.hypnosis-page :is(h1, h2, h3, .summary-price strong) { font-family: Arial, Helvetica, sans-serif; }
.hypnosis-page :is(.section-width, .site-header) { max-width: 1120px; }
.hypnosis-page .hypnosis-header { border-bottom: 1px solid var(--line); }
.hypnosis-page .hypnosis-brand { flex-direction: row; align-items: center; gap: 12px; color: var(--brand); }
.hypnosis-page .hypnosis-brand img { display: block; width: 126px; height: auto; }
.hypnosis-page .hypnosis-brand > span { display: block; margin: 0; }
.hypnosis-page .hypnosis-brand strong { display: block; font-size: 18px; letter-spacing: 0; }
.hypnosis-page .hypnosis-brand small { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); }
.hypnosis-page .hypnosis-header nav a { font-size: 13px; color: var(--violet); text-underline-offset: 4px; }
.hypnosis-page .hypnosis-header nav a:hover { text-decoration: underline; }
.hypnosis-page .eyebrow { color: var(--violet); }
.hypnosis-page :is(.text-link, .back-link) { color: var(--violet); }
.hypnosis-page .demo-banner { background: #fff0f4; color: #783b55; border-color: #efd0da; }
.hypnosis-page .calendar-count { background: #f9e3ec; color: var(--violet); }
.hypnosis-page .filter-tabs a.selected { background: var(--violet); border-color: var(--violet); }
.hypnosis-page .month-heading { background: #fff0f4; }
.hypnosis-page .month-heading h3 { font-family: Arial, Helvetica, sans-serif; font-weight: 700; }
.hypnosis-page .weekday-headings { background: #fff8fa; }
.hypnosis-page .calendar-gap { background: #fff8fa; }
.hypnosis-page .hypnosis-session-color { --course-background: #fff0f4; --course-accent: #d62c5a; }
.hypnosis-page :is(.event-category, .event-period, .event-seats) { color: #783b55; }
.hypnosis-page .event-time { color: var(--violet); }
.hypnosis-page .event-book { border-color: #e6b7c6; color: #9a1c43; font-weight: 700; }
.hypnosis-page .button { border-radius: 8px; }
.hypnosis-page .button-dark { background: var(--brand); color: #fff; }
.hypnosis-page .button-dark:hover { background: #b91f49; }
.hypnosis-page .button-outline { border-color: #deb4c8; color: var(--violet); }
.hypnosis-page :is(a, button, input, textarea, summary):focus-visible { outline: 2px solid var(--violet); outline-offset: 3px; }
.hypnosis-page .form-panel { border-radius: 8px; }
.hypnosis-page :is(input, textarea) { border-color: #dccbd3; border-radius: 8px; }
.hypnosis-page .category-badge { color: var(--violet); background: #f7dce6; }
.hypnosis-page .booking-summary { border-radius: 8px; }
.hypnosis-page .booking-summary h2 { font-family: Arial, Helvetica, sans-serif; font-weight: 700; }
.hypnosis-page .summary-price { border-color: #e6b7c6; flex-wrap: wrap; gap: 10px; }
.hypnosis-page .summary-price strong { font-size: 25px; font-weight: 700; color: var(--violet); }
.hypnosis-page .demo-captcha, .hypnosis-page .receipt-details { background: #fff0f4; }
.hypnosis-page .site-footer { max-width: 1064px; }
.hypnosis-page .terms-dialog h2 { font-family: Arial, Helvetica, sans-serif; }
.hypnosis-page.embedded .courses-section { padding: 0 0 12px; }
.hypnosis-page.embedded .section-heading h2 { font-size: clamp(28px, 4vw, 42px); }
.hypnosis-page.embedded .demo-banner { margin-bottom: 24px; }
@media (max-width: 720px) {
  .hypnosis-page .hypnosis-header { padding: 18px 20px; gap: 16px; }
  .hypnosis-page .hypnosis-header nav { gap: 18px; }
  .hypnosis-page .page-title { font-size: 30px; }
  .hypnosis-page .booking-summary h2 { font-size: 25px; }
  .hypnosis-page .hypnosis-brand img { width: 106px; }
}

/* Keep long weekly schedules compact; native details also works without JavaScript. */
.hypnosis-page .session-current-empty-message { padding: 18px 22px; font-size: 13px; color: var(--muted); }
.hypnosis-page .session-current-empty-message p { margin: 0; }
.hypnosis-page .session-current-empty-message p + p { margin-top: 8px; }
.hypnosis-page .session-calendar-more { margin-top: 4px; }
.hypnosis-page .session-calendar-toggle { display: flex; width: 100%; justify-content: space-between; gap: 18px; padding: 15px 18px; text-align: left; white-space: normal; list-style: none; }
.hypnosis-page .session-calendar-toggle::-webkit-details-marker { display: none; }
.hypnosis-page .session-calendar-toggle::marker { content: ''; }
.hypnosis-page .session-calendar-toggle:hover { background: #fff0f4; transform: none; }
.hypnosis-page .session-calendar-toggle-text { min-width: 0; }
.hypnosis-page .session-calendar-toggle-text > span { display: block; font-size: 13px; line-height: 1.5; }
.hypnosis-page .session-calendar-toggle-text small { display: block; margin-top: 3px; font-size: 12px; font-weight: normal; color: var(--muted); line-height: 1.5; }
.hypnosis-page .session-calendar-more:not([open]) .session-calendar-hide,
.hypnosis-page .session-calendar-more[open] .session-calendar-show { display: none; }
.hypnosis-page .session-calendar-caret { display: block; width: 9px; height: 9px; margin-right: 3px; flex-shrink: 0; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.hypnosis-page .session-calendar-more[open] .session-calendar-caret { transform: rotate(225deg); }
.hypnosis-page .session-calendar-future { padding-top: 22px; }
