.community-shell{max-width:1400px;margin:0 auto;padding:clamp(28px,5vw,70px) clamp(16px,4vw,48px) 100px}.community-hero{padding:clamp(24px,4vw,54px);border:1px solid rgba(140,150,160,.25);border-radius:0;background:transparent;margin-bottom:34px}.community-hero h1{font-size:clamp(2rem,5vw,4.2rem);line-height:1.1;margin:12px 0}.community-hero p{max-width:740px;line-height:1.6}.community-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:25px}.community-actions a:not(.button){color:inherit}.community-note{padding:20px;border:1px solid rgba(140,150,160,.35);border-radius:0;margin:20px 0}.community-error{border-color:#ef6b59}.community-muted{opacity:.75}.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px;margin:25px 0 50px}.community-card{overflow:hidden;border:1px solid rgba(140,150,160,.28);border-radius:0;background:rgba(110,120,130,.08)}.community-card>a,.community-card-open{display:block;color:inherit;text-decoration:none;width:100%;border:0;padding:0;background:none;text-align:left;cursor:pointer}.community-card img,.community-card-open>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.community-card>a>div,.community-card-open>div{padding:19px}.community-card small{opacity:.7}.community-card h3{font-size:1.15rem;margin:8px 0 18px}.community-card span{color:var(--accent-ink)}.community-card-tools{border-top:1px solid rgba(140,150,160,.25);padding:16px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.community-card-tools p{flex-basis:100%;margin:0}.community-card-tools a,.community-card-tools button{color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer}.community-form-wrap{margin-top:40px;max-width:980px;padding:clamp(20px,4vw,40px);border:1px solid rgba(140,150,160,.3);border-radius:0}.community-form{display:grid;gap:22px}.community-form label{display:grid;gap:9px}.community-form input:not([type=checkbox]),.community-form textarea,.community-form-wrap input[type=search],.community-review-actions input{width:100%;padding:13px 15px;border:1px solid rgba(140,150,160,.4);border-radius:0;background:rgba(110,120,130,.08);color:inherit;font:inherit}.community-form fieldset{min-width:0;border:1px solid rgba(140,150,160,.3);border-radius:0;padding:18px}.community-form legend{font-weight:700;padding:0 8px}.community-form fieldset>small{display:block;opacity:.75;margin-top:10px}.community-product-picker{max-height:230px;overflow:auto;display:grid;gap:4px;margin-top:10px}.community-product-picker label{display:flex;align-items:center;gap:10px;padding:9px;border-radius:0;background:rgba(110,120,130,.08);cursor:pointer}.community-product-picker label[hidden]{display:none}.community-product-picker label:has(input:checked){outline:1px solid var(--accent-ink)}.community-product-picker small{opacity:.6;margin-left:9px}.community-preview,.community-kept-photos{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.community-preview img,.community-kept-photos img{width:115px;height:90px;object-fit:cover;border-radius:0}.community-kept-photos label{font-size:.8rem}.community-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:32px}.community-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.community-photo-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0}.community-detail-copy{line-height:1.7}.community-products{display:flex;flex-wrap:wrap;gap:9px}.community-products a{display:inline-block;padding:9px 12px;border:1px solid rgba(140,150,160,.35);border-radius:0;color:inherit;text-decoration:none}.community-dialog{width:min(900px,94vw);max-height:90vh;padding:0;border:1px solid rgba(140,150,160,.4);border-radius:0;background:var(--surface);color:var(--text)}.community-dialog::backdrop{background:rgba(0,0,0,.8)}.community-dialog-body{padding:24px;max-height:90vh;overflow:auto}.community-close{float:right;background:none;color:inherit;border:0;font-size:2rem;cursor:pointer}.community-body-text{white-space:normal;line-height:1.65}.community-review-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px;align-items:end}.community-review-actions form{display:grid;gap:8px}.community-review-actions label{display:grid;gap:7px}.community-admin .community-card-open:hover{outline:2px solid var(--accent-ink)}@media(max-width:700px){.community-detail{grid-template-columns:1fr}.community-photo-grid{gap:6px}.community-review-actions{display:grid}.community-form-wrap{padding:18px}}

.community-pages{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.community-pages a{padding:8px 13px;color:inherit;border:1px solid rgba(140,150,160,.35);border-radius:0}.community-pages a[aria-current=page]{border-color:var(--accent-ink)}

/* Match the site's editorial layout and keep the submission view focused. */
.community-page .community-shell{width:min(100%,var(--content-width));max-width:none;padding:calc(var(--header-height) + 38px) var(--page-gutter) 76px}
.community-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;font-size:.75rem;color:var(--muted)}
.community-breadcrumb a:hover,.community-text-link:hover{color:var(--accent-ink)}
.community-hero{padding:0 0 28px;border:0;border-bottom:1px solid var(--line);margin-bottom:28px;background:none}
.community-hero h1{font-size:clamp(2rem,3.35vw,3.65rem);margin:16px 0 12px}
.community-hero p{color:var(--muted);font-size:1rem;max-width:720px}
.community-actions{gap:22px;margin-top:22px}
.community-text-link{font-size:.85rem;font-weight:600}
.community-form-wrap{margin:0;max-width:920px;padding:0;border:0;scroll-margin-top:calc(var(--header-height) + 28px)}
.community-form{gap:24px}
.community-form fieldset{background:var(--surface);border-color:var(--line);padding:20px}
.community-form input:not([type=checkbox]),.community-form textarea,.community-review-actions input{background:var(--bg-alt);border-color:var(--line-strong)}
.community-product-picker label{background:var(--bg-alt)}
.community-card{border-color:var(--line);background:var(--surface)}
.community-note{border-color:var(--line);background:var(--surface);color:var(--muted)}
.community-note.community-error{border-color:var(--danger);color:var(--text)}
.product-community{box-sizing:border-box;width:min(100%,var(--content-width));max-width:var(--content-width);margin:32px auto;padding:24px var(--page-gutter) 0;border-top:1px solid var(--line)}
.product-community .community-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;align-items:center;padding:24px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);margin:0}
.product-community .community-hero>.section-index,.product-community .community-hero>h2,.product-community .community-hero>p{grid-column:1;margin:0}
.product-community .community-hero>h2{font-size:clamp(1.3rem,2vw,1.8rem)}
.product-community .community-actions{grid-column:2;grid-row:1/4;margin:0;display:grid;justify-items:start;gap:14px}
.product-community .community-grid{margin-bottom:0}
.community-admin .community-hero{padding-top:16px}
@media(max-width:760px){.community-page .community-shell{padding-top:calc(var(--header-height) + 24px)}.community-actions{gap:16px}.product-community .community-hero{display:block;padding:20px}.product-community .community-actions{margin-top:20px;display:flex}.product-community .community-hero>h2{margin:12px 0}.community-form fieldset{padding:14px}}

/* Publication detail: photos lead, with the story and parts beside them. */
.community-detail-page .community-breadcrumb { margin-bottom: 18px; }
.community-detail-page .community-hero { padding-bottom: 22px; margin-bottom: 28px; }
.community-detail-page .community-hero h1 { margin: 10px 0 6px; font-size: clamp(2rem, 3.3vw, 3.8rem); }
.community-detail-page .community-hero p { font-size: .85rem; }
.community-detail-page .community-actions { margin-top: 12px; gap: 18px; }
.community-detail-page .community-detail { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .75fr); gap: clamp(20px, 3vw, 44px); align-items: start; }
.community-detail-page .community-photo-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.community-detail-page .community-photo { position: relative; width: 100%; min-width: 0; padding: 0; display: block; overflow: hidden; border: 1px solid var(--line); background: var(--surface); cursor: zoom-in; }
.community-detail-page .community-photo--main { grid-column: 1 / -1; height: clamp(300px, 30vw, 450px); }
.community-detail-page .community-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; display: block; object-fit: contain; }
.community-detail-page .community-photo--main img { width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: cover; object-position: center top; }
.community-detail-page .community-photo:hover, .community-detail-page .community-photo:focus-visible { border-color: var(--accent); }
.community-detail-page .community-photo > span { position: absolute; right: 0; bottom: 0; padding: 10px 15px; background: rgba(8,8,8,.85); color: #fff; font-size: .7rem; font-weight: 800; }
.community-detail-page .community-detail-copy { min-width: 0; display: grid; align-content: start; gap: 28px; line-height: 1.6; }
.community-detail-page .community-detail-copy > * { min-width: 0; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.community-detail-page .community-detail-author { display: grid; gap: 5px; }
.community-detail-page .community-detail-author strong { color: var(--text-strong); font-size: 1rem; overflow-wrap: anywhere; }
.community-detail-page .community-detail-author time { color: var(--muted); font-size: .72rem; }
.community-detail-page .community-detail-story p { margin: 12px 0 0; color: var(--text); font-size: clamp(.85rem, 1vw, 1rem); line-height: 1.8; overflow-wrap: anywhere; }
.community-detail-page .community-detail-parts h2 { margin: 9px 0 15px; color: var(--text-strong); font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.15; }
.community-detail-page .community-products { display: grid; gap: 8px; }
.community-detail-page .community-products a { min-width: 0; padding: 13px 15px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; border-color: var(--line); background: var(--surface); color: var(--text-strong); text-decoration: none; }
.community-detail-page .community-products a:hover { border-color: var(--accent); color: var(--accent-ink); }
.community-detail-page .community-products a span { min-width: 0; font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; }
.community-detail-page .community-products a small { grid-column: 1; color: var(--muted); font-size: .6rem; }
.community-detail-page .community-products a b { grid-column: 2; grid-row: 1 / 3; color: var(--accent-ink); }
@media (max-width: 850px) {
  .community-detail-page .community-detail { grid-template-columns: 1fr; }
  .community-detail-page .community-detail-copy { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .community-detail-page .community-detail-parts { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .community-detail-page .community-detail-copy { grid-template-columns: 1fr; gap: 18px; }
  .community-detail-page .community-detail-parts { grid-column: auto; }
  .community-detail-page .community-photo-grid { gap: 6px; }
  .community-detail-page .community-photo--main { height: clamp(240px, 62vw, 360px); }
  .community-detail-page .community-hero h1 { overflow-wrap: anywhere; }
}

/* Public community pages follow the main gallery's intro, toolbar and grid. */
.community-page .community-shell { padding-top: calc(var(--header-height) + clamp(42px, 5vw, 76px)); padding-bottom: clamp(80px, 10vw, 150px); }
.community-page .community-breadcrumb { margin-bottom: clamp(26px, 4vw, 48px); align-items: center; font-size: .68rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.community-page .community-breadcrumb a { color: var(--muted); }
.community-page .community-breadcrumb a:hover { color: var(--accent-ink); }
.community-page .community-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 440px); align-items: end; gap: clamp(30px, 6vw, 100px); padding-bottom: clamp(42px, 6vw, 80px); margin-bottom: 0; }
.community-page .community-hero__title { min-width: 0; }
.community-page .community-hero h1 { margin: 16px 0 0; font-size: clamp(2.35rem, 3.35vw, 3.65rem); line-height: .98; }
.community-page .community-hero p { max-width: 440px; margin: 0; color: var(--muted); font-size: clamp(1rem, 1.1vw, 1.14rem); line-height: 1.65; }
.community-page .community-actions { min-height: 74px; margin: 0; padding: 14px 0; display: flex; align-items: center; gap: 16px 26px; border-bottom: 1px solid var(--line); }
.community-page .community-actions .button { min-height: 44px; padding: 10px 17px; font-size: .68rem; }
.community-page .community-text-link { min-height: 42px; padding: 10px 0; display: inline-flex; align-items: center; color: var(--text-strong); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.community-page .community-grid { margin: clamp(38px, 5vw, 72px) 0 50px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.community-page .community-card { min-width: 0; display: flex; flex-direction: column; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.community-page .community-card > a { flex: 1; display: grid; grid-template-rows: auto 96px; }
.community-page .community-card img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--bg-alt); transition: transform .6s var(--ease-out); }
.community-page .community-card > a > div { min-width: 0; padding: 14px; display: flex; flex-direction: column; justify-content: end; overflow: hidden; border-top: 1px solid var(--line); }
.community-page .community-card small { display: block; overflow: hidden; color: var(--muted); font-size: .6rem; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; opacity: 1; }
.community-page .community-card h3 { display: -webkit-box; overflow: hidden; margin: 7px 0 0; font-size: clamp(.9rem, 1vw, 1.1rem); line-height: 1.12; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.community-page .community-card a span { display: none; }
.community-page .community-card:hover img { transform: scale(1.035); }
.community-page .community-card > a { overflow: hidden; }
.community-page .community-card-tools { padding: 12px 14px; font-size: .72rem; }
.community-page .community-card-tools strong { color: var(--accent-ink); }
.community-page .community-card-tools a { display: inline; }
.community-page .community-muted { margin: 24px 0 0; color: var(--muted); font-size: .8rem; opacity: 1; }
.community-page .community-note { margin-top: 38px; }
.community-page .community-form-wrap { margin-top: clamp(38px, 5vw, 72px); }
.community-detail-page .community-hero { padding-bottom: clamp(30px, 4vw, 52px); margin-bottom: 0; }
.community-detail-page .community-hero h1 { margin: 16px 0 0; font-size: clamp(2.35rem, 3.35vw, 3.65rem); }
.community-detail-page .community-hero p { font-size: clamp(1rem, 1.1vw, 1.14rem); }
.community-detail-page .community-detail { margin-top: clamp(30px, 4vw, 54px); }
@media (max-width: 1100px) {
  .community-page .community-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .community-page .community-shell { padding-top: calc(var(--header-height) + 30px); }
  .community-page .community-breadcrumb { margin-bottom: 28px; }
  .community-page .community-hero { grid-template-columns: 1fr; gap: 25px; padding-bottom: 38px; }
  .community-page .community-hero p { max-width: 34rem; font-size: .98rem; line-height: 1.6; }
  .community-page .community-actions { min-height: 0; }
  .community-page .community-grid { margin-top: 38px; }
  .community-page .community-card > a { grid-template-rows: auto 82px; }
  .community-page .community-card > a > div { padding: 10px; }
  .community-page .community-card h3 { font-size: clamp(.78rem, 3.6vw, .95rem); }
  .community-page .community-card small { font-size: .5rem; }
}
