:root{--forest:#173c32;--dark:#123127;--sage:#728d76;--sage-soft:#e7eddf;--warm:#fbf8f1;--cream:#fffdf9;--terracotta:#c65c3f;--gold:#c8a24a;--gold-deep:#b38b2e;--terracotta-dark:#aa4930;--sand:#e8dfd0;--ink:#263a32;--muted:#68736b;--line:#e8e4dc;--shadow:0 18px 45px rgba(26,48,36,.10);--serif:'Iowan Old Style',Baskerville,Georgia,serif;--sans:Inter,'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9fae6a;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--forest)}h1{font-size:clamp(3rem,5.6vw,5.5rem);line-height:1.03;letter-spacing:-.03em}h2{font-size:clamp(2.1rem,3.6vw,3.3rem);line-height:1.12;letter-spacing:-.025em}h3{font-size:1.45rem}p{line-height:1.65}.shell{width:min(1360px,calc(100% - 96px));margin:auto}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden}.svg-symbols{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon.tiny{width:15px;height:15px}.demo-strip{display:flex;gap:9px;align-items:center;justify-content:center;background:#eaf0e8;color:#355343;padding:8px 22px;font-size:12px;line-height:1.4;text-align:center;border-bottom:1px solid #dce4db}.demo-strip .icon{width:16px;height:16px}.site-header{background:rgba(255,253,249,.97);z-index:20;position:sticky;top:0;border-bottom:1px solid rgba(29,61,45,.06)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:15px;white-space:nowrap}.brand-name,.footer-brand{font-family:var(--serif);font-size:clamp(23px,2vw,31px);letter-spacing:-.02em;color:var(--forest)}.brand-mark{display:grid;place-items:center;width:59px;height:59px;flex:none;border-radius:15px;background:var(--forest);color:var(--gold);font-family:var(--serif);font-size:34px;font-weight:700;line-height:1;letter-spacing:-.09em;padding-right:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}.desktop-nav{display:flex;align-items:center;gap:29px}.nav-link{font-size:13px;font-weight:700;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--terracotta)}.header-actions{display:flex;align-items:center;gap:12px}.header-place{display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--forest);font-size:12px;font-weight:600;white-space:nowrap;padding:8px}.header-place .icon{width:17px;height:17px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:999px;padding:14px 27px;min-height:49px;font-weight:700;font-size:14px;white-space:nowrap;transition:background .2s,transform .2s,border .2s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn .icon{width:17px;height:17px}.btn.small{padding:10px 20px;min-height:41px;font-size:12px}.btn-primary{background:var(--terracotta);color:white}.btn-primary:hover{background:var(--terracotta-dark)}.btn-outline{border-color:#789086;background:transparent;color:var(--forest)}.btn-outline:hover{background:#edf1e9}.btn-light{border-color:#adc0b5;background:rgba(255,253,249,.94);color:var(--forest)}.btn-light:hover{background:white}.icon-btn{width:42px;height:42px;border:0;background:transparent;display:inline-grid;place-items:center;color:var(--forest);border-radius:50%}.icon-btn:hover{background:#edf1e9}.mobile-menu-toggle,.mobile-menu{display:none}
.hero{height:510px;position:relative;overflow:hidden;background:#ede7dc}.hero-photo{position:absolute;inset:0 0 0 42%;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:9px;padding:12px 12px 12px 0;background:#eae4d7}.hero-photo-panel{min-height:0;min-width:0;background-position:center;background-size:cover;border-radius:10px}.hero-photo-coffee{grid-column:2;grid-row:1;background-image:url('assets/coffee.webp');background-position:53% center}.hero-photo-music{grid-column:1;grid-row:1/3;background-image:url('assets/concert.webp');background-position:55% center}.hero-photo-wellness{grid-column:2;grid-row:2;background-image:url('assets/sauna-alt.webp');background-position:55% center}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f8f3e9 0%,rgba(248,243,233,.98) 25%,rgba(248,243,233,.74) 44%,rgba(248,243,233,.06) 63%,transparent 75%)}.hero-inner{height:100%;position:relative;z-index:2;display:flex;align-items:center}.hero-content{max-width:610px;padding-bottom:20px}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:.18em;color:#738573}.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:19px}.eyebrow-line{display:block;height:1px;width:27px;background:var(--sage)}.hero h1{font-size:clamp(2.65rem,4.2vw,4.35rem);line-height:1.06;margin-bottom:18px}.hero h1 em{font-style:normal}.hero-desc{font-size:16px;line-height:1.75;max-width:440px;color:#394b40;margin-bottom:24px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.search-wrap{position:relative;z-index:4;margin-top:-36px}.search-panel{background:var(--cream);box-shadow:0 12px 35px rgba(31,45,34,.19);border:1px solid #f4efe7;border-radius:21px;min-height:80px;display:flex;align-items:center;padding:10px 12px 10px 0}.filter-field{height:43px;display:flex;align-items:center;gap:13px;position:relative;padding:0 20px;border-right:1px solid var(--line);min-width:0;flex:1}.filter-field .icon{color:var(--forest);width:19px;height:19px}.filter-field select{background:none;border:0;outline:0;color:var(--forest);font-size:13px;appearance:none;cursor:pointer;flex:1;min-width:0;width:100%;font-weight:600;padding-right:19px}.filter-field .select-arrow{position:absolute;right:18px;width:13px;height:13px;pointer-events:none}.location-field{flex:1.35}.narrow-field{flex:.78}.category-field{border:0}.search-button{min-width:155px}.categories{padding:37px 0 30px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:15px}.category-item{display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;border:0;background:none;color:var(--forest);font-size:12px;line-height:1.3;font-weight:600}.category-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:var(--forest);background:#e9e3d8;transition:transform .2s,box-shadow .2s}.category-icon .icon{width:26px;height:26px}.category-item:nth-child(3n + 1) .category-icon{background:#d8e1d4}.category-item:nth-child(3n + 2) .category-icon{background:#efe4d4}.category-item:nth-child(3n) .category-icon{background:#d8a995;color:#fff}.category-item:hover .category-icon,.category-item.active .category-icon{transform:translateY(-3px);box-shadow:0 0 0 4px #f8f4ed,0 0 0 6px var(--terracotta)}.featured{padding:19px 0 68px;scroll-margin-top:110px}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-kicker{margin-bottom:7px}.section-title-row h2{margin-bottom:0}.section-side{display:flex;align-items:center;gap:18px}.example-pill,.sample-tag{display:inline-flex;align-items:center;background:#e9eee5;color:#55735d;border-radius:99px;font-size:11px;font-weight:700;padding:7px 12px;white-space:nowrap}.text-link{display:inline-flex;gap:8px;align-items:center;border:0;background:transparent;color:var(--forest);border-bottom:1px solid var(--forest);padding:0 0 2px;font-size:12px;font-weight:700}.text-link .icon{width:15px;height:15px}.result-summary{font-size:12px;color:var(--muted);min-height:20px;margin-bottom:12px}.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.activity-card{background:#fff;border-radius:13px;overflow:hidden;border:1px solid #eee8df;box-shadow:0 8px 20px rgba(37,50,42,.055);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.activity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-image-wrap{height:175px;position:relative;overflow:hidden;background:#d7ddd6;cursor:pointer}.card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.activity-card:hover .card-image{transform:scale(1.06)}.card-category{position:absolute;left:13px;top:13px;background:#fffdf5;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:700;color:var(--forest)}.card-heart{position:absolute;right:11px;top:11px;width:35px;height:35px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--forest);background:#fffefaee;transition:transform .2s}.card-heart:hover{transform:scale(1.1)}.card-heart.saved{color:var(--terracotta)}.card-heart.saved .icon{fill:currentColor}.card-heart .icon{width:19px;height:19px}.card-body{padding:17px 17px 16px;display:flex;flex-direction:column;flex:1}.card-heading{font-family:var(--sans);font-size:16px;font-weight:700;line-height:1.25;color:var(--forest);margin:1px 0 10px;text-align:left;background:none;border:0;padding:0;cursor:pointer}.card-heading:hover{text-decoration:underline}.card-meta{display:flex;align-items:center;gap:7px;color:#657369;font-size:12px;margin-bottom:7px;line-height:1.3}.card-meta .icon{width:14px;height:14px;color:#49675a}.card-foot{margin-top:auto;padding-top:11px}.card-interested{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px;margin-bottom:12px}.avatars{display:flex;padding-left:3px}.avatar{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;border:2px solid white;margin-left:-4px;background:#bdcfbf;color:#214d38;font-size:9px;font-weight:700}.avatar:nth-child(2){background:#ecd6c7;color:#6a4134}.avatar:nth-child(3){background:#d5d6e4;color:#464465}.card-buttons{display:grid;grid-template-columns:1fr;gap:8px}.card-buttons .btn{min-height:38px;padding:9px 12px;font-size:12px}.card-buttons .secondary-action{display:none}.center-cta{text-align:center;margin-top:31px}.empty-state{text-align:center;padding:58px 20px;border:1px dashed #b6c2b3;background:#f0f3ed;border-radius:16px;grid-column:1/-1}.empty-state>.icon{width:33px;height:33px;color:var(--sage)}.empty-state p{color:var(--muted);max-width:420px;margin:0 auto 20px}.how-band{background:#e8eee5;padding:52px 0}.how-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center}.how-main{width:100%;text-align:center}.how-band h2{margin-bottom:30px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.step{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.step:not(:last-child):after{content:'+1';position:absolute;right:-23px;top:19px;color:var(--gold-deep);font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1}.step-icon{background:var(--forest);width:51px;height:51px;border-radius:50%;display:grid;place-items:center;color:white;margin-bottom:6px}.step-icon .icon{width:24px;height:24px}.step strong{font-size:13px}.step>span:last-child{color:#53675a;font-size:12px;line-height:1.5;max-width:150px}.community-band{background:#e8eee5;min-height:0;padding:52px 0;display:flex;align-items:center}.community-content{display:flex;justify-content:center;align-items:center}.community-copy{background:transparent;max-width:680px;padding:0;text-align:center;border-radius:0;box-shadow:none}.community-copy h2{font-size:36px;margin-bottom:12px}.community-copy p:not(.section-kicker){color:#55685b;font-size:14px}.site-footer{background:var(--forest);color:#fff;padding:37px 0 18px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;align-items:start}.footer-brand{color:#fff;font-size:29px}.footer-grid p{color:#c9d7cd;font-size:13px;margin:4px 0}.footer-grid small{font-size:12px;color:#b4cabd}.footer-links{display:flex;flex-wrap:wrap;gap:17px 25px;align-items:center;padding-top:12px}.footer-links a,.footer-links button{font-size:12px;color:#edf4ed;background:none;border:0;padding:0}.footer-links a:hover,.footer-links button:hover{text-decoration:underline}.footer-location{display:flex;align-items:start;gap:9px;font-size:13px;line-height:1.6;padding-top:11px}.footer-location .icon{width:19px;height:19px}.footer-bottom{border-top:1px solid #3a5c4f;margin-top:36px;padding-top:16px;display:flex;justify-content:space-between;gap:16px;color:#b4c9bd;font-size:11px}.mobile-bottom-nav{display:none}
.subpage{min-height:66vh}.subpage-inner{padding:65px 0 90px}.subpage h1{font-size:clamp(3rem,4.4vw,4rem);margin-bottom:7px}.subpage-lead,.subpage-heading p{max-width:620px;color:var(--muted);font-size:15px}.subpage-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.tabs{display:flex;gap:9px;border-bottom:1px solid #e3e6db;margin:24px 0}.tab{border:0;border-bottom:3px solid transparent;padding:12px 18px;background:transparent;color:#64756a;font-weight:700;font-size:13px}.tab.active{border-bottom-color:var(--terracotta);color:var(--forest)}.notice-box{padding:25px 30px;background:#eaf0e8;border-radius:15px;border:1px solid #dce6d9;color:#3b5c48}.notice-box h3{margin-bottom:6px}.notice-box p{margin-bottom:15px;font-size:14px}.message-layout{display:grid;grid-template-columns:310px 1fr;gap:0;margin-top:28px;min-height:430px;background:#fff;border:1px solid #e5e9e0;border-radius:18px;overflow:hidden}.message-sidebar{padding:21px;border-right:1px solid #e5e9e0}.message-sidebar h3{font-size:21px;margin-bottom:18px}.conversation-preview{border:0;background:#eef3eb;width:100%;padding:14px;border-radius:13px;text-align:left;display:flex;align-items:center;gap:12px;color:var(--forest)}.conversation-preview small{color:var(--muted);display:block;margin-top:3px}.message-room{display:flex;flex-direction:column;min-width:0}.message-room-header{border-bottom:1px solid var(--line);padding:19px 24px;display:flex;align-items:center;gap:10px}.message-feed{padding:28px;flex:1;background:#fbfaf6;display:flex;gap:12px;flex-direction:column}.chat-bubble{max-width:75%;border-radius:17px;padding:12px 15px;font-size:13px;line-height:1.6;background:#ebeee8;align-self:flex-start}.chat-bubble.own{background:#d3e2d2;align-self:flex-end}.message-entry{padding:15px;display:flex;gap:8px;border-top:1px solid var(--line)}.message-entry input{min-width:0;flex:1;border:1px solid var(--line);border-radius:30px;padding:11px 16px}.message-entry .btn{min-height:43px}.profile-panel,.admin-panel{padding:30px;border:1px solid var(--line);border-radius:18px;background:white;max-width:750px;box-shadow:0 6px 15px rgba(20,45,26,.035)}.profile-top{display:flex;gap:17px;align-items:center;margin-bottom:25px}.profile-top .avatar{width:64px;height:64px;font-size:20px;margin:0}.profile-top h2{font-size:30px;margin:0}.profile-top p{font-size:13px;color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.form-field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#435d4d}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #d5dfd4;border-radius:10px;background:#fffcf8;padding:13px 14px;color:var(--forest);font-size:14px}.form-field textarea{min-height:100px;resize:vertical}.form-field.full{grid-column:1/-1}.form-actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.admin-section{padding:20px 0;border-bottom:1px solid #e9e9e4}.admin-section:last-child{border-bottom:0}.admin-item{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px;margin:12px 0;border:1px solid var(--line);border-radius:12px}.admin-item h3{font-family:var(--sans);font-size:15px;font-weight:700;margin:0 0 6px}.admin-item p{font-size:12px;color:var(--muted);margin:0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions .btn{padding:9px 13px;min-height:38px;font-size:12px}
.modal{padding:0;border:0;border-radius:22px;background:var(--cream);max-height:min(90vh,850px);max-width:min(94vw,630px);width:100%;box-shadow:0 30px 85px #0005;color:var(--ink)}.modal::backdrop{background:rgba(14,36,28,.62);backdrop-filter:blur(3px)}.modal-inner{position:relative;padding:32px}.modal-close{position:absolute;right:17px;top:14px;z-index:2;background:#f2f0ea}.modal h2{font-size:36px;line-height:1.14;margin-bottom:10px;padding-right:20px}.modal p{font-size:14px;color:#596c60}.modal-image{height:225px;width:calc(100% + 64px);object-fit:cover;margin:-32px -32px 22px;display:block}.modal-meta{display:flex;flex-wrap:wrap;gap:13px;margin:16px 0}.modal-meta span{display:flex;align-items:center;gap:6px;font-size:13px;color:#56705e}.modal-meta .icon{width:15px;height:15px}.modal-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.modal-buttons .btn{flex:1}.auth-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.auth-provider{min-height:47px;border:1px solid #cddbcf;background:white;border-radius:11px;font-weight:700;color:var(--forest)}.auth-provider:hover{background:#f2f6ef}.divider{display:flex;align-items:center;gap:12px;color:#8d978e;font-size:12px;margin:19px 0}.divider:before,.divider:after{content:'';height:1px;background:#e0e7dd;flex:1}.form-note{font-size:11px!important;color:#768779!important;line-height:1.6!important;margin-top:11px}.people-list{display:flex;flex-direction:column;gap:10px;margin:20px 0}.person-row{border:1px solid #e0e7dd;background:white;border-radius:14px;padding:13px;display:flex;gap:12px;align-items:center}.person-row>.avatar{margin:0;width:44px;height:44px;font-size:15px}.person-desc{min-width:0;flex:1}.person-desc strong{display:block;font-size:14px}.person-desc small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.person-row .btn{font-size:11px;padding:9px 12px;min-height:35px}.people-note{background:#eef3eb;border-radius:12px;padding:13px;color:#56715f;font-size:12px;line-height:1.6}.toast{position:fixed;z-index:100;bottom:23px;left:50%;transform:translate(-50%,20px);background:var(--forest);color:white;border-radius:12px;padding:13px 21px;box-shadow:0 8px 25px #0003;font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1200px){.shell{width:min(1120px,calc(100% - 60px))}.desktop-nav{gap:18px}.brand-name{font-size:25px}.header-place{display:none}.hero{height:475px}.hero-photo{left:38%}.cards-grid{gap:15px}.card-body{padding:15px 13px}.how-layout{grid-template-columns:minmax(0,1fr);gap:0}.category-icon{width:55px;height:55px}}
@media(max-width:900px){.desktop-nav{display:none}.header-place{display:none}.mobile-menu-toggle{display:grid}.mobile-menu{display:flex;flex-direction:column;background:var(--cream);padding:15px 30px 25px;gap:6px;border-top:1px solid var(--line)}.mobile-menu a{display:block;padding:10px;font-size:14px;font-weight:700}.mobile-menu .btn{align-self:start;margin-top:5px}.hero{height:480px}.hero-photo{left:30%}.hero:before{background:linear-gradient(90deg,#f8f3e9 0%,rgba(248,243,233,.96) 35%,rgba(248,243,233,.47) 68%,transparent)}.hero-content{max-width:550px}.search-panel{flex-wrap:wrap;padding:12px}.filter-field{flex:1 1 45%;border:0;padding:0 12px}.filter-field:nth-child(odd){border-right:1px solid var(--line)}.search-button{width:100%;margin-top:8px}.categories{grid-template-columns:repeat(4,1fr);gap:17px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-image-wrap{height:205px}.how-layout{grid-template-columns:minmax(0,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-location{grid-column:1/-1}.community-band{min-height:320px}}
@media(max-width:600px){.shell{width:calc(100% - 36px)}.demo-strip{font-size:10px;padding:7px 12px}.demo-strip .icon{display:none}.header-inner{height:67px}.brand{gap:8px}.brand-mark{width:49px;height:49px;border-radius:13px;font-size:30px;padding-right:4px}.brand-name{font-size:22px}.header-actions .btn,.header-actions .header-place{display:none}.hero{height:auto;min-height:540px;display:flex;flex-direction:column;justify-content:flex-end}.hero-photo{inset:0 0 39% 0;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:5px;padding:0;background:#eae4d7}.hero-photo-panel{border-radius:0}.hero-photo-coffee{background-position:center}.hero-photo-music{background-position:50% center}.hero-photo-wellness{background-position:center}.hero:before{background:linear-gradient(0deg,#f8f3e9 0%,#f8f3e9 46%,rgba(248,243,233,.88) 60%,rgba(248,243,233,0) 83%)}.hero-inner{width:calc(100% - 36px);align-items:flex-end;padding:190px 0 54px}.hero-content{padding-bottom:0}.eyebrow{font-size:10px;margin-bottom:12px}.hero h1{font-size:clamp(34px,8.5vw,48px);margin-bottom:12px;line-height:1.06}.hero-desc{font-size:13px;line-height:1.65;margin-bottom:20px;max-width:95%}.hero-actions{gap:9px}.hero-actions .btn{min-height:44px;padding:11px 17px;font-size:12px}.search-wrap{margin-top:-23px}.search-panel{border-radius:17px;padding:9px;gap:4px}.filter-field{height:42px;padding:0 8px;gap:7px;flex:1 1 calc(50% - 5px)}.filter-field select{font-size:11px}.filter-field .icon{width:15px;height:15px}.filter-field .select-arrow{right:6px}.filter-field:nth-child(odd){border-right:1px solid var(--line)}.search-button{min-height:43px;margin-top:2px;font-size:12px}.categories{padding:28px 0 17px;grid-template-columns:repeat(4,1fr);gap:18px 4px}.category-item{font-size:10px;gap:8px}.category-icon{width:51px;height:51px}.category-icon .icon{width:23px;height:23px}.featured{padding:24px 0 49px}.section-title-row{align-items:end;gap:10px}.section-title-row h2{font-size:31px}.section-side{gap:8px;flex-direction:column;align-items:flex-end}.example-pill{font-size:9px;padding:5px 8px}.text-link{font-size:10px}.text-link .icon{width:13px}.cards-grid{grid-template-columns:1fr;gap:16px}.card-image-wrap{height:220px}.card-body{padding:18px}.card-heading{font-size:18px}.card-meta{font-size:12px}.card-buttons .btn{min-height:44px}.center-cta{margin-top:24px}.how-band{padding:44px 0}.how-band h2{margin-bottom:24px}.steps{grid-template-columns:repeat(2,1fr);gap:24px 14px}.step:after{display:none}.community-band{min-height:0;padding:40px 0;background:#e8eee5}.community-content{justify-content:center}.community-copy{padding:0;border-radius:0}.community-copy h2{font-size:32px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-location{grid-column:auto}.site-footer{padding:33px 0 104px}.footer-bottom{flex-direction:column;gap:5px;margin-top:22px}.mobile-bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:71px;padding-bottom:env(safe-area-inset-bottom,0);background:#173c32;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;box-shadow:0 -5px 25px rgba(0,0,0,.12)}.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#d4e1d7;font-size:10px;font-weight:600;height:100%;position:relative}.mobile-bottom-nav .icon{width:22px;height:22px}.mobile-bottom-nav a.active{color:white}.mobile-bottom-nav a.active:before{content:'';position:absolute;top:0;width:55%;height:3px;background:var(--terracotta);border-radius:0 0 4px 4px}.subpage-inner{padding:40px 0 70px}.subpage h1{font-size:44px}.subpage-heading{align-items:flex-start;flex-direction:column}.message-layout{grid-template-columns:1fr;min-height:unset}.message-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:16px}.message-room{min-height:360px}.message-room-header{padding:14px}.message-feed{padding:18px}.chat-bubble{max-width:92%}.profile-panel,.admin-panel{padding:20px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.modal{max-height:88vh}.modal-inner{padding:23px}.modal-image{width:calc(100% + 46px);margin:-23px -23px 17px;height:180px}.modal h2{font-size:29px}.modal-buttons .btn{flex-basis:100%}.auth-options{grid-template-columns:1fr}.admin-item{align-items:stretch;flex-direction:column}.toast{bottom:85px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Source-backed Cork event listings */
.card-organiser{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.4;color:#426650;margin:6px 0 3px}.card-organiser .icon{width:15px;height:15px}.card-interested .icon{width:16px;height:16px}.card-interested{margin-bottom:10px}.event-official-link{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 10px;border:1px solid #a2b4a4;border-radius:30px;color:var(--forest);font-weight:700;font-size:12px;background:#f9fbf6;text-align:center;text-decoration:none}.event-official-link:hover,.event-official-link:focus-visible{background:#e9efe7;border-color:var(--forest)}.event-official-link .icon{height:16px;width:16px;transform:rotate(-35deg)}.modal-inner>.event-official-link{display:inline-flex;margin:6px 0 20px;padding:12px 20px}.admin-item .event-official-link{display:inline-flex;min-height:30px;margin-top:7px;padding:6px 14px}.admin-item p{max-width:660px}.card-buttons{gap:9px}
.hero-photo-coffee {
  grid-column: 2;
  grid-row: 1;
}

.hero-photo-music {
  grid-column: 1;
  grid-row: 1 / 3;
}

.hero-photo-wellness {
  grid-column: 2;
  grid-row: 2;
}

/* Find Your People — demo member discovery */
.people-filters{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0 16px}.people-filters .form-field{min-width:190px;max-width:270px;flex:1}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:20px}.member-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 8px 20px rgba(37,50,42,.06)}.member-photo{display:block;width:100%;height:240px;object-fit:cover;background:#d8e1d4}.member-card-body{padding:19px}.member-card h2{font-family:var(--sans);font-size:23px;margin:12px 0 8px}.member-card p{color:var(--muted);font-size:13px}.member-card p .icon,.member-detail p .icon{width:15px;height:15px;vertical-align:middle}.member-interests{min-height:39px}.member-card .btn{margin-top:8px;width:100%}.member-detail{display:grid;grid-template-columns:175px 1fr;gap:23px;align-items:start;margin:12px 0 23px}.member-detail .member-photo{height:210px;border-radius:12px}.member-detail h2{margin-top:0}.member-detail p{line-height:1.6}
@media(max-width:900px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.member-grid{grid-template-columns:1fr}.member-photo{height:280px}.member-detail{grid-template-columns:115px 1fr;gap:14px}.member-detail .member-photo{height:155px}.people-filters .form-field{min-width:130px}}

/* Compact Find Your People cards */
.member-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.member-card .member-photo{height:150px;object-fit:cover}
.member-card-body{padding:15px}
.member-card h2{font-size:19px;margin:9px 0 6px}
.member-card .member-interests{min-height:34px}
@media(max-width:1050px){.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-card .member-photo{height:135px}}
@media(max-width:440px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-card .member-photo{height:110px}.member-card-body{padding:11px}.member-card h2{font-size:17px}.member-card .btn{font-size:11px;padding:9px 8px}}

/* Community-first member directory: recognisable faces, interests first */
.member-card{display:flex;align-items:flex-start;gap:14px;padding:17px;min-height:190px}
.member-card .member-photo{width:76px;height:76px;min-width:76px;border-radius:50%;object-fit:cover;flex-shrink:0}
.member-card-body{padding:0;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.member-card .sample-tag{font-size:10px;padding:4px 8px}
.member-card h2{font-size:19px;margin:8px 0 4px}
.member-card p{margin:4px 0}
.member-card .member-interests{font-size:14px;font-weight:600;color:var(--forest);min-height:0;line-height:1.5;margin:12px 0}
.member-card .btn{margin-top:auto;align-self:stretch}
@media(max-width:750px){.member-card{padding:13px;gap:10px}.member-card .member-photo{width:58px;height:58px;min-width:58px}}
@media(max-width:440px){.member-grid{grid-template-columns:1fr}.member-card .member-photo{width:70px;height:70px;min-width:70px}}

/* Real directory avatar sizing: match the compact member card layout */
.member-card .real-member-photo{width:76px;height:76px;min-width:76px;aspect-ratio:1;flex:0 0 76px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e9eee7;color:#194537;font-size:28px;font-weight:700}
.member-card .real-member-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:750px){.member-card .real-member-photo{width:58px;height:58px;min-width:58px;flex-basis:58px}}
@media(max-width:440px){.member-card .real-member-photo{width:70px;height:70px;min-width:70px;flex-basis:70px}}

/* Compact, readable companions in the activity matching dialog.
   Keep these avatar dimensions independent of directory card photos. */
.person-row{flex-wrap:wrap}
.person-row>.member-photo{
  display:grid;place-items:center;
  width:56px;height:56px;min-width:56px;max-width:56px;
  flex:0 0 56px;aspect-ratio:1;border-radius:50%;
  overflow:hidden;background:#e9eee7;color:var(--forest);
  font-size:21px;font-weight:700;line-height:1;
}
.person-row>.member-photo img{display:block;width:100%;height:100%;object-fit:cover}
.person-row>.person-desc{flex:1 1 160px;min-width:0;overflow-wrap:anywhere}
.person-row>.person-desc strong{line-height:1.4}
.person-row>.person-desc small{line-height:1.5;overflow-wrap:anywhere}
.person-row>.form-note{flex:0 0 auto;margin:0;white-space:nowrap}
@media(max-width:480px){.person-row>.form-note{margin-left:68px}}


/* Sauna spotlight: independently listed Cork venues, linked to their official sites. */
.sauna-spotlight{margin:26px auto 68px;scroll-margin-top:110px;border:1px solid #e6e7dd;border-radius:22px;background:#f7f4ed;overflow:hidden}
.sauna-spotlight-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);min-height:220px;background:#e8eee5}
.sauna-spotlight-copy{padding:34px 40px 29px;display:flex;flex-direction:column;justify-content:center}
.sauna-spotlight-copy h2{font-size:clamp(30px,3vw,42px);margin:0 0 12px}
.sauna-spotlight-copy p:not(.section-kicker){font-size:14px;line-height:1.7;color:#526b59;max-width:570px;margin:0}
.sauna-spotlight-photo{background:linear-gradient(90deg,rgba(232,238,229,.12),transparent),url('assets/sauna-alt.webp') center 49%/cover;min-height:220px}
.sauna-spotlight-body{padding:25px 30px 30px}
.sauna-region-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:21px}
.sauna-region-button{background:#fff;color:var(--forest);border:1px solid #d7e0d6;border-radius:99px;padding:9px 16px;font-size:12px;font-weight:700;cursor:pointer;transition:background .16s,color .16s,border-color .16s}
.sauna-region-button:hover,.sauna-region-button:focus-visible{border-color:var(--forest)}
.sauna-region-button[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.sauna-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.sauna-venue{padding:19px 19px 17px;border:1px solid #e1e5dc;border-radius:15px;background:white;display:flex;flex-direction:column;gap:8px;min-width:0}
.sauna-venue[hidden]{display:none}
.sauna-venue-top{display:flex;gap:8px;align-items:center;color:#54745c;font-weight:700;font-size:11px}
.sauna-venue-top .icon{width:15px;height:15px;flex:none}
.sauna-venue h3{font-family:var(--sans);font-size:18px;line-height:1.3;color:var(--forest);margin:3px 0 0}
.sauna-venue p{color:#607063;font-size:12px;line-height:1.55;margin:0;flex:1}
.sauna-venue a{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;color:var(--forest);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.sauna-venue a .icon{width:14px;height:14px;transform:rotate(-35deg)}
.sauna-disclaimer{font-size:11px;color:#677767;line-height:1.55;margin:18px 3px 0}
@media(max-width:900px){.sauna-spotlight-intro{grid-template-columns:1.1fr .9fr}.sauna-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sauna-spotlight{margin:12px auto 48px;border-radius:17px}.sauna-spotlight-intro{display:flex;flex-direction:column-reverse}.sauna-spotlight-photo{min-height:165px}.sauna-spotlight-copy{padding:24px 19px 23px}.sauna-spotlight-copy h2{font-size:32px}.sauna-spotlight-body{padding:19px 15px 23px}.sauna-region-button{font-size:11px;padding:8px 12px}.sauna-grid{grid-template-columns:1fr;gap:11px}.sauna-venue{padding:16px}.sauna-venue h3{font-size:17px}}

/* Clear distinction between venue guides and dated event cards. */
.sauna-listing-card .card-heading{cursor:default;pointer-events:none}.sauna-listing-card .card-heading:hover{text-decoration:none}.sauna-listing-card .card-category{max-width:calc(100% - 25px)}.sauna-result-description{font-size:12px;color:#576b60;line-height:1.6;margin:4px 0 14px}.sauna-result-note{font-size:11px;color:#65786d;line-height:1.5;margin:0 0 9px}

/* Music genres: genre labels are drawn from artist or organiser descriptions. */
.music-style-line{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 10px}
.music-style-tag{display:inline-flex;gap:6px;align-items:center;background:#e5ede2;color:#24543f;border-radius:30px;padding:7px 10px;font-size:11px;font-weight:700;line-height:1.25}
.music-style-tag .icon{width:14px;height:14px;flex:none}
.music-style-excerpt{color:#546b5a;font-size:12px;line-height:1.5;margin:0 0 12px}
.music-modal-style{background:#e9efe6;color:#284b3b;padding:10px 13px;border-radius:10px;margin:7px 0 12px;font-size:13px}

/* Wellness & Movement: a class directory independent of dated event listings. */
.wellness-spotlight{scroll-margin-top:105px;margin:34px auto 55px;background:#fcf9f2;border-radius:21px;overflow:hidden;border:1px solid #e8e5da}
.wellness-intro{background:#edf1e8;padding:35px 37px 30px}
.wellness-intro h2{font-size:clamp(32px,3.7vw,49px);margin:0 0 11px}
.wellness-intro p:not(.section-kicker){margin:0;max-width:750px;font-size:14px;line-height:1.7;color:#516c5b}
.wellness-content{padding:24px 28px 29px}
.wellness-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:13px}
.wellness-filter{appearance:none;background:#fff;border:1px solid #cfdccf;border-radius:99px;padding:10px 17px;color:var(--forest);font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s}
.wellness-filter[aria-pressed="true"]{background:var(--forest);color:white;border-color:var(--forest)}
.wellness-filter:hover,.wellness-filter:focus-visible{border-color:var(--forest)}
.wellness-count{font-size:12px;line-height:1.5;color:#637765;margin:0 0 17px}
.wellness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wellness-venue{display:flex;flex-direction:column;gap:8px;background:white;border:1px solid #e3e7df;border-radius:15px;padding:19px;min-width:0;box-shadow:0 3px 9px #1f392507}
.wellness-venue[hidden]{display:none!important}
.wellness-place{display:flex;align-items:flex-start;gap:7px;font-size:11px;font-weight:700;color:#55745c;line-height:1.45}
.wellness-place .icon{width:14px;height:14px;flex:none}
.wellness-venue h3{font:700 17px/1.35 var(--sans);color:var(--forest);margin:3px 0 1px}
.wellness-tags{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0}
.wellness-tag{background:#e9eee6;color:#4d6d58;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:700}
.wellness-venue p{font-size:12px;line-height:1.55;color:#5c7061;margin:2px 0 0;flex:1}
.wellness-venue a{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:12px;font-weight:700;color:var(--forest);text-decoration:underline;text-underline-offset:3px;margin-top:10px}
.wellness-venue a .icon,.wellness-inline-link .icon{width:14px;height:14px;transform:rotate(-35deg)}
.wellness-disclaimer{font-size:11px;line-height:1.65;color:#657769;margin:18px 2px 0}
.wellness-inline-link{display:inline-flex;align-items:center;gap:5px;border:0;border-bottom:1px solid var(--forest);color:var(--forest);font-size:11px;font-weight:700;padding:0;background:none}
@media(max-width:900px){.wellness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.wellness-spotlight{margin:24px auto 42px;border-radius:17px}.wellness-intro{padding:27px 18px 22px}.wellness-intro h2{font-size:32px}.wellness-content{padding:17px 15px 23px}.wellness-filters{gap:7px}.wellness-filter{font-size:11px;padding:9px 12px}.wellness-grid{grid-template-columns:1fr;gap:11px}.wellness-venue{padding:16px}}

/* Walking and Outdoors: established Cork trails, distinct from dated event listings. */
.walking-spotlight{scroll-margin-top:105px;margin:34px auto 56px;background:#f8f6ef;border-radius:21px;overflow:hidden;border:1px solid #e2e7dd}
.walking-intro{padding:40px 38px 37px;background:linear-gradient(90deg,rgba(238,243,233,.98) 0%,rgba(238,243,233,.95) 49%,rgba(238,243,233,.16) 100%),url('assets/wild-coast.webp') right center/cover}
.walking-intro h2{font-size:clamp(32px,3.7vw,49px);margin:0 0 11px}
.walking-intro p:not(.section-kicker){font-size:14px;line-height:1.7;max-width:655px;margin:0;color:#506756}
.walking-content{padding:25px 28px 30px}
.walking-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:11px}
.walking-filter{background:#fff;color:var(--forest);border:1px solid #cfdccf;border-radius:99px;padding:10px 16px;font-size:12px;font-weight:700}
.walking-filter[aria-pressed="true"]{background:var(--forest);color:white;border-color:var(--forest)}
.walking-filter:hover,.walking-filter:focus-visible{border-color:var(--forest)}
.walking-count{color:#5f7464;font-size:12px;margin:0 0 18px}
.walking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.walk-venue{display:flex;flex-direction:column;gap:9px;background:white;border:1px solid #e0e6dc;border-radius:15px;padding:19px;min-width:0}
.walk-venue[hidden]{display:none!important}
.walk-venue-highlight{border-color:#c0d1b7;box-shadow:inset 0 0 0 1px #dee9d7;background:#fcfefa}
.walk-location{display:flex;gap:7px;align-items:flex-start;color:#527258;font-size:11px;font-weight:700;line-height:1.5}
.walk-location .icon{width:14px;height:14px;flex:none}
.walk-type{display:inline-flex;align-self:flex-start;background:#e9efe5;color:#47664e;font-size:10px;font-weight:700;border-radius:99px;padding:5px 10px}
.walk-venue h3{font:700 18px/1.35 var(--sans);color:var(--forest);margin:1px 0 0}
.walk-venue p{font-size:12px;line-height:1.62;color:#596f60;margin:0;flex:1}
.walk-venue a{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;font-size:12px;font-weight:700;color:var(--forest);text-decoration:underline;text-underline-offset:3px;margin-top:10px}
.walk-venue a .icon{width:14px;height:14px;transform:rotate(-35deg)}
.walking-disclaimer{font-size:11px;line-height:1.6;color:#687769;margin:19px 2px 0}
@media(max-width:900px){.walking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.walking-spotlight{margin:22px auto 40px;border-radius:17px}.walking-intro{padding:30px 19px;background:linear-gradient(90deg,rgba(238,243,233,.95),rgba(238,243,233,.65)),url('assets/wild-coast.webp') center/cover}.walking-intro h2{font-size:32px}.walking-content{padding:18px 15px 24px}.walking-filter{font-size:11px;padding:8px 12px}.walking-grid{grid-template-columns:1fr;gap:11px}.walk-venue{padding:16px}}

/* Category-focused browsing: hide unrelated homepage sections, keep header/search/filters. */
#view-discover.category-focused .hero,
#view-discover.category-focused .how-band,
#view-discover.category-focused .community-band{display:none!important}
#view-discover.category-focused .search-wrap{margin-top:20px}
#view-discover.category-focused .categories{padding-top:24px;padding-bottom:14px}
.category-focus-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #dfe7df;border-bottom:1px solid #dfe7df;padding:14px 0 17px;margin-top:4px}
.category-focus-label{display:flex;flex-direction:column;gap:1px}
.category-focus-label .section-kicker{margin:0;font-size:10px}
.category-focus-label strong{font:500 clamp(24px,3vw,37px)/1.2 var(--serif);color:var(--forest)}
.category-focus-clear{display:inline-flex;align-items:center;gap:9px;justify-content:center;border:1px solid #8da595;border-radius:99px;color:var(--forest);font-size:12px;font-weight:700;padding:12px 19px;background:#fff;white-space:nowrap}
.category-focus-clear:hover{background:#e9efe8}
.category-focus-clear .icon{width:15px;height:15px}
#view-discover.category-focused #featured{padding-top:22px}
@media(max-width:600px){.category-focus-toolbar{padding:13px 0;gap:10px}.category-focus-label strong{font-size:26px}.category-focus-clear{font-size:11px;padding:9px 12px}#view-discover.category-focused .search-wrap{margin-top:15px}}

/* Art centres, programmes and events, with independent subcategory filtering. */
.arts-spotlight{scroll-margin-top:115px;margin:34px auto 56px;background:#fbf8f3;border-radius:20px;overflow:hidden;border:1px solid #e5e5de}
.arts-intro{padding:36px 38px 33px;background:linear-gradient(110deg,#ede8e2 0%,#f0ebe5 65%,#eceee4)}
.arts-intro h2{font-size:clamp(32px,3.7vw,49px);margin:0 0 12px}
.arts-intro p:not(.section-kicker){max-width:710px;font-size:14px;line-height:1.7;color:#5d685d;margin:0}
.arts-content{padding:25px 29px 31px}
.arts-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:13px}
.arts-filter{background:#fff;color:var(--forest);border:1px solid #d9dbd1;border-radius:99px;padding:10px 16px;font-size:12px;font-weight:700}
.arts-filter:hover,.arts-filter:focus-visible{border-color:var(--forest)}
.arts-filter[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.arts-count{font-size:12px;color:#637467;margin:0 0 17px}
.arts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.arts-venue{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid #e4e4da;border-radius:15px;padding:19px;min-width:0}
.arts-venue[hidden]{display:none!important}
.arts-venue-greywood{border-color:#b9cbb9;box-shadow:inset 0 0 0 1px #e0e9de;background:#fdfffb}
.arts-venue-place{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:#52705c;font-weight:700;line-height:1.5}
.arts-venue-place .icon{width:14px;height:14px;flex:none}
.arts-venue h3{font:700 18px/1.35 var(--sans);color:var(--forest);margin:2px 0 0}
.arts-venue-tags{display:flex;flex-wrap:wrap;gap:5px}
.arts-venue-tag{font-size:10px;font-weight:700;color:#587061;border-radius:99px;padding:5px 9px;background:#ecf1e9}
.arts-venue p{font-size:12px;line-height:1.55;color:#586a5d;margin:1px 0 0;flex:1}
.arts-venue a{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;color:var(--forest);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-top:9px}
.arts-venue a .icon{width:14px;height:14px;transform:rotate(-35deg)}
.arts-disclaimer{font-size:11px;line-height:1.6;color:#68776d;margin:19px 2px 0}
@media(max-width:900px){.arts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.arts-spotlight{margin:22px auto 40px;border-radius:17px}.arts-intro{padding:27px 18px}.arts-intro h2{font-size:32px}.arts-content{padding:18px 15px 24px}.arts-filters{gap:7px}.arts-filter{font-size:11px;padding:9px 12px}.arts-grid{grid-template-columns:1fr;gap:11px}.arts-venue{padding:16px}}

/* Individual, bookmarkable activity-category screens (not homepage anchors). */
.category-route{min-height:70vh;background:var(--warm);padding-bottom:55px}
.category-route-top{padding:24px 0 6px}
.category-back{background:none;border:0;color:var(--forest);font-size:12px;font-weight:700;padding:6px 0;margin:0 0 19px;text-decoration:underline;text-underline-offset:4px}
.category-back:hover{color:var(--terracotta)}
.category-route-switcher{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.category-route-switcher button{border:1px solid #d5e0d5;background:#fff;color:var(--forest);font-size:12px;font-weight:700;line-height:1.25;white-space:nowrap;border-radius:99px;padding:10px 15px}
.category-route-switcher button.selected,.category-route-switcher button[aria-current="page"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.category-route-switcher button:hover:not(.selected){border-color:var(--forest)}
.category-route-heading{padding:37px 0 22px}
.category-route-heading .section-kicker{margin:0 0 10px}
.category-route-heading h1{font-size:clamp(37px,4.1vw,58px);margin:0 0 11px}
.category-route-heading p:not(.section-kicker){font-size:14px;line-height:1.7;color:#66786a;max-width:760px;margin:0}
.category-route .walking-spotlight,
.category-route .arts-spotlight,
.category-route .wellness-spotlight{margin-top:17px}
.category-route .sauna-spotlight{margin-top:15px}
.category-upcoming{padding-top:24px;scroll-margin-top:110px}
.category-upcoming .section-title-row{margin-bottom:12px}
.category-upcoming .section-title-row h2{font-size:clamp(27px,3vw,38px);margin-bottom:0}
.category-upcoming .empty-state{margin:20px 0}
@media(max-width:600px){.category-route-top{padding-top:15px}.category-route-switcher{gap:6px;margin-bottom:9px}.category-route-switcher button{padding:9px 12px;font-size:11px}.category-route-heading{padding-top:22px}.category-upcoming{padding-top:15px}}

/* Organised club walking: dated published club programmes, kept separate from route guides. */
.organised-walks{margin:14px auto 46px;border:1px solid #e2e8de;border-radius:20px;overflow:hidden;background:#fbfcf8}
.organised-walks-intro{background:#e9efe7;padding:34px 36px 30px}
.organised-walks-intro h2{font-size:clamp(30px,3.7vw,45px);margin:0 0 12px}
.organised-walks-intro p:not(.section-kicker){color:#506957;line-height:1.65;font-size:14px;max-width:720px;margin:0}
.organised-walks-body{padding:24px 28px 29px}
.organised-walks-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin:0 0 14px}
.organised-walks-heading:not(:first-child){margin-top:32px}
.organised-walks-heading h3{margin:0;font:600 clamp(20px,2.2vw,29px)/1.2 var(--serif);color:var(--forest)}
.organised-walks-heading span{font-size:11px;color:#677766;text-align:right}
.walk-event-grid,.walk-club-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.walk-group-event,.walk-club-card{border:1px solid #e0e6dc;border-radius:14px;padding:18px;background:white;display:flex;flex-direction:column;gap:8px;min-width:0}
.walk-group-event[hidden],.walk-club-card[hidden]{display:none!important}
.walk-event-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;flex-wrap:wrap;color:#496b52;font-size:11px;font-weight:800}
.walk-event-grade,.walk-club-schedule{border-radius:99px;background:#edf2e9;color:#54715b;font-size:10px;font-weight:700;padding:5px 9px;display:inline-flex;align-self:flex-start}
.walk-group-event h3,.walk-club-card h3{margin:3px 0 0;font:700 17px/1.35 var(--sans);color:var(--forest)}
.walk-event-organiser,.walk-club-place{font-size:11px;font-weight:700;color:#607b64;line-height:1.5}
.walk-group-event p,.walk-club-card p{font-size:12px;color:#657567;line-height:1.6;flex:1;margin:2px 0}
.walk-group-event a,.walk-club-card a{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--forest);margin-top:8px;text-decoration:underline;text-underline-offset:3px}
.walk-group-expiry{font-size:12px;color:#647765;padding:14px 0}
@media(max-width:950px){.walk-event-grid,.walk-club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.organised-walks{border-radius:16px}.organised-walks-intro{padding:25px 17px}.organised-walks-intro h2{font-size:31px}.organised-walks-body{padding:18px 15px 24px}.organised-walks-heading{display:block}.organised-walks-heading span{display:block;text-align:left;margin-top:4px}.walk-event-grid,.walk-club-grid{grid-template-columns:1fr}}

/* Verified member-led walking proposals, join requests and owner approvals. */
.member-walks{margin:22px auto 46px;border-radius:20px;overflow:hidden;border:1px solid #dce5db;background:#f9fbf8}
.member-walks-intro{background:#e6efe3;padding:31px 36px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.member-walks-intro h2{font-size:clamp(30px,3vw,44px);margin:0 0 9px}
.member-walks-intro .section-kicker{margin-bottom:10px}
.member-walks-intro p:not(.section-kicker){max-width:610px;font-size:13px;line-height:1.7;color:#526e58;margin:0}
.member-walks-intro .btn{flex:none}
.member-walks-content{padding:25px 27px 27px}
.walk-member-grid,.walk-manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.walk-member-card,.walk-manage-card{display:flex;flex-direction:column;gap:10px;min-width:0;background:white;border:1px solid #dce4da;border-radius:15px;padding:20px}
.walk-member-card h3,.walk-manage-card h4{margin:0;font:700 18px/1.35 var(--sans);color:var(--forest)}
.walk-member-card p,.walk-manage-card p{margin:0;font-size:12px;line-height:1.6;color:#506957}
.walk-member-card .btn{align-self:flex-start;margin-top:auto}
.walk-member-top{display:flex;gap:7px;justify-content:space-between;align-items:flex-start}
.walk-member-date{color:#4f6a56;font-size:11px;font-weight:800}
.walk-member-badge{font-size:10px;padding:5px 9px;background:#e5f0e3;border-radius:99px;color:#49694f;font-weight:800}
.walk-member-facts{font-weight:700}
.walk-member-location{font-weight:700}
.walk-member-empty{grid-column:1/-1;border:1px dashed #bdcfba;border-radius:14px;padding:26px 20px;background:white}
.walk-member-empty h3{margin:0 0 8px;font-size:22px}
.walk-my-panel{margin-top:29px;border-top:1px solid #dbe4d9;padding-top:22px}
.walk-my-panel h3{font-size:27px;margin:0 0 15px}
.walk-my-panel>h4{font:700 15px var(--sans);color:#55725b;margin:18px 0 12px}
.walk-manage-card h5{font:700 12px var(--sans);color:var(--forest);margin:3px 0 0}
.walk-manage-card .walk-private-details{border-radius:9px;background:#f3f5ed;padding:10px;color:#3d5647}
.walk-request-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}
.walk-request-row span{margin-right:auto;font-weight:700}
.walk-request-row .btn{padding:7px 11px;min-height:30px}
.walk-cancel{background:none;border:0;color:#964e42;text-decoration:underline;font-size:12px;font-weight:700;align-self:flex-start;padding:3px 0;margin-top:auto}
#groupWalkForm input[type="checkbox"]{width:auto;min-width:17px;height:17px;vertical-align:middle;margin-right:8px}
#groupWalkForm label:has(input[type="checkbox"]){display:block;font-size:12px;line-height:1.6}
#groupWalkApprovals{border-top:1px solid #e2e8dd;margin-top:26px;padding-top:19px}
#groupWalkApprovals h3{font-size:23px}
@media(max-width:950px){.walk-member-grid,.walk-manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.member-walks{border-radius:16px}.member-walks-intro{padding:24px 18px;display:block}.member-walks-intro .btn{margin-top:18px}.member-walks-content{padding:17px 15px 24px}.walk-member-grid,.walk-manage-grid{grid-template-columns:1fr}.walk-member-card,.walk-manage-card{padding:16px}}

/* Activity-led Food & Drink: only organised meetups and dated experiences, no venue catalogue. */
.food-meetups{border:1px solid #e0e5db;border-radius:20px;overflow:hidden;margin:15px auto 32px;background:#fbfcf8}
.food-meetups-header{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#edf1e8;padding:32px 36px}
.food-meetups-header h2{font-size:clamp(29px,3.4vw,44px);margin:0 0 10px}
.food-meetups-header p:not(.section-kicker){font-size:13px;color:#566b5a;line-height:1.7;max-width:650px;margin:0}
.food-meetups-header .btn{flex:none}
.food-meetups-body{padding:24px 27px}
.food-meetup-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}
.food-meetup-filters button{background:#fff;border:1px solid #d5e2d3;color:var(--forest);border-radius:99px;font-size:11px;font-weight:700;padding:9px 14px}
.food-meetup-filters button[aria-pressed="true"]{background:var(--forest);color:white;border-color:var(--forest)}
.food-meetup-filters button:hover,.food-meetup-filters button:focus-visible{border-color:var(--forest)}
.food-meetup-count{font-size:12px;color:#6a7c6c;margin:0 0 16px}
.food-meetup-grid,.food-manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.food-meetup-card,.food-manage-card{display:flex;flex-direction:column;gap:9px;border:1px solid #e0e6dc;background:white;border-radius:14px;padding:19px;min-width:0}
.food-meetup-card h3,.food-manage-card h4{font:700 18px/1.35 var(--sans);color:var(--forest);margin:0}
.food-meetup-card p,.food-manage-card p{font-size:12px;line-height:1.6;color:#586d5d;margin:0}
.food-meetup-card .btn{align-self:flex-start;margin-top:auto}
.food-meetup-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;font-size:11px;font-weight:800;color:#5a725e}
.food-meetup-type{border-radius:99px;background:#eaf1e5;color:#527158;padding:4px 8px;font-size:10px}
.food-meetup-place,.food-meetup-spaces{font-weight:700}
.food-meetup-empty{grid-column:1/-1;border-radius:12px;border:1px dashed #bfd1be;background:white;padding:25px}
.food-meetup-empty h3{font:700 20px/1.3 var(--sans);color:var(--forest);margin:0 0 7px}
.food-meetup-empty p{font-size:13px;color:#657866;margin:0}
.food-my-panel{border-top:1px solid #dce7d9;padding-top:23px;margin-top:27px}
.food-my-panel>h3{font-size:27px;margin:0 0 12px}
.food-my-panel>h4{font-size:15px;font-weight:700;color:var(--forest);margin:17px 0 11px}
.food-private-meeting{background:#f0f4ea;padding:12px;border-radius:9px}
.food-manage-card h5{font:700 12px var(--sans);margin:4px 0;color:var(--forest)}
.food-request-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}
.food-request-row strong{margin-right:auto}
.food-request-row .btn{padding:7px 10px;min-height:30px}
.food-cancel{border:0;background:none;color:#a05246;text-decoration:underline;align-self:flex-start;padding:3px 0;font-size:12px;margin-top:auto;font-weight:700}
#foodMeetupApprovals{border-top:1px solid #e2e8dd;margin-top:25px;padding-top:18px}
#foodMeetupApprovals h3{font-size:23px}
#foodMeetupForm input[type="checkbox"]{width:auto;min-width:17px;height:17px;margin-right:8px}
#foodMeetupForm label:has(input[type="checkbox"]){display:block;font-size:12px;line-height:1.6}
@media(max-width:950px){.food-meetup-grid,.food-manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.food-meetups{border-radius:16px}.food-meetups-header{display:block;padding:24px 18px}.food-meetups-header .btn{margin-top:17px}.food-meetups-body{padding:18px 15px 24px}.food-meetup-filters{gap:6px}.food-meetup-filters button{font-size:10px;padding:8px 11px}.food-meetup-grid,.food-manage-grid{grid-template-columns:1fr}.food-meetup-card,.food-manage-card{padding:17px}}

/* One shared member-organised meetup design for all seven category pages. */
.shared-meetups{margin:18px auto 36px;border:1px solid #dae5da;border-radius:20px;overflow:hidden;background:#fbfcf9}
.shared-meetups-header{background:#e9efe6;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.shared-meetups-header h2{font-size:clamp(27px,3vw,40px);margin:0 0 10px}
.shared-meetups-header p:not(.section-kicker){font-size:13px;color:#526957;line-height:1.7;max-width:690px;margin:0}
.shared-meetups-header .btn{flex:none}
.shared-meetups-body{padding:24px 27px 26px}
.shared-meetups-count{font-size:12px;line-height:1.5;color:#637766;margin:0 0 15px}
.shared-meetups-grid,.shared-meetup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.shared-meetup-card,.shared-meetup-manage{display:flex;flex-direction:column;gap:9px;border:1px solid #dfe7dd;background:white;border-radius:15px;padding:19px;min-width:0}
.shared-meetup-card h3,.shared-meetup-manage h4{font:700 18px/1.35 var(--sans);color:var(--forest);margin:0}
.shared-meetup-card p,.shared-meetup-manage p{color:#5a6f5e;font-size:12px;line-height:1.6;margin:0}
.shared-meetup-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:7px;font-size:11px;font-weight:800;color:#496853}
.shared-meetup-badge{display:inline-flex;align-self:flex-start;border-radius:99px;background:#e7f0e4;color:#53725b;font-size:10px;font-weight:700;padding:5px 10px}
.shared-meetup-location,.shared-meetup-capacity{font-weight:700}
.shared-meetup-card .btn{align-self:flex-start;margin-top:auto}
.shared-meetup-empty{grid-column:1/-1;border:1px dashed #bcd0bb;background:white;border-radius:15px;padding:25px}
.shared-meetup-empty h3{font-size:21px;margin:0 0 8px}
.shared-meetup-empty p{font-size:13px;color:#617563;margin:0}
.shared-meetups-mine{border-top:1px solid #dfe8db;margin-top:25px;padding-top:23px}
.shared-meetups-mine h3{font-size:27px;margin:0 0 14px}
.shared-meetups-mine>h4{font-size:15px;margin:17px 0 12px;color:var(--forest)}
.shared-meetup-manage h5{font:700 12px var(--sans);color:var(--forest);margin:5px 0 0}
.shared-private-instructions{background:#f1f5ec;padding:11px;border-radius:9px}
.shared-join-request{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px}
.shared-join-request strong{margin-right:auto}
.shared-join-request .btn{padding:7px 11px;min-height:30px}
.shared-cancel{background:transparent;border:0;text-decoration:underline;color:#9d5145;font-size:12px;font-weight:700;align-self:flex-start;padding:2px 0;margin-top:auto}
#sharedMeetupForm input[type="checkbox"]{width:auto;min-width:18px;height:18px;margin-right:8px;vertical-align:middle}
#sharedMeetupForm label:has(input[type="checkbox"]){font-size:12px;line-height:1.6;display:block}
#sharedMeetupApprovals{border-top:1px solid #e0e7dd;margin-top:26px;padding-top:20px}
#sharedMeetupApprovals h3{font-size:23px}
.food-subcategories{display:flex;flex-wrap:wrap;gap:9px;margin:8px auto 24px}
.food-subcategories button{font-size:12px;font-weight:700;background:white;border:1px solid #d4dfd1;border-radius:99px;color:var(--forest);padding:10px 16px}
.food-subcategories button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:white}
.food-subcategories button:hover,.food-subcategories button:focus-visible{border-color:var(--forest)}
#view-category-food .category-upcoming{padding-top:4px;margin-bottom:26px}
@media(max-width:950px){.shared-meetups-grid,.shared-meetup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.shared-meetups{margin:15px auto 30px;border-radius:16px}.shared-meetups-header{display:block;padding:24px 18px}.shared-meetups-header .btn{margin-top:17px}.shared-meetups-body{padding:17px 15px 22px}.shared-meetups-grid,.shared-meetup-grid{grid-template-columns:1fr}.shared-meetup-card,.shared-meetup-manage{padding:16px}.food-subcategories{gap:7px;margin:8px auto 20px}.food-subcategories button{font-size:11px;padding:8px 11px}}

/* Arts page: visible introduction and activity filters above events,
   with the full venue directory kept below member meetups. */
.arts-page-top{margin:18px auto 29px;border-radius:20px;overflow:hidden;border:1px solid #e5e5de;background:#fbf8f3}
.arts-top-filters{padding:22px 29px 25px;background:#fbf8f3}
.arts-filter-label{margin:0 0 12px;color:#637766;font-size:12px;font-weight:700}
.arts-top-filters .arts-filters{margin:0}
.arts-venues-heading{font-size:clamp(25px,2.9vw,37px);line-height:1.24;color:var(--forest);margin:0 0 14px}
#view-category-arts .arts-spotlight{margin-top:18px}
@media(max-width:600px){.arts-page-top{margin:13px auto 23px;border-radius:16px}.arts-top-filters{padding:18px 15px 21px}.arts-venues-heading{font-size:27px}}

/* Header brand: compact two-line slogan; keep logo and navigation accessible */
.site-header .brand-name{font-size:clamp(18px,1.8vw,26px);line-height:1.08;letter-spacing:-.025em;white-space:normal}
.site-header .brand-second-line{display:block;white-space:nowrap}
@media(max-width:600px){.site-header .brand-name{font-size:18px}}

/* Header location selector: native dropdown covers text AND chevron.
   Clicking the arrow, label or pin opens the options; keyboard selection also works. */
.header-place{position:relative;cursor:pointer}
.header-place-name{white-space:nowrap;pointer-events:none}
.header-place select{
  position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;
  margin:0;padding:0;border:0;opacity:0;cursor:pointer;
  -webkit-appearance:menulist;appearance:auto;
}
.header-place:focus-within{outline:2px solid #9fae6a;outline-offset:3px;border-radius:6px}
.header-place>.icon{pointer-events:none}

/* County Cork weekly parkruns, recurring (not dated event duplicates). */
.parkruns-section{margin:0 auto 48px;border:1px solid #dce6d9;border-radius:20px;overflow:hidden;background:#fbfcf9}
.parkruns-intro{padding:34px 36px 27px;background:#e8efe6}
.parkruns-intro h2{font-size:clamp(30px,3.6vw,46px);margin:0 0 10px}
.parkruns-intro p:not(.section-kicker){font-size:14px;line-height:1.7;max-width:800px;color:#506756;margin:0}
.parkruns-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.parkruns-facts span{font-size:12px;font-weight:700;border:1px solid #b9cdbb;background:#f9fbf6;border-radius:999px;padding:7px 12px;color:#255240}
.parkruns-body{padding:25px 28px 27px}
.parkruns-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}
.parkruns-filter{border:1px solid #cfdccf;border-radius:999px;padding:9px 14px;background:#fff;color:var(--forest);font-size:12px;font-weight:650;cursor:pointer}
.parkruns-filter:hover,.parkruns-filter[aria-pressed="true"]{background:var(--forest);color:white;border-color:var(--forest)}
.parkruns-count{font-size:13px;color:#546b57;margin-bottom:15px}
.parkruns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.parkrun-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dde6dd;border-radius:16px;background:white;padding:21px 19px;box-shadow:0 2px 8px rgba(27,62,42,.035)}
.parkrun-card-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#507b5c;margin:0 0 8px}
.parkrun-card h3{font:600 23px/1.2 var(--serif);margin:0 0 12px}
.parkrun-venue{display:flex;align-items:flex-start;gap:6px;margin:0 0 8px;font-size:13px;line-height:1.5;color:#566b5a}
.parkrun-venue .icon{width:16px;height:16px;flex:none;margin-top:1px}
.parkrun-description{font-size:12px;line-height:1.5;color:#607363;margin:0 0 18px}
.parkrun-actions{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:13px}
.parkrun-actions .btn{min-height:42px;padding:10px 12px;font-size:12px;line-height:1.35;white-space:normal}
.parkrun-official-link{font-size:12px;font-weight:700;color:var(--forest);text-decoration:underline;text-underline-offset:3px;text-align:center}
@media(max-width:1000px){.parkruns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.parkruns-section{margin-bottom:33px;border-radius:17px}.parkruns-intro{padding:26px 18px 22px}.parkruns-intro h2{font-size:32px}.parkruns-body{padding:19px 15px 24px}.parkruns-grid{grid-template-columns:1fr}.parkruns-filters{gap:7px}.parkruns-filter{padding:8px 11px;font-size:11px}}

/* Shared member-interest controls for evergreen listings in every category. */
.directory-footer{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #e6eae3;min-width:0}
.directory-social-tools{display:flex;flex-direction:column;gap:9px;min-width:0;margin-top:6px}
.directory-interest-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.directory-interest-count{display:inline-flex;align-items:center;gap:6px;color:#647266;font-size:12px;line-height:1.35}
.directory-interest-count .icon{width:15px;height:15px;flex:0 0 15px}
.directory-toggle-interest{appearance:none;border:0;background:transparent;color:var(--forest);font-size:11px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:5px 0}
.directory-toggle-interest[aria-pressed="true"]{color:#bf5b3f}
.directory-find-one{width:100%;justify-content:center;min-height:44px;padding:10px 12px;font-size:12px}
.directory-footer a.directory-details-link,
.walk-venue a.directory-details-link,
.wellness-venue a.directory-details-link,
.sauna-venue a.directory-details-link,
.arts-venue a.directory-details-link{
  display:flex;align-items:center;justify-content:center;gap:8px;
  align-self:stretch;width:100%;min-height:43px;padding:9px 12px;
  border:1px solid #9bae9c;border-radius:999px;background:#f8faf7;
  color:var(--forest);font-size:12px;font-weight:700;text-align:center;
  text-decoration:none;line-height:1.4
}
.directory-footer a.directory-details-link:hover,
.directory-footer a.directory-details-link:focus-visible{background:#eaf1e7;border-color:#52725d}
.directory-footer a.directory-details-link .icon{width:16px;height:16px;flex:none}
.directory-my-activity .card-body{display:flex;flex-direction:column;gap:9px}
.directory-my-activity .card-body h3{font-size:21px}
.directory-my-activity .btn{white-space:normal}
.parkrun-card>.directory-social-tools{margin-top:auto;margin-bottom:12px;padding-top:12px;border-top:1px solid #e6eae3}
@media(max-width:600px){.directory-interest-row{align-items:flex-start}.directory-find-one{font-size:12px}}

/* How It Works now sits above the search filters on Discover.
   Keep comfortable spacing instead of overlapping the final step. */
#view-discover:not(.category-focused) .search-wrap{margin-top:24px}
@media(max-width:600px){
  #view-discover:not(.category-focused) .search-wrap{margin-top:18px}
}

/* Signature +1 identity in the site footer. */
.footer-brand-lockup{display:inline-flex;align-items:center;gap:12px;max-width:100%;text-decoration:none}
.footer-brand-lockup .footer-brand{display:block;color:#fff;font-size:clamp(20px,2vw,29px);line-height:1.15}
.footer-brand-mark{width:46px;height:46px;border-radius:12px;font-size:29px;padding-right:3px;background:#244c3e;box-shadow:inset 0 0 0 1px rgba(218,182,102,.52)}
.footer-brand-lockup:hover .footer-brand,.footer-brand-lockup:focus-visible .footer-brand{text-decoration:underline;text-underline-offset:4px}
.footer-brand-lockup:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
@media(max-width:600px){
  .footer-brand-mark{width:44px;height:44px;font-size:28px}
  .footer-brand-lockup .footer-brand{font-size:clamp(20px,6vw,27px)}
}

/* About page — community-focused, with no personal founder biography. */
.about-page{background:linear-gradient(180deg,#f0f3ea 0,#fbf8f1 37%,#fbf8f1 100%)}
.about-inner{max-width:1120px;padding-top:80px;padding-bottom:92px}
.about-intro{max-width:840px;margin:0 auto 75px;text-align:center}
.about-intro h1{font-size:clamp(34px,5vw,58px);line-height:1.08;letter-spacing:-.03em;color:var(--forest);margin:13px 0 25px}
.about-lede{max-width:700px;margin:0 auto 28px;color:var(--forest);font-family:var(--serif);font-size:clamp(22px,2.75vw,30px);line-height:1.36}
.about-story{max-width:760px;margin:0 auto;color:#475c4f;font-size:16px;line-height:1.8}
.about-story p{margin:0 0 17px}
.about-signoff{margin:29px auto 0;font-size:16px;font-weight:700;color:var(--forest);line-height:1.55}
.about-difference{margin:0 auto 52px;text-align:center}
.about-difference h2{font-family:var(--serif);font-size:clamp(33px,4vw,46px);line-height:1.15;letter-spacing:-.025em;color:var(--forest);margin:11px 0 28px}
.about-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:left}
.about-feature{padding:30px 26px 32px;border:1px solid #dfe7db;border-radius:18px;background:#fffdf9;box-shadow:0 12px 30px rgba(26,48,36,.04)}
.about-feature-icon{display:grid;place-items:center;background:#e8eee5;color:var(--forest);width:54px;height:54px;border-radius:15px;margin-bottom:23px}
.about-feature-icon .icon{width:27px;height:27px}
.about-feature h3{font-family:var(--serif);font-size:25px;letter-spacing:-.025em;color:var(--forest);margin:0 0 12px}
.about-feature p{font-size:14px;line-height:1.75;color:#5a6e60;margin:0}
.about-next{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:37px 42px;border-radius:20px;background:var(--forest);color:#fefdf8}
.about-next .section-kicker{color:#dfc583}
.about-next h2{font-family:var(--serif);font-size:clamp(29px,3.4vw,40px);line-height:1.2;letter-spacing:-.025em;margin:8px 0 10px}
.about-next p:not(.section-kicker){margin:0;color:#d4e1d6;font-size:14px;line-height:1.7}
.about-next .btn{flex:none;background:var(--gold);color:var(--forest);white-space:normal;text-align:center}
@media(min-width:901px){.desktop-nav{gap:clamp(13px,1.65vw,25px)}}
@media(max-width:760px){.about-inner{padding-top:47px;padding-bottom:65px}.about-intro{margin-bottom:48px}.about-story{font-size:15px}.about-feature-grid{grid-template-columns:1fr;gap:12px}.about-feature{padding:24px}.about-next{flex-direction:column;align-items:stretch;padding:30px 25px}.about-next .btn{align-self:flex-start}}

/* Featured activity categories — larger, tappable cards on Discover */
#view-discover:not(.category-focused) .categories{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  padding:31px 0 24px;
}
#view-discover:not(.category-focused) .category-item{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  min-width:0;
  min-height:112px;
  padding:17px 19px;
  background:#eef3e9;
  border:1px solid #dce5d8;
  border-radius:21px;
  box-shadow:0 5px 16px rgba(26,48,36,.035);
  text-align:left;
  color:var(--forest);
  font-size:clamp(15px,1.22vw,18px);
  font-weight:750;
  line-height:1.27;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
#view-discover:not(.category-focused) .category-item:nth-child(4n+2){
  background:#f6eee3;
  border-color:#ebdfcf;
}
#view-discover:not(.category-focused) .category-item:nth-child(4n+3){
  background:#f7eae5;
  border-color:#ead8cf;
}
#view-discover:not(.category-focused) .category-item:nth-child(4n+4){
  background:#eef1e9;
  border-color:#dae3d6;
}
#view-discover:not(.category-focused) .category-icon{
  width:68px;
  height:68px;
  border-radius:18px;
  flex:0 0 68px;
  transition:transform .2s ease,box-shadow .2s ease;
}
#view-discover:not(.category-focused) .category-icon .icon{width:31px;height:31px}
#view-discover:not(.category-focused) .category-item:hover{
  transform:translateY(-3px);
  box-shadow:0 13px 27px rgba(26,48,36,.105);
  border-color:#a8bca7;
}
#view-discover:not(.category-focused) .category-item:hover .category-icon,
#view-discover:not(.category-focused) .category-item.active .category-icon{
  transform:none;
  box-shadow:none;
}
#view-discover:not(.category-focused) .category-item:focus-visible{
  outline:3px solid var(--terracotta);
  outline-offset:3px;
}
#view-discover:not(.category-focused) .category-item.active{
  border-color:var(--terracotta);
  box-shadow:0 0 0 1px var(--terracotta);
}
@media(max-width:860px){
  #view-discover:not(.category-focused) .categories{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:25px 0 19px;
  }
  #view-discover:not(.category-focused) .category-item{
    min-height:95px;
    padding:13px 16px;
    gap:14px;
    font-size:16px;
  }
  #view-discover:not(.category-focused) .category-icon{
    width:58px;
    height:58px;
    flex-basis:58px;
    border-radius:16px;
  }
  #view-discover:not(.category-focused) .category-icon .icon{width:27px;height:27px}
}
@media(max-width:520px){
  #view-discover:not(.category-focused) .categories{gap:10px;padding:23px 0 18px}
  #view-discover:not(.category-focused) .category-item{
    min-height:85px;
    padding:11px;
    gap:9px;
    border-radius:15px;
    font-size:clamp(12px,3.45vw,14px);
    line-height:1.3;
  }
  #view-discover:not(.category-focused) .category-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    border-radius:13px;
  }
  #view-discover:not(.category-focused) .category-icon .icon{width:23px;height:23px}
}
@media(prefers-reduced-motion:reduce){
  #view-discover:not(.category-focused) .category-item,
  #view-discover:not(.category-focused) .category-icon{transition:none}
  #view-discover:not(.category-focused) .category-item:hover{transform:none}
}

/* Public community and pre-launch legal information. */
.policy-page{background:linear-gradient(180deg,#eff2e9 0,#fbf8f1 340px,#fbf8f1 100%)}
.policy-inner{width:min(100%,920px);padding-top:70px;padding-bottom:88px}
.policy-header{max-width:790px;margin:0 auto 38px}
.policy-header h1{font-size:clamp(39px,5vw,65px);line-height:1.1;letter-spacing:-.03em;margin:12px 0 18px;color:var(--forest)}
.policy-intro{font-family:var(--serif);font-size:clamp(22px,2.65vw,30px);color:var(--forest);line-height:1.4;margin:0 0 14px}
.policy-lead{font-size:15px;line-height:1.75;color:#586a5e;max-width:735px;margin:0 0 24px}
.policy-draft{border:1px solid #e1d4b5;background:#f8f2e5;border-radius:12px;padding:14px 18px;font-size:13px;line-height:1.7;color:#62573c;margin:0}
.policy-contents{border:1px solid #e5e8dd;border-radius:20px;background:#fffdf9;padding:12px 32px}
.policy-item{padding:23px 4px 24px;border-bottom:1px solid #e9ede5}
.policy-item:last-child{border-bottom:0}
.policy-item h2{font-family:var(--serif);font-size:clamp(22px,2.2vw,27px);color:var(--forest);margin:0 0 12px;line-height:1.23}
.policy-item p{font-size:14px;line-height:1.83;color:#516357;margin:0;max-width:760px}
.policy-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px 0}
.policy-bottom p{margin:0;color:var(--forest)}
.policy-bottom nav,.policy-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:11px 22px}
.policy-bottom nav a,.policy-footer-links a{text-decoration:underline;text-underline-offset:3px;font-size:13px}
.policy-bottom .btn{margin-top:7px}
.footer-policies{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #3a5c4f;padding-top:22px;margin-top:28px;color:#d7e1d5}
.footer-policies>span{color:#b4c9bd;font-size:11px}
.footer-bottom{margin-top:22px}
@media(max-width:600px){.policy-inner{padding-top:43px;padding-bottom:70px}.policy-header h1{font-size:clamp(36px,9vw,51px)}.policy-contents{padding:6px 19px}.policy-item{padding:22px 0}.footer-policies{align-items:flex-start;flex-direction:column;gap:12px}}

/* Member safety controls and confidential owner moderation panel. */
.member-safety-link{display:inline-flex;align-items:center;justify-content:flex-start;background:transparent;border:0;padding:10px 2px;color:#76544a;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:650;line-height:1.35;cursor:pointer;text-align:left}
.member-safety-link:hover{color:var(--forest)}
.member-safety-link:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}
.safety-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.safety-blocked-section{border-top:1px solid #dce5d8;margin-top:28px;padding-top:22px}
.safety-blocked-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #eef0e9}
.safety-blocked-row .btn{min-height:38px}
.safety-report-details{white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch}
.safety-report-item{border-bottom:1px solid #e6e8e2}
.safety-connection .member-safety-link{margin-left:12px}
@media(max-width:600px){.safety-modal-actions .btn{width:100%}.safety-connection .member-safety-link{margin-left:0;display:flex}}

/* Explicit opt-in: private heart saves do not publish member interest. */
.card-mark-interest{font-weight:750;border:1px solid #b3c6b3;background:#f4f8ef;color:var(--forest)}
.card-mark-interest:hover{background:#e5efe3}
.card-mark-interest.is-interested{border-color:#4d765a;background:#e0ece0}
.card-interest-help{font-size:11px;line-height:1.5;color:#5a6b60;margin:0 2px 2px;text-align:center}


/* Optional display preferences — light/English remain the defaults. */
.site-preferences{display:flex;align-items:center;gap:5px;flex-shrink:0}
.preference-theme,.preference-language{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#edf1e9;border:1px solid #d2dbd0;border-radius:999px;color:#173c32;min-height:36px;padding:5px 9px;font:700 11px/1.1 var(--sans);cursor:pointer;white-space:nowrap}
.preference-theme:hover,.preference-language:hover{background:#e0e9dc}
.preference-theme-icon{font-size:20px;line-height:1}
.preference-language{min-width:64px}
.preference-language[aria-pressed="true"]{background:#173c32;color:#f7ead2;border-color:#173c32}
.preference-language-short{display:none}
.mobile-display-hint{display:none}
.preference-theme:focus-visible,.preference-language:focus-visible{outline:3px solid #bd9850;outline-offset:2px}
@media(max-width:1320px){.site-preferences{gap:3px}.preference-theme,.preference-language{padding:6px 7px}.preference-theme-label{display:none}.preference-language{min-width:54px}}
@media(max-width:680px){.preference-language-full{display:none}.preference-language-short{display:inline}.preference-theme,.preference-language{min-height:38px;min-width:38px;padding:5px 7px}.site-preferences{margin-right:1px}}
@media(max-width:410px){.preference-language{min-width:34px}.preference-theme{min-width:34px}.site-preferences{gap:2px}}
/* Dark theme: charcoal / deep forest / warm gold. Covers layouts, search, cards,
   member conversations, forms, category pages, policies, and dialogs. */
html[data-theme="dark"]{
  color-scheme:dark;
  --forest:#e4eddf;
  --dark:#0b1515;
  --sage:#91b39a;
  --sage-soft:#22372e;
  --warm:#111c1a;
  --cream:#182722;
  --terracotta:#e5a18a;
  --terracotta-dark:#c78570;
  --gold:#e9c579;
  --gold-deep:#e4be69;
  --sand:#2d3d35;
  --ink:#eef3ed;
  --muted:#bccbbd;
  --line:#405148;
  --shadow:0 20px 44px rgba(0,0,0,.3);
}
html[data-theme="dark"] body{background:#111c1a;color:#eef3ed}
html[data-theme="dark"] .site-header{background:rgba(17,28,26,.97);border-color:#3e5046}
html[data-theme="dark"] .brand-mark{background:#23392f;color:#e9c579;border:1px solid #5a6c54}
html[data-theme="dark"] .preference-theme,html[data-theme="dark"] .preference-language{background:#25382f;border-color:#557064;color:#edf1df}
html[data-theme="dark"] .preference-theme:hover,html[data-theme="dark"] .preference-language:hover{background:#365142}
html[data-theme="dark"] .preference-language[aria-pressed=true]{background:#e9c579;color:#142620;border-color:#e9c579}
html[data-theme="dark"] .btn-primary{background:#db9178;color:#172921}
html[data-theme="dark"] .btn-primary:hover{background:#e8a48b}
html[data-theme="dark"] .btn-outline{border-color:#789383;color:#eef3ed;background:#263930}
html[data-theme="dark"] .btn-outline:hover{background:#345343}
html[data-theme="dark"] .btn-light{background:#2f4338;border-color:#799081;color:#f1f3e9}
html[data-theme="dark"] .btn-light:hover{background:#415e4f}
html[data-theme="dark"] .icon-btn:hover,html[data-theme="dark"] .modal-close{background:#2e4739}
html[data-theme="dark"] .demo-strip{background:#23392f;color:#d0decf;border-color:#526452}
html[data-theme="dark"] .hero{background:#1c3028}
html[data-theme="dark"] .hero-photo{background:#263a31}
html[data-theme="dark"] .hero:before{background:linear-gradient(90deg,#14231f 0%,rgba(20,35,31,.97) 27%,rgba(20,35,31,.82) 44%,rgba(20,35,31,.22) 68%,transparent 81%)}
html[data-theme="dark"] .hero-desc{color:#cbd8cb}
html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .section-kicker{color:#c6d6c4}
html[data-theme="dark"] .search-panel{background:#1b2c25;border-color:#435a48;box-shadow:0 12px 32px #0005}
html[data-theme="dark"] .filter-field select,html[data-theme="dark"] .filter-field .icon,html[data-theme="dark"] .header-place{color:#ecf4e9}
html[data-theme="dark"] select,html[data-theme="dark"] option,html[data-theme="dark"] input,html[data-theme="dark"] textarea{color:#edf3eb;background-color:#203129;border-color:#5e7364}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#b0c4b1}
html[data-theme="dark"] .how-band,html[data-theme="dark"] .community-band{background:#1c3028}
html[data-theme="dark"] .step-icon{background:#45644d;color:#f5f7e9}
html[data-theme="dark"] .step p,html[data-theme="dark"] .step span:not(.step-icon),html[data-theme="dark"] .community-copy p:not(.section-kicker){color:#c7d5c8}
html[data-theme="dark"] .activity-card,html[data-theme="dark"] .member-card,html[data-theme="dark"] .profile-panel,html[data-theme="dark"] .admin-panel,html[data-theme="dark"] .shared-meetup-card,html[data-theme="dark"] .shared-meetup-manage,html[data-theme="dark"] .message-layout{background:#1d3027;border-color:#3e5648;color:#f2f4ed}
html[data-theme="dark"] .card-image-wrap{background:#30473c}
html[data-theme="dark"] .card-heading{color:#f0f4e8}
html[data-theme="dark"] .card-meta,html[data-theme="dark"] .card-meta .icon,html[data-theme="dark"] .card-interested,html[data-theme="dark"] .card-organiser,html[data-theme="dark"] .music-style-line,html[data-theme="dark"] .music-style-excerpt{color:#cbdac9}
html[data-theme="dark"] .card-mark-interest{background:#263d30;border-color:#779b81;color:#f4f0d8}
html[data-theme="dark"] .card-mark-interest:hover,html[data-theme="dark"] .card-mark-interest.is-interested{background:#355941;border-color:#9fb995}
html[data-theme="dark"] .card-interest-help{color:#bacdbd}
html[data-theme="dark"] .event-official-link{background:#253b30;border-color:#6b8976;color:#e8f0dc}
html[data-theme="dark"] .event-official-link:hover{background:#385746}
html[data-theme="dark"] .category-route,html[data-theme="dark"] .subpage{background:#111c1a}
html[data-theme="dark"] .category-route-heading p,html[data-theme="dark"] .subpage-lead,html[data-theme="dark"] .result-summary,html[data-theme="dark"] .form-note{color:#bfcebf}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item,
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:nth-child(4n+2),
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:nth-child(4n+3),
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:nth-child(4n+4){background:#20372d;border-color:#405d49;color:#ecf3e9}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:nth-child(4n+2){background:#343029;border-color:#655343}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:nth-child(4n+3){background:#352a2a;border-color:#654748}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:nth-child(4n+4){background:#273630;border-color:#516b55}
html[data-theme="dark"] .category-icon{background:#385846;color:#f0ead4}
html[data-theme="dark"] .notice-box,html[data-theme="dark"] .people-note,html[data-theme="dark"] .shared-meetup-empty,html[data-theme="dark"] .empty-state{background:#21392d;border-color:#48624d;color:#e0e9dc}
html[data-theme="dark"] .notice-box p,html[data-theme="dark"] .people-note p,html[data-theme="dark"] .member-card p,html[data-theme="dark"] .shared-meetup-card p,html[data-theme="dark"] .shared-meetup-manage p{color:#c4d5c7}
html[data-theme="dark"] .tab{background:transparent;color:#c8d5c4}
html[data-theme="dark"] .tab.active{color:#f3c98c;border-color:#e5a18a}
html[data-theme="dark"] .message-sidebar,html[data-theme="dark"] .conversation-preview,html[data-theme="dark"] .message-entry{background:#1d3027;border-color:#4c6350;color:#e6eee4}
html[data-theme="dark"] .modal{background:#1b2c25;color:#edf3eb;border:1px solid #49604f}
html[data-theme="dark"] .modal p,html[data-theme="dark"] .modal-meta span{color:#c7d9ca}
html[data-theme="dark"] .modal::backdrop{background:rgba(0,0,0,.78)}
html[data-theme="dark"] .policy-page,html[data-theme="dark"] .about-page{background:linear-gradient(180deg,#1b3027 0,#111c1a 340px,#111c1a 100%)}
html[data-theme="dark"] .policy-intro,html[data-theme="dark"] .about-lede{color:#e4f0e1}
html[data-theme="dark"] .policy-lead,html[data-theme="dark"] .policy-item p,html[data-theme="dark"] .about-story,html[data-theme="dark"] .about-story p{color:#c1d1c2}
html[data-theme="dark"] .policy-draft{background:#3e3828;border-color:#776640;color:#f5e3b6}
html[data-theme="dark"] .policy-contents,html[data-theme="dark"] .about-feature,html[data-theme="dark"] .about-next{background:#20342a;border-color:#42634a}
html[data-theme="dark"] .policy-item,html[data-theme="dark"] .about-feature{border-color:#43604b}
html[data-theme="dark"] .policy-bottom p{color:#f1f0e5}
html[data-theme="dark"] .site-footer{background:#0d1715;color:#e2e9dd}
html[data-theme="dark"] .footer-brand{color:#eaeedc}
html[data-theme="dark"] .mobile-menu,html[data-theme="dark"] .mobile-bottom-nav{background:#182921;color:#edf2e6;border-color:#49614b}
html[data-theme="dark"] .mobile-menu a,html[data-theme="dark"] .mobile-bottom-nav a{color:#eaf1e4}
html[data-theme="dark"] .toast{background:#e4c68c;color:#192a21}
html[data-theme="dark"] .member-safety-link{color:#f2c7ad}
html[data-theme="dark"] .safety-blocked-row,html[data-theme="dark"] .safety-blocked-section{border-color:#50664f}
@media(max-width:600px){
  html[data-theme="dark"] .hero:before{background:linear-gradient(180deg,rgba(20,35,31,.94) 0%,rgba(20,35,31,.68) 58%,rgba(20,35,31,.12) 100%)}
}
/* Irish legal notices are not represented as reviewed translations. */
html[lang="ga"] .policy-page .policy-header:after{
  content:"Leagan faisnéiseach Gaeilge de dhréacht roimh sheoladh atá anseo. Níl an t-aistriúchán ná na téarmaí athbhreithnithe ó thaobh an dlí de fós.";
  display:block;margin-top:16px;padding:12px 16px;border-left:3px solid var(--gold);
  font-size:13px;line-height:1.65;color:var(--ink);
}

/* Secondary surfaces and selected filters in dark mode. */
html[data-theme="dark"] .sauna-spotlight,html[data-theme="dark"] .wellness-spotlight,
html[data-theme="dark"] .walking-spotlight,html[data-theme="dark"] .arts-spotlight,
html[data-theme="dark"] .organised-walks,html[data-theme="dark"] .member-walks,
html[data-theme="dark"] .food-meetups,html[data-theme="dark"] .shared-meetups,
html[data-theme="dark"] .arts-page-top,html[data-theme="dark"] .arts-top-filters,
html[data-theme="dark"] .parkruns-section{background:#1a2c24;border-color:#405a48}
html[data-theme="dark"] .sauna-spotlight-intro,html[data-theme="dark"] .wellness-intro,
html[data-theme="dark"] .organised-walks-intro,html[data-theme="dark"] .member-walks-intro,
html[data-theme="dark"] .food-meetups-header,html[data-theme="dark"] .shared-meetups-header,
html[data-theme="dark"] .parkruns-intro{background:#22392d;border-color:#48614d}
html[data-theme="dark"] .sauna-venue,html[data-theme="dark"] .wellness-venue,
html[data-theme="dark"] .walk-venue,html[data-theme="dark"] .walk-venue-highlight,
html[data-theme="dark"] .arts-venue,html[data-theme="dark"] .arts-venue-greywood,
html[data-theme="dark"] .walk-group-event,html[data-theme="dark"] .walk-club-card,
html[data-theme="dark"] .walk-member-card,html[data-theme="dark"] .walk-manage-card,
html[data-theme="dark"] .walk-member-empty,html[data-theme="dark"] .food-meetup-card,
html[data-theme="dark"] .food-manage-card,html[data-theme="dark"] .food-meetup-empty,
html[data-theme="dark"] .shared-meetup-empty,html[data-theme="dark"] .parkrun-card,
html[data-theme="dark"] .person-row{background:#263a30;border-color:#4d6653;color:#edf2e7}
html[data-theme="dark"] .sauna-region-button,html[data-theme="dark"] .wellness-filter,
html[data-theme="dark"] .walking-filter,html[data-theme="dark"] .arts-filter,
html[data-theme="dark"] .food-meetup-filters button,html[data-theme="dark"] .food-subcategories button,
html[data-theme="dark"] .parkruns-filter,html[data-theme="dark"] .category-route-switcher button{background:#253b30;color:#e5eedd;border-color:#56725d}
html[data-theme="dark"] .sauna-region-button[aria-pressed="true"],
html[data-theme="dark"] .wellness-filter[aria-pressed="true"],
html[data-theme="dark"] .walking-filter[aria-pressed="true"],
html[data-theme="dark"] .arts-filter[aria-pressed="true"],
html[data-theme="dark"] .food-meetup-filters button[aria-pressed="true"],
html[data-theme="dark"] .food-subcategories button[aria-pressed="true"],
html[data-theme="dark"] .parkruns-filter[aria-pressed="true"],
html[data-theme="dark"] .category-route-switcher button.selected,
html[data-theme="dark"] .category-route-switcher button[aria-current="page"]{background:#52775a;color:#fff8eb;border-color:#9bbf97}
html[data-theme="dark"] .sauna-region-button:hover,html[data-theme="dark"] .wellness-filter:hover,
html[data-theme="dark"] .walking-filter:hover,html[data-theme="dark"] .arts-filter:hover,
html[data-theme="dark"] .food-meetup-filters button:hover,
html[data-theme="dark"] .food-subcategories button:hover,
html[data-theme="dark"] .parkruns-filter:hover{background:#365143;color:#f4f5e7}
html[data-theme="dark"] .shared-meetup-badge,html[data-theme="dark"] .walk-member-badge,
html[data-theme="dark"] .food-meetup-type,html[data-theme="dark"] .walk-event-grade,
html[data-theme="dark"] .walk-club-schedule,html[data-theme="dark"] .music-style-tag,
html[data-theme="dark"] .wellness-tag,html[data-theme="dark"] .walk-type,
html[data-theme="dark"] .arts-venue-tag,html[data-theme="dark"] .example-pill,
html[data-theme="dark"] .sample-tag{background:#375443;color:#e4f0df}
html[data-theme="dark"] .shared-private-instructions,html[data-theme="dark"] .food-private-meeting,
html[data-theme="dark"] .walk-private-details,html[data-theme="dark"] .music-modal-style{background:#2e4737;color:#e6f2df}
html[data-theme="dark"] .card-category{background:#244333;color:#ecf1e7}
html[data-theme="dark"] .card-heart{background:#203d31;color:#f0dfab}
html[data-theme="dark"] .card-heart.saved{color:#eeae8e}
html[data-theme="dark"] .member-photo,html[data-theme="dark"] .real-member-photo,
html[data-theme="dark"] .person-row>.member-photo{background:#41604b;color:#f0f4e9}
html[data-theme="dark"] .message-feed,html[data-theme="dark"] .conversation-preview{background:#22392c}
html[data-theme="dark"] .chat-bubble,html[data-theme="dark"] .chat-bubble.own{background:#345140;color:#f0f4e9}
html[data-theme="dark"] .auth-provider{background:#263b30;color:#edf3e8;border-color:#75947e}
html[data-theme="dark"] .auth-provider:hover{background:#395744}
html[data-theme="dark"] .about-next{background:#244637;border-color:#456d53;color:#f8f3e8}
html[data-theme="dark"] .about-next h2,html[data-theme="dark"] .about-next p{color:#f3f6e8}
html[data-theme="dark"] .about-feature-icon{background:#334e3e;color:#e5f1df}
html[data-theme="dark"] .filter-field select:focus-visible{outline:2px solid #e0c384}
html[data-theme="dark"] .directory-footer a.directory-details-link{color:#e8f0de;border-color:#779481;background:#263d30}
html[data-theme="dark"] :is(.sauna-venue,.wellness-venue,.walk-venue,.arts-venue,.walk-club-card,.walk-group-event,.organised-walks,.member-walks,.food-meetups,.shared-meetups,.parkruns-section) p{color:#c4d7c8}

/* Keep both appearance and language controls usable on narrow phones. */
@media(max-width:600px){
  .site-header .header-inner{gap:8px}
  .site-header .header-actions{gap:5px}
  .site-header .brand{gap:7px;min-width:0}
  .site-header .brand-name{font-size:16px;line-height:1.05}
}
@media(max-width:410px){
  .site-header .header-inner{gap:5px}
  .site-header .brand-mark{width:40px;height:40px;font-size:26px}
  .site-header .brand{gap:5px}
  .site-header .brand-name{font-size:13px}
  .site-header .header-actions{gap:3px}
  .site-header .mobile-menu-toggle{width:38px;height:38px}
  .site-header .preference-theme,.site-header .preference-language{width:34px;min-width:34px;padding:4px}
}
html[lang="ga"] .site-header .desktop-nav{gap:13px}
html[lang="ga"] .site-header .nav-link{font-size:12px}
html[lang="ga"] .category-item{overflow-wrap:anywhere}

/* Event cards: let longer Irish labels wrap instead of overflowing the card.
   Keep these safeguards in both English and Gaeilge, light and dark modes. */
.cards-grid > .activity-card,
.activity-card .card-body,
.activity-card .card-foot,
.activity-card .card-buttons { min-width:0; }
.activity-card .card-buttons {
  width:100%;
  grid-template-columns:minmax(0,1fr);
}
.activity-card .card-buttons > .btn,
.activity-card .card-buttons > .event-official-link {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:44px;
  height:auto;
  padding:10px 13px;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.45;
  text-align:center;
  align-items:center;
  justify-content:center;
}
.activity-card .card-buttons .icon { flex:0 0 auto; }
.activity-card .card-interested span,
.activity-card .card-interest-help { min-width:0;overflow-wrap:break-word; }
@media (min-width:1001px) and (max-width:1250px) {
  .cards-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (min-width:601px) and (max-width:1000px) {
  .cards-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px) {
  .cards-grid {grid-template-columns:minmax(0,1fr);}
}

/* Business partnerships: enquiry-first promotion, without checkout or auto-publication. */
.business-page{background:linear-gradient(180deg,#eaf0e7 0,#fbf8f1 420px,#fbf8f1 100%)}
.business-inner{padding-top:67px;padding-bottom:100px;max-width:1200px}
.business-intro{max-width:820px;margin:0 auto 68px;text-align:center}
.business-intro h1{font-size:clamp(35px,4.8vw,61px);letter-spacing:-.034em;line-height:1.08;margin:13px auto 23px}
.business-lede{max-width:740px;margin:0 auto 22px;color:#53665a;font-size:clamp(15px,1.4vw,18px);line-height:1.75}
.business-intro-actions{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:11px}
.business-intro-actions>span{color:#647769;font-size:12px}
.business-intro-actions .btn{white-space:normal;text-align:center}
.business-packages{text-align:center}
.business-packages h2{font-size:clamp(29px,3.5vw,43px);margin:8px 0 12px}
.business-muted{color:#65776b;max-width:800px;margin:0 auto 26px;font-size:13px;line-height:1.7}
.business-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;text-align:left}
.business-price-card{background:#fffefa;border:1px solid #dfe6d9;border-radius:20px;box-shadow:0 10px 34px rgba(23,60,50,.055);padding:28px 25px;display:flex;flex-direction:column;min-width:0}
.business-price-card-featured{border:2px solid #b99957;background:#fbfcf7;box-shadow:0 14px 36px rgba(23,60,50,.1)}
.business-price-eyebrow{letter-spacing:.13em;text-transform:uppercase;color:#7a8d75;font-weight:800;font-size:10px}
.business-price-card h3{font-family:var(--serif);font-size:27px;margin:15px 0 7px}
.business-price{font-family:var(--serif);font-size:38px;font-weight:600;color:var(--forest);margin:0 0 12px}
.business-price small{font-family:var(--sans);font-size:14px;font-weight:500;color:#617465}
.business-price-card>p:not(.business-price){color:#55685c;font-size:13px;line-height:1.7;flex:1;margin:0 0 24px}
.business-price-card .btn{width:100%;white-space:normal;text-align:center;line-height:1.4;padding:12px 16px;min-height:47px}
.business-footnote{text-align:center;max-width:790px;margin:20px auto 0;font-size:12px;color:#5a6c60;line-height:1.7}
.business-lower{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;margin:80px auto 0;align-items:start}
.business-process{padding:28px 0}
.business-process h2{font-size:clamp(29px,3vw,41px);margin:12px 0 27px}
.business-process ol{list-style:none;padding:0;margin:0;counter-reset:business-steps}
.business-process li{counter-increment:business-steps;display:grid;grid-template-columns:35px minmax(0,1fr);column-gap:12px;row-gap:5px;margin-bottom:24px}
.business-process li:before{content:counter(business-steps);grid-row:1/3;background:#e4ede0;color:var(--forest);font-size:14px;font-weight:800;border-radius:50%;height:32px;width:32px;display:grid;place-items:center}
.business-process li strong{font-size:15px;color:var(--forest)}
.business-process li span{font-size:13px;color:#637467;line-height:1.65}
.business-fineprint{margin-top:35px;color:#728074;font-size:12px;line-height:1.7}
.business-form-panel{background:#fffefa;border:1px solid #e1e7db;border-radius:23px;padding:35px;box-shadow:0 13px 38px #173c3211;scroll-margin-top:105px}
.business-form-panel h2{font-size:clamp(29px,3vw,39px);margin:9px 0 9px}
.business-form-panel>p:not(.section-kicker){color:#647469;font-size:14px;line-height:1.6;margin-bottom:25px}
.business-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 13px}
.business-form-fields label{display:flex;flex-direction:column;gap:7px;color:var(--forest);font-size:12px;font-weight:750;min-width:0}
.business-form-fields .business-field-full{grid-column:1/-1}
.business-form-fields input,.business-form-fields select,.business-form-fields textarea{display:block;width:100%;min-width:0;background:#fff;color:#263a32;border:1px solid #cbd8c9;border-radius:10px;font-size:14px;font-weight:400;padding:12px 13px;min-height:45px}
.business-form-fields textarea{min-height:116px;resize:vertical}
.business-form-fields input:focus,.business-form-fields select:focus,.business-form-fields textarea:focus{border-color:#7d9a77;outline:2px solid #cbdccb;outline-offset:1px}
.business-consent{display:flex;gap:11px;align-items:flex-start;font-size:12px;color:#5e6b61;line-height:1.65;margin:19px 0}
.business-consent input{flex:none;margin-top:4px;accent-color:var(--forest);width:16px;height:16px}
.business-consent a{text-decoration:underline;text-underline-offset:3px;color:var(--forest)}
.business-honey{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.business-submit{white-space:normal;max-width:100%}
.business-form-status{margin:12px 0 0;min-height:22px;color:var(--forest);font-size:13px;line-height:1.6}
.business-form-status[data-state="error"]{color:#ab422e}
.business-form-status[data-state="success"]{font-weight:700}
.business-admin-item{align-items:flex-start}
.business-admin-detail{overflow-wrap:anywhere;white-space:pre-wrap}
.business-admin-links{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0;font-size:12px}
.business-admin-links a{text-decoration:underline;text-underline-offset:3px;color:var(--forest)}
@media(max-width:1200px){.desktop-nav [data-nav="business"]{display:none}}
@media(max-width:900px){.business-lower{grid-template-columns:1fr;gap:28px;margin-top:57px}.business-process{padding:0}.business-inner{padding-top:52px}}
@media(max-width:760px){.business-pricing-grid{grid-template-columns:1fr;gap:15px}.business-price-card{padding:23px}.business-price-card>p:not(.business-price){margin-bottom:15px}.business-price-card h3{margin-top:9px}}
@media(max-width:600px){.business-inner{padding-top:39px;padding-bottom:65px}.business-intro{margin-bottom:45px}.business-intro h1{font-size:clamp(35px,10vw,47px)}.business-form-panel{padding:24px 17px;border-radius:16px}.business-form-fields{grid-template-columns:1fr}.business-form-fields .business-field-full{grid-column:1}.business-pricing-grid{gap:13px}.business-lower{margin-top:43px}}
html[data-theme="dark"] .business-page{background:linear-gradient(180deg,#192b23 0,#111c1a 420px,#111c1a 100%)}
html[data-theme="dark"] .business-form-panel,html[data-theme="dark"] .business-price-card{background:#263a30;border-color:#506a55;color:#f1f5ec}
html[data-theme="dark"] .business-price-card-featured{border-color:#c3a25c}
html[data-theme="dark"] .business-lede,html[data-theme="dark"] .business-muted,html[data-theme="dark"] .business-footnote,html[data-theme="dark"] .business-form-panel>p:not(.section-kicker),html[data-theme="dark"] .business-price-card>p:not(.business-price),html[data-theme="dark"] .business-process li span,html[data-theme="dark"] .business-fineprint,html[data-theme="dark"] .business-consent{color:#c7d7c6}
html[data-theme="dark"] .business-price,html[data-theme="dark"] .business-price-card h3,html[data-theme="dark"] .business-process li strong,html[data-theme="dark"] .business-form-fields label{color:#eef3e8}
html[data-theme="dark"] .business-price small,html[data-theme="dark"] .business-intro-actions>span{color:#c2d1c0}
html[data-theme="dark"] .business-process li:before{background:#395746;color:#f2f3df}
html[data-theme="dark"] .business-form-fields input,html[data-theme="dark"] .business-form-fields select,html[data-theme="dark"] .business-form-fields textarea{background:#192b24;color:#f0f4eb;border-color:#67816c}
html[data-theme="dark"] .business-form-status{color:#d5efcc}
html[data-theme="dark"] .business-form-status[data-state="error"]{color:#ffb9a5}
html[data-theme="dark"] .business-admin-links a,html[data-theme="dark"] .business-consent a{color:#f0e2b9}

/* Sports & Outdoors — discover padel as well as walks and parkruns. */
.sports-shortcuts{margin:16px auto 23px;text-align:center}
.sports-shortcuts .section-kicker{display:block;margin:0 0 12px}
.sports-shortcuts-row{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.sports-shortcuts-row button{border:1px solid #b9cbb6;color:var(--forest);background:#fff;border-radius:50px;padding:11px 19px;font-size:12px;font-weight:750;line-height:1.4;cursor:pointer}
.sports-shortcuts-row button:hover,.sports-shortcuts-row button:focus-visible{background:#e6efe5;border-color:#507a56}
.sports-padel{scroll-margin-top:115px;margin:20px auto 38px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:35px;align-items:center;background:#e8efe5;border:1px solid #d6e3d2;border-radius:21px;padding:38px 42px}
.sports-padel h2{font-size:clamp(30px,3.6vw,43px);margin:10px 0 16px}
.sports-padel-copy>p:not(.section-kicker){font-size:15px;line-height:1.75;color:#546b5c;max-width:650px}
.sports-padel-actions{display:flex;align-items:flex-start;gap:10px;flex-direction:column;margin-top:18px}
.sports-padel-actions .btn{white-space:normal;line-height:1.45;text-align:center}
.sports-padel-actions>span{color:#627567;font-size:11px;line-height:1.6}
.sports-padel-side{background:#fffdf8;border:1px solid #d8e4d5;border-radius:16px;padding:25px;display:flex;flex-direction:column;gap:12px}
.sports-padel-side>span{color:#627c68;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.sports-padel-side strong{display:block;padding:12px 14px;background:#f1f6ef;color:#224b34;border-radius:11px;font-size:13px;line-height:1.4}
.sports-padel-side p{font-size:12px;color:#617265;line-height:1.6;margin:0}
@media(max-width:850px){.sports-padel{grid-template-columns:1fr;gap:24px;padding:29px 23px}}
@media(max-width:600px){.sports-shortcuts{margin:12px auto 16px}.sports-shortcuts-row{gap:7px}.sports-shortcuts-row button{padding:10px 12px;font-size:11px}.sports-padel{margin:14px auto 27px;padding:25px 18px;border-radius:16px}.sports-padel-side{padding:18px}}
html[data-theme="dark"] .sports-padel{background:#21392c;border-color:#4f6c54}
html[data-theme="dark"] .sports-padel-copy>p:not(.section-kicker),html[data-theme="dark"] .sports-padel-side p,html[data-theme="dark"] .sports-padel-actions>span{color:#c4d5c4}
html[data-theme="dark"] .sports-padel-side{background:#253a30;border-color:#4a6550}
html[data-theme="dark"] .sports-padel-side strong{background:#31513c;color:#f2f5e8}
html[data-theme="dark"] .sports-padel-side>span{color:#b6d2b4}
html[data-theme="dark"] .sports-shortcuts-row button{background:#263d30;border-color:#638568;color:#e7f3df}

/* Progressive disclosure: show activity companions only after recorded interest.
   Explicit [hidden] overrides theme-specific .btn display rules in light/dark modes. */
.directory-find-one[hidden],.activity-card [data-action="people"][hidden]{display:none!important}
.directory-social-tools .directory-find-one:not([hidden]){display:flex}
.parkrun-actions{margin-top:3px}

/* Cork padel clubs share the exact wellness/arts venue card grid and typography.
   No separate oversized two-column club layout. */
.padel-clubs{scroll-margin-top:105px;margin:0 auto 48px}
.padel-clubs-heading{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 22px}
.padel-clubs-heading h2{font-size:clamp(29px,3.3vw,42px);margin:8px 0 10px}
.padel-clubs-heading p:not(.section-kicker){font-size:13px;line-height:1.6;color:#637467;max-width:690px;margin:0}
.padel-clubs-verified{font-size:11px;line-height:1.4;color:#4f6855;background:#e7f0e3;border-radius:24px;padding:9px 12px}
.padel-clubs .padel-clubs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.padel-clubs .padel-club-card{min-width:0;overflow-wrap:break-word}
.padel-club-card .padel-club-area{color:#55745c}
.padel-club-card .padel-club-tags{margin:0}
.padel-club-card .padel-club-address{font-size:11px;line-height:1.5;font-weight:650;color:#55745c;flex:none}
.padel-club-card .padel-club-actions{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;gap:10px}
.padel-club-card .padel-club-actions button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 12px;font:700 12px/1.4 var(--sans);white-space:normal;text-align:center;border-radius:999px}
.padel-club-card .padel-club-actions a{font-size:12px;white-space:normal;line-height:1.5;align-self:flex-start}
.padel-club-card .directory-footer{margin-top:9px}
.padel-club-card .directory-footer a.directory-details-link{align-self:stretch;font-size:12px;min-height:44px;margin-top:0}
.padel-clubs-note{color:#637467;font-size:11px;line-height:1.65;margin:18px 0 0;max-width:940px}
@media(max-width:900px){.padel-clubs .padel-clubs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.padel-clubs .padel-clubs-grid{grid-template-columns:minmax(0,1fr)}.padel-clubs{margin-bottom:32px}.padel-club-card .padel-club-actions button{min-height:44px}}
html[data-theme="dark"] .padel-clubs-verified{background:#335340;color:#e1f0dd}
html[data-theme="dark"] .padel-clubs-heading p:not(.section-kicker),html[data-theme="dark"] .padel-clubs-note{color:#c6d7c9}
html[data-theme="dark"] .padel-club-card .padel-club-address,html[data-theme="dark"] .padel-club-card .padel-club-area{color:#c2d9bf}

/* Shared private conversations: refresh message history without replacing the draft. */
.private-thread-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 7px}
.private-thread-header span{font-size:12px;line-height:1.5;color:var(--muted)}
.private-thread-header .btn{min-height:36px;padding:7px 12px;font-size:12px;white-space:normal}
.private-thread-feed{max-height:350px;overflow-y:auto;overflow-x:hidden;margin:13px 0 20px;scroll-behavior:smooth}
.private-thread-feed .notice-box{max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){.private-thread-header{align-items:flex-start;flex-direction:column;gap:8px}.private-thread-header .btn{width:100%}}
html[data-theme="dark"] .private-thread-header span{color:#cbdac9}

/* Secure member message alerts: count-only badges and optional email preference. */
.message-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;max-width:40px;padding:2px 5px;background:#d9866e;color:#183c30;border:1px solid #fbdbb3;border-radius:999px;font:800 11px/1 var(--sans);vertical-align:middle;text-align:center;margin-left:5px}
.message-unread-badge[hidden],.conversation-unread-count[hidden],#messageNotification[hidden]{display:none!important}
.mobile-bottom-nav .message-unread-badge{position:absolute;top:3px;margin-left:55px;height:18px;min-width:18px;padding:2px 4px;font-size:10px}
.conversation-unread-count{display:inline-flex;align-items:center;min-height:21px;padding:3px 8px;border-radius:999px;font:800 11px/1 var(--sans);color:#173c32;background:#f1ccac}
.message-notification{position:fixed;z-index:10000;right:22px;bottom:22px;display:flex;align-items:center;gap:11px;flex-wrap:wrap;max-width:min(540px,calc(100vw - 30px));padding:14px 17px;border-radius:14px;border:1px solid #c9d7c2;background:#fffefa;box-shadow:0 12px 40px rgba(12,30,22,.25);color:#1a4030;font-size:13px}
.message-notification strong{font-size:14px}
.message-notification span{font-size:12px;color:#56705c}
.message-notification .btn{padding:8px 13px;min-height:34px;font-size:12px}
.message-notification-dismiss{border:none;background:transparent;color:inherit;cursor:pointer;font-size:25px;line-height:1;padding:2px 5px;margin-left:auto}
.message-settings{border:1px solid #dae6d7;border-radius:14px;padding:17px 20px;margin:17px 0 20px;background:#f6f9f4}
.message-settings h2{font:700 17px/1.4 var(--sans);margin:0 0 12px;color:var(--forest)}
.message-opt-in{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--forest);font-weight:650;cursor:pointer}
.message-opt-in input{width:18px;height:18px;accent-color:var(--forest);flex:none}
.message-email-note{font-size:12px;line-height:1.6;color:#68776a;margin:9px 0}
.message-setting-status{font-size:12px;min-height:16px;margin:5px 0 0;color:#536e59}
@media(max-width:600px){.message-notification{left:12px;right:12px;bottom:83px;padding:12px 13px;gap:8px}.message-notification .btn{flex:1}.message-settings{padding:15px}}
html[data-theme="dark"] .message-notification,html[data-theme="dark"] .message-settings{background:#253a30;border-color:#628069;color:#f2f4e8}
html[data-theme="dark"] .message-notification span,html[data-theme="dark"] .message-email-note,html[data-theme="dark"] .message-setting-status{color:#c0d4c4}
html[data-theme="dark"] .message-settings h2,html[data-theme="dark"] .message-opt-in{color:#f1f3e9}

/* Connections is one full-width panel, not the legacy split-view chat grid.
   Keep headings the same scale as the rest of the Messages page. */
#messageLayout{display:block;grid-template-columns:none;min-height:0;width:100%;border:0;border-radius:0;overflow:visible;background:transparent;margin-top:22px}
#messageLayout>.profile-panel{box-sizing:border-box;width:100%;max-width:850px;border-radius:18px;padding:26px 28px}
#messageLayout>.profile-panel>h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.02em;margin:0 0 13px;overflow-wrap:break-word}
#messageLayout>.profile-panel>h3{font-size:clamp(18px,2vw,22px);line-height:1.35;margin:27px 0 12px}
#messageLayout>.profile-panel>p{font-size:13px;line-height:1.6;max-width:690px}
#messageLayout .safety-connection{box-sizing:border-box;width:100%;margin:12px 0;padding:18px 20px}
#messageLayout .safety-connection .btn{white-space:normal;margin:5px 5px 4px 0}
@media(max-width:600px){#messageLayout>.profile-panel{padding:18px 16px}#messageLayout>.profile-panel>h2{font-size:27px}#messageLayout .safety-connection{padding:15px}}
html[data-theme="dark"] #messageLayout{background:transparent;border:0}

/* Messages title: bring oversized global subpage H1 into scale with Connections. */
#view-messages .subpage-inner > h1{font-size:clamp(30px,3vw,40px);line-height:1.16;letter-spacing:-.02em;margin:0 0 10px}
@media(max-width:600px){#view-messages .subpage-inner > h1{font-size:32px}}

/* About page: keep the headline and opening statement in proportion.
   Override older global subpage title rules without affecting other pages. */
#view-about .about-intro h1{
  font-size:clamp(32px,3.6vw,48px);
  line-height:1.12;
  letter-spacing:-.025em;
  max-width:800px;
  margin:13px auto 22px;
}
#view-about .about-intro .about-lede{
  font-size:clamp(18px,1.85vw,23px);
  line-height:1.48;
  max-width:700px;
  margin:0 auto 28px;
  overflow-wrap:break-word;
}
@media(max-width:600px){
  #view-about .about-intro h1{font-size:clamp(29px,8vw,38px)}
  #view-about .about-intro .about-lede{font-size:18px;line-height:1.5}
}

/* Find Your People heading — match Messages page typography. */
#view-people .subpage-inner > h1{font-size:clamp(30px,3vw,40px);line-height:1.16;letter-spacing:-.02em;margin:0 0 10px}
@media(max-width:600px){#view-people .subpage-inner > h1{font-size:32px}}

/* Club-wide heading scale, audited 21 October 2026.
   Keep the Discover homepage hero distinct; other PAGE titles share one scale.
   Larger H1 overrides were removed above so they cannot fight these values. */
.subpage .subpage-inner > h1,
.subpage .subpage-heading h1{
  font-size:clamp(30px,3vw,40px);
  line-height:1.16;
  letter-spacing:-.02em;
  overflow-wrap:break-word;
  margin-bottom:10px;
}
/* Public information and business pages use the same visual hierarchy. */
#view-about .about-intro h1,
#view-business .business-intro h1,
.policy-page .policy-header h1{
  font-size:clamp(32px,3.3vw,44px);
  line-height:1.15;
  letter-spacing:-.022em;
  overflow-wrap:break-word;
}
#view-about .about-intro h1{max-width:800px;margin:13px auto 20px}
#view-business .business-intro h1{max-width:820px;margin:13px auto 22px}
.policy-page .policy-header h1{margin:12px 0 16px}
/* Every Sports, Music, Arts, Food, Social and Festivals category page. */
.category-route-heading h1{
  font-size:clamp(32px,3.3vw,44px);
  line-height:1.15;
  letter-spacing:-.02em;
  overflow-wrap:break-word;
}
/* Supporting heading sizes: subordinate to the page title, never enormous. */
#view-about .about-difference h2,
#view-about .about-next h2,
#view-business .business-packages h2,
#view-business .business-process h2,
#view-business .business-form-panel h2{
  font-size:clamp(25px,2.7vw,36px);
  line-height:1.22;
}
@media(max-width:600px){
  .subpage .subpage-inner > h1,
  .subpage .subpage-heading h1{font-size:32px;line-height:1.18}
  #view-about .about-intro h1,
  #view-business .business-intro h1,
  .policy-page .policy-header h1,
  .category-route-heading h1{font-size:clamp(30px,8vw,36px);line-height:1.18}
  #view-about .about-difference h2,
  #view-about .about-next h2,
  #view-business .business-packages h2,
  #view-business .business-process h2,
  #view-business .business-form-panel h2{font-size:clamp(24px,6.3vw,30px)}
}


/* Discover categories: coordinated VERTICAL pairs in each of four columns.
   Live music + Food & drink: lighter sage olive.
   Sports & outdoors + Social events: warm mocha.
   Wellness & sauna + Festivals: deep teal.
   Arts & culture + Explore all: soft plum.
   Match the icon tile and stroke for each pair, in light and dark modes. */
#view-discover:not(.category-focused) .category-item[data-category] .category-icon .icon{
  stroke-width:2.5;
}
#view-discover:not(.category-focused) .category-item:is([data-category="music"],[data-category="food"]){
  background:#eef3e9;border-color:#dce5d8;color:#204b37;
}
#view-discover:not(.category-focused) .category-item:is([data-category="music"],[data-category="food"]) .category-icon{
  background:#dbe7d8;color:#204b37;
}
#view-discover:not(.category-focused) .category-item:is([data-category="outdoors"],[data-category="social"]){
  background:#f6eee3;border-color:#ebdfcf;color:#513b28;
}
#view-discover:not(.category-focused) .category-item:is([data-category="outdoors"],[data-category="social"]) .category-icon{
  background:#efddc5;color:#513b28;
}
#view-discover:not(.category-focused) .category-item:is([data-category="wellness"],[data-category="festivals"]){
  background:#dcebee;border-color:#a3c1c9;color:#254c55;
}
#view-discover:not(.category-focused) .category-item:is([data-category="wellness"],[data-category="festivals"]) .category-icon{
  background:#d3e8ed;color:#204454;
}
#view-discover:not(.category-focused) .category-item:is([data-category="arts"],[data-category="all"]){
  background:#efe1ec;border-color:#ceb8d0;color:#50394e;
}
#view-discover:not(.category-focused) .category-item:is([data-category="arts"],[data-category="all"]) .category-icon{
  background:#efd7e9;color:#4b3153;
}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:is([data-category="music"],[data-category="food"]){
  background:#4a5c43;border-color:#849776;color:#f5f7ef;
}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:is([data-category="music"],[data-category="food"]) .category-icon{
  background:#e4eed7;color:#294632;
}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:is([data-category="outdoors"],[data-category="social"]){
  background:#343029;border-color:#655343;color:#ecf3e9;
}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:is([data-category="wellness"],[data-category="festivals"]){
  background:#254451;border-color:#557887;color:#f2f4ee;
}
html[data-theme="dark"] #view-discover:not(.category-focused) .category-item:is([data-category="arts"],[data-category="all"]){
  background:#44334a;border-color:#826a88;color:#f5f0f4;
}

/* Editorial queue: efficient, deliberate approvals (no automatic publication). */
#adminContent .admin-review-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:17px 0 12px}
#adminContent .admin-review-filters .form-field{min-width:0;max-width:100%;margin:0}
#adminContent .admin-review-filters select{width:100%}
#adminContent .admin-review-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0 20px;padding:13px 15px;background:#eff3eb;border-radius:13px}
#adminContent .admin-review-toolbar .btn{font-size:12px;min-height:39px;padding:9px 15px}
#adminContent .admin-review-toolbar span{color:#54715c;font-size:12px;line-height:1.5;flex:1;min-width:210px}
#adminContent .admin-review-notice{font-size:12px;line-height:1.6;color:#75532f;background:#fbf0dc;border:1px solid #e7cc94;border-radius:10px;padding:10px 13px;margin:11px 0}
#adminContent .admin-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:13px;row-gap:12px}
#adminContent .admin-review-check{display:flex;align-items:center;flex-direction:column;gap:6px;font-size:10px;color:#607168;cursor:pointer;align-self:start;min-width:40px}
#adminContent .admin-review-check input{height:19px;width:19px;accent-color:var(--forest);cursor:pointer}
#adminContent .admin-review-content{min-width:0;overflow-wrap:anywhere}
#adminContent .admin-review-content h3 small{display:inline-block;background:#f1dfb9;border-radius:7px;color:#644c2b;font:750 10px/1.4 var(--sans);padding:4px 6px;vertical-align:middle}
#adminContent .admin-item .admin-actions{grid-column:2;justify-content:flex-start}
#adminContent .admin-page-navigation{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0 2px}
#adminContent .admin-page-navigation .btn{min-height:40px;padding:9px 15px;font-size:12px}
#adminContent .admin-page-navigation span{font-size:12px;color:var(--muted);font-weight:650}
#adminContent [data-admin-select-page],#adminContent [data-admin-select-matching]{white-space:nowrap}
#adminContent [data-admin-select-matching]{border-color:#779d81;font-weight:750}
#adminContent [data-admin-select-matching]:disabled{opacity:.55;cursor:not-allowed}
#adminContent [data-admin-select-page]:disabled{opacity:.55;cursor:not-allowed}
#adminContent .admin-review-toolbar [data-approve-selected]{white-space:nowrap}
@media(max-width:700px){#adminContent .admin-review-filters{grid-template-columns:1fr}#adminContent .admin-review-toolbar{flex-direction:column;align-items:stretch}#adminContent .admin-review-toolbar span{min-width:0}#adminContent .admin-item{column-gap:9px;padding:13px}#adminContent .admin-actions .btn{white-space:normal}}
html[data-theme="dark"] #adminContent .admin-review-toolbar{background:#294436}
html[data-theme="dark"] #adminContent .admin-review-toolbar span{color:#c5d7c5}
html[data-theme="dark"] #adminContent .admin-review-notice{background:#493d2e;border-color:#83663f;color:#f1dfbd}
html[data-theme="dark"] #adminContent .admin-review-content h3 small{background:#604b2c;color:#fce6bb}
html[data-theme="dark"] #adminContent .admin-review-check{color:#b4cfb8}


/* Private owner dashboard & venue feed health */
#view-admin .subpage-inner{max-width:1170px}
#view-admin .admin-dashboard-panel{max-width:none;width:100%;box-sizing:border-box;padding:clamp(14px,3vw,28px)}
#adminOverview{padding-top:4px}
#adminOverview .admin-overview-heading,#sourceHealth .source-health-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap}
#adminOverview .admin-overview-heading h2{font-size:25px;line-height:1.25;margin:0 0 6px}
#adminOverview .admin-overview-heading p,#sourceHealth .source-health-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
#adminOverview .admin-overview-heading .btn,#sourceHealth .source-health-heading .btn{font-size:12px;min-height:38px;padding:8px 13px}
#adminOverview .admin-overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
#adminOverview .admin-overview-card{appearance:none;display:flex;flex-direction:column;min-width:0;min-height:144px;text-align:left;align-items:flex-start;border:1px solid var(--line);border-radius:14px;background:var(--cream);color:var(--ink);padding:16px 17px;cursor:pointer;font:inherit}
#adminOverview .admin-overview-static{cursor:default}
#adminOverview button.admin-overview-card:hover{border-color:#789b82;transform:translateY(-1px)}
#adminOverview .admin-overview-card:focus-visible,#adminOverview .admin-overview-action:focus-visible{outline:3px solid #d7af52;outline-offset:3px}
#adminOverview .admin-overview-number{font-size:34px;line-height:1.12;font-weight:800;font-variant-numeric:tabular-nums}
#adminOverview .admin-overview-name{font-size:14px;font-weight:750;margin-top:6px}
#adminOverview .admin-overview-note{font-size:11px;line-height:1.5;color:var(--muted);margin-top:3px}
#adminOverview .admin-overview-link{font-size:11px;font-weight:720;margin-top:auto;padding-top:9px;color:var(--forest)}
#adminOverview .admin-overview-actions{padding-top:5px;margin-bottom:16px}
#adminOverview .admin-overview-actions h3{font-size:17px;margin:10px 0 12px}
#adminOverview .admin-overview-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#adminOverview .admin-overview-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 13px;font:inherit;font-size:12px;cursor:pointer;text-align:left}
#adminOverview .admin-overview-action:hover{border-color:#7c9c84}
#adminOverview .admin-overview-action strong{font-size:15px;font-variant-numeric:tabular-nums}
#adminOverview .admin-overview-activity{display:flex;flex-wrap:wrap;gap:8px 16px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px;font-size:12px;color:var(--muted)}
#adminOverview .admin-overview-activity strong{color:var(--ink);font-variant-numeric:tabular-nums}
#adminOverview>.form-note{margin-top:13px}
#sourceHealth .source-health-heading h3{font-size:20px;margin:0 0 6px}
#sourceHealth .source-health-heading .form-note{max-width:620px}
#sourceHealth .source-health-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
#sourceHealth .source-health-summary>div{padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--cream)}
#sourceHealth .source-health-summary strong{display:block;font-size:27px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--ink)}
#sourceHealth .source-health-summary span{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:2px}
#sourceHealth .source-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
#sourceHealth .source-health-card{min-width:0;background:var(--cream);border:1px solid var(--line);border-top:4px solid #719978;border-radius:12px;padding:14px 15px;overflow-wrap:anywhere}
#sourceHealth .source-health-failed{border-top-color:#c77d64}
#sourceHealth .source-health-stale,#sourceHealth .source-health-unscheduled{border-top-color:#c7a05a}
#sourceHealth .source-health-recovered{border-top-color:#549e88}
#sourceHealth .source-health-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}
#sourceHealth .source-health-top>strong{font-size:14px;line-height:1.4;color:var(--ink)}
#sourceHealth .source-health-status{display:inline-block;background:#dfeadd;color:#315b3a;border-radius:30px;padding:4px 8px;font-size:10px;font-weight:750;white-space:nowrap}
#sourceHealth .source-health-failed .source-health-status{background:#fbe2d7;color:#923f2e}
#sourceHealth .source-health-stale .source-health-status,#sourceHealth .source-health-unscheduled .source-health-status{background:#f7edce;color:#795d22}
#sourceHealth .source-health-stat{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:8px 0;font-size:11px;line-height:1.55}
#sourceHealth .source-health-stat>span{color:var(--muted)}
#sourceHealth .source-health-stat>strong{color:var(--ink);text-align:right;font-weight:700;max-width:58%;font-variant-numeric:tabular-nums}
#sourceHealth .source-health-problem{margin-top:12px;padding:11px;background:rgba(191,111,72,.085);border:1px solid rgba(191,111,72,.32);border-radius:9px}
#sourceHealth .source-health-problem>strong{display:block;font-size:12px}
#sourceHealth .source-health-problem p,#sourceHealth .source-health-hint,#sourceHealth .source-health-problem details{font-size:11px;line-height:1.6;margin:6px 0 0;color:var(--muted)}
#sourceHealth .source-health-problem summary{cursor:pointer;font-weight:700}
#sourceHealth .source-health-problem details p{white-space:normal;overflow-wrap:anywhere}
#sourceHealth .source-health-empty{font-size:13px;margin:10px 0}
#adminEventQueue,#sourceHealth,#sharedMeetupApprovals,#businessEnquiryApprovals,#adminSafetyReports{scroll-margin-top:105px}
#adminTopLink{font:inherit;background:transparent;border:0;cursor:pointer}
#adminTopLink[hidden],#adminMobileLink[hidden]{display:none!important}
#adminTopLink:not([hidden]):hover{text-decoration:underline}
#adminMobileLink:not([hidden]){display:block;width:100%;padding:12px 14px;color:inherit;font-weight:700}
#adminMobileLink:not([hidden]):hover{background:rgba(67,121,88,.12)}
#adminMobileLink{font:inherit;background:transparent;border:0;cursor:pointer;text-align:left}
@media(max-width:760px){
  #adminOverview .admin-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #sourceHealth .source-health-grid{grid-template-columns:1fr}
  #adminOverview .admin-overview-actions-grid{grid-template-columns:1fr}
}
@media(max-width:440px){
  #adminOverview .admin-overview-cards{gap:8px}
  #adminOverview .admin-overview-card{padding:13px 11px;min-height:138px}
  #adminOverview .admin-overview-number{font-size:29px}
  #adminOverview .admin-overview-name{font-size:12px}
  #sourceHealth .source-health-summary>div{padding:10px 8px}
  #sourceHealth .source-health-summary strong{font-size:23px}
  #sourceHealth .source-health-summary span{font-size:10px}
}
html[data-theme="dark"] #sourceHealth .source-health-status{color:#294b35}
html[data-theme="dark"] #sourceHealth .source-health-failed .source-health-status{color:#923f2e}
html[data-theme="dark"] #sourceHealth .source-health-stale .source-health-status{color:#795d22}



/* Plus One Club editorial headings — one consistent gold treatment.
   Warm bronze on cream surfaces in light mode, muted gold on forest panels
   in dark mode. Applies to HTML and dynamically rendered meetup headings.
   Smaller labels, venue/card titles and descriptions are intentionally excluded. */
:root { --section-heading-gold:#906B20; }
html[data-theme="dark"] { --section-heading-gold:#D8B968; }

:is(.category-route-heading) h1,
.category-route .section-title-row h2,
.category-upcoming .section-title-row h2,
#categoryDating-social .section-title-row h2,
.organised-walks-intro h2,
.organised-walks-heading h3,
.member-walks-intro h2,
.shared-meetups-header h2,
.shared-meetup-empty h3,
.food-meetups-header h2,
.food-meetup-empty h3,
.sauna-spotlight-copy h2,
.wellness-intro h2,
.walking-intro h2,
.parkruns-intro h2,
.sports-padel-copy h2,
.padel-clubs-heading h2,
#featured #featuredTitle,
.arts-spotlight .arts-venues-heading {
  color:var(--section-heading-gold) !important;
}

/* Arts & Culture hero is on a permanently cream panel: preserve forest green. */
.arts-intro h2 { color:#173C32 !important; }

/* Readable venue-count copy on the dark arts directory background. */
html[data-theme="dark"] .arts-spotlight .arts-count { color:#C8D8CB; }

/* Arts & Culture category panel: forest-green background throughout, not cream.
   The large title is gold; supporting copy and filters remain readable.
   This is scoped to the category introduction, not the venue listing cards. */
.arts-page-top {
  background:#1A2C24;
  border-color:#405A48;
}
.arts-page-top .arts-intro {
  background:#22392D;
}
.arts-page-top .arts-intro h2 {
  color:#D8B968 !important;
}
.arts-page-top .arts-intro .section-kicker {
  color:#C8D8CB;
}
.arts-page-top .arts-intro p:not(.section-kicker) {
  color:#DDE8DC;
}
.arts-page-top .arts-top-filters {
  background:#1A2C24;
}
.arts-page-top .arts-filter-label {
  color:#C8D8CB;
}
.arts-page-top .arts-filter {
  background:#263D30;
  border-color:#638568;
  color:#EDF3E8;
}
.arts-page-top .arts-filter[aria-pressed="true"] {
  background:#52775A;
  color:#FFF8EB;
  border-color:#9BBF97;
}
.arts-page-top .arts-filter:hover {
  background:#365143;
  color:#FFF8EB;
}


/* Shared venue-directory cards: consistent layout and readable dark-mode metadata.
   Preserve differences from dated event cards (no invented dates or event imagery). */
:is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) {
  padding:19px;
  gap:9px;
  border-radius:15px;
  min-width:0;
}
:is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) h3 {
  font:700 18px/1.35 var(--sans);
  margin:2px 0 0;
}
:is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) .directory-footer {
  margin-top:auto;
}
@media(max-width:600px) {
  :is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) { padding:16px; }
}

html[data-theme="dark"] :is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) :is(.walk-location,.wellness-place,.sauna-venue-top,.arts-venue-place),
html[data-theme="dark"] :is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) :is(.walk-location,.wellness-place,.sauna-venue-top,.arts-venue-place) .icon {
  color:#BED9C6;
}
html[data-theme="dark"] .directory-interest-count,
html[data-theme="dark"] .directory-interest-count .icon {
  color:#CADBCF;
}
html[data-theme="dark"] :is(.wellness-count,.walking-count,.arts-count,.sauna-count) {
  color:#C8D8CB;
}
html[data-theme="dark"] :is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) h3 {
  color:#EDF3E8;
}
html[data-theme="dark"] :is(.walk-venue,.wellness-venue,.sauna-venue,.arts-venue) .directory-footer {
  border-top-color:#64816B;
}


/* Unified venue cards v2: visible shared treatment across activity directories.
   Designed for actual linked venues/routes, not dated event cards. */
:is(.wellness-grid,.walking-grid,.sauna-grid,.arts-grid) {
  align-items:stretch;
}
:is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) {
  box-sizing:border-box;
  background:#F3F7F0;
  border:1px solid #B4C7B5;
  border-top:3px solid #AE893C;
  border-radius:17px;
  padding:20px;
  gap:10px;
  box-shadow:0 8px 20px rgba(24,53,37,.06);
  height:100%;
}
:is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) :is(.wellness-place,.walk-location,.sauna-venue-top,.arts-venue-place) {
  font-size:12px;
  line-height:1.45;
}
:is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) h3 {
  font:700 18px/1.35 var(--sans);
  margin:2px 0 0;
}
:is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) .directory-footer {
  margin-top:auto;
  padding-top:15px;
}
:is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) :is(.wellness-tag,.walk-type,.arts-venue-tag) {
  border-radius:99px;
  padding:5px 10px;
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) {
  background:#2D4639;
  border-color:#6C8D72;
  border-top:3px solid #D8B968;
  box-shadow:0 10px 24px rgba(0,0,0,.17);
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) h3 {
  color:#F4F5EC;
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) :is(.wellness-place,.walk-location,.sauna-venue-top,.arts-venue-place),
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) :is(.wellness-place,.walk-location,.sauna-venue-top,.arts-venue-place) .icon {
  color:#CAE0CF;
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) :is(.wellness-tag,.walk-type,.arts-venue-tag) {
  background:#496A51;
  color:#F0F5E9;
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) p {
  color:#E1EAE0;
}
html[data-theme="dark"] .directory-interest-count,
html[data-theme="dark"] .directory-interest-count .icon {
  color:#D3E2D5;
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) .directory-footer {
  border-top-color:#74927B;
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) .directory-details-link {
  background:#375B46;
  border-color:#91B297;
  color:#F5F6EA;
}
html[data-theme="dark"] :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) .directory-details-link:hover {
  background:#456E54;
  border-color:#D8B968;
}
@media(max-width:600px) {
  :is(.wellness-venue,.walk-venue,.sauna-venue,.arts-venue) { padding:16px; }
}


/* Padel club cards: no gold stripe; keep a continuous, subtle green outline. */
.padel-clubs .padel-club-card {
  border-top:1px solid #B4C7B5;
}
html[data-theme="dark"] .padel-clubs .padel-club-card {
  border-top:1px solid #6C8D72;
}


/* Wellness cards now reuse the exact padel card components and dimensions.
   Unlike the old standalone wellness rules, these only preserve the agreed
   green top border in both display themes. */
.wellness-grid > .padel-club-card[data-wellness-card] {
  border-top:1px solid #B4C7B5;
}
html[data-theme="dark"] .wellness-grid > .padel-club-card[data-wellness-card] {
  border-top:1px solid #6C8D72;
}

/* Sauna venue directory: shared padel/wellness card layout with plain green borders. */
.sauna-grid {
  gap:14px;
  align-items:stretch;
}
.sauna-grid > .sauna-venue.padel-club-card {
  background:#F3F7F0;
  border:1px solid #B4C7B5;
  border-top:1px solid #B4C7B5;
  border-radius:17px;
  box-shadow:none;
  height:100%;
}
.sauna-grid > .sauna-venue.padel-club-card .padel-club-address {
  flex:none;
}
html[data-theme="dark"] .sauna-grid > .sauna-venue.padel-club-card {
  background:#2D4639;
  border:1px solid #6C8D72;
  border-top:1px solid #6C8D72;
  box-shadow:none;
}
html[data-theme="dark"] .sauna-grid > .sauna-venue.padel-club-card .padel-club-area,
html[data-theme="dark"] .sauna-grid > .sauna-venue.padel-club-card .padel-club-address {
  color:#C6DBC9;
}


/* Gold organising buttons — Plus One Club action palette */
:is(
  button.btn-primary[data-padel-club-meetup],
  button.btn-primary[data-wellness-venue-meetup],
  button.btn-primary[data-sauna-venue-meetup],
  button.btn-primary[data-create-club-meetup],
  button.btn-primary[data-create-padel-meetup]
) {
  background:#E8D5A0;
  color:#17382B;
  border-color:#E8D5A0;
}
:is(
  button.btn-primary[data-padel-club-meetup],
  button.btn-primary[data-wellness-venue-meetup],
  button.btn-primary[data-sauna-venue-meetup],
  button.btn-primary[data-create-club-meetup],
  button.btn-primary[data-create-padel-meetup]
):hover {
  background:#F1E3BF;
  color:#17382B;
  border-color:#F1E3BF;
}
html[data-theme="dark"] :is(
  button.btn-primary[data-padel-club-meetup],
  button.btn-primary[data-wellness-venue-meetup],
  button.btn-primary[data-sauna-venue-meetup],
  button.btn-primary[data-create-club-meetup],
  button.btn-primary[data-create-padel-meetup]
) {
  background:#E8D5A0;
  color:#17382B;
  border-color:#E8D5A0;
}
html[data-theme="dark"] :is(
  button.btn-primary[data-padel-club-meetup],
  button.btn-primary[data-wellness-venue-meetup],
  button.btn-primary[data-sauna-venue-meetup],
  button.btn-primary[data-create-club-meetup],
  button.btn-primary[data-create-padel-meetup]
):hover {
  background:#F1E3BF;
  color:#17382B;
  border-color:#F1E3BF;
}


/* Member interest actions: pale champagne before selection, green after. */
/* Works for all event categories, venue-directory interest rows, and detail dialogs.
   Does not alter the event details / club booking actions. */
:is(.activity-card .card-mark-interest, .directory-toggle-interest, .modal-buttons button[data-action="interested"], #modalBody button[data-action="interested"]) {
  background:#E8D5A0;
  border:1px solid #E8D5A0;
  border-radius:999px;
  color:#17382B;
  font-weight:750;
  text-decoration:none;
}
:is(.activity-card .card-mark-interest, .directory-toggle-interest, .modal-buttons button[data-action="interested"], #modalBody button[data-action="interested"]):hover {
  background:#F1E3BF;
  border-color:#F1E3BF;
  color:#17382B;
}
.directory-toggle-interest {
  padding:7px 11px;
  line-height:1.35;
  font-size:11px;
  white-space:normal;
}
:is(.activity-card .card-mark-interest.is-interested, .directory-toggle-interest[aria-pressed="true"], #modalBody button[data-action="interested"][aria-pressed="true"]) {
  background:#486E54;
  border-color:#80A287;
  color:#F5F7F0;
}
:is(.activity-card .card-mark-interest.is-interested, .directory-toggle-interest[aria-pressed="true"], #modalBody button[data-action="interested"][aria-pressed="true"]):hover {
  background:#3D6048;
  border-color:#93B19A;
  color:#F5F7F0;
}
/* Override the existing global dark-theme primary and outline button rules. */
html[data-theme="dark"] .activity-card .card-mark-interest:not(.is-interested),
html[data-theme="dark"] .directory-toggle-interest:not([aria-pressed="true"]),
html[data-theme="dark"] #modalBody button[data-action="interested"]:not([aria-pressed="true"]) {
  background:#E8D5A0;
  border-color:#E8D5A0;
  color:#17382B;
}
html[data-theme="dark"] .activity-card .card-mark-interest:not(.is-interested):hover,
html[data-theme="dark"] .directory-toggle-interest:not([aria-pressed="true"]):hover,
html[data-theme="dark"] #modalBody button[data-action="interested"]:not([aria-pressed="true"]):hover {
  background:#F1E3BF;
  border-color:#F1E3BF;
  color:#17382B;
}
html[data-theme="dark"] .activity-card .card-mark-interest.is-interested,
html[data-theme="dark"] .directory-toggle-interest[aria-pressed="true"],
html[data-theme="dark"] #modalBody button[data-action="interested"][aria-pressed="true"] {
  background:#486E54;
  border-color:#80A287;
  color:#F5F7F0;
}
html[data-theme="dark"] .activity-card .card-mark-interest.is-interested:hover,
html[data-theme="dark"] .directory-toggle-interest[aria-pressed="true"]:hover,
html[data-theme="dark"] #modalBody button[data-action="interested"][aria-pressed="true"]:hover {
  background:#3D6048;
  border-color:#93B19A;
  color:#F5F7F0;
}


/* Simplified primary navigation: compact desktop links and accessible More menu. */
.site-header .header-inner {
  width:min(1670px,calc(100% - 48px));
  gap:clamp(9px,1.15vw,20px);
}
.site-header .brand { flex:0 1 auto; min-width:0; }
.site-header .brand-name { font-size:clamp(18px,1.65vw,24px); }
.site-header .desktop-nav {
  display:flex;
  flex:0 1 auto;
  align-items:center;
  gap:clamp(11px,1.2vw,21px);
  white-space:nowrap;
}
.site-header .desktop-nav .nav-link {
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
}
.site-header .header-actions { flex:0 0 auto; gap:8px; }
.site-header #adminTopLink {
  padding:7px 2px;
  color:var(--forest);
  white-space:nowrap;
  font-size:12px;
  font-weight:700;
}
.site-header #adminTopLink:not([hidden]) { display:inline-flex; align-items:center; }
.site-header #adminTopLink[hidden] { display:none!important; }
.site-header .nav-more { position:relative; flex:none; }
.site-header .nav-more > summary {
  display:inline-flex;
  align-items:center;
  gap:5px;
  list-style:none;
  padding:10px 2px;
  cursor:pointer;
  user-select:none;
  color:var(--forest);
}
.site-header .nav-more > summary::-webkit-details-marker { display:none; }
.site-header .nav-more > summary::marker { content:""; }
.site-header .nav-more > summary .icon { width:14px; height:14px; transition:transform .15s ease; }
.site-header .nav-more[open] > summary .icon { transform:rotate(180deg); }
.site-header .nav-more-menu {
  position:absolute;
  right:-12px;
  top:calc(100% + 9px);
  min-width:206px;
  z-index:35;
  display:flex;
  flex-direction:column;
  padding:8px;
  gap:3px;
  border:1px solid #B8C9BA;
  border-radius:14px;
  background:#FFFDF9;
  box-shadow:0 14px 35px rgba(14,36,24,.19);
}
.site-header .nav-more-link {
  display:block;
  padding:11px 13px;
  border-radius:9px;
  color:var(--forest);
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
}
.site-header .nav-more-link:hover,
.site-header .nav-more-link.active,
.site-header .nav-more-link:focus-visible {
  color:var(--forest);
  background:#E9F0E7;
}
.site-header .mobile-menu-divider {
  height:1px;
  background:#CFDCCF;
  margin:5px 10px;
}
html[data-theme="dark"] .site-header .nav-more > summary,
html[data-theme="dark"] .site-header #adminTopLink { color:#EDF3E8; }
html[data-theme="dark"] .site-header .nav-more-menu {
  background:#22382D;
  border-color:#57715B;
  box-shadow:0 18px 36px rgba(0,0,0,.32);
}
html[data-theme="dark"] .site-header .nav-more-link { color:#EDF3E8; }
html[data-theme="dark"] .site-header .nav-more-link:hover,
html[data-theme="dark"] .site-header .nav-more-link.active,
html[data-theme="dark"] .site-header .nav-more-link:focus-visible {
  background:#395644;
  color:#F4F5E9;
}
html[data-theme="dark"] .site-header .mobile-menu-divider { background:#45634E; }
@media(max-width:1350px) {
  .site-header .header-inner{width:calc(100% - 36px);gap:11px;}
  .site-header .brand-name{font-size:clamp(18px,1.55vw,21px);}
  .site-header .desktop-nav{gap:12px;}
  .site-header .header-actions{gap:6px;}
}
@media(min-width:1181px) {
  /* Admin already has My activities in the main links: avoid a duplicate CTA. */
  .site-header .header-actions:has(#adminTopLink:not([hidden])) #joinBtn{display:none;}
}
@media(max-width:1180px) {
  .site-header .desktop-nav {display:none;}
  .site-header #adminTopLink {display:none!important;}
  .site-header .mobile-menu-toggle {display:grid;}
  .site-header .mobile-menu {
    display:flex;
    flex-direction:column;
    background:var(--cream);
    padding:15px 30px 25px;
    gap:6px;
    border-top:1px solid var(--line);
  }
  .site-header .mobile-menu a {display:block;padding:10px;font-size:14px;font-weight:700;}
  .site-header .mobile-menu .btn {align-self:start;margin-top:5px;}
  html[data-theme="dark"] .site-header .mobile-menu {
    background:#182921;
    color:#EDF2E6;
    border-color:#49614B;
  }
}
@media(max-width:600px) {
  .site-header .header-inner {width:calc(100% - 24px);gap:7px;}
}


/* Header navigation regression fix: close More content fully and keep category links clickable. */
/* Author-level display:flex was overriding the browser's native details hiding rule. */
.site-header .nav-more:not([open]) > .nav-more-menu {
  display:none!important;
  visibility:hidden;
  pointer-events:none;
}
.site-header .nav-more[open] > .nav-more-menu {
  display:flex;
  visibility:visible;
  pointer-events:auto;
}
/* Ensure category route tabs are real click targets outside the sticky header. */
.category-route-switcher {
  position:relative;
  z-index:1;
}
.category-route-switcher button[data-category] {
  pointer-events:auto;
  cursor:pointer;
}


/* Unified Discover category outlines — equal highlight across all colour tiles. */
/* Retain the different category fill colours but make every outline identical. */
#view-discover:not(.category-focused) .categories .category-item {
  position:relative;
  cursor:pointer;
  border:2px solid #839F8B !important;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
html[data-theme="dark"] #view-discover:not(.category-focused) .categories .category-item {
  border-color:#839F8B !important;
}
#view-discover:not(.category-focused) .categories .category-item:hover,
html[data-theme="dark"] #view-discover:not(.category-focused) .categories .category-item:hover {
  border-color:#E8D5A0 !important;
  box-shadow:0 0 0 1px #E8D5A0,0 9px 20px rgba(0,0,0,.11);
}
#view-discover:not(.category-focused) .categories .category-item.active,
html[data-theme="dark"] #view-discover:not(.category-focused) .categories .category-item.active {
  border-color:#E8D5A0 !important;
  box-shadow:0 0 0 1px #E8D5A0;
}
#view-discover:not(.category-focused) .categories .category-item:focus-visible {
  border-color:#E8D5A0 !important;
  outline:3px solid #E8D5A0;
  outline-offset:3px;
}


/* UNIFIED VENUE CARD SYSTEM — Padel, Wellness, Sauna & Arts.
   All directories use the same three/two/one-column grid and compact cards.
   Keep the interest row above an equal action pair on desktop; stack
   actions on phones rather than squeezing labels into half-width buttons. */
:is(.padel-clubs-grid,.wellness-grid,.sauna-grid,.arts-grid) {
  display:grid;
  /* Fixed maximum card width: switching to two columns must NOT enlarge cards. */
  grid-template-columns:repeat(3,minmax(0,310px));
  justify-content:center;
  gap:14px;
  align-items:stretch;
  width:100%;
  max-width:1050px;
  margin-inline:auto;
}
:is(.padel-clubs-grid,.wellness-grid,.sauna-grid,.arts-grid) > :is(.padel-club-card,.arts-venue) {
  display:flex;
  flex-direction:column;
  align-self:stretch;
  min-width:0;
  width:100%;
  height:100%;
  box-sizing:border-box;
  padding:17px;
  gap:7px;
  border-radius:17px;
  overflow-wrap:break-word;
}
:is(.padel-club-card,.arts-venue) > .padel-club-area {
  margin:0;
  font-size:12px;
  line-height:1.4;
  font-weight:800;
}
:is(.padel-club-card,.arts-venue) > .padel-club-tags {
  margin:1px 0 3px;
}
:is(.padel-club-card,.arts-venue) > h3 {
  margin:1px 0;
  font:700 18px/1.3 var(--sans);
}
:is(.padel-club-card,.arts-venue) > .padel-club-address {
  flex:0 0 auto;
  margin:1px 0 3px;
  font-weight:700;
  font-size:12px;
  line-height:1.45;
}
:is(.padel-club-card,.arts-venue) > p:not(.padel-club-address) {
  flex:0 0 auto;
  margin:1px 0 4px;
  font-size:12px;
  line-height:1.5;
}
:is(.padel-club-card,.arts-venue) > .directory-footer {
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid #91AD98;
}
:is(.padel-club-card,.arts-venue) .directory-footer > .directory-social-tools {
  order:0;
  display:block;
  margin:0;
  padding:0;
  border:0;
}
/* Member count above compact actions: both selected and unselected cards
   have the same two rows, with no unused full-width button placeholder. */
:is(.padel-club-card,.arts-venue) .directory-interest-row {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:auto minmax(42px,auto);
  align-items:center;
  gap:8px 12px;
  min-width:0;
}
:is(.padel-club-card,.arts-venue) .directory-interest-count {
  grid-column:1/-1;
  grid-row:1;
  font-size:12px;
}
:is(.padel-club-card,.arts-venue) .directory-interest-row .directory-toggle-interest {
  grid-row:2;
  grid-column:2;
  justify-self:end;
  min-height:39px;
  padding:7px 12px;
  margin:0;
  font-size:12px;
  line-height:1.3;
  border-radius:999px;
  white-space:normal;
  text-align:center;
}
:is(.padel-club-card,.arts-venue) .directory-interest-row:has(.directory-find-one:not([hidden])) .directory-toggle-interest {
  grid-column:1;
  justify-self:start;
}
:is(.padel-club-card,.arts-venue) .directory-interest-row .directory-find-one:not([hidden]) {
  grid-column:2;
  grid-row:2;
  display:flex;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:42px;
  margin:0;
  padding:7px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1.25;
  white-space:normal;
}
:is(.padel-club-card,.arts-venue) .directory-interest-row .directory-find-one .icon {
  width:15px;
  height:15px;
}
:is(.padel-club-card,.arts-venue) > .directory-footer .venue-action-pair {
  order:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
  min-width:0;
  width:100%;
}
:is(.padel-club-card,.arts-venue) > .directory-footer .venue-action-pair > :is(button,a),
:is(.padel-club-card,.arts-venue) > .directory-footer .venue-action-pair > a.directory-details-link {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  max-width:none;
  min-height:52px;
  height:100%;
  margin:0;
  padding:10px 11px;
  border-radius:999px;
  font:700 12px/1.35 var(--sans);
  text-decoration:none;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
}
:is(.padel-club-card,.arts-venue) .venue-action-pair > .directory-organise-button {
  background:#E8D5A0;
  border:1px solid #E8D5A0;
  color:#17382B;
}
:is(.padel-club-card,.arts-venue) .venue-action-pair > .directory-organise-button:hover {
  background:#F1E3BF;
  border-color:#F1E3BF;
}
:is(.padel-club-card,.arts-venue) .directory-footer .venue-action-pair > a.directory-details-link {
  background:transparent;
  border:1px solid #9BB49F;
  color:#EDF3E8;
}
:is(.padel-club-card,.arts-venue) .directory-footer .venue-action-pair > a.directory-details-link:hover {
  background:#3A5A47;
  border-color:#C4DBCA;
}
html[data-theme="dark"] :is(.padel-club-card,.arts-venue) > .directory-footer {
  border-top-color:#819B86;
}
html[data-theme="dark"] :is(.padel-club-card,.arts-venue) .directory-footer .venue-action-pair > a.directory-details-link {
  background:transparent;
  color:#EDF3E8;
}
@media(max-width:1100px) {
  :is(.padel-clubs-grid,.wellness-grid,.sauna-grid,.arts-grid),
  .padel-clubs .padel-clubs-grid {
    grid-template-columns:repeat(2,minmax(0,310px));
  }
}
@media(max-width:700px) {
  :is(.padel-clubs-grid,.wellness-grid,.sauna-grid,.arts-grid),
  .padel-clubs .padel-clubs-grid {
    grid-template-columns:minmax(0,min(100%,390px));
  }
  :is(.padel-clubs-grid,.wellness-grid,.sauna-grid,.arts-grid) > :is(.padel-club-card,.arts-venue) {
    padding:17px;
  }
  :is(.padel-club-card,.arts-venue) > .directory-footer .venue-action-pair {
    grid-template-columns:minmax(0,1fr);
  }
}

/* The Plus One Club: gold-on-forest editorial headings. */
html[data-theme="dark"] .community-band .community-copy h2,
.community-band .community-copy h2 {
  color:#E9C579 !important;
}
html[data-theme="dark"] .community-band .community-copy > p.section-kicker,
.community-band .community-copy > p.section-kicker {
  color:#E8D5A0;
}

/* Single muted-gold heading colour across the permanent forest theme.
   Include heading-like button labels and dashboard/step titles without
   recolouring body copy, controls, counters or regular navigation labels. */
html[data-theme="dark"] {
  --heading-gold:#D8B968;
  --section-heading-gold:var(--heading-gold);
}
html[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6,.card-heading,.admin-overview-name,.step strong) {
  color:var(--heading-gold) !important;
}
/* Small editorial overlines serve as section headings, too. */
html[data-theme="dark"] :is(.section-kicker,.eyebrow) {
  color:var(--heading-gold) !important;
}
/* Preserve uniform colour against older, higher-specificity overrides. */
html[data-theme="dark"] .community-band .community-copy h2,
html[data-theme="dark"] .arts-intro h2,
html[data-theme="dark"] .arts-page-top .arts-intro h2,
html[data-theme="dark"] :is(.padel-club-card,.sauna-venue,.wellness-venue,.arts-venue,.shared-meetup-card,.member-card,.notice-box) :is(h1,h2,h3,h4,h5,h6) {
  color:var(--heading-gold) !important;
}
