/* Shared material system for every booking step. */
body.premium-site.booking-page .p-booking-pet-icon {width:38px;height:38px;color:#557196;filter:none}
body.premium-site.booking-page [aria-pressed=true] .p-booking-pet-icon {color:#244fb8}
body.premium-site.booking-page :is(.service-choice,.addon-choice,.slot-choice,.pet-choice) input:checked+span {animation:booking-choice-reveal .48s cubic-bezier(.2,.7,.3,1)}
@keyframes booking-choice-reveal {
  0% {transform:translateY(2px) scale(.985);filter:brightness(1)}
  55% {transform:translateY(-1px) scale(1.008);filter:brightness(1.09)}
  100% {transform:translateY(0) scale(1);filter:brightness(1)}
}
@media(max-width:760px) {
  body.premium-site.booking-page :is(.p-mobile-stages,.p-mobile-price-tabs,.p-care-pet-switch) {gap:8px}
  body.premium-site.booking-page .p-mobile-stages {background:#ffffff25;border:1px solid #ffffff85;border-radius:14px;padding:4px;box-shadow:inset 0 1px 0 #ffffff90}
  body.premium-site.booking-page :is(.p-mobile-stages,.p-mobile-price-tabs,.p-care-pet-switch) button {background:linear-gradient(140deg,#ffffff75,#ffffff25);border:1px solid #ffffffb0;border-radius:12px;color:#486080;box-shadow:inset 0 1px 0 #ffffffc0,0 3px 10px #35517a06;transition:background .25s,border-color .25s,box-shadow .25s}
  body.premium-site.booking-page :is(.p-mobile-stages,.p-mobile-price-tabs,.p-care-pet-switch) button[aria-pressed=true] {background:linear-gradient(135deg,#f1f6ffb8,#bcd3fa65);color:#234ba5;border-color:#8aace4;box-shadow:inset 0 1px 0 #fff,0 4px 12px #35517a12}
  body.premium-site.booking-page:not(.dark-preview) .flow-main {background:linear-gradient(140deg,#ffffff75,#ffffff25)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}
@media(prefers-reduced-motion:reduce) {
  body.premium-site.booking-page :is(.service-choice,.addon-choice,.slot-choice,.pet-choice) input:checked+span {animation:none!important}
}
body.premium-site.booking-page :is(.service-choice,.addon-choice,.slot-choice,.pet-choice)>span,
body.premium-site.booking-page :is(.p-pet-types button,.p-care-pet-switch button) {
  transition:transform .2s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
body.premium-site.booking-page :is(.service-choice,.addon-choice,.slot-choice,.pet-choice):active>span,
body.premium-site.booking-page :is(.p-pet-types button,.p-care-pet-switch button):active {transform:scale(.985)}
body.premium-site.booking-page .p-selection-animate {animation:booking-selection-settle .42s cubic-bezier(.2,.7,.3,1)!important}
@keyframes booking-selection-settle {
  0% {transform:scale(.985);filter:brightness(1)}
  45% {transform:scale(1.008);filter:brightness(1.06)}
  100% {transform:scale(1);filter:brightness(1)}
}
@media(prefers-reduced-motion:reduce) {
  body.premium-site.booking-page .p-selection-animate {animation:none!important}
  body.premium-site.booking-page :is(.service-choice,.addon-choice,.slot-choice,.pet-choice)>span,
  body.premium-site.booking-page :is(.p-pet-types button,.p-care-pet-switch button) {transition:none!important;transform:none!important}
}
body.premium-site.booking-page {
  --glass-panel:linear-gradient(135deg,#ffffff80,#ffffff38);
  --glass-field:linear-gradient(135deg,#ffffff9e,#ffffff55);
  --glass-edge:#ffffffef;
  --glass-line:#8da5c530;
  --glass-shadow:0 18px 50px #344d7710,inset 0 1px 0 #fff,inset 0 -1px 0 #ffffff70;
}
html[data-theme=light] body.premium-site.booking-page {
  background:radial-gradient(ellipse at 8% 14%,#c4def4 0,transparent 46%),radial-gradient(ellipse at 96% 44%,#d6cff0 0,transparent 47%),radial-gradient(ellipse at 35% 100%,#d4e9ec 0,transparent 55%),#eef3f8!important;
  background-attachment:fixed!important;
}
body.premium-site.booking-page .flow-main,
body.premium-site.booking-page .summary-panel,
body.premium-site.booking-page .site-nav[data-nav] {
  background:var(--glass-panel)!important;border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);
  backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%);
}
body.premium-site.booking-page .flow-main {border-radius:24px}
body.premium-site.booking-page .summary-panel {border-radius:22px;border-top:1px solid var(--glass-edge)}
body.premium-site.booking-page .flow-progress {border-color:var(--glass-line)}
body.premium-site.booking-page .flow-progress .flow-num {background:linear-gradient(145deg,#ffffffad,#ffffff25);border:1px solid #ffffffed;box-shadow:0 4px 10px #36547b0c,inset 0 1px 0 #fff,inset 0 -2px 4px #8fa9ca15;color:#5d718e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.premium-site.booking-page .flow-progress li.active .flow-num {background:linear-gradient(145deg,#ffffffd9,#a9c6fa73);color:#214cc4;border-color:#91b0ed;box-shadow:0 5px 14px #254bd11c,inset 0 1px 0 #fff,inset 0 -2px 5px #6689d526}
body.premium-site.booking-page .flow-progress li.done .flow-num {background:linear-gradient(145deg,#ffffffb0,#d9e7ff66);border-color:#b4c9ec;color:#214bb9;box-shadow:inset 0 1px 0 #fff}
body.premium-site.booking-page input:not([type=checkbox]):not([type=radio]):not([type=range]),
body.premium-site.booking-page :is(textarea,select,.p-select>button,.pui-date-trigger) {
  background:var(--glass-field);border:1px solid #ffffffd9;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #8da5c224,0 3px 10px #34527806;border-radius:14px;color:#1e3455;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
body.premium-site.booking-page input::placeholder,
body.premium-site.booking-page textarea::placeholder {color:#657991;opacity:1}
body.premium-site.booking-page :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select,.p-select>button,.pui-date-trigger):hover {border-color:#b4c7e0;box-shadow:inset 0 1px 0 #fff,0 3px 12px #3452780a}
body.premium-site.booking-page :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select,.p-select>button,.pui-date-trigger):focus-visible,
body.premium-site.booking-page .p-select>button[aria-expanded=true] {outline:none;background:#ffffffb8;border-color:#6486dc;box-shadow:0 0 0 3px #4c75d918,inset 0 1px 0 #fff}
body.premium-site.booking-page :is(.p-inline-care .service-choice>span,.addon-choice>span,.slot-choice>span,.pet-choice>span,.p-pet-types button) {
  background:linear-gradient(145deg,#ffffffdd,#ffffff88);border-color:#ffffff;box-shadow:0 4px 14px #35517a08,inset 0 1px 0 #fff;
  transition:background .2s,border-color .2s,box-shadow .2s;
}
body.premium-site.booking-page :is(.p-inline-care .service-choice,.addon-choice,.slot-choice,.pet-choice):hover>span {border-color:#9aafdd;box-shadow:0 5px 16px #35517a12}
body.premium-site.booking-page :is(.p-inline-care .service-choice,.addon-choice,.slot-choice,.pet-choice) input:checked+span,
body.premium-site.booking-page .p-pet-types button[aria-pressed=true] {
  background:linear-gradient(135deg,#e3eefff2,#d9e5ffba);border-color:#567ce1;color:#193f9c;box-shadow:inset 0 1px 0 #fff,0 4px 14px #244fe512;
}
body.premium-site.booking-page:not(.dark-preview) .p-inline-care .service-choice input:checked+span :is(strong,.p-package-price) {color:#193f9c!important;-webkit-text-fill-color:#193f9c}
body.premium-site.booking-page .p-inline-care .service-choice input:checked+span::after {border-color:#5275d7;background:#fff}
body.premium-site.booking-page :is(.extra-pet-card,.booking-details,.capacity-note,.review-card>div) {
  background:#ffffff30;border:1px solid #ffffff85;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff80;
}
body.premium-site.booking-page :is(.p-inline-care,.summary-line) {border-color:var(--glass-line)}
body.premium-site.booking-page .summary-line:has([data-summary-price]) {background:none;border:0;border-bottom:1px solid var(--glass-line);box-shadow:none;border-radius:0;margin:8px 0 0;padding:20px 0 24px}
body.premium-site.booking-page .summary-checklist span {background:#ffffff70;border-color:#ffffffd9;color:#536782}
body.premium-site.booking-page .summary-checklist span.done {background:#dceaffe0;color:#2853b4;border-color:#b6cef6}
body.premium-site.booking-page .flow-actions {
  background:#f2f6fcdb!important;border-top:1px solid #ffffffed;box-shadow:0 -8px 24px #3a537408,inset 0 1px 0 #fff;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:0 0 24px 24px;
}
body.premium-site.booking-page .flow-actions .btn:not(.alt) {background:linear-gradient(145deg,#4a73ef,#244bd4);border:1px solid #365bdd;box-shadow:inset 0 1px 0 #ffffff65,0 5px 12px #244fe525}
body.premium-site.booking-page .flow-actions .btn:not(.alt):hover {background:linear-gradient(145deg,#3c66e6,#193fbe)}
body.premium-site.booking-page .flow-actions .btn.alt {background:#ffffff96;border-color:#ffffff;color:#526580;box-shadow:inset 0 1px 0 #fff}
body.premium-site.booking-page .p-add-pet {background:#ffffff50;border-color:#98adcb;color:#385da5}
body.premium-site.booking-page :is(.p-select-list,.lang-pop) {background:#f5f8fff5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:#fff;box-shadow:0 14px 36px #28466c20}
body.premium-site.booking-page #map {border:1px solid #ffffff;border-radius:16px;box-shadow:0 5px 18px #28466c12}
body.premium-site.booking-page.dark-preview {
  --glass-panel:linear-gradient(135deg,#27354bdd,#202b409c);--glass-field:#1b283de8;--glass-edge:#b2c9f02e;--glass-line:#c2d4f022;
  --glass-shadow:0 18px 50px #0002,inset 0 1px 0 #ffffff15;
  background:radial-gradient(ellipse at 5% 10%,#213e61,transparent 55%),radial-gradient(ellipse at 95% 50%,#3a355d,transparent 55%),#151f30!important;background-attachment:fixed!important;
}
body.premium-site.booking-page.dark-preview .flow-actions {background:#202e43eb!important;border-color:#ffffff20;box-shadow:0 -8px 24px #0001}
body.premium-site.booking-page.dark-preview :is(input,textarea,select,.p-select>button,.pui-date-trigger):focus-visible,
body.premium-site.booking-page.dark-preview .p-select>button[aria-expanded=true] {background:#243550;border-color:#799ded;box-shadow:0 0 0 3px #799ded22}
body.premium-site.booking-page.dark-preview .p-desktop-booking-intro h1 {color:#e6edff}
body.premium-site.booking-page.dark-preview .p-desktop-booking-intro :is(p,a) {color:#b5c4df}
/* Section hierarchy comes from spacing and rules, not nested containers. */
body.premium-site.booking-page :is(.booking-group,.p-pet-details-card,.p-extra-services,.p-care-group) {background:transparent;border:0;box-shadow:none;border-radius:0}
body.premium-site.booking-page .booking-group {padding:0}
body.premium-site.booking-page .booking-group + .booking-group {margin-top:24px;padding-top:24px;border-top:1px solid var(--glass-line)}
body.premium-site.booking-page .p-extra-services {padding:0}
body.premium-site.booking-page .booking-group-head {padding-bottom:12px}
body.premium-site.booking-page .p-care-group {padding:0}
body.premium-site.booking-page .booking-details {background:transparent;border:0;border-top:1px solid var(--glass-line);border-radius:0;box-shadow:none}
body.premium-site.booking-page .booking-details summary {padding:18px 0}
body.premium-site.booking-page .p-inline-care .service-choice>span {background:linear-gradient(135deg,#ffffff85,#ffffff35);border:1px solid #ffffffc9;box-shadow:inset 0 1px 0 #ffffffb8,0 3px 10px #35517a06;border-radius:13px}
body.premium-site.booking-page .p-inline-care .service-choice input:checked+span {background:linear-gradient(135deg,#f1f6ffc9,#c6d9fa70);border-color:#83a3e5;box-shadow:inset 0 1px 0 #fff,0 3px 10px #35517a0a}
body.premium-site.booking-page .summary-checklist span {background:transparent;border-color:var(--glass-line)}
@media(min-width:1001px) {
  body.premium-site.booking-page .flow-progress {padding-bottom:24px;margin-bottom:30px;gap:12px}
  body.premium-site.booking-page .flow-progress .flow-num {width:36px;height:36px;flex:0 0 36px;font-size:13px}
  body.premium-site.booking-page .flow-progress .p-step-button {gap:10px}
  body.premium-site.booking-page .p-inline-care {margin-top:28px;padding-top:28px}
  body.premium-site.booking-page .p-care-group {margin-bottom:24px}
  body.premium-site.booking-page .p-care-group legend {padding-bottom:12px;font-weight:600}
  body.premium-site.booking-page .p-add-pet {border-style:solid;background:#ffffff30;box-shadow:inset 0 1px 0 #ffffff80}
}
@media(min-width:1001px) and (max-width:1199px) {
  body.premium-site.booking-page .flow-progress {gap:6px}
  body.premium-site.booking-page .flow-progress .p-step-button {gap:6px}
  body.premium-site.booking-page .flow-progress .flow-num {width:30px;height:30px;flex-basis:30px}
}
@media(max-width:1000px) {
  body.premium-site.booking-page .flow-progress {background:#ffffff30;border:1px solid #ffffff85;box-shadow:inset 0 1px 0 #ffffffa0}
  body.premium-site.booking-page .flow-main {border-radius:18px}
  body.premium-site.booking-page .flow-actions {border-radius:0 0 18px 18px}
}
@media(prefers-reduced-transparency:reduce) {
  body.premium-site.booking-page {--glass-panel:#f5f8fc;--glass-field:#fff}
  body.premium-site.booking-page.dark-preview {--glass-panel:#233147;--glass-field:#192638}
  body.premium-site.booking-page :is(.flow-main,.summary-panel,.site-nav[data-nav],.flow-actions) {backdrop-filter:none;-webkit-backdrop-filter:none}
}
