/* Shared semantic theme tokens; presentation only. Green remains fallback. */
:root{--pp-theme-primary:#102615;--pp-theme-primary-hover:#193c26;--pp-theme-primary-contrast:#fff;--pp-theme-gold:#D9B76E;--pp-theme-soft:#f7f0e4;--pp-theme-primary-rgb:16,38,21}
:root[data-pp-website-theme="burgundy"]{--pp-theme-primary:#351723;--pp-theme-primary-hover:#4a2534;--pp-theme-primary-rgb:53,23,35}
:root[data-pp-website-theme="green"]{--pp-theme-primary:#102615;--pp-theme-primary-hover:#193c26;--pp-theme-primary-rgb:16,38,21}
/* Booking modal and calendar: do not recolour semantic availability or error states. */
:root #bookingModal{--ink:var(--pp-theme-primary);--green:var(--pp-theme-primary);--pp-forest:var(--pp-theme-primary);--pp-deep:var(--pp-theme-primary)}
:root #bookingModal :is(.modal-head h2,.modal-head h1,.section-head h2){color:var(--pp-theme-primary)!important}
:root #bookingModal :is(.btn.primary,.btn.dark,#bookingContinue,#bookingNext){background:var(--pp-theme-primary)!important;color:var(--pp-theme-primary-contrast)!important;border-color:var(--pp-theme-gold)!important}
:root #bookingModal :is(input,select,textarea):focus-visible{outline-color:var(--pp-theme-gold)}
:root #bookingModal :is(.calendar .selected,.calendar .active,.calendar .day.selected,.calendar .day.active,.time-slot.selected,.time-slot.active){background:var(--pp-theme-primary)!important;color:#fff!important}
/* Shared visual tokens for operational portals; preserve status, warning and map colours. */
:root :is(#admin,#groomer,#customer,.app){--pp-brand-primary:var(--pp-theme-primary);--pp-brand-gold:var(--pp-theme-gold)}
:root :is(#admin,#groomer,#customer,.app) :is(.btn.dark,.btn.primary){background-color:var(--pp-theme-primary);border-color:var(--pp-theme-gold)}
/* Keep brand detailing stable for both themes. */
:root #public{--pp-brand-primary:var(--pp-theme-primary);--pp-brand-gold:var(--pp-theme-gold)}
