.bp-wrap{--bp-button-bg:#815e55;--bp-button-text:#fff;--bp-calendar-button-bg:#fa9403;--bp-calendar-button-text:#fff;color:#2b2927}
.bp-info{margin:0 0 22px}
.bp-room-grid{display:grid;grid-template-columns:repeat(var(--bp-overview-columns,3),minmax(0,1fr));gap:18px}
.bp-room-card{background:#fff;border:1px solid #e4ddd8;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.bp-room-card__image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f2f2f2}
.bp-room-card__body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}
.bp-room-card h3{margin:0;font-size:22px;line-height:1.15}
.bp-room-card__text{line-height:1.55}
.bp-room-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.bp-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:38px;padding:8px 16px;border-radius:6px;background:var(--bp-calendar-button-bg);color:var(--bp-button-text) !important;text-decoration:none !important;font-weight:700;border:0;cursor:pointer}
.bp-btn:disabled{opacity:.45;cursor:not-allowed}
.bp-btn--calendar{background:var(--bp-calendar-button-bg);color:var(--bp-calendar-button-text) !important}
.bp-reserve-form .bp-btn--calendar{font-size:var(--bp-reserve-button-font-size,16px)}
.bp-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px}
.bp-detail__main{width:100%;border-radius:8px;object-fit:cover;background:#f2f2f2}
.bp-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:10px}
.bp-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px}
.bp-reserve-layout{display:grid;grid-template-columns:minmax(0,760px);gap:28px;align-items:start}
.bp-reserve-layout--has-form{grid-template-columns:minmax(0,760px) minmax(300px,1fr)}
.bp-reserve-layout__form{position:sticky;top:16px}
.bp-calendar{max-width:760px}
.bp-calendar__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;background:#f5f5f5;padding:5px 6px;border-radius:9px}
.bp-calendar__nav{width:38px;min-width:38px;padding:0;color:var(--bp-calendar-button-text)!important}
.bp-calendar__nav img{width:22px;height:22px;display:block;filter:brightness(0) invert(1)}
.bp-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.bp-calendar__dayname{font-weight:800;text-align:center;font-size:13px}
.bp-day{position:relative;min-height:108px;border:0;border-radius:6px;padding:7px;text-align:left;font-weight:800;text-decoration:none !important;color:inherit;box-sizing:border-box}
.bp-day__number{position:relative;z-index:1}
.bp-day__tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:20;display:grid;gap:5px;min-width:138px;max-width:178px;padding:10px 12px;border-radius:8px;background:#2b2927;color:#fff;font-size:12px;font-weight:700;line-height:1.3;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translate(-50%,6px);pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.bp-day__tooltip:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:7px solid transparent;border-top-color:#2b2927}
.bp-day__tooltip strong{display:block;margin:0 0 2px;color:#fff;font-size:12px}
.bp-day__tooltip span{display:block;white-space:nowrap}
.bp-day--tooltip:hover .bp-day__tooltip,.bp-day--tooltip:focus .bp-day__tooltip,.bp-day--tooltip:focus-visible .bp-day__tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.bp-day--empty{background:transparent}
.bp-day--available{background:var(--bp-available-bg);color:var(--bp-available-text)}
.bp-day--partial{background:var(--bp-partial-bg);color:var(--bp-partial-text)}
.bp-day--full{background:var(--bp-full-bg);color:var(--bp-full-text);pointer-events:none}
.bp-day--closed{background:var(--bp-closed-bg);color:var(--bp-closed-text);pointer-events:none}
.bp-day--past{background:var(--bp-past-bg);color:var(--bp-past-text);pointer-events:none}
.bp-legend{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0;width:100%}
.bp-legend span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;flex:1 1 auto;min-width:max-content}
.bp-legend i{width:18px;height:18px;border-radius:4px;display:inline-block}
.bp-slots{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.bp-slot{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #e4ddd8;border-radius:6px;line-height:1.35;cursor:pointer}
.bp-slot input{flex:0 0 auto;margin:2px 0 0}
.bp-slot span{display:block}
.bp-slot-pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border:1px solid #d9ccc7;border-radius:8px;background:#f7f1ee;color:#3f312e;font-weight:800;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.bp-slot-pill input{position:absolute;opacity:0;pointer-events:none}
.bp-slot-pill.is-selected{background:var(--bp-calendar-button-bg);border-color:var(--bp-calendar-button-bg);color:var(--bp-calendar-button-text)}
.bp-reserve-summary{display:block;margin:0 0 4px;padding:12px;border:1px solid #e4ddd8;border-radius:8px;background:#fcfaf9;line-height:1.4}
.bp-reserve-summary:empty{display:none}
.bp-reserve-summary.is-hidden{display:none}
.bp-reserve-summary p{margin:0;line-height:1.4}
.bp-reserve-summary__times,.bp-reserve-summary__price{display:inline}
.bp-form{display:grid;gap:12px;max-width:680px}
.bp-form input:not([type="checkbox"]),.bp-form textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;padding:10px}
.bp-form input[type="checkbox"]{width:auto;box-sizing:border-box}
.bp-reserve-form{background:#fff;border:1px solid #e4ddd8;border-radius:8px;padding:18px}
.bp-reserve-form h3{margin:0}
.bp-reserve-form textarea{min-height:110px;resize:vertical}
.bp-login-link{margin:0}
.bp-checkline{display:flex;gap:10px;align-items:flex-start;line-height:1.35}
.bp-checkline input{flex:0 0 auto;margin:2px 0 0}
.bp-account-form{max-width:440px}
.bp-alert{padding:10px 12px;border:1px solid #d84b3f;border-radius:8px;background:#fff1ef;color:#8a2018;font-weight:700}
.bp-notice{padding:10px 12px;border:1px solid #bddfc8;border-radius:8px;background:#f0fff4;color:#245834;font-weight:700}
.bp-confirmation{max-width:760px;padding:22px;border:1px solid #e4ddd8;border-radius:8px;background:#fff}
.bp-confirmation h2{margin-top:0}
.bp-other{margin-top:24px}
@media(max-width:900px){.bp-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.bp-detail,.bp-reserve-layout{grid-template-columns:1fr}.bp-reserve-layout__form{position:static}.bp-calendar__grid{gap:4px}.bp-day{min-height:48px;font-size:13px}}
@media(max-width:560px){.bp-room-grid{grid-template-columns:1fr}}
