:root{--ink:#18201d;--paper:#fbfaf5;--muted:#66716c;--line:#dedbd0;--accent:#c99943;--deep:#101816}
.action-menu,.inline-action{position:relative}
.location-video{display:block;width:100%;margin:28px 0 0;border-radius:8px;background:#000;box-shadow:0 18px 45px rgba(0,0,0,.16)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}body.is-hero{background:linear-gradient(180deg,rgba(7,13,13,.78),rgba(7,13,13,.2) 29%,rgba(7,13,13,0) 50%),var(--bg) center/cover no-repeat fixed;color:#fff}
.burger{position:fixed;z-index:40;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));width:48px;height:48px;border:1px solid rgba(255,255,255,.32);border-radius:8px;background:rgba(13,20,20,.72);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(14px)}
.menu-open .burger{display:none}
.burger span{display:block;width:22px;height:2px;background:#fff!important;border-radius:99px;box-shadow:0 -7px 0 #fff,0 7px 0 #fff!important;opacity:1}.burger span:before,.burger span:after{display:none}
.drawer{position:fixed;z-index:35;inset:0 auto 0 0;width:min(360px,88vw);padding:26px 26px 30px;background:rgba(16,24,22,.96);color:#fff;transform:translateX(-100%);transition:transform .24s ease;box-shadow:20px 0 60px rgba(0,0,0,.28);overflow:auto}.menu-open .drawer{transform:translateX(0)}.shade{position:fixed;z-index:30;inset:0;background:rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:opacity .2s}.menu-open .shade{opacity:1;pointer-events:auto}.drawer a,.submenu-toggle{position:relative;display:flex;align-items:center;width:100%;min-height:50px;padding:14px 28px 14px 0;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:transparent;color:#fff;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.2;text-decoration:none;text-align:left;cursor:pointer}.submenu-row{display:flex;align-items:center;width:100%;border-bottom:1px solid rgba(255,255,255,.13)}.submenu-row .submenu-label{flex:1;border-bottom:0}.submenu-row .submenu-toggle{width:44px;min-width:44px;padding:14px 0;border-bottom:0;justify-content:center}.submenu-toggle span{position:absolute;right:0;display:inline-grid;width:18px;place-items:center}.submenu-row .submenu-toggle span{position:static}.brand-link{font-family:Georgia,serif;font-size:1.55rem!important}.submenu{display:none;padding:4px 0 8px}.submenu.open{display:block}.submenu a{padding-left:18px;font-size:1rem;color:rgba(255,255,255,.78)}.langs{display:flex;gap:10px;margin-top:22px}.langs a{display:grid;place-items:center;width:52px;height:42px;min-height:42px;border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:0;font-size:1rem;line-height:1;font-weight:800;text-align:center}.langs a.active{background:#fff;color:var(--deep);box-shadow:inset 0 0 0 2px var(--accent)}
.home-screen{min-height:100svh;display:grid;align-items:stretch;justify-items:center;padding:max(18px,env(safe-area-inset-top)) clamp(18px,4vw,60px) max(18px,env(safe-area-inset-bottom))}.home-screen>div{width:100%;max-width:1188px;display:grid;grid-template-rows:auto 1fr auto;justify-items:center}.home-screen h1{margin:0;text-align:center;font:700 clamp(1.5rem,4vw,3.75rem)/.9 Inter,system-ui,sans-serif;text-transform:uppercase;text-shadow:0 2px 24px rgba(0,0,0,.32)}.home-screen .booking{grid-row:3;margin-bottom:2svh}.home-screen p{display:none}
.booking.rixos-booking{display:grid;grid-template-columns:1.15fr 1.2fr .7fr 78px;align-items:stretch;width:min(784px,100%);max-width:784px;border:0;border-radius:999px;overflow:visible;background:#080909;color:#fff;box-shadow:0 22px 65px rgba(0,0,0,.28)}.booking.sticky{position:sticky;top:0;z-index:15;width:min(784px,calc(100% - 144px));max-width:784px;margin:0 auto;border-radius:0 0 24px 24px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.booking-field{position:relative;display:grid;align-content:center;gap:4px;min-height:78px;padding:14px 22px;border-right:1px solid rgba(255,255,255,.34);background:transparent}.booking-label{color:#fff;font-size:.72rem!important;font-weight:900;letter-spacing:0;text-transform:uppercase}.booking-control{width:100%;min-height:24px;border:0;background:transparent;color:#fff;font:500 .86rem/1.2 inherit;text-align:left}.booking-control::placeholder{color:#7d7d7d}.booking-control:focus{outline:0}.booking select.native-select{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.booking-select{position:relative}.booking-select-button{width:100%;min-height:24px;padding:0 24px 0 0;border:0;background:transparent;color:#fff;font:500 .86rem/1.2 inherit;text-align:left;cursor:pointer}.booking-select-button:after{content:"";position:absolute;right:4px;top:8px;width:7px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.booking-select-menu{display:none;position:absolute;top:100%;left:0;z-index:50;width:100%;overflow:auto;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:0 0 18px 18px;background:#080909;box-shadow:0 18px 50px rgba(0,0,0,.35)}.booking-select.open .booking-select-menu{display:grid;gap:3px}.booking-select.drop-up .booking-select-menu{top:auto;bottom:100%;border-radius:18px 18px 0 0}.booking-select-menu button{width:100%;border:0;border-radius:10px;padding:10px 12px;background:transparent;color:#fff;font:700 .9rem/1.2 inherit;text-align:left;cursor:pointer}.booking-select-menu button:hover,.booking-select-menu button:focus-visible{background:#fff;color:#080909}.accommodation-menu .booking-select-menu button{display:grid;gap:2px;min-height:54px;align-content:center}.accommodation-menu .booking-select-menu small{font-size:.78rem;color:rgba(255,255,255,.68);font-weight:700}.accommodation-menu .booking-select-menu button:hover small,.accommodation-menu .booking-select-menu button:focus-visible small{color:#444}.date-display{display:block;padding:0;text-align:left;appearance:none;-webkit-appearance:none;cursor:pointer}.booking-submit{align-self:center;justify-self:end;width:50px;height:50px;min-width:50px;margin-right:14px;border:0;border-radius:50%;background:#9c9c9c;color:#050505;cursor:pointer;display:grid;place-items:center}.booking-submit span{width:15px;height:15px;border:2px solid currentColor;border-radius:50%;position:relative;display:block}.booking-submit span:after{content:"";position:absolute;width:8px;height:2px;background:currentColor;right:-7px;bottom:-4px;transform:rotate(45deg);border-radius:99px}.booking-submit:hover,.booking-submit:focus-visible{background:#fff}.calendar-popover{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;z-index:45;width:min(790px,94vw);padding:24px 40px 26px;background:#fff;color:#000;border:1px solid #e7e1d8;box-shadow:0 24px 70px rgba(0,0,0,.22);transform:translateX(-50%)}.booking.sticky .calendar-popover{top:calc(100% + 8px);bottom:auto}.date-range-field.open .calendar-popover{display:block}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:28px}.calendar-month{display:none}.calendar-month.visible{display:block}.calendar-month.visible+.calendar-month.visible{border-left:1px solid #ececec;padding-left:28px}.calendar-month h3{margin:0 0 18px;text-align:center;font:400 1.75rem/1.1 Inter,system-ui,sans-serif;color:#000}.calendar-month h3 strong{font-weight:900}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.calendar-weekdays span{padding:5px 5px 15px;text-align:center;color:#000;font-weight:900}.calendar-grid button{position:relative;z-index:1;width:50px;height:50px;min-height:50px;justify-self:center;border:0;border-radius:50%;padding:0;background:#fff;color:#000;font:800 .98rem/1 Inter,system-ui,sans-serif;cursor:pointer}.calendar-grid .blocked{color:#9b9b9b;background:#fff;text-decoration:none;cursor:not-allowed}.calendar-grid .muted{color:#aaa}.calendar-grid .available:hover{outline:1px solid #8f6e3e;background:#fff;color:#8f6e3e}.calendar-grid .in-range{border-radius:0;background:linear-gradient(#f3f0eb,#f3f0eb) center/100% 50px no-repeat;color:#000}.calendar-grid .range-start.in-range{background:linear-gradient(90deg,transparent 0 50%,#f3f0eb 50% 100%) center/100% 50px no-repeat}.calendar-grid .range-end.in-range{background:linear-gradient(90deg,#f3f0eb 0 50%,transparent 50% 100%) center/100% 50px no-repeat}.calendar-grid .selected{background:#9b7b4a;color:#fff;outline:0}.calendar-grid .selected.in-range{background:#9b7b4a}.calendar-grid .preview-range:not(.selected){background:linear-gradient(#f3f0eb,#f3f0eb) center/100% 50px no-repeat}.range-badge{position:absolute;z-index:60;padding:8px 12px;border-radius:4px;background:#fff;color:#000;font:900 .82rem/1 Inter,system-ui,sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.18);pointer-events:none}.range-badge[hidden]{display:none}.calendar-popover.has-error:after{content:attr(data-error);position:absolute;left:44px;right:44px;bottom:8px;color:#8b1e1e;font:800 .9rem/1.2 Inter,system-ui,sans-serif;text-align:center}.calendar-nav{position:absolute;top:18px;width:42px;height:42px;border:0;background:#fff;color:#000;font-size:2.1rem;line-height:1;cursor:pointer}.calendar-nav:disabled{opacity:.25;cursor:default}.calendar-prev{left:40px}.calendar-next{right:40px}.calendar-nav:hover,.calendar-nav:focus-visible{color:#8f6e3e}
.page-section{width:min(1180px,100%);margin:0 auto;padding:104px 22px 54px}.page-section.narrow{width:min(800px,100%)}.page-section h1{margin:0 0 24px;color:#3d3d3b;font:500 clamp(1.2rem,3.5vw,2.5rem)/1 Georgia,serif}.page-section p{font-size:1.08rem;line-height:1.7;color:var(--muted)}.sort-form.booking.rixos-booking{grid-template-columns:1fr;width:min(360px,100%);margin:0 0 26px;border-radius:999px;box-shadow:none}.sort-form .booking-field{min-height:74px;border-right:0}.sort-form select{width:100%;border:0;background:transparent;color:#fff;font:700 .95rem/1.2 inherit;appearance:none}.sort-form option{color:#111;background:#fff}.accommodation-list,.result-list{display:grid;gap:18px}.accommodation-card,.result-card{display:grid;grid-template-columns:minmax(220px,38%) 1fr;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:0 0 22px}.accommodation-card img,.result-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.button,.save,.panel-form button{display:inline-flex;margin-top:14px;border:0;border-radius:8px;padding:13px 18px;background:var(--deep);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}
.admin-messages{width:min(1180px,100%);margin:154px auto -78px;padding:0 22px}.admin-message{margin:0 0 10px!important;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink)!important;font-weight:900}.admin-message.error{border-color:#b91c1c;background:#fff1f1;color:#7f1d1d!important}.admin-message.success{border-color:#15803d;background:#f0fdf4;color:#14532d!important}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.price-grid article{border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff}.price-grid strong{display:block;font-size:2.2rem;color:var(--accent)}.rental-list{display:grid;gap:18px}.rental-card strong{display:block;margin:10px 0;color:var(--accent);font-size:1.25rem}.inline-reserve{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:14px}.inline-reserve label{display:grid;gap:7px;font-weight:800}.inline-reserve select{min-width:96px;border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;background:#fff}.inline-reserve button{border:0;border-radius:8px;padding:13px 18px;background:var(--deep);color:#fff;font-weight:800;cursor:pointer}.create-panel{margin:0 0 22px}.create-panel summary{list-style:none;width:max-content}.create-panel summary::-webkit-details-marker{display:none}.create-panel .panel-form{margin-top:14px}.admin-thumb{display:block;width:120px;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:8px}.gallery-grid{columns:4 220px;column-gap:12px}.gallery-grid a{break-inside:avoid;display:block;margin:0 0 12px}.gallery-grid img{width:100%;border-radius:8px;display:block}.detail-hero{width:100%;max-height:70svh;object-fit:cover;border-radius:8px;margin:0 0 26px}.detail-video{width:100%;max-height:70svh;margin:20px 0;border-radius:8px;background:#000}.detail-gallery{margin-top:28px}.lightbox{position:fixed;z-index:80;inset:0;display:none;align-items:center;justify-items:center;background:rgba(0,0,0,.86);padding:28px}.lightbox.open{display:grid}.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#080909;font:700 2rem/1 Inter,system-ui,sans-serif;cursor:pointer}.lightbox-close{top:24px;right:24px;width:46px;height:46px}.lightbox-prev,.lightbox-next{top:50%;width:58px;height:58px;transform:translateY(-50%)}.lightbox-prev{left:24px}.lightbox-next{right:24px}.copy-field{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;align-items:center}.copy-field button{border:0;border-radius:6px;padding:10px 12px;background:var(--deep);color:#fff;font-weight:800;cursor:pointer}.copy-field a{font-weight:800;color:var(--deep)}.panel-form{display:grid;gap:14px;padding:22px;border:1px solid var(--line);background:#fff;border-radius:8px}.panel-form label{display:grid;gap:7px}.panel-form input,.panel-form textarea,.panel-form select,td input,td textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;background:#fff}.login-form button{min-height:58px;justify-content:center;font-size:1.05rem}.text-editor label{border-top:1px solid var(--line);padding-top:16px}.text-editor small{color:var(--muted);font-weight:800;text-transform:uppercase}.text-actions{display:flex;gap:10px;flex-wrap:wrap}.location-section{padding-right:22px}.location-section h1,.location-copy{max-width:none}.location-content{display:grid;grid-template-columns:minmax(0,1fr) 20%;gap:28px;align-items:start}.location-image-rail{display:grid;gap:12px}.location-image-rail img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block}.map-frame{margin-top:28px;width:100%;height:min(656px,58svh);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.map-frame iframe{width:100%;height:100%;border:0}.danger{display:inline-flex;justify-content:center;border:0;border-radius:8px;padding:10px 12px;background:#8b1e1e;color:#fff;font-weight:800;cursor:pointer}.table-wrap{overflow:auto;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;min-width:920px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:#f0ede5}td textarea{min-height:92px}
@media(max-width:900px){.booking.rixos-booking{grid-template-columns:1fr 1fr;width:min(100%,calc(100% - 36px));border-radius:18px}.booking.sticky{width:min(100%,calc(100% - 92px));border-radius:0 0 18px 18px}.booking-submit{grid-column:1/-1;margin:14px auto}.booking-field:nth-child(2){border-right:0}.calendar-popover{left:50%;right:auto}.calendar-months{grid-template-columns:1fr}.calendar-month.visible+.calendar-month.visible{border-left:0;border-top:1px solid #ececec;padding:28px 0 0}.calendar-popover{overflow:auto;max-height:75vh}}
@media(max-width:760px){body.is-hero{background-attachment:scroll}.booking.rixos-booking{grid-template-columns:1fr;border-radius:18px}.booking-field{min-height:74px;border-right:0;border-bottom:1px solid rgba(255,255,255,.24)}.booking-submit{width:50px;height:50px;min-width:50px;min-height:50px;margin:12px auto;border-radius:50%;align-self:center;justify-self:center;place-items:center}.accommodation-card,.result-card{grid-template-columns:1fr}.page-section{padding-top:88px}.price-grid{grid-template-columns:1fr}.location-content{grid-template-columns:1fr}.location-image-rail{grid-template-columns:1fr 1fr}.calendar-popover{position:static;width:100%;margin-top:10px;box-shadow:none;transform:none;padding:24px 18px}.calendar-prev{left:18px}.calendar-next{right:18px}}
.booking-submit span{transform:translate(-3px,-2px)}
.calendar-popover{overflow:hidden}.calendar-months{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.calendar-month{min-width:0}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding-left:2px;padding-right:2px}.calendar-grid button{width:100%;height:44px;min-height:44px;max-width:100%;border-radius:0}.calendar-grid .selected{background:radial-gradient(circle at center,#9b7b4a 0 22px,transparent 22px);color:#fff}.calendar-grid .selected.in-range{background:radial-gradient(circle at center,#9b7b4a 0 22px,transparent 22px),linear-gradient(#f3f0eb,#f3f0eb) center/100% 44px no-repeat}.calendar-grid .range-start.in-range{background:radial-gradient(circle at center,#9b7b4a 0 22px,transparent 22px),linear-gradient(90deg,transparent 0 50%,#f3f0eb 50% 100%) center/100% 44px no-repeat}.calendar-grid .range-end.in-range{background:radial-gradient(circle at center,#9b7b4a 0 22px,transparent 22px),linear-gradient(90deg,#f3f0eb 0 50%,transparent 50% 100%) center/100% 44px no-repeat}.calendar-grid .in-range,.calendar-grid .preview-range:not(.selected){background-size:100% 44px}.calendar-grid .range-start.in-range,.calendar-grid .range-end.in-range{background-size:100% 44px}@media(max-width:900px){.calendar-popover{overflow:auto;max-height:75vh}.calendar-months{grid-template-columns:1fr}}
.sort-form{display:inline-flex;align-items:center;gap:10px;margin:0 0 24px;padding:8px 10px 8px 14px;border:1px solid #d9d2c7;border-radius:999px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.07)}.sort-form label{display:flex;align-items:center;gap:10px;color:#080909;font:900 .78rem/1 Inter,system-ui,sans-serif;text-transform:uppercase;white-space:nowrap}.sort-form select{min-width:176px;height:38px;border:1px solid #bdb4a6;border-radius:999px;padding:0 38px 0 14px;background:#080909;color:#fff;font:800 .86rem/1 Inter,system-ui,sans-serif;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 18px) 16px,calc(100% - 13px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.sort-form select:hover,.sort-form select:focus-visible{background-color:#242424;outline:2px solid #9b7b4a;outline-offset:2px}.sort-form option{background:#fff;color:#111}@media(max-width:520px){.sort-form{display:flex;width:100%;border-radius:18px}.sort-form label{width:100%;justify-content:space-between}.sort-form select{min-width:0;flex:1}}
.home-video{position:fixed;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;background:#111}.is-hero:before{content:"";position:fixed;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,13,13,.78),rgba(7,13,13,.18) 58%,rgba(7,13,13,.42));pointer-events:none}body.is-authenticated .burger{display:grid}body.is-authenticated .shade{display:none}body.is-authenticated .drawer{width:300px;transform:translateX(-100%)}body.is-authenticated.menu-open .drawer{transform:none}body.is-authenticated main{margin-left:0;transition:margin-left .24s ease}body.is-authenticated.menu-open main{margin-left:300px}.name-input{min-width:220px;font-size:1.04rem;font-weight:800}.compact-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.deposit-note{margin:.35rem 0 0!important;color:#4f5d55!important;font-weight:900}.row-actions{display:flex;gap:8px;align-items:center}.row-actions .save,.row-actions .danger{width:92px;min-height:42px;margin:0;align-items:center}.panel-form textarea[name=description],td textarea[name=description]{min-height:150px}.drop-zone{position:relative;display:grid!important;place-items:center;min-height:96px;border:2px dashed #bdb4a6;border-radius:8px;background:#fbfaf5;color:#4f5d55;font-weight:900;text-align:center;cursor:pointer}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone.dragging{border-color:var(--accent);background:#fff8e8}.small-drop{min-height:58px;font-size:.86rem}.paid-light{display:inline-block;width:18px;height:18px;border-radius:50%;background:#b9b1a4;box-shadow:0 0 0 3px rgba(0,0,0,.05)}.paid-light.paid{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18)}.paid-light.partial{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.22)}.reservation-table{min-width:1800px}.action-menu,.inline-action{display:inline-block;vertical-align:top;margin:0 4px 6px 0}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:var(--deep);color:#fff;font-weight:900;text-decoration:none;cursor:pointer;list-style:none}.danger-icon{background:#8b1e1e}.action-menu summary::-webkit-details-marker{display:none}.action-menu form{position:absolute;z-index:20;display:grid;gap:8px;width:260px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.18)}.action-menu form button{border:0;border-radius:8px;padding:10px 12px;background:var(--deep);color:#fff;font-weight:800;cursor:pointer}.action-menu textarea{min-height:90px}@media(max-width:900px){body.is-authenticated .drawer{width:260px}body.is-authenticated.menu-open main{margin-left:260px}}@media(max-width:760px){body.is-authenticated .drawer{position:fixed;inset:0 auto 0 0;width:min(360px,88vw);height:auto;padding:26px 26px 30px}body.is-authenticated.menu-open main{margin-left:0}}

.calendar-grid button{overflow:hidden;background:#fff}
.calendar-grid button::before,.calendar-grid button::after{content:"";position:absolute;pointer-events:none}
.calendar-grid button::before{z-index:-2;inset:0;background:transparent}
.calendar-grid button::after{z-index:-1;top:50%;left:50%;width:44px;height:44px;border-radius:50%;background:transparent;transform:translate(-50%,-50%)}
.calendar-grid .in-range,.calendar-grid .preview-range:not(.selected){background:#fff;color:#000}
.calendar-grid .in-range::before,.calendar-grid .preview-range:not(.selected)::before{background:#f3f0eb}
.calendar-grid .range-start.in-range::before{left:50%}
.calendar-grid .range-end.in-range::before{right:50%}
.calendar-grid .selected,.calendar-grid .selected.in-range{background:#fff;color:#fff;outline:0}
.calendar-grid .selected::after{background:#9b7b4a}
.calendar-grid .available:hover,.calendar-grid .available:focus-visible{background:#fff;outline:0;color:#8f6e3e}
.calendar-grid .blocked.checkout-open{color:#000;cursor:pointer}
.calendar-grid .blocked.checkout-open:hover,.calendar-grid .blocked.checkout-open:focus-visible{background:#fff;outline:0;color:#8f6e3e}
.calendar-grid .checkout-blocked{color:#9b9b9b!important;background:#fff!important;text-decoration:none;cursor:not-allowed}
.calendar-grid .checkout-blocked:hover,.calendar-grid .checkout-blocked:focus-visible{color:#9b9b9b!important;outline:0}
.calendar-popover.selecting-checkout .calendar-grid .blocked.checkout-available.checkout-open{color:#000!important;cursor:pointer}
.calendar-popover.selecting-checkout .calendar-grid .blocked.checkout-available.checkout-open:hover,.calendar-popover.selecting-checkout .calendar-grid .blocked.checkout-available.checkout-open:focus-visible{background:#fff;outline:0;color:#8f6e3e!important}
.calendar-grid .selected:hover,.calendar-grid .selected:focus-visible{color:#fff}

.upload-progress{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #d9d2c7;border-radius:8px;background:#fff;color:#18201d;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.upload-progress[hidden]{display:none}
.upload-progress-spinner{width:34px;height:34px;flex:0 0 34px;border:4px solid #e8e2d6;border-top-color:var(--accent);border-radius:50%;animation:upload-spin .8s linear infinite}
.upload-progress-body{display:grid;gap:7px;min-width:0;flex:1}
.upload-progress strong{font-size:.96rem;line-height:1.2}
.upload-progress progress{width:100%;height:12px;overflow:hidden;border:0;border-radius:999px;background:#eee8dc}
.upload-progress progress::-webkit-progress-bar{background:#eee8dc;border-radius:999px}
.upload-progress progress::-webkit-progress-value{background:var(--accent);border-radius:999px}
.upload-progress progress::-moz-progress-bar{background:var(--accent);border-radius:999px}
.upload-progress span{color:#4f5d55;font-weight:800;font-size:.88rem}
.panel-form.is-uploading .drop-zone{pointer-events:none;opacity:.65}
.panel-form.is-uploading button[type=submit]{opacity:.65;cursor:wait}
@keyframes upload-spin{to{transform:rotate(360deg)}}

.is-hero:before{background:linear-gradient(180deg,rgba(7,13,13,.78),rgba(7,13,13,.18) 23%,rgba(7,13,13,0) 50%)}
.action-menu[open] form{position:fixed;z-index:90;top:50%;left:50%;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 56px);overflow:auto;transform:translate(-50%,-50%);padding:22px;gap:12px;border-radius:8px}
.actions-list .action-menu[open] form{position:fixed;top:50%;left:50%;width:min(520px,calc(100vw - 32px));transform:translate(-50%,-50%)}
.action-menu[open]:before{content:"";position:fixed;z-index:89;inset:0;background:rgba(0,0,0,.28)}
.action-menu[open] form.keep-deposit-form{width:min(680px,calc(100vw - 32px));padding:58px 26px 24px}
.keep-deposit-form textarea[name=deposit_keep_reason]{min-height:240px;resize:vertical}
.keep-deposit-form label{display:grid;gap:10px;font-weight:900}
.reservations-accommodations-page .action-menu[open] form{width:min(820px,calc(100vw - 48px));max-height:none;overflow:visible;padding:58px 34px 30px;gap:16px}
.actions-list .action-menu[open] form.refund-amount-form,
.reservations-accommodations-page .actions-list .action-menu[open] form.refund-amount-form{box-sizing:border-box;width:min(440px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px);max-height:calc(100vh - 56px);overflow:auto;padding:58px 24px 24px!important;gap:12px;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch}
.refund-amount-form>*{box-sizing:border-box;max-width:100%;min-width:0}
.refund-amount-form label{display:grid;gap:8px;max-width:100%;min-width:0;font-weight:900}
.refund-amount-form input[name=refund_amount],
.refund-amount-form textarea[name=refund_reason]{box-sizing:border-box;display:block;width:100%!important;max-width:100%;min-width:0}
.refund-amount-form textarea[name=refund_reason]{min-height:120px;resize:vertical}
.refund-amount-form [data-refund-max-warning][hidden]{display:none!important}
.reservations-accommodations-page .action-menu[open] form.edit-reservation-form{grid-template-columns:repeat(3,minmax(190px,1fr));justify-content:stretch;align-items:start;width:min(1180px,calc(100vw - 24px));max-height:none;overflow:visible;padding:54px 16px 24px}
.edit-reservation-form label{display:grid;gap:8px;width:auto;min-width:0;font-weight:900}
.edit-reservation-form input[type=date]{width:100%;min-width:0}
.edit-reservation-form button[type=submit]{justify-self:start;min-width:120px}
.edit-reservation-form .edit-price-difference,.edit-reservation-form .adjustment-invoice-option,.edit-reservation-form .manual-adjustment-amount{grid-column:1/-1}
.edit-reservation-form .manual-adjustment-amount .checkbox-line{display:flex;align-items:center;gap:8px}
.edit-reservation-form .manual-adjustment-amount input[type=checkbox]{width:auto!important}
.edit-reservation-form .manual-adjustment-amount{display:grid!important;grid-template-columns:minmax(0,420px);justify-content:start;align-items:start;gap:8px}
.edit-calendar-field{position:relative;display:grid;gap:8px;min-width:0;font-weight:900}
.edit-calendar-display{width:100%;min-height:42px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.edit-calendar-field.open .edit-calendar-popover{display:block}
.edit-calendar-popover{position:fixed;top:50%;left:50%;bottom:auto;width:min(790px,calc(100vw - 48px));max-height:min(82vh,720px);padding:24px 40px 26px;overflow:auto;transform:translate(-50%,-50%);z-index:140}
.edit-calendar-popover .calendar-grid button.edit-calendar-disabled{color:#9b9b9b!important;cursor:not-allowed!important}
.reservations-accommodations-page .action-menu[open] form.keep-deposit-form{width:min(980px,calc(100vw - 48px));padding:58px 34px 30px}
.reservations-accommodations-page .keep-deposit-form textarea[name=deposit_keep_reason]{min-height:300px}
.attachment-upload-line{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;justify-items:start;width:100%;max-width:100%;min-width:0;margin:0;color:var(--deep);font-weight:900;overflow:hidden}
.attachment-upload-line input{display:block;justify-self:start;width:168px;max-width:100%;min-width:0;padding:0;border:0;background:transparent;color:transparent;font:inherit;overflow:hidden}
.attachment-upload-line input::file-selector-button{color:var(--ink);font:inherit}
.attachment-upload-line input::-webkit-file-upload-button{color:var(--ink);font:inherit}
.reservations-accommodations-page .action-menu[open] form button.modal-close{position:absolute;top:14px;right:14px}
.text-button{width:auto;min-width:max-content;padding:0 14px}
.icon-button:disabled,.icon-button.deposit-disabled{background:#8f9591;color:#fff;opacity:.72;cursor:default}
.action-menu form button:disabled{opacity:.72;cursor:wait}
.button-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:button-spin .7s linear infinite}
@keyframes button-spin{to{transform:rotate(360deg)}}
.success-text{color:#15803d;font-weight:900}
.action-menu[open] form.refund-amount-form{box-sizing:border-box;width:min(400px,calc(100vw - 56px))!important;max-width:calc(100vw - 56px)!important;padding:58px 24px 24px!important;grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important;align-items:start!important;overflow:auto!important}
.refund-amount-form strong,.refund-amount-form small,.refund-amount-form label,.refund-amount-form input[name=refund_amount],.refund-amount-form textarea[name=refund_reason],.refund-amount-form [data-refund-max-warning],.refund-amount-form button[type=submit]{box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0!important;justify-self:stretch;overflow-wrap:anywhere}
.refund-amount-form textarea[name=refund_reason]{display:block;resize:vertical}
.field-error[hidden],.refund-amount-form [hidden]{display:none!important}
.action-menu[open] form.refund-amount-form{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;width:440px!important;max-width:calc(100vw - 48px)!important;padding:58px 24px 24px!important;gap:12px!important;overflow:auto!important}
.refund-amount-form .refund-reason-field{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;align-self:stretch!important}
.refund-amount-form .refund-reason-label{display:flex!important;flex-direction:column!important;gap:8px!important;width:auto!important;max-width:none!important;align-self:stretch!important}
.refund-amount-form input[name=refund_amount],.refund-amount-form textarea[name=refund_reason],.refund-amount-form button[type=submit]{box-sizing:border-box!important;width:auto!important;max-width:none!important;min-width:0!important;align-self:stretch!important;margin-left:0!important;margin-right:0!important}
.refund-amount-form textarea[name=refund_reason]{min-height:120px!important;resize:vertical!important}
.refund-amount-form [data-refund-max-warning][hidden],.field-error[hidden]{display:none!important}
.refund-once-message{box-sizing:border-box;width:100%;margin:0!important;padding:12px 14px;border:1px solid #eab308;border-radius:6px;background:#fffbeb;color:#713f12!important;font-weight:900;line-height:1.35}
.reservations-rentals-page .action-menu[open] form.refund-amount-form{width:560px!important;max-width:calc(100vw - 48px)!important}
.reservations-rentals-page .action-menu[open] form.edit-rental-reservation-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));align-items:start;box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:58px 28px 26px;gap:16px}
.edit-rental-reservation-form .modal-close{position:absolute;top:14px;right:14px}
.edit-rental-reservation-form .rental-edit-items{grid-column:1/-1;display:grid;gap:10px}
.edit-rental-reservation-form .edit-price-difference,.edit-rental-reservation-form .rental-adjustment-invoice-option{grid-column:1/-1}
.edit-rental-reservation-form .rental-adjustment-invoice-option .checkbox-line{display:flex;align-items:center;gap:8px}
.edit-rental-reservation-form .rental-adjustment-invoice-option input{width:auto!important}
.edit-rental-reservation-form .rental-edit-item{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:end;gap:12px}
.edit-rental-reservation-form .rental-edit-item strong{display:block;font-size:.95rem}
.edit-rental-reservation-form button[type=submit]{justify-self:start}
.reservations-rentals-page .action-menu[open] form.rental-keep-deposit-form{display:grid;box-sizing:border-box;width:min(760px,calc(100vw - 48px));padding:58px 34px 30px;gap:14px}
.rental-keep-deposit-form label{display:grid!important;gap:10px!important;width:100%;font-weight:900}
.rental-keep-deposit-form textarea[name=deposit_keep_reason]{box-sizing:border-box;width:100%;min-height:300px;resize:vertical}
.rental-keep-deposit-form button[type=submit]{box-sizing:border-box;width:100%;justify-self:stretch}
.action-status{display:inline-flex;align-items:center;justify-content:center;min-width:102px;min-height:34px;padding:0 10px}
.sort-link{display:block;color:#080909;text-decoration:none;font-weight:900}
.sort-link.active{color:#8f6e3e}
.table-filter-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.table-filter-form label{display:grid;gap:6px;font-weight:900}
.table-filter-form input{border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;background:#fff}
.table-filter-form button,.table-filter-form .button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:82px;height:42px;min-height:42px;margin:0;padding:0 18px;line-height:1}
.payment-filter-options{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:42px;margin:0;padding:0 4px;border:0}
.payment-filter-options label{display:flex;grid-template-columns:none;align-items:center;gap:6px;margin:0;color:#4f5d55;font-weight:900;white-space:nowrap}
.payment-filter-options input{width:auto;margin:0;padding:0}
.icon-button.disabled-action,.icon-button.disabled-action:hover,.icon-button.disabled-action:focus-visible{background:#9ca3af;color:#fff;opacity:1;cursor:not-allowed}
.reservation-table tfoot th{background:#e6f0e8;font-weight:900}
.bulk-targets{grid-column:1/-1;display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfaf5}
.bulk-targets>strong,.bulk-ungrouped>strong{font-size:.82rem;text-transform:uppercase;color:#4f5d55}
.bulk-group,.bulk-ungrouped{display:grid;gap:7px}
.bulk-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;font-weight:800}
.bulk-check input{width:auto!important}
.bulk-group-name{font-size:1rem}
.bulk-show{justify-self:start;margin:0 0 0 28px!important;border:0!important;background:transparent!important;color:var(--deep)!important;padding:0!important;font-weight:900!important;text-align:left;cursor:pointer}
.bulk-group-items{display:grid;gap:7px;margin-left:28px}
.bulk-group-items[hidden]{display:none}
.bulk-accommodation{font-size:.95rem}
.table-wrap{max-width:100%;overflow-x:auto}
.reservation-table{width:max-content;min-width:1900px}
.reservation-table th,.reservation-table td{white-space:normal}
.reservation-table .nowrap{white-space:nowrap}
.reservation-table .actions-cell{white-space:nowrap;min-width:520px}
.actions-list{display:flex;align-items:flex-start;gap:6px}
.actions-list .action-menu,.actions-list .inline-action{display:inline-flex;margin:0}
.actions-list .action-menu{position:relative}
.icon-button.text-button{width:auto;min-width:74px;height:34px;padding:0 10px;border-radius:6px;font-size:.76rem;line-height:1.05;white-space:nowrap}
.actions-list .action-menu form{top:100%;left:0}
.rentals-page{padding-bottom:156px}
.rentals-qr-page{display:grid;justify-items:center;text-align:center}.rentals-qr-link{display:block;width:min(420px,100%);padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.rentals-qr-link img{display:block;width:100%;height:auto}.rentals-qr-url{overflow-wrap:anywhere;color:var(--muted);font-weight:800}
.booking.rixos-booking.rental-date-form{position:fixed;left:50%;right:auto;bottom:max(18px,env(safe-area-inset-bottom));z-index:35;grid-template-columns:minmax(150px,210px) max-content;justify-content:space-between;width:min(470px,calc(100% - 44px));max-width:470px;margin:0;padding:12px 12px 12px 24px;gap:8px;overflow:visible;transform:translateX(-50%)}
.booking.rixos-booking.rental-filter-form{position:relative;display:grid;grid-template-columns:185px 150px max-content;justify-content:start;width:max-content;max-width:100%;margin:22px 0 26px;padding:12px 12px 12px 18px;gap:8px;background:#23231f;color:#fff;overflow:visible}
.rental-date-form .booking-field{min-height:50px;padding:0 10px 0 4px}
.rental-filter-form .booking-field{min-height:50px;padding:0 10px 0 4px}
.rental-date-form .booking-field:first-child{border-right:1px solid rgba(255,255,255,.34)}
.rental-filter-form .booking-field:first-child{border-right:1px solid rgba(255,255,255,.34)}
.rental-filter-form .booking-field:nth-child(2){border-right:1px solid rgba(255,255,255,.34)}
.rental-filter-label{display:flex;align-items:center;gap:7px;color:#fff}
.rental-filter-label svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.rental-filter-select{width:100%;border:0;padding:0 0 0 22px;background:transparent;color:#fff;font:900 1rem/1.1 Inter,system-ui,sans-serif;appearance:none;cursor:pointer}
.rental-filter-select option{background:#23231f;color:#fff}
.rental-date-form .rental-date-field.open .calendar-popover{display:block}
.rental-filter-form .rental-date-field.open .calendar-popover{display:block}
.rental-date-form .rental-calendar-popover{position:absolute;top:auto;bottom:calc(100% + 14px);left:0;transform:none}
.rental-filter-form .rental-calendar-popover{position:absolute;top:calc(100% + 14px);right:auto;left:0;transform:none}
.rental-filter-form .rental-date-field.open .rental-calendar-popover{position:fixed;top:50%;right:auto;bottom:auto;left:50%;z-index:140;width:min(790px,calc(100vw - 44px));max-height:min(82vh,720px);overflow:auto;transform:translate(-50%,-50%)}
.rental-date-display{padding:0;cursor:pointer}
.booking-submit.text-submit{width:auto;min-width:max-content;height:50px;margin:0;border-radius:999px;padding:0 18px;font:900 .78rem/1 Inter,system-ui,sans-serif;text-transform:uppercase;white-space:nowrap}
.rental-date-form .booking-submit.text-submit{background:#fff;color:#050505}
.rental-filter-form .booking-submit.text-submit{padding:0 14px;background:#fff;color:#050505}
.rental-cart-form{display:grid;gap:18px}
.rental-cart-message{position:fixed;z-index:150;top:50%;left:50%;width:max-content;max-width:calc(100vw - 44px);margin:0;padding:14px 18px;border-radius:8px;background:#e8f6ee;color:#15803d;font-weight:900;text-align:center;box-shadow:0 18px 55px rgba(0,0,0,.22);transform:translate(-50%,-50%);pointer-events:none}
.rental-floating-cart{position:fixed;z-index:120;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:grid;place-items:center;width:50px;height:50px;border-radius:999px;background:#23231f;color:#fff;text-decoration:none;box-shadow:0 14px 36px rgba(0,0,0,.24)}
.rental-floating-cart-icon{position:relative;width:27px;height:24px;border:0}
.rental-floating-cart-icon:before{content:"";position:absolute;left:1px;top:2px;width:7px;height:7px;border-top:2.5px solid currentColor;border-left:2.5px solid currentColor;border-radius:2px 0 0 0;transform:skewX(-18deg)}
.rental-floating-cart-icon:after{content:"";position:absolute;left:6px;top:8px;width:18px;height:10px;border:2.5px solid currentColor;border-top-width:3px;border-radius:1px 1px 4px 4px;transform:skewX(-10deg);box-shadow:-1px 8px 0 -1px currentColor}
.rental-floating-cart-icon{background:radial-gradient(circle,currentColor 0 2.8px,transparent 3px) 8px 21px/8px 6px no-repeat,radial-gradient(circle,currentColor 0 2.8px,transparent 3px) 21px 21px/8px 6px no-repeat}
.rental-floating-cart-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:22px;height:22px;border:2px solid #fff;border-radius:999px;padding:0 5px;background:#8b1e1e;color:#fff;font:900 .78rem/1 Inter,system-ui,sans-serif}
.rental-cart-submit{justify-self:end}
.rental-select{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px}
.rental-select input{width:auto!important}
.rental-overview{margin-bottom:18px}
.rental-edit-list{display:grid;gap:12px;margin-bottom:18px}
.rental-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 38px;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.rental-edit-summary h2{margin:0 0 6px;font-size:1.05rem}.rental-edit-summary p{margin:.2rem 0}
.rental-edit-row label{display:grid!important;gap:6px;margin:0!important;color:#4f5d55;font-size:.84rem;font-weight:900}.rental-edit-row input{width:100%;min-height:42px}
.rental-delete-item{width:34px;height:34px;border:0;border-radius:6px;background:transparent url("/static/reservations/images/mail-trash-transparent.png") center/18px 18px no-repeat;cursor:pointer;opacity:.68}
.rental-delete-item:hover,.rental-delete-item:focus-visible{background-color:#f1f1ed;opacity:1;outline:0}
.company-toggle{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px}
.company-toggle input{width:auto!important}
.terms-toggle{align-items:center!important}
.terms-toggle span{display:flex;align-items:center;gap:4px;flex-wrap:wrap;line-height:1.35}
.terms-text-link{color:var(--deep);font-weight:900;text-decoration:underline;text-underline-offset:2px}
.terms-toggle{margin-top:0!important}
.phone-field{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);gap:14px}
.field-error{display:block;color:#8b1e1e;font-size:.86rem;font-weight:900}
.text-link-button{border:0;padding:0;background:transparent;color:var(--deep);font:inherit;font-size:.86rem;font-weight:900;text-decoration:underline;cursor:pointer}
.deposit-kept-panel p{margin:0;white-space:normal}
.form-warning{margin:0 0 16px!important;padding:12px 14px;border-left:4px solid #8b1e1e;background:#fff5f5;color:#8b1e1e!important;font-weight:900}
.terms-panel{position:relative;max-height:88vh;overflow:auto;padding:24px;border-radius:8px;background:#fff}
.terms-panel h2,.terms-panel h3{color:#3d3d3b}
.terms-panel h2{margin:0 48px 18px 0}
.terms-panel h3{margin:18px 0 6px;font:900 1rem/1.2 Inter,system-ui,sans-serif}
.company-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfaf5}
.company-fields[hidden]{display:none}
.rental-period-fieldset,.weekday-fieldset{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfaf5}
.rental-period-fieldset{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.rental-period-fieldset legend,.weekday-fieldset legend{font-weight:900}
.weekday-fieldset,.weekday-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}
.weekday-fieldset label,.weekday-grid label{display:flex!important;align-items:center;gap:6px;font-weight:800}
.weekday-fieldset input,.weekday-grid input{width:auto!important}
.rental-create-form{max-width:760px}.rental-create-form .weekday-fieldset{grid-template-columns:1fr;align-content:start}.rental-create-form .weekday-fieldset label{justify-content:flex-start;min-height:28px}.rental-create-form .weekday-fieldset input{flex:0 0 auto}
.rental-period-inputs{display:grid;gap:8px;min-width:180px}
.rental-period-inputs label{display:grid;gap:4px;font-size:.82rem;font-weight:900}
.rental-name-col{min-width:220px}
.rental-type-col{min-width:120px}
.rental-type-col select{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;background:#fff}
.rental-price-col{min-width:150px}
.rental-vat-col{min-width:120px}
.rental-deposit-col{min-width:150px}
.rental-ical-col{min-width:420px}
.rental-ical-field{grid-template-columns:minmax(240px,1fr) auto auto}
.rental-ical-field button,.rental-ical-field .button{align-items:center;justify-content:center;min-height:40px;margin-top:0;padding:10px 12px;line-height:1;color:#fff}
.inventory-edit-button{display:block;margin-top:8px}
.inventory-panel{width:min(820px,94vw)}
.inventory-calendar-panel{width:min(860px,94vw)}
.inventory-calendar-form{display:grid;gap:14px;margin:0 0 20px}
.inventory-calendar-dates{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}
.inventory-calendar-dates label,.inventory-calendar-editor label{display:grid;gap:7px;font-weight:900}
.inventory-calendar-editor{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfaf5}
.inventory-calendar-editor[hidden]{display:none}
.inventory-calendar-panel h3{margin:8px 0 0;color:#3d3d3b;font:900 1rem/1.2 Inter,system-ui,sans-serif}
.inventory-table{min-width:0;width:100%}
.inventory-table input[readonly]{background:#f7f5ef;color:#4f5d55}
.rentals-config-page .row-actions .save,.rentals-config-page .row-actions .danger{width:auto;min-height:40px;margin:0;padding:10px 12px;line-height:1;border-radius:6px}
.reservation-table input[readonly],td input[readonly]{background:#f7f5ef;color:#4f5d55}
.delete-gallery-selected,.gallery-save-order{display:flex;align-items:center;justify-content:center;width:220px;margin:0;text-align:center}
.mobile-preview-text,.mobile-read-more-button{display:none}
.mobile-read-more-button{border:0;padding:0;background:transparent;color:var(--deep);font:900 .95rem/1.35 Inter,system-ui,sans-serif;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.rental-card-description{position:relative}
.gallery-save-order{background:#080909!important;color:#fff!important}
body.is-hero{overflow:hidden}
.home-scroll{height:100vh;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth}
.home-panel{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}
.media-panel{position:relative;display:grid;place-items:center;overflow:hidden;background:#080909}
.home-screen{position:relative;overflow:hidden}.home-screen-media{position:absolute;inset:0;z-index:-2;overflow:hidden}.home-panel-video,.home-panel-image,.home-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:none}.home-orientation-media.portrait-media{display:none}@media(orientation:portrait){.home-orientation-media.landscape-media{display:none}.home-orientation-media.portrait-media{display:block}}
.home-slideshow img{opacity:0;transition:opacity 1s ease}
.home-slideshow img.active{opacity:1}
.home-slideshow-control{position:absolute;z-index:3;top:0;bottom:0;width:min(22vw,220px);border:0;background:transparent;color:rgba(255,255,255,.62);cursor:pointer;transition:color .2s ease;-webkit-tap-highlight-color:transparent}
.home-slideshow-control:before{content:"";position:absolute;top:50%;width:42px;height:42px;border:solid currentColor;border-width:0 5px 5px 0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.36))}
.home-slideshow-prev{left:0}
.home-slideshow-next{right:0}
.home-slideshow-prev:before{left:clamp(28px,6vw,82px);transform:translateY(-50%) rotate(135deg)}
.home-slideshow-next:before{right:clamp(28px,6vw,82px);transform:translateY(-50%) rotate(-45deg)}
.home-slideshow-control:hover,.home-slideshow-control:active,.home-slideshow-control:focus-visible{background:transparent;color:rgba(255,255,255,.9);outline:0}
@media(max-width:760px){.home-slideshow-control{width:28vw}.home-slideshow-control:before{width:30px;height:30px;border-width:0 4px 4px 0}.home-slideshow-prev:before{left:22px}.home-slideshow-next:before{right:22px}}
.image-pick-trigger,.link-button{border:0;background:transparent;color:var(--deep);font:900 .9rem/1 Inter,system-ui,sans-serif;text-decoration:underline;cursor:pointer;padding:0}
.account-toolbar{margin:0 0 18px}
.gallery-manage-toolbar{padding-top:18px}
.account-toolbar .button{margin-top:0}
.center-button{align-items:center;justify-content:center;text-align:center}
.admin-preview{display:block;width:120px;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.admin-preview-large{display:block;width:min(520px,100%);aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.hidden-gallery-input{display:none}
.admin-modal{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.62)}
.admin-modal[hidden]{display:none}
.admin-modal-panel{position:relative;display:grid;gap:18px;width:min(980px,94vw);max-height:88vh;overflow:auto;padding:22px;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.admin-modal-panel h2{margin:0;padding-right:52px}
.modal-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;padding:0;background:var(--deep);color:#fff;font:900 1.2rem/1 Inter,system-ui,sans-serif;cursor:pointer}
.modal-close,.lightbox-close{display:grid!important;align-items:center!important;justify-items:center!important;place-items:center!important;padding:0!important;text-align:center!important;line-height:1!important}
.modal-close{font-size:1.35rem!important}
.lightbox-close{font-size:2rem!important}
.image-choice-grid,.gallery-manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px;margin:0}
.image-choice-grid button{border:0;padding:0;background:transparent;cursor:pointer}
.image-choice-grid img,.gallery-manage-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.gallery-manage-grid label{display:grid;gap:6px;font-weight:800}
.gallery-manage-grid input{width:auto!important}
.access-checkboxes{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:16px}
.access-checkboxes legend{font-weight:900}
.access-checkboxes label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px}
.access-checkboxes input{width:auto!important}
.gallery-manage-grid [draggable=true]{cursor:grab}
.gallery-manage-grid [draggable=true].dragging{opacity:.45}
.delete-gallery-selected{margin:0}
.gallery-save-order+.drop-zone{margin-top:8px}
.homepage-row-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.homepage-row-title h2{margin:0}.homepage-delete-snap{flex:0 0 auto}.confirm-panel{width:min(420px,92vw)}
.account-tabs{display:grid;grid-template-columns:max-content max-content 1fr;align-items:start;gap:0 8px}.account-tabs>input{position:absolute;opacity:0;pointer-events:none}.account-tabs>label{grid-row:1;margin:0 0 18px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;padding:12px 16px;background:#f0ede5;color:var(--ink);font-weight:900;cursor:pointer}.account-tabs>input:checked+label{background:#fff;color:var(--deep)}.account-tab-panel{display:none;grid-column:1/-1;grid-row:2}.account-tabs>#gallery-tab-main:checked~.main-gallery-panel,.account-tabs>#gallery-tab-home:checked~.homepage-gallery-panel{display:block}.homepage-gallery-form{gap:18px}.homepage-gallery-row{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;padding:18px;background:#fff}.homepage-gallery-row h2{margin:0;color:#3d3d3b;font:900 1.15rem/1.2 Inter,system-ui,sans-serif}.homepage-orientation-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}.homepage-orientation-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfaf5}.homepage-orientation-card h3{margin:0;color:#3d3d3b;font:900 .95rem/1.2 Inter,system-ui,sans-serif}.homepage-media-control[hidden]{display:none!important}.homepage-admin-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:#080909}.homepage-thumb-strip{display:flex;gap:6px;min-height:48px;overflow:auto;margin:0;border:0;padding:0;background:transparent;cursor:pointer;text-align:left}.homepage-thumb-strip img{width:64px;height:48px;object-fit:cover;border-radius:4px}.homepage-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.homepage-gallery-actions{display:flex;gap:10px;flex-wrap:wrap}.homepage-gallery-actions .button,.homepage-gallery-actions .save{margin-top:0}@media(max-width:900px){.account-tabs{grid-template-columns:1fr 1fr}.homepage-orientation-grid{grid-template-columns:1fr}}
.descriptions-panel{width:min(1080px,94vw)}
.descriptions-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.descriptions-grid label{display:grid;gap:7px;font-weight:800}
.descriptions-grid textarea{min-height:260px}
.modal-save-button{justify-self:end}
.message-token-hint{margin:-6px 0 0!important;color:#4f5d55!important;font-size:.95rem!important;font-weight:900;line-height:1.35!important}
.modal-save-actions{display:flex;justify-content:flex-end}
.modal-save-actions .save{margin:0}
.confirm-panel{width:min(440px,92vw)}
.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.delete-confirm-panel{width:min(960px,calc(100vw - 48px));max-height:none;overflow:visible;padding:44px;gap:30px}
.delete-confirm-panel h2{margin:0;padding-right:0;color:#3d3d3b;font:800 1.25rem/1.25 Inter,system-ui,sans-serif}
.delete-confirm-panel .confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}
.delete-confirm-panel .confirm-actions button{align-items:center;justify-content:center;min-height:54px;margin:0;font-size:1rem}
@media(max-width:760px){.descriptions-grid{grid-template-columns:1fr}}
.site-logo-top{position:absolute;z-index:34;top:max(16px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;justify-content:center;width:min(420px,72vw);height:120px;padding:0;transform:translateX(-50%);text-decoration:none}
.site-logo-top img{display:block;width:100%;max-height:120px;object-fit:contain;filter:drop-shadow(0 2px 12px rgba(0,0,0,.28))}
.is-hero .site-logo-top{display:none}
.brand-link{justify-content:flex-start;min-height:54px!important;padding:8px 28px 12px 0!important}
.brand-link img{display:block;width:min(284px,100%);max-height:59px;object-fit:contain;object-position:left center}
.home-logo-title{display:flex!important;align-items:center;justify-content:center;width:min(420px,72vw);height:120px;margin:0 auto!important;text-shadow:none!important}
.home-logo-title img{display:block;width:100%;max-height:120px;object-fit:contain;filter:drop-shadow(0 4px 20px rgba(0,0,0,.32))}
.home-hof-title{align-self:center;justify-self:center;width:100vw;margin:0!important;padding:0 2vw;color:#fff;font:900 clamp(2.1rem,9vw,10rem)/.9 Inter,system-ui,sans-serif!important;text-align:center;text-transform:uppercase;white-space:nowrap;text-shadow:0 4px 28px rgba(0,0,0,.45)}
body.is-authenticated.menu-open .site-logo-top{left:calc(300px + (100vw - 300px)/2)}
@media(max-width:900px){body.is-authenticated.menu-open .site-logo-top{left:calc(260px + (100vw - 260px)/2);width:min(210px,38vw)}}
body:not(.is-hero) .page-section{padding-top:156px}
@media(max-width:760px){.site-logo-top{top:max(6px,calc(env(safe-area-inset-top) + 6px));width:min(240px,58vw);height:72px}.site-logo-top img{max-height:72px}body.is-authenticated.menu-open .site-logo-top{display:none}body:not(.is-hero) .page-section{padding-top:104px}.home-screen{position:relative}.home-screen>div{position:static}.home-logo-title{position:absolute;top:max(6px,calc(env(safe-area-inset-top) + 6px));left:50%;width:min(240px,58vw);height:72px;transform:translateX(-50%)}.home-logo-title img{max-height:72px}}
.submenu{padding:2px 0 5px}
.submenu a{min-height:34px;padding-top:6px;padding-bottom:6px;border-bottom:0}
.lightbox img{position:relative;z-index:1;pointer-events:none}
.lightbox button{z-index:2}
.page-search-bottom{display:flex;justify-content:center;padding:0 22px 54px}
.page-search-bottom .booking.rixos-booking{margin:0 auto}
.description-book-link{font-weight:900;color:var(--deep)}
.accommodations-config-page{width:max-content;min-width:calc(100vw - 300px);max-width:none;margin-left:0;margin-right:0}
.accommodations-config-wrap{max-width:none;overflow:visible}
.accommodations-config-table{min-width:2360px}
.full-width-table-page{width:max-content;min-width:calc(100vw - 300px);max-width:none;margin-left:0;margin-right:0}
.full-width-table-wrap{max-width:none;overflow:visible}
.account-info-table{min-width:1380px}
.rentals-config-table{min-width:2260px}
.reservations-accommodations-page .reservation-table{min-width:2500px}
.reservations-rentals-page .reservation-table{min-width:2100px}
.accommodations-config-table th:first-child,.accommodations-config-table td:first-child{min-width:360px}
.accommodations-config-table td:first-child .name-input{min-width:340px;white-space:nowrap}
.accommodations-config-table .copy-field{grid-template-columns:minmax(96px,30%) auto auto;justify-content:start}
.accommodations-config-table .standard-price-col{min-width:210px}
.accommodations-config-table .advanced-price-col{min-width:170px}
.accommodations-config-table .max-guests-col{min-width:130px}
.accommodations-config-table .vat-col{min-width:150px}
.accommodations-config-table .deposit-col{min-width:170px}
.result-dates{margin:.15rem 0 .65rem!important;color:#4f5d55!important;font-size:.94rem!important;font-weight:900;line-height:1.35!important}
.result-calculation{display:grid;gap:8px;max-width:420px;margin:14px 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.result-calculation div{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#4f5d55;font-weight:800}
.result-calculation strong{color:var(--deep);white-space:nowrap}
.result-calculation-total{margin-top:4px;padding-top:10px;border-top:1px solid var(--line);font-size:1.08rem;color:var(--deep)!important}
.result-calculation-due{margin-top:4px;padding-top:10px;border-top:1px solid var(--line);font-size:1.14rem;color:var(--deep)!important}
.result-calculation-due strong{font-size:1.18rem}
.special-offer-form{display:grid;gap:12px;max-width:460px;margin-top:12px}
.special-offer-prices label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;color:#4f5d55;font-weight:800}
.special-offer-prices input,.special-offer-recipient input{width:148px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--deep);font:800 .96rem/1.2 Inter,system-ui,sans-serif}
.special-offer-prices input{height:38px;padding:0 10px;text-align:right}
.special-offer-recipient{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.special-offer-recipient label{display:grid;gap:6px;margin:0;color:#4f5d55;font-weight:900}
.special-offer-recipient input{width:100%;height:40px;padding:0 11px;text-align:left}
.special-offer-total{display:flex;align-items:center;justify-content:space-between;gap:14px}
.special-offer-button{justify-self:start;border-radius:8px;text-transform:none}
.result-total{display:block;margin:12px 0 18px}
.result-media{display:grid;gap:10px;min-width:0}
.result-main-image{display:block;width:100%;border:0;border-radius:8px;padding:0;background:transparent;cursor:pointer;overflow:hidden}
.search-results-page .result-card{align-items:start}
.search-results-page .result-media{margin-top:1.25rem}
.group-results-page .result-card{align-items:start}
.group-results-page .result-card h2{margin-top:0}
.result-main-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.result-thumbs{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;align-items:center}
.result-thumb-strip{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 50px)/6);gap:10px;overflow:auto;scroll-behavior:smooth;scrollbar-width:none}
.result-thumb-strip::-webkit-scrollbar{display:none}
.result-thumb,.result-thumb-nav{border:0;background:transparent;cursor:pointer}
.result-thumb{padding:0;border-radius:6px;overflow:hidden;opacity:.68}
.result-thumb.active{opacity:1;outline:2px solid var(--deep)}
.result-thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.result-thumb-nav{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--deep);color:#fff;font:900 1.7rem/1 Inter,system-ui,sans-serif}
.result-description .link-button{margin-left:6px}
.result-description-panel{position:relative;max-height:88vh;overflow:auto;padding:62px 24px 24px;border-radius:8px;background:#fff}
.result-description-panel h2{margin:0 0 18px;color:#3d3d3b}
.description-modal-image{float:right;width:min(260px,38vw);aspect-ratio:4/3;object-fit:cover;margin:0 34px 16px 18px;border-radius:8px}
.result-lightbox{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.9);padding:28px}
.result-lightbox[hidden]{display:none}
.result-lightbox img{max-width:92vw;max-height:90vh;object-fit:contain}
.result-lightbox button{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#080909;font:900 2rem/1 Inter,system-ui,sans-serif;cursor:pointer}
.result-lightbox-close{top:22px;right:22px;width:46px;height:46px}
.result-lightbox-prev,.result-lightbox-next{top:50%;width:58px;height:58px;transform:translateY(-50%)}
.result-lightbox-prev{left:22px}
.result-lightbox-next{right:22px}
.reservation-id-link{font-weight:900;color:var(--deep)}
.reservation-detail-modal-panel{display:block!important;width:96vw;max-width:1280px;height:92vh;max-height:900px;min-height:640px;padding:0;overflow:hidden}
.reservation-detail-inline-panel{padding:22px;overflow:auto}
.reservation-detail-modal-panel .modal-close{z-index:2}
.reservation-detail-frame{display:block;width:100%;height:100%;min-height:640px;border:0;background:#fff}
.reservation-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.invoice-cell{display:grid;gap:6px;align-content:start}
.invoice-action-row{display:grid;grid-template-columns:max-content 34px;gap:6px;align-items:center}
.invoice-email-form{margin:0}
.invoice-email-button{margin:0;background:#4f5d55;font-size:.88rem}
.invoice-download{margin-top:0;align-items:center;justify-content:center;height:34px;min-height:34px;min-width:74px;padding:0 10px;border-radius:6px;font-size:.76rem;line-height:1.05;white-space:nowrap}
.credit-invoice-download{background:#eab308!important;color:#111!important}
.reservation-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.reservation-detail-grid section{padding:18px;border:1px solid var(--line);background:#fff}
.reservation-detail-grid h2{margin:0 0 14px;color:#3d3d3b;font:700 1.1rem/1 Inter,system-ui,sans-serif}
.reservation-detail-grid dl{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,1fr);gap:8px 14px;margin:0}
.reservation-detail-grid dt{font-weight:900;color:#4f5d55}
.reservation-detail-grid dd{min-width:0;margin:0;overflow-wrap:anywhere}
.bulk-advanced-price-field{display:grid;gap:7px;font-weight:800}
.bulk-advanced-price-field .link-button,.advanced-price-col .link-button{width:max-content;margin:0}
.advanced-price-panel{position:relative;width:min(980px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding-top:54px}
.bulk-advanced-price-panel{width:min(460px,92vw)}
.advanced-price-panel h2{margin:0 0 4px;color:#3d3d3b;font:900 1.15rem/1.2 Inter,system-ui,sans-serif}
.advanced-price-editor{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:22px;align-items:start}
.advanced-price-add,.advanced-price-list{display:grid;gap:12px;min-width:0}
.advanced-price-add h3,.advanced-price-list h3{margin:0;color:#3d3d3b;font:900 .98rem/1.2 Inter,system-ui,sans-serif}
.advanced-price-add-button{width:max-content;margin-top:0}
.advanced-price-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);background:#fff}
.advanced-price-table{width:100%;min-width:590px}
.advanced-price-table th,.advanced-price-table td{padding:8px}
.advanced-price-table input{width:100%;min-width:0}
.advanced-price-delete-col{width:44px;text-align:center}
.advanced-price-delete{display:inline-block;width:28px;height:28px;border:0;border-radius:6px;background:transparent url("/static/reservations/images/mail-trash-transparent.png") center/18px 18px no-repeat;cursor:pointer}
.advanced-price-delete:hover,.advanced-price-delete:focus-visible{background-color:#f4dddd;outline:0}
.advanced-price-save-row{display:flex;justify-content:flex-end}
.advanced-price-save-row .save{margin-top:0}
.unavailable-page{text-align:center}
.unavailable-page h1{color:#8b1e1e}
.unavailable-page [data-countdown]{color:var(--deep)}
@media(max-width:760px){
  .booking.rixos-booking.rental-filter-form{grid-template-columns:minmax(164px,1.2fr) minmax(126px,1fr);width:100%;margin:18px 0 22px;padding:12px 10px 12px 14px}
  .admin-messages{margin-top:98px}
  .rentals-page{padding-bottom:88px}
  .booking.rixos-booking.rental-date-form{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;grid-template-columns:1fr;width:100%;max-width:none;margin:28px 0 0;padding:12px 14px;transform:none}
  .rental-date-form .booking-field:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.24)}
  .rental-filter-form .booking-submit.text-submit,
  .rental-date-form .booking-submit.text-submit{grid-column:1/-1;justify-self:stretch;width:100%;min-width:0;margin:0;padding:0 14px;font-size:.72rem}
  .rentals-intro.mobile-collapsed .mobile-preview-text{display:inline}
  .rentals-intro.mobile-collapsed .mobile-read-more-button{display:inline}
  .rentals-intro.mobile-collapsed .mobile-full-text{display:none}
  .rental-card-description.mobile-collapsed{display:block;max-height:none;padding-right:0;overflow:visible}
  .rental-card-description.mobile-collapsed .rental-description-read-more{display:inline;position:static;padding-left:0;background:transparent}
  .rental-card-description.mobile-expanded{display:block}
  .reservation-detail-modal-panel{width:96vw;height:90vh;min-height:0}
  .reservation-detail-frame{min-height:0}
  .menu-open .burger{display:grid}
  .result-card .button{display:flex;width:max-content;margin-left:auto}
  .result-calculation{max-width:none}
  .special-offer-form{max-width:none}
  .special-offer-prices label{gap:10px}
  .special-offer-prices input{width:118px}
  .special-offer-button{justify-self:stretch;width:100%;justify-content:center;margin-left:0}
  .drawer .brand-link{min-height:48px!important;margin:0 0 12px 70px;padding:0 0 8px!important;width:calc(100% - 70px);align-items:center}
  .drawer .brand-link img{width:min(188px,100%);max-height:44px}
  .sort-form{width:auto;max-width:calc(100vw - 92px);margin-left:auto;margin-right:0;padding:6px 8px 6px 10px;border-radius:999px}
  .sort-form label{gap:8px;justify-content:flex-end;width:auto;font-size:.72rem}
  .sort-form select{width:132px;min-width:0;flex:0 0 132px;height:34px;padding-left:10px;padding-right:30px;font-size:.78rem;background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px}
  .advanced-price-editor{grid-template-columns:1fr}
  .advanced-price-panel{width:calc(100vw - 24px)}
  .date-range-field.open .calendar-popover,
  .rental-date-form .rental-date-field.open .calendar-popover,
  .rental-filter-form .rental-date-field.open .calendar-popover,
  .edit-calendar-field.open .calendar-popover{
    display:block;
    position:fixed;
    z-index:80;
    top:auto;
    right:0;
    bottom:0;
    left:0;
    width:100vw;
    max-height:min(82vh,720px);
    margin:0;
    padding:18px max(10px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
    overflow:auto;
    border-right:0;
    border-bottom:0;
    border-left:0;
    box-shadow:0 -18px 55px rgba(0,0,0,.24);
    transform:none;
  }
  .calendar-months{grid-template-columns:minmax(0,1fr);gap:8px}
  .calendar-month.visible+.calendar-month.visible{display:none;border-left:0;border-top:0;padding:0}
  .calendar-month h3{min-height:34px;margin:0 34px 8px;font-size:clamp(1rem,4.2vw,1.22rem);line-height:1.08}
  .calendar-weekdays span{padding:3px 0 7px;font-size:.62rem;line-height:1}
  .calendar-grid button{height:32px;min-height:32px;font-size:.78rem}
  .calendar-grid .selected{background:radial-gradient(circle at center,#9b7b4a 0 16px,transparent 16px)}
  .calendar-grid .selected.in-range{background:radial-gradient(circle at center,#9b7b4a 0 16px,transparent 16px),linear-gradient(#f3f0eb,#f3f0eb) center/100% 32px no-repeat}
  .calendar-grid .range-start.in-range{background:radial-gradient(circle at center,#9b7b4a 0 16px,transparent 16px),linear-gradient(90deg,transparent 0 50%,#f3f0eb 50% 100%) center/100% 32px no-repeat}
  .calendar-grid .range-end.in-range{background:radial-gradient(circle at center,#9b7b4a 0 16px,transparent 16px),linear-gradient(90deg,#f3f0eb 0 50%,transparent 50% 100%) center/100% 32px no-repeat}
  .calendar-grid .in-range,.calendar-grid .preview-range:not(.selected),
  .calendar-grid .range-start.in-range,.calendar-grid .range-end.in-range{background-size:100% 32px}
  .calendar-nav{top:18px;width:30px;height:34px;font-size:1.8rem;line-height:1}
  .calendar-prev{left:8px}
  .calendar-next{right:8px}
  .calendar-popover.has-error:after{position:static;display:block;margin-top:10px;font-size:.78rem}
  .range-badge{display:none}
}
.calendar-popover{opacity:0;transition:opacity .75s ease,transform .75s ease}
.date-range-field.open .calendar-popover{opacity:1}
.rental-date-form .rental-date-field.open .calendar-popover{opacity:1}
.rental-filter-form .rental-date-field.open .calendar-popover{opacity:1}
.edit-calendar-field.open .calendar-popover{opacity:1}
.date-range-field.calendar-closing .calendar-popover{display:block;opacity:0;pointer-events:none}
.rental-date-form .rental-date-field.calendar-closing .calendar-popover{display:block;opacity:0;pointer-events:none}
.rental-filter-form .rental-date-field.calendar-closing .calendar-popover{display:block;opacity:0;pointer-events:none}
.book-page{width:min(960px,100%)}
.booking-summary-card{display:grid;grid-template-columns:minmax(300px,42%) minmax(0,1fr);gap:20px;align-items:stretch;margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.booking-summary-media{position:relative;min-height:0;overflow:hidden;border-radius:8px}
.booking-summary-card img,.booking-summary-image{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:8px}
.booking-summary-details{display:grid;align-content:start;gap:12px}
.booking-summary-card h2{margin:0 0 8px;color:#3d3d3b;font:700 1.18rem/1.2 Inter,system-ui,sans-serif}
.booking-summary-card p{margin:.25rem 0;color:var(--muted)}
.booking-summary-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.booking-summary-card .result-calculation{width:100%;max-width:none;margin:0}
.book-page>.panel-form>button[type=submit]{justify-self:start;margin-top:6px;padding:11px 18px;min-height:0;line-height:1.2}
.booking-summary-meta div{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.booking-summary-meta dt{margin:0 0 4px;color:#4f5d55;font-size:.72rem;font-weight:900;line-height:1.1;text-transform:uppercase}
.booking-summary-meta dd{margin:0;color:var(--deep);font-size:.94rem;font-weight:900;line-height:1.2}
@media(max-width:760px){
  .search-results-page .sort-form{width:100%;max-width:none;margin-left:0;margin-right:0}
  .search-results-page .sort-form label{width:100%;justify-content:space-between;text-align:left}
  .search-results-page .sort-form select{margin-left:auto}
  .booking-summary-card{grid-template-columns:1fr}
  .booking-summary-media{aspect-ratio:4/3}
  .booking-summary-meta{grid-template-columns:1fr}
  body.is-hero .date-range-field.open .calendar-popover,
  body.is-hero .date-range-field.calendar-closing .calendar-popover,
  .page-search-bottom .date-range-field.open .calendar-popover,
  .page-search-bottom .date-range-field.calendar-closing .calendar-popover{
    position:fixed;
    top:auto;
    right:0;
    bottom:0;
    left:0;
    width:100vw;
    max-height:min(82vh,720px);
    padding:18px max(10px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
    border-right:0;
    border-bottom:0;
    border-left:0;
    box-shadow:0 -18px 55px rgba(0,0,0,.24);
    transform:none;
  }
  body.is-hero .calendar-months,
  .page-search-bottom .calendar-months{grid-template-columns:minmax(0,1fr)}
  body.is-hero .calendar-month.visible+.calendar-month.visible,
  .page-search-bottom .calendar-month.visible+.calendar-month.visible{display:none}
}
.mail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.mail-header h1{margin:0}
.mail-header .button{margin-top:0}
.mail-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}
.mail-list,.mail-panel{min-height:620px;border:1px solid var(--line);background:#fff}
.mail-list{overflow:auto}
.mail-list h2{margin:0;padding:14px;border-bottom:1px solid var(--line);color:#3d3d3b;font:800 1rem/1 Inter,system-ui,sans-serif}
.mail-list-row{position:relative;border-bottom:1px solid var(--line)}.mail-list-item{display:grid;gap:4px;padding:12px 44px 12px 14px;color:var(--ink);text-decoration:none}
.mail-list-item:hover,.mail-list-item.active{background:#f0ede5}
.mail-list-item.unread strong,.mail-list-item.unread span{font-weight:900}
.mail-list-item span,.mail-list-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-list-item small,.mail-list-item em{min-width:0;color:var(--muted);font-style:normal;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-delete-form{position:absolute;top:8px;right:8px;margin:0}.mail-delete-button{display:block;width:28px;height:28px;border:0;border-radius:6px;background:transparent url("/static/reservations/images/mail-trash-transparent.png") center/18px 18px no-repeat;cursor:pointer}.mail-delete-button:hover,.mail-delete-button:focus-visible{background-color:#f4dddd;outline:0}
.mail-unread-form{position:absolute;top:40px;right:8px;margin:0}.mail-unread-button{position:relative;display:block;width:28px;height:28px;border:0;border-radius:6px;background:transparent;cursor:pointer}.mail-unread-button:before{content:"";position:absolute;left:5px;top:7px;width:18px;height:13px;border:2px solid #4f5d55;border-radius:2px}.mail-unread-button:after{content:"";position:absolute;left:7px;top:9px;width:14px;height:9px;border:solid #4f5d55;border-width:0 0 2px 2px;transform:skewY(-32deg) rotate(-45deg)}.mail-unread-button:hover,.mail-unread-button:focus-visible{background-color:#e8f0e9;outline:0}
.mail-panel{padding:18px;overflow:auto}
.mail-message-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mail-message h2{margin:0 0 16px;color:#3d3d3b;font:800 1.35rem/1.2 Inter,system-ui,sans-serif}
.mail-message dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 12px;margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.mail-message dt{font-weight:900;color:#4f5d55}
.mail-message dd{min-width:0;margin:0;overflow-wrap:anywhere}
.mail-message pre{white-space:pre-wrap;font:inherit;line-height:1.5}
.mail-thread-action{margin-top:26px;padding-top:22px;border-top:2px solid var(--line)}
.mail-thread-action-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;color:#3d3d3b}
.mail-thread-action-header strong{font:900 1rem/1.2 Inter,system-ui,sans-serif}
.mail-thread-action-header span{color:var(--muted);font-size:.86rem;font-weight:800;white-space:nowrap}
.mail-thread-action dl{margin-bottom:14px}
.mail-recipient-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mail-compose textarea{min-height:300px}
.mail-actions{display:flex;gap:10px;align-items:center}.mail-actions .button{align-items:center;justify-content:center;min-width:96px;min-height:44px;margin-top:0}
.mail-empty{margin:0;padding:16px;color:var(--muted)}
.mail-folder-tabs{display:grid;grid-template-columns:1fr;gap:4px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fbfaf5}.mail-folder-tabs a{display:block;border-radius:6px;padding:9px 10px;color:var(--ink);font-weight:900;text-decoration:none}.mail-folder-tabs a:hover,.mail-folder-tabs a.active{background:#080909;color:#fff}.mail-search{position:relative;display:block;margin:12px}.mail-search input{width:100%;height:40px;border:1px solid var(--line);border-radius:999px;padding:0 12px 0 38px;background:#fff;color:var(--ink);font:800 .9rem/1 Inter,system-ui,sans-serif}.mail-search span{position:absolute;left:14px;top:50%;width:14px;height:14px;border:2px solid #4f5d55;border-radius:50%;transform:translateY(-58%);pointer-events:none}.mail-search span:after{content:"";position:absolute;right:-6px;bottom:-4px;width:7px;height:2px;border-radius:99px;background:#4f5d55;transform:rotate(45deg)}.mail-move-form{position:absolute;right:8px;bottom:8px;margin:0}.mail-move-icon{display:block;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);pointer-events:none}.mail-move-icon:before{content:"";position:absolute;left:7px;top:9px;width:14px;height:10px;border:2px solid #4f5d55;border-top-width:5px;border-radius:2px}.mail-move-icon:after{content:"";position:absolute;right:5px;top:6px;width:7px;height:7px;border:solid #4f5d55;border-width:0 2px 2px 0;transform:rotate(45deg)}.mail-move-form select{position:absolute;right:0;bottom:0;width:28px;height:28px;border:1px solid transparent;border-radius:6px;background:transparent;color:transparent;cursor:pointer}.mail-move-form:hover .mail-move-icon,.mail-move-form:focus-within .mail-move-icon{opacity:0}.mail-move-form:hover select,.mail-move-form select:focus{width:132px;padding:0 8px;color:var(--ink);background:#fff;border-color:var(--line);box-shadow:0 6px 18px rgba(0,0,0,.14)}.mail-pagination{position:sticky;bottom:0;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:12px;border-top:1px solid var(--line);background:#fbfaf5}.mail-pagination a,.mail-pagination span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:6px;padding:0 10px;font-weight:900;text-decoration:none}.mail-pagination a{background:#080909;color:#fff}.mail-pagination span{background:#ece8df;color:#8a8174}.mail-pagination strong{font-size:.86rem;white-space:nowrap}
.mail-empty-panel{display:flex;align-items:center;justify-content:center;min-height:560px}
.upload-progress-overlay{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:24px;background:rgba(8,9,9,.58);backdrop-filter:blur(4px)}.upload-progress-overlay>div{display:grid;justify-items:center;gap:10px;width:min(320px,100%);padding:24px;border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.28);text-align:center}.upload-progress-overlay strong{font:900 1.05rem/1.2 Inter,system-ui,sans-serif}.upload-progress-overlay small{color:var(--muted);font-weight:800;line-height:1.35}.upload-spinner{width:34px;height:34px;border:4px solid #ddd6ca;border-top-color:var(--deep);border-radius:50%;animation:upload-spin .8s linear infinite}.is-uploading{opacity:.72;cursor:wait!important}@keyframes upload-spin{to{transform:rotate(360deg)}}
.location-section p{max-width:none}
.location-section{width:min(1180px,100%)}
.location-address{display:grid;gap:5px;margin:22px 0 0;color:var(--muted);font-style:normal}
.location-address strong{color:var(--deep)}
.location-address-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px 24px;align-items:start}.location-address-card{display:grid;gap:6px;line-height:1.55}.location-address-card strong{font-size:1rem}.location-address-card span{display:block}@media(max-width:760px){.location-address-grid{grid-template-columns:1fr}}
.about-portrait{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:8px;margin:0 0 28px}
.optional-field{color:var(--muted);font-size:.86rem;font-weight:800}
.captcha-check{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:14px;align-items:end;border:1px solid #cfc7b8;border-radius:8px;padding:14px;background:#fbfaf5}
.captcha-check>div{display:grid;gap:8px}
.captcha-check span{color:#4f5d55;font-size:.78rem;font-weight:900;text-transform:uppercase}
.captcha-check strong{display:inline-flex;width:max-content;max-width:100%;border:1px solid #bdb4a6;border-radius:6px;padding:10px 14px;background:repeating-linear-gradient(-12deg,#fff 0 8px,#f0ede5 8px 16px);color:#101816;font:900 1.35rem/1 Inter,system-ui,sans-serif;letter-spacing:.18em}
@media(max-width:900px){
  .mail-layout{grid-template-columns:1fr}
  .mail-list,.mail-panel{min-height:auto}
  .mail-list{max-height:48vh}
  .mail-recipient-grid{grid-template-columns:1fr}
  .mail-empty-panel{min-height:220px}
}
@media(max-width:760px){
  .phone-field{grid-template-columns:1fr}
  .rental-edit-row{grid-template-columns:minmax(0,1fr) 92px 34px;gap:10px;padding:12px}
  .rental-edit-summary h2{font-size:.96rem}
  .captcha-check{grid-template-columns:1fr}
  .result-thumb-strip{grid-auto-columns:calc((100% - 20px)/3)}
  .description-modal-image{float:none;width:100%;margin:0 0 16px}
}
.adjustment-light{display:inline-block;width:18px;height:18px;margin-right:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}
.adjustment-light.paid{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
.adjustment-invoice-option{display:flex!important;width:auto!important;grid-template-columns:none!important;align-items:center;gap:8px}
.adjustment-invoice-option[hidden]{display:none!important}
.adjustment-invoice-option .checkbox-line{display:flex;align-items:center;gap:8px}
.adjustment-invoice-option input{width:auto!important}
.accommodations-page .accommodation-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.accommodations-page .accommodation-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;align-items:start;gap:12px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.accommodations-page .accommodation-card h2{position:relative;display:flex;align-items:flex-start;width:100%;height:3.7em;margin:0;padding-bottom:0;color:#2f3732;font:600 1.05rem/1.18 Georgia,serif}
.accommodations-page .accommodation-card h2:after{content:"";position:absolute;left:0;top:2.72em;width:48px;height:2px;background:var(--accent)}
.accommodation-title-link{display:block;width:100%;color:inherit;text-decoration:none;text-wrap:balance}
.accommodation-title-link:hover,.accommodation-title-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.accommodation-image-link{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;color:inherit;text-decoration:none}
.accommodations-page .accommodation-card img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.accommodations-page .accommodation-card p{margin:0;font-size:.98rem;line-height:1.55}
.read-more-link{display:inline-flex;margin-top:10px;color:var(--deep);font-weight:900;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.accommodations-page .accommodation-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.accommodations-page .accommodation-list{grid-template-columns:1fr}}
.admin-thumb,.admin-preview,.admin-preview-large,.image-choice-grid img,.gallery-manage-grid img,.rental-card.result-card>img,.accommodation-card img,.result-card img,.result-main-image img,.result-thumb img,.description-modal-image,.booking-summary-card img,.booking-summary-image,.accommodations-page .accommodation-card img,.homepage-admin-preview,.homepage-thumb-strip img{object-fit:contain!important;background:transparent!important}
.accommodations-page .accommodation-image-link{border-radius:8px!important;overflow:hidden!important}
.accommodations-page .accommodation-card img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:8px!important;background:transparent!important}
.homepage-admin-preview{display:block;position:relative;z-index:1;pointer-events:auto;background:#080909!important}
.remember-login{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;font-weight:800}
.remember-login input{width:auto!important}
.mail-actions button.button{font:inherit;font-weight:800}
.date-range-field.date-required .booking-label{color:#ff4d4d!important}.date-range-field.date-required .booking-label:after{content:" !"}
