/* BEGIN REDISCOVER COMMUNITY STORIES v1.5.17 */
.community-stories-section,
.community-story-page,
.community-story-modal { font-family: Avenir Next, Avenir, Inter, Segoe UI, system-ui, Arial, sans-serif; }
.community-stories-section { padding: clamp(68px, 8vw, 118px) 0; background: linear-gradient(180deg, rgba(235,242,226,.5), rgba(247,245,239,0)); border-top: 1px solid rgba(34,59,51,.1); }
.community-stories-head { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-bottom:32px; }
.community-stories-head h2 { margin:.35rem 0 .65rem; max-width:760px; font-size:clamp(2rem,3.2vw,3.2rem); line-height:1.02; font-weight:500; letter-spacing:-.04em; color:#1e3931; }
.community-stories-head p { max-width:690px; margin:0; color:#63736c; font-size:1rem; line-height:1.75; }
.community-story-cta { flex:0 0 auto; appearance:none; border:0; border-radius:999px; padding:16px 23px; background:#315f4d; color:#fff; font:600 .86rem/1 Avenir Next, Avenir, Inter, Segoe UI, system-ui, Arial, sans-serif; letter-spacing:.02em; cursor:pointer; box-shadow:0 14px 30px rgba(49,95,77,.17); transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.community-story-cta:hover { transform:translateY(-1px); background:#264f40; box-shadow:0 17px 34px rgba(49,95,77,.22); }
.community-story-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.community-story-card { min-width:0; padding:26px; border:1px solid rgba(45,74,63,.13); border-radius:26px; background:rgba(255,255,255,.88); box-shadow:0 16px 44px rgba(36,60,51,.07); display:flex; flex-direction:column; gap:16px; }
.community-story-card-media { display:block; aspect-ratio:16/10; border-radius:18px; overflow:hidden; background:#e8eee3; }
.community-story-card-media img { width:100%; height:100%; object-fit:cover; display:block; }
.community-story-meta { display:flex; flex-wrap:wrap; gap:8px 14px; color:#75827d; font-size:.77rem; text-transform:uppercase; letter-spacing:.08em; }
.community-story-card h3 { margin:0; font-size:1.38rem; line-height:1.18; font-weight:600; color:#213a32; }
.community-story-card-body { margin:0; color:#52645d; line-height:1.72; font-size:.96rem; }
.community-story-detail { padding-top:14px; border-top:1px solid rgba(45,74,63,.1); }
.community-story-detail strong { display:block; margin-bottom:5px; color:#315f4d; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; }
.community-story-detail p { margin:0; color:#52645d; line-height:1.65; font-size:.9rem; }
.community-story-card-actions { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.community-story-link { color:#315f4d; text-decoration:none; font-size:.84rem; font-weight:600; }
.community-story-report { appearance:none; border:0; background:none; color:#8a9691; padding:4px; cursor:pointer; font:500 .75rem/1.2 inherit; }
.community-story-report--page { margin-top:20px; padding:10px 14px; border:1px solid rgba(45,74,63,.16); border-radius:999px; background:#fff; color:#66766f; }
.community-story-empty, .community-story-loading { grid-column:1/-1; border:1px dashed rgba(45,74,63,.2); border-radius:24px; padding:34px; text-align:center; color:#66766f; background:rgba(255,255,255,.56); }
.community-story-empty strong { display:block; color:#2a493e; font-size:1.14rem; margin-bottom:7px; }
.community-story-more { display:none; margin:28px auto 0; appearance:none; border:1px solid rgba(49,95,77,.25); border-radius:999px; padding:13px 20px; background:#fff; color:#315f4d; cursor:pointer; font-weight:600; }
.community-story-more.is-visible { display:block; }

.community-story-modal { position:fixed; inset:0; z-index:10000; display:none; align-items:center; justify-content:center; padding:22px; }
.community-story-modal.is-open { display:flex; }
.community-story-modal-backdrop { position:absolute; inset:0; border:0; background:rgba(13,29,24,.72); backdrop-filter:blur(9px); }
.community-story-dialog { position:relative; width:min(880px,100%); max-height:min(920px,92vh); overflow:auto; border:1px solid rgba(45,74,63,.12); border-radius:30px; background:#fbfaf6; box-shadow:0 28px 100px rgba(5,20,15,.35); }
.community-story-dialog-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; gap:20px; padding:28px 30px 21px; background:rgba(251,250,246,.96); border-bottom:1px solid rgba(45,74,63,.1); backdrop-filter:blur(12px); }
.community-story-dialog-head h2 { margin:4px 0 0; font-size:1.65rem; font-weight:600; color:#203a32; }
.community-story-dialog-head p { margin:6px 0 0; color:#697871; }
.community-story-close { width:42px; height:42px; flex:0 0 auto; border:1px solid rgba(45,74,63,.16); border-radius:50%; background:#fff; color:#29453b; cursor:pointer; font-size:1.4rem; transition:background .18s ease,transform .18s ease; }
.community-story-close:hover { background:#eef3e9; transform:rotate(4deg); }
.community-story-form { padding:26px 30px 32px; }
.community-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.community-field { display:flex; min-width:0; flex-direction:column; gap:9px; }
.community-field--wide { grid-column:1/-1; }
.community-field label, .community-field legend { color:#324f45; font-size:.8rem; font-weight:600; letter-spacing:.035em; }
.community-field input:not([type="file"]),
.community-field select,
.community-field textarea { width:100%; min-height:52px; border:1px solid rgba(45,74,63,.18); border-radius:16px; background:#fff; color:#243d35; padding:14px 16px; font:400 .96rem/1.5 Avenir Next, Avenir, Inter, Segoe UI, system-ui, Arial, sans-serif; outline:none; box-shadow:0 1px 0 rgba(255,255,255,.8) inset; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.community-field textarea { min-height:140px; resize:vertical; }
.community-field input:not([type="file"]):focus,
.community-field select:focus,
.community-field textarea:focus { border-color:#6f9b4e; box-shadow:0 0 0 4px rgba(111,155,78,.12); background:#fff; }
.community-field small { color:#78857f; line-height:1.5; }

.community-select-control { position:relative; }
.community-select-control select { -webkit-appearance:none; appearance:none; cursor:pointer; padding-right:52px; background:linear-gradient(180deg,#fff,#fbfcfa); }
.community-select-control::after { content:""; position:absolute; top:50%; right:17px; width:9px; height:9px; border-right:1.8px solid #315f4d; border-bottom:1.8px solid #315f4d; transform:translateY(-68%) rotate(45deg); pointer-events:none; }
.community-select-control::before { content:""; position:absolute; z-index:1; top:50%; right:42px; width:1px; height:24px; background:rgba(45,74,63,.12); transform:translateY(-50%); pointer-events:none; }

.community-file-control { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; min-height:86px; padding:14px; border:1px dashed rgba(49,95,77,.28); border-radius:18px; background:linear-gradient(135deg,rgba(237,243,231,.78),rgba(255,255,255,.92)); }
.community-file-control.is-dragover { border-color:#6f9b4e; background:#eef5e8; box-shadow:0 0 0 4px rgba(111,155,78,.11); }
.community-file-input { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; clip-path:inset(50%) !important; }
.community-file-button { display:inline-flex !important; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 18px; border:1px solid rgba(49,95,77,.2); border-radius:999px; background:#315f4d; color:#fff !important; cursor:pointer; font-size:.84rem !important; font-weight:600 !important; letter-spacing:.01em !important; box-shadow:0 10px 24px rgba(49,95,77,.15); transition:transform .18s ease,background .18s ease; }
.community-file-button:hover { background:#264f40; transform:translateY(-1px); }
.community-file-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.community-file-summary { min-width:0; color:#566a61; font-size:.86rem; line-height:1.45; overflow-wrap:anywhere; }
.community-file-summary strong { display:block; color:#29483d; font-weight:600; margin-bottom:3px; }
.community-photo-note { border-radius:14px; padding:12px 14px; background:#eff4e9; color:#5d7067; font-size:.82rem; }

.community-checkbox { position:relative; display:flex; gap:11px; align-items:flex-start; color:#53665e; line-height:1.5; font-size:.86rem; cursor:pointer; }
.community-checkbox input { -webkit-appearance:none; appearance:none; flex:0 0 auto; width:20px; height:20px; margin:1px 0 0; border:1px solid rgba(49,95,77,.35); border-radius:6px; background:#fff; display:grid; place-items:center; cursor:pointer; }
.community-checkbox input::after { content:""; width:9px; height:5px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg) scale(0); transition:transform .14s ease; }
.community-checkbox input:checked { border-color:#315f4d; background:#315f4d; }
.community-checkbox input:checked::after { transform:rotate(-45deg) scale(1); }
.community-checkbox input:focus-visible { outline:3px solid rgba(111,155,78,.18); outline-offset:2px; }
.community-checkbox a { color:#315f4d; }
.community-story-form-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:25px; }
.community-story-submit { appearance:none; border:0; border-radius:999px; padding:15px 23px; background:#315f4d; color:#fff; cursor:pointer; font-weight:600; }
.community-story-submit[disabled] { opacity:.55; cursor:wait; }
.community-form-status { color:#596b63; font-size:.88rem; }
.community-form-status.is-error { color:#a33d35; }
.community-form-status.is-success { color:#2d6a47; }
.community-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.community-report-dialog .community-story-dialog { width:min(560px,100%); }

.community-story-page { background:#f7f5ef; color:#213a32; }
.community-story-main { padding:clamp(70px,8vw,120px) 0; }
.community-story-article { max-width:850px; margin:0 auto; }
.community-story-article h1 { margin:.35rem 0 1rem; font-size:clamp(2.5rem,5vw,4.2rem); line-height:.98; font-weight:500; letter-spacing:-.05em; }
.community-story-byline { color:#66776f; margin-bottom:30px; }
.community-story-article-body { font-size:clamp(1.05rem,1.6vw,1.28rem); line-height:1.85; color:#3e554c; }
.community-story-article-body p { margin:0 0 1.35em; }
.community-story-callout { margin:30px 0; padding:24px; border-radius:22px; background:#edf3e7; }
.community-story-callout strong { display:block; color:#315f4d; margin-bottom:8px; text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; }
.community-story-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:34px 0; }
.community-story-photos img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; }
.community-story-disclaimer { margin-top:36px; padding-top:20px; border-top:1px solid rgba(45,74,63,.14); color:#76837d; font-size:.85rem; line-height:1.6; }
.community-story-page .site-footer { margin-top:clamp(60px,8vw,110px); }

@media (max-width:900px) {
  .community-story-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .community-stories-head{align-items:flex-start;flex-direction:column;}
  .community-form-grid{grid-template-columns:1fr;}
  .community-field--wide{grid-column:auto;}
}
@media (max-width:620px) {
  .community-story-list{grid-template-columns:1fr;}
  .community-stories-section{padding:58px 0;}
  .community-story-modal{padding:10px;}
  .community-story-dialog{max-height:96vh;border-radius:23px;}
  .community-story-dialog-head,.community-story-form{padding-left:20px;padding-right:20px;}
  .community-story-form-actions{align-items:stretch;flex-direction:column;}
  .community-story-submit{width:100%;}
  .community-story-photos{grid-template-columns:1fr;}
  .community-file-control{grid-template-columns:1fr;align-items:start;}
  .community-file-button{width:fit-content;}
}
/* END REDISCOVER COMMUNITY STORIES v1.5.17 */
