/* HJT account/admin styles stay within the module's namespaced UI. No remote fonts/assets. */
.hjt-lab {
  --hjt-ink:#303d38; --hjt-green:#a24d00; --hjt-orange:#fd8c07;
  --hjt-line:#e8e2d8; --hjt-muted:#626963; --hjt-surface:#fffaf3;
  color:var(--hjt-ink); font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.6; width:100%; max-width:1150px; min-width:0;
  container-type:inline-size; overflow-wrap:anywhere;
}
.hjt-lab *, .hjt-lab *::before, .hjt-lab *::after { box-sizing:border-box; }
.hjt-lab h1,.hjt-lab h2,.hjt-lab h3,.hjt-lab h4 { font-family:inherit; color:var(--hjt-ink); line-height:1.25; margin:0 0 12px; font-weight:650; letter-spacing:-.025em; }
.hjt-lab h1 { font-size:32px; }.hjt-lab h2 { font-size:clamp(26px,4vw,36px); }.hjt-lab h3 { font-size:24px; }.hjt-lab h4 { font-size:20px; }
.hjt-lab p { margin:8px 0 16px; }.hjt-lab a { color:var(--hjt-green); }.hjt-lab a:hover { color:#733600; }
.hjt-hero { position:relative; padding:28px 30px; border:1px solid var(--hjt-line); border-left:5px solid var(--hjt-orange); border-radius:18px; background:linear-gradient(120deg,#fff8ed,#fffdf9); margin:16px 0; }
.hjt-hero p { color:var(--hjt-muted); margin-bottom:0; }.hjt-eyebrow { display:block; color:#914500; font-size:12px; font-weight:700; letter-spacing:.07em; margin-bottom:12px; }
.hjt-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:18px 0; }
.hjt-stats>div { padding:20px 24px; background:#fff; border:1px solid var(--hjt-line); border-radius:16px; }
.hjt-stats strong { display:block; font-size:44px; line-height:1.2; font-weight:650; margin:6px 0; color:var(--hjt-ink); }
.hjt-stats span { display:block; font-size:13px; color:var(--hjt-muted); }
.hjt-lab .hjt-shared { background:#f3f4ef; padding:14px 18px; border-radius:12px; font-size:14px; color:#465349; margin:0 0 22px; }
.hjt-shared strong { margin-right:6px; }
.hjt-next { padding:26px 28px; border-radius:18px; background:#fff5e6; border:1px solid #efcfa4; margin:24px 0; }
.hjt-next .hjt-eyebrow { margin-bottom:8px; }.hjt-next h3 { font-size:25px; }.hjt-next p { color:#535d55; }
.hjt-next-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }.hjt-next-empty { background:#f7f8f3; border-color:var(--hjt-line); }
.hjt-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:10px 0 22px; margin:0; }
.hjt-tabs a { display:flex; align-items:center; justify-content:center; color:var(--hjt-ink); padding:11px 18px; min-height:46px; border:1px solid var(--hjt-line); border-radius:24px; text-decoration:none; background:#fff; font-weight:600; }
.hjt-tabs a:hover { background:#fff3df; border-color:#eebf80; color:#733600; }
.hjt-lab section { padding:28px 0; border-top:1px solid var(--hjt-line); scroll-margin-top:100px; }
.hjt-section-head { margin-bottom:20px; }.hjt-section-head h3 { margin-bottom:6px; }.hjt-section-head p { color:var(--hjt-muted); font-size:14px; max-width:700px; }
.hjt-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.hjt-card { padding:24px; margin:16px 0; min-width:0; border:1px solid var(--hjt-line); border-radius:16px; background:#fff; box-shadow:0 4px 16px rgba(48,61,56,.035); }
.hjt-card-grid>.hjt-card { margin:0; display:flex; flex-direction:column; }.hjt-card-grid>.hjt-class>.hjt-form { margin-top:auto; padding-top:12px; }
.hjt-card-labels { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.hjt-pill { display:inline-block; background:#eef4eb; color:#3f583b; border-radius:20px; padding:5px 12px; font-size:12px; font-weight:650; margin:0 0 12px; }
.hjt-card-labels .hjt-pill { margin:0; }.hjt-pill-mode { background:#fff0d8; color:#864307; }.hjt-pill-muted { background:#f1f0ec; color:#62645e; }
.hjt-history { background:#fcfcfa; box-shadow:none; }.hjt-card small { font-weight:400; font-size:12px; color:var(--hjt-muted); }
.hjt-class-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:16px; }.hjt-class-heading>div:last-child { min-width:0; }
.hjt-class-heading h4 { margin-bottom:10px; }.hjt-class-heading p { margin:3px 0; font-size:14px; }.hjt-class-heading .hjt-muted { font-size:13px; }
.hjt-date-badge { flex:0 0 54px; display:flex; align-items:center; flex-direction:column; background:#fff1da; border-radius:12px; padding:8px 6px; color:#914500; }
.hjt-date-badge span { font-size:12px; }.hjt-date-badge strong { font-size:25px; line-height:1.2; }
.hjt-lab .hjt-reference { color:var(--hjt-muted); font-size:12px; margin:0 0 18px; }.hjt-booking-footer { margin-top:auto; padding-top:16px; }
.hjt-capacity { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px; background:#f6f7f2; border-radius:10px; margin:4px 0 12px; font-size:12px; color:var(--hjt-muted); }
.hjt-capacity strong { display:block; font-size:15px; color:var(--hjt-ink); }.hjt-confirmed { padding:12px; background:#eef4eb; border-radius:10px; font-size:14px; color:#3f583b; }
.hjt-availability-warning { margin:8px 0!important; padding:8px 10px; border-radius:9px; background:#fff0d9; color:#8b4300; font-size:13px; font-weight:700; }
.hjt-overlap-warning { margin:0 0 8px!important; padding:6px 8px; border-radius:8px; background:#fff0d9; color:#8b4300; font-size:12px; font-weight:800; }
.hjt-program-label { background:#efe6fa!important; color:#5e2d81!important; }
.hjt-program-price { font-size:17px; font-weight:800; color:#9a4800; }
.hjt-gift-fields { margin:18px 0; padding:16px; border:1px solid #e5d8c9; border-radius:14px; }
.hjt-gift-recipient { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.hjt-form label.hjt-program-editor { display:block; flex:1 1 100%; width:100%; margin:8px 0 18px; }
.hjt-program-editor>.hjt-muted { display:block; margin:3px 0 8px; font-weight:400; }
.hjt-program-editor .wp-editor-wrap { width:100%; max-width:none; }
.hjt-program-editor .wp-editor-container { border-color:#c9cdc3; overflow:hidden; }
.hjt-program-editor .wp-media-buttons .button,.hjt-program-editor .wp-switch-editor { width:auto; min-height:30px; }
.hjt-program-editor .quicktags-toolbar input.ed_button { width:auto; min-width:32px; min-height:30px; padding:2px 8px; }
.hjt-gateway-settings { margin-top:28px; padding:20px; border:1px solid var(--hjt-line); border-radius:14px; background:#fff; }
.hjt-gateway-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; width:100%; margin:10px 0; }
.hjt-form .hjt-gateway-list label { display:flex; flex-direction:row; align-items:flex-start; gap:10px; width:100%; padding:12px; border:1px solid var(--hjt-line); border-radius:10px; background:#fffaf3; }
.hjt-gateway-list code { display:inline-block; margin-left:5px; }
.hjt-gateway-list small { display:block; color:var(--hjt-muted); font-weight:400; }
.hjt-program-venue,.hjt-occurrence-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:end; }
.hjt-occurrences { margin:18px 0; padding:16px; border:1px solid #ddd; border-radius:14px; }
.hjt-occurrence-row { grid-template-columns:1fr .7fr 1fr .7fr auto; margin-bottom:10px; }
.hjt-program-toolbar { display:flex; align-items:center; gap:18px; width:100%; margin:16px 0; padding:2px 0 6px; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; }
.hjt-program-toolbar::-webkit-scrollbar { display:none; }
.hjt-program-toolbar>.hjt-segmented-switch { flex:0 0 auto; margin:0; }
.hjt-program-toolbar>.hjt-week-nav { flex:0 0 auto; justify-content:flex-start; flex-wrap:nowrap; gap:10px; min-width:max-content; margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.hjt-lab.hjt-program-calendar .hjt-program-toolbar>.hjt-week-nav strong { flex:0 0 auto; min-width:88px; font-size:16px; white-space:nowrap; }
.hjt-program-toolbar .hjt-week-nav .hjt-button { padding:9px 15px; min-height:44px; white-space:nowrap; }
.hjt-month-head,.hjt-month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.hjt-month-head>* { padding:10px; text-align:center; background:#f4f1ec; }
.hjt-month-head .is-weekend,.hjt-month-grid .is-weekend { background:#fff4e6; }
.hjt-month-grid>section { min-height:calc(54px + var(--hjt-month-lanes,1) * 124px); padding:8px; border:1px solid #eee3d5; }
.hjt-month-span { position:relative; z-index:2; min-width:0; align-self:start; margin-top:calc(42px + var(--hjt-month-lane,0) * 124px); padding:0 5px; }
.hjt-month-span .hjt-program-card { height:auto; border-color:#d9c2ee; background:#faf5ff; }
.hjt-month-grid .hjt-schedule-card { padding:9px; margin:6px 0; }
.hjt-month-grid .hjt-schedule-card h4 { font-size:14px; margin:4px 0; }
.hjt-month-grid .hjt-program-card-compact .hjt-pill { margin:0 0 4px; padding:2px 8px; font-size:10px; }
.hjt-month-grid .hjt-program-date-range { margin:0 0 4px!important; font-size:11px; line-height:1.35; white-space:normal; }
.hjt-schedule-card.is-hjt-requested { outline:3px solid #fd8c07; outline-offset:3px; }
.hjt-teacher-offers .hjt-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.hjt-lab.hjt-teacher-offers { max-width:1150px; margin:0 auto; padding:40px 30px 64px; }
@media (max-width:600px) { .hjt-lab.hjt-teacher-offers { padding:30px 18px 48px; } }
.hjt-admin-kind-switch { display:inline-flex; margin:0 0 10px; }
.hjt-admin-kind-switch span { display:inline-flex; align-items:center; padding:9px 16px; }
.hjt-admin-kind-switch span.is-active { border-radius:999px; background:#fd8c07; color:#172820; font-weight:700; }
.hjt-pass-balance { color:var(--hjt-muted); font-size:14px; }.hjt-pass-balance strong { display:block; font-size:32px; color:var(--hjt-ink); line-height:1.2; margin-bottom:4px; }
.hjt-pass-shop { margin-top:30px; padding-top:26px; border-top:1px solid var(--hjt-line); scroll-margin-top:100px; }
.hjt-pass-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.hjt-pass-product { display:flex; flex-direction:column; min-width:0; padding:22px; border:1px solid var(--hjt-line); border-radius:16px; background:#fffaf3; }
.hjt-pass-product h4 { margin-bottom:4px; }.hjt-pass-product .hjt-button { margin-top:auto; }
.hjt-product-price { display:flex; flex-direction:column; align-items:flex-start; margin:4px 0 8px!important; font-size:21px; font-weight:750; line-height:1.25; }
.hjt-product-price del { order:1; color:var(--hjt-muted); font-size:14px; font-weight:550; opacity:.8; }
.hjt-product-price ins { order:2; color:#8d2020; font-size:21px; font-weight:750; text-decoration:none; }
.hjt-pass-buy-actions { display:flex; flex-direction:column; align-items:stretch; gap:8px; margin-top:auto; text-align:center; }
.hjt-pass-buy-actions .hjt-button { width:100%; }.hjt-gift-product-link { font-size:13px; font-weight:650; }
.hjt-owned-pass-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hjt-owned-pass-grid>.hjt-card { padding:18px; }.hjt-owned-pass-grid .hjt-pass-balance strong { font-size:28px; }
.hjt-pass-filter { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:0 0 16px; }
.hjt-pass-filter>span { color:var(--hjt-muted); font-size:13px; }
.hjt-segmented { display:inline-flex; padding:3px; border:1px solid var(--hjt-line); border-radius:999px; background:#f4f1ec; }
.hjt-segmented button { min-height:38px; padding:7px 16px; border:0; border-radius:999px; background:transparent; color:var(--hjt-ink); font:inherit; font-size:13px; font-weight:650; cursor:pointer; }
.hjt-segmented button.is-active { background:var(--hjt-orange); }
.hjt-roster td .hjt-form { flex-wrap:nowrap; align-items:center; }
.hjt-roster td .hjt-form select { flex:1 1 auto; }.hjt-roster td .hjt-form .hjt-button { flex:0 0 auto; }
.hjt-lab progress { display:block; width:100%; height:9px; border:0; border-radius:8px; background:#f0ece4; overflow:hidden; margin:4px 0 14px; accent-color:var(--hjt-orange); }
.hjt-lab progress::-webkit-progress-bar { background:#f0ece4; border-radius:8px; }.hjt-lab progress::-webkit-progress-value { background:var(--hjt-orange); border-radius:8px; }.hjt-lab progress::-moz-progress-bar { background:var(--hjt-orange); border-radius:8px; }
.hjt-banner { padding:18px 22px; border-radius:12px; background:#fff8e9; border:1px solid #e9d5ab; margin-bottom:22px; font-size:14px; }.hjt-banner p { margin-bottom:0; }
.hjt-banner-compact { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; padding:12px 16px; background:#faf9f5; border-color:var(--hjt-line); font-size:12px; }.hjt-banner-compact strong { color:#914500; }.hjt-banner-compact p { margin:0; }
.hjt-testbox,.hjt-disclosure { padding:20px; border:1px solid var(--hjt-line); border-radius:14px; background:#faf9f5; margin-top:20px; }
.hjt-testbox summary,.hjt-disclosure summary { cursor:pointer; font-size:15px; font-weight:650; padding:4px 0; min-height:44px; color:var(--hjt-ink); }
.hjt-testbox[open] summary,.hjt-disclosure[open] summary { margin-bottom:16px; }.hjt-testbox p { font-size:14px; color:var(--hjt-muted); }
.hjt-form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin:14px 0; min-width:0; }
.hjt-form label { display:flex; flex-direction:column; gap:7px; font-size:14px; font-weight:550; max-width:100%; min-width:0; flex:1 1 180px; }
.hjt-form label:has(input[type=checkbox]) { flex-direction:row; align-items:center; flex-basis:100%; }
.hjt-lab input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]),.hjt-lab select { font:inherit; font-size:16px; padding:11px 12px; border:1px solid #c9cdc3; border-radius:10px; width:100%; max-width:100%; min-width:0; min-height:46px; background:#fff; color:var(--hjt-ink); box-shadow:none; }
.hjt-lab input[type=checkbox] { min-height:20px; width:20px; flex:0 0 20px; padding:0; accent-color:#a24d00; }
.hjt-button,.hjt-lab button.hjt-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; background:var(--hjt-orange); color:#30332c; border:1px solid var(--hjt-orange); padding:12px 18px; border-radius:24px; font-family:inherit; font-size:14px; font-weight:700; line-height:1.45; text-decoration:none; min-height:46px; max-width:100%; white-space:normal; text-align:center; transition:background .15s,border-color .15s; box-shadow:none; }
.hjt-button:hover,.hjt-lab button.hjt-button:hover { background:#f4a333; border-color:#f4a333; color:#30332c; }
/* Theme link colors may use !important; keep text readable in every link state. */
.hjt-lab a.hjt-button:is(:link,:visited,:hover,:focus,:active) { color:#30332c!important; }
.hjt-lab a.hjt-button { background:#fd8c07!important; }
.hjt-lab a.hjt-button:hover { background:#f4a333!important; }
.hjt-lab a.hjt-button.hjt-secondary:is(:link,:visited,:hover,:focus,:active) { color:#733600!important; background:#fff!important; }
.hjt-button.hjt-secondary,.hjt-lab button.hjt-secondary { background:#fff; color:#824000; border-color:#d6b992; }
.hjt-button.hjt-secondary:hover { background:#fff4e3; border-color:#b87b32; color:#733600; }
.hjt-button:disabled { opacity:.5; cursor:not-allowed; }.hjt-lab .hjt-join { margin:0 0 12px; }.hjt-next-actions .hjt-join { margin:0; }
.hjt-lab :is(a,button,input,select,summary):focus-visible { outline:3px solid #3b5544; outline-offset:3px; }
.hjt-actions { display:flex; flex-wrap:wrap; gap:10px; }.hjt-actions .hjt-form { margin:6px 0; }
.hjt-table-wrap { max-width:100%; min-width:0; overflow:auto; -webkit-overflow-scrolling:touch; }
.hjt-lab table { width:100%; border-collapse:collapse; font-size:13px; }.hjt-lab th,.hjt-lab td { padding:12px; text-align:left; border-bottom:1px solid var(--hjt-line); vertical-align:top; }
.hjt-lab th { background:#f4f3ed; color:var(--hjt-ink); font-weight:650; }.hjt-lab table .hjt-form { margin:0; }.hjt-lab code { white-space:normal; word-break:break-word; font-size:11px; }
.hjt-lab .hjt-muted { color:var(--hjt-muted); font-size:13px; }.hjt-notice { padding:16px; background:#edf5e9; border:1px solid #b9cfac; border-radius:12px; margin:18px 0; }
.hjt-error { background:#fff0ed; border-color:#e5b1a6; color:#802f23; }.hjt-preview { border:2px dashed #bfa583; border-radius:14px; padding:22px; margin:24px 0; }
.hjt-empty { padding:24px; background:#f8f9f4; border:1px dashed #d1d7c8; border-radius:14px; color:var(--hjt-muted); }.hjt-empty p { font-size:14px; }.hjt-empty a { font-weight:650; }
.hjt-danger { margin-top:20px; border-top:1px solid var(--hjt-line); padding-top:16px; }.hjt-danger summary { cursor:pointer; color:#802f23; min-height:44px; padding:8px 0; }
@container (max-width:700px) {
  .hjt-card-grid { grid-template-columns:minmax(0,1fr); }
  .hjt-pass-product-grid,.hjt-owned-pass-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hjt-hero,.hjt-next { padding:22px; }.hjt-card { padding:20px; }
  .hjt-roster table,.hjt-roster tbody,.hjt-roster tr,.hjt-roster td,.hjt-event-table table,.hjt-event-table tbody,.hjt-event-table tr,.hjt-event-table td { display:block; width:100%; }
  .hjt-roster thead,.hjt-event-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .hjt-roster tr,.hjt-event-table tr { padding:14px; margin:12px 0; border:1px solid var(--hjt-line); border-radius:12px; background:#fff; }
  .hjt-roster td,.hjt-event-table td { border:0; padding:5px 0; min-width:0; }
  .hjt-roster td::before,.hjt-event-table td::before { content:attr(data-label); display:block; font-size:11px; font-weight:650; color:var(--hjt-muted); margin-bottom:3px; }
  .hjt-roster .hjt-form { display:flex; flex-direction:column; align-items:stretch; padding:8px 0; }.hjt-roster .hjt-button { width:100%; }
}
@container (max-width:460px) {
  .hjt-pass-product-grid,.hjt-owned-pass-grid { grid-template-columns:minmax(0,1fr); }
  .hjt-pass-filter { align-items:flex-start; flex-direction:column; }
  .hjt-hero,.hjt-next,.hjt-card,.hjt-testbox,.hjt-disclosure,.hjt-empty,.hjt-preview { padding:18px; border-radius:14px; }
  .hjt-stats { gap:10px; }.hjt-stats>div { padding:14px; }.hjt-stats strong { font-size:36px; }.hjt-stats span { font-size:12px; }
  .hjt-eyebrow { font-size:11px; }.hjt-next h3 { font-size:22px; }.hjt-lab h3 { font-size:22px; }
  .hjt-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.hjt-tabs a { font-size:13px; padding:10px; }
  .hjt-next-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
  .hjt-form { align-items:stretch; flex-direction:column; }.hjt-form label { flex:0 1 auto; width:100%; }.hjt-form label:has(input[type=checkbox]) { flex-basis:auto; }
  .hjt-button,.hjt-lab button.hjt-button { width:100%; padding:12px 14px; }
  .hjt-actions { display:block; }.hjt-actions .hjt-form { margin:12px 0; }
  .hjt-card-labels { margin-bottom:14px; }.hjt-class-heading { gap:12px; }.hjt-class-heading h4 { font-size:18px; }
  .hjt-date-badge { flex-basis:46px; }.hjt-lab section { padding:24px 0; }
  .hjt-lab th,.hjt-lab td { padding:8px; }.hjt-roster td,.hjt-event-table td { padding:5px 0; }
}
@media (prefers-reduced-motion:reduce) { .hjt-button { transition:none; } }
@media (max-width:480px) { .hjt-lab { font-size:15px; }.hjt-banner { padding:12px 16px; } }
@media (max-width:600px) {
  .hjt-program-toolbar { gap:10px; margin:12px 0; }
  .hjt-program-toolbar .hjt-segmented-switch a { padding:9px 13px; }
  .hjt-program-toolbar .hjt-week-nav .hjt-button { padding:9px 12px; }
}

/* Only the HJT Woo account endpoint receives the compact account navigation. */
.hjt-account-page .woocommerce-MyAccount-content { min-width:0; }
/* A compact disclosure above the content releases the entire former sidebar width. */
.hjt-account-menu-ready .woocommerce-MyAccount-navigation,
.hjt-account-menu-ready .woocommerce-MyAccount-content { float:none!important; width:100%!important; min-width:0; }
.hjt-account-menu-ready .woocommerce-MyAccount-navigation { margin:0 0 18px!important; }
.hjt-account-menu { border:1px solid #e8e2d8; border-radius:16px; background:#fff; overflow:hidden; box-shadow:0 8px 24px rgba(48,51,44,.06); }
.hjt-account-menu summary { display:flex; align-items:center; gap:10px; cursor:pointer; padding:15px 18px; min-height:52px; color:#733600; font-weight:700; list-style:none; background:#fffaf3; }
.hjt-account-menu summary::-webkit-details-marker { display:none; }
.hjt-account-menu summary::before { content:'›'; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#fff0d8; font-size:20px; line-height:1; transition:transform .15s; }
.hjt-account-menu[open] summary::before { transform:rotate(90deg); }
.hjt-account-menu summary:focus-visible { outline:3px solid #3b5544; outline-offset:-3px; }
.hjt-account-menu-hint { margin-left:auto; font-size:13px; font-weight:500; color:var(--hjt-muted); }
.hjt-account-menu-ready .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:9px; padding:14px; margin:0; overflow:visible; border-top:1px solid #eee6da; }
.hjt-account-menu-ready .woocommerce-MyAccount-navigation li { flex:0 1 auto; list-style:none; margin:0; border:0; }
.hjt-account-menu-ready .woocommerce-MyAccount-navigation a { display:flex; align-items:center; justify-content:center; padding:10px 14px; min-height:44px; white-space:normal; border:1px solid #e8e2d8; border-radius:10px; font-size:14px; text-align:center; background:#fff; }
.hjt-account-menu-ready .woocommerce-MyAccount-navigation li.is-active a,.hjt-account-menu-ready .woocommerce-MyAccount-navigation a:hover { border-color:#ff8a00; background:#fff3e2; color:#8d4300; }
@media (max-width:900px) {
  .hjt-account-page .woocommerce-MyAccount-navigation,.hjt-account-page .woocommerce-MyAccount-content { float:none!important; width:100%!important; min-width:0; }
  .hjt-account-page .woocommerce-MyAccount-navigation { margin-bottom:22px; }
  .hjt-account-page .woocommerce-MyAccount-navigation ul { display:flex; gap:8px; overflow-x:auto; padding:0 0 10px; max-width:100%; -webkit-overflow-scrolling:touch; }
  .hjt-account-page .woocommerce-MyAccount-navigation li { flex:0 0 auto; list-style:none; margin:0; border:0; }
  .hjt-account-page .woocommerce-MyAccount-navigation a { display:block; padding:10px 14px; min-height:44px; white-space:nowrap; border:1px solid #e8e2d8; border-radius:22px; font-size:14px; }
}
.hjt-account-menu-ready .woocommerce-MyAccount-navigation ul { overflow:visible; flex-wrap:wrap; }
.hjt-account-menu-ready .woocommerce-MyAccount-navigation a { white-space:normal; }
.hjt-lab [hidden] { display:none!important; }

/* Theme guard. WordPress themes enqueue their stylesheet after plugin CSS, so a theme
   rule with the same specificity (.yoku-body h3, .yoku-body a, .yoku-body *) wins over
   .hjt-lab h3. Repeating the module class raises specificity without !important. */
.hjt-lab.hjt-lab h1 { font-size:32px; }
.hjt-lab.hjt-lab h2 { font-size:clamp(26px,4vw,34px); }
.hjt-lab.hjt-lab h3 { font-size:24px; }
.hjt-lab.hjt-lab h4 { font-size:20px; }
.hjt-lab.hjt-lab :is(h1,h2,h3,h4) { font-family:inherit; color:var(--hjt-ink); font-weight:650; line-height:1.25; letter-spacing:-.02em; margin:0 0 12px; }
.hjt-lab.hjt-lab a:not(.hjt-button) { color:var(--hjt-green); }
.hjt-lab.hjt-lab a:not(.hjt-button):hover { color:#733600; }
.hjt-lab.hjt-lab :is(.hjt-hero,.hjt-card,.hjt-stats>div,.hjt-tabs a,.hjt-testbox,.hjt-disclosure,.hjt-account-menu,.hjt-week-day,.hjt-schedule-card,.hjt-onboarding,.hjt-booking-dialog) { border-color:var(--hjt-line); }
.hjt-lab.hjt-lab :is(input,select) { border-color:#c9cdc3; }
.hjt-lab.hjt-lab .hjt-next { border-color:#efcfa4; }
.hjt-lab.hjt-lab .hjt-notice { border-color:#b9cfac; }
.hjt-lab.hjt-lab .hjt-error { border-color:#e5b1a6; }
.hjt-lab.hjt-lab .hjt-banner { border-color:#e9d5ab; }
.hjt-lab.hjt-lab .hjt-banner-compact { border-color:var(--hjt-line); }
.hjt-lab.hjt-lab .hjt-empty { border-color:#d1d7c8; }
.hjt-lab.hjt-lab .hjt-preview { border-color:#bfa583; }

/* Public schedule. The module is its own query container, so the grid follows the width
   the theme gives it, not the viewport: the same markup works in a page, in a narrow
   sidebar and inside the Woo account content. */
.hjt-lab.hjt-timetable { max-width:none; margin:20px auto 28px; }
.hjt-timetable .hjt-section-head { margin-bottom:16px; }
.hjt-timetable .hjt-section-head p { margin:6px 0 8px; }
.hjt-timetable .hjt-week-nav { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin:16px 0; padding:10px 12px; border:1px solid var(--hjt-line); border-radius:14px; background:var(--hjt-surface); }
.hjt-lab.hjt-timetable .hjt-week-nav strong { flex:1 1 170px; text-align:center; font-size:16px; font-weight:650; }
.hjt-timetable .hjt-week-nav .hjt-button { flex:0 0 auto; font-size:13px; padding:10px 16px; }
.hjt-timetable .hjt-week-nav a:not(.hjt-button) { font-size:13px; font-weight:600; }
.hjt-timetable .hjt-timetable-filter { margin:0 0 16px; }

/* Mobile first: one day per row, empty days stay out of the way. */
.hjt-timetable .hjt-week-grid { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:12px; }
.hjt-week-carousel { position:relative; min-width:0; }
.hjt-week-arrow { display:none; }
.hjt-lab .hjt-week-day { border:1px solid var(--hjt-line); border-radius:14px; padding:12px; background:var(--hjt-surface); min-width:0; }
.hjt-timetable .hjt-week-day:not(:has(.hjt-schedule-card)) { display:none; }
.hjt-lab.hjt-timetable .hjt-week-day>h3 { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 10px; font-size:18px; line-height:1.25; letter-spacing:0; margin:0 0 12px; overflow-wrap:normal; word-break:normal; hyphens:none; }
.hjt-lab.hjt-timetable .hjt-week-day>h3 small { display:inline; margin:0; font-size:13px; font-weight:500; color:var(--hjt-muted); }
.hjt-timetable .hjt-schedule-card { background:#fff; border:1px solid var(--hjt-line); border-radius:12px; padding:12px; margin:0 0 10px; min-width:0; }
.hjt-timetable .hjt-schedule-card:last-child { margin-bottom:0; }
.hjt-lab.hjt-timetable .hjt-schedule-card h4 { font-size:17px; line-height:1.3; letter-spacing:0; margin:0 0 10px; overflow-wrap:break-word; }
.hjt-lab .hjt-schedule-time { color:#914500; font-size:13px; font-weight:700; margin:0 0 6px; }
.hjt-timetable .hjt-teacher-mini { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; font-size:13px; margin:0 0 10px; }
.hjt-teacher-avatar { display:block; width:34px; height:34px; flex:0 0 34px; border-radius:50%; object-fit:cover; }
.hjt-monogram { display:flex; align-items:center; justify-content:center; background:#fff0d8; color:#733600; font-weight:700; }
.hjt-timetable .hjt-teacher-mini span { min-width:0; overflow-wrap:break-word; }
.hjt-timetable .hjt-schedule-labels { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.hjt-timetable .hjt-schedule-labels .hjt-pill { margin:0; padding:4px 9px; font-size:11px; line-height:1.35; }
.hjt-label-online { color:#285e6b; background:#e7f3f5; }
.hjt-label-offline { color:#733600; background:#fff0d8; }
.hjt-timetable .hjt-class-description { display:inline-block; font-size:13px; font-weight:600; margin:0 0 10px; }
.hjt-timetable .hjt-booking-disclosure { margin:0; }
.hjt-timetable .hjt-booking-disclosure summary { display:flex; width:100%; list-style:none; }
.hjt-timetable .hjt-booking-disclosure summary::-webkit-details-marker { display:none; }

@container (min-width:720px) {
  .hjt-timetable .hjt-week-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  /* Wider layouts keep the full week visible; an empty day reads as a quiet placeholder. */
  .hjt-timetable .hjt-week-day:not(:has(.hjt-schedule-card)) { display:block; background:transparent; border-style:dashed; }
  .hjt-timetable .hjt-week-day:not(:has(.hjt-schedule-card))>h3 { color:var(--hjt-muted); margin:0; }
  .hjt-lab.hjt-timetable .hjt-week-day>h3 { font-size:17px; }
}
@container (min-width:1040px) {
  .hjt-timetable .hjt-week-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
  .hjt-lab .hjt-week-day { padding:10px; border-radius:12px; }
  .hjt-lab.hjt-timetable .hjt-week-day>h3 { display:block; font-size:15px; margin:0 0 10px; }
  .hjt-lab.hjt-timetable .hjt-week-day>h3 small { display:block; margin-top:2px; font-size:12px; }
  .hjt-timetable .hjt-schedule-card { padding:10px; }
  .hjt-lab.hjt-timetable .hjt-schedule-card h4 { font-size:15px; margin:0 0 8px; }
  .hjt-lab .hjt-schedule-time { font-size:12px; }
  .hjt-timetable .hjt-teacher-mini { gap:6px; font-size:12px; margin-bottom:8px; }
  .hjt-teacher-avatar { width:28px; height:28px; flex-basis:28px; }
  .hjt-timetable .hjt-schedule-labels { gap:4px; margin-bottom:8px; }
  .hjt-timetable .hjt-schedule-labels .hjt-pill { padding:3px 7px; font-size:10px; }
  .hjt-timetable .hjt-class-description { font-size:12px; margin-bottom:8px; }
  .hjt-timetable .hjt-booking-disclosure summary { padding:10px 12px; min-height:42px; font-size:13px; }
}
@container (max-width:460px) {
  .hjt-lab.hjt-timetable .hjt-week-nav strong { flex:1 1 100%; order:-1; }
  .hjt-timetable .hjt-week-nav .hjt-button { flex:1 1 40%; width:auto; padding:10px; }
}

/* Booking modal. The theme reset (dialog { display:block }) makes a closed dialog visible,
   and .hjt-lab's container-type makes it the containing block of fixed positioning, so the
   script moves the dialog to <body> and these rules restore native modal behaviour.
   Outside the module container only media queries apply here. */
dialog.hjt-lab.hjt-booking-dialog:not([open]) { display:none; }
dialog.hjt-lab.hjt-booking-dialog { display:block; position:fixed; inset:0; width:min(600px,calc(100% - 32px)); max-width:none; height:fit-content; max-height:calc(100dvh - 32px); margin:auto; border:1px solid var(--hjt-line); border-radius:18px; padding:22px; background:var(--hjt-surface); color:var(--hjt-ink); overflow:auto; overscroll-behavior:contain; container-type:normal; }
dialog.hjt-booking-dialog::backdrop { background:rgba(24,33,28,.62); }
dialog.hjt-lab.hjt-booking-dialog h3 { font-size:23px; }
dialog.hjt-booking-dialog .hjt-dialog-close { position:sticky; top:0; z-index:1; display:flex; width:auto; min-width:104px; margin:0 0 0 auto; }
dialog.hjt-booking-dialog .hjt-booking-panel { padding-top:14px; }
.hjt-booking-panel { padding-top:18px; }
.hjt-onboarding { width:100%; border:1px solid var(--hjt-line); border-radius:12px; padding:16px; margin:0; min-width:0; }
.hjt-onboarding legend { font-size:14px; font-weight:600; padding:0 6px; }
.hjt-onboarding label { margin-bottom:12px; }
.hjt-lab label.hjt-consent { flex-direction:row; flex-basis:100%; align-items:flex-start; }
.hjt-consent input { margin-top:4px; }
.hjt-consent-row { display:flex; align-items:flex-start; flex-wrap:wrap; gap:10px 18px; width:100%; }
.hjt-lab .hjt-consent-row .hjt-consent { flex:1 1 250px; margin:0; }
html.hjt-modal-open, html.hjt-modal-open body { overflow:hidden; }
@media (max-width:640px) {
  dialog.hjt-lab.hjt-booking-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:16px; border-radius:14px; }
  dialog.hjt-lab.hjt-booking-dialog h3 { font-size:21px; }
  dialog.hjt-booking-dialog .hjt-form { flex-direction:column; align-items:stretch; gap:10px; }
  dialog.hjt-booking-dialog .hjt-form label { flex:0 1 auto; width:100%; }
  dialog.hjt-booking-dialog .hjt-form label:has(input[type=checkbox]) { flex-direction:row; align-items:flex-start; }
  dialog.hjt-booking-dialog .hjt-onboarding { padding:12px; }
  dialog.hjt-booking-dialog .hjt-booking-panel .hjt-button { width:100%; }
}


/* 0.5 schedule and teacher management */
.hjt-lab textarea { font:inherit; width:100%; border:1px solid #c9cdc3; border-radius:10px; padding:11px 12px; }
.hjt-capacity-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; }
.hjt-capacity-row label { min-width:0; }
.hjt-admin-view-switch { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.hjt-switch-controls { display:flex; flex-wrap:wrap; align-items:flex-end; gap:18px; margin:14px 0 18px; }
.hjt-switch-group { display:grid; gap:5px; }
.hjt-switch-label { color:#747a76; font-size:12px; line-height:1.2; text-align:left; }
.hjt-segmented-switch { display:inline-flex; padding:3px; border:1px solid #e1c39f; border-radius:999px; background:#fffaf3; }
.hjt-segmented-switch a { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:7px 16px; border-radius:999px; color:#713600; font-weight:700; line-height:1.2; text-decoration:none!important; white-space:nowrap; }
.hjt-segmented-switch a:hover,.hjt-segmented-switch a:focus-visible { background:#fff0d9; color:#713600; }
.hjt-segmented-switch a.is-active { background:#fd8c07; color:#172820; box-shadow:0 1px 4px rgba(113,54,0,.18); }
.hjt-day-empty { color:#626963; font-size:13px; line-height:1.45; padding:14px 4px; }
.hjt-schedule-card .hjt-class-description { min-height:38px; padding:8px 12px; margin:4px 0 8px; width:100%; }
.hjt-schedule-card .hjt-booking-link,.hjt-card-edit { width:100%; margin-top:4px; }
.hjt-day-tabs { display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x mandatory; margin:14px 0; padding-bottom:6px; }
.hjt-day-tabs a { flex:1 0 105px; scroll-snap-align:start; text-align:center; padding:10px; border:1px solid #e8e2d8; border-radius:12px; text-decoration:none; background:#fff; color:#303d38; }
.hjt-day-tabs a.is-active { background:#fd8c07; border-color:#fd8c07; font-weight:700; }
.hjt-day-tabs small { display:block; }
.hjt-single-day { max-width:580px; margin:0 auto; }
.hjt-time-grid { display:grid; grid-template-columns:repeat(7,minmax(145px,1fr)); gap:4px; overflow-x:auto; align-items:stretch; }
.hjt-time-column { position:relative; display:grid; grid-template-rows:54px repeat(32,28px); min-height:950px; background:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,rgba(126,113,94,.14) 27px,rgba(126,113,94,.14) 28px,transparent 28px,transparent 55px,rgba(126,113,94,.34) 55px,rgba(126,113,94,.34) 56px); border:1px solid #e8e2d8; }
.hjt-time-column>h3 { position:sticky; top:0; z-index:4; height:54px; box-sizing:border-box; margin:0!important; background:#fffaf3; padding:10px; font-size:15px!important; }
.hjt-time-column>h3 small { display:block; font-size:11px; }
.hjt-time-line { grid-row:calc(var(--slot) + 1); font-size:9px; color:#7a7d77; padding:2px; pointer-events:none; }
.hjt-timed-event { position:absolute; z-index:2; top:var(--event-top); height:var(--event-height); left:4px; right:4px; overflow:hidden; border-radius:9px; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.hjt-timed-event:hover,.hjt-timed-event:focus-within { z-index:8; height:auto; min-height:var(--event-height); overflow:visible; }
.hjt-timed-event .hjt-schedule-card { margin:0; height:100%; padding:7px; background:#fff4e3; }
.hjt-timed-event:not(:hover):not(:focus-within) :is(.hjt-teacher-mini,.hjt-schedule-labels,.hjt-class-description,.hjt-booking-disclosure,.hjt-booking-link,.hjt-card-edit) { display:none; }
.hjt-timed-event .hjt-schedule-card h4 { font-size:13px!important; margin:0!important; }
.hjt-timed-event .hjt-schedule-time { font-size:11px; margin:0 0 3px; }
.hjt-day-timeline-wrap { position:relative; }
.hjt-day-timeline { position:relative; overflow-x:auto; padding:34px 20px 20px; scroll-snap-type:none; }
.hjt-day-timeline-wrap>.hjt-scroll-hint { position:relative; left:50%; transform:translateX(-50%); z-index:12; display:inline-flex; width:max-content; max-width:calc(100% - 28px); margin:2px 0 10px!important; padding:10px 18px; border:2px solid #fd8c07; border-radius:999px; background:#fff0d9; color:#713600; font-size:14px; font-weight:800; text-align:center; box-shadow:0 3px 10px rgba(0,0,0,.15); }
.hjt-scroll-hint[hidden] { display:none; }
.hjt-day-track { position:relative; min-width:1500px; height:400px; border:1px solid #e8e2d8; background:repeating-linear-gradient(to right,#fff 0,#fff calc(6.25% - 1px),#e8e2d8 6.25%); }
.hjt-hour { position:absolute; top:-26px; transform:translateX(-50%); font-size:11px; white-space:nowrap; }
.hjt-hour.is-start { left:8px!important; transform:none!important; }
.hjt-hour.is-end { left:auto!important; right:8px; transform:none!important; text-align:right; }
.hjt-horizontal-event { position:absolute; top:30px; min-width:230px; max-width:280px; }
.hjt-horizontal-event:nth-of-type(3n+1),.hjt-horizontal-event:nth-of-type(3n+2){top:30px}
.hjt-horizontal-event .hjt-schedule-card { margin:0; padding:10px; box-shadow:0 3px 10px rgba(0,0,0,.12); }
.hjt-horizontal-event .hjt-schedule-card h4 { font-size:17px!important; }
.hjt-horizontal-event .hjt-class-description,.hjt-horizontal-event .hjt-booking-link { width:100%; }
.hjt-teachers .hjt-form { display:block; max-width:980px; margin:0 0 18px; padding:18px; border:1px solid #e8e2d8; border-radius:14px; background:#fff; }
.hjt-teachers .hjt-form label { display:block; width:100%; margin:0; }
.hjt-teacher-field,.hjt-teacher-contact,.hjt-teacher-upload { margin-bottom:14px; }
.hjt-teacher-contact { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hjt-teacher-upload { display:grid; grid-template-columns:minmax(280px,1fr) auto; align-items:end; gap:12px; }
.hjt-teacher-upload [data-hjt-photo-name] { grid-column:1/-1; }
.hjt-teachers input[type="search"],.hjt-teachers input[type="email"],.hjt-teachers input[type="text"],.hjt-teachers input:not([type]),.hjt-teachers select,.hjt-teachers textarea { width:100%; max-width:none; }
.hjt-teachers input[type="file"] { width:100%; min-height:44px; padding:7px; border:1px solid #d7d7d7; border-radius:8px; background:#fff; }
.hjt-teacher-details { margin:14px 0; }
.hjt-teacher-admin-avatar { width:72px; height:72px; margin:12px 0; border-radius:50%; object-fit:cover; border:2px solid #f0d4ae; background:#fff; }
.hjt-admin-settings { width:100%; margin:18px 0; padding:20px; border:1px solid #e8e2d8; border-radius:14px; background:#fff; }
.hjt-admin-settings legend { padding:0 8px; font-weight:700; }
.hjt-admin-settings .hjt-toggle { display:flex; flex-direction:row; align-items:center; gap:9px; width:auto; margin:0 0 14px; }
.hjt-weekday-checks { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; margin:14px 0 0; }
.hjt-weekday-checks label { display:flex; flex-direction:row; align-items:center; gap:8px; width:auto; min-height:44px; margin:0; padding:8px 10px; border:1px solid #eee3d5; border-radius:9px; background:#fffaf3; }
.hjt-lab input[type=checkbox] { box-sizing:border-box!important; width:20px!important; min-width:20px!important; max-width:20px!important; height:20px!important; min-height:20px!important; max-height:20px!important; padding:0!important; margin:0!important; border-radius:4px!important; flex:0 0 20px!important; }
.hjt-gift-redeem { margin-top:18px; padding:0!important; }
.hjt-gift-redeem>summary { display:flex; align-items:center; min-height:48px; padding:12px 16px!important; color:#733600; }
.hjt-gift-redeem-body { padding:0 16px 16px; }
.hjt-gift-redeem .hjt-form { align-items:flex-end; }
.hjt-pause-message { padding:22px; border:1px solid #ead8bf; border-radius:14px; background:#fffaf3; }
.hjt-teacher-details>.hjt-form { margin:14px 0; }
.hjt-teacher-classes { display:grid; gap:7px; padding-left:20px; }
.hjt-teacher-classes a { color:#a94f00; text-decoration:underline; text-underline-offset:3px; }
.hjt-class-primary-row,.hjt-class-description-row,.hjt-class-time-row,.hjt-recurrence-row { display:grid; gap:12px; width:100%; }
.hjt-class-primary-row,.hjt-class-description-row { grid-template-columns:1fr 1fr; }
.hjt-class-time-row { grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(220px,1.4fr); }
.hjt-recurrence-row { grid-template-columns:minmax(220px,1fr) minmax(150px,.7fr) auto; align-items:end; }
.hjt-class-primary-row label,.hjt-class-description-row label,.hjt-class-time-row label,.hjt-recurrence-row label { min-width:0; }
.hjt-infinite-toggle { display:flex!important; align-items:center; gap:7px; min-height:44px; padding:0 12px 10px; white-space:nowrap; }
.hjt-infinite-toggle input { width:auto!important; margin:0!important; }
.hjt-class-time-row input[readonly] { background:#f2f2ef; color:#4f5752; }
@media (max-width:700px) {
 .hjt-gift-recipient,.hjt-program-venue,.hjt-occurrence-row { grid-template-columns:1fr; }
 .hjt-month-calendar { overflow-x:auto; }
 .hjt-month-head,.hjt-month-grid { min-width:820px; }
 .hjt-capacity-row { grid-template-columns:1fr 1fr; }
 .hjt-lab.hjt-timetable .hjt-week-grid { display:flex; align-items:flex-start; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; gap:0; scrollbar-width:none; -ms-overflow-style:none; transition:height .18s ease; touch-action:pan-x pan-y; }
 .hjt-lab.hjt-timetable .hjt-week-grid::-webkit-scrollbar { display:none; }
 .hjt-lab.hjt-timetable .hjt-week-day { flex:0 0 100%; scroll-snap-align:start; display:block!important; height:max-content; }
 .hjt-lab.hjt-timetable .hjt-week-day:has(.hjt-day-empty) { display:block!important; }
 .hjt-week-arrow { position:absolute; top:50%; z-index:7; display:grid; place-items:center; width:38px; height:52px; padding:0; border:1px solid rgba(145,69,0,.2); border-radius:20px; background:rgba(255,255,255,.84); color:#8d4300; font-size:29px; line-height:1; box-shadow:0 4px 18px rgba(48,51,44,.15); backdrop-filter:blur(5px); cursor:pointer; transform:translateY(-50%); }
 .hjt-week-arrow-prev { left:6px; }
 .hjt-week-arrow-next { right:6px; }
 .hjt-week-arrow:disabled { opacity:.2; cursor:default; }
 .hjt-switch-controls { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
 .hjt-segmented-switch { display:flex; }
 .hjt-segmented-switch a { flex:1; padding-inline:10px; }
 .hjt-day-track { min-width:1500px; }
 .hjt-day-timeline { padding-inline:14px; }
 .hjt-teacher-contact,.hjt-teacher-upload { grid-template-columns:1fr; }
 .hjt-teacher-upload [data-hjt-photo-name] { grid-column:auto; }
 .hjt-class-primary-row,.hjt-class-description-row,.hjt-class-time-row,.hjt-recurrence-row { grid-template-columns:1fr; }
 .hjt-infinite-toggle { padding:0; }
}
/* Keep the timetable independent from narrow Woo account/theme columns. */
.hjt-account-page .hjt-timetable { width:100%!important; max-width:none!important; overflow:visible; }
.hjt-account-page .woocommerce-MyAccount-content .hjt-week-grid { min-width:0; }

.hjt-lab.hjt-timetable .hjt-teacher-avatar { width:36px!important; height:36px!important; min-width:36px!important; max-width:36px!important; flex:0 0 36px!important; object-fit:cover!important; }
.hjt-lab.hjt-timetable .hjt-teacher-mini span { overflow-wrap:normal; word-break:normal; min-width:0; }
.hjt-lab.hjt-timetable .hjt-schedule-card { overflow-wrap:normal; word-break:normal; }
.hjt-lab.hjt-timetable .hjt-schedule-card h4 { hyphens:auto; }
.hjt-timed-event.is-expanded { z-index:8; height:auto; overflow:visible; }
.hjt-timed-event.is-expanded :is(.hjt-teacher-mini,.hjt-schedule-labels,.hjt-class-description,.hjt-booking-disclosure,.hjt-booking-link,.hjt-card-edit) { display:flex; }
