.appointment-info-hit{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;z-index:2}.booking-open .appointment-info-hit{display:none}.booking-open .appointment{aspect-ratio:3.05}.booking-open .appointment .appointment-copy{top:24%}.booking-open .appointment-calendar{top:23%;height:64%}.availability-entry{position:absolute;left:32%;right:9%;bottom:12%;width:59%;height:24%;border:1px solid #fff7ef;border-radius:999px;color:#fffaf8;background:linear-gradient(170deg,#ef86a1,#d95175);box-shadow:0 0 0 1px #e8b6ac;font-weight:700;font-size:clamp(12px,3.8cqw,22px);letter-spacing:.08em;z-index:3}.availability-entry:disabled{cursor:default}.availability-message{font-size:12px;line-height:1.7;text-align:center;color:#9b6e62;margin:14px 0 0}.booking-open .cat-space{width:min(72%,calc(100svh - 180px));max-width:650px;bottom:7%}.companion-pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;visibility:hidden;opacity:0}.booking-open .cat-button{aspect-ratio:1240/1254}.booking-open #cat-image,.booking-open .cat-roll-image{visibility:hidden!important}.booking-open .companion-rest{opacity:1}.booking-open .greeting .companion-rest{opacity:0}.booking-open .greeting .companion-wave{opacity:1}.booking-open .cat-button>img.companion-pose{width:100%;height:100%;object-fit:contain}.booking-open .heart-left{left:1%;top:38%}.booking-open .heart-right{right:0;top:45%}@media(max-width:1049px){.booking-open .cat-space{width:min(66%,490px);bottom:6%}}@media(max-width:599px){.booking-open .cat-space{width:80%;max-width:400px;bottom:6%}.booking-open .appointment{aspect-ratio:3.05}}@media(max-height:550px) and (min-width:600px){.booking-open .cat-space{width:245px;bottom:5%}.booking-open .cat-speech{font-size:12px;padding:9px 14px}}

.availability-rays{position:absolute;top:50%;width:clamp(10px,3cqw,17px);height:105%;fill:none;stroke:#ed8990;stroke-width:4.4;stroke-linecap:round;pointer-events:none;overflow:visible}.availability-rays-left{right:calc(100% + 5px);transform:translateY(-50%)}.availability-rays-right{left:calc(100% + 5px);transform:translateY(-50%) scaleX(-1)}

/* Keep the portrait stationary; transition only the decoded pose layers. */
.booking-open .cat-button,.booking-open .cat-button:hover,.booking-open .cat-button.petted{transform:none;animation:none}.booking-open .companion-pose{visibility:visible}.booking-open .greeting-transition .companion-pose{transition:opacity 280ms cubic-bezier(.25,.1,.25,1)}
