:root{--sj-walnut:#2E1A0E;--sj-amber:#C17F3B;--sj-honey:#E8A84C;--sj-cream:#F5EFE4;--sj-linen:#EDE4D3;--sj-bark:#7A5230;--sj-charcoal:#2C2420;--sj-mist:#F9F5EE;--sj-mid:#6B5040;--sj-line:rgba(193,127,59,.18);--sj-shadow:0 22px 60px rgba(46,26,14,.08)}
.gallery-page{width:100%;padding:0;color:var(--sj-charcoal);font-family:'Noto Sans KR',sans-serif}
.gallery-card{background:#fff;border:1px solid var(--sj-line);border-radius:16px;box-shadow:var(--sj-shadow);overflow:hidden;margin-bottom:1.5rem}
.gallery-card__head{display:flex;align-items:center;gap:14px;padding:18px 24px;background:linear-gradient(90deg,var(--sj-walnut),var(--sj-bark));border-radius:16px 16px 0 0}
.gallery-card__icon{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:var(--sj-honey);font-size:1rem;flex-shrink:0;box-shadow:none}
.gallery-card__label{display:none}
.gallery-card__title{font-family:'Noto Serif KR',serif;font-size:1.35rem;font-weight:700;color:var(--sj-cream);line-height:1.25;letter-spacing:-.04em;margin:0}
.gallery-card__badge{margin-left:auto;font-size:.8rem;color:rgba(245,239,228,.9);white-space:nowrap;padding:6px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px}
.gallery-card__body{padding:30px 34px;background:#fff}
.gallery-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:16px;background:var(--sj-mist);border:1px solid rgba(193,127,59,.14)}
.gallery-toolbar .form-control,.gallery-toolbar .form-select{height:42px;border-radius:0;border:1px solid rgba(193,127,59,.24);font-size:.9rem;color:var(--sj-charcoal);background:#fff}
.gallery-toolbar .form-control:focus,.gallery-toolbar .form-select:focus{border-color:var(--sj-amber);box-shadow:0 0 0 .18rem rgba(193,127,59,.16)}
.gallery-search{display:flex;flex:1;min-width:260px;gap:.5rem;justify-content:flex-end}
.gallery-search input{flex:1;max-width:260px}
.gallery-search .btn{height:42px;border-radius:0;border-color:rgba(193,127,59,.35);color:var(--sj-bark);background:#fff}
.gallery-search .btn:hover{background:var(--sj-amber);border-color:var(--sj-amber);color:#fff}
.gallery-info{font-size:.9rem;color:var(--sj-mid);line-height:1.6;margin-bottom:20px!important}
.gallery-info strong{color:var(--sj-amber)}
.btn-write{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:42px;padding:0 18px;background:var(--sj-amber);color:#fff!important;border:0;border-radius:0;font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s}
.btn-write:hover{background:var(--sj-walnut);transform:translateY(-2px);box-shadow:0 14px 30px rgba(46,26,14,.18);color:#fff!important}
.admin-btns{display:flex;gap:.4rem;margin-left:0}
.admin-btns .btn,.pagination-btns .btn,.action-bar .btn{border-radius:0;font-size:.82rem;border-color:rgba(193,127,59,.32);color:var(--sj-bark);background:#fff}
.admin-btns .btn:hover,.pagination-btns .btn:hover,.action-bar .btn:hover{background:var(--sj-amber);border-color:var(--sj-amber);color:#fff}
.cat-dropdown .dropdown-toggle{height:42px;border-radius:0;font-size:.88rem;border:1px solid rgba(193,127,59,.28);color:var(--sj-bark);background:#fff}
.cat-dropdown .dropdown-menu{border-radius:0;box-shadow:0 18px 45px rgba(46,26,14,.12);border:1px solid var(--sj-line)}
.cat-dropdown .dropdown-item{font-size:.88rem;padding:.5rem 1rem;color:var(--sj-mid)}
.cat-dropdown .dropdown-item:hover,.cat-dropdown .active .dropdown-item{background:#fbf6ed;color:var(--sj-amber);font-weight:600}
.notice-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px 18px;background:#fff8ed;border:1px solid rgba(193,127,59,.22);margin-bottom:.7rem;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.notice-item:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(46,26,14,.08);border-color:var(--sj-amber);color:inherit}
.notice-icon{width:44px;height:44px;border-radius:50%;background:var(--sj-walnut);display:flex;align-items:center;justify-content:center;color:var(--sj-honey);font-size:.82rem;flex-shrink:0}
.notice-body{min-width:0}
.notice-body h6{font-family:'Noto Serif KR',serif;font-size:1.02rem;font-weight:700;color:var(--sj-walnut);margin:0 0 .25rem;line-height:1.35;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.notice-body p{font-size:.86rem;color:var(--sj-mid);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-date{font-family:'Playfair Display',serif;font-size:.8rem;color:#a58a73;white-space:nowrap;margin-top:.15rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gcard{position:relative;background:#fff;overflow:hidden;border:1px solid var(--sj-line);text-decoration:none;color:inherit;display:block;transition:transform .24s,box-shadow .24s,border-color .24s}
.gcard:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(46,26,14,.12);border-color:var(--sj-amber);color:inherit}
.gcard__thumb{position:relative;overflow:hidden;aspect-ratio:4/3;background:#f5efe4}
.gcard__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.gcard:hover .gcard__thumb img{transform:scale(1.06)}
.gcard__thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(46,26,14,.46));opacity:.72;transition:opacity .2s}
.gcard:hover .gcard__thumb::after{opacity:.9}
.gcard__badges{position:absolute;top:.65rem;left:.65rem;display:flex;gap:.35rem;z-index:2}
.gcard__badge-new,.gcard__badge-lock,.gcard__badge-file{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;font-size:.65rem;font-weight:800;color:#fff;background:var(--sj-amber);padding:.1rem .45rem;border-radius:999px;line-height:1}
.gcard__badge-lock,.gcard__badge-file{background:rgba(46,26,14,.72)}
.gcard__body{padding:18px 20px;background:#fff}
.gcard__title{font-family:'Noto Serif KR',serif;font-size:1.08rem;font-weight:700;color:var(--sj-walnut);line-height:1.38;letter-spacing:-.03em;margin:0 0 .45rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gcard__desc{font-size:.88rem;color:var(--sj-mid);line-height:1.55;margin:0 0 .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gcard__meta{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.78rem;color:#9d8574}
.gcard__meta i{font-size:.7rem;color:var(--sj-amber);margin-right:3px}
.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:30px 0 1rem}
.pagination .page-link,.pagebox01 a,.pagebox01 span{color:var(--sj-bark)!important;border-color:rgba(193,127,59,.22)!important}
.pagination .active .page-link,.pagebox01 .selected,.pagebox01 strong{background:var(--sj-amber)!important;border-color:var(--sj-amber)!important;color:#fff!important}
.pagination-btns{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:24px;padding-top:22px;border-top:1px solid var(--sj-line)}
.view-page{width:100%;color:var(--sj-charcoal)}
.post-header{padding:8px 0 28px;margin-bottom:30px;border-bottom:1px solid var(--sj-line)}
.post-title{font-family:'Noto Serif KR',serif;font-size:clamp(1.8rem,3vw,3.4rem);font-weight:700;color:var(--sj-walnut);line-height:1.3;letter-spacing:-.06em;margin:0 0 18px;word-break:keep-all}
.post-title .badge-notice{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;color:var(--sj-honey);background:var(--sj-walnut);padding:.25rem .6rem;border-radius:999px;vertical-align:middle;margin-right:.45rem}
.post-title .badge-cat{font-size:.82rem;font-weight:700;color:var(--sj-amber);margin-right:.35rem}
.post-title .badge-file{color:var(--sj-amber);font-size:.9rem;margin-left:.35rem}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem 1.25rem;font-size:.88rem;color:var(--sj-mid)}
.post-meta i{font-size:.78rem;color:var(--sj-amber);margin-right:.25rem}
.post-meta-right{margin-left:auto;display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}
.post-meta-right a{color:var(--sj-bark);text-decoration:none;font-size:.84rem;transition:color .2s}
.post-meta-right a:hover{color:var(--sj-amber)}
.post-content{padding:1.5rem 0;font-size:1.02rem;line-height:2.05;color:var(--sj-charcoal);word-break:keep-all;overflow-wrap:break-word;min-height:220px}
.post-content img{max-width:100%;height:auto;border-radius:0}
.attach-box{background:#fbf6ed;border:1px solid var(--sj-line);border-radius:0;padding:20px;margin-top:1rem}
.attach-box__title{font-size:.9rem;font-weight:800;color:var(--sj-walnut);margin:0 0 .75rem;display:flex;align-items:center;gap:.4rem}
.attach-box__title i{color:var(--sj-amber)}
.attach-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.attach-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border:1px solid rgba(193,127,59,.13);font-size:.88rem}
.attach-list a{color:var(--sj-charcoal);text-decoration:none;display:flex;align-items:center;gap:.4rem;font-weight:600}
.attach-list a:hover{color:var(--sj-amber)}
.attach-list a i{color:var(--sj-amber);font-size:.8rem}
.attach-list .meta{font-size:.78rem;color:#9d8574;display:flex;gap:.5rem;white-space:nowrap}
.tag-box{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--sj-line)}
.tag-box a{display:inline-block;font-size:.78rem;color:var(--sj-amber);background:#fbf6ed;border:1px solid var(--sj-line);padding:.28rem .65rem;border-radius:999px;text-decoration:none;transition:background .2s,color .2s}
.tag-box a:hover{background:var(--sj-amber);color:#fff}
.score-box{display:flex;justify-content:center;gap:.75rem;padding:1.35rem 0;margin-top:.5rem;border-top:1px solid var(--sj-line)}
.score-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.25rem;border-radius:0;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;border:1px solid var(--sj-line);background:#fff;color:var(--sj-bark)}
.score-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(46,26,14,.1)}
.score-btn.good:hover{background:#fbf6ed;color:var(--sj-amber)}
.score-btn.bad:hover{background:#fff2ec;color:#b5332b}
.action-bar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.45rem;padding:1.2rem 0;border-top:1px solid var(--sj-line);margin-top:1rem}
.comment-toggle{display:flex;align-items:center;gap:.5rem;padding:.9rem 1rem;font-size:.92rem;color:var(--sj-bark);background:#fbf6ed;border:1px solid var(--sj-line);margin-top:1rem}
.comment-toggle i{color:var(--sj-amber)}
.comment-toggle a{color:var(--sj-walnut);text-decoration:underline;text-underline-offset:3px;font-weight:700}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--sj-line);border:1px solid var(--sj-line);margin-top:1rem}
.post-nav__item{background:#fff;padding:18px 20px;min-width:0;font-size:.9rem;color:var(--sj-mid)}
.post-nav__label{display:block;color:var(--sj-amber);font-weight:800;font-size:.82rem;margin-bottom:7px}
.post-nav__label i{margin-right:.3rem;font-size:.7rem;color:var(--sj-amber)}
.post-nav__item a{display:block;color:var(--sj-charcoal);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-nav__item a:hover{color:var(--sj-amber)}
.post-nav__item .no-link{color:#af9a89}
.hidden-notice{background:#fff8ed;border:1px solid rgba(193,127,59,.24);border-left:4px solid var(--sj-amber);border-radius:0;padding:.85rem 1rem;margin:1rem 0;font-size:.88rem;color:var(--sj-bark);line-height:1.65}
.sns-box{display:flex;gap:.5rem;margin-top:.75rem}
.sns-box img{cursor:pointer;border-radius:6px;transition:transform .15s}
.sns-box img:hover{transform:scale(1.1)}
.write-page{width:100%;color:var(--sj-charcoal)}
.form-group{margin-bottom:1rem}
.form-label{display:block;font-size:.84rem;font-weight:800;color:var(--sj-walnut);margin-bottom:.45rem;padding-left:.1rem}
.form-row{display:flex;gap:1rem}
.form-row>.form-group{flex:1;min-width:0}
.write-page .form-control,.write-page .form-select{min-height:46px;border-radius:0;border:1px solid rgba(193,127,59,.24);font-size:.95rem;padding:.6rem .9rem;color:var(--sj-charcoal);transition:border-color .2s,box-shadow .2s}
.write-page .form-control:focus,.write-page .form-select:focus{border-color:var(--sj-amber);box-shadow:0 0 0 .18rem rgba(193,127,59,.16)}
.write-page .form-control::placeholder{color:#b8a99a}
.subject-input{font-family:'Noto Serif KR',serif;font-size:1.25rem!important;font-weight:700;letter-spacing:-.03em;min-height:56px;padding:.75rem 1rem!important}
.switch-row{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding:1rem;background:#fbf6ed;border:1px solid var(--sj-line);border-radius:0;margin-bottom:1rem}
.switch-row .form-check-label{font-size:.88rem;color:var(--sj-mid)}
.switch-row .form-check-input:checked,.after-options .form-check-input:checked{background-color:var(--sj-amber);border-color:var(--sj-amber)}
.after-box{background:#fbf6ed;border:1px solid var(--sj-line);border-radius:0;padding:1rem;margin-top:1rem}
.after-box__title{font-size:.84rem;font-weight:800;color:var(--sj-walnut);margin-bottom:.6rem}
.after-options{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.after-options .form-check-label{font-size:.88rem;color:var(--sj-mid)}
.extra-fields{border-top:1px solid var(--sj-line);padding-top:1rem;margin-top:1rem}
.extra-help{font-size:.78rem;color:#9b8270;margin-top:.35rem;line-height:1.55}
.social-box,.editor-notice{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:#fff8ed;border:1px solid rgba(193,127,59,.24);border-left:4px solid var(--sj-amber);border-radius:0;margin-top:1rem;font-size:.9rem;color:var(--sj-bark)}
.write-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:1.25rem;margin-top:1rem;border-top:1px solid var(--sj-line)}
.btn-cancel,.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:46px;padding:0 24px;border-radius:0;font-size:.9rem;font-weight:800;border:0;cursor:pointer;transition:background .2s,transform .15s,box-shadow .15s}
.btn-cancel{color:var(--sj-bark);background:#eee5d8;border:1px solid rgba(193,127,59,.18)}
.btn-cancel:hover{background:#e4d7c5;transform:translateY(-1px)}
.btn-submit{color:#fff;background:var(--sj-amber)}
.btn-submit:hover{background:var(--sj-walnut);transform:translateY(-1px);box-shadow:0 14px 30px rgba(46,26,14,.14)}
@media(max-width:991px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.post-nav{grid-template-columns:1fr}.gallery-card__body{padding:24px}}
@media(max-width:768px){.post-title{font-size:1.45rem}.post-meta-right{margin-left:0;width:100%;justify-content:flex-start}.action-bar{justify-content:center}.form-row{flex-direction:column;gap:0}.write-actions{justify-content:center}.after-options{flex-direction:column}}
@media(max-width:576px){.gallery-card__head{padding:16px 18px}.gallery-card__body{padding:20px}.gallery-card__badge{display:none}.gallery-toolbar{flex-direction:column;align-items:stretch}.gallery-search{min-width:0;display:grid;grid-template-columns:1fr auto}.gallery-search .form-select{grid-column:1 / -1;max-width:none!important}.gallery-search input{max-width:none}.gallery-grid{grid-template-columns:1fr}.notice-item{grid-template-columns:36px 1fr}.notice-date{grid-column:2}.pagination-btns{align-items:stretch}.pagination-btns>div{display:flex;gap:.5rem;flex-wrap:wrap}.btn-write{width:100%}.write-actions{align-items:stretch}.btn-cancel,.btn-submit{flex:1}}
/* 갤러리 리스트 3열 고정 */
.gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.gcard{width:100%!important}
.gcard__thumb{aspect-ratio:4 / 3!important;background:#f7f1e8!important}
.gcard__thumb img{width:100%!important;height:100%!important;object-fit:cover!important}

/* 태블릿 2열 */
@media(max-width:991.98px){
	.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}

/* 모바일 1열 */
@media(max-width:575.98px){
	.gallery-grid{grid-template-columns:1fr!important;gap:16px!important}
}