.accessibility-skip { position: fixed; top: 8px; left: 8px; z-index: 20000; padding: 12px 18px; background: #fff; color: #173923; font-weight: 700; border: 2px solid #173923; border-radius: 8px; transform: translateY(-160%); }
.accessibility-skip:focus { transform: none; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid #173923 !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px #fff !important; }
:where(a,button,input,select,textarea,summary,[tabindex]) { scroll-margin-top: 100px; scroll-margin-bottom: 24px; }
button, summary { min-height: 24px; min-width: 24px; }
#booking-form .booking-addon-option:focus-within { outline: 3px solid #173923; outline-offset: 2px; }
#booking-form :is(input[type="email"],input[type="tel"],input[type="text"])::placeholder { color: #64748b !important; opacity: 1; }
#booking-form .accessibility-field-label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: #1e293b; }
#booking-form .accessibility-field-error { margin: 8px 0 0; font-size: 14px; color: #991b1b; }
#booking-form .accessibility-field-error[hidden] { display: none; }
#booking-form :is(input[type="email"],input[type="tel"]) { font-size: 16px !important; }
#booking-summary .text-slate-500,
#booking-summary.booking-summary-empty :is(#booking-summary-date,#booking-summary-time,#booking-summary-service) { color: #475569 !important; }
#booking-summary .text-slate-500 { font-size: 12px !important; }
#booking-form .booking-addon-option.is-selected .booking-addon-option-label > span > span:first-child > span:first-child::before { content: '✓ '; }
footer a { display: inline-flex; align-items: center; min-height: 24px; }
@media (max-width: 359px) { #tailwind-site-header .header-brand-name { font-size: 17px !important; } #tailwind-site-header a[aria-label="Ulvilan Koirametsä"] { gap: 4px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } *,*::before,*::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }
@media (forced-colors: active) { :focus-visible { outline: 3px solid Highlight !important; } #booking-form .booking-option-selected, #booking-form .booking-addon-option.is-selected { outline: 2px solid Highlight; } }
