:root{--paper:#f7f3ed;--ink:#1f1f1c;--muted:#706b64;--line:#ddd7ce;--white:#fff;--accent:#d97757;--accent-hover:#c56547;--accent-soft:#f1e0d8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px}.page-width{max-width:1240px;margin:auto}.site-header{background:rgba(245,245,240,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navbar{min-height:70px}.navbar-brand{font-weight:700;letter-spacing:-.04em;color:var(--ink)}.navbar-brand:hover{color:var(--accent)}.nav-link{color:var(--ink)!important;font-size:14px}.nav-link:hover{color:var(--accent)!important}.nav-button{background:none;border:0}.search-form{width:min(360px,100%)}.search-form input{width:100%;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:9px 15px;outline:0}.search-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hero-row{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:60px 0 45px;border-bottom:1px solid var(--line)}h1{font-size:clamp(32px,5vw,58px);line-height:.98;letter-spacing:-.055em;margin:0 0 15px;font-weight:700}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;margin:0 0 13px}.muted{color:var(--muted)}.hero-btn{white-space:nowrap;background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.hero-btn:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.feed-layout{display:grid;grid-template-columns:190px minmax(0,720px);gap:55px;justify-content:center;padding:38px 0}.side-panel{padding-top:5px}.side-title{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:10px}.side-link{display:block;padding:7px 0;color:var(--muted);text-decoration:none}.side-link:hover{color:var(--accent)}.feed{min-width:0}.post-card,.empty-card,.profile-card{background:var(--white);border:1px solid var(--line);padding:24px;margin-bottom:20px}.post-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:16px}.type-label{font-size:10px;letter-spacing:.14em;border:1px solid var(--accent);color:var(--accent);padding:5px 8px;white-space:nowrap}.small{font-size:12px}.post-title{font-size:25px;font-weight:700;letter-spacing:-.03em;color:var(--ink);text-decoration:none;display:block;margin-bottom:4px}.post-title:hover{color:var(--accent)}.post-image{display:block;width:100%;max-height:520px;object-fit:cover;border:1px solid var(--line);margin:16px 0}.post-text{line-height:1.6;margin:12px 0}.post-stats{display:flex;gap:20px;color:var(--muted);font-size:12px;padding:13px 0;border-top:1px solid var(--line)}.post-actions{display:flex;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.post-actions button,.post-actions a{border:0;background:none;color:var(--ink);text-decoration:none;padding:0;font:inherit}.post-actions button:hover,.post-actions a:hover{color:var(--accent)}.comment-box{padding-top:15px}.comment{padding:10px 0;border-bottom:1px solid #eee;display:flex;gap:8px;flex-wrap:wrap}.comment span{color:var(--muted)}.form-shell,.detail-shell{max-width:760px;margin:35px auto}.form-header{margin-bottom:30px}.form-header h1{font-size:42px}.simple-form{background:var(--white);border:1px solid var(--line);padding:28px}.simple-form label{display:block;font-size:12px;font-weight:700;margin:18px 0 7px}.simple-form input:not([type=radio]):not([type=file]),.simple-form textarea,.simple-form select,.comment-form input,.inline-form input{width:100%;border:1px solid var(--line);padding:11px 12px;background:#fff;outline:none}.simple-form input:focus,.simple-form textarea:focus,.simple-form select:focus,.comment-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.type-options{display:flex;gap:25px}.type-options label{font-weight:400;margin:0}.type-options input{margin-right:7px}.detail-card{margin-top:18px}.back-link{color:var(--muted);text-decoration:none}.back-link:hover{color:var(--accent)}.detail-title{font-size:44px}.detail-image{width:100%;max-height:650px;object-fit:contain;background:#eee;border:1px solid var(--line);margin:15px 0}.detail-text{font-size:16px;line-height:1.7}.comment-form{display:flex;gap:8px;margin-top:15px}.comments-list{margin-top:15px}.comment.full{display:block}.comment.full>div:first-child{display:flex;gap:10px;align-items:baseline}.delete-link,.row-actions button,.table-row button{background:none;border:0;color:#777;font-size:12px;padding:0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:40px 0 25px}.section-heading h1{font-size:44px}.simple-table{border-top:1px solid var(--line)}.table-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.row-actions{display:flex;gap:16px;align-items:center}.row-actions a{color:var(--ink);text-decoration:none}.row-actions a:hover{color:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stat{background:#fff;border:1px solid var(--line);padding:22px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:34px;margin-top:12px}.admin-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.admin-links a{background:#fff;border:1px solid var(--line);padding:22px;color:var(--ink);text-decoration:none}.inline-form{display:flex;gap:8px;max-width:520px;margin-bottom:25px}.footer{border-top:1px solid var(--line);padding:25px 15px;color:var(--muted);font-size:12px}.navbar-toggler{border:1px solid var(--line)}
@media(max-width:991px){.page-width{padding-left:18px;padding-right:18px}.feed-layout{grid-template-columns:1fr;max-width:760px;margin:auto}.desktop-only{display:none}.hero-row{padding:45px 0 35px}.stats-grid{grid-template-columns:repeat(3,1fr)}.admin-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){body{font-size:14px}.navbar{min-height:62px}.hero-row{display:block;padding:38px 0 28px}.hero-row h1{font-size:38px}.hero-btn{display:block;margin-top:22px;width:100%}.feed-layout{padding-top:20px}.post-card{padding:17px}.post-title{font-size:22px}.post-image{max-height:420px}.form-shell,.detail-shell{margin:20px auto}.form-header h1,.detail-title,.section-heading h1{font-size:34px}.simple-form{padding:19px}.comment-form{display:block}.comment-form button{margin-top:8px;width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-links{grid-template-columns:1fr}.table-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.inline-form{display:block}.inline-form button{margin-top:8px;width:100%}.search-form{margin:12px 0}.nav-button{padding-left:0}}

.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover,.btn-accent:focus{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.accent-link{color:var(--accent);text-decoration:none}.accent-link:hover{color:var(--accent-hover)}

/* Create post refresh */
.create-page{max-width:1100px;margin:25px auto 70px}.create-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:35px 0 32px;border-bottom:1px solid var(--line)}.create-intro h1{max-width:680px;font-size:clamp(38px,5vw,60px);margin-bottom:12px}.create-subtitle{max-width:650px;color:var(--muted);line-height:1.65;margin:0}.create-back{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px;font-size:13px;white-space:nowrap}.create-back:hover{color:var(--accent);border-color:var(--accent)}.create-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:45px;padding-top:35px}.create-side{padding-top:3px}.side-card{border-top:1px solid var(--line);padding:18px 0 20px;display:flex;flex-direction:column;gap:6px}.side-card:last-child{border-bottom:1px solid var(--line)}.side-number{font-size:11px;letter-spacing:.12em;color:var(--accent);font-weight:700}.side-card strong{font-size:15px}.side-card span:last-child{color:var(--muted);font-size:12px;line-height:1.55}.create-card{background:var(--white);border:1px solid var(--line)}.form-section{padding:26px 30px;border-top:1px solid var(--line)}.form-section.first-section{border-top:0}.section-label,.settings-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:14px}.post-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-choice{position:relative;margin:0!important}.type-choice input{position:absolute;opacity:0}.type-choice span{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);padding:18px 20px;cursor:pointer;transition:.2s}.type-choice b{font-size:16px}.type-choice small{color:var(--muted);line-height:1.45}.type-choice input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.field-grid{display:grid;gap:20px}.two-columns{grid-template-columns:1fr 1fr}.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0 0 8px}.field input:not([type=file]),.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;outline:none;color:var(--ink);border-radius:0}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.upload-box{border:1px dashed #c9c1b7;min-height:120px;padding:22px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;background:#fbfaf7;position:relative}.upload-box input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-box strong{font-size:14px}.upload-box span{font-size:12px;color:var(--muted)}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 30px;background:#fbfaf7;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.publish-button{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:12px 22px;font-weight:700;cursor:pointer;transition:.2s}.publish-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.form-error{color:#b84f43;font-size:12px;margin-top:7px}.success-message{background:var(--accent-soft);border:1px solid #e1c4b8;color:#754335;padding:12px 14px;margin-bottom:22px;font-size:13px}.admin-subtitle{max-width:600px;margin:0}.admin-settings-layout{display:grid;grid-template-columns:300px minmax(0,620px);gap:55px;padding:10px 0 60px;justify-content:center}.settings-intro{border-top:1px solid var(--line);padding-top:18px}.settings-number{font-size:11px;letter-spacing:.13em;color:var(--accent);font-weight:700}.settings-intro h2{font-size:28px;letter-spacing:-.03em;margin:12px 0 8px}.settings-intro p{color:var(--muted);font-size:13px;line-height:1.6}.settings-note{border-left:3px solid var(--accent);background:var(--accent-soft);padding:13px 15px;font-size:12px;line-height:1.55;margin-top:22px}.settings-card{background:#fff;border:1px solid var(--line);padding:30px}.settings-divider{border-top:1px solid var(--line);margin:28px 0}.settings-group-title{margin-bottom:20px}.settings-save{margin-top:10px}
@media(max-width:991px){.create-layout{grid-template-columns:1fr;gap:25px}.create-side{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.side-card{border-bottom:1px solid var(--line)}.admin-settings-layout{grid-template-columns:1fr;gap:25px;max-width:720px}.settings-intro{border-top:0}.create-page{padding:0 18px}}
@media(max-width:575px){.create-intro{display:block}.create-back{display:inline-block;margin-top:18px}.create-layout{padding-top:22px}.create-side{display:none}.post-type-grid,.two-columns{grid-template-columns:1fr}.form-section{padding:22px 18px}.form-footer{padding:18px;display:block}.publish-button{width:100%;margin-top:15px}.settings-card{padding:20px}.admin-heading{display:block}.admin-heading .create-back{margin-top:10px}}

/* Detail page */
.detail-page{max-width:1120px;margin:20px auto 70px}.detail-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.detail-edit{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);font-size:13px}.detail-edit:hover{color:var(--accent);border-color:var(--accent)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.detail-main{background:#fff;border:1px solid var(--line)}.detail-media{background:#f0ede7;min-height:380px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.detail-media img{display:block;width:100%;max-height:650px;object-fit:contain}.detail-no-image{height:380px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.detail-content{padding:30px}.detail-meta-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.detail-title{font-size:clamp(36px,5vw,58px);margin:18px 0 10px}.detail-location{color:var(--muted);font-size:13px}.detail-location span{margin:0 6px;color:#b2aca4}.detail-text{font-size:16px;line-height:1.75;margin:28px 0 25px;white-space:pre-wrap}.detail-actions{border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;gap:18px}.detail-actions form{margin:0}.like-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:#fff;color:var(--ink);padding:10px 18px;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;transition:.2s}.like-button:hover,.like-button.liked{background:var(--accent);border-color:var(--accent);color:#fff}.detail-count{font-size:12px;color:var(--muted)}.detail-sidebar{display:flex;flex-direction:column;gap:18px}.detail-author,.comments-panel{background:#fff;border:1px solid var(--line);padding:22px}.detail-author{display:flex;flex-direction:column;gap:6px}.sidebar-label{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--accent)}.comments-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}.detail-comment-form textarea{width:100%;min-height:95px;resize:vertical;border:1px solid var(--line);padding:12px;outline:none}.detail-comment-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.detail-comment-form .publish-button{margin-top:8px;width:100%}.login-comment{display:block;border:1px solid var(--line);padding:12px;text-align:center;color:var(--ink);text-decoration:none;font-size:13px}.login-comment:hover{border-color:var(--accent);color:var(--accent)}.detail-comment{padding:15px 0;border-bottom:1px solid #eee}.detail-comment:last-child{border-bottom:0}.comment-author-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.comment-body{margin-top:7px;line-height:1.5;white-space:pre-wrap}.detail-comment .delete-link{margin-top:8px}.detail-comment .delete-link:hover{color:var(--accent)}
/* Image preview */
.image-preview{display:none;margin-top:15px;border:1px solid var(--line);background:#f5f2ec;padding:10px}.image-preview.visible{display:block}.image-preview img{display:block;width:100%;max-height:320px;object-fit:contain}.image-preview-name{display:block;margin-top:8px;font-size:12px;color:var(--muted);word-break:break-all}
@media(max-width:991px){.detail-grid{grid-template-columns:1fr}.detail-sidebar{display:grid;grid-template-columns:1fr 1.4fr}.detail-media{min-height:300px}}
@media(max-width:575px){.detail-page{margin-top:10px}.detail-topbar{margin-bottom:15px}.detail-content{padding:20px}.detail-title{font-size:36px}.detail-meta-row{align-items:flex-start}.detail-actions{flex-wrap:wrap}.detail-sidebar{display:block}.detail-author{margin-bottom:18px}.detail-media{min-height:240px}.detail-no-image{height:240px}}


/* LFMS compact feed, category drawer and reference ID */
.feed-toolbar{max-width:720px;margin:20px auto 10px;display:flex;align-items:center;gap:10px}.category-toggle{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.category-toggle:hover{border-color:var(--accent);color:var(--accent)}.feed-search{display:flex;flex:1;gap:8px}.search-input-wrap{position:relative;flex:1;display:flex;align-items:center}.feed-search input{flex:1;border:1px solid var(--line);background:#fff;padding:9px 38px 9px 12px;outline:none;border-radius:0}.feed-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;border:0!important;background:transparent!important;color:var(--muted)!important;font-size:22px;line-height:26px;cursor:pointer}.search-clear:hover{color:var(--accent)!important}.feed-search button{border:1px solid var(--accent);background:var(--accent);color:#fff;padding:9px 15px;cursor:pointer}.feed-search button:hover{background:var(--accent-hover)}.category-panel{max-width:720px;margin:0 auto 10px}.category-panel-inner{display:flex;flex-wrap:wrap;gap:4px 18px;background:#fff;border:1px solid var(--line);padding:12px 15px}.category-panel .side-link{padding:4px 0}.compact-hero{padding-top:38px;padding-bottom:30px}.compact-feed{grid-template-columns:minmax(0,720px);padding-top:18px}.compact-post-card{padding:18px;margin-bottom:14px}.compact-post-image{max-height:360px;margin:12px 0}.compact-post-text{line-height:1.5;margin:9px 0}.post-id-line{font-size:11px;color:var(--muted);margin:0 0 6px}.post-id-line a{color:var(--accent);text-decoration:none;font-weight:700}.post-id-line a:hover{text-decoration:underline}.detail-meta-left{display:flex;align-items:center;gap:10px}.post-reference{font-size:11px;color:var(--muted);letter-spacing:.04em}.compact-create-page{max-width:980px}.compact-create-layout{grid-template-columns:180px minmax(0,1fr);gap:28px;padding-top:25px}.compact-create-card .form-section{padding:20px 24px}.compact-create-card .field textarea{min-height:110px}.compact-create-card .upload-box{min-height:95px;padding:16px}.compact-create-card .form-footer{padding:16px 24px}.compact-create-page .create-intro{padding:25px 0 22px}.compact-create-page .create-intro h1{font-size:clamp(34px,4vw,48px)}
@media(max-width:991px){.compact-create-layout{grid-template-columns:1fr}.compact-create-layout .create-side{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.compact-feed{max-width:720px}.feed-toolbar,.category-panel{margin-left:18px;margin-right:18px}}
@media(max-width:575px){.feed-toolbar{display:block}.category-toggle{width:100%;justify-content:center}.feed-search{margin-top:8px}.feed-search button{padding-left:12px;padding-right:12px}.category-panel-inner{display:grid;grid-template-columns:1fr 1fr}.compact-post-card{padding:15px}.compact-post-image{max-height:300px}.compact-create-layout .create-side{display:none}.compact-create-card .form-section{padding:18px}.compact-create-card .form-footer{padding:16px 18px}}


/* Full image viewer */
.detail-media{position:relative;overflow:hidden}
.image-fullview-trigger{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;font:inherit;color:inherit}
.image-fullview-trigger img{display:block;width:100%;max-height:650px;object-fit:contain;transition:transform .2s ease,opacity .2s ease}
.image-fullview-trigger:hover img{transform:scale(1.012);opacity:.96}
.image-view-label{position:absolute;right:14px;bottom:14px;padding:9px 12px;background:rgba(31,31,28,.88);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;opacity:0;transform:translateY(5px);transition:.2s ease}
.image-fullview-trigger:hover .image-view-label,.image-fullview-trigger:focus-visible .image-view-label{opacity:1;transform:translateY(0)}
.image-viewer{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:28px}
.image-viewer.is-open{display:flex}
.image-viewer-backdrop{position:absolute;inset:0;background:rgba(18,18,16,.92);backdrop-filter:blur(4px)}
.image-viewer-content{position:relative;z-index:1;width:min(1200px,96vw);height:min(90vh,900px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}
.image-viewer-content img{max-width:100%;max-height:calc(100% - 38px);object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.image-viewer-close{position:absolute;right:0;top:-2px;background:#fff;color:var(--ink);border:0;padding:9px 14px;font-size:12px;font-weight:700;cursor:pointer}
.image-viewer-close:hover{background:var(--accent);color:#fff}
.image-viewer-caption{color:#fff;font-size:13px;text-align:center;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.image-viewer-open{overflow:hidden}
@media(max-width:575px){.image-viewer{padding:15px}.image-viewer-content{width:100%;height:88vh}.image-view-label{opacity:1;transform:none;right:9px;bottom:9px;padding:8px 10px}.image-viewer-close{right:0;top:0}.image-viewer-content img{max-height:calc(100% - 42px)}}


/* Post collection status */
.status-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:8px}.status-available{background:#f4f8f1;color:#49613f;border-color:#cbd8c4}.status-collected{background:var(--accent-soft);color:var(--accent);border-color:#e7c2b5}.status-action{border:1px solid var(--ink);background:#fff;color:var(--ink);padding:8px 11px;font-size:12px;cursor:pointer}.status-action:hover{background:var(--accent);border-color:var(--accent);color:#fff}.detail-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.detail-status-row .status-badge{margin-top:0}.status-form{margin:0}.collected-notice{margin-top:18px;padding:12px 14px;background:var(--accent-soft);border-left:3px solid var(--accent);font-size:12px;line-height:1.55;color:var(--ink)}.table-row .status-badge{margin-top:10px}.table-row .row-actions{align-items:center}
@media(max-width:575px){.table-row .row-actions{display:flex;flex-wrap:wrap;gap:8px}.status-action{width:auto}.detail-status-row{align-items:flex-start}}

.required-star{color:#c94f45;font-weight:800;margin-left:3px}.image-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.preview-card{border:1px solid var(--line);background:#f5f2ec;padding:8px;min-width:0}.preview-card img{display:block;width:100%;height:120px;object-fit:cover}.preview-card .image-preview-name{margin-top:6px;font-size:11px}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-gallery .image-fullview-trigger{width:100%;height:220px}.detail-gallery .image-fullview-trigger img{width:100%;height:100%;object-fit:cover}.gallery-count{font-size:12px;color:var(--muted);margin-top:10px}@media(max-width:700px){.image-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-gallery{grid-template-columns:1fr}.detail-gallery .image-fullview-trigger{height:240px}}

.image-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.92);color:var(--ink);border:0;padding:10px 14px;font-size:12px;font-weight:700;cursor:pointer;z-index:2}.image-viewer-nav:hover{background:var(--accent);color:#fff}.image-viewer-prev{left:8px}.image-viewer-next{right:8px}@media(max-width:575px){.image-viewer-nav{padding:9px 10px}.image-viewer-prev{left:2px}.image-viewer-next{right:2px}}

/* Search bars: square corners + clear buttons */
.search-form { width: min(360px, 100%); }
.navbar-search-wrap { position: relative; width: 100%; display: flex; align-items: center; }
.search-form .navbar-search-wrap input#navbarSearchInput { width: 100%; border: 1px solid var(--line); background: var(--white); border-radius: 0 !important; padding: 9px 38px 9px 12px; outline: 0; }
.search-form .navbar-search-wrap input#navbarSearchInput:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.navbar-search-clear { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 22px; line-height: 26px; cursor: pointer; }
.navbar-search-clear:hover { color: var(--accent); }
.feed-search .search-input-wrap input#feedSearchInput { border-radius: 0 !important; }
.feed-search .search-clear { display: inline-flex; align-items: center; justify-content: center; }

/* Search clear controls */
#navbarSearchInput, #feedSearchInput { border-radius: 0 !important; }
.navbar-search-clear, .search-clear {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 600;
    border-radius: 0 !important;
}


/* FINAL SEARCH OVERRIDE: all search bars are square and always show x */
.search-form, .search-form input, #navbarSearchInput, .feed-search, .feed-search input, #feedSearchInput { border-radius: 0 !important; }
.navbar-search-wrap, .search-input-wrap { position: relative !important; }
.navbar-search-clear, .search-clear { display: flex !important; visibility: visible !important; align-items: center; justify-content: center; border-radius: 0 !important; background: transparent !important; border: 0 !important; color: var(--ink) !important; font-size: 20px !important; font-weight: 700 !important; cursor: pointer !important; }
.navbar-search-clear:hover, .search-clear:hover { color: var(--accent) !important; }
#navbarSearchInput, #feedSearchInput { padding-right: 42px !important; }


/* Redesigned home feed cards */
.feed-post-card{padding:20px;margin-bottom:16px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.feed-post-card:hover{border-color:#cfc7bd;box-shadow:0 8px 26px rgba(31,31,28,.06);transform:translateY(-1px)}
.feed-post-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.feed-author{display:flex;align-items:center;gap:10px;min-width:0}
.feed-avatar{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;text-transform:uppercase}
.feed-author strong{display:block;font-size:13px;line-height:1.2}
.feed-post-id{display:inline-block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:2px 0 7px}
.feed-post-title{display:block;color:var(--ink);font-size:25px;line-height:1.12;font-weight:750;letter-spacing:-.035em;text-decoration:none;margin-bottom:8px}
.feed-post-title:hover{color:var(--accent)}
.feed-post-meta{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:11px;margin-bottom:14px}
.feed-post-meta span+span{position:relative;padding-left:12px}
.feed-post-meta span+span:before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;background:#b7b0a7;border-radius:50%;transform:translateY(-50%)}
.feed-image-wrap{display:block;position:relative;overflow:hidden;border:1px solid var(--line);background:#eee;text-decoration:none;margin:0 0 13px}
.feed-post-image{display:block;width:100%;height:280px;object-fit:cover;transition:transform .25s ease}
.feed-image-wrap:hover .feed-post-image{transform:scale(1.015)}
.feed-image-count{position:absolute;right:10px;bottom:10px;padding:6px 9px;background:rgba(31,31,28,.82);color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em}
.feed-post-description{font-size:13px;line-height:1.55;color:#4f4b45;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.feed-post-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}
.feed-post-stats{display:flex;gap:16px;color:var(--muted);font-size:11px}
.feed-view-link{color:var(--ink);text-decoration:none;font-size:11px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:2px}
.feed-view-link:hover{color:var(--accent);border-color:var(--accent)}
@media(min-width:900px){.compact-feed{max-width:760px}.feed-post-card{padding:20px}.feed-post-image{height:310px}}
@media(max-width:575px){.feed-post-card{padding:15px}.feed-post-top{margin-bottom:10px}.feed-post-title{font-size:22px}.feed-post-image{height:230px}.feed-post-meta{gap:4px 9px}.feed-post-footer{align-items:flex-start}.feed-post-stats{gap:10px;flex-wrap:wrap}.feed-avatar{width:31px;height:31px;flex-basis:31px}}

/* =========================================================
   LFMS HOME - SIMPLE COMPACT REDESIGN
   ========================================================= */

.lfms-home-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    padding:58px 0 38px;
    border-bottom:1px solid var(--line);
}

.lfms-kicker {
    display:block;
    margin-bottom:10px;
    color:var(--ink);
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.lfms-home-hero h1 {
    margin:0;
    max-width:720px;
    color:var(--ink);
    font-size:clamp(38px,5vw,62px);
    line-height:.98;
    letter-spacing:-.055em;
    font-weight:750;
}

.lfms-home-hero p {
    margin:16px 0 0;
    color:var(--muted);
    font-size:14px;
}

.lfms-create-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:130px;
    height:42px;
    padding:0 18px;
    background:var(--accent);
    color:#fff;
    border:1px solid var(--accent);
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.18s ease;
}

.lfms-create-btn:hover {
    background:#c56547;
    color:#fff;
}

.lfms-search-section {
    padding:24px 0 10px;
}

.lfms-search-row {
    display:flex;
    align-items:stretch;
    max-width:820px;
    margin:0 auto;
    gap:8px;
}

.lfms-category-btn,
.lfms-search-submit {
    height:44px;
    border-radius:0 !important;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
}

.lfms-category-btn {
    min-width:126px;
    padding:0 14px;
    background:#fff;
    border:1px solid var(--line);
    color:var(--ink);
}

.lfms-category-btn span {
    margin-right:6px;
}

.lfms-main-search {
    display:flex;
    flex:1;
    gap:8px;
}

.lfms-search-input {
    position:relative;
    flex:1;
}

.lfms-search-input input {
    width:100%;
    height:44px;
    padding:0 38px 0 14px;
    border:1px solid #cfc7bd;
    border-radius:0 !important;
    background:#fff;
    color:var(--ink);
    outline:none;
    box-sizing:border-box;
    font-size:13px;
}

.lfms-search-input input:focus {
    border-color:var(--accent);
}

.lfms-search-x {
    position:absolute;
    top:50%;
    right:5px;
    width:32px;
    height:32px;
    transform:translateY(-50%);
    border:0;
    border-radius:0;
    background:transparent;
    color:#777;
    font-size:17px;
    line-height:32px;
    cursor:pointer;
}

.lfms-search-x:hover {
    color:var(--accent);
}

.lfms-search-submit {
    min-width:82px;
    padding:0 16px;
    background:var(--accent);
    color:#fff;
    border:1px solid var(--accent);
}

.lfms-search-submit:hover {
    background:#c56547;
}

.lfms-category-panel {
    max-width:820px;
    margin:10px auto 0;
    padding:10px;
    border:1px solid var(--line);
    background:#fff;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.lfms-category-panel a {
    padding:8px 12px;
    border:1px solid var(--line);
    color:var(--ink);
    text-decoration:none;
    font-size:12px;
}

.lfms-category-panel a:hover {
    border-color:var(--accent);
    color:var(--accent);
}

.lfms-feed {
    width:min(100%, 760px);
    margin:26px auto 70px;
}

.lfms-feed-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    padding:0 2px 12px;
}

.lfms-feed-heading h2 {
    margin:0;
    font-size:25px;
    line-height:1;
    letter-spacing:-.03em;
}

.lfms-post-count {
    color:var(--muted);
    font-size:11px;
}

.lfms-empty {
    padding:35px;
    border:1px solid var(--line);
    background:#fff;
    text-align:center;
}

.lfms-empty h3 {
    margin:0 0 6px;
    font-size:18px;
}

.lfms-empty p {
    margin:0;
    color:var(--muted);
    font-size:13px;
}

.lfms-post {
    padding:18px;
    margin-bottom:14px;
    border:1px solid var(--line);
    background:#fff;
    transition:border-color .18s ease, box-shadow .18s ease;
}

.lfms-post:hover {
    border-color:#cfc7bd;
    box-shadow:0 7px 22px rgba(31,31,28,.055);
}

.lfms-post-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:11px;
}

.lfms-user {
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.lfms-avatar {
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f1e0d8;
    color:var(--accent);
    font-size:12px;
    font-weight:800;
    border-radius:50%;
}

.lfms-user strong {
    display:block;
    font-size:12px;
    line-height:1.2;
}

.lfms-user span {
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
}

.lfms-type {
    padding:5px 8px;
    border:1px solid var(--accent);
    color:var(--accent);
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
}

.lfms-type.found {
    background:#f7eee9;
}

.lfms-reference {
    margin-bottom:5px;
    color:var(--muted);
    font-size:9px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.lfms-reference b {
    color:var(--accent);
}

.lfms-post-title {
    display:block;
    margin-bottom:6px;
    color:var(--ink);
    text-decoration:none;
    font-size:22px;
    line-height:1.15;
    font-weight:750;
    letter-spacing:-.035em;
}

.lfms-post-title:hover {
    color:var(--accent);
}

.lfms-meta {
    display:flex;
    flex-wrap:wrap;
    gap:4px 12px;
    margin-bottom:12px;
    color:var(--muted);
    font-size:10px;
}

.lfms-meta span + span {
    position:relative;
    padding-left:12px;
}

.lfms-meta span + span::before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:3px;
    height:3px;
    background:#b7b0a7;
    border-radius:50%;
    transform:translateY(-50%);
}

.lfms-image {
    position:relative;
    display:block;
    width:100%;
    height:175px;
    overflow:hidden;
    margin-bottom:11px;
    background:#eee8e1;
    border:1px solid var(--line);
}

.lfms-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .22s ease;
}

.lfms-image:hover img {
    transform:scale(1.02);
}

.lfms-image-more {
    position:absolute;
    right:8px;
    bottom:8px;
    padding:5px 8px;
    background:rgba(20,20,20,.78);
    color:#fff;
    font-size:10px;
}

.lfms-description {
    margin:0 0 12px;
    color:#57534d;
    font-size:12px;
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.lfms-post-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:10px;
    border-top:1px solid var(--line);
}

.lfms-stats {
    display:flex;
    gap:14px;
    color:var(--muted);
    font-size:10px;
}

.lfms-view {
    color:var(--accent);
    text-decoration:none;
    font-size:11px;
    font-weight:700;
}

.lfms-view:hover {
    text-decoration:underline;
}

@media (max-width: 720px) {
    .lfms-home-hero {
        display:block;
        padding:38px 0 28px;
    }

    .lfms-home-hero h1 {
        font-size:40px;
    }

    .lfms-create-btn {
        margin-top:18px;
    }

    .lfms-search-row {
        display:block;
    }

    .lfms-category-btn {
        width:100%;
        margin-bottom:8px;
    }

    .lfms-main-search {
        display:flex;
    }

    .lfms-search-submit {
        min-width:70px;
    }

    .lfms-feed {
        margin-top:22px;
    }

    .lfms-post {
        padding:14px;
    }

    .lfms-image {
        height:145px;
    }

    .lfms-post-title {
        font-size:20px;
    }
}

@media (max-width: 480px) {
    .lfms-main-search {
        display:block;
    }

    .lfms-search-input {
        margin-bottom:8px;
    }

    .lfms-search-submit {
        width:100%;
    }

    .lfms-image {
        height:135px;
    }
}

/* =========================================================
   LFMS INDEX + DETAILS IMAGE / FULL VIEW FINAL REDESIGN
   Preserve uploaded image aspect ratio - NO CROPPING
   ========================================================= */

/* INDEX: image is resized proportionally to its original ratio */
.lfms-image {
    display:flex !important;
    align-items:center;
    justify-content:center;
    height:auto !important;
    min-height:120px;
    max-height:310px;
    overflow:hidden;
    background:#f4f1eb;
}

.lfms-image img {
    display:block;
    width:auto !important;
    height:auto !important;
    max-width:100%;
    max-height:310px;
    object-fit:contain !important;
    margin:auto;
}

@media(max-width:720px) {
    .lfms-image {
        max-height:260px;
        min-height:100px;
    }

    .lfms-image img {
        max-height:260px;
    }
}

/* DETAILS PAGE - cleaner full-view layout */
.detail-page {
    max-width:1180px !important;
    margin:22px auto 70px !important;
}

.detail-topbar {
    padding:0 2px 14px;
    border-bottom:1px solid var(--line);
    margin-bottom:18px !important;
}

.detail-grid {
    grid-template-columns:minmax(0, 1fr) 320px !important;
    gap:22px !important;
}

.detail-main {
    overflow:hidden;
    box-shadow:0 5px 22px rgba(31,31,28,.045);
}

.detail-media {
    min-height:300px !important;
    padding:18px !important;
    background:#f5f2ec !important;
    border-bottom:1px solid var(--line);
}

/* Gallery keeps every uploaded image's original aspect ratio */
.detail-gallery {
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr)) !important;
    gap:12px !important;
    align-items:center;
}

.detail-gallery .image-fullview-trigger {
    width:100% !important;
    height:auto !important;
    min-height:180px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#fff;
    border:1px solid #e5dfd6;
    cursor:zoom-in;
}

.detail-gallery .image-fullview-trigger img {
    display:block;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:520px !important;
    object-fit:contain !important;
    margin:auto;
}

.image-fullview-trigger:hover img {
    transform:scale(1.008) !important;
    opacity:.97;
}

.image-view-label {
    opacity:0;
}

.gallery-count {
    margin-top:10px;
    color:var(--muted);
    font-size:10px;
    text-align:right;
}

.detail-content {
    padding:26px !important;
}

.detail-title {
    margin:14px 0 8px !important;
    font-size:clamp(32px,4vw,48px) !important;
    line-height:1.02 !important;
}

.detail-location {
    margin-bottom:0;
}

.detail-text {
    margin:20px 0 22px !important;
    font-size:14px !important;
    line-height:1.7 !important;
}

.detail-sidebar {
    position:sticky;
    top:18px;
}

.detail-author,
.comments-panel {
    box-shadow:0 5px 22px rgba(31,31,28,.035);
}

.detail-actions {
    flex-wrap:wrap;
}

.like-button {
    border-radius:0 !important;
}

/* Full-screen viewer: image always retains exact aspect ratio */
.image-viewer {
    padding:20px !important;
}

.image-viewer-content {
    width:min(1400px,96vw) !important;
    height:min(94vh,1000px) !important;
}

.image-viewer-content img {
    display:block;
    width:auto !important;
    height:auto !important;
    max-width:92vw !important;
    max-height:calc(94vh - 75px) !important;
    object-fit:contain !important;
    box-shadow:0 14px 55px rgba(0,0,0,.38);
}

.image-viewer-caption {
    flex:0 0 auto;
}

@media(max-width:991px) {
    .detail-grid {
        grid-template-columns:1fr !important;
    }

    .detail-sidebar {
        position:static;
    }

    .detail-gallery {
        grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
    }
}

@media(max-width:575px) {
    .detail-page {
        margin-top:10px !important;
    }

    .detail-media {
        padding:10px !important;
        min-height:220px !important;
    }

    .detail-gallery {
        grid-template-columns:1fr !important;
    }

    .detail-gallery .image-fullview-trigger {
        min-height:130px;
    }

    .detail-gallery .image-fullview-trigger img {
        max-height:360px !important;
    }

    .detail-content {
        padding:19px !important;
    }

    .detail-title {
        font-size:34px !important;
    }

    .image-viewer {
        padding:10px !important;
    }

    .image-viewer-content {
        width:100% !important;
        height:92vh !important;
    }

    .image-viewer-content img {
        max-width:96vw !important;
        max-height:calc(92vh - 60px) !important;
    }
}

/* =========================================================
   IMAGE UPLOAD SIZE + REMOVE CONTROLS
   ========================================================= */
.upload-box {
    overflow:hidden;
}

.image-preview-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}

.upload-preview-card {
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    background:#fff;
}

.upload-preview-card img {
    display:block;
    width:100% !important;
    height:115px !important;
    max-height:none !important;
    object-fit:contain !important;
    background:#f3f0ea;
}

.upload-preview-info {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    padding:7px 8px;
}

.upload-preview-info .image-preview-name {
    display:block;
    min-width:0;
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
}

.remove-preview-button,
.remove-image-button {
    flex:0 0 auto;
    border:1px solid #d8b2a5;
    background:#fff;
    color:var(--accent);
    padding:5px 8px;
    font-size:10px;
    cursor:pointer;
}

.remove-preview-button:hover,
.remove-image-button:hover {
    background:var(--accent);
    color:#fff;
    border-color:var(--accent);
}

.existing-image-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:10px 0;
}

.existing-image-card {
    min-width:0;
    border:1px solid var(--line);
    background:#fff;
    overflow:hidden;
}

.existing-image-card img {
    display:block;
    width:100%;
    height:115px;
    object-fit:contain;
    background:#f3f0ea;
}

.existing-image-actions {
    padding:7px 8px;
    font-size:9px;
    color:var(--muted);
}

.existing-image-list {
    display:none;
}

.no-existing-images {
    padding:12px;
    border:1px dashed var(--line);
    color:var(--muted);
    font-size:11px;
}

.image-help {
    margin:7px 0 10px;
    font-size:10px;
}

.lfms-edit-page .simple-form {
    max-width:760px;
}

@media(max-width:700px) {
    .image-preview-grid,
    .existing-image-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .upload-preview-card img,
    .existing-image-card img {
        height:105px !important;
    }
}

@media(max-width:420px) {
    .image-preview-grid,
    .existing-image-grid {
        grid-template-columns:1fr 1fr;
    }
}

/* Home feed search: sticky on scroll */
.lfms-search-section {
    position:sticky;
    top:0;
    z-index:1000;
    background:var(--bg, #f7f4ee);
    padding-top:14px;
    padding-bottom:14px;
}

.lfms-search-row {
    position:relative;
}

@media(max-width:720px) {
    .lfms-search-section {
        top:0;
        padding-top:10px;
        padding-bottom:10px;
    }
}

/* =========================================================
   STICKY HEADER + INDEX SEARCH
   Header stays on top; feed search sticks directly below it.
   Brand remains left, navigation remains right.
   ========================================================= */
:root {
    --lfms-header-height: 70px;
}

.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1100 !important;
    background: rgba(245,245,240,.98);
    backdrop-filter: blur(8px);
}

.site-header .navbar {
    min-height: var(--lfms-header-height);
}

.site-header .navbar-collapse {
    justify-content: flex-end;
}

.site-header .navbar-nav {
    margin-left: auto !important;
}

.lfms-search-section {
    position: sticky !important;
    top: var(--lfms-header-height) !important;
    z-index: 1000 !important;
    background: var(--bg, #f7f4ee) !important;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 2px 8px rgba(31,31,28,.04);
}

/* Keep the two sticky areas visually connected while scrolling */
.lfms-search-section .lfms-search-row {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    :root {
        --lfms-header-height: 62px;
    }

    .site-header .navbar {
        min-height: var(--lfms-header-height);
    }

    .site-header .navbar-collapse {
        background: rgba(245,245,240,.99);
        border-top: 1px solid var(--line);
        padding: 10px 0 14px;
    }

    .site-header .navbar-nav {
        margin-left: 0 !important;
    }
}

/* =========================================================
   Profile, notifications and admin dashboard
   ========================================================= */
.profile-settings-grid {
    display:grid;
    grid-template-columns:minmax(0, 1.5fr) minmax(260px, .75fr);
    gap:24px;
    align-items:start;
}
.profile-form-card,
.profile-side-card,
.dashboard-chart-card,
.notification-item {
    background:var(--white,#fff);
    border:1px solid var(--line,#ddd);
}
.profile-form-card,
.profile-side-card,
.dashboard-chart-card {
    padding:24px;
}
.profile-form-card h3,
.profile-side-card h3,
.dashboard-chart-card h2 {
    margin:0 0 8px;
}
.profile-form-card hr {
    border:0;
    border-top:1px solid var(--line,#ddd);
    margin:24px 0;
}
.profile-form-card .form-field {
    margin-bottom:16px;
}
.profile-form-card label {
    display:block;
    font-weight:600;
    margin-bottom:6px;
}
.profile-form-card input {
    width:100%;
    border:1px solid var(--line,#ddd);
    border-radius:0;
    padding:11px 12px;
    background:var(--white,#fff);
}
.profile-form-card input:focus {
    outline:0;
    border-color:var(--accent,#d87552);
}
.field-error,
.validation-summary {
    color:#b42318;
    font-size:.86rem;
}
.notice-success,
.notice-error {
    padding:12px 14px;
    border:1px solid var(--line,#ddd);
    margin-bottom:18px;
}
.notice-success { background:#edf8f0; }
.notice-error { background:#fff0ed; }
.profile-side-link {
    display:block;
    padding:13px 0;
    color:var(--ink,#222);
    border-bottom:1px solid var(--line,#ddd);
    text-decoration:none;
}
.profile-side-link:hover { color:var(--accent,#d87552); }
.danger-zone {
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid var(--line,#ddd);
}
.danger-button {
    border:1px solid #b42318;
    background:#fff;
    color:#b42318;
    padding:10px 14px;
    cursor:pointer;
}
.danger-button:hover {
    background:#b42318;
    color:#fff;
}
.notification-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    margin-left:5px;
    padding:0 5px;
    border-radius:10px;
    background:var(--accent,#d87552);
    color:#fff;
    font-size:11px;
    font-weight:700;
    line-height:1;
}
.notifications-list {
    display:grid;
    gap:10px;
}
.notification-item {
    padding:17px 18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}
.notification-item.is-unread {
    border-left:4px solid var(--accent,#d87552);
}
.notification-item.is-read {
    opacity:.72;
}
.notification-action {
    border:1px solid var(--line,#ddd);
    background:var(--white,#fff);
    padding:8px 12px;
    cursor:pointer;
}
.notification-action:hover {
    border-color:var(--accent,#d87552);
    color:var(--accent,#d87552);
}
.empty-state {
    background:var(--white,#fff);
    border:1px solid var(--line,#ddd);
    padding:35px;
    text-align:center;
}
.admin-stats-grid {
    grid-template-columns:repeat(6,minmax(0,1fr));
}
.dashboard-chart-card {
    margin-top:24px;
}
.chart-card-heading {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    margin-bottom:15px;
}
.chart-wrap {
    position:relative;
    height:310px;
}
@media(max-width:900px) {
    .profile-settings-grid { grid-template-columns:1fr; }
    .admin-stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:560px) {
    .admin-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .notification-item { align-items:flex-start; flex-direction:column; }
    .chart-wrap { height:250px; }
}

/* Admin user management */
.admin-users-table{
    border:1px solid var(--line);
    background:#fff;
    margin-bottom:50px;
}
.admin-user-header,
.admin-user-row{
    display:grid;
    grid-template-columns:1.25fr 1.35fr .65fr .65fr 1.45fr;
    gap:18px;
    align-items:center;
    padding:17px 18px;
}
.admin-user-header{
    background:#fbfaf7;
    border-bottom:1px solid var(--line);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:700;
}
.admin-user-row{
    border-bottom:1px solid var(--line);
}
.admin-user-row:last-child{border-bottom:0}
.admin-user-main,
.admin-user-contact{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.admin-user-main strong,
.admin-user-contact span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.role-badge,
.user-status{
    display:inline-flex;
    width:max-content;
    padding:5px 8px;
    font-size:10px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    border:1px solid var(--line);
}
.role-admin{border-color:#8c6caa;color:#72508e;background:#f4eef8}
.role-user{border-color:#aaa;color:#666;background:#f7f7f5}
.user-active{border-color:#7ca889;color:#36704a;background:#eef7f0}
.user-inactive{border-color:#c98d84;color:#a34438;background:#fff1ee}
.admin-user-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
}
.user-action-link,
.user-action-button,
.user-delete-button{
    background:none;
    border:0;
    padding:0;
    font:inherit;
    font-size:12px;
    color:var(--ink);
    text-decoration:none;
    cursor:pointer;
}
.user-action-link:hover,
.user-action-button:hover{color:var(--accent)}
.user-delete-button{color:#b42318}
.user-delete-button:hover{text-decoration:underline}
.admin-user-edit-grid{
    display:grid;
    grid-template-columns:minmax(0,720px) 300px;
    gap:24px;
    align-items:start;
    justify-content:center;
    margin-bottom:60px;
}
.admin-edit-section{
    padding:0 0 25px;
    margin-bottom:25px;
    border-bottom:1px solid var(--line);
}
.admin-edit-section:last-of-type{margin-bottom:0}
.admin-toggle-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:22px;
    padding:15px 0;
}
.admin-toggle-row p{margin:5px 0 0}
.admin-select-field{margin-bottom:20px}
.admin-select-field label{
    display:block;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
    margin-bottom:8px;
}
.admin-select-field select{
    width:100%;
    border:1px solid var(--line);
    background:#fff;
    padding:12px;
}
.admin-check-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.admin-check{
    border:1px solid var(--line);
    padding:12px;
    display:flex;
    gap:8px;
    align-items:center;
    font-size:12px;
}
.switch{position:relative;width:46px;height:25px;display:inline-block;flex:0 0 auto}
.switch input{opacity:0;width:0;height:0}
.slider{
    position:absolute;
    inset:0;
    cursor:pointer;
    background:#d7d2ca;
    border-radius:20px;
    transition:.2s;
}
.slider:before{
    content:"";
    position:absolute;
    height:19px;width:19px;
    left:3px;top:3px;
    background:#fff;
    border-radius:50%;
    transition:.2s;
    box-shadow:0 1px 3px #999;
}
.switch input:checked + .slider{background:var(--accent)}
.switch input:checked + .slider:before{transform:translateX(21px)}
.admin-edit-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    padding-top:5px;
}
@media(max-width:1000px){
    .admin-user-header{display:none}
    .admin-user-row{
        grid-template-columns:1fr 1fr;
        gap:14px;
    }
    .admin-user-actions{justify-content:flex-start}
    .admin-user-edit-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
    .admin-user-row{grid-template-columns:1fr}
    .admin-check-grid{grid-template-columns:1fr}
    .admin-edit-footer{display:block}
    .admin-edit-footer .btn{width:100%;margin-top:14px}
}

/* Admin management search */
.admin-manage-search{
    display:flex;
    align-items:center;
    gap:12px;
    margin:-8px 0 18px;
}
.manage-search-wrap{
    position:relative;
    flex:1;
    max-width:680px;
}
.manage-search-wrap input{
    width:100%;
    height:44px;
    border:1px solid var(--line);
    border-radius:0;
    background:#fff;
    color:var(--ink);
    padding:0 42px 0 13px;
    outline:none;
    font:inherit;
}
.manage-search-wrap input:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
}
.manage-search-clear{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    width:32px;
    height:32px;
    border:0;
    background:transparent;
    color:var(--muted);
    font-size:24px;
    line-height:28px;
    cursor:pointer;
    padding:0;
}
.manage-search-clear:hover{color:var(--accent)}
.manage-search-count{
    color:var(--muted);
    font-size:12px;
    white-space:nowrap;
}
.admin-search-item.search-hidden{display:none!important}
@media(max-width:575px){
    .admin-manage-search{display:block}
    .manage-search-wrap{max-width:none}
    .manage-search-count{display:block;margin-top:7px}
}

/* ===== Admin Manage Pages: unified responsive redesign ===== */
.manage-page{
    max-width:1180px;
    margin:0 auto;
    padding:28px 18px 70px;
}
.manage-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    padding:20px 0 28px;
    border-bottom:1px solid var(--line);
}
.manage-hero h1{
    margin:0 0 10px;
    font-size:clamp(38px,5vw,58px);
}
.manage-description{
    margin:0;
    max-width:650px;
    color:var(--muted);
    line-height:1.6;
}
.manage-back{
    color:var(--ink);
    text-decoration:none;
    font-size:13px;
    border-bottom:1px solid var(--ink);
    padding-bottom:4px;
    white-space:nowrap;
}
.manage-back:hover{color:var(--accent);border-color:var(--accent)}
.manage-alert{
    padding:13px 15px;
    margin:18px 0;
    border:1px solid var(--line);
    background:#fff;
    font-size:13px;
}
.manage-alert.success{border-color:#b8d3bf;background:#f1f8f2;color:#376046}
.manage-alert.error{border-color:#e2b8b0;background:#fff1ee;color:#963d32}

.manage-toolbar{
    display:flex;
    align-items:center;
    gap:14px;
    margin:24px 0 16px;
}
.manage-search-wrap{
    position:relative;
    flex:1;
    max-width:720px;
}
.manage-search-input{
    width:100%;
    height:48px;
    border:1px solid var(--line);
    border-radius:0;
    background:#fff;
    padding:0 48px 0 15px;
    color:var(--ink);
    outline:none;
    font:inherit;
}
.manage-search-input:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
}
.manage-search-clear{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    width:36px;
    height:36px;
    border:0;
    background:transparent;
    color:var(--muted);
    font-size:25px;
    line-height:1;
    cursor:pointer;
}
.manage-search-clear:hover{color:var(--accent)}
.manage-search-count{
    color:var(--muted);
    font-size:12px;
    white-space:nowrap;
}

.manage-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.manage-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    background:#fff;
    border:1px solid var(--line);
    padding:20px;
    min-width:0;
    transition:border-color .15s, box-shadow .15s;
}
.manage-card:hover{
    border-color:#c9c0b6;
    box-shadow:0 4px 18px rgba(31,31,28,.045);
}
.manage-card-main{
    display:flex;
    align-items:center;
    gap:15px;
    min-width:0;
    flex:1;
}
.manage-avatar{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--accent-soft);
    color:var(--accent);
    border:1px solid #e2c3b6;
    font-weight:700;
    font-size:17px;
}
.small-avatar{width:38px;height:38px;flex-basis:38px;font-size:14px}
.manage-card-info{min-width:0;flex:1}
.manage-title-row{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.manage-title-row h2,
.post-manage-main h2{
    margin:0;
    font-size:18px;
    letter-spacing:-.02em;
}
.manage-contact-grid{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    margin-top:8px;
    color:var(--muted);
    font-size:12px;
}
.manage-contact-grid b{
    color:var(--ink);
    margin-right:5px;
}
.manage-id{
    display:block;
    margin-top:7px;
    color:#9a938a;
    font-size:10px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:600px;
}
.manage-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
    flex:0 0 auto;
}
.manage-actions form{margin:0}
.manage-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:8px 12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:12px;
    text-decoration:none;
    cursor:pointer;
    white-space:nowrap;
}
.manage-action:hover{
    border-color:var(--accent);
    color:var(--accent);
}
.manage-action.primary{
    background:var(--accent);
    border-color:var(--accent);
    color:#fff;
}
.manage-action.primary:hover{
    background:var(--accent-hover);
    border-color:var(--accent-hover);
    color:#fff;
}
.manage-action.danger{color:#a33d33}
.manage-action.danger:hover{
    border-color:#d5a29a;
    background:#fff5f2;
    color:#a33d33;
}
.role-badge,.user-status{
    display:inline-flex;
    width:max-content;
    padding:4px 7px;
    font-size:9px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    border:1px solid var(--line);
}
.role-admin{border-color:#b59bc5;color:#705086;background:#f5eff8}
.role-user{color:#666;background:#f7f7f5}
.user-active{border-color:#a8c9b0;color:#3d744e;background:#f0f8f1}
.user-inactive{border-color:#d7aaa3;color:#a34438;background:#fff2ef}

.post-manage-main{min-width:0;flex:1}
.post-manage-label{
    display:flex;
    gap:7px;
    align-items:center;
    margin-bottom:8px;
}
.post-manage-main h2{
    font-size:21px;
    margin-bottom:7px;
}
.post-manage-meta{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    color:var(--muted);
    font-size:12px;
}
.status-badge{
    display:inline-flex;
    padding:4px 7px;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
    border:1px solid var(--line);
}
.status-collected{color:#376d49;background:#eef7f0;border-color:#b7d2bd}
.status-available{color:var(--accent);background:#fff5f0;border-color:#e6c1b4}

.comment-manage-main{min-width:0;flex:1}
.comment-user-line{
    display:flex;
    align-items:center;
    gap:10px;
}
.comment-user-line>div:last-child{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.comment-preview{
    margin:14px 0 0 48px;
    padding:12px 14px;
    background:#fbfaf7;
    border-left:2px solid var(--accent);
    color:#4e4a45;
    line-height:1.55;
    font-size:13px;
    word-break:break-word;
}
.comment-preview:empty{display:none}

.category-create-card{
    background:#fff;
    border:1px solid var(--line);
    padding:18px;
    margin:22px 0 0;
}
.category-create-card label{
    display:block;
    margin-bottom:8px;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-weight:700;
}
.category-create-row{
    display:flex;
    gap:8px;
}
.category-create-row input{
    flex:1;
    min-width:0;
    height:42px;
    border:1px solid var(--line);
    border-radius:0;
    padding:0 12px;
    outline:none;
}
.category-create-row input:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
}
.manage-add-button{
    height:42px;
    border:1px solid var(--accent);
    background:var(--accent);
    color:#fff;
    padding:0 18px;
    cursor:pointer;
    font-weight:700;
}
.manage-add-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.category-card{
    background:#fff;
    border:1px solid var(--line);
    padding:20px;
    min-height:105px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
}
.category-card h2{
    margin:8px 0 0;
    font-size:18px;
    letter-spacing:-.02em;
}
.category-index{
    font-size:9px;
    letter-spacing:.13em;
    font-weight:700;
    color:var(--accent);
}
.category-delete{
    border:0;
    background:none;
    color:#a33d33;
    font:inherit;
    font-size:12px;
    cursor:pointer;
}
.category-delete:hover{text-decoration:underline}
.search-hidden{display:none!important}

@media(max-width:991px){
    .manage-card{
        align-items:flex-start;
        flex-direction:column;
    }
    .manage-actions{
        width:100%;
        justify-content:flex-start;
        padding-top:12px;
        border-top:1px solid #eee;
    }
    .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
    .manage-page{padding:20px 13px 50px}
    .manage-hero{
        display:block;
        padding-top:8px;
    }
    .manage-hero h1{font-size:39px}
    .manage-back{
        display:inline-block;
        margin-top:17px;
    }
    .manage-toolbar{
        display:block;
        margin-top:18px;
    }
    .manage-search-wrap{max-width:none}
    .manage-search-count{
        display:block;
        margin-top:7px;
    }
    .manage-card{
        padding:15px;
        gap:14px;
    }
    .manage-card-main{width:100%;align-items:flex-start}
    .manage-title-row h2{font-size:16px}
    .manage-contact-grid{
        display:block;
        line-height:1.8;
    }
    .manage-contact-grid span{display:block}
    .manage-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:7px;
    }
    .manage-actions form{display:block}
    .manage-action{
        width:100%;
        min-height:40px;
    }
    .manage-actions .danger{
        grid-column:span 1;
    }
    .post-manage-main{width:100%}
    .post-manage-main h2{font-size:18px}
    .post-manage-meta{display:block;line-height:1.9}
    .post-manage-meta span{display:block}
    .comment-preview{margin-left:0}
    .category-create-row{display:block}
    .category-create-row input{width:100%}
    .manage-add-button{width:100%;margin-top:8px}
    .category-grid{grid-template-columns:1fr}
}

/* Edit post save feedback */
.edit-success-message{
    margin:0 0 18px;
    padding:12px 14px;
    border:1px solid #b8d3bf;
    background:#f1f8f2;
    color:#376046;
    font-size:13px;
}


/* Profile + private chat */
.lfms-profile-link,.detail-author-link{color:var(--ink);text-decoration:none}.lfms-profile-link:hover,.detail-author-link:hover{color:var(--accent)}
.lfms-avatar{overflow:hidden}.lfms-avatar img,.profile-image-large img,.public-profile-avatar img,.chat-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-image-editor{display:flex;align-items:center;gap:18px;padding:16px 0 22px;margin-bottom:18px;border-bottom:1px solid var(--line)}.profile-image-large{width:82px;height:82px;border:1px solid var(--line);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;overflow:hidden}.profile-image-editor input[type=file]{display:block;margin-top:8px;max-width:100%}.public-profile-page{max-width:820px;margin:35px auto}.public-profile-card{margin-top:25px;background:var(--white);border:1px solid var(--line);padding:34px;display:flex;gap:30px;align-items:center}.public-profile-avatar{width:120px;height:120px;flex:0 0 120px;border:1px solid var(--line);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;overflow:hidden}.public-profile-info h1{font-size:42px;margin-bottom:8px}.public-profile-stats{display:flex;gap:24px;margin:18px 0 22px;color:var(--muted);font-size:13px}.public-profile-stats b{color:var(--ink);font-size:18px}.message-author-link{font-size:11px;color:var(--accent);text-decoration:none;margin-left:10px}.chat-page{max-width:850px;margin:20px auto}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.chat-person{display:flex;align-items:center;gap:12px}.chat-person>div:last-child{display:flex;flex-direction:column}.chat-person span{font-size:12px;color:var(--muted)}.chat-avatar{width:48px;height:48px;background:var(--accent-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden}.chat-card{background:var(--white);border:1px solid var(--line)}.chat-messages{height:min(60vh,560px);overflow-y:auto;padding:24px}.chat-bubble-row{display:flex;margin-bottom:12px}.chat-bubble-row.mine{justify-content:flex-end}.chat-bubble{max-width:min(75%,560px);padding:11px 14px;border:1px solid var(--line);background:var(--paper);line-height:1.45;white-space:pre-wrap}.mine .chat-bubble{background:var(--accent-soft);border-color:#e6c7bb}.chat-bubble span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.chat-empty{text-align:center;color:var(--muted);padding:80px 0}.chat-compose{border-top:1px solid var(--line);padding:14px;display:flex;gap:10px}.chat-compose textarea{flex:1;resize:none;border:1px solid var(--line);padding:11px;outline:none}.chat-compose textarea:focus{border-color:var(--accent)}.chat-compose .btn{align-self:stretch}.detail-author-link{display:block}.message-author-link:hover{color:var(--accent-hover)}
@media(max-width:700px){.public-profile-card{padding:24px;flex-direction:column;align-items:flex-start}.public-profile-info h1{font-size:34px}.chat-header{align-items:flex-start;flex-direction:column}.chat-compose{flex-direction:column}.chat-compose .btn{min-height:42px}.chat-bubble{max-width:88%}.profile-image-editor{align-items:flex-start;flex-direction:column}}


/* =========================================================
   LFMS NAVIGATION POLISH
   ========================================================= */
.nav-notification-item { position:relative; }
.nav-notification-link {
    position:relative;
    width:42px;
    height:42px;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    padding:0 !important;
    margin:0 2px;
}
.notification-bell { display:inline-flex; width:22px; height:22px; color:var(--ink); }
.notification-bell svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.nav-notification-link:hover .notification-bell { color:var(--accent); }
.notification-badge {
    position:absolute;
    top:2px;
    right:0;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border:2px solid #f5f5f0;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--accent);
    color:#fff;
    font-size:9px;
    font-weight:800;
    line-height:1;
}
@media (max-width:991.98px) {
    .navbar-nav { padding:10px 0 6px; align-items:stretch !important; }
    .navbar-nav .nav-item { width:100%; }
    .navbar-nav .nav-link { min-height:40px; display:flex; align-items:center; }
    .nav-notification-link { width:42px !important; }
}


/* =========================================================
   DETAILS PAGE — clean vertical layout
   Navbar -> Posted By -> Post -> Comments
   ========================================================= */
.detail-flow{display:none;} /* legacy wrapper, no longer used */

.detail-page{
    max-width:900px;
    margin:20px auto 70px;
}

.detail-author-top{
    display:flex;
    flex-direction:column;
    gap:6px;
    background:#fff;
    border:1px solid var(--line);
    padding:20px 24px;
    margin-bottom:18px;
}

.detail-author-top .detail-author-link{
    color:var(--ink);
    text-decoration:none;
}
.detail-author-top .detail-author-link:hover{color:var(--accent)}
.detail-author-top .message-author-link{align-self:flex-start;margin-top:4px}

.detail-main{
    width:100%;
    background:#fff;
    border:1px solid var(--line);
    margin-bottom:18px;
}

.detail-media{
    background:#f0ede7;
    min-height:320px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom:1px solid var(--line);
    position:relative;
}

.detail-media img{
    display:block;
    max-width:100%;
    max-height:560px;
    width:auto;
    height:auto;
    object-fit:contain;
}

.detail-gallery{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:10px;
    padding:18px;
}

.image-fullview-trigger{
    position:relative;
    border:1px solid var(--line);
    background:#fff;
    padding:0;
    cursor:pointer;
    overflow:hidden;
}

.image-fullview-trigger img{
    display:block;
    width:auto;
    max-width:400px;
    max-height:420px;
    object-fit:contain;
}

.image-view-label{
    position:absolute;
    left:8px;
    bottom:8px;
    background:rgba(0,0,0,.72);
    color:#fff;
    padding:5px 8px;
    font-size:10px;
    opacity:0;
    transition:.2s;
}
.image-fullview-trigger:hover .image-view-label{opacity:1}

.gallery-count{
    position:absolute;
    right:14px;
    bottom:12px;
    background:#fff;
    border:1px solid var(--line);
    padding:5px 8px;
    font-size:11px;
    color:var(--muted);
}

.detail-content{padding:26px}

.detail-title{
    font-size:clamp(34px,5vw,54px);
    line-height:1.05;
    margin:18px 0 10px;
}

.detail-text{
    font-size:15px;
    line-height:1.75;
    margin:26px 0;
    white-space:pre-wrap;
}

.detail-actions{
    border-top:1px solid var(--line);
    padding-top:16px;
}

.detail-comments-full{
    width:100%;
    background:#fff;
    border:1px solid var(--line);
    padding:24px;
}

.detail-comments-full .comments-panel{
    padding:0;
    border:0;
    background:transparent;
}

.detail-comments-full .comments-heading{
    margin-bottom:16px;
}

.detail-comments-full .detail-comment-form textarea{
    width:100%;
    box-sizing:border-box;
}

@media(max-width:700px){
    .detail-page{
        width:calc(100% - 24px);
        margin:12px auto 50px;
    }

    .detail-author-top,
    .detail-comments-full{
        padding:16px;
    }

    .detail-media{
        min-height:240px;
    }

    .detail-gallery{
        padding:10px;
    }

    .image-fullview-trigger img{
        max-width:calc(100vw - 50px);
        max-height:320px;
    }

    .detail-content{padding:20px}

    .detail-title{
        font-size:34px;
    }

    .detail-meta-row{
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .detail-actions{
        flex-wrap:wrap;
    }

    .gallery-count{
        right:8px;
        bottom:8px;
    }
}

/* Comments form — compact button */
.detail-comments-full .detail-comment-form{
    display:flex;
    align-items:flex-start;
    gap:10px;
    width:100%;
}
.detail-comments-full .detail-comment-form textarea{
    flex:1 1 auto;
    width:auto;
    min-height:110px;
    box-sizing:border-box;
}
.detail-comments-full .detail-comment-form .publish-button{
    flex:0 0 auto;
    width:auto !important;
    min-width:110px;
    height:46px;
    margin-top:0 !important;
    padding:0 22px;
    align-self:flex-start;
}
@media(max-width:700px){
    .detail-comments-full .detail-comment-form{
        flex-direction:column;
    }
    .detail-comments-full .detail-comment-form textarea{
        width:100%;
        min-height:100px;
    }
    .detail-comments-full .detail-comment-form .publish-button{
        width:auto !important;
        min-width:100px;
        height:44px;
    }
}
