.hh-booking{font-family:var(--font-sans);font-variant-numeric:tabular-nums}.hh-head{padding:1.75rem 1.75rem 1.25rem}.hh-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;color:var(--color-kareki);margin:0 0 .5rem;font-weight:600}.hh-price{font-family:var(--font-serif);font-size:2.25rem;line-height:1.05;color:var(--color-sumi);margin:0;font-weight:500}.hh-cleaning{font-size:.875rem;color:var(--color-kareki);margin:.4rem 0 0}.hh-summary{display:grid;grid-template-columns:1fr 1fr;margin:0 1.75rem;border:1.5px solid var(--color-shironeri);border-radius:8px;overflow:hidden}.hh-summary-btn{display:block;text-align:left;padding:.9rem 1.1rem;background:#fff;border:none;border-right:1.5px solid var(--color-shironeri);cursor:pointer;transition:background .18s;font-family:inherit}.hh-summary-btn:last-child{border-right:none}.hh-summary-btn:hover,.hh-summary-btn:focus,.hh-summary-btn.is-active{background:var(--color-kinari);outline:none}.hh-summary-btn.is-active{box-shadow:inset 0 0 0 2px var(--color-sumi)}.hh-summary-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.22em;color:var(--color-kareki);margin-bottom:.25rem;font-weight:600}.hh-summary-value{display:block;font-size:1.05rem;font-weight:500;color:var(--color-sumi)}.hh-cal-block{padding:1.25rem 1.75rem .5rem}.hh-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.hh-cal-month-label{font-family:var(--font-serif);font-size:1.35rem;color:var(--color-sumi);margin:0;font-weight:500}.hh-nav-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid var(--color-shironeri);border-radius:999px;cursor:pointer;color:var(--color-sumi);transition:background .15s,border-color .15s}.hh-nav-btn:hover:not(:disabled){background:var(--color-kinari);border-color:var(--color-kareki)}.hh-nav-btn:disabled{opacity:.25;cursor:not-allowed}.hh-cal-grid{user-select:none}.hh-dow-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.4rem}.hh-dow{text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-kareki);padding:.45rem 0;font-weight:600}.hh-days{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}.hh-day{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;font-size:1rem;color:var(--color-sumi);cursor:pointer;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent;font-weight:500}.hh-day-num{position:relative;z-index:1;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:999px;transition:background .15s,color .15s}.hh-day-out{visibility:hidden;cursor:default}.hh-day-past,.hh-day-unavailable{color:var(--color-kareki-light);cursor:not-allowed}.hh-day-past .hh-day-num,.hh-day-unavailable .hh-day-num{text-decoration:line-through}.hh-day-past:hover .hh-day-num,.hh-day-unavailable:hover .hh-day-num{background:transparent}.hh-day-available:hover .hh-day-num,.hh-day-in-range,.hh-day-in-hover-range{background:var(--color-shironeri)}.hh-day-in-hover-range{background:var(--color-kinari)}.hh-day-checkin .hh-day-num,.hh-day-checkout .hh-day-num{background:var(--color-sumi);color:var(--color-kinari);font-weight:500}.hh-day-checkin{background:linear-gradient(to right,transparent 50%,var(--color-shironeri) 50%)}.hh-day-checkout{background:linear-gradient(to right,var(--color-shironeri) 50%,transparent 50%)}.hh-day-checkin.hh-day-checkout{background:transparent}.hh-loading{text-align:center;font-size:.875rem;font-style:italic;color:var(--color-kareki);margin:.65rem 0 0}.hh-status{text-align:center;font-size:.85rem;color:var(--color-kareki);margin:.65rem 0 0;font-style:italic}.hh-status-warn{color:var(--color-bronze);font-style:normal;font-weight:500}.hh-clear{display:block;width:100%;text-align:center;margin-top:.5rem;padding:.5rem;background:transparent;border:none;font-size:.85rem;color:var(--color-kareki);text-decoration:underline;cursor:pointer;transition:color .15s;font-family:inherit}.hh-clear:hover{color:var(--color-sumi)}.hh-guests{margin:1.25rem 1.75rem 0;padding-top:1.25rem;border-top:1px solid var(--color-shironeri)}.hh-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.25em;color:var(--color-kareki);margin:0 0 .8rem;font-weight:600}.hh-guest-row{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}.hh-guest-row+.hh-guest-row{border-top:1px solid var(--color-shironeri)}.hh-guest-label{font-size:1.05rem;color:var(--color-sumi);margin:0;font-weight:500}.hh-guest-hint{font-size:.82rem;color:var(--color-kareki);margin:0}.hh-counter{display:flex;align-items:center;gap:.65rem}.hh-counter-btn{width:36px;height:36px;border-radius:999px;border:1.5px solid var(--color-shironeri);background:#fff;font-size:1.2rem;color:var(--color-sumi);cursor:pointer;transition:border-color .15s,color .15s;font-family:inherit;line-height:0;display:flex;align-items:center;justify-content:center;font-weight:500}.hh-counter-btn:hover:not(:disabled){border-color:var(--color-kareki)}.hh-counter-btn:disabled{opacity:.25;cursor:not-allowed}.hh-counter-value{min-width:1.6rem;text-align:center;font-size:1.1rem;color:var(--color-sumi);font-weight:500}.hh-quote{margin:1.25rem 1.75rem 0;padding-top:1.25rem;border-top:1px solid var(--color-shironeri);font-size:.95rem}.hh-quote-row{display:flex;justify-content:space-between;padding:.3rem 0;color:var(--color-kareki)}.hh-quote-row-soft{font-size:.85rem;opacity:.7}.hh-quote-total{display:flex;justify-content:space-between;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--color-shironeri);font-weight:600;color:var(--color-sumi);font-size:1.1rem}.hh-msg{margin:.85rem 1.75rem 0;font-size:.875rem}.hh-msg-info{color:var(--color-kareki);font-style:italic}.hh-msg-error{color:#a04040}.hh-cta-wrap{padding:1.25rem 1.75rem 1.5rem}.hh-cta{display:block;width:100%;padding:1.1rem 1.5rem;text-align:center;background:var(--color-sumi);color:var(--color-kinari);border:none;font-size:.9rem;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;transition:background .15s;font-family:inherit;border-radius:0;font-weight:600}.hh-cta:hover:not(:disabled){background:var(--color-kareki)}.hh-cta:disabled{background:var(--color-shironeri);color:var(--color-kareki-light);cursor:not-allowed}.hh-footer{margin:1rem 0 0;font-size:.8rem;line-height:1.55;color:var(--color-kareki)}.hidden{display:none!important}.hh-modal{margin:auto;padding:0;max-width:460px;width:92%;border:1px solid var(--color-shironeri);background:#fff}.hh-modal::backdrop{background:#00000080}.hh-modal-form{padding:2rem;font-family:var(--font-sans)}.hh-modal-title{font-family:var(--font-serif);font-size:1.5rem;margin:0 0 .5rem;color:var(--color-sumi)}.hh-modal-hint{font-size:.75rem;color:var(--color-kareki);margin:0 0 1.5rem}.hh-modal-label{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.25em;color:var(--color-kareki);margin-bottom:.3rem}.hh-modal-input{width:100%;padding:.6rem .75rem;margin-bottom:1rem;border:1px solid var(--color-shironeri);background:#fff;font-size:.9rem;font-family:inherit;color:var(--color-sumi);box-sizing:border-box}.hh-modal-input:focus{outline:none;border-color:var(--color-kareki)}.hh-modal-actions{display:flex;gap:.75rem;margin-top:.5rem}.hh-modal-cancel,.hh-modal-submit{flex:1;padding:.75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;cursor:pointer;transition:background .15s;font-family:inherit}.hh-modal-cancel{background:#fff;border:1px solid var(--color-sumi);color:var(--color-sumi)}.hh-modal-cancel:hover{background:var(--color-shironeri)}.hh-modal-submit{background:var(--color-sumi);color:var(--color-kinari);border:none}.hh-modal-submit:hover:not(:disabled){background:var(--color-kareki)}.hh-modal-submit:disabled{background:var(--color-kareki-light);cursor:not-allowed}.hh-phone-group{display:flex;gap:.5rem}.hh-phone-prefix{flex:0 0 6rem;font-feature-settings:"tnum"}.hh-phone-local{flex:1;min-width:0}.hh-pet-row{cursor:pointer;user-select:none}.hh-pet-row:hover{background:var(--color-brume, transparent)}.hh-pet-check{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--color-lac, var(--color-bronze))}
