.gallery{border-radius:var(--radius-lg);margin-bottom:2rem;overflow:hidden}.gallery__main{aspect-ratio:16/10;cursor:pointer;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:520px;overflow:hidden}.gallery__main img{transition:transform .4s}.gallery__main:hover img{transform:scale(1.03)}.gallery__thumbs{gap:4px;padding:4px 0 0;display:flex;overflow-x:auto}.gallery__thumb{border-radius:var(--radius-sm);cursor:pointer;opacity:.7;background:0 0;border:2px solid #0000;flex:0 0 80px;height:56px;padding:0;transition:border-color .2s,opacity .2s;overflow:hidden}.gallery__thumb:hover{opacity:1}.gallery__thumb--active{border-color:var(--neptune-primary);opacity:1}.lightbox{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#092b5bf2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox__close{color:var(--neptune-white);cursor:pointer;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:2rem;transition:background .2s;display:flex;position:absolute;top:1rem;right:1.5rem}.lightbox__close:hover{background:#ffffff1a}.lightbox__nav{color:var(--neptune-white);cursor:pointer;border-radius:var(--radius-md);z-index:10;background:#ffffff1a;border:none;padding:.75rem 1.25rem;font-size:2rem;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{background:#fff3}.lightbox__prev{left:1rem}.lightbox__next{right:1rem}
.gl{margin-bottom:2rem}.gl__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(120px,1fr);gap:.75rem;display:grid;position:relative}@media (min-width:768px){.gl__grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);grid-auto-rows:unset;min-height:480px}}.gl__tile{border-radius:var(--radius-md,12px);cursor:pointer;background:#eef2f5;border:0;min-height:120px;padding:0;display:block;position:relative;overflow:hidden}.gl__tile img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gl__tile:hover img{transform:scale(1.04)}.gl__tile--hero{grid-area:span 2/span 2;min-height:240px}@media (min-width:768px){.gl__tile--hero{grid-area:span 2/span 2}}.gl__tile-overlay{pointer-events:none;background:0 0;transition:background .2s;position:absolute;inset:0}.gl__tile:hover .gl__tile-overlay{background:#0000001a}.gl__view-all{color:var(--neptune-primary,#2f5268);border-radius:var(--radius-md,10px);cursor:pointer;background:#fff;border:0;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex;position:absolute;bottom:.875rem;right:.875rem;box-shadow:0 4px 14px #0f1e322e}.gl__view-all:hover{background:#f7fafc;transform:translateY(-1px);box-shadow:0 6px 18px #0f1e3238}.gl__view-all svg{flex-shrink:0}.gl__lightbox{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09111ef0;justify-content:center;align-items:center;animation:.2s ease-out gl-fade-in;display:flex;position:fixed;inset:0}@keyframes gl-fade-in{0%{opacity:0}to{opacity:1}}.gl__lb-stage{width:90vw;max-width:1200px;height:82vh;position:relative}.gl__lb-btn{color:#fff;cursor:pointer;z-index:10;background:#ffffff1f;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .18s;display:inline-flex;position:absolute}.gl__lb-btn:hover{background:#ffffff38}.gl__lb-close{top:1rem;right:1rem}.gl__lb-prev{top:50%;left:.75rem;transform:translateY(-50%)}.gl__lb-next{top:50%;right:.75rem;transform:translateY(-50%)}@media (min-width:768px){.gl__lb-prev{left:1.5rem}.gl__lb-next{right:1.5rem}}.gl__lb-counter{color:#ffffffb3;letter-spacing:.02em;font-size:.875rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}
.booking-card{background:var(--neptune-white);border:1px solid var(--neptune-border);border-radius:var(--radius-xl);padding:2.25rem;position:sticky;top:100px;box-shadow:0 8px 32px #0000000f}.booking-card__price-header{color:var(--neptune-text-secondary);margin-bottom:1.75rem;font-size:.9375rem;font-weight:500}.booking-card__price-header strong{font-family:var(--font-display);color:var(--neptune-primary);letter-spacing:-.03em;margin-bottom:.25rem;font-size:2.25rem;font-weight:800;display:block}.booking-card__pickers{gap:.75rem;margin-bottom:1.25rem;display:flex}.booking-card__picker{border:1.5px solid var(--neptune-border);border-radius:var(--radius-md);cursor:pointer;background:var(--neptune-white);flex:1;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;position:relative}.booking-card__picker:hover{border-color:var(--neptune-primary);box-shadow:0 0 0 3px #10bcf50f}.booking-card__picker-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--neptune-text-secondary);font-size:.6875rem;font-weight:700}.booking-card__picker-value{color:var(--neptune-text);margin-top:3px;font-size:.9375rem;font-weight:600}.booking-card__dates{flex-direction:column;gap:.625rem;margin-bottom:1.25rem;display:flex}.booking-card__date-card{border:1.5px solid var(--neptune-border);border-radius:var(--radius-md);background:var(--neptune-white);justify-content:space-between;align-items:center;padding:.875rem 1.125rem;transition:border-color .2s,box-shadow .2s;display:flex}.booking-card__date-card:hover{border-color:var(--neptune-primary);box-shadow:0 0 0 3px #10bcf50f}.booking-card__date-day{font-family:var(--font-display);color:var(--neptune-text);font-size:.9375rem;font-weight:700}.booking-card__date-time,.booking-card__date-price{color:var(--neptune-text-secondary);font-size:.75rem}.booking-card__date-btn{background:var(--neptune-primary);color:var(--neptune-white);border-radius:var(--radius-pill);font-family:var(--font-display);cursor:pointer;letter-spacing:.02em;border:none;padding:.5rem 1.375rem;font-size:.8125rem;font-weight:700;transition:all .25s}.booking-card__date-btn:hover{background:var(--neptune-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.booking-card__open-tag{color:var(--neptune-teal);font-size:.75rem;font-weight:700}.booking-card__show-more{border:2px solid var(--neptune-text);width:100%;color:var(--neptune-text);border-radius:var(--radius-pill);font-family:var(--font-display);cursor:pointer;background:0 0;padding:.75rem;font-size:.875rem;font-weight:700;transition:all .25s}.booking-card__show-more:hover{background:var(--neptune-dark);border-color:var(--neptune-dark);color:var(--neptune-white)}.calendar-dropdown,.guest-dropdown{background:var(--neptune-white);border:1.5px solid var(--neptune-border);border-radius:var(--radius-lg);z-index:10;padding:1.25rem;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 20px 56px #0000001a}.calendar-header{font-family:var(--font-display);color:var(--neptune-text);justify-content:space-between;align-items:center;margin-bottom:.875rem;font-size:.9375rem;font-weight:700;display:flex}.calendar-header button{cursor:pointer;color:var(--neptune-primary);border-radius:var(--radius-xs);background:0 0;border:none;padding:.375rem;font-size:1.125rem;transition:background .15s}.calendar-header button:hover{background:var(--neptune-primary-light)}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.day-label{color:var(--neptune-text-secondary);text-transform:uppercase;padding:.25rem;font-size:.6875rem;font-weight:700}.day-cell{border-radius:var(--radius-sm);cursor:pointer;color:var(--neptune-text);background:0 0;border:none;padding:.4rem;font-size:.875rem;transition:all .15s}.day-cell:hover{background:var(--neptune-primary-light);color:var(--neptune-primary)}.day-cell.selected{background:var(--neptune-primary);color:var(--neptune-white)}.day-cell.today{border:1.5px solid var(--neptune-primary)}.day-cell:disabled{color:var(--neptune-border);cursor:default}.day-cell:disabled:hover{background:0 0}.guest-row+.guest-row{border-top:1px solid var(--neptune-border);margin-top:.625rem;padding-top:.625rem}.guest-row{justify-content:space-between;align-items:center;display:flex}.guest-row-label{font-family:var(--font-display);color:var(--neptune-text);font-size:.875rem;font-weight:700}.guest-row-label span{color:var(--neptune-text-secondary);font-size:.75rem;font-weight:400;display:block}.guest-controls{align-items:center;gap:.875rem;display:flex}.guest-count{text-align:center;min-width:24px;color:var(--neptune-text);font-weight:700}.guest-btn{border:1.5px solid var(--neptune-border);background:var(--neptune-white);cursor:pointer;width:32px;height:32px;color:var(--neptune-text);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.guest-btn:hover{border-color:var(--neptune-primary);color:var(--neptune-primary);background:var(--neptune-primary-light)}.guest-btn:disabled{opacity:.3;cursor:default}.guest-btn:disabled:hover{border-color:var(--neptune-border);color:var(--neptune-text);background:var(--neptune-white)}
