/* Боровика — reservation widget */
.bx-reserve{display:grid;grid-template-columns:1.05fr .95fr;gap:1.6rem;align-items:start}
.bx-reserve__cal,.bx-reserve__form{background:#fff;border:1px solid var(--c-line,#e6ddcc);border-radius:18px;padding:1.4rem;box-shadow:0 14px 40px -22px rgba(28,47,35,.3)}

/* Legend */
.bx-legend{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:1rem;font-size:.86rem;font-weight:600;color:var(--c-muted,#6f7363)}
.bx-legend__i{display:inline-flex;align-items:center;gap:.45em}
.bx-legend .dot{width:14px;height:14px;border-radius:4px;display:inline-block}
.dot--free{background:#fff;border:1.5px solid #cdd6c8}
.dot--busy{background:#f3d9d2;border:1.5px solid #d39b8c}
.dot--sel{background:var(--c-accent,#c98a3c)}

.bx-calendar{display:flex;justify-content:center}
.bx-range-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.bx-cal-note{display:flex;gap:.5em;align-items:flex-start;font-size:.84rem;color:var(--c-muted,#6f7363);margin:.9rem 0 0}
.bx-cal-note svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--c-accent-dark,#b3762e)}

/* Dates row */
.bx-dates-row{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}
.bx-date-chip{flex:1;background:#faf6ee;border:1px solid var(--c-line,#e6ddcc);border-radius:12px;padding:.7rem 1rem}
.bx-date-chip .lbl{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted,#6f7363);font-weight:700}
.bx-date-chip strong{font-size:1.05rem;font-family:var(--font-head,serif)}
.bx-dates-arrow svg{width:20px;height:20px;color:var(--c-accent-dark,#b3762e)}

/* Fields */
.bx-guests{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.1rem}
.bx-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}
.bx-field label{font-size:.8rem;font-weight:700;color:var(--c-ink,#23271f)}
.bx-field input,.bx-field select,.bx-field textarea{padding:.8em 1em;border:1.5px solid var(--c-line,#e6ddcc);border-radius:10px;font:inherit;background:#fff;color:var(--c-ink,#23271f);width:100%}
.bx-field input:focus,.bx-field select:focus,.bx-field textarea:focus{border-color:var(--c-accent,#c98a3c);outline:none}
.bx-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.bx-field--full{grid-column:1/-1}

/* Summary */
.bx-summary{background:#faf6ee;border:1px dashed var(--c-line,#e6ddcc);border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:1.2rem;min-height:96px}
.bx-summary__empty{text-align:center;color:var(--c-muted,#6f7363)}
.bx-summary__empty svg{width:30px;height:30px;color:var(--c-accent,#c98a3c);margin-bottom:.3rem}
.bx-summary__empty p{margin:.2rem 0 .5rem}
.bx-from{font-size:.92rem}
.bx-from strong{color:var(--c-forest,#33503f);font-size:1.05rem}
.bx-summary__head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:.7rem;flex-wrap:wrap;gap:.3rem}
.bx-nights{background:var(--c-forest,#33503f);color:#fff;font-size:.78rem;padding:.25em .8em;border-radius:30px}
.bx-lines{list-style:none;margin:0 0 .7rem;padding:0;max-height:168px;overflow:auto}
.bx-lines li{display:flex;justify-content:space-between;font-size:.9rem;padding:.32rem 0;border-bottom:1px solid #efe7d6;color:#3a3f33}
.bx-lines small{color:var(--c-muted,#6f7363)}
.bx-subtotal{display:flex;justify-content:space-between;font-size:.95rem;padding:.3rem 0;color:#3a3f33}
.bx-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--c-forest,#33503f);margin-top:.5rem;padding-top:.7rem;font-weight:800;font-size:1.25rem;color:var(--c-forest,#33503f);font-family:var(--font-head,serif)}
.bx-summary__error{display:flex;gap:.5em;align-items:flex-start;color:#b4452e;font-weight:600}
.bx-summary__error svg{width:18px;height:18px;flex:none;margin-top:2px}

.bx-submit{width:100%;justify-content:center;margin-top:.3rem}
.bx-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.bx-privacy{font-size:.78rem;color:var(--c-muted,#6f7363);margin:.9rem 0 0;text-align:center}

.bx-msg{margin-top:1rem}
.bx-msg .bx-error{background:#fbe9e4;border:1px solid #e7b4a6;color:#a23b22;padding:.9rem 1.1rem;border-radius:12px;font-weight:600}
.bx-success{text-align:center;background:#e8f5ec;border:1px solid #aedcbd;border-radius:14px;padding:1.6rem}
.bx-success svg{width:46px;height:46px;color:#fff;background:#3f8f5e;border-radius:50%;padding:9px;margin-bottom:.5rem}
.bx-success h4{margin:.2rem 0;color:#2c6e46}
.bx-success p{margin:0;color:#3a5e47}

/* Property facts / rules */
.bx-facts{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:2rem}
.bx-fact{background:#fff;border:1px solid var(--c-line,#e6ddcc);border-radius:14px;padding:1.2rem .8rem;text-align:center}
.bx-fact svg{width:26px;height:26px;color:var(--c-forest,#33503f);margin-bottom:.4rem}
.bx-fact__n{display:block;font-family:var(--font-head,serif);font-size:1.5rem;font-weight:700;color:var(--c-ink,#23271f)}
.bx-fact__l{font-size:.84rem;color:var(--c-muted,#6f7363)}
.bx-desc{font-size:1.06rem;line-height:1.8;margin-bottom:2rem}
.bx-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.bx-rules-box{background:#faf6ee;border:1px solid var(--c-line,#e6ddcc);border-radius:14px;padding:1.4rem 1.6rem}
.bx-rules-box h4{display:flex;align-items:center;gap:.5em;margin:0 0 .8rem}
.bx-rules-box h4 svg{width:20px;height:20px;color:var(--c-accent-dark,#b3762e)}
.bx-rules{list-style:none;margin:0;padding:0}
.bx-rules li{display:flex;gap:.6em;align-items:flex-start;padding:.4rem 0;color:#3a3f33}
.bx-rules svg{width:18px;height:18px;flex:none;margin-top:3px;color:#3f8f5e}

/* flatpickr theme overrides */
.flatpickr-calendar{box-shadow:none;border:1px solid var(--c-line,#e6ddcc);border-radius:14px;width:auto;font-family:inherit}
.flatpickr-calendar.inline{margin:0 auto}
.flatpickr-months{padding:.4rem 0}
.flatpickr-month,.flatpickr-current-month,.flatpickr-weekday{color:var(--c-ink,#23271f)!important;fill:var(--c-ink,#23271f)}
.flatpickr-weekday{font-weight:700;color:var(--c-muted,#6f7363)!important}
.flatpickr-day{border-radius:9px;font-weight:600;color:#2b2f25;height:40px;line-height:39px;max-width:40px}
.flatpickr-day:hover{background:#f1e9d8;border-color:#f1e9d8}
.flatpickr-day.today{border-color:var(--c-accent,#c98a3c)}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,
.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover{
	background:var(--c-accent,#c98a3c);border-color:var(--c-accent,#c98a3c);color:#fff;box-shadow:none}
.flatpickr-day.inRange{background:#f6e7cf;border-color:#f6e7cf;box-shadow:-5px 0 0 #f6e7cf,5px 0 0 #f6e7cf}
.flatpickr-day.startRange,.flatpickr-day.endRange{box-shadow:none}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{
	background:#f3d9d2;color:#c08a7c;text-decoration:line-through;cursor:not-allowed;border-color:#f3d9d2;opacity:1}
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#c7ccbe}
.flatpickr-day.flatpickr-disabled.prevMonthDay,.flatpickr-day.flatpickr-disabled.nextMonthDay{background:#f7e7e2}
.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--c-accent,#c98a3c)}

.bx-availability .bx-calendar{margin-top:.4rem}

@media(max-width:860px){
	.bx-reserve{grid-template-columns:1fr}
	.bx-facts{grid-template-columns:repeat(3,1fr)}
	.bx-rules-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
	.bx-fields,.bx-guests{grid-template-columns:1fr}
	.bx-facts{grid-template-columns:repeat(2,1fr)}
}
