/* Booking shares the landing page's cream, cobalt and butter palette. */
html[data-theme="light"] body.premium-site.booking-page{background:#fffdf6!important;color:#152343}
body.premium-site.booking-page{--ink:#152343;--paper:#fffdf6;--muted:#656b7d;--line:#e0e1da;--rose:#244fe5}
body.premium-site.booking-page .site-nav{width:calc(100% - 40px);max-width:1360px;margin:12px auto 0;border:1px solid #15234312;border-radius:20px;background:#fffefa;box-shadow:0 6px 24px #15234306}
body.premium-site.booking-page .site-nav-inner{height:66px;width:calc(100% - 36px)}
body.premium-site.booking-page .brand-word,body.premium-site.booking-page .brand-word span{color:#152343}
body.premium-site.booking-page .nav-cta{background:#152343;color:white;border-radius:12px}
body.premium-site.booking-page .nav-section{color:#515969}
body.premium-site.booking-page .booking-section{padding:22px 0 max(20px,env(safe-area-inset-bottom));background:none}
body.premium-site.booking-page .booking-section>.container{max-width:1220px;width:calc(100% - 64px)}
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) 310px;gap:24px;max-width:none;align-items:start}
body.premium-site.booking-page .flow-main{padding:26px 28px 20px;border:1px solid #e0e1da;border-radius:24px;background:#fffefa;box-shadow:0 10px 36px #15234305}
.p-booking-welcome{flex:0 0 auto;margin-bottom:18px}
.p-booking-welcome>span{font-size:9px;font-weight:700;letter-spacing:.13em;color:#244fe5}
body.premium-site.booking-page .p-booking-welcome h2{font-size:clamp(24px,2.7vw,36px);line-height:1.15;letter-spacing:-.045em;color:#152343;margin:10px 0 0;font-weight:650}
body.premium-site.booking-page .flow-head{margin-bottom:18px;border:0}
body.premium-site.booking-page .flow-meta{color:#656b7d;font-size:11px}
body.premium-site.booking-page .flow-track{background:#eeeee8;height:4px;border-radius:99px}
body.premium-site.booking-page .flow-track span{background:#244fe5;border-radius:99px}
body.premium-site.booking-page .flow-progress{padding:12px 4px;background:#f2f2ed;border:0;border-radius:16px;gap:4px;margin-bottom:22px}
body.premium-site.booking-page .flow-progress li{color:#7d8292}
body.premium-site.booking-page .flow-progress .flow-num{background:#fffefa;border:1px solid #dcdfdf;color:#7d8292;width:32px;height:32px;box-shadow:none}
body.premium-site.booking-page .flow-progress li.active{color:#244fe5}
body.premium-site.booking-page .flow-progress li.active .flow-num{background:#244fe5;border-color:#244fe5;color:white;box-shadow:0 4px 12px #244fe52b}
body.premium-site.booking-page .flow-progress li.done{color:#152343}
body.premium-site.booking-page .flow-progress li.done .flow-num{background:#f0f59a;border-color:#dfe68a;color:#152343;box-shadow:none}
body.premium-site.booking-page .flow-progress em{font-size:10px;font-weight:600}
body.premium-site.booking-page .flow-step.active{padding:4px 4px 18px;scrollbar-color:#d8dced transparent}
body.premium-site.booking-page .flow-step h3{font-size:25px;letter-spacing:-.035em;color:#152343;margin-bottom:12px}
body.premium-site.booking-page .flow-step-intro,body.premium-site.booking-page .caption,body.premium-site.booking-page .hint{color:#656b7d}
body.premium-site.booking-page .field>label{color:#4b5266;font-size:12px;font-weight:600}
body.premium-site.booking-page .p-pet-details-card,body.premium-site.booking-page .extra-pet-card{background:#f7f6f0;border:1px solid #e0e1da;border-radius:16px;padding:18px}
body.premium-site.booking-page .booking-group-head strong{color:#152343}
body.premium-site.booking-page input:not([type=checkbox]):not([type=radio]):not([type=range]),body.premium-site.booking-page textarea,body.premium-site.booking-page select,body.premium-site.booking-page .p-select>button,body.premium-site.booking-page .pui-date-trigger{background:#fffefa;border:1px solid #dcdedc;border-radius:12px;color:#152343;min-height:48px}
body.premium-site.booking-page input:focus,body.premium-site.booking-page textarea:focus,body.premium-site.booking-page .p-select>button[aria-expanded=true]{border-color:#244fe5;box-shadow:0 0 0 3px #244fe514}
body.premium-site.booking-page .p-pet-types button,body.premium-site.booking-page .p-more-pets>summary{background:#fffefa;color:#515969;border:1px solid #dcdedc;border-radius:12px}
body.premium-site.booking-page .p-pet-types button[aria-pressed=true]{background:#244fe5;color:white;border-color:#244fe5;box-shadow:none}
body.premium-site.booking-page .p-select-list{background:#fffefa;border-color:#dcdedc;border-radius:12px}
body.premium-site.booking-page .p-select-list button{color:#152343}
body.premium-site.booking-page .p-select-list button[aria-selected=true]{background:#edf0fe;color:#244fe5}
body.premium-site.booking-page .booking-details{border:1px solid #e0e1da;border-radius:12px;background:#fffefa}
body.premium-site.booking-page .booking-details summary{color:#656b7d;font-size:12px}
body.premium-site.booking-page .booking-service-picker{gap:12px}
body.premium-site.booking-page .booking-service-picker .service-choice>span{height:100%;min-height:165px;padding:22px 16px 18px;border:1px solid #dcdfdf;border-radius:17px;background:#fffefa;box-shadow:none}
body.premium-site.booking-page .booking-service-picker .service-choice strong{font-size:20px;padding-inline-end:20px;margin-bottom:12px;color:#152343}
body.premium-site.booking-page .booking-service-picker .service-choice small{font-size:12px;line-height:1.8;color:#656b7d}
body.premium-site.booking-page .service-choice>span::after{width:18px;height:18px;top:22px;inset-inline-end:14px;border-color:#c8cedd}
body.premium-site.booking-page .booking-service-picker .service-choice input:checked+span{background:#244fe5;border-color:#244fe5;box-shadow:0 8px 20px #244fe51c}
body.premium-site.booking-page .booking-service-picker .service-choice input:checked+span strong{color:white}
body.premium-site.booking-page .booking-service-picker .service-choice input:checked+span small{color:#e2e8ff}
body.premium-site.booking-page .service-choice input:checked+span::after{border:5px solid #f0f59a;background:#244fe5}
body.premium-site.booking-page .addon-choice>span,body.premium-site.booking-page .slot-choice>span{border-radius:12px;background:#fffefa;border-color:#dcdfdf;color:#152343}
body.premium-site.booking-page .addon-choice input:checked+span,body.premium-site.booking-page .slot-choice input:checked+span{background:#edf0fe;border-color:#244fe5;color:#244fe5;box-shadow:0 0 0 1px #244fe5}
body.premium-site.booking-page .p-extra-services{background:#f2eefb;border-color:#e0daee;border-radius:16px}
body.premium-site.booking-page #map{border-radius:16px;border-color:#dcdedc}
body.premium-site.booking-page .btn{border-radius:12px;background:#244fe5;color:white;box-shadow:none;font-weight:650}
body.premium-site.booking-page .btn:hover{background:#173ac2}
body.premium-site.booking-page .btn.alt{background:#fffefa;color:#515969;border:1px solid #dcdedc}
body.premium-site.booking-page .flow-actions{background:#fffefa;padding-top:16px;border-top:1px solid #e0e1da;gap:12px}
body.premium-site.booking-page .flow-actions .btn{min-height:50px;padding-inline:26px}
body.premium-site.booking-page .summary-panel{display:block!important;position:relative;top:auto;max-height:100%;overflow:auto;background:#244fe5;border:0;border-radius:24px;padding:28px;color:white;box-shadow:none}
.p-booking-seal{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#f0f59a;color:#152343;font-size:40px;margin-bottom:28px;rotate:12deg}
body.premium-site.booking-page .summary-panel .eyebrow{color:#f0f59a;font-size:9px;letter-spacing:.12em}
body.premium-site.booking-page .summary-panel h3{color:white;font-size:28px;letter-spacing:-.04em;margin:14px 0}
body.premium-site.booking-page .summary-note{color:#d9e2ff;font-size:12px;line-height:1.7}
body.premium-site.booking-page .summary-line{padding:16px 0;border-color:#ffffff30;gap:14px;align-items:start}
body.premium-site.booking-page .summary-line span{color:#d9e2ff;font-size:11px}
body.premium-site.booking-page .summary-line strong{color:white;font-size:12px;overflow-wrap:anywhere}
body.premium-site.booking-page .summary-line [data-summary-price]{color:#f0f59a;font-size:23px;letter-spacing:-.04em}
body.premium-site.booking-page .summary-checklist{gap:7px;margin-top:22px}
body.premium-site.booking-page .summary-checklist span{background:#ffffff12;border:1px solid #ffffff25;color:#d9e2ff;border-radius:999px;font-size:10px}
body.premium-site.booking-page .summary-checklist span.done{background:#f0f59a;color:#152343;border-color:#f0f59a}
body.premium-site.booking-page .review-card>div,body.premium-site.booking-page .capacity-note{background:#f2f2ed;border-color:#e0e1da;color:#152343;border-radius:12px}
html[dir=rtl] .p-booking-welcome h2{letter-spacing:0;line-height:1.35}
@media(max-width:1000px){
 body.premium-site.booking-page .booking-flow,body.premium-site.booking-page .booking-flow:has([data-step="0"].active){grid-template-columns:1fr;max-width:780px}
 body.premium-site.booking-page .summary-panel{display:none!important}
}
@media(max-width:700px){
 body.premium-site.booking-page .site-nav{width:calc(100% - 20px);margin-top:8px;border-radius:16px}
 body.premium-site.booking-page .site-nav-inner{height:54px;width:calc(100% - 20px)}
 body.premium-site.booking-page .booking-section{padding:10px 0 max(10px,env(safe-area-inset-bottom))}
 body.premium-site.booking-page .booking-section>.container{width:calc(100% - 20px)}
 body.premium-site.booking-page .flow-main{padding:18px 14px 12px;border-radius:20px}
 .p-booking-welcome{margin-bottom:16px}
 .p-booking-welcome>span{font-size:8px}
 body.premium-site.booking-page .p-booking-welcome h2{font-size:24px;margin-top:7px}
 body.premium-site.booking-page .flow-progress{padding:9px 2px;margin-bottom:16px}
 body.premium-site.booking-page .flow-progress .flow-num{width:27px;height:27px}
 body.premium-site.booking-page .flow-progress em{font-size:8px}
 body.premium-site.booking-page .flow-step h3{font-size:22px}
 body.premium-site.booking-page .booking-service-picker .service-choice>span{min-height:0;padding:18px}
 body.premium-site.booking-page .booking-service-picker .service-choice strong{font-size:19px;margin-bottom:8px}
 body.premium-site.booking-page .flow-actions{padding-top:12px}
 body.premium-site.booking-page .flow-actions .btn{min-height:46px}
}
@media(max-height:650px){.p-booking-welcome{display:none}}

.p-booking-mobile-quote{display:none}
body.premium-site.booking-page .booking-service-picker .service-choice .p-package-includes{border-top:1px solid #15234318;margin-top:14px;padding-top:12px;font-size:11px;line-height:1.7}
body.premium-site.booking-page .booking-service-picker .service-choice input:checked+span .p-package-includes{border-color:#ffffff30}
.p-package-price{display:block;margin-top:16px;font-size:19px;letter-spacing:-.035em;color:#152343}
.service-choice input:checked+span .p-package-price{color:#f0f59a}
@media(max-width:1000px){
 body.premium-site.booking-page .flow-actions{flex-wrap:wrap}
 body.premium-site.booking-page .p-booking-mobile-quote{display:flex;flex:0 0 100%;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 10px;color:#152343}
 .p-booking-mobile-quote>span{display:flex;flex-direction:column;gap:3px;font-size:12px}
 .p-booking-mobile-quote small{font-size:9px;color:#656b7d}
 .p-booking-mobile-quote>strong{font-size:21px;color:#244fe5;letter-spacing:-.04em}
 body.premium-site.booking-page .flow-actions .btn{flex:1}
}

/* Each additional pet gets an unmistakable, independent package choice. */
body.premium-site.booking-page .p-extra-services{padding:22px;background:#f3f0fc;border:1px solid #dbd3f1;margin-top:24px}
body.premium-site.booking-page .p-extra-services-head{align-items:flex-start;flex-wrap:wrap;gap:12px}
body.premium-site.booking-page .p-extra-services-head>strong{color:#152343;font-size:18px;line-height:1.4}
body.premium-site.booking-page [data-extra-service-picker]>.field{padding:18px;background:#fffefa;border:1px solid #dfdbe8;border-radius:14px}
body.premium-site.booking-page [data-extra-service-picker]>.field>label{color:#244fe5;font-size:16px;font-weight:700}
body.premium-site.booking-page .p-pet-quote{display:block;margin-top:12px;color:#244fe5;font-size:12px;line-height:1.8}
body.premium-site.booking-page .p-extra-services>.caption{margin:18px 0 0;color:#515969;font-size:12px}
@media(max-width:700px){body.premium-site.booking-page .p-extra-services{padding:16px}body.premium-site.booking-page .p-extra-services-head .btn{font-size:11px;white-space:normal}}

body.booking-page .service-choice[hidden]{display:none!important}
