@view-transition{navigation:auto}
::view-transition-old(root){animation:page-away .18s ease both}::view-transition-new(root){animation:page-arrive .3s ease both}
@keyframes page-away{to{opacity:0}}@keyframes page-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.custom-select{position:relative;width:100%;min-width:0;text-align:left}
.enhanced-select{display:none!important;position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none}
.select-trigger{font:inherit;font-size:14px;line-height:1.45;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:48px;text-align:left;color:#082e48;background:#fffdf7;border:1px solid #cad1ca;border-radius:10px;padding:12px 15px;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.select-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger:hover,.select-trigger[aria-expanded=true]{border-color:#b37b3c;background:#fff8e9}.select-trigger[aria-expanded=true]{box-shadow:0 0 0 3px #ef9d3c1a}
.select-trigger:focus-visible{outline:2px solid #dc861f;outline-offset:4px}.select-trigger[aria-invalid=true]{border-color:#a13628}.select-trigger:disabled{opacity:.5;cursor:not-allowed}
.select-chevron{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin:0 4px 4px;transition:transform .2s}.select-trigger[aria-expanded=true] .select-chevron{transform:translateY(4px) rotate(225deg)}
.select-menu{position:fixed;inset:auto;margin:0;z-index:1500;box-sizing:border-box;border:1px solid #d5d8ce;background:#fffdf6;color:#082e48;padding:6px;border-radius:14px;box-shadow:0 18px 60px #082e4826,0 3px 10px #082e480a;overflow:auto;overscroll-behavior:contain;font:14px/1.4 Manrope,Arial,sans-serif;animation:menu-in .18s ease-out}
.select-menu[hidden]{display:none}.select-menu [role=option]{position:relative;display:flex;align-items:center;min-height:46px;padding:12px 36px 12px 13px;border-radius:8px;cursor:pointer;transition:background .15s}.select-menu [role=option]:hover,.select-menu .is-active{background:#f1eadb}.select-menu [aria-selected=true]{font-weight:700}.select-menu [aria-selected=true]::after{content:'✓';position:absolute;right:13px;color:#b87520}.select-menu [aria-disabled=true]{opacity:.4;cursor:not-allowed}
@keyframes menu-in{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}
.search-field .select-trigger{background:transparent;border-color:transparent;padding-left:0;border-radius:6px;font-size:15px}.search-field .select-trigger:hover{color:#a9671d}.search-field .select-trigger[aria-expanded=true]{background:#f4eddf;border-color:#dccdb3;padding-left:10px}
.modal-open{overflow:hidden;scrollbar-gutter:stable}dialog[open]{animation:modal-in .28s cubic-bezier(.2,.7,.2,1)}dialog::backdrop{background:#041c30c9;backdrop-filter:blur(12px);animation:page-arrive .2s ease}
@keyframes modal-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.cinema-modal{width:min(1100px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 32px);border:1px solid #ffffff26;border-radius:18px;padding:0;background:#082e48;color:#fff3db;overflow:auto;margin:auto;box-shadow:0 40px 150px #0007}
.cinema-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 22px;font-size:13px}.modal-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff38;border-radius:50%;background:transparent;color:inherit;font:28px/1 Arial;cursor:pointer}.modal-close:hover{background:#ffffff1f}.cinema-modal iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;background:#051d2c}
.lightbox{margin:auto;border-radius:16px;overflow:hidden;box-shadow:0 30px 100px #0006}.lightbox>img{max-height:calc(85dvh - 64px);min-height:120px}.gallery-controls{height:64px;display:flex;align-items:center;justify-content:center;gap:26px;color:#fff3db;font-size:12px;letter-spacing:2px}.gallery-controls button{border:1px solid #ffffff40;color:inherit;background:transparent;width:44px;height:44px;border-radius:50%;font-size:20px}.gallery-controls button:hover{background:#ffffff1c}
img.image-loading{background:linear-gradient(110deg,#d5dcd4 15%,#f4ead5 40%,#d5dcd4 65%);background-size:250% 100%;animation:photo-shimmer 1.6s linear infinite;opacity:.3;filter:blur(5px)}img.image-ready{opacity:1;filter:none;transition:opacity .55s ease,filter .65s ease,transform .7s ease}
@keyframes photo-shimmer{to{background-position:-250% 0}}
.button{transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}.button:active{transform:scale(.98)}.button:disabled{cursor:wait}.button:disabled::after{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:busy-spin .7s linear infinite;flex-shrink:0}@keyframes busy-spin{to{transform:rotate(360deg)}}
.site-header nav.open{animation:menu-in .2s ease-out}.save-button[aria-pressed=true]{animation:saved-pop .3s ease}@keyframes saved-pop{50%{transform:scale(1.16)}}
@media(hover:hover){.hotel-card,.dining-card,.guide-card{transition:transform .35s ease}.hotel-card:hover,.dining-card:hover,.guide-card:hover{transform:translateY(-5px)}.button:hover{box-shadow:0 6px 20px #082e4812}}
@media(max-width:600px){.select-trigger,.search-field .select-trigger{font-size:16px;min-height:50px}.select-menu{font-size:16px}.select-menu [role=option]{min-height:50px}.cinema-modal{width:calc(100% - 20px);border-radius:12px}.cinema-bar{padding:8px 10px 8px 16px;font-size:12px}.lightbox{width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}img.image-loading{filter:none;opacity:1}}
