.christmas-menu-album{margin:28px 0;padding:18px;background:#fff8ec;border:1px solid #e7ccb0;border-radius:18px;min-width:0}
.christmas-album-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.christmas-menu-album .christmas-album-header h2{margin:0;color:#245443;font:700 clamp(18px,2vw,22px)/1.4 "Noto Serif TC",serif}
.christmas-album-controls{display:flex;gap:8px;flex-shrink:0}
.christmas-album-arrow{display:grid;place-items:center;width:34px;height:34px;min-height:0;padding:0;border:1px solid #dac7b3;border-radius:50%;background:#fffdf7;color:#245443;cursor:pointer}
.christmas-album-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.christmas-album-arrow:disabled{opacity:.3;cursor:default}
.christmas-album-arrow:focus-visible,.christmas-album-track:focus-visible,.christmas-album-frame:focus-visible{outline:2px solid #72192b;outline-offset:3px}
.christmas-album-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bda98d transparent;padding:0 0 10px;min-width:0;-webkit-overflow-scrolling:touch}
.christmas-album-track>figure{flex:0 0 calc((100% - 28px)/3);min-width:0;scroll-snap-align:start;margin:0}
.christmas-album-frame{display:flex;align-items:center;justify-content:center;height:260px;overflow:hidden;border-radius:12px;background:#fffdf7}
.christmas-menu-album .christmas-album-frame img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.christmas-menu-album figcaption{margin-top:7px;text-align:center;font-size:13px;line-height:1.5;color:#805a3a}
@media(max-width:720px){.christmas-menu-album{padding:14px;margin:22px 0}.christmas-album-header{gap:8px;margin-bottom:12px}.christmas-menu-album .christmas-album-header h2{font-size:18px}.christmas-album-track{gap:12px}.christmas-album-track>figure{flex-basis:84%}.christmas-album-frame{height:250px}.christmas-album-controls{gap:6px}.christmas-album-arrow{width:32px;height:32px}}

.christmas-album-frame[type=button]{width:100%;padding:0;border:0;font:inherit;color:inherit;text-align:inherit;appearance:none;cursor:zoom-in}
body.christmas-album-zoom-open{overflow:hidden}
dialog.christmas-album-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;box-sizing:border-box;margin:0;padding:max(12px,env(safe-area-inset-top)) 16px max(12px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#10271f;color:#fff8ec;overflow:hidden}
dialog.christmas-album-lightbox[open]{display:flex;flex-direction:column;gap:10px}
dialog.christmas-album-lightbox::backdrop{background:#10271ff0}
.christmas-album-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}
.christmas-album-dialog-title{font-size:15px;line-height:1.5}
.christmas-album-dialog-header button{flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid #fff5;border-radius:50%;background:#ffffff12;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.christmas-album-dialog-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;flex:1;min-height:0;touch-action:pan-y}
.christmas-album-dialog-arrow{width:42px;height:52px;padding:0;border:1px solid #fff5;border-radius:24px;background:#ffffff12;color:#fff8ec;font-size:34px;line-height:1;cursor:pointer}
.christmas-album-large-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent;cursor:pointer;touch-action:pan-y}
.christmas-album-large-photo img{display:block;width:100%;height:100%;max-height:calc(100dvh - 116px);object-fit:contain;user-select:none;-webkit-user-drag:none}
.christmas-album-dialog-count{margin:0;text-align:center;font-size:14px;line-height:22px;min-height:22px}
.christmas-album-lightbox button:focus-visible{outline:2px solid #f2d58b;outline-offset:3px}
@media(max-width:600px){dialog.christmas-album-lightbox{padding-left:8px;padding-right:8px}.christmas-album-dialog-stage{grid-template-columns:28px minmax(0,1fr) 28px;gap:4px}.christmas-album-dialog-arrow{width:28px;height:44px;font-size:28px}.christmas-album-dialog-title{font-size:14px}}

/* Photo title visibility 69 */
#christmas-album-lightbox .christmas-album-dialog-title,#lightbox #lightbox-title{display:none}
#christmas-album-lightbox .christmas-album-dialog-header,#lightbox .lightbox-head{justify-content:flex-end}
