.room-booking{--rb-text: #3A3A3E;--rb-text-soft: rgba(58, 58, 62, .58);--rb-bg: #FFFFFF;--rb-cream: #F9F3F1;--rb-teal: #064c43;--rb-teal-deep: #04352e;--rb-teal-soft: rgba(6, 76, 67, .07);--rb-teal-soft-2: rgba(6, 76, 67, .14);--rb-line: rgba(58, 58, 62, .1);--rb-danger: #984B2C;--rb-radius-pill: 999px;--rb-radius: 12px;--rb-radius-card: 20px;color:var(--rb-text)}@media(prefers-reduced-motion:no-preference){.room-booking *{transition-duration:.18s}}.room-booking__card{position:relative;background:var(--rb-bg);border:1px solid var(--rb-line);border-radius:var(--rb-radius-card);box-shadow:0 1px 2px #1414190a,0 20px 48px -12px #064c4329;padding:34px;max-width:420px;overflow:hidden}.room-booking__card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--rb-teal) 0%,#2d7b6c 60%,var(--rb-teal) 100%)}.room-booking__header{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--rb-line)}.room-booking__eyebrow{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rb-teal);font-weight:600}.room-booking__eyebrow:before{content:"";width:14px;height:14px;flex-shrink:0;background-color:var(--rb-teal);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9a2 2 0 0 1 2-2h4l2-3 2 3h4a2 2 0 0 1 2 2v12'/%3E%3Cpath d='M4 13h16'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9a2 2 0 0 1 2-2h4l2-3 2 3h4a2 2 0 0 1 2 2v12'/%3E%3Cpath d='M4 13h16'/%3E%3C/svg%3E") center / contain no-repeat}.room-booking__rate{margin:0;font-weight:400;font-size:32px;letter-spacing:.01em;color:var(--rb-text);font-variant-numeric:tabular-nums}.room-booking__rate span{font-family:inherit;font-size:13px;color:var(--rb-text-soft);margin-left:5px;text-transform:uppercase;letter-spacing:.06em}.room-booking__field label,.room-booking__daterange-label,.room-booking__petdetails legend,.room-booking__addons legend,.room-booking__service legend{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rb-text-soft);margin-bottom:8px}.room-booking__daterange-label:before,.room-booking__petdetails legend:before,.room-booking__addons legend:before,.room-booking__service legend:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rb-teal);flex-shrink:0}.room-booking__field{margin-bottom:16px}.room-booking__field:last-child{margin-bottom:0}.room-booking__field input[type=text],.room-booking__field input[type=number],.room-booking__field select{width:100%;background:var(--rb-bg);border:1px solid var(--rb-line);border-radius:var(--rb-radius);color:var(--rb-text);padding:12px 14px;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.room-booking__field input:hover,.room-booking__field select:hover{border-color:#3a3a3e3d}.room-booking__field input[type=text]:focus-visible,.room-booking__field input[type=number]:focus-visible,.room-booking__field select:focus-visible{outline:none;border-color:var(--rb-teal);box-shadow:0 0 0 3px var(--rb-teal-soft)}.room-booking__field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.room-booking__field-row .room-booking__field{margin-bottom:0}.room-booking__age-row{display:flex;gap:8px}.room-booking__age-row input[type=number]{flex:1.2;min-width:0}.room-booking__age-row select{flex:1;min-width:0}.room-booking__optional-tag{text-transform:none;letter-spacing:normal;opacity:.75}@media(max-width:360px){.room-booking__field-row{grid-template-columns:1fr}}.room-booking__daterange{margin-bottom:22px}.room-booking__daterange-status{display:flex;align-items:baseline;gap:8px;width:100%;margin:0 0 12px;padding:13px 16px;background:var(--rb-cream);border:1px solid transparent;border-radius:var(--rb-radius);text-align:left;font-size:14.5px;font-weight:500;color:var(--rb-text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.room-booking__daterange-status:hover{border-color:var(--rb-teal-soft-2)}.room-booking__daterange-status[aria-expanded=true]{background:var(--rb-bg);border-color:var(--rb-teal)}.room-booking__daterange-status:focus-visible{outline:2px solid var(--rb-teal);outline-offset:2px}.room-booking__calendar{background:var(--rb-bg);border:1px solid var(--rb-line);border-radius:16px;padding:18px;animation:rb-panel-in .18s ease;transform-origin:top center}@keyframes rb-panel-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.room-booking__calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:13.5px;font-weight:600;letter-spacing:.01em}.room-booking__calendar-arrow{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--rb-line);color:var(--rb-text);font-size:16px;line-height:1;width:30px;height:30px;border-radius:50%;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease}.room-booking__calendar-arrow:hover{background:var(--rb-teal-soft);border-color:var(--rb-teal-soft-2)}.room-booking__calendar-arrow:active{transform:scale(.92)}.room-booking__calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.room-booking__calendar-weekdays span{text-align:center;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--rb-text-soft);padding:4px 0}.room-booking__calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}.room-booking__calendar-day{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:none;border:none;border-radius:var(--rb-radius-pill);font-size:13px;color:var(--rb-text);cursor:pointer;transition:background .12s ease,color .12s ease,transform .08s ease}.room-booking__calendar-day-avail{font-size:8px;line-height:1;letter-spacing:.02em;color:var(--rb-teal);font-weight:600;text-transform:uppercase}.room-booking__calendar-day:hover:not(:disabled){background:var(--rb-teal-soft)}.room-booking__calendar-day:active:not(:disabled){transform:scale(.94)}.room-booking__calendar-day:disabled{color:#3a3a3e47;text-decoration:line-through;cursor:not-allowed}.room-booking__calendar-day:disabled .room-booking__calendar-day-avail{color:#3a3a3e47}.room-booking__calendar-day--soldout{background:#984b2c0f;border-radius:var(--rb-radius-pill)}.room-booking__calendar-day--empty{pointer-events:none}.room-booking__calendar-day--in-range{background:var(--rb-teal-soft-2);border-radius:0}.room-booking__calendar-day--start,.room-booking__calendar-day--end{background:var(--rb-teal);color:#fff;font-weight:600;box-shadow:0 4px 10px -2px #064c4373}.room-booking__calendar-day--start{border-radius:var(--rb-radius-pill) 0 0 var(--rb-radius-pill)}.room-booking__calendar-day--end{border-radius:0 var(--rb-radius-pill) var(--rb-radius-pill) 0}.room-booking__calendar-day--start.room-booking__calendar-day--end{border-radius:var(--rb-radius-pill)}.room-booking__calendar-day--start .room-booking__calendar-day-avail,.room-booking__calendar-day--end .room-booking__calendar-day-avail{color:#ffffffd9}.room-booking__calendar-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--rb-line);text-align:right}.room-booking__calendar-clear{background:none;border:none;color:var(--rb-text-soft);font-size:12px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:4px}.room-booking__calendar-clear:hover{color:var(--rb-teal)}.room-booking__availability-msg{font-size:13px;color:var(--rb-danger);background:#984b2c12;border-radius:var(--rb-radius);padding:10px 12px;margin:-6px 0 16px}.room-booking__reward-ladder{background:var(--rb-cream);border-radius:var(--rb-radius);padding:12px 14px;margin:-6px 0 16px}.room-booking__reward-ladder-title{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rb-teal);margin:0 0 8px}.room-booking__reward-ladder-title:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rb-teal);flex-shrink:0}.room-booking__reward-ladder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.room-booking__reward-ladder-list li{font-size:13px;color:var(--rb-text);padding-left:14px;position:relative}.room-booking__reward-ladder-list li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--rb-teal-soft-2)}.room-booking__reward-nudge{font-size:13px;font-weight:600;color:var(--rb-teal);background:var(--rb-teal-soft);border-radius:var(--rb-radius);padding:10px 12px;margin:-6px 0 16px}.room-booking__pets{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.room-booking__pets .room-booking__petdetails:not(:last-child){padding-bottom:18px;border-bottom:1px dashed var(--rb-line)}.room-booking__petdetails{border:none;padding:0;margin:0}.room-booking__petdetails legend{margin-bottom:12px}.room-booking__service{border:none;padding:0;margin:0 0 20px}.room-booking__service-options{display:flex;flex-wrap:wrap;gap:8px}.room-booking__service-chip{position:relative;cursor:pointer}.room-booking__service-chip input{position:absolute;opacity:0;width:1px;height:1px}.room-booking__service-chip span{display:inline-flex;align-items:center;padding:9px 16px;border:1px solid var(--rb-line);border-radius:var(--rb-radius-pill);font-size:13px;color:var(--rb-text);background:var(--rb-bg);transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.room-booking__service-chip:hover span{border-color:#3a3a3e47}.room-booking__service-chip input:checked+span{background:var(--rb-teal);border-color:var(--rb-teal);color:#fff;font-weight:600;box-shadow:0 3px 8px -2px #064c4366}.room-booking__service-chip input:focus-visible+span{outline:2px solid var(--rb-teal);outline-offset:2px}.room-booking__service .room-booking__field{margin-top:14px;margin-bottom:0}.room-booking__shipping-note{font-size:12px;color:var(--rb-text-soft);margin:12px 0 0}.room-booking__addons{border:none;padding:0;margin:0 0 20px}.room-booking__addon{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:6px;font-size:14px;cursor:pointer;border:1px solid var(--rb-line);border-radius:var(--rb-radius);background:var(--rb-bg);transition:border-color .15s ease,background .15s ease}.room-booking__addon:last-child{margin-bottom:0}.room-booking__addon:hover{border-color:#3a3a3e3d}.room-booking__addon:has(input:checked){background:var(--rb-teal-soft);border-color:var(--rb-teal-soft-2)}.room-booking__addon input{accent-color:var(--rb-teal);width:17px;height:17px;flex-shrink:0}.room-booking__addon span:first-of-type{flex:1}.room-booking__addon-price{color:var(--rb-text-soft);font-variant-numeric:tabular-nums;font-size:13px}.room-booking__addon:has(input:checked) .room-booking__addon-price{color:var(--rb-teal);font-weight:600}.room-booking__summary{position:relative;margin:0 0 22px;padding:18px 20px;background:var(--rb-cream);border-radius:14px;overflow:hidden}.room-booking__summary:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rb-teal)}.room-booking__summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;padding:4px 0;color:var(--rb-text);opacity:.85}.room-booking__summary-row dt,.room-booking__summary-row dd{margin:0}.room-booking__summary-row dd{font-variant-numeric:tabular-nums;white-space:nowrap}.room-booking__summary-row--total{margin-top:8px;padding-top:12px;border-top:1px solid rgba(6,76,67,.18);font-size:19px;font-family:inherit;color:var(--rb-teal);font-weight:600;opacity:1}[data-rb-free-addon-row]{color:var(--rb-teal)!important;font-weight:600;opacity:1!important}[data-rb-free-addon-row] dd{text-transform:uppercase;letter-spacing:.06em;font-size:11px;background:var(--rb-teal);color:#fff;padding:3px 9px;border-radius:var(--rb-radius-pill)}.room-booking__cta{position:relative;width:100%;background:var(--rb-text);color:#fff;border:none;border-radius:var(--rb-radius-pill);padding:17px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .08s ease,box-shadow .15s ease}.room-booking__cta:hover:not(:disabled){background:var(--rb-teal);box-shadow:0 8px 20px -6px #064c4380}.room-booking__cta:active:not(:disabled){transform:scale(.99);background:var(--rb-teal-deep)}.room-booking__cta:disabled{opacity:.38;cursor:not-allowed}.room-booking__cta:focus-visible{outline:2px solid var(--rb-teal);outline-offset:2px}@media(max-width:480px){.room-booking__card{max-width:100%;padding:24px 20px}}.room-booking__room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.room-booking__room-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;border:1px solid var(--rb-line);border-radius:var(--rb-radius);background:var(--rb-bg);cursor:pointer;transition:border-color .15s ease,background .15s ease}.room-booking__room-card:hover:not(:disabled){border-color:var(--rb-teal)}.room-booking__room-name{font-size:13px;font-weight:600;color:var(--rb-text)}.room-booking__room-status{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--rb-text-soft)}.room-booking__room-card--selected{background:var(--rb-teal);border-color:var(--rb-teal)}.room-booking__room-card--selected .room-booking__room-name,.room-booking__room-card--selected .room-booking__room-status{color:#fff}.room-booking__room-card--taken{background:#3a3a3e0a;cursor:not-allowed;opacity:.55}.room-booking__room-card--taken .room-booking__room-name{text-decoration:line-through}.room-booking__room-hint{font-size:12px;color:var(--rb-text-soft);margin:10px 0 0}
/*# sourceMappingURL=/cdn/shop/t/24/assets/room-booking-v3.css.map */
