/* Only the shared community dialog; leaves all earlier page layouts intact. */
.community-viewer [hidden] { display:none !important; }
dialog.community-viewer { width:min(1120px,calc(100% - 48px)); }
dialog.community-viewer[open] { animation:none; }
.community-viewer .overlay-panel { padding:0; max-height:calc(100dvh - 48px); }
.community-viewer .overlay-header { position:sticky; top:0; z-index:2; padding:18px 25px; margin:0; background:var(--cream); }
.community-viewer .overlay-header h2 { font-size:28px; }
.community-viewer .overlay-eyebrow { font-size:9px; margin-bottom:6px; }
.community-viewer .overlay-header > button { flex-shrink:0; width:44px; height:44px; }
.community-viewer-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr); }
.community-viewer-left { min-width:0; background:var(--lavender); padding:24px; }
.community-media-stage { height:min(61dvh,640px); min-height:240px; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); place-items:center; background:var(--white); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.community-viewer .community-photo { display:block; width:100%; max-width:100%; height:100%; max-height:100%; object-fit:contain; margin:0; border-radius:0; }
.community-video { display:block; width:100%; height:100%; max-height:100%; object-fit:contain; background:var(--cocoa); }
.community-viewer-navigation { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; }
.community-viewer-navigation .text-link { min-height:44px; font-size:12px; background:transparent; }
.community-viewer-navigation > span { font-size:11px; color:var(--muted); }
.community-viewer-details { padding:29px; min-width:0; }
.community-viewer .community-source { font-size:10px; color:var(--berry); line-height:1.7; margin:0 0 13px; }
.community-viewer-caption { font:500 32px/1.2 var(--display); margin:0 0 17px; overflow-wrap:anywhere; }
.community-source-note { font-size:12px; line-height:1.8; color:var(--muted); margin:0; overflow-wrap:anywhere; }
.community-credit { font-weight:700; font-size:13px; margin:20px 0 0; overflow-wrap:anywhere; }
.community-original { min-height:44px; font-size:12px; overflow-wrap:anywhere; }
.community-disclosure { font-size:12px; padding:12px; border-radius:var(--radius-sm); background:var(--butter); overflow-wrap:anywhere; }
.community-featured { border-top:1px solid var(--line); margin-top:26px; padding-top:23px; }
.community-featured > h3 { font:500 22px var(--display); margin:0 0 18px; }
.community-featured ul { list-style:none; margin:0; padding:0; }
.community-product { display:grid; grid-template-columns:64px minmax(0,1fr); gap:15px; padding:0 0 20px; }
.community-product > img { display:block; width:64px; height:82px; object-fit:contain; border-radius:8px; background:var(--white); }
.community-product h3 { font:500 21px/1.2 var(--display); margin:0 0 8px; overflow-wrap:anywhere; }
.community-product p { font-size:12px; margin:0 0 5px; color:var(--muted); }
.community-product small { font-size:9px; }
.community-product .text-link { min-height:40px; font-size:11px; }
.community-product.missing p { font-size:11px; line-height:1.7; }
.community-gallery-link { margin-top:18px; min-height:44px; font-size:11px; }
.community-media-fallback { padding:30px; text-align:center; color:var(--berry); }
.community-media-fallback > .icon { width:42px; height:42px; margin-bottom:15px; }
.community-media-fallback h3 { font:500 28px var(--display); margin:0 0 12px; }
.community-media-fallback p { color:var(--muted); font-size:13px; line-height:1.8; max-width:320px; margin:0 auto; }
@media(max-width:899px) {
  dialog.community-viewer { width:min(670px,calc(100% - 32px)); }
  .community-viewer-layout { grid-template-columns:minmax(0,1fr); }
  .community-media-stage { height:52dvh; min-height:240px; }
  .community-viewer-left { padding:20px; }
  .community-viewer-details { padding:26px; }
}
@media(max-width:599px) {
  dialog.community-viewer { width:calc(100% - 16px); margin:auto; }
  .community-viewer .overlay-panel { max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom))); border-radius:18px; }
  .community-viewer .overlay-header { padding:13px 16px; padding-top:max(13px,env(safe-area-inset-top)); }
  .community-viewer .overlay-header h2 { font-size:24px; }
  .community-viewer .overlay-eyebrow { font-size:8px; margin-bottom:5px; }
  .community-viewer-left { padding:14px; }
  .community-media-stage { height:48dvh; min-height:210px; }
  .community-viewer-navigation { margin-top:6px; }
  .community-viewer-navigation .text-link { font-size:11px; }
  .community-viewer-details { padding:23px 21px max(23px,env(safe-area-inset-bottom)); }
  .community-viewer-caption { font-size:29px; }
  .community-source-note { font-size:11px; }
  .community-featured { margin-top:22px; padding-top:20px; }
  .community-product .text-link { min-height:44px; }
}
