/* Consistent inset chevrons instead of OS-dependent select arrows. */
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23463934' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:16px!important;padding-right:48px!important}
.floating-dock select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 10px center!important;padding-right:32px!important}
.date-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none;clip-path:inset(50%);padding:0!important;border:0!important}
.date-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 17px;border:1px solid #ded9d5;border-radius:14px;background:white;font-size:14px;letter-spacing:0;text-align:left;color:#83776e}
.date-trigger.has-value{color:var(--ink)}
.date-trigger svg{width:20px;height:20px;flex:none;color:#695c50}
.dock-booking .date-trigger{min-height:30px;padding:3px 0;border:0;background:none;color:white;font-size:13px}
.dock-booking .date-trigger svg{width:17px;height:17px;color:inherit}
.date-dialog{padding:30px;width:740px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border:1px solid #ffffffa0;border-radius:30px;background:rgba(250,248,245,.98);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);color:var(--ink);overflow:auto;box-shadow:0 24px 100px #17130d24}
.date-dialog::backdrop{background:#231c174d;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.date-dialog .calendar-heading p{font:9px/1.4 Arial,sans-serif;letter-spacing:.18em;margin:0 0 10px;color:#8c7966}
.calendar-heading h2{font-size:34px;line-height:1.1}
.calendar-close{border:0;background:#eae4dd;color:#615247;border-radius:50%;width:34px;height:34px;flex:none;font-size:26px;line-height:1}
.calendar-selection{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#eae5df;padding:5px;border-radius:20px;margin-top:25px}
.calendar-selection button{border:1px solid transparent;border-radius:15px;background:none;text-align:left;padding:13px 18px}
.calendar-selection .is-active{background:white;border-color:#d8cabb;box-shadow:0 2px 6px #473c3010}
.calendar-selection span{display:block;font-size:10px;color:#8b7a6c;margin-bottom:4px}
.calendar-selection strong{font-size:15px;font-weight:500}
.date-dialog .calendar-hint{margin:14px 0 0;font-size:11px;color:#776e66}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:17px 0 5px}
.calendar-toolbar span{font-size:11px;color:#8b7a6c}
.calendar-toolbar button{border:0;border-radius:50%;width:34px;height:34px;background:#eee8e0;font:27px/1 Arial,sans-serif}
.calendar-toolbar button:disabled{opacity:.3;cursor:default}
.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.calendar-month h3{font:600 15px/1.5 Arial,sans-serif;letter-spacing:0;text-align:center;margin:5px 0 18px}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:4px 0}
.calendar-week{font-size:10px;color:#9a8b7e;margin-bottom:9px}
.calendar-grid button{position:relative;border:0;aspect-ratio:1;min-height:36px;width:100%;border-radius:50%;background:transparent;font-size:13px;color:#52483f;padding:0}
.calendar-grid button:not(:disabled):hover{background:#e8dfd3}
.calendar-grid button:disabled{color:#c8c1b9;cursor:default}
.calendar-grid button.in-range{background:#ebe1d4;border-radius:0;color:#66533e}
.calendar-grid button.range-start,.calendar-grid button.range-end{background:#51473e!important;color:white!important;border-radius:50%}
.calendar-grid button[aria-current=date]:after{content:'';position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:currentColor;border-radius:50%}
.calendar-grid button:focus-visible{outline:2px solid #897053;outline-offset:1px;z-index:1}
.calendar-bottom{border-top:1px solid #e5ddd3;margin-top:23px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.calendar-bottom strong,.calendar-bottom small{display:block}.calendar-bottom strong{font-size:14px;font-weight:500}.calendar-bottom small{font-size:10px;color:#918173;margin-top:5px}
.calendar-apply{padding:13px 24px;border:0;border-radius:99px;background:#51473e;color:white;font-size:12px;min-height:44px}
.calendar-apply:disabled{opacity:.4;cursor:default}
@media(max-width:760px){.dock-booking.stay-form{grid-template-columns:58px minmax(0,1fr)}.dock-guest-field select{width:58px;min-width:58px}.dock-apartment-choice select{padding-right:26px!important;background-position:right 4px center!important}.dock-booking .date-trigger{font-size:11px}}
@media(max-width:640px){.date-dialog{padding:23px 20px;border-radius:26px;width:370px}.calendar-months{grid-template-columns:1fr;gap:0}.calendar-heading h2{font-size:29px}.calendar-grid button{min-height:38px}.calendar-selection{margin-top:20px}.calendar-selection button{padding:11px 13px}.calendar-bottom{gap:12px}.calendar-bottom small{max-width:155px}.calendar-apply{padding:13px 20px}.calendar-hint{min-height:17px}}
