/* Only functional states and required booking controls. The supplied design lives in styles.css. */
/* Arrival/departure edges remain visible before selection and on hover. */
#calendars .days button.occupied{background:#e4e4e4;color:#53616a;border-color:#d5d5d5}
#calendars .days button.checkout-boundary{background:linear-gradient(45deg,#e4e4e4 0 49.5%,#fff 50.5% 100%);color:var(--ink);border-color:#c8d2d6}
#calendars .days button.checkin-boundary{background:linear-gradient(45deg,#fff 0 49.5%,#e4e4e4 50.5% 100%);color:var(--ink);border-color:#c8d2d6}
#calendars .days button.endpoint{background:var(--ink);color:#fff;border-color:var(--ink)}
#calendars .days button.checkout-boundary.endpoint{background:linear-gradient(45deg,#e4e4e4 0 49.5%,var(--ink) 50.5% 100%);color:var(--ink)}
#calendars .days button.checkin-boundary.endpoint{background:linear-gradient(45deg,var(--ink) 0 49.5%,#e4e4e4 50.5% 100%);color:var(--ink)}
#calendars .days button.checkout-boundary.endpoint,#calendars .days button.checkin-boundary.endpoint{font-weight:700;text-shadow:0 0 3px #fff,0 0 3px #fff}
.booking-consent{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;margin-top:12px}
.booking-consent input{flex:0 0 16px;width:16px;height:16px;margin:0}
.booking-consent a{text-decoration:underline}
.booking-total strong{color:var(--ink);white-space:nowrap}
#form-status.booking-status{margin-top:12px;padding:10px;border-radius:3px}
#form-status.error{background:#fff1ed;color:#983e29}
#form-status.success{background:var(--sea);color:var(--ink)}
.booking-form button:disabled{opacity:.65;cursor:wait}
.booking-form .field-invalid{border-color:var(--orange)}

/* Price typography and final contact/copyright row. */
.price-table tbody td{font-weight:400}
.booking-form .booking-total,.booking-form .booking-total strong{font-size:16px}
.footer-bottom{background:rgb(11,79,121);color:#fff;border:0}
.footer-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;font-family:"Lucida Sans Unicode","Lucida Grande",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.5}
.footer-bottom-contacts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-bottom-copyright{text-align:right}
.footer-bottom-copyright a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.footer-bottom-row{flex-direction:column;align-items:flex-start;gap:10px}.footer-bottom-contacts{gap:8px 20px}.footer-bottom-copyright{text-align:left}}

.footer-bottom a,.footer-bottom a:hover{color:#fff}.footer-bottom a:hover{text-decoration:underline}

/* Rules are loaded from the corresponding language's rules.html. */
.rules-modal{position:fixed;inset:0;margin:auto;width:min(920px,calc(100vw - 32px));height:min(85dvh,800px);max-width:calc(100vw - 32px);max-height:90dvh;padding:0;border:0;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 16px 64px #03293666}
.rules-modal[open]{display:flex;flex-direction:column}
.rules-modal::backdrop{background:#032936b8}
.rules-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}
.rules-modal-header h2{margin:0;font-size:20px}
.rules-modal-close{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;flex:0 0 39px;border:0;border-radius:5px;background:var(--ink);color:#fff;font-size:26px;line-height:1;padding:0}
.rules-modal iframe{display:block;flex:1;min-height:0;width:100%;border:0;background:#fff}
@media(max-width:600px){.rules-modal-header h2{font-size:17px}.rules-modal{height:88dvh}}

.footer-bottom,.footer-bottom a,.footer-bottom strong{font-weight:400}
