.sailing-reservation-dialog::backdrop{background:rgba(0,0,0,.55)}
.sailing-reservation-dialog{border:0;border-radius:10px;max-width:640px;width:92vw;padding:0}
.sailing-reservation-dialog .sr-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.08)}
.sailing-reservation-dialog .sr-body{padding:16px}
.sailing-reservation-dialog .sr-close{appearance:none;border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer}
.sr-loading{opacity:.7}
.sr-error{color:#b32d2e}
.sr-next-termin-empty{color:#fff;background:#032554;width:fit-content;padding:10px 30px;border-radius:20px;font-weight:800;border:2px solid #0184b8}
.sailing-reservation-dialog form[data-sr-reservation-form]{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.sr-form-row{margin:0}
.sr-form-row[data-sr-fullrow]{grid-column:1 / -1}

.sr-form-row label{display:block;margin-bottom:4px;font-weight:600;font-size:12px;color:#021e33}
.sr-form-row input,.sr-form-row textarea,.sr-form-row select{width:100%;max-width:100%;box-sizing:border-box}
.sr-form-row input,.sr-form-row textarea,.sr-form-row select{padding:7px 9px;border:1px solid rgba(2,30,51,.25);border-radius:0;background:#fff;font-size:14px;line-height:1.2}
.sr-form-row textarea{resize:vertical}
.sr-form-row button[type="submit"]{appearance:none;border:0;border-radius:999px;padding:11px 16px;font-weight:700;cursor:pointer;background:#5bc5ec;color:var(--bricks-color-fcphuw)}
.sr-form-row button[type="submit"]:disabled{opacity:.7;cursor:not-allowed}

.sr-extras label{cursor:pointer}
.sr-extras input[type="checkbox"]{width:auto;max-width:none;margin-right:8px;vertical-align:middle}
.sr-calc-grid{background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px}

.sr-phone-row{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.sr-phone-prefix{flex:0 0 140px}
.sr-phone-local{flex:1 1 auto}

.sr-range-calendar .sr-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;align-items:end;max-width:640px}
.sr-range-calendar .sr-range-button{appearance:none;border:0;border-radius:0;line-height:1.2;font-family:"Poppins";font-size:16px;font-weight:500;cursor:pointer;background-color:var(--bricks-color-uwdugs);color:var(--bricks-color-fcphuw);min-height:56px;padding:15px 24px}
.sr-range-calendar .sr-range-button:disabled{opacity:.7;cursor:not-allowed}

.sr-range-calendar{max-width:640px}
.sr-range-calendar .sr-range-title{font-weight:700;margin:0 0 10px;color:#021e33}
.sr-range-calendar .sr-range-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:12px 0 8px}
.sr-range-calendar .sr-range-pill{appearance:none;border:1px solid #022553;border-radius:0;padding:10px 12px;background:transparent;color:#fff;cursor:pointer;display:inline-flex;gap:6px;align-items:flex-start;flex-direction:column;min-height:56px;width:fit-content;max-width:100%}
.sr-range-calendar .sr-range-pill{position:static;min-height:56px;padding:10px 12px;border-radius:0;background:transparent;width:fit-content}
.sr-range-calendar .sr-range-pill strong{position:static;display:block;font-size:12px;letter-spacing:.02em;text-transform:uppercase;opacity:.85;margin:0 0 4px;color:#fff}
.sr-range-calendar .sr-range-pill .sr-range-text:not(.is-placeholder):not(.is-empty){display:block;margin:0;font-size:19px;font-weight:600;color:#fff}

/* Hide any inline day counter if present */
.sr-range-calendar [data-sr-range-days-inline]{display:none}
.sr-range-calendar .sr-range-guests select{width:auto;background:transparent;border:0;color:#fff;font-weight:600;font-size:16px;appearance:none}
.sr-range-calendar .sr-range-guests select:focus{outline:none}

/* Responsive: 2 columns on tablets, 1 column on phones */
@media (max-width: 900px){
	.sr-range-calendar .sr-range-summary > *{flex:0 1 calc(50% - 12px)}
}
@media (max-width: 560px){
	.sr-range-calendar .sr-range-summary > *{flex:1 1 100%}
	.sr-range-calendar .sr-range-button{width:100%}
}
.sr-range-calendar .sr-range-pill strong{font-size:12px}
.sr-range-calendar .sr-range-pill .sr-range-text:not(.is-placeholder):not(.is-empty){font-weight:600}
.sr-range-calendar .sr-range-days{font-size:13px;opacity:.9}

.sr-range-calendar .sr-range-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.sr-range-calendar .sr-cal-title{font-weight:700}
.sr-range-calendar .sr-cal-nav{appearance:none;border:1px solid rgba(2,30,51,.25);background:#fff;border-radius:999px;width:36px;height:36px;cursor:pointer;color:#021e33}

.sr-range-calendar .sr-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:0 0 6px;font-size:12px;opacity:.75}
.sr-range-calendar .sr-cal-weekdays > div{text-align:center}

.sr-range-calendar .sr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sr-range-calendar .sr-cal-day{appearance:none;border:1px solid rgba(2,30,51,.12);background:#fff;border-radius:999px;height:40px;cursor:pointer;color:#021e33;font-weight:600}
.sr-range-calendar .sr-cal-day.is-outside{opacity:.35}
.sr-range-calendar .sr-cal-day.is-disabled{opacity:.35;cursor:not-allowed}
.sr-range-calendar .sr-cal-day.is-in-range{background:rgba(91,197,236,.18);border-color:rgba(91,197,236,.35)}
.sr-range-calendar .sr-cal-day.is-selected{background:#5bc5ec;border-color:#5bc5ec}
.sr-range-calendar .sr-cal-day.is-term{outline:2px solid rgba(2,30,51,.18)}
.sr-range-calendar .sr-cal-day.is-term-blocked{outline:2px solid rgba(179,45,46,.55)}

.sr-range-cal-dialog{}
.sr-range-cal-dialog .sr-body{display:grid;gap:12px}
.sr-cal-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width: 560px){.sr-cal-months{grid-template-columns:1fr}}
.sr-range-cal-dialog .sr-cal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid rgba(0,0,0,.08);padding-top:12px}
.sr-range-cal-dialog .sr-cal-footer-fields{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sr-range-cal-dialog .sr-cal-field{border:1px solid rgba(2,30,51,.18);border-radius:999px;padding:8px 10px;background:#fff;display:flex;gap:8px;align-items:center}
.sr-range-cal-dialog .sr-cal-field-label{font-size:12px;opacity:.75;font-weight:700}
.sr-range-cal-dialog .sr-cal-field-val{font-weight:700}

/* Calendar modal apply button (Vybrat termín) */
.sr-range-cal-dialog .sr-range-button[data-sr-cal-apply]{border-radius:0;font-size:13px;padding:9px 12px}

.sr-range-calendar{max-width:640px}
.sr-range-calendar .sr-range-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.sr-range-calendar .sr-cal-title{font-weight:700}
.sr-range-calendar .sr-cal-nav{appearance:none;border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:999px;width:36px;height:36px;cursor:pointer;line-height:34px;text-align:center}
.sr-range-calendar .sr-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 6px;font-size:12px;opacity:.75}
.sr-range-calendar .sr-cal-weekdays > div{text-align:center}
.sr-range-calendar .sr-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;justify-items:center}
.sr-range-calendar .sr-cal-empty{width:30px;height:30px;pointer-events:none}
.sr-range-calendar .sr-cal-day{appearance:none;border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:999px;width:30px;height:30px;padding:0;cursor:pointer;font-weight:600;font-size:12px;color:#021e33;display:flex;align-items:center;justify-content:center;justify-self:center;align-self:center}
.sr-range-calendar .sr-cal-day.is-outside{opacity:.45}
.sr-range-calendar .sr-cal-day.is-disabled{opacity:.35;cursor:not-allowed}
.sr-range-calendar .sr-cal-day.is-term{border-color:rgba(0,0,0,.22)}
.sr-range-calendar .sr-cal-day.is-term-blocked{background:rgba(179,45,46,.10);border-color:rgba(179,45,46,.25)}
.sr-range-calendar .sr-cal-day.is-bundle{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.45)}
.sr-range-calendar .sr-cal-day.is-in-range{background:rgba(91,197,236,.18);border-color:rgba(91,197,236,.35)}
.sr-range-calendar .sr-cal-day.is-selected{background:#5bc5ec;border-color:#5bc5ec;color:#021e33}

/* override older styles */
.sr-range-calendar .sr-range-summary{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 8px}
.sr-range-calendar .sr-range-pill{display:flex;gap:6px;align-items:flex-start;border:1px solid #022553;border-radius:0;padding:10px 12px;background:transparent;color:#fff;flex-direction:column;min-height:56px}

.sr-range-calendar .sr-range-pill .sr-range-text:not(.is-placeholder):not(.is-empty){font-size:19px;color:#fff}
.sr-range-cal-dialog .sr-cal-field-val{font-size:13px;text-align:center}

/* Inline days next to the main button */
.sr-range-calendar [data-sr-range-days-inline]{font-size:12px;font-weight:600;opacity:.9}

@media (max-width: 560px){
	.sailing-reservation-dialog form[data-sr-reservation-form]{grid-template-columns:1fr}
	.sr-form-row[data-sr-fullrow]{grid-column:auto}
	.sr-range-calendar .sr-range-grid{grid-template-columns:1fr}
}

.sailing-posadka-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width: 560px){.sailing-posadka-grid{grid-template-columns:1fr}}
.sailing-posadka-card{border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden}
.sailing-posadka-card .sp-media img{display:block;width:100%;height:auto}
.sailing-posadka-card .sp-body{padding:12px 14px}
.sailing-posadka-card .sp-title{font-weight:700;margin:0 0 6px}
.sailing-posadka-card .sp-role{opacity:.75;margin:0 0 10px}

/* Range calendar placeholder text (Od/Do) */
.sr-range-calendar .sr-range-pill .sr-range-text.is-placeholder,
.sr-range-cal-dialog .sr-range-text.is-placeholder{
	font-size:17px;
	color:#fff;
	font-weight:400;
}
