/* Moshaverr 27 — scoped UI/UX, mobile and accessibility corrections. */
html { overflow-x: clip; }
body.msh-v27 { overflow-x: clip; }
body.msh-v27 :where(.site-main,.msh-shell,.msh-container,.msh-section,.msh-portal,.msh-booking,.msh-assessment,.msh-webinar-page,.msh-service-page,.entry-content) { min-width: 0; }
body.msh-v27 :where(.msh-container,.msh-shell,.site-header__inner,.site-footer__inner) { width: min(calc(100% - 32px), var(--msh-v27-content, 1180px)); margin-inline: auto; }
body.msh-v27 :where(.single-post .entry-content,.msh-article-body,.msh-reading-column) { max-width: var(--msh-v27-reading, 760px); margin-inline: auto; }
body.msh-v27 :where(button,.msh-button,input[type="submit"],input[type="button"],.menu-toggle,.msh-mobile-dock__item) { min-block-size: var(--msh-v27-touch,44px); }
body.msh-v27 :where(input,select,textarea,button) { font: inherit; }
body.msh-v27 :where(img,video,iframe,svg) { max-inline-size: 100%; }
body.msh-v27 :where(img,video) { block-size: auto; }
body.msh-v27 :where(.msh-card,.msh-admin-card,.msh-portal-card,.msh-booking-card,.msh-service-card,.msh-webinar-card,.msh-form-shell) { border-radius: var(--msh-v27-radius,18px); }
body.msh-v27-enhanced-focus :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: var(--msh-v27-focus,3px) solid color-mix(in srgb, var(--msh-gold,#c9a227) 72%, #1f2937); outline-offset: 3px; }
body.msh-v27 .msh-field > span, body.msh-v27 label > span:first-child { line-height: 1.7; }
body.msh-v27 :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { min-block-size: 44px; max-inline-size: 100%; }
body.msh-v27 textarea { min-block-size: 112px; resize: vertical; }
body.msh-v27 :where(.msh-table-wrap,.wp-block-table,.woocommerce-orders-table) { overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
body.msh-v27 :where(table) { max-inline-size: 100%; }
body.msh-v27 .msh-v27-live-region { position: fixed; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.msh-v27 [aria-busy="true"] { cursor: progress; }
body.msh-v27 [aria-busy="true"] :where(button,input[type="submit"]) { pointer-events: none; opacity: .68; }
body.msh-v27 .msh-error-summary { border-inline-start: 4px solid #b42318; padding: 12px 14px; background: #fff5f4; border-radius: 10px; margin-block: 12px; }
body.msh-v27 .msh-error-summary:focus { outline: 3px solid rgba(180,35,24,.25); }
body.msh-v27-density-compact :where(.msh-card,.msh-portal-card,.msh-admin-card,.msh-booking-card) { padding: clamp(12px,2vw,18px); }
body.msh-v27-compact-tables :where(.msh-table-wrap table,.widefat) :is(th,td) { padding-block: 8px; }
body.msh-v27-reduce-effects :where(.msh-reveal,[data-reveal],.msh-card,.msh-button,.site-header,.site-footer) { transition-duration: .01ms !important; animation-duration: .01ms !important; }
body.msh-v27-mobile-dock-static .msh-mobile-dock { position: static !important; }

@media (max-width: 782px) {
  body.msh-v27 :where(.msh-container,.msh-shell,.site-header__inner,.site-footer__inner) { width: calc(100% - (var(--msh-v27-mobile-gutter,16px) * 2)); }
  body.msh-v27 :where(.msh-grid,.msh-cards,.msh-card-grid,.msh-portal-grid,.msh-booking-grid,.msh-service-grid,.msh-webinar-grid) { grid-template-columns: minmax(0,1fr); }
  body.msh-v27 :where(.msh-actions,.msh-form-actions,.msh-portal-actions) { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
  body.msh-v27 :where(.msh-actions,.msh-form-actions,.msh-portal-actions) > :where(a,button,input[type="submit"]) { width: 100%; justify-content: center; }
  body.msh-v27 :where(.msh-field-grid,.msh-form-grid) { grid-template-columns: minmax(0,1fr); }
  body.msh-v27 .msh-mobile-dock { padding-bottom: max(8px, env(safe-area-inset-bottom)); }
  body.msh-v27 .site-main { padding-bottom: calc(var(--msh-mobile-dock-height,0px) + env(safe-area-inset-bottom)); }
}

@media (max-width: 480px) {
  body.msh-v27 :where(h1,.msh-h1) { font-size: clamp(28px,9vw,40px); line-height: 1.25; }
  body.msh-v27 :where(h2,.msh-h2) { font-size: clamp(22px,7vw,32px); line-height: 1.35; }
  body.msh-v27 :where(.msh-card,.msh-portal-card,.msh-booking-card,.msh-service-card,.msh-webinar-card) { padding: 16px; }
  body.msh-v27 :where(.msh-hero,.msh-page-hero) { min-height: auto; padding-block: clamp(38px,12vw,72px); }
}

@media (prefers-reduced-motion: reduce) {
  body.msh-v27 *, body.msh-v27 *::before, body.msh-v27 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
