.booking-experience{min-height:100dvh;padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left))}.booking-experience-frame{width:min(100%,660px);margin:0 auto}.booking-experience-head{grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;display:grid}.booking-experience-head img{width:132px;height:auto}.booking-experience-back{border-radius:var(--hp-radius-s);min-height:48px;color:var(--hp-ink);justify-self:start;align-items:center;gap:8px;margin-left:-10px;padding:0 14px 0 10px;font-size:17px;font-weight:700;display:inline-flex}.booking-experience-back:hover{background:var(--hp-sunken)}.booking-experience-back svg{width:22px;height:22px}.booking-experience .booking-card{min-height:calc(100dvh - 72px - env(safe-area-inset-top));flex-direction:column;padding:8px 0 0;display:flex}.booking-experience .website-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.booking-experience .language-switch{border-radius:var(--hp-radius-s);min-height:44px;color:var(--hp-ink-2);cursor:pointer;background:0 0;border:0;align-self:flex-end;align-items:center;gap:8px;margin:0 -10px 4px 0;padding:0 12px;font-size:17px;font-weight:700;display:inline-flex}.booking-experience .language-switch:hover{background:var(--hp-sunken);color:var(--hp-ink)}.booking-experience .language-switch svg{width:20px;height:20px}.booking-experience .progress-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 30px;display:grid}.booking-experience .progress-row>div{border-top:6px solid var(--hp-line);min-width:0;color:var(--hp-ink-3);border-radius:3px 3px 0 0;align-items:center;gap:6px;padding-top:14px;font-size:17px;display:flex}.booking-experience .progress-row>:is(.active,.done){border-top-color:var(--hp-ink);color:var(--hp-ink)}.booking-experience .progress-row b{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.booking-experience .progress-row .active b{font-weight:800}.booking-experience .progress-row span{display:none}.booking-experience .progress-row .done span{display:inline-flex}.booking-experience .progress-row .done svg{width:18px;height:18px}.booking-experience .form-step{gap:0;animation:.22s ease-out both booking-step-in;display:grid}@keyframes booking-step-in{0%{opacity:0;transform:translateY(6px)}}.booking-experience .form-step>h3,.booking-experience .booking-card>h3{text-wrap:balance;margin:0;font-size:clamp(32px,8.4vw,40px);line-height:1.06}.booking-experience .form-step>p,.booking-experience .booking-card>p{max-width:36em;color:var(--hp-ink-2);text-wrap:pretty;margin:10px 0 0;font-size:19px;line-height:1.45}.booking-experience .step-block{border:0;min-width:0;margin:36px 0 0;padding:0}.booking-experience .field-label{color:var(--hp-ink);margin:0 0 14px;padding:0;font-size:21px;font-weight:800;line-height:1.2;display:block}.booking-experience .step-block>small,.booking-experience .booking-extras-public>small{color:var(--hp-ink-2);margin:12px 0 0;font-size:17px;line-height:1.45;display:block}.booking-experience .option-list{gap:10px;margin-top:26px;display:grid}.booking-experience .service-option{border:2px solid var(--hp-line);border-radius:var(--hp-radius);background:var(--hp-surface);width:100%;min-height:88px;color:var(--hp-ink);font:inherit;text-align:left;cursor:pointer;grid-template-columns:52px minmax(0,1fr) 28px;align-items:center;gap:16px;padding:14px 18px;display:grid}.booking-experience .service-option:hover{border-color:var(--hp-line-strong)}.booking-experience .service-option.selected{border-color:var(--hp-ink);box-shadow:inset 0 0 0 1px var(--hp-ink)}.booking-experience .option-icon{background:var(--hp-sunken);width:52px;height:52px;color:var(--hp-ink);border-radius:50%;place-items:center;display:grid}.booking-experience .option-icon svg{width:28px;height:28px}.booking-experience .service-option>span:nth-child(2){gap:3px;min-width:0;display:grid}.booking-experience .service-option b{font-size:21px;font-weight:800;line-height:1.15}.booking-experience .service-option small{color:var(--hp-ink-2);font-size:17px;line-height:1.35}.booking-experience .radio-dot{border:2px solid var(--hp-line-strong);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.booking-experience .service-option.selected .radio-dot{border-color:var(--hp-ink)}.booking-experience .radio-dot span{background:var(--hp-ink);border-radius:50%;width:14px;height:14px}.booking-experience :is(.pet-count-choice button,.date-pill,.time-grid button){min-height:var(--hp-tap);border:2px solid var(--hp-line);border-radius:var(--hp-radius-s);background:var(--hp-surface);color:var(--hp-ink);font:inherit;cursor:pointer;font-weight:700}.booking-experience :is(.pet-count-choice button,.date-pill,.time-grid button):hover:not(:disabled){border-color:var(--hp-line-strong)}.booking-experience :is(.pet-count-choice button,.date-pill,.time-grid button).selected{border-color:var(--hp-ink);background:var(--hp-ink);color:#fff}.booking-experience .pet-count-choice{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.booking-experience .pet-count-choice button{font-size:22px;font-weight:800}.booking-experience .duration-choice{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;display:grid}.booking-experience .duration-choice button{border:2px solid var(--hp-line);border-radius:var(--hp-radius);background:var(--hp-surface);min-height:80px;color:var(--hp-ink);font:inherit;text-align:left;cursor:pointer;gap:4px;padding:12px 18px;display:grid}.booking-experience .duration-choice button:hover{border-color:var(--hp-line-strong)}.booking-experience .duration-choice button.selected{border-color:var(--hp-ink);box-shadow:inset 0 0 0 1px var(--hp-ink)}.booking-experience .duration-choice b{font-size:20px;font-weight:800}.booking-experience .duration-choice span{color:var(--hp-ink-2);font-size:17px}.booking-experience .date-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (min-width:600px){.booking-experience .date-row{grid-template-columns:repeat(7,minmax(0,1fr))}}.booking-experience .date-pill{text-align:center;align-content:center;justify-items:center;gap:2px;min-width:0;min-height:76px;padding:8px 4px;display:grid}.booking-experience .date-pill small{font-size:16px;font-weight:700;line-height:1.1}.booking-experience .date-pill b{white-space:nowrap;font-size:18px;font-weight:800;line-height:1.15}.booking-experience .date-pill:not(.selected) small{color:var(--hp-ink-2)}.booking-experience .date-pill.unavailable{border-style:dashed;border-color:var(--hp-line-strong);color:var(--hp-ink-3);cursor:not-allowed;background:0 0}.booking-experience .date-pill.unavailable b{text-decoration:line-through;text-decoration-thickness:2px}.booking-experience .date-pill i{font-size:14px;font-style:normal;font-weight:700;line-height:1.1}.booking-experience .other-date{gap:8px;margin-top:16px;display:grid}.booking-experience .other-date>span,.booking-experience .pickup-field>span,.booking-experience .field-grid label>span,.booking-experience .extra-doses>span{color:var(--hp-ink);font-size:17px;font-weight:800;line-height:1.25}.booking-experience .time-groups{gap:22px;transition:opacity .15s;display:grid}.booking-experience .time-groups.stale{opacity:.5}.booking-experience .time-group>small{color:var(--hp-ink-2);margin:0 0 10px;font-size:17px;font-weight:700;display:block}.booking-experience .time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (min-width:600px){.booking-experience .time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.booking-experience .time-grid button{font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px;font-size:clamp(16px,4.6vw,18px)}.booking-experience :is(.availability-note,.availability-loading){border-radius:var(--hp-radius);background:var(--hp-sunken);color:var(--hp-ink);margin:0;padding:16px 18px;font-size:18px;line-height:1.45}.booking-experience .availability-loading{color:var(--hp-ink-2)}.booking-experience .availability-note{background:var(--hp-wait-wash);color:var(--hp-wait);font-weight:700}.booking-experience .pickup-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-top:28px;display:grid}.booking-experience .pickup-field{align-content:start;gap:8px;min-width:0;display:grid}.booking-experience .pickup-grid>.wide{grid-column:1/-1}.booking-experience .booking-extras-public{gap:10px;display:grid}.booking-experience .extra-option{min-height:var(--hp-tap);border:2px solid var(--hp-line);border-radius:var(--hp-radius);background:var(--hp-surface);cursor:pointer;align-items:center;gap:14px;padding:12px 16px;font-size:19px;font-weight:700;line-height:1.3;display:flex}.booking-experience .extra-option:has(input:checked){border-color:var(--hp-ink)}.booking-experience .booking-extras-public>small{margin:0 0 8px 2px}.booking-experience .extra-doses{justify-content:space-between;align-items:center;gap:14px;margin:0 0 8px;padding:0 2px;display:flex}.booking-experience .extra-doses input{text-align:center;width:96px}.booking-experience .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;margin-top:30px;display:grid}.booking-experience .field-grid>.wide{grid-column:1/-1}@media (max-width:599px){.booking-experience .field-grid{grid-template-columns:minmax(0,1fr)}}.booking-experience .field-grid label{align-content:start;gap:8px;min-width:0;display:grid}.booking-experience .field-grid label>span{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.booking-experience em.optional{color:var(--hp-ink-3);font-size:16px;font-style:normal;font-weight:700}.booking-experience .field-invalid>span{color:var(--hp-alert)}.booking-experience .field-mark{width:22px;height:22px;color:var(--hp-alert);align-self:center}.booking-experience .field-invalid :is(input,textarea){border-color:var(--hp-alert)}.booking-experience .pet-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;display:grid}.booking-experience .pet-row+.pet-row{border-top:1px solid var(--hp-line);padding-top:22px}@media (max-width:599px){.booking-experience .pet-row{grid-template-columns:minmax(0,1fr)}}.booking-experience :is(.pet-add,.pet-remove){border:2px solid var(--hp-line-strong);border-radius:var(--hp-radius);background:var(--hp-surface);min-height:48px;color:var(--hp-ink);font:inherit;cursor:pointer;justify-self:start;align-items:center;gap:8px;padding:0 16px;font-size:17px;font-weight:700;display:inline-flex}.booking-experience :is(.pet-add,.pet-remove):hover{border-color:var(--hp-ink-3)}.booking-experience .pet-remove{color:var(--hp-alert);background:0 0;border-color:#0000;grid-column:1/-1;padding-inline:0}.booking-experience .pet-add svg{width:20px;height:20px}.booking-experience .booking-slot-lost{border-radius:var(--hp-radius);background:var(--hp-wait-wash);color:var(--hp-wait);justify-items:start;gap:12px;padding:16px 18px;display:grid}.booking-experience .booking-slot-lost p{margin:0;font-size:18px;font-weight:700;line-height:1.4}.booking-experience .field-grid label.booking-texts-optin{border:2px solid var(--hp-line);border-radius:var(--hp-radius);background:var(--hp-surface);cursor:pointer;align-items:flex-start;gap:14px;padding:16px;display:flex}.booking-experience .booking-texts-optin:has(input:checked){border-color:var(--hp-ink)}.booking-experience .booking-texts-optin input{margin-top:1px}.booking-experience .field-grid label.booking-texts-optin>span{gap:6px;display:grid}.booking-experience .booking-texts-optin b{font-size:19px;font-weight:800;line-height:1.3}.booking-experience .booking-texts-optin small{color:var(--hp-ink-2);font-size:16px;font-weight:400;line-height:1.5}.booking-experience :is(.booking-texts-optin,.secure-note) a{color:var(--hp-ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--hp-line-strong);text-decoration-color:var(--hp-line-strong);font-weight:700}.booking-experience .review-box{border-radius:var(--hp-radius-l);background:var(--hp-sunken);gap:6px;margin-top:34px;padding:20px;display:grid}.booking-experience .review-box b{font-size:22px;font-weight:800}.booking-experience .review-box span{color:var(--hp-ink-2);font-size:18px;line-height:1.4}.booking-experience .review-box span:last-child{color:var(--hp-ink);font-variant-numeric:tabular-nums;font-weight:800}.booking-experience .quote-box,.booking-experience .booking-due-now{border-radius:var(--hp-radius-l);background:var(--hp-surface);box-shadow:inset 0 0 0 2px var(--hp-line);margin-top:10px;padding:16px 20px}.booking-experience .quote-box ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.booking-experience .quote-box li{justify-content:space-between;gap:14px;font-size:17px;line-height:1.35;display:flex}.booking-experience .quote-box li span{color:var(--hp-ink-2)}.booking-experience .quote-box li b{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.booking-experience .quote-box .quote-total{border-top:1px solid var(--hp-line);margin-top:2px;padding-top:12px;font-size:19px}.booking-experience .quote-box .quote-total :is(span,b){color:var(--hp-ink);font-weight:800}.booking-experience .quote-box p{color:var(--hp-ink-2);margin:12px 0 0;font-size:16px;line-height:1.45}.booking-experience .booking-due-now{gap:8px;display:grid}.booking-experience .booking-due-now p{font-variant-numeric:tabular-nums;justify-content:space-between;gap:14px;margin:0;font-size:20px;display:flex}.booking-experience .booking-due-now small{color:var(--hp-ink-2);font-size:16px;line-height:1.5}.booking-experience .secure-note{color:var(--hp-ink-2);margin-top:20px;font-size:16px;line-height:1.6}.booking-experience .secure-note svg{vertical-align:-4px;width:20px;height:20px;color:var(--hp-care);margin-right:6px;display:inline-block}.booking-experience .secure-note a{white-space:nowrap;margin-left:12px;padding-block:12px}.booking-experience .form-error-line{border-radius:var(--hp-radius-s);background:var(--hp-alert-wash);color:var(--hp-alert);border:0;align-items:flex-start;gap:10px;margin:26px 0 0;padding:14px 16px;font-size:18px;font-weight:700;line-height:1.4;display:flex}.booking-experience .form-actions{z-index:5;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--hp-line);background:var(--hp-ground);justify-content:space-between;align-items:center;gap:12px;margin:auto -16px 0;display:flex;position:sticky;bottom:0}.booking-experience .form-step+.form-actions,.booking-experience .form-error-line+.form-actions{margin-top:36px}.booking-experience .form-actions .button{flex:none;min-width:0;margin-left:auto;padding:0 26px}.booking-experience .back-button{min-height:var(--hp-tap);border-radius:var(--hp-radius-s);color:var(--hp-ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-left:-10px;padding:0 16px 0 10px;font-size:18px;font-weight:700;display:inline-flex}.booking-experience .back-button:hover{background:var(--hp-sunken)}.booking-experience .back-button svg{width:20px;height:20px}.booking-experience .booking-slot-lost .back-button{border-radius:var(--hp-radius);color:var(--hp-wait);border:2px solid;margin:0;padding:0 16px}@media (min-width:700px){.booking-experience .form-actions{padding-inline:0;border-top:0;margin-inline:0;padding-bottom:48px;position:static}}.booking-experience .booking-language-gate{justify-content:flex-start;padding-top:24px;padding-bottom:48px}.booking-experience .language-gate-choices{gap:10px;margin-top:28px;display:grid}.booking-experience .language-gate-choices a{border:2px solid var(--hp-line);border-radius:var(--hp-radius);background:var(--hp-surface);min-height:72px;color:var(--hp-ink);align-items:center;padding:0 22px;font-size:22px;font-weight:800;display:flex}.booking-experience .language-gate-choices a:hover{border-color:var(--hp-line-strong)}.booking-experience .language-gate-choices a.suggested{border-color:var(--hp-ink);box-shadow:inset 0 0 0 1px var(--hp-ink)}.booking-experience .booking-success{justify-content:flex-start;align-items:flex-start;gap:0;padding-top:32px;padding-bottom:48px}.booking-experience .success-mark{background:var(--hp-care-wash);width:76px;height:76px;color:var(--hp-care);border-radius:50%;place-items:center;margin-bottom:26px;display:grid}.booking-experience .success-mark svg{width:40px;height:40px}.booking-experience .booking-success>p+p{margin-top:14px}.booking-experience .booking-success>.button,.booking-experience .booking-success>.button-quiet{margin-top:28px}@media (prefers-reduced-motion:reduce){.booking-experience .form-step{animation:none}.booking-experience .time-groups{transition:none}}
