
:root {
  --color-primary: #637553;
  --color-accent: #372a23;
  --color-highlight: #bbc9ae;
  --color-page: #f7f7f0;
  --color-surface: #f7f7f0;
  --color-text: #372a23;
  --color-border: #372a23;
  --plate-alpha: 1.00;
  
  --color-primary-rgb: 99, 117, 83;
  --color-primary-hover: #546346;
  --color-accent-hover: #2e231d;
  --color-on-dark: #ffffff;        
  --color-on-accent: #ffffff;    
  --color-on-highlight: var(--color-text);
  --color-accent-text: var(--color-accent);
  --color-control-border: #637553;  
  
  --color-primary-dark: #637553;
  --color-premium: #637553;
  --color-premium-dark: #637553;
  --color-secondary: #372a23;
  --color-gold: #bbc9ae;
  --color-gold-light: #bbc9ae;
  --color-bg-page: #f7f7f0;
  --color-success: #637553;
}
body { color: var(--color-text); background: var(--color-page); }



.demo-banner { background: var(--color-primary) !important; color: var(--color-on-dark) !important; font-size: var(--text-sm); line-height: 1.5; }
.demo-banner strong { color: var(--color-on-dark) !important; }
.demo-banner code { background: rgba(255,255,255,.15); color: var(--color-on-dark); padding: 0 4px; border-radius: 4px; font-family: inherit; font-weight: 700; }

input:not([type=checkbox]):not([type=radio]), select, textarea,
.hh-edit-btn, .admin-btn, .hh-pg-btn, .rsvp-pill, .cp-search, .lk-search, .pl-search { border-color: var(--color-control-border) !important; }

.demo-note { max-width: var(--container-max); margin: var(--space-md) auto; padding: var(--space-md) var(--space-xl); background: var(--color-surface); border: 2px solid var(--color-border); border-radius: 12px; }
.demo-note h4 { margin: 0 0 4px; color: var(--color-primary); font-size: var(--text-lg); }
.demo-map-placeholder { width: 100%; box-sizing: border-box; min-height: 300px; height: 100%; display: flex; align-items: center; justify-content: center; background: var(--color-surface); color: var(--color-text); font-weight: 600; border-radius: 8px; }

html body[data-demo-tier] .portal-welcome #portal-admin-link, html body[data-demo-tier] .portal-welcome #portal-admin-link[style] { display: inline-flex !important; }
body[data-demo-tier] #portal-admin-link, body[data-demo-tier] .button--admin { color: var(--color-on-highlight) !important; }

.demo-banner code { background: transparent; color: inherit; text-decoration: underline; text-underline-offset: 3px; padding: 0; }
.rights-role-btn--owner[aria-pressed="true"], .rights-role-btn--board[aria-pressed="true"] { color: var(--color-on-accent) !important; }
.rights-role-btn--board[aria-pressed="true"] { color: var(--color-on-dark) !important; }
.outro__button { color: var(--color-on-highlight) !important; }
p a, li a, .board-member__role, .cta-centered a, [class*="status-pending"] { color: var(--color-accent-text) !important; }
.contact-records-card__address { color: var(--color-on-highlight) !important; }
.auth-panel__submit, .auth-panel__submit.button { color: var(--color-on-accent) !important; }


@media (min-width: 769px) { .main__title-wrap { background-color: rgba(0, 0, 0, 0.62) !important; } .main__title { text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); } }
@media (max-width: 480px) { .demo-banner { font-size: 12px !important; line-height: 1.35 !important; padding: 6px 10px !important; } }

@media (max-width: 768px) {
  .header__top-row { gap: 8px; }
  .header__logo { flex: 0 1 auto !important; min-width: 0; }
  .header__logo img { height: auto !important; width: 100%; max-width: 411px; max-height: 6rem; }
}
@media (max-width: 480px) {
  .header__actions > .button { display: none !important; }
  .header__menu-portal-link { display: list-item !important; }
}

html, body { background: #ffffff !important; }
body::before { background: #ffffff !important; }

.demo-news-box .demo-news-item { padding: var(--space-sm) 0; border-bottom: 1px solid var(--color-border); }
.demo-news-box .demo-news-item:last-child { border-bottom: 0; }
.demo-news-item__title { margin: 0; font-size: var(--text-md); color: var(--color-primary); }
.demo-news-item__date { margin: 2px 0 4px; font-size: var(--text-sm); color: var(--color-text); }
.demo-news-item__text { margin: 0; color: var(--color-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.demo-news-item.is-open .demo-news-item__text { display: block; -webkit-line-clamp: unset; overflow: visible; }
.demo-news-item__more { margin-top: 4px; background: none; border: 0; padding: 0; min-height: 32px; font: inherit; font-weight: 600; color: var(--color-accent-text); text-decoration: underline; cursor: pointer; }
body:has(.admin-bucket:not([hidden])) .demo-news--portal { display: none; }

.demo-sos__title { margin: 0 0 4px; font-size: var(--text-md); color: var(--color-text); }
.demo-sos p { margin: 0; color: var(--color-text); }

.demo-map-caption { margin: var(--space-xs) 0 0; font-size: var(--text-sm); color: var(--color-text); text-align: center; }

.map-wrap, .contact-two-col .map-wrap { flex-direction: column !important; align-items: stretch !important; }
.map-wrap iframe, .contact-two-col .map-wrap iframe { width: 100% !important; flex: 1 1 auto; min-height: 300px; }
.map-wrap .demo-map-caption { flex: 0 0 auto; }
.map-wrap .demo-map-img { display: block; width: 100%; height: auto; border-radius: 8px; }
.demo-map-credit { margin: 2px 0 0; font-size: var(--text-xs); color: var(--color-text); text-align: center; }
@media (min-width: 1024px) {
  
  .contact-two-col .map-wrap .demo-map-img { flex: 1 1 auto; min-height: 300px; height: 100%; object-fit: cover; object-position: 50% 45%; }
}
