/* Scope every enhancement to the existing salon app. */
#lh-app :is([role="button"], [role="tab"], [role="radio"], [role="checkbox"], button, a, input):focus-visible {
    outline: 3px solid #765613 !important;
    outline-offset: 4px;
    box-shadow: 0 0 0 2px #fff;
}
#lh-app :is(.lh-pw-card, .lh-tab, .lh-date-pill, .lh-time-pill, .lh-svc, .lh-bp) {
    -webkit-tap-highlight-color: rgba(201, 162, 74, .16);
    touch-action: manipulation;
}
#lh-app :is(.lh-tab, .lh-time-pill) { min-height: 44px; }
#lh-app .lh-pw-bar [role="button"] { display: inline-flex; min-height: 44px; align-items: center; }
#lh-app .lh-pw-bar a,
#lh-app .lh-bp-sel { color: #765613; }
#lh-app .lh-svc-dur,
#lh-app .lh-bp-dur,
#lh-app .lh-cta-sub,
#lh-app .lh-sidebar-empty,
#lh-app .lh-sb-cat,
#lh-app .lh-sb-label,
#lh-app .lh-bp-incl span { opacity: 1; }
#lh-app .lh-input-wrap input { min-height: 48px; font-size: 16px; }
#lh-app .lh-input-wrap input::placeholder { color: #706961; opacity: 1; }
#lh-app .lh-tabs { overflow-x: auto; justify-content: flex-start; }
#lh-app .lh-tab { flex: 1 0 auto; text-align: center; }
#lh-app .lh-date-strip { scrollbar-width: thin; scrollbar-color: #a58440 #eee8dd; }
#lh-app .lh-date-strip::-webkit-scrollbar { display: block; height: 5px; }
#lh-app .lh-date-strip::-webkit-scrollbar-thumb { background: #a58440; border-radius: 8px; }
#lh-app :is(.lh-schedule, .lh-name-section, .lh-cta-section, .lh-bridal-form, .lh-bridal-cta).open { max-height: none; overflow: visible; }
#lh-app .pdba-sheet-close {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    margin: 0 0 12px auto;
    padding: 8px 14px;
    border: 1px solid #d4c9b5;
    border-radius: 24px;
    color: #222;
    background: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
}
#lh-app .pdba-status {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
@media (min-width: 768px) and (max-width: 1023px) {
    #lh-app .lh-flow-grid { gap: 24px; }
    #lh-app .lh-flow-side { width: 230px; }
    #lh-app .lh-services { grid-template-columns: 1fr; }
    #lh-app .lh-time-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #lh-app .lh-pathways { padding-inline: 24px; gap: 12px; }
    #lh-app .lh-pw-card { padding: 24px 18px; }
}
@media (max-width: 767px) {
    #lh-app .lh-sheet { max-height: 75dvh; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
    #lh-app .lh-mob-bar-inner { min-height: 56px; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
    #lh-app .lh-bottom-spacer.active { height: calc(80px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    #lh-app *, #lh-app *::before, #lh-app *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
