.booking-page .gallery-wrap{position:relative;margin:20px 0 32px}.booking-page .gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px;margin:0;border-radius:20px;overflow:hidden}.booking-page .gallery-photo:nth-child(n+6){display:none}.booking-page .gallery-view-all{position:absolute;right:14px;bottom:14px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;border-radius:10px;background:hsla(0,0%,100%,.95);color:var(--ink,#1a2b49);font-size:14px;font-weight:800;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 18px rgba(26,43,73,.18);transition:transform .12s,box-shadow .12s,background .12s}.booking-page .gallery-view-all:hover{background:#fff;transform:translateY(-1px);box-shadow:0 6px 22px rgba(26,43,73,.22)}.booking-page .gallery-view-all:focus-visible{outline:2px solid var(--ink,#1a2b49);outline-offset:2px}.booking-page .gallery-view-all-count{display:inline-flex;min-width:1.5rem;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;background:var(--ink,#1a2b49);color:#fff;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.booking-page .gallery .tile:first-child{grid-row:span 2}.booking-page .gallery .tile:first-child .tile-ico-res{width:28%}.booking-page .gallery-cap{position:absolute;left:14px;bottom:12px;z-index:1;pointer-events:none;font-size:13px;font-weight:700;background:hsla(0,0%,100%,.7);padding:3px 10px;border-radius:6px;color:var(--ink,#1a2b49)}.booking-page .gallery-photo{position:relative;overflow:hidden;min-height:120px;background:var(--soft,#f5f5f5)}.booking-page .gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.booking-page .gallery-photo-btn{display:block;width:100%;height:100%;padding:0;border:0;cursor:zoom-in;background:transparent;text-align:inherit}.booking-page .gallery-photo-btn:focus-visible{outline:2px solid var(--ink,#1a2b49);outline-offset:2px}.booking-page .gallery-photo-featured,.booking-page .gallery-photo:first-child{grid-row:span 2}.booking-page .layout-res{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}.booking-page .main-res section{padding:28px 0;border-top:1px solid #dcdfe4}.booking-page .main-res section:first-child{border-top:0;padding-top:0}.booking-page .main-res h2{font-size:22px;font-weight:800;margin-bottom:14px}.booking-page .lead-res{font-size:17px;color:#4a5568}.booking-page .keys-res{display:grid;gap:18px}.booking-page .key-res{display:flex;gap:14px}.booking-page .key-ico{flex:none;width:40px;height:40px;border-radius:12px;background:#f5f5f5;display:grid;place-items:center}.booking-page .highlights-res{list-style:none;display:grid;gap:10px}.booking-page .highlights-res li{display:flex;gap:10px}.booking-page .highlights-res li:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#f53;margin-top:9px}.booking-page .desc-clamp .desc-full{display:none}.booking-page .desc-clamp.open .desc-full{display:block}.booking-page .incl-res{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;list-style:none}.booking-page .incl-res li{display:flex;gap:10px;align-items:flex-start}.booking-page .meet-res{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.booking-page .map-res{aspect-ratio:4/3;border-radius:16px;position:relative;overflow:hidden;background:#e8e4dc}.booking-page .map-res iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.booking-page .related-res{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.booking-page .book-widget{position:sticky;top:88px;border:1px solid #e5dfd6;border-radius:20px;box-shadow:0 1px 2px rgba(26,43,73,.04);padding:22px;background:#fff}.booking-page .tile-ico-res{position:relative;width:34%;max-width:120px;aspect-ratio:1}.booking-page .mbar-res{display:none;position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid #dcdfe4;padding:12px 16px;gap:14px;align-items:center;box-shadow:0 -4px 16px rgba(0,0,0,.06)}@media (max-width:960px){.booking-page .layout-res{grid-template-columns:1fr}.booking-page .book-widget{position:static}.booking-page .mbar-res{display:flex}.booking-page.booking-page-body{padding-bottom:76px}}.booking-page .slot-grid-detail,.booking-page .slot-grid-widget{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.booking-page .slot-grid-widget-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:4px}.booking-page .slot-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;border-radius:12px;border:1.5px solid #dcdfe4;background:#fff;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s}.booking-page .slot-pick-compact{min-height:32px;padding:4px 2px;border-radius:8px;border:1px solid #dcdfe4;background:#fff;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;transition:border-color .12s,background .12s,color .12s}.booking-page .slot-pick-compact:hover{border-color:#1a2b49}.booking-page .slot-pick-compact-active{border-color:#1a2b49;background:#1a2b49;color:#fff}.booking-page .slot-pick-compact-disabled{cursor:not-allowed;border-color:#e8e8e8;background:#efefef;color:#a8a8a8;opacity:.85}.booking-page .slot-pick-compact-disabled:hover{border-color:#e8e8e8}.booking-page .slot-pick:hover{border-color:#1a2b49}.booking-page .slot-pick-active{border-color:#1a2b49;background:#1a2b49;color:#fff;box-shadow:none}.booking-page .slot-pick-time,.booking-page .slot-pill-time{font-variant-numeric:tabular-nums;font-size:15px;letter-spacing:.02em}.booking-page .slot-pill-detail{display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:10px 14px;border-radius:12px;border:1px solid #dcdfe4;background:#f5f5f5;font-weight:700}@media (max-width:640px){.booking-page .gallery-photo:nth-child(n+5){display:none}.booking-page .gallery-view-all{right:10px;bottom:10px;padding:8px 12px;font-size:13px}.booking-page .gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 120px;border-radius:16px}.booking-page .gallery .tile:first-child{grid-column:span 2;grid-row:auto}.booking-page .gallery .tile:nth-child(n+4){display:none}.booking-page .incl-res,.booking-page .meet-res{grid-template-columns:1fr}.booking-page .related-res{grid-template-columns:1fr 1fr}}