:root {
  --site-page-height: 100vh;
  --site-visible-height: var(--site-page-height);
  --site-visible-top: 0px;
  --site-safe-top: env(safe-area-inset-top, 0px);
  --site-safe-right: env(safe-area-inset-right, 0px);
  --site-safe-bottom: env(safe-area-inset-bottom, 0px);
  --site-safe-left: env(safe-area-inset-left, 0px);
  --site-nav-row-height: 3rem;
  --site-cookie-height: 0px;
  --site-navbar-height: 0px;
  --site-bottom-height: 0px;
  --site-bottom-obstruction: var(--site-bottom-height);
  --site-keyboard-inset: 0px;
  --site-dialog-top-gap: max(.5rem,calc(var(--site-safe-top) - var(--site-visible-top)));
  --site-dialog-bottom-gap: max(.5rem,var(--site-safe-bottom));
  --site-dialog-height: max(0px,calc(var(--site-visible-height) - var(--site-dialog-top-gap) - var(--site-dialog-bottom-gap)));
  --site-admin-safe-top: 0px;
}
@supports (height: 100svh) { :root { --site-page-height: 100svh; } }
@supports (height: 100dvh) { :root { --site-visible-height: 100dvh; } }
@media (min-width: 768px) { :root { --site-nav-row-height: 5rem; } }
html:has(#navbar) { --site-navbar-height: calc(var(--site-nav-row-height) + var(--site-safe-top) + 1px); }
#navbar.mobile-safe-nav { padding: var(--site-safe-top) var(--site-safe-right) 0 var(--site-safe-left); }
#navbar .mobile-nav-row { height: auto; min-height: var(--site-nav-row-height); }
#navbar + .mobile-safe-nav-spacer { height: var(--site-navbar-height); }
#mobile-menu.mobile-safe-menu { box-sizing: border-box; max-height: max(0px,calc(var(--site-visible-height) - var(--site-navbar-height))); padding-bottom: var(--site-safe-bottom); }
html.site-standalone #navbar { background-color: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }
html.site-keyboard-open { --site-bottom-obstruction: 0px; --site-dialog-bottom-gap: .5rem; }
.site-admin-shell { min-width: 0; }
.site-admin-toolbar { position: sticky; top: 0; z-index: 40; align-items: center; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .25rem .75rem; padding: calc(.5rem + var(--site-safe-top)) max(1rem,var(--site-safe-right)) .5rem max(1rem,var(--site-safe-left)); background: #fff; border-bottom: 1px solid #e7e5e4; min-width: 0; }
.site-admin-toolbar a, .site-admin-toolbar summary, .site-admin-toolbar button { min-height: 44px; font-size: .875rem; color: #24592a; }
.site-admin-toolbar a { display: flex; align-items: center; padding-block: .5rem; }
.site-admin-dashboard-link { font-weight: 700; }
.site-admin-site-link { justify-self: end; text-decoration: underline; }
.site-admin-toolbar > details { grid-column: 1 / -1; min-width: 0; width: 100%; }
.site-admin-toolbar summary { display: list-item; cursor: pointer; padding: .75rem .25rem; font-weight: 600; white-space: normal; word-break: normal; overflow-wrap: normal; }
.site-admin-tools-panel { max-height: calc(var(--site-visible-height) - var(--site-admin-safe-top) - var(--site-bottom-height) - 8rem); overflow-y: auto; overscroll-behavior: contain; padding: .25rem .25rem .75rem; }
.site-admin-toolbar form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; margin-bottom: .5rem; }
.site-admin-toolbar select { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; border: 1px solid #d6d3d1; border-radius: .375rem; padding: .5rem; font-size: .875rem; background: #fff; }
.site-admin-toolbar button { border: 1px solid #d6d3d1; border-radius: .375rem; padding: .5rem .75rem; }
.site-admin-tools-panel > a { border-top: 1px solid #e7e5e4; padding-inline: .5rem; overflow-wrap: anywhere; }
.site-admin-tools-panel > a[aria-current="page"] { background: #f0f7f0; font-weight: 600; }
.site-admin-section .site-admin-toolbar { display: grid; }
.site-admin-section-content { min-width: 0; width: 100%; padding-bottom: 1.5rem; }
.site-admin-section-status { position: sticky; top: calc(var(--site-admin-safe-top) + var(--site-admin-toolbar-height, 8rem) + .5rem); z-index: 20; }
.site-admin-section-content h1, .site-admin-shell .admin-tab h1, .site-admin-shell .admin-tab h2 { scroll-margin-top: calc(var(--site-admin-safe-top) + var(--site-admin-toolbar-height, 8rem) + 1rem); }
.site-health-page, .site-owner-page { min-width: 0; }
.site-owner-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; max-width: 42rem; margin-top: 1rem; font-size: .875rem; color: #57534e; }
.site-owner-pagination > div { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.site-owner-pagination a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .75rem; border: 1px solid #d6d3d1; border-radius: .5rem; background: #fff; color: #24592a; }
.site-owner-page [id^="section-"] > .flex:has(> h2) { flex-wrap: wrap; }
.site-owner-page #section-commandes .group > .flex, .site-owner-page #section-commandes .group > .flex .flex { flex-wrap: wrap; }
.site-owner-page #section-commandes .group p, .site-owner-page #section-comptes-rendus p { overflow-wrap: anywhere; }
.site-health-page main, .site-health-page main > div, .site-health-page [id^="panel-"] { min-width: 0; }
.site-health-picker { display: flex; gap: .75rem; margin-top: .5rem; }
.site-health-picker select { flex: 1; min-width: 0; }
.site-health-picker button { flex: 0 1 11rem; }
.site-health-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; margin-top: .75rem; }
.site-health-actions button { min-height: 44px; border: 1px solid #d6d3d1; border-radius: .5rem; padding: .5rem .75rem; color: #24592a; font-weight: 600; font-size: .875rem; }
.site-health-actions button:first-child { color: #fff; background: #24592a; border-color: #24592a; }
.site-health-page [data-record-id] > .flex-1 { min-width: 0; }
.site-health-page [data-record-id] h3, .site-health-page [data-record-id] p { overflow-wrap: anywhere; }
.site-mobile-dialog [data-dialog-context] { margin: .25rem 0 .75rem; font-size: .875rem; color: #57534e; }
.site-mobile-bottom { display: none; }
#sidebar-nav > details > summary { min-height: 44px; padding: .75rem; color: #57534e; font-size: .875rem; font-weight: 600; cursor: pointer; }
.site-page-progress { position: fixed; inset: auto 1rem calc(1rem + var(--site-bottom-height) + var(--site-cookie-height)); z-index: 9997; width: max-content; max-width: calc(100vw - 2rem); margin-inline: auto; padding: .75rem 1rem; border: 1px solid #d6d3d1; border-radius: .5rem; background: #fff; color: #1a5c2e; font-size: .875rem; }
.site-pro-page :focus-visible, .site-owner-page :focus-visible, .site-health-page :focus-visible, .admin-content :focus-visible { outline: 2px solid #24592a; outline-offset: 3px; }
#notif-list { overflow-wrap: anywhere; }
#notif-list > button { min-height: 44px; }
#notif-list > button:focus-visible { outline: 2px solid #24592a; outline-offset: -3px; }
.site-text-dialog-panel,
dialog.site-text-dialog {
  box-sizing: border-box;
  width: min(26rem,calc(100% - 2rem));
  max-width: 100%;
  max-height: calc(var(--site-visible-height) - 2rem);
  margin: auto;
  padding: 1.25rem;
  border: 1px solid #e8dcc8;
  border-radius: .5rem;
  background: #fff;
  color: #292524;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.site-text-dialog :is(h1,h2,h3,p,label),
.site-mobile-dialog :is(h1,h2,h3,p,label),
.site-native-dialog :is(h1,h2,h3,p,label) {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}
.site-text-dialog :is(h2,h3,p,label), #admin-confirm-msg, #admin-prompt-label { white-space: pre-wrap; }
.site-text-dialog:not(dialog) { top: var(--site-visible-top); bottom: auto; height: var(--site-visible-height); padding: .5rem; }
dialog.site-text-dialog { position: fixed; top: calc(var(--site-visible-top) + var(--site-visible-height) / 2); bottom: auto; margin-block: 0; transform: translateY(-50%); }
.site-text-dialog-label { display: block; margin-bottom: .5rem; font-size: .875rem; line-height: 1.6; }
.site-text-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
.site-text-dialog-actions button { min-height: 44px; height: auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.site-text-dialog :focus-visible { outline: 2px solid #24592a; outline-offset: 3px; }
.site-mobile-dialog { z-index: var(--site-dialog-layer,10020) !important; }
.site-native-dialog { max-width: calc(100vw - 1rem); max-height: calc(var(--site-visible-height) - 1rem); overflow-y: auto; overscroll-behavior: contain; }
.site-native-dialog p { white-space: pre-line; }
.site-native-dialog .flex:has(> button) { flex-wrap: wrap; }
.site-native-dialog button { min-height: 44px; height: auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.site-mobile-dialog .site-dialog-panel { box-sizing: border-box; min-width: 0; max-height: calc(var(--site-visible-height) - 1rem); overflow-y: auto; overscroll-behavior: contain; }
#admin-confirm-overlay.site-text-dialog, #admin-prompt-overlay.site-text-dialog { box-sizing: border-box; top: var(--site-visible-top); bottom: auto; height: var(--site-visible-height); padding: .5rem; }
#admin-confirm-box, #admin-prompt-box { box-sizing: border-box; max-height: calc(var(--site-visible-height) - 1rem); overflow-y: auto; overscroll-behavior: contain; }
.site-short-viewport .site-mobile-dialog [data-dialog-actions] { position: static; }
#cookie-settings-panel > .relative { box-sizing: border-box; max-height: calc(var(--site-visible-height) - 1rem) !important; overscroll-behavior: contain; }
#cookie-settings-panel :is(h2,p) { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
#cookie-settings-panel .flex > div:not([id$="-dot"]) { min-width: 0; }
#cookie-settings-panel > .relative > .flex { flex-wrap: wrap; }
#cookie-settings-panel > .relative > .flex > button { min-width: min(7rem,100%); max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 1023px) {
  body { padding-bottom: var(--site-safe-bottom); }
  body:has(> #navbar) { padding-inline: var(--site-safe-left) var(--site-safe-right); }
  html.site-has-bottom-nav body { padding-bottom: var(--site-bottom-obstruction); }
  html { scroll-padding-top: calc(var(--site-navbar-height) + var(--site-workspace-header-height,0px) + 1rem); scroll-padding-bottom: calc(var(--site-bottom-obstruction) + var(--site-cookie-height) + 1rem); }
  .site-pro-page, .site-owner-page, .site-health-page, .site-admin-shell { min-height: calc(var(--site-page-height) - var(--site-bottom-height)); }
  .site-owner-page > main { min-height: 0; }
  .site-pro-page > main > .site-pro-mobile-nav, .site-owner-mobile-nav { top: 0; padding-top: var(--site-safe-top); }
  .site-owner-mobile-nav > div { min-height: 48px; padding-inline: max(1rem,var(--site-safe-left)) max(1rem,var(--site-safe-right)); }
  .site-health-page main > div:first-child { padding-top: calc(.75rem + var(--site-safe-top)); padding-inline: 1rem; }
  @supports (overflow: clip) { .site-pro-page { overflow-x: clip; overflow-y: visible; } }
  html.site-keyboard-open .site-mobile-bottom, html.site-keyboard-open #bug-bot-widget, html.site-keyboard-open #admin-cockpit, html.site-keyboard-open #booking-mobile-actions { visibility: hidden; pointer-events: none; }
  #cart-toast { bottom: calc(1rem + max(var(--site-bottom-obstruction),var(--site-safe-bottom)) + var(--site-cookie-height) + var(--site-keyboard-inset)); }
  #toast-container { bottom: calc(1rem + max(var(--site-bottom-obstruction),var(--site-safe-bottom)) + var(--site-cookie-height) + var(--site-keyboard-inset)); }
  #admin-cockpit { top: auto !important; left: auto !important; right: 12px !important; bottom: calc(1rem + var(--site-bottom-height) + var(--site-cookie-height)) !important; max-width: calc(100vw - 24px); }
  #admin-cockpit-panel { max-height: calc(var(--site-visible-height) - var(--site-bottom-height) - var(--site-cookie-height) - 6rem); overflow-y: auto; max-width: calc(100vw - 24px); }
  .site-pro-page button, .admin-content button, .admin-content .btn-sm, .admin-content summary { min-height: 44px; }
  .admin-content button[title], .site-pro-page button[title] { min-width: 44px; }
  .admin-content h1, .admin-content h2, .site-pro-page h2 { overflow-wrap: anywhere; }
  .site-admin-mobile-nav a { display: inline-flex; align-items: center; }
  .admin-content .overflow-x-auto { overscroll-behavior-x: contain; }
  :focus-visible { outline: 2px solid #24592a; outline-offset: 3px; }
  .admin-content { padding-bottom: 1.5rem; }
  .site-mobile-bottom { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); position: fixed; inset: auto 0 0; z-index: 50; padding: .25rem max(.25rem,var(--site-safe-right)) max(.25rem,var(--site-safe-bottom)) max(.25rem,var(--site-safe-left)); border-top: 1px solid #e7e5e4; background: #fff; }
  .site-mobile-bottom a, .site-mobile-bottom button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; min-width: 0; min-height: 52px; padding: .25rem; color: #57534e; font-size: .6875rem; line-height: 1.25; text-align: center; overflow-wrap: anywhere; border-radius: .375rem; }
  .site-mobile-bottom [aria-current="page"] { color: #1a5c2e; background: #f0f5ef; font-weight: 700; }
  .site-mobile-bottom svg { width: 22px; height: 22px; flex-shrink: 0; }
  .site-pro-page > main { padding-bottom: 1.5rem; }
  html.site-navigation-open body { overflow: hidden; }
  html.site-navigation-open #navbar { z-index: 80; }
  html.site-navigation-open .site-mobile-bottom,
  html.site-navigation-open #admin-cockpit,
  html.site-workspace-menu-open #admin-cockpit { visibility: hidden; pointer-events: none; }
  #navbar .mobile-nav-menu { min-width: 44px; min-height: 44px; flex-shrink: 0; }
  #mobile-menu { padding-bottom: env(safe-area-inset-bottom); }
  #mobile-menu a, #mobile-menu button { min-height: 44px; overflow-wrap: anywhere; }
  .site-pro-page > main { min-width: 0; }
  .site-pro-page #sidebar { max-width: calc(100vw - 2rem); padding-top: var(--site-safe-top); padding-bottom: var(--site-safe-bottom); }
  .site-pro-page #sidebar, .site-owner-page #owner-sidebar { box-sizing: border-box; top: var(--site-visible-top); bottom: auto; height: var(--site-visible-height); padding-left: var(--site-safe-left); padding-right: var(--site-safe-right); }
  .site-pro-page #sidebar > nav { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .admin-content > .site-admin-mobile-nav { display: grid; top: var(--site-admin-safe-top); }
  .site-admin-mobile-nav a, .site-admin-mobile-nav select { min-height: 44px; }
  .site-admin-mobile-nav select { min-width: 0; flex-basis: 50%; max-width: 100%; }
  .site-pro-mobile-nav a, .site-pro-mobile-nav button, .site-pro-page #sidebar a, .site-pro-page #sidebar button { min-height: 44px; }
  .site-pro-mobile-nav > div:last-child { flex-wrap: wrap; overflow-x: visible; margin-inline: 0; }
  .site-pro-page [data-onboarding-banner] { flex-wrap: wrap; }
  .site-page-toolbar { flex-wrap: wrap; gap: .75rem; }
  .site-page-toolbar > div { min-width: 0; }
  .site-page-toolbar > .flex-1 { flex-basis: 60%; }
  .site-page-toolbar :is(h1,h2,p), .site-page-toolbar > :is(a,button) { min-width: 0; max-width: 100%; white-space: normal; word-break: normal; overflow-wrap: anywhere; }
  .site-mobile-dialog :is(h1,h2,h3,p,label).truncate { overflow: visible; text-overflow: clip; }
  .site-mobile-dialog :is(h1,h2,h3,p,label)[class*="line-clamp-"] { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
  .site-mobile-dialog h1 { font-size: 1.5rem; line-height: 1.3; }
  .site-mobile-dialog :is(h2,h3) { line-height: 1.4; }
  .site-mobile-dialog button[aria-label^="Fermer"], .site-mobile-dialog button[title^="Fermer"] { flex-shrink: 0; }
  .site-mobile-dialog [data-dialog-actions] { flex-wrap: wrap; gap: .5rem; }
  .site-mobile-dialog [data-dialog-actions] > :is(button,a) { height: auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .site-mobile-dialog .flex:has(> :is(h1,h2,h3)) { flex-wrap: wrap; gap: .5rem; }
  .site-mobile-dialog .flex > :is(h1,h2,h3) { flex: 1 1 10rem; }
  .site-native-dialog :is(h1,h2,h3,p,label).truncate { overflow: visible; text-overflow: clip; }
  .site-native-dialog :is(h1,h2,h3,p,label)[class*="line-clamp-"] { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
  .site-pro-page .site-service-card { flex-wrap: wrap; }
  .site-pro-page .site-service-card > .flex-1 { flex-basis: 100%; }
  .site-pro-page .site-service-card > div:last-child { flex-wrap: wrap; margin-left: auto; }
  .site-pro-page .site-service-card button, .site-booking-page button { min-height: 44px; }
  .site-pro-page .site-service-card button { min-width: 44px; }
  .site-pro-page h1, .site-booking-page h1, #stripe-account dd, #stripe-account p { overflow-wrap: anywhere; }
  .site-booking-page > div { padding-inline: 1rem; }
  .site-booking-page .grid > div, .site-booking-page .svc-select-btn > div { min-width: 0; }
  .site-booking-page .svc-select-btn { gap: .75rem; overflow-wrap: anywhere; }
  .site-booking-page #booking-panel, .site-booking-page #booking-success { position: static; }
  .site-booking-page #cal-grid > button { min-width: 0; padding-inline: 0; }
  .site-health-page main { height: auto; min-height: calc(var(--site-page-height) - var(--site-bottom-obstruction)); overflow: visible; padding-inline: var(--site-safe-left) var(--site-safe-right); }
  .site-health-page main > .overflow-hidden,
  .site-health-page main > .overflow-hidden > .overflow-hidden { overflow: visible; flex: 1 1 auto; }
  .site-health-page [id^="panel-"] { overflow: visible; padding: 1rem; }
  .site-health-page .site-health-heading { flex-wrap: wrap; padding: 1rem; gap: .75rem; }
  .site-health-heading > div:first-child { min-width: 0; align-items: flex-start; }
  .site-health-heading h1 { overflow-wrap: anywhere; }
  .site-health-heading > div:last-child { flex-wrap: wrap; }
  .site-health-page .site-health-tabs { display: none; }
  .site-health-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-health-picker { flex-wrap: wrap; }
  .site-health-picker button { min-height: 44px; }
  .site-health-page [id^="panel-"] > .flex.justify-between { flex-wrap: wrap; gap: .75rem; }
  .site-health-page [data-record-id] { gap: .5rem; }
  .site-health-page [data-record-id] .justify-between,
  .site-health-page [data-dw-id] .justify-between,
  .site-health-page [data-vx-id] .justify-between { flex-wrap: wrap; }
  .site-health-page [data-dw-id] .flex, .site-health-page [data-vx-id] .flex { min-width: 0; flex-wrap: wrap; }
  .site-health-page [data-dw-id] h3, .site-health-page [data-vx-id] h3 { overflow-wrap: anywhere; }
  .site-health-page #documents-list { grid-template-columns: minmax(0,1fr); }
  .site-health-page #doc-dropzone > .flex { flex-wrap: wrap; }
  .site-health-page #doc-category-filters { flex-wrap: wrap; overflow: visible; }
  .site-health-page .truncate, .site-owner-page .truncate { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .site-owner-page > main { padding: 1rem max(1rem,var(--site-safe-right)) 1rem max(1rem,var(--site-safe-left)); }
  .site-owner-page #chevaux > .flex { flex-wrap: wrap; gap: .75rem; }
  .site-owner-page #chevaux .group > .flex { flex-wrap: wrap; }
  .site-owner-page #chevaux .group > .flex > .flex-1 { flex-basis: calc(100% - 5rem); }
  .site-owner-page #chevaux .group > .flex > div:last-child { flex-wrap: wrap; }
  .site-owner-page #owner-sidebar { max-width: calc(100vw - 3rem); padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
  .site-admin-shell .site-mobile-bottom { box-sizing: border-box; width: 100%; max-width: 100vw; }
  .site-admin-shell .site-mobile-bottom span { max-width: 100%; white-space: normal; word-break: normal; overflow-wrap: normal; }
}
@media (max-width: 767px) {
  .site-home-search { min-height: 0; }
  .site-home-search > .max-w-5xl { padding: 5rem 1rem 2rem; }
  .site-home-search h1 { font-size: 2rem; }
  .site-home-search .mb-8 { margin-bottom: 1rem; }
  .site-home-search input, .site-home-search button { min-height: 44px; }
  body { overflow-wrap: break-word; }
  .site-pa-page { font-size: .9375rem; }
  .site-pa-page h1 { font-size: 1.5rem; line-height: 1.2; }
  .site-pa-page h2 { font-size: 1.125rem; line-height: 1.3; }
  .site-pa-page main > div { padding-left: 1rem; padding-right: 1rem; }
  .site-pa-page section { padding: 1rem; }
  .site-pa-page .site-pa-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .site-pa-page .site-pa-nav a { min-height: 48px; padding-top: .5rem; padding-bottom: .5rem; font-size: .8125rem; }
  .site-pa-page main { padding-bottom: 1rem; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { font-size: 16px !important; min-width: 0; max-width: 100%; }
  input[type="date"] { min-height: 44px; }
  button, [role="button"], a[class*="rounded"], summary { touch-action: manipulation; }
  .site-health-page button, .site-owner-page button, .site-mobile-dialog button,
  .site-health-page a[class], .site-owner-page a[class], .site-mobile-dialog a[class],
  #navbar button, #navbar a, #onb-widget button, #onb-widget .onb-step { min-height: 44px; }
  .site-health-page button[title], .site-owner-page button[title], .site-mobile-dialog button[title] { min-width: 44px; }
  .site-health-page .text-stone-300, .site-health-page .text-stone-400,
  .site-owner-page .text-stone-300, .site-owner-page .text-stone-400 { color: #78716c; }
  .site-health-page .group-hover\:opacity-100 { opacity: 1; }
  .site-health-page #photos-grid button { width: 44px; height: 44px; }
  .site-health-page #type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-health-page #type-grid button { flex-direction: row; text-align: left; }
  .site-mobile-dialog { top: var(--site-visible-top) !important; bottom: auto !important; height: var(--site-visible-height) !important; max-height: var(--site-visible-height); padding: .5rem !important; align-items: center !important; z-index: var(--site-dialog-layer,10020) !important; }
  .site-mobile-dialog > .relative { min-width: 0; max-width: 100%; max-height: calc(var(--site-visible-height) - 1rem) !important; overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border-radius: .75rem; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
  .site-mobile-dialog > .modal-box, .site-mobile-dialog > #admin-confirm-box, .site-mobile-dialog > #admin-prompt-box { min-width: 0; width: 100%; max-width: 100%; max-height: calc(var(--site-visible-height) - 1rem); overflow-y: auto; overscroll-behavior: contain; padding: 1rem 1rem max(1rem,env(safe-area-inset-bottom)); border-radius: .75rem; }
  .site-mobile-dialog > .min-h-screen { min-height: 0; width: 100%; max-width: 100%; padding: 0; }
  .site-mobile-dialog .site-dialog-panel { max-width: 100%; max-height: calc(var(--site-visible-height) - 1rem) !important; margin-block: 0; }
  .site-mobile-dialog form { min-width: 0; }
  .site-mobile-dialog .flex-1 { min-width: 0; }
  .site-mobile-dialog .truncate { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .site-mobile-dialog .grid { min-width: 0; }
  .site-mobile-dialog [data-dialog-actions] { position: sticky; bottom: -1px; background: white; padding-top: .75rem; padding-bottom: max(.5rem, env(safe-area-inset-bottom)); border-top: 1px solid #e7e5e4; z-index: 2; flex-wrap: wrap; }
  .site-mobile-dialog #cs-share-cat-list { grid-template-columns: minmax(0,1fr); max-height: none; overflow: visible; }
  .site-mobile-dialog #cs-share-cat-list label { min-height: 44px; gap: .75rem; }
  .site-mobile-dialog #cs-share-query { width: 100%; }
  #modal-share-horse .flex.gap-2 { flex-wrap: wrap; }
  #modal-share-horse .justify-between { flex-wrap: wrap; gap: .5rem; }
  #doc-preview-modal > .relative > div:first-child { flex-wrap: wrap; }
  #doc-preview-title { overflow-wrap: anywhere; white-space: normal; }
  #doc-preview-content { min-height: 0; padding: .5rem; }
  #doc-preview-content iframe { min-height: 50dvh !important; }
  #bug-bot-widget { left: auto !important; right: 12px; }
  #bug-bot-panel { left: auto !important; right: 0; width: min(300px,calc(100vw - 24px)) !important; max-height: calc(var(--site-visible-height) - 5rem); overflow-y: auto !important; }
  #bug-bot-toggle, #pwa-close { min-width: 44px; min-height: 44px; }
  #bug-bot-widget { bottom: calc(12px + max(var(--site-safe-bottom),var(--site-bottom-height)) + var(--site-cookie-height)) !important; }
  #cookie-banner { max-height: 55dvh; overflow-y: auto; }
  #cookie-banner button, #cookie-settings-panel button { min-height: 44px; }
  #pwa-sheet { max-height: calc(var(--site-visible-height) - 1rem); overflow-y: auto; }
  #onb-next-step .truncate { white-space: normal; overflow-wrap: anywhere; }
  #onb-panel { max-height: 55dvh; overflow-y: auto; overscroll-behavior: contain; }
  #onb-dismiss { white-space: normal; }
  dialog[open] { max-width: calc(100vw - 1rem); max-height: calc(var(--site-visible-height) - 1rem); overflow-y: auto; }
  :focus-visible { outline: 2px solid #24592a; outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-health-page *, .site-owner-page *, .site-pro-page *, .admin-content *, .site-mobile-dialog *, .site-home-search * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  #messages-container { scroll-behavior: auto; }
}
@media (max-width: 1023px) {
  .site-mobile-dialog, #admin-confirm-overlay.site-text-dialog, #admin-prompt-overlay.site-text-dialog, #cookie-settings-panel {
    box-sizing: border-box;
    top: var(--site-visible-top) !important;
    bottom: auto !important;
    height: var(--site-visible-height) !important;
    padding: var(--site-dialog-top-gap) max(.5rem,var(--site-safe-right)) var(--site-dialog-bottom-gap) max(.5rem,var(--site-safe-left)) !important;
  }
  .site-mobile-dialog > .relative, .site-mobile-dialog > .modal-box, .site-mobile-dialog .site-dialog-panel, #admin-confirm-box, #admin-prompt-box, #cookie-settings-panel > .relative { max-height: var(--site-dialog-height) !important; }
  .site-mobile-dialog > .min-h-screen { min-height: 0; }
  dialog.site-native-dialog {
    position: fixed;
    top: calc(var(--site-visible-top) + var(--site-dialog-top-gap) + var(--site-dialog-height) / 2);
    bottom: auto;
    left: max(.5rem,var(--site-safe-left));
    right: max(.5rem,var(--site-safe-right));
    margin-block: 0;
    margin-inline: auto;
    max-width: calc(100vw - max(.5rem,var(--site-safe-left)) - max(.5rem,var(--site-safe-right)));
    max-height: var(--site-dialog-height);
    transform: translateY(-50%);
  }
  #dropdown-metiers { top: var(--site-visible-top) !important; bottom: auto !important; height: var(--site-visible-height); }
  #dropdown-metiers > div:last-child { top: calc(var(--site-dialog-top-gap) + var(--site-dialog-height) / 2) !important; max-height: var(--site-dialog-height) !important; }
  #dropdown-metiers button { min-height: 44px; }
  html.site-keyboard-open .site-mobile-dialog [data-dialog-actions] { position: static; }
  body:has(#booking-mobile-actions) > main { padding-bottom: 1.5rem; }
  #pwa-sheet { padding-bottom: var(--site-safe-bottom); }
  .site-page-progress { bottom: calc(1rem + max(var(--site-bottom-obstruction),var(--site-safe-bottom)) + var(--site-cookie-height) + var(--site-keyboard-inset)); }
  html.site-keyboard-open body { padding-bottom: var(--site-bottom-obstruction); }
}
@media (min-width: 1024px) {
  .site-health-page main { height: var(--site-visible-height); }
}
