
/* ShopTownly community sections and compact directory grids */
.st-community-resources { padding: 56px 0; }
.st-community-block { margin-top: 34px; }
.st-community-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; }
.st-community-heading h3 { margin:5px 0 0; font-size:clamp(1.35rem,2vw,1.85rem); }
.st-community-heading a { color:#167c86; font-weight:700; text-decoration:none; white-space:nowrap; }
.st-community-kicker { color:#167c86; font-size:.75rem; font-weight:800; letter-spacing:.12em; }
.st-community-intro { margin:0 0 18px; color:#5b6570; }
.st-school-levels,.st-worship-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.st-school-level,.st-worship-tile { position:relative; display:flex; flex-direction:column; gap:10px; min-height:160px; padding:22px; border:1px solid #e1e7e9; border-radius:14px; background:#fff; color:#1d3038; text-decoration:none; box-shadow:0 4px 14px rgba(0,0,0,.035); }
.st-school-level:hover,.st-worship-tile:hover { border-color:#29aab4; transform:translateY(-2px); }
.st-school-level-icon { font-size:1.65rem; }
.st-school-level strong,.st-worship-tile strong { font-size:1rem; line-height:1.35; }
.st-school-level small,.st-worship-tile small { color:#68747a; }
.st-community-arrow { margin-top:auto; color:#167c86; font-weight:700; font-size:.85rem; }
.st-worship-symbol { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#e9f8f9; color:#117984; font-size:1.8rem; }
.st-community-coming-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.st-community-coming-card { padding:26px; border-radius:15px; background:#f1f5f6; border:1px solid #e1e7e9; }
.st-community-coming-icon { font-size:2rem; }
.st-community-coming-card h4 { margin:12px 0 8px; font-size:1.25rem; }
.st-community-coming-card p { margin:0 0 16px; color:#58666b; }
.st-coming-soon { display:inline-block; border-radius:20px; padding:6px 12px; background:#e0e7e9; color:#44545b; font-size:.75rem; font-weight:800; }
.st-community-directory-page { padding:38px 0 76px; min-height:60vh; }
.st-community-breadcrumb { display:flex; gap:10px; margin-bottom:30px; color:#68747a; font-size:.9rem; }
.st-community-breadcrumb a { color:#167c86; }
.st-community-directory-header h1 { margin:8px 0; font-size:clamp(2rem,4vw,3rem); }
.st-community-directory-header p { color:#65717a; margin:0 0 26px; }
.st-school-filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:22px; }
.st-school-filters a { border:1px solid #d5e0e2; border-radius:22px; padding:9px 15px; text-decoration:none; color:#26383f; background:#fff; font-size:.88rem; }
.st-school-filters a.is-active { background:#126f79; color:white; border-color:#126f79; }
.st-community-search { max-width:440px; margin-bottom:20px; }
.st-community-search label { display:block; margin-bottom:8px; font-weight:700; font-size:.9rem; }
.st-community-search input { width:100%; padding:12px 14px; border:1px solid #cbd7da; border-radius:10px; font:inherit; }
.st-community-result-count { color:#67747b; font-size:.88rem; margin:0 0 16px; }
.st-community-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.st-community-listing { border:1px solid #e0e7e9; border-radius:12px; padding:18px; background:#fff; min-width:0; }
.st-community-listing[hidden] { display:none; }
.st-community-listing-top { display:flex; align-items:start; gap:12px; }
.st-community-listing-icon { font-size:1.5rem; }
.st-community-listing h2 { font-size:1rem; line-height:1.4; margin:0 0 5px; }
.st-community-listing-top small { color:#69767b; }
.st-community-listing-address { font-size:.86rem; color:#69767b; margin:14px 0; }
.st-community-listing-details { border-top:1px solid #e6eced; padding-top:12px; }
.st-community-listing-details summary { cursor:pointer; color:#137c86; font-weight:700; font-size:.87rem; }
.st-community-listing-details summary span { float:right; }
.st-community-listing-extra { padding:12px 0 0; font-size:.88rem; }
.st-community-listing-extra p { line-height:1.55; }
.st-community-listing-extra a { color:#137c86; font-weight:700; }
.st-community-empty { padding:20px; background:#f2f5f6; border-radius:10px; }
@media (max-width:950px) {
  .st-school-levels,.st-worship-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .st-community-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .st-community-heading { align-items:start; flex-direction:column; }
  .st-school-levels,.st-worship-preview,.st-community-coming-grid,.st-community-directory-grid { grid-template-columns:1fr; }
  .st-school-level,.st-worship-tile { min-height:125px; }
  .st-community-resources { padding:36px 0; }
}

.st-community-detail-link { display:inline-block; border-top:1px solid #e6eced; padding-top:12px; color:#137c86; font-weight:700; text-decoration:none; }
/* Keep the community section white */
.st-community-resources {
    background: #ffffff;
}

/* Schools - soft teal */
.st-community-resources .st-school-level {
    background: #e4f1f2;
    border: 1px solid #c7e0e3;
}

/* Places of Worship - warm sand */
.st-community-resources .st-worship-tile {
    background: #f5eadf;
    border: 1px solid #e8d7c5;
}

/* Parks - sage green */
.st-community-resources .st-community-coming-card:first-child {
    background: #eaf0e5;
    border: 1px solid #d4e1cc;
}

/* Government - muted blue */
.st-community-resources .st-community-coming-card:last-child {
    background: #e9ecf5;
    border: 1px solid #d3daeb;
}

/* Give cards a little more depth */
.st-community-resources .st-school-level,
.st-community-resources .st-worship-tile,
.st-community-resources .st-community-coming-card {
    box-shadow: 0 3px 12px rgba(18, 49, 73, 0.05);
}

/* Subtle hover effect for clickable cards */
.st-community-resources .st-school-level:hover,
.st-community-resources .st-worship-tile:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(18, 49, 73, 0.10);
}
/* Directory cards: worship pages use warm sand by default. */
.st-community-directory-page .st-community-listing {
    background: #f5eadf;
    border-color: #e8d7c5;
    box-shadow: 0 3px 12px rgba(18, 49, 73, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* School directory includes the school-level filter navigation. */
.st-community-directory-page:has(.st-school-filters) .st-community-listing {
    background: #e4f1f2;
    border-color: #c7e0e3;
}

.st-community-directory-page .st-community-listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(18, 49, 73, 0.10);
}
