.site .card{background:#f6f6f6;border-color:#e8e8e8;box-shadow:0 2px 6px #00000004}.site .card-body{background:#f6f6f6}.site .card-cover{background:#eee}.site .card-cover img{object-fit:contain}.admin-photo img,.pending-photo{object-fit:contain;background:#f1f1f1}
.site .activity-gallery.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:180px 180px;gap:8px;overflow:hidden;padding:0;margin:24px 0;border-radius:18px;scroll-snap-type:none;background:#eee}.gallery-tile{position:relative;min-width:0;border:0;padding:0;background:#eee;cursor:pointer;overflow:hidden}.gallery-main{grid-row:span 2}.site .gallery-tile img{width:100%;height:100%;object-fit:contain;display:block;border-radius:0}.gallery-tile:only-child{grid-column:1/-1}.gallery-count{position:absolute;bottom:12px;inset-inline-end:12px;background:#fff;color:#333;border-radius:8px;padding:8px;font-size:13px;box-shadow:0 2px 8px #0002}.photo-viewer{width:min(1100px,96vw);max-height:94vh;border:0;border-radius:18px;background:#fafafa;padding:20px;color:#242424}.photo-viewer::backdrop{background:#000b}.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.viewer-head button,.viewer-image button{background:white;border:1px solid #ddd;border-radius:8px;padding:10px;min-width:44px;min-height:44px;cursor:pointer}.viewer-image{display:flex;align-items:center;gap:12px;margin-top:20px;direction:ltr}.viewer-image>img{width:calc(100% - 112px);height:55vh;object-fit:contain;background:#eee}.viewer-position{text-align:center;margin:8px}.viewer-thumbs{display:flex;overflow-x:auto;gap:8px;direction:ltr}.viewer-thumbs button{border:2px solid transparent;border-radius:8px;padding:2px;flex-shrink:0;cursor:pointer;background:#eee}.viewer-thumbs button[aria-pressed=true]{border-color:#f15b2a}.viewer-thumbs img{width:80px;height:64px;object-fit:contain;display:block}
.booking-calendar{border:1px solid #e5e5e5;border-radius:14px;padding:12px;background:#fff;margin:8px 0 16px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.calendar-head button{border:1px solid #ddd;border-radius:8px;background:#fff;min-width:40px;min-height:40px;cursor:pointer;font-size:23px}.calendar-head strong{font-size:16px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-week{font-size:11px;color:#777;margin-bottom:8px}.calendar-grid button{min-width:0;min-height:58px;padding:6px 1px;border:1px solid transparent;border-radius:8px;background:#fff;color:#333;cursor:pointer;font:inherit;font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center}.calendar-grid button small{font-size:9px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.calendar-grid button:disabled{color:#c6c6c6;background:#fafafa;cursor:default}.calendar-grid button:not(:disabled):hover{border-color:#f15b2a}.calendar-grid button[aria-pressed=true]{border-color:#f15b2a;background:#fff2eb;color:#b53812;font-weight:bold}.booking-calendar[inert]{opacity:.5}.calendar-grid button:focus-visible,.gallery-tile:focus-visible{outline:3px solid #f15b2a;outline-offset:-3px}
@media(max-width:700px){.site .activity-gallery.gallery-grid{grid-template-columns:2fr 1fr;grid-template-rows:140px 140px}.gallery-tile:nth-child(n+4){display:none}.gallery-main{grid-row:span 2}.gallery-tile:nth-child(3) .gallery-count{display:block}.viewer-image{gap:4px}.viewer-image>img{width:calc(100% - 96px);height:45vh}.photo-viewer{padding:12px}.calendar-grid button{min-height:52px}.calendar-week{font-size:10px}}

.inventory-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:18px}.inventory-panel select,.inventory-panel input:not([type=checkbox]){width:100%;min-height:44px;padding:10px;border:1px solid #ddd;border-radius:8px;font:inherit}.inventory-panel label{display:block;font-size:14px;margin:12px 0 6px}.inventory-panel #calendarPackage{max-width:400px}.inventory-panel .calendar-grid button{min-height:85px;background:#fafafa}.inventory-panel .calendar-grid button small{font-size:11px;padding-top:6px}.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-weekdays{display:flex;flex-wrap:wrap;gap:12px}.schedule-weekdays label{display:flex;gap:5px;align-items:center;margin:4px 0}.inventory-panel fieldset{border:1px solid #ddd;border-radius:8px;margin:18px 0}.schedule-hint{color:#777;font-size:12px;line-height:1.6}.inventory-slot{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid #eee;padding:12px 0;font-size:13px}#calendarSchedule{background:#f7f7f7;border-radius:14px;padding:20px}#calendarResult{font-size:14px;line-height:1.6}@media(max-width:1000px){.inventory-layout{grid-template-columns:1fr}}.gallery-grid:has(.gallery-tile:nth-child(2)):not(:has(.gallery-tile:nth-child(3))){grid-template-columns:2fr 1fr}.gallery-grid:has(.gallery-tile:nth-child(2)):not(:has(.gallery-tile:nth-child(3))) .gallery-tile:nth-child(2){grid-row:span 2}

.mobile-count{display:none}@media(max-width:700px){.mobile-count{display:block}}.site .detail #booking-options{background:#f7f7f7}.site .detail #overview{background:#fafafa}

@media(min-width:701px){.gallery-grid:has(.gallery-tile:nth-child(4)):not(:has(.gallery-tile:nth-child(5))) .gallery-tile:nth-child(4){grid-column:span 2}}.inventory-panel>.inventory-layout{padding:0 22px 22px}.inventory-panel>label{margin-inline:22px}.inventory-panel>#calendarPackage{margin-inline:22px;width:calc(100% - 44px)}
.inventory-layout>*{min-width:0}.inventory-panel fieldset{min-width:0}.schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.topbar{flex-wrap:wrap;gap:12px}.user-area{flex-wrap:wrap;max-width:100%}.inventory-layout{grid-template-columns:minmax(0,1fr)}.inventory-panel>.inventory-layout{padding:0 12px 16px}.inventory-panel .calendar-grid button{min-height:70px}.inventory-panel .calendar-grid button small{font-size:9px}.inventory-panel>#calendarPackage{max-width:calc(100% - 44px)}#calendarSchedule{padding:12px}}

/* Compact activity mosaic and immersive photo viewer. */
.site .activity-gallery.gallery-grid{position:relative;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:440px;gap:8px;background:transparent;align-items:stretch}
.site .gallery-grid .gallery-tile{grid-column:auto;grid-row:auto;width:100%;height:100%;min-height:0;display:block;border-radius:0}
.site .gallery-grid .gallery-main{grid-row:1 / 3;grid-column:1}
.site .gallery-grid .gallery-tile img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transition:transform .2s}
.site .gallery-tile:hover img{transform:scale(1.035)}
.site .gallery-grid.gallery-1{grid-template-columns:1fr}
.site .gallery-grid.gallery-2,.site .gallery-grid.gallery-3{grid-template-columns:2fr 1fr}
.site .gallery-grid.gallery-2 .gallery-tile:nth-child(2){grid-row:1 / 3}
.site .gallery-grid.gallery-4 .gallery-tile:nth-child(4){grid-column:2 / 4}
.site .gallery-grid>.gallery-count{width:auto;min-height:44px;z-index:2;border:0;cursor:pointer;font:inherit;font-size:13px;padding:10px 14px;bottom:16px;inset-inline-end:16px}
.photo-viewer{box-sizing:border-box;width:min(1080px,96vw);max-width:96vw;max-height:96dvh;overflow:auto;border:0;border-radius:0;background:transparent;padding:20px 60px;color:#fff}
.photo-viewer::backdrop{background:#000c}
.viewer-head{justify-content:center;margin-bottom:22px;position:relative;min-height:48px}
.viewer-tab{border-radius:999px;background:#fff;color:#252525;padding:10px 24px;font-size:18px;font-weight:bold}
.viewer-head .viewer-close{position:fixed;top:20px;inset-inline-end:24px;border:0;border-radius:50%;background:#ffffff24;color:#fff;font-size:32px;padding:0;line-height:1;width:44px;height:44px}
.viewer-image{display:block;position:relative;margin:0;direction:ltr}
.viewer-image>img{display:block;width:100%;height:55dvh;background:transparent;object-fit:contain;border-radius:0}
.viewer-image .viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;background:#ffffff30;color:white;width:52px;height:52px;font-size:38px;line-height:1;padding:0}
.viewer-prev{left:-58px}.viewer-next{right:-58px}.viewer-image [hidden]{display:none}
.viewer-image .viewer-enlarge{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#0009;border:0;border-radius:8px;color:white;padding:10px 18px;white-space:nowrap;font:inherit;font-size:15px}
.viewer-position{position:absolute;bottom:12px;right:12px;background:#0009;border-radius:6px;padding:5px 10px;margin:0;font-size:16px;color:white}
.viewer-thumbs{width:max-content;max-width:100%;margin:20px auto 0;padding:3px 2px 8px;gap:10px;align-items:center}
.viewer-thumbs button{background:transparent;border:2px solid transparent;padding:2px;border-radius:12px}
.viewer-thumbs button[aria-pressed=true]{border-color:#fff}
.viewer-thumbs img{width:88px;height:72px;object-fit:cover;border-radius:8px}
.photo-viewer button:focus-visible{outline:3px solid #ff963f;outline-offset:3px}
.photo-viewer.viewer-expanded{width:98vw;max-width:98vw;padding-inline:60px}
.viewer-expanded .viewer-image>img{height:74dvh}.viewer-expanded .viewer-thumbs{display:none}
@media(max-width:700px){.site .activity-gallery.gallery-grid{height:300px;grid-template-columns:2fr 1fr;gap:6px}.site .gallery-grid .gallery-tile:nth-child(n+4){display:none}.site .gallery-grid.gallery-1{grid-template-columns:1fr}.site .gallery-grid>.gallery-count{font-size:12px;bottom:10px;inset-inline-end:10px;padding:8px 10px}.photo-viewer,.photo-viewer.viewer-expanded{padding:16px 8px;width:96vw;max-width:96vw}.viewer-tab{font-size:15px;padding:8px 20px}.viewer-head{margin-bottom:20px}.viewer-image>img{width:100%;height:52dvh}.viewer-image .viewer-arrow{width:42px;height:42px;font-size:30px}.viewer-prev{left:4px}.viewer-next{right:4px}.viewer-thumbs img{width:66px;height:56px}.viewer-thumbs{gap:6px;margin-top:14px}.viewer-image .viewer-enlarge{font-size:12px;padding:8px 10px;bottom:8px}.viewer-position{font-size:12px;bottom:8px;right:6px}.viewer-expanded .viewer-image>img{height:72dvh}}
@media(prefers-reduced-motion:reduce){.site .gallery-tile img{transition:none}}
