.bcal{border:1px solid #e6e6e6;border-radius:10px;background:#fff;overflow:hidden}.bcal--always-open .bcal__expand{border-top:none}.bcal__teaser{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px;flex-wrap:wrap}.bcal__teaser-price{display:flex;align-items:baseline;gap:6px}.bcal__teaser-prefix{font-size:.8rem;color:#888}.bcal__teaser-amount{font-size:1.55rem;font-weight:700;color:var(--mk-primary, #8B1E3F);font-family:var(--mk-font-display, serif)}.bcal__teaser-per{font-size:.8rem;color:#888}.bcal__toggle{background:var(--mk-primary, #8B1E3F);color:#fff;border:none;padding:9px 16px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px;transition:opacity .15s}.bcal__toggle:hover{opacity:.88}.bcal__toggle[aria-expanded=true] .bcal__toggle-icon{transform:rotate(180deg)}.bcal__toggle-icon{transition:transform .2s;display:inline-block}.bcal__expand{border-top:1px solid #eee}.bcal__expand[hidden]{display:none}.bcal__nav{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #eee;gap:8px}.bcal__nav-btn{padding:6px 12px;background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:.82rem;color:#333;white-space:nowrap}.bcal__nav-btn:hover:not(:disabled){background:#f0f0f0}.bcal__nav-btn:disabled{opacity:.4;cursor:not-allowed}.bcal__nav-range{font-size:.78rem;color:#666;font-weight:500}.bcal__legend{display:flex;gap:14px;padding:8px 16px;border-bottom:1px solid #eee;font-size:.72rem;color:#555;flex-wrap:wrap}.bcal__legend i{display:inline-block;width:12px;height:12px;vertical-align:middle;margin-right:5px;border:1px solid #ccc}.bcal__cal{padding:12px 12px 8px}.bcal-month{margin-bottom:14px}.bcal-month-title{font-weight:600;font-size:.92rem;text-align:center;padding:6px 0 8px;color:#0a0c10;font-family:var(--mk-font-display, serif)}.bcal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:4px 0;font-size:.62rem;color:#888;text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.bcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.bcal-day{aspect-ratio:auto;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;border-radius:4px;font-size:.7rem;line-height:1.1;cursor:pointer;user-select:none}.bcal-day--empty{visibility:hidden}.bcal-day--available{background:#e9f5ec;color:#155724}.bcal-day--available:hover{background:#c8e8d2}.bcal-day--sold{background:#fbeae9;color:#a4584e;cursor:default}.bcal-day--past{background:#fafafa;color:#bbb;cursor:default}.bcal-day--selected{background:#ffe082!important;outline:2px solid #ff6f00;outline-offset:-2px;font-weight:700}.bcal-day--in-range{background:#fff3cd!important}.bcal-day-num{font-weight:600;font-size:.82rem}.bcal-day-price{font-size:.6rem;color:#888;margin-top:1px}.bcal__hint{padding:10px 16px;font-size:.78rem;color:#666;text-align:center;background:#fafafa;border-top:1px solid #eee}.bcal__summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fafafa;border-top:1px solid #eee;gap:12px;flex-wrap:wrap}.bcal__summary[hidden]{display:none}.bcal__summary-info{font-size:.9rem;color:#333}.bcal__summary-info b{color:var(--mk-primary, #8B1E3F)}.bcal__summary-edit{background:transparent;color:var(--mk-primary, #8B1E3F);border:1px solid var(--mk-primary, #8B1E3F);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.82rem;font-weight:600;white-space:nowrap}.bcal__summary-edit:hover{background:var(--mk-primary, #8B1E3F);color:#fff}.bcal--locked .bcal__nav,.bcal--locked .bcal__legend,.bcal--locked .bcal__cal,.bcal--locked .bcal__hint{display:none}.bcal__rates{padding:14px 16px;border-top:1px solid #eee;background:#fafafa;display:flex;flex-direction:column;gap:10px}.bcal__rates[hidden]{display:none}.bcal-rate{border:1px solid #e6e6e6;border-radius:8px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:6px}.bcal-rate__head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.bcal-rate__name{font-weight:600;font-size:.92rem;color:#0a0c10;line-height:1.2}.bcal-rate__badge{font-size:.65rem;padding:3px 7px;border-radius:10px;background:#e7d5be;color:#5b3920;font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.bcal-rate__price{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px;padding-top:6px;border-top:1px dashed #ddd}.bcal-rate__per{font-size:.7rem;color:#888}.bcal-rate__total{font-size:1.05rem;font-weight:700;color:var(--mk-primary, #8B1E3F)}.bcal-rate__total small{font-size:.7rem;color:#888;font-weight:400;margin-left:4px}.bcal-rate__cta{background:var(--mk-primary, #8B1E3F);color:#fff;padding:8px 14px;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;text-align:center;text-decoration:none}.bcal-rate__cta:hover{opacity:.88}.bcal__rates-error{padding:12px;background:#fbeae9;color:#a4584e;border-radius:6px;font-size:.85rem}.bcal-rate__desc{font-size:.78rem;color:#666;line-height:1.45}.bcal-rate__extra{font-size:.72rem;padding:6px 9px;background:#f5f5f5;color:#555;border-radius:4px;line-height:1.3}.bcal-rate__extra--promo{background:#fff3e0;color:#7a4400;border-left:2px solid #ff9800}.bcal-rate__urgency{font-size:.78rem;color:#b8421e;font-weight:600;padding:5px 9px;background:#fff4e1;border-radius:4px}.bcal-rate__meta{font-size:.7rem;color:#888;display:flex;gap:8px;flex-wrap:wrap}.bcal-rate__meta span{white-space:nowrap;padding:2px 7px;background:#f0f0f0;border-radius:3px}.bcal-rate__price-old{text-decoration:line-through;color:#999;font-size:.8rem;margin-right:6px;font-weight:500}.bcal-rate__discount{font-size:.7rem;padding:2px 6px;background:#d4edda;color:#155724;border-radius:3px;font-weight:600;margin-right:6px;vertical-align:middle}.bcal-rate__policy{font-size:.78rem}.bcal-rate__policy>summary{cursor:pointer;padding:6px 10px;background:#f8f8f8;border-radius:4px;font-weight:500;color:#555;list-style:none}.bcal-rate__policy>summary::-webkit-details-marker{display:none}.bcal-rate__policy[open]>summary{background:#eee}.bcal-rate__policy-body{padding:8px 10px 4px}.bcal-rate__policy-item{padding:6px 0;border-bottom:1px solid #f0f0f0;line-height:1.4}.bcal-rate__policy-item:last-child{border-bottom:none}.bcal-rate__policy-item b{color:#0a0c10;text-transform:capitalize}
