/* Church and Community tabs • 2026.11.02.15 */
.cc-section{margin-top:40px}
.church-page .page-head+.cc-section,.community-page .page-head+.cc-section,.cc-socials+.cc-section{margin-top:0}

/* Small social links at the top of the Church tab. */
.cc-socials{display:flex;gap:10px;margin:-8px 0 30px}
.cc-social{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;transition:transform .2s var(--ease)}
.cc-social:active{transform:scale(.94)}
.cc-social span{width:19px;height:19px;background:currentColor;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}
.cc-social.is-instagram{background:linear-gradient(150deg,#4f5bd5 0%,#962fbf 32%,#d62976 62%,#fa7e1e 90%,#feda75 118%)}
.cc-social.is-facebook-f{background:#0866ff}
.cc-social.is-spotify{background:#1db954;color:#101a14}
.cc-social.is-shopify{background:#1c2628;color:#fffcf2}
:root[data-theme=dark] .cc-social.is-shopify{background:#fffcf2;color:#1c2628}

/* Next steps and serve teams: tiles with an icon. */
.cc-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cc-step{position:relative;display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);text-align:left;transition:transform .2s var(--ease)}
.cc-step:active,.cc-team:active{transform:scale(.98)}
.cc-step .cc-copy{padding:0}
.cc-step .cc-copy strong{font-size:16px}
.cc-step .cc-copy small{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.cc-step-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--soft);color:var(--ink)}
.cc-step-icon .icon{width:19px;height:19px}
.cc-step-out{position:absolute;top:14px;right:14px;color:var(--muted)}
.cc-step-out .icon{width:14px;height:14px}
.cc-ghost .cc-step-icon{animation:cc-pulse 1.4s ease-in-out infinite}
.cc-teams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cc-team{display:grid;justify-items:start;align-content:start;gap:10px;min-width:0;padding:14px 12px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);text-align:left;font-size:14.5px;line-height:1.25;transition:transform .2s var(--ease)}
.cc-team strong{font-weight:750}
.cc-team-mark{display:grid;place-items:center;width:52px;height:52px;margin:-4px 0 14px;border-radius:15px;background:var(--soft)}
.cc-team-mark .icon{width:24px;height:24px}
.cc-note{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.5}
.cc-signups{margin-top:0}

/* The connect card. */
.cc-connect{display:grid;gap:18px;margin-top:40px;padding:26px 24px;border-radius:22px;background:#616526;color:#fffcf2}
.cc-connect .eyebrow{color:#fffcf2;opacity:.8}
.cc-connect h2{font-size:32px;line-height:1.05;letter-spacing:-.8px}
.cc-connect p{margin-top:10px;color:#fffcf2;opacity:.85;font-size:15.5px;line-height:1.5}
.cc-connect .btn{justify-self:start;min-height:50px;padding:0 22px;border-radius:999px;background:#fffcf2;color:#1c2628;font-size:15px}
.community-page .cc-connect+.prayer-head{margin-top:40px}
.cc-home{margin-top:34px}
button.public-gateway{width:100%;text-align:left}
.cc-section .section-title,.cc-home .section-title{margin-bottom:14px}
.cc-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.cc-filter .pill{min-height:40px;padding:0 15px;color:var(--ink);font-size:14px;font-weight:650}
.cc-filter .pill.active{color:var(--paper)}
.cc-days{margin-top:-6px}
.cc-days .pill{min-width:58px}

/* Featured events swipe across on phones and sit in a grid on wider screens. */
.cc-rail{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:12px;margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
.cc-rail::-webkit-scrollbar{display:none}
.cc-feature,.cc-type{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);text-align:left;transition:transform .2s var(--ease)}
.cc-feature{scroll-snap-align:start}
.cc-feature:active,.cc-type:active{transform:scale(.98)}
.cc-art,.cc-thumb,.cc-hero{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--soft)}
.cc-art img,.cc-thumb img,.cc-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc-copy{display:grid;align-content:start;gap:3px;min-width:0;padding:12px 14px 14px}
.cc-copy strong{display:-webkit-box;overflow:hidden;font-size:17px;font-weight:750;line-height:1.25;letter-spacing:-.2px;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cc-copy small{color:var(--muted);font-size:13.5px;line-height:1.35}
.cc-copy em{justify-self:start;margin-top:4px;padding:2px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-style:normal;font-weight:700}

/* Everything else is a list with a small picture. */
.cc-rows{display:grid;grid-template-columns:minmax(0,1fr);margin-top:14px;border-top:1px solid var(--line)}
.cc-row{display:grid;grid-template-columns:112px minmax(0,1fr) 16px;align-items:center;gap:14px;width:100%;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left}
.cc-row .cc-copy{padding:0}
.cc-row .cc-copy strong{font-size:16px}
.cc-row>.icon{width:16px;height:16px;color:var(--muted)}
.cc-row.is-closed .cc-thumb{opacity:.55}
.cc-thumb{border-radius:10px}
.cc-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--ink);font-size:14px;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.cc-more .icon{width:15px;height:15px}
.cc-empty{padding:12px 0;color:var(--muted);font-size:15px}
.cc-fallback{display:grid;justify-items:start;gap:12px;padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:15px}
.cc-fallback .btn{min-height:44px;padding:0 18px;border-radius:999px;color:var(--ink);font-size:14px}

/* Group types: a little mosaic of the groups inside. */
.cc-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cc-mosaic{display:grid;aspect-ratio:4/3;gap:2px;overflow:hidden;background:var(--line)}
.cc-mosaic img{width:100%;height:100%;min-height:0;object-fit:cover}
.cc-mosaic.n2{grid-template-columns:1fr 1fr}
.cc-mosaic.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.cc-mosaic.n3 img:first-child{grid-row:span 2}
.cc-mosaic.n0{place-items:center;background:var(--soft);color:var(--muted)}
.cc-mosaic.n0 .icon{width:34px;height:34px}
.cc-type.quiet{background:transparent}

/* Pull-ups. */
.cc-sheet .sheet-header h2{font-size:28px}
.cc-hero{margin:0 0 18px;border-radius:16px}
.cc-hero:empty{display:none}
.cc-back{display:inline-flex;align-items:center;gap:4px;min-height:30px;margin:-6px 0 -4px -4px;padding:0 6px 0 2px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}
.cc-back .icon{width:14px;height:14px}
.cc-when{display:flex;align-items:flex-start;gap:9px;font-size:16px;font-weight:650;line-height:1.4}
.cc-when .icon{width:19px;height:19px;margin-top:1px}
.cc-status{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:14.5px;font-weight:650}
.cc-status .icon{width:16px;height:16px}
.cc-actions{margin-top:18px}
.cc-actions .btn{min-height:48px;padding:0 20px;border-radius:999px;font-size:15px}
.cc-h{margin:26px 0 10px;color:var(--muted);font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.cc-dates{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.cc-dates li{display:grid;gap:9px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.cc-dates li:has(small){gap:2px}
.cc-dates strong{font-size:15.5px;font-weight:700}
.cc-dates small{color:var(--muted);font-size:13.5px}
.cc-cal{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted)}
.cc-cal>.icon{width:16px;height:16px;margin-right:2px}
.cc-cal .pill,.cc-place .pill{min-height:34px;padding:0 12px;color:var(--ink);font-size:13px;font-weight:650}
.cc-place{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:14px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.cc-place>.icon{width:19px;height:19px;color:var(--muted)}
.cc-place strong{display:block;font-size:15px}
.cc-place small{display:block;color:var(--muted);font-size:13.5px;line-height:1.4}
.cc-options{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.cc-options li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.cc-options b{font-weight:750}
.cc-options small{grid-column:1/-1;color:var(--muted);font-size:13px}
.cc-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 0}
.cc-facts div{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.cc-facts dt{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.cc-facts dd{margin:3px 0 0;font-size:15px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.cc-rich{color:var(--ink);font-size:15.5px;line-height:1.65;overflow-wrap:anywhere}
.cc-rich p+p,.cc-rich p+ul,.cc-rich ul+p{margin-top:12px}
.cc-rich ul,.cc-rich ol{margin:10px 0;padding-left:22px}
.cc-rich a{text-decoration:underline;text-underline-offset:3px}
.cc-about{margin:-8px 0 22px;color:var(--muted);font-size:15px}
.cc-about.clamped{max-height:9.6em;margin-bottom:6px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 50%,transparent);mask-image:linear-gradient(#000 50%,transparent)}
.cc-read{margin:0 0 22px;padding:0}
.cc-wait{min-height:110px}

/* Placeholders while the lists load. */
.cc-ghost{pointer-events:none}
.cc-ghost .cc-art,.cc-ghost .cc-thumb,.cc-ghost .cc-mosaic,.cc-ghost i{background:var(--soft);animation:cc-pulse 1.4s ease-in-out infinite}
.cc-ghost .cc-copy i{display:block;width:50%;height:12px;border-radius:6px}
.cc-ghost .cc-copy i:first-child{width:80%;height:15px}
@keyframes cc-pulse{50%{opacity:.5}}

@media(min-width:700px){
  .cc-rail{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;overflow:visible}
  .cc-home .cc-feature:nth-child(n+4){display:none}
  .cc-types{grid-template-columns:repeat(4,minmax(0,1fr))}
  .church-page .cc-rows,.community-page .cc-rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .cc-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cc-teams{grid-template-columns:repeat(5,minmax(0,1fr))}
  .cc-connect{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:34px 36px}
}
@media(prefers-reduced-motion:reduce){.cc-ghost *{animation:none}.cc-feature,.cc-type{transition:none}}
