.activity-detail-page { --activity-green:#267743; }
.activity-heading { margin:12px 0 32px; max-width:1000px; }
.activity-back { display:inline-block; color:#526c5a!important; font-size:15px; margin-bottom:30px; }
.activity-eyebrow { display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#57765f; margin:0 0 12px; }
.activity-heading h1 { margin:0 0 20px; padding:0; font-size:clamp(34px,4.5vw,58px); line-height:1.1; color:#152a1d; }
.activity-heading-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; font-size:17px; color:#526356; }
.activity-date-chip { background:#edf5ea; padding:10px 15px; border-radius:8px; color:#285d37; font-weight:700; }
.activity-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:40px; }
.activity-main { min-width:0; }
.activity-cover { margin:0 0 36px; background:#f4f5f0; border:1px solid #e1e5dc; border-radius:16px; overflow:hidden; }
.activity-cover a { display:block; position:relative; }
.activity-cover img { display:block; width:100%; height:clamp(260px,40vw,520px); object-fit:contain; }
.activity-cover a > span { position:absolute; right:14px; bottom:14px; padding:8px 13px; border-radius:7px; background:#ffffffed; color:#294432; font-size:13px; }
.activity-description { padding:0 0 32px; }
.activity-detail-page h2 { margin:0 0 18px; padding:0; color:#213b2a; font-size:30px; }
.activity-description .store-description { font-size:19px; line-height:1.75; color:#435146; }
.activity-description .store-description p { margin:0 0 16px; }
.activity-media-section { border-top:1px solid #e3e8df; padding:28px 0 36px; scroll-margin-top:110px; }
.activity-section-title { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.activity-section-title h2 { margin:0; }
.activity-section-title > span { color:#71806f; font-size:14px; }
.activity-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.activity-photo-grid > a { display:block; position:relative; border:1px solid #e3e7df; border-radius:12px; overflow:hidden; background:#f3f5ef; }
.activity-photo-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; }
.activity-photo-grid span { position:absolute; bottom:8px; right:8px; background:#ffffffed; border-radius:5px; padding:5px 9px; font-size:12px; }
.activity-video-grid { display:grid; grid-template-columns:1fr; gap:24px; }
.activity-video-grid figure { margin:0; }
.activity-video-grid video { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#111a15; border-radius:12px; }
.activity-video-grid figcaption { margin-top:8px; font-size:14px; color:#697765; }
.activity-hosted-videos { display:grid; gap:12px; margin-top:24px; }
.activity-hosted-videos a { display:flex; align-items:center; gap:16px; border:1px solid #dfe6da; border-radius:10px; padding:18px; }
.activity-hosted-videos a > span:nth-child(2) { flex:1; }
.activity-hosted-videos strong { display:block; color:#254f31; font-size:18px; }
.activity-hosted-videos small { display:block; color:#74816f; margin-top:4px; font-size:13px; }
.activity-play-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#edf5e8; color:#387348; }
.activity-practical { position:sticky; top:100px; }
.activity-practical-card { background:#f5f8f1; border:1px solid #dfe7d9; border-radius:16px; padding:26px; }
.activity-practical-card h2 { font-size:27px; }
.activity-practical dl { margin:0; }
.activity-practical dl > div { padding:16px 0; border-top:1px solid #dfe7d9; }
.activity-practical dt { color:#6d7e66; font-size:13px; margin-bottom:6px; }
.activity-practical dd { margin:0; color:#284d33; font-size:19px; line-height:1.45; }
.activity-practical dd span { display:block; color:#6f7f6a; font-size:15px; margin-top:4px; }
.activity-practical-card > p { font-size:15px; line-height:1.6; color:#687b62; margin:20px 0; }
.activity-primary-action,.activity-secondary-action { display:block; text-align:center; padding:13px 12px; border-radius:8px; font-size:17px; font-weight:700; margin-top:10px; }
.activity-detail-page .activity-primary-action { background:#267743; color:#fff; }
.activity-secondary-action { border:1px solid #95b69a; color:#267743!important; }
.activity-phone { display:block; text-align:center; padding-top:16px; font-size:17px; }
.activity-bottom-link { margin-top:24px; padding-top:24px; border-top:1px solid #e2e7dd; color:#337245; font-size:18px; }
.activity-detail-page a:focus-visible,.activity-lightbox button:focus-visible { outline:3px solid #b38738; outline-offset:4px; }
.activity-lightbox { border:0; border-radius:12px; padding:55px 18px 16px; background:#111a15; color:#fff; width:min(1100px,95vw); max-width:95vw; max-height:95dvh; }
.activity-lightbox::backdrop { background:#061008dd; }
.activity-lightbox > img { display:block; width:100%; height:72dvh; object-fit:contain; }
.activity-lightbox button { color:#fff; border:1px solid #ffffff50; background:#ffffff10; border-radius:6px; padding:9px 16px; font:inherit; cursor:pointer; }
.activity-lightbox-close { position:absolute; top:12px; right:18px; }
.activity-lightbox-nav { display:flex; justify-content:center; align-items:center; gap:25px; margin-top:12px; }
@media(max-width:850px) { .activity-detail-layout { grid-template-columns:1fr; gap:24px; } .activity-practical { position:static; } .activity-cover img { height:400px; max-height:65vh; } }
@media(max-width:500px) { .activity-heading h1 { font-size:36px; } .activity-heading-meta { font-size:16px; } .activity-photo-grid { gap:10px; } .activity-practical-card { padding:22px; } .activity-lightbox > img { height:65dvh; } }

.activity-type-badge{display:inline-flex;align-items:center;gap:8px;color:#246442;background:#edf5ef;border-radius:24px;padding:6px 12px;font-size:16px;line-height:1.4;width:fit-content;margin-bottom:8px}.activity-type-icon{flex:none;vertical-align:middle}

.activity-photo-grid > a{aspect-ratio:4/3}.activity-photo-grid img{height:100%;aspect-ratio:auto;object-fit:contain}.activity-cover.is-cropped a{aspect-ratio:16/9;overflow:hidden}.activity-cover.is-cropped img{height:100%;object-fit:cover}

.activity-heading{max-width:none;position:relative;padding-right:150px}.activity-share{position:absolute;right:0;top:65px;z-index:3}.activity-share summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;border:1px solid #cddccd;border-radius:28px;padding:12px 22px;background:#fff;color:#285d37;font-size:17px}.activity-share summary::-webkit-details-marker{display:none}.activity-share summary:focus-visible{outline:3px solid #267743;outline-offset:3px}.activity-share-panel{position:absolute;right:0;width:310px;padding:20px;background:white;border:1px solid #dce5d9;border-radius:16px;box-shadow:0 12px 36px #16311c22;margin-top:10px}.activity-share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.activity-share-options a,.activity-share-options button{font:inherit;font-size:15px;text-align:left;padding:10px;border:1px solid #dce5d9;background:#f4f8f1;color:#285d37;border-radius:8px;cursor:pointer}.activity-share-options [hidden]{display:none}.activity-share-panel p{font-size:14px;margin:12px 0 0}
.activity-photo-album{display:block;columns:2;column-gap:16px}.activity-photo-album>a{display:block;break-inside:avoid;margin-bottom:16px;aspect-ratio:auto}.activity-photo-album img{height:auto;aspect-ratio:auto;width:100%;object-fit:contain}
@media(max-width:700px){.activity-heading{padding-right:0}.activity-share{position:relative;top:auto;right:auto;width:fit-content;margin-top:20px}.activity-share-panel{left:0;right:auto;max-width:calc(100vw - 48px)}.activity-photo-album{column-gap:10px}.activity-photo-album>a{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){}

.activity-main-photo a{aspect-ratio:16/9;overflow:hidden}.activity-main-photo img{height:100%;width:100%;object-fit:cover}.activity-main-photo{margin:0 0 30px}
