/* Desktop uses the page as its scroll surface; the five-step flow is unchanged. */
.p-desktop-booking-intro {display:none}
.p-desktop-scroll-cue {display:none}
@media (min-width:1001px) {
  body.premium-site.booking-page .site-nav[data-nav] {width:calc(100% - 64px);max-width:1240px;margin-inline:auto;border-radius:18px}
  body.premium-site.booking-page .site-nav[data-nav] .site-nav-inner {width:100%;height:72px;padding:0 20px;gap:20px}
  body.premium-site.booking-page .site-nav[data-nav] .nav-sections {display:flex;align-items:center;gap:4px;padding:4px;border:0;border-radius:12px;background:transparent;box-shadow:none;margin-inline:auto}
  body.premium-site.booking-page .site-nav[data-nav] .nav-section {display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 12px;border-radius:9px;font-size:12px;text-decoration:none}
  body.premium-site.booking-page .site-nav[data-nav] .nav-end {flex-shrink:0;gap:10px}
  body.premium-site.booking-page .p-desktop-scroll-cue:not([hidden]) {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;margin-inline:auto;padding:8px 12px;background:transparent;color:#536889;border:1px solid transparent;border-radius:10px;font:inherit;font-size:12px;cursor:pointer;transition:background .2s,color .2s}
  body.premium-site.booking-page .p-desktop-scroll-cue:hover {background:#eef3ff;color:#244fe5}
  body.premium-site.booking-page .p-scroll-mouse {position:relative;width:17px;height:25px;border:1.5px solid currentColor;border-radius:9px;flex-shrink:0;opacity:.8}
  body.premium-site.booking-page .p-scroll-mouse::after {content:'';position:absolute;top:5px;left:6px;width:3px;height:6px;border-radius:3px;background:currentColor;animation:booking-scroll-wheel 1.8s ease-in-out infinite}
  body.premium-site.booking-page .p-desktop-scroll-cue[data-direction=up] .p-scroll-mouse {transform:rotate(180deg)}
  body.premium-site.booking-page .p-desktop-scroll-cue svg {width:16px;height:16px;flex-shrink:0}
  body.premium-site.booking-page .p-desktop-scroll-cue[data-direction=up] svg {transform:rotate(180deg)}
  body.premium-site.booking-page.dark-preview .p-desktop-scroll-cue {background:#28344c;color:#dce5ff;border-color:#445476}
}
@media (min-width:1001px) and (max-width:1250px) {
  body.premium-site.booking-page .site-nav[data-nav] .nav-sections {display:none}
  body.premium-site.booking-page .site-nav[data-nav] .nav-end {margin-inline-start:auto}
  body.premium-site.booking-page .site-nav[data-nav] .nav-burger {display:inline-flex;align-items:center;justify-content:center}
  body.premium-site.booking-page .flow-actions {gap:10px}
  body.premium-site.booking-page .flow-actions .btn {min-width:110px}
}
@media (min-width:1001px) {
  html:has(body.booking-page) {height:auto;overflow:auto;scroll-padding-top:106px;scroll-behavior:smooth;scrollbar-color:#a4b5d5 #eef1f7}
  body.premium-site.booking-page {display:block;height:auto;min-height:100vh;overflow:visible}
  /* Keep the hidden spam field from expanding the scroll area in RTL layouts. */
  body.premium-site.booking-page .booking-flow > [inert][aria-hidden="true"] {left:0!important;top:0;clip-path:inset(50%)}
  body.premium-site.booking-page .site-nav {position:sticky;top:8px;z-index:60;margin-top:12px}
  body.premium-site.booking-page .booking-section {display:block;height:auto;min-height:0;overflow:visible;padding:28px 0 48px}
  body.premium-site.booking-page .booking-section > .container {height:auto;width:calc(100% - 64px);max-width:1240px}
  body.premium-site.booking-page .booking-flow,
  body.premium-site.booking-page .booking-flow:has([data-step="0"].active) {
    display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;
    height:auto;min-height:0;max-width:none;scroll-margin-top:106px;
  }
  body.premium-site.booking-page .flow-main {
    display:block;height:auto;min-height:0;overflow:visible;padding:28px 32px 0;
    border-radius:18px;border:1px solid #dfe3e9;background:#fff;box-shadow:0 8px 28px #15234305;
  }
  body.premium-site.booking-page .p-booking-welcome {display:none;margin:0}
  body.premium-site.booking-page .p-booking-welcome > span {display:none}
  body.premium-site.booking-page .p-booking-welcome h2 {font-size:28px;line-height:1.2;margin:0}
  body.premium-site.booking-page .p-booking-context {
    display:none;align-items:center;gap:16px;margin:0 0 20px;padding:14px 16px;
    background:#f5f7fb;border:1px solid #e1e6ef;border-radius:10px;
  }
  body.premium-site.booking-page .p-booking-context > div {display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
  body.premium-site.booking-page .p-booking-context small {display:none}
  body.premium-site.booking-page .p-booking-context strong {font-size:14px}
  body.premium-site.booking-page .p-booking-context span {font-size:13px}
  body.premium-site.booking-page .p-booking-context button {flex-shrink:0;min-height:38px;padding:8px 12px;font-size:12px;border-radius:8px}
  body.premium-site.booking-page .flow-head {margin:0 0 12px}
  body.premium-site.booking-page .flow-meta {font-size:12px}
  body.premium-site.booking-page .flow-progress {margin:0 0 28px;padding:12px 8px;background:#f5f7fb;border:1px solid #e4e8ef;border-radius:12px}
  body.premium-site.booking-page .flow-progress em {font-size:12px;font-style:normal}
  body.premium-site.booking-page .flow-progress .flow-num {width:30px;height:30px}
  body.premium-site.booking-page .flow-step.active {
    height:auto;max-height:none;min-height:0;overflow:visible;overscroll-behavior:auto;padding:0 0 28px;
  }
  body.premium-site.booking-page .flow-step h3 {font-size:25px;margin:0 0 8px}
  body.premium-site.booking-page .flow-step-intro {font-size:14px;line-height:1.7;margin-bottom:24px}
  body.premium-site.booking-page .field > label {font-size:14px;margin-bottom:8px}
  body.premium-site.booking-page .field .hint {font-size:12px;line-height:1.65}
  body.premium-site.booking-page .p-pet-details-card {padding:22px;background:#f8f9fc;border:1px solid #e1e6ef;border-radius:12px}
  body.premium-site.booking-page input:not([type=checkbox]):not([type=radio]):not([type=range]),
  body.premium-site.booking-page :is(select,textarea,.p-select > button,.pui-date-trigger) {font-size:15px;min-height:48px;background:#fff;border-color:#cdd5e1;border-radius:9px}
  body.premium-site.booking-page .p-inline-care {margin-top:28px}
  body.premium-site.booking-page .p-care-group {padding:18px;border-radius:12px;background:#f8f9fc;border-color:#e0e5ee;margin-top:16px}
  body.premium-site.booking-page .p-care-group > legend {font-size:13px;padding-inline:6px}
  body.premium-site.booking-page .p-care-options {gap:12px}
  body.premium-site.booking-page .p-inline-care .service-choice > span {min-height:94px;padding:18px 20px;background:#fff;border:1px solid #cdd5e1;border-radius:10px;box-shadow:none}
  body.premium-site.booking-page .p-inline-care .service-choice strong {font-size:16px;line-height:1.45;padding-inline-end:16px}
  body.premium-site.booking-page .p-inline-care .service-choice .p-package-price {font-size:16px;margin-top:10px}
  body.premium-site.booking-page .p-inline-care .service-choice input:checked + span {background:#eef3ff;border:2px solid #244fe5;padding:17px 19px}
  body.premium-site.booking-page .p-inline-care .service-choice input:checked + span :is(strong,.p-package-price) {color:#193b99}
  body.premium-site.booking-page .p-inline-care .service-choice input:checked + span small {color:#4b6090}
  body.premium-site.booking-page .p-booking-scroll-cue {display:none!important}
  body.premium-site.booking-page .flow-actions {
    position:sticky;top:auto;bottom:0;z-index:30;display:flex;justify-content:space-between;
    margin:0 -32px;padding:16px 32px;background:#fff;border-top:1px solid #e1e6ef;
    border-radius:0 0 18px 18px;box-shadow:0 -5px 16px #15234306;
  }
  body.premium-site.booking-page .flow-actions .btn {min-width:156px;min-height:50px;font-size:15px;border-radius:10px}
  body.premium-site.booking-page .flow-submit-hint:not(:empty) {padding:12px 0;margin:0}
  body.premium-site.booking-page .flow-submit-hint:empty {display:none}
  body.premium-site.booking-page .summary-panel {
    display:block!important;position:sticky;top:106px;align-self:start;height:auto;max-height:none;overflow:visible;
    padding:24px;background:#f2f5fb;border:1px solid #dce3ee;border-radius:16px;color:#152343;
  }
  body.premium-site.booking-page .p-booking-seal {display:none}
  body.premium-site.booking-page .summary-panel .eyebrow {font-size:11px;color:#4b6288;letter-spacing:.08em}
  body.premium-site.booking-page .summary-panel h3 {font-size:23px;line-height:1.25;color:#152343;margin:12px 0}
  body.premium-site.booking-page .summary-note {font-size:12px;line-height:1.7;color:#63718a;margin:0 0 12px}
  body.premium-site.booking-page .summary-line {padding:14px 0;gap:14px;border-color:#d9e0ea;align-items:baseline}
  body.premium-site.booking-page .summary-line span {font-size:12px;color:#5b6980}
  body.premium-site.booking-page .summary-line strong {font-size:13px;color:#243653;line-height:1.6;text-align:end}
  body.premium-site.booking-page .summary-line:has([data-summary-price]) {display:block;padding:18px 0}
  body.premium-site.booking-page .summary-line [data-summary-price] {display:block;font-size:29px;line-height:1.3;margin-top:7px;color:#244fe5;letter-spacing:-.04em;text-align:start}
  body.premium-site.booking-page .summary-checklist {gap:8px;margin-top:18px}
  body.premium-site.booking-page .summary-checklist span {background:#e6ebf3;color:#657189;border-color:#d5ddea;font-size:11px}
  body.premium-site.booking-page .summary-checklist span.done {background:#e1ebff;color:#24468b;border-color:#c0d1f3}
  body.premium-site.booking-page #map {height:360px;max-height:none}
  body.premium-site.booking-page .location-layout {gap:20px}
  body.premium-site.booking-page .review-card {gap:14px}
  body.premium-site.booking-page :is(input,button,select,textarea,a):focus-visible {outline:3px solid #91aaf2;outline-offset:3px}
}
@keyframes booking-scroll-wheel {
  0%,100% {transform:translateY(0);opacity:.35}
  45% {opacity:1}
  75% {transform:translateY(6px);opacity:0}
}
@media (prefers-reduced-motion:reduce) {
  html:has(body.booking-page) {scroll-behavior:auto}
  body.premium-site.booking-page .p-scroll-mouse::after {animation:none}
}
@media (min-width:1001px) and (max-width:1199px) {
  body.premium-site.booking-page .booking-section > .container {width:calc(100% - 40px)}
  body.premium-site.booking-page .booking-flow,body.premium-site.booking-page .booking-flow:has([data-step="0"].active) {grid-template-columns:minmax(0,1fr) 270px;gap:20px}
  body.premium-site.booking-page .flow-main {padding-inline:24px}
  body.premium-site.booking-page .flow-actions {margin-inline:-24px;padding-inline:24px}
  body.premium-site.booking-page .summary-panel {padding:20px}
}
@media (min-width:1001px) and (max-height:720px) {
  body.premium-site.booking-page .summary-panel {position:static}
}

/* A focused desktop booking workspace, with one title and one current task. */
@media (min-width:1001px) {
  html[data-theme="light"] body.premium-site.booking-page {background:#f4f6fa!important}
  body.premium-site.booking-page .booking-section {padding-top:28px}
  body.premium-site.booking-page:not(.dark-preview) .site-nav[data-nav] {background:#f4f6fb;backdrop-filter:none;-webkit-backdrop-filter:none}
  body.premium-site.booking-page .p-desktop-booking-intro {display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px;padding:0 4px}
  body.premium-site.booking-page .p-desktop-booking-intro h1 {font-size:36px;line-height:1.2;letter-spacing:-.04em;font-weight:650;color:#192d50;margin:0 0 10px}
  body.premium-site.booking-page .p-desktop-booking-intro p {font-size:15px;line-height:1.7;color:#63718a;margin:0}
  body.premium-site.booking-page .p-desktop-booking-intro a {display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px;color:#49618b}
  body.premium-site.booking-page .p-desktop-booking-intro a:hover {color:#244fe5;text-decoration:underline;text-underline-offset:4px}
  body.premium-site.booking-page .flow-main {padding-top:24px;box-shadow:0 8px 28px #15234304}
  body.premium-site.booking-page .flow-head {margin:0 0 10px}
  body.premium-site.booking-page .flow-meta {font-size:11px;font-weight:650;color:#63718a;letter-spacing:.02em}
  body.premium-site.booking-page .flow-track {display:none}
  body.premium-site.booking-page .flow-progress {background:none;border:0;border-bottom:1px solid #e3e8ef;border-radius:0;padding:8px 0 22px;margin-bottom:28px;gap:8px}
  body.premium-site.booking-page .flow-progress .p-step-button {justify-content:flex-start;gap:8px}
  body.premium-site.booking-page .flow-progress .flow-num {width:28px;height:28px;flex:0 0 28px;background:#eef1f6;border:0;box-shadow:none;font-size:12px}
  body.premium-site.booking-page .flow-progress li.active .flow-num {background:#244fe5;color:#fff;box-shadow:none}
  body.premium-site.booking-page .flow-progress li.done .flow-num {background:#e5edff;color:#244fe5}
  body.premium-site.booking-page .flow-progress em {font-size:12px;color:#63718a}
  body.premium-site.booking-page .flow-progress li.active em {color:#244fe5;font-weight:700}
  body.premium-site.booking-page .flow-step h3 {font-size:27px;font-weight:650;letter-spacing:-.035em}
  body.premium-site.booking-page .flow-step > h3:focus {outline:2px solid #a7bafa;outline-offset:6px;border-radius:4px}
  body.premium-site.booking-page .p-map-scroll-rail {display:none}
  body.premium-site.booking-page .p-pet-details-card {background:none;border:0;border-radius:0;padding:0}
  body.premium-site.booking-page .p-pet-types {display:flex;gap:12px;max-width:360px}
  body.premium-site.booking-page .p-pet-types button {flex:1;min-height:48px;border:1px solid #cdd5e1;border-radius:10px;font-size:15px;font-weight:600;background:#fff;color:#52637d}
  body.premium-site.booking-page .p-pet-types button[aria-pressed=true] {background:#edf3ff;color:#2049c3;border:2px solid #244fe5;box-shadow:none}
  body.premium-site.booking-page .p-inline-care {margin-top:26px;padding-top:26px;border-top:1px solid #e3e8ef}
  body.premium-site.booking-page .p-inline-care > h3 {font-size:22px}
  body.premium-site.booking-page .p-inline-care > p {font-size:13px;margin-bottom:18px}
  body.premium-site.booking-page .p-care-group {padding:0;background:none;border:0;margin:0 0 22px;border-radius:0}
  body.premium-site.booking-page .p-care-group legend {font-size:12px;color:#586b89;letter-spacing:.015em;padding:0 0 12px}
  body.premium-site.booking-page .p-inline-care .service-choice > span {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;min-height:76px;padding:17px 40px 17px 16px;position:relative}
  body.premium-site.booking-page .p-inline-care .service-choice strong {font-size:14px;margin:0;padding:0;line-height:1.5}
  body.premium-site.booking-page .p-inline-care .service-choice .p-package-price {font-size:14px;margin:0;white-space:nowrap;text-align:end}
  body.premium-site.booking-page .p-inline-care .service-choice input:checked + span {padding:16px 39px 16px 15px}
  body.premium-site.booking-page .p-inline-care .service-choice > span::after {top:calc(50% - 7px);inset-inline-end:13px;width:14px;height:14px}
  body.premium-site.booking-page .p-inline-care .service-choice input:checked + span::after {border-color:#244fe5;background:#fff}
  html[dir=rtl] body.premium-site.booking-page .p-inline-care .service-choice > span {padding:17px 16px 17px 40px}
  html[dir=rtl] body.premium-site.booking-page .p-inline-care .service-choice input:checked + span {padding:16px 15px 16px 39px}
  body.premium-site.booking-page .summary-panel {background:#fff;border-top:4px solid #244fe5;padding:24px;border-radius:14px;box-shadow:0 8px 28px #15234304}
  body.premium-site.booking-page .summary-panel h3 {font-weight:650}
  body.premium-site.booking-page .summary-note {display:none}
  body.premium-site.booking-page .summary-line:has([data-summary-price]) {background:#f1f5ff;margin:20px -8px 8px;padding:18px 16px;border:0;border-radius:10px}
  body.premium-site.booking-page .summary-line {padding:13px 0}
  body.premium-site.booking-page .summary-checklist {padding-top:4px}
  body.premium-site.booking-page .booking-details {border:1px solid #e0e5ee;border-radius:10px;background:#f8f9fc;margin-top:18px}
  body.premium-site.booking-page .booking-details summary {padding:16px;font-size:14px;color:#53637c}
  body.premium-site.booking-page .p-add-pet {background:#fff;border:1px dashed #a7b7d1;border-radius:10px;min-height:48px;color:#3559ac;margin-top:20px}
  body.premium-site.booking-page .flow-actions .btn.alt {background:#fff;border-color:#d8dfe9;color:#586982}
  body.premium-site.booking-page .flow-actions .btn:not(.alt) {min-width:180px}
  body.premium-site.booking-page.dark-preview .summary-line:has([data-summary-price]) {background:#28344c}
  body.premium-site.booking-page.dark-preview .summary-line span {color:#c4cee2}
  body.premium-site.booking-page.dark-preview .summary-checklist span {background:#28344c;color:#c4cee2;border-color:#3c4962}
  body.premium-site.booking-page.dark-preview .summary-checklist span.done {background:#3d3a66;color:#e3dcff;border-color:#746a9b}
  body.premium-site.booking-page.dark-preview .flow-actions {background:#1b2031!important}
}
@media (min-width:1001px) and (max-width:1199px) {
  body.premium-site.booking-page .p-inline-care .service-choice > span {display:block}
  body.premium-site.booking-page .p-inline-care .service-choice .p-package-price {margin-top:8px;text-align:start}
  body.premium-site.booking-page .flow-progress .p-step-button {gap:5px}
  body.premium-site.booking-page .flow-progress em {font-size:11px}
}
