.photo-page .photo-layout{display:block;max-width:1400px;width:100%;margin:0 auto;padding:48px 20px 80px}.photo-page .content-wrap{width:100%;min-width:0}.photo-page .breadcrumb a{text-decoration:underline;text-underline-offset:3px}.photo-page .board-gallery-body>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}.photo-page .board-gallery-body>ul>li{min-width:0}.photo-page .board-gallery-body>ul>li>a{display:block;color:#222;border:1px solid #CDD1D5;border-radius:12px;overflow:hidden;height:100%}.photo-page .board-gallery-body .img{aspect-ratio:1.5;overflow:hidden;background:#eef2f7}.photo-page .board-gallery-body .img img{display:block;width:100%;height:100%;object-fit:cover}.photo-page .board-gallery-body .text{padding:24px}.photo-page .board-gallery-body dl,.photo-page .board-gallery-body dd{margin:0}.photo-page .board-gallery-body dt{font-size:21px;font-weight:700;line-height:1.5;margin-bottom:24px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:63px}.photo-page .board-gallery-body dd{font-size:17px;color:#464c53}.photo-page .empty-board{grid-column:1/-1;text-align:center;padding:80px 24px;list-style:none}.photo-page .photo-meta{display:flex}.photo-page .photo-meta>dl{flex:1}.photo-page .photo-description p{margin:0 0 12px}.photo-page .photo-description p:empty{display:none}.photo-page .photo-stage{position:relative;background:#f4f5f6;display:flex;align-items:center;justify-content:center;min-height:300px}.photo-page .photo-main-image{display:block;max-width:100%;width:auto;height:auto;max-height:700px;object-fit:contain}.photo-stage>button{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #ddd;border-radius:50%;background:white;font-size:32px;width:44px;height:44px;z-index:1}.photo-prev{left:16px}.photo-next{right:16px}.photo-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin:16px 0 24px}.photo-count{margin-right:auto;min-width:60px;font-size:17px}.photo-thumbs{display:flex;gap:12px;overflow:auto;padding-bottom:8px}.photo-thumbs button{width:120px;height:85px;flex:none;border:2px solid transparent;padding:0;overflow:hidden;background:#eef2f7}.photo-thumbs button[aria-current=true]{border-color:#845BA6}.photo-thumbs img{display:block;width:100%;height:100%;object-fit:cover}.photo-lightbox{max-width:95vw;max-height:95dvh;padding:20px;border:0;border-radius:12px}.photo-lightbox::backdrop{background:#000b}.photo-lightbox>button{display:block;margin:0 0 16px auto}.photo-lightbox img{max-width:100%;height:auto;display:block}.photo-page .board-view-body{padding:32px 0}.photo-page .board-view-foot .btn-wrap{display:flex;gap:8px}.photo-page .board-view-foot .btn-wrap>a:first-child{margin-right:auto}.photo-page [data-admin-action][hidden]{display:none!important}.photo-page #post-shot_date{height:48px}.photo-page .board-search{margin-bottom:40px}
@media(max-width:1023px){.photo-page .board-gallery-body>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.photo-page .photo-layout{padding:40px 16px 60px}.photo-page .board-gallery-body>ul{gap:16px}.photo-page .board-gallery-body .text{padding:16px}.photo-page .board-gallery-body dt{font-size:19px;min-height:57px}.photo-page .photo-meta{display:block}.photo-controls{gap:8px}.photo-page .photo-main-image{max-height:500px}.photo-page .photo-stage{min-height:200px}}
@media(max-width:479px){.photo-page .board-gallery-body>ul{grid-template-columns:1fr}}
.photo-page .board-gallery-body .img{background-image:none!important}
@media print{.photo-page header,.photo-page footer,.photo-controls,.photo-thumbs,.photo-stage>button{display:none}.photo-page .photo-layout{padding:0}.photo-page .photo-stage{background:white}}

.photo-viewport{width:100%;overflow:hidden;touch-action:pan-y}.photo-track{display:flex;width:100%;height:650px;transition:transform .45s ease;align-items:stretch}.photo-slide{flex:0 0 100%;width:100%;min-width:0;display:flex;align-items:center;justify-content:center}.photo-slide img{display:block;width:100%;height:100%;object-fit:contain}.photo-editor-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px}#photo-form>label,#photo-form .photo-editor-meta label{display:block;font-size:17px;font-weight:700;margin:24px 0 10px}#photo-form input:not([type=file]),#photo-form textarea{width:100%;border:1px solid #b1b8be;border-radius:6px;padding:12px;font:inherit}#photo-form input:not([type=file]){height:48px}#photo-form textarea{resize:vertical}.photo-upload-heading{display:flex;align-items:center;gap:16px;margin-top:32px}.photo-upload-heading h3{font-size:21px;margin:0}.photo-upload-heading label{cursor:pointer}.photo-editor-help{font-size:15px;margin:16px 0;color:#59636c}#photo-upload-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0}#photo-upload-list li{border:1px solid #cdd1d5;border-radius:8px;overflow:hidden;padding:12px}#photo-upload-list img{width:100%;height:150px;object-fit:contain;background:#f4f5f6}#photo-upload-list p{word-break:break-all;font-size:14px;margin:8px 0}#photo-upload-list .photo-move{display:flex;gap:6px;flex-wrap:wrap}#photo-upload-list button{padding:5px 8px;border:1px solid #b1b8be;border-radius:4px}#photo-form .editor-actions{margin-top:32px}#photo-upload-empty{padding:40px;text-align:center;background:#f4f5f6;border-radius:8px}
@media(max-width:767px){.photo-track{height:420px}.photo-editor-meta{grid-template-columns:1fr;gap:0}#photo-upload-list{grid-template-columns:repeat(2,minmax(0,1fr))}#photo-upload-list img{height:120px}}
@media(prefers-reduced-motion:reduce){.photo-track{transition:none}}

.photo-stage>button{display:grid;place-items:center;padding:0;width:40px;height:40px}.photo-stage>button svg{width:24px;height:24px;display:block}.photo-stage>.photo-prev svg{transform:rotate(180deg)}.photo-page .board-gallery-body>ul:has(>.empty-board:only-child){display:flex;justify-content:center;align-items:center;min-height:240px;width:100%}.photo-page .board-gallery-body>ul>.empty-board:only-child{width:100%;margin:0;text-align:center}
