/*
Theme Name: Smile Club Rebuild Staging
Template: ollie
Description: Child theme for the SmileClub.co.za v2 holding-company rebuild. Brand: Smile Club (blue-on-light, Work Sans). Design lives in theme.json + patterns; this file is component polish only — no forced overrides, no per-page CSS.
Author: Smile Club Lab
Version: 0.10.0
*/

:root { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ---- Eyebrow / kicker ---- */
.sc-eyebrow {
  display: flex; width: fit-content; align-items: center; gap: .5rem;
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 600; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--wp--preset--color--primary);
}
/* centered eyebrows: fit-content + auto margins so they truly centre at any viewport width
   (inline-flex broke WordPress's margin-auto centering on wide screens) */
.sc-eyebrow.has-text-align-center { margin-left: auto; margin-right: auto; }
.sc-eyebrow.is-on-dark { color: var(--wp--preset--color--accent); }

/* ---- Cards: soft lift on hover ---- */
.sc-card {
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--wp--custom--radius--md);
  box-shadow: var(--wp--custom--shadow--soft);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  height: 100%;
}
.sc-card:hover { transform: translateY(-6px); box-shadow: var(--wp--custom--shadow--lift); border-color: var(--wp--preset--color--primary-soft); }
.sc-card img { border-radius: var(--wp--custom--radius--sm); }

/* brand-card media frame keeps product photos uniform */
.sc-card-media { overflow: hidden; border-radius: var(--wp--custom--radius--sm); }
/* consistent media box on EVERY card (lead + secondary) — fixed aspect, not fixed height,
   so the same image never crops to a different shape on wide vs narrow cards */
.sc-card-media img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; display: block; transition: transform .4s ease; }
.sc-card:hover .sc-card-media img { transform: scale(1.04); }

/* ---- Buttons: motion ---- */
.wp-block-button__link { transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: var(--wp--custom--shadow--soft); }

/* ---- Section rhythm helpers ---- */
.sc-band { border-radius: var(--wp--custom--radius--lg); }
.sc-hero-media img { border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--custom--shadow--card); }

/* brand logos on the lead offering cards — balanced visual weight
   (1-line wordmark shorter, 2-line logo taller, so footprints match) */
.sc-brand-logo { margin: 0 0 0.8rem; display: flex; align-items: flex-start; min-height: 50px; }
.sc-brand-logo img { width: auto; max-width: 100%; display: block; }
.sc-brand-logo--wide img { height: 26px; }
.sc-brand-logo--stack img { height: 50px; }

/* numbered process steps + stat figures (The Lab and similar pages) */
.sc-step-num { display:inline-flex; align-items:center; justify-content:center; width:2.6rem; height:2.6rem; border-radius:var(--wp--custom--radius--pill); background:var(--wp--preset--color--primary-soft); color:var(--wp--preset--color--primary-dark); font-family:var(--wp--preset--font-family--heading); font-weight:800; font-size:1.1rem; }
.sc-stat-num { font-family:var(--wp--preset--font-family--heading); font-weight:800; font-size:clamp(2rem,4vw,3rem); line-height:1; color:var(--wp--preset--color--primary); }
.sc-stat-num.is-on-dark { color:var(--wp--preset--color--accent); }

/* smile gallery grid: rounded tiles with soft shadow + hover lift */
.sc-gallery.wp-block-gallery img { border-radius: var(--wp--custom--radius--md); box-shadow: var(--wp--custom--shadow--soft); }
.sc-gallery.wp-block-gallery figure.wp-block-image { transition: transform .25s ease; }
.sc-gallery.wp-block-gallery figure.wp-block-image:hover { transform: translateY(-4px); }

/* proof band before/after images: show full, rounded, soft shadow */
.sc-proof img { width: 100%; height: auto; display: block; border-radius: var(--wp--custom--radius--md); box-shadow: var(--wp--custom--shadow--soft); }

/* pill chip used in proof band / trust strip */
.sc-chip {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--wp--preset--color--primary-soft); color: var(--wp--preset--color--primary-dark);
  border-radius: var(--wp--custom--radius--pill); padding: .4rem .9rem; font-weight: 600; font-size: .9rem;
}

/* ---- Header / nav ---- */
.sc-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.86); backdrop-filter: saturate(160%) blur(10px); border-bottom: 1px solid var(--wp--preset--color--border); }
.sc-logo { display: inline-flex; align-items: center; text-decoration: none; line-height: 1; }
.sc-logo img { display: block; height: 34px; width: auto; }
.sc-footer .sc-logo img { height: 42px; }
.sc-social { display: flex; gap: .75rem; margin-top: 1rem; }
.sc-social a { color: rgba(255,255,255,.78); display: inline-flex; transition: color .2s ease; }
.sc-social a:hover { color: #fff; }
.sc-nav { display: flex; gap: 1.6rem; align-items: center; }
.sc-nav a { color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 500; font-size: 1rem; }
.sc-nav a:hover { color: var(--wp--preset--color--primary); }

/* mega menu: grouped columns, never squashed on large screens */
.sc-has-mega { position: relative; }
.sc-mega {
  position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%) translateY(8px);
  min-width: min(680px, 92vw); background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md);
  box-shadow: var(--wp--custom--shadow--lift); padding: 1.4rem; display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 2rem;
  opacity: 0; visibility: hidden; transition: opacity .2s ease, transform .2s ease; z-index: 200;
}
.sc-has-mega:hover .sc-mega, .sc-has-mega:focus-within .sc-mega { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.sc-mega-col h4 { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin: 0 0 .6rem; }
.sc-mega a { display: block; padding: .45rem .5rem; border-radius: 8px; color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 500; }
.sc-mega a:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); }
.sc-mega a small { display: block; color: var(--wp--preset--color--muted); font-weight: 400; font-size: .82rem; }

/* mobile nav */
.sc-nav-toggle { display: none; background: none; border: 0; cursor: pointer; }
@media (max-width: 860px) {
  .sc-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: flex-start; gap: .4rem; background: var(--wp--preset--color--white); border-bottom: 1px solid var(--wp--preset--color--border); padding: 1rem 1.25rem 1.5rem; }
  .sc-nav.is-open { display: flex; }
  .sc-nav-toggle { display: inline-flex; }
  .sc-mega { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; border: 0; padding: .25rem 0 .25rem 1rem; grid-template-columns: 1fr; min-width: 0; }
}

/* equal-height card columns: stack inner blocks vertically so the card fills the row height */
.sc-grid .wp-block-column { display: flex; flex-direction: column; }
.sc-grid .wp-block-column > figure { margin: 0; }
.sc-grid .wp-block-column > .wp-block-group { flex: 1; }

/* footer */
.sc-footer a { color: rgba(255,255,255,.82); text-decoration: none; }
.sc-footer a:hover { color: #fff; }
.sc-footer-credit { color: rgba(255,255,255,.6); font-size: .9rem; }

/* card icon chip (line-icon set) */
.sc-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: var(--wp--custom--radius--md, 14px); background: var(--wp--preset--color--primary-soft); color: var(--wp--preset--color--primary); margin-bottom: .9rem; line-height: 1; }
.sc-card-icon svg { width: 26px; height: 26px; }

/* ============ SCV DESIGN REBASE (goal image: smileclubveneers.com) ============ */
h1,h2,h3,h4,.wp-block-heading { font-family: var(--wp--preset--font-family--heading); font-weight: 800; letter-spacing: -0.02em; color: var(--wp--preset--color--ink); }
body, p, li { font-family: var(--wp--preset--font-family--body); }
p, li { line-height: 1.7; }
/* primary buttons: DARK SLATE, 12px, confident */
.wp-block-button__link, .wp-element-button { background-color: var(--wp--preset--color--primary) !important; color:#fff !important; border-radius: var(--wp--custom--radius--md); font-weight:600; letter-spacing:-0.01em; padding:.8rem 1.4rem; }
.wp-block-button__link:hover { background-color: var(--wp--preset--color--navy) !important; }
.wp-block-button.is-style-outline .wp-block-button__link { background:transparent !important; color: var(--wp--preset--color--ink) !important; border:1px solid var(--wp--preset--color--border); }
/* cards: 12px, subtle slate border + soft shadow; image fills top */
.sc-card { border-radius: var(--wp--custom--radius--md); border:1px solid var(--wp--preset--color--border); box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 10px 30px rgba(15,23,42,.05); overflow:hidden; }
.sc-card:hover { box-shadow: 0 2px 4px rgba(15,23,42,.06), 0 16px 40px rgba(15,23,42,.09); border-color:#CBD5E1; }
/* eyebrow -> SCV pill tag */
.sc-eyebrow { display:inline-flex; align-items:center; gap:.4rem; background:#fff; border:1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--muted); border-radius:999px; padding:.4rem .9rem; font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; font-weight:700; }
.sc-eyebrow.has-text-align-center { margin-left:auto; margin-right:auto; }
.sc-eyebrow.is-on-dark { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.16); color:#CBD5E1; }
/* stat numbers + step pills -> slate */
.sc-stat-num { color: var(--wp--preset--color--ink); }
.sc-step-num { background:#F1F5F9; color: var(--wp--preset--color--ink); }

/* ===== SCV gallery cards + filter pills ===== */
.scv-filter { display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; margin:0 auto 2.5rem; }
.scv-pill { border:1px solid var(--wp--preset--color--border); border-radius:999px; padding:.55rem 1.1rem; font-size:.86rem; font-weight:600; color:var(--wp--preset--color--ink); background:#fff; text-decoration:none; transition:all .15s ease; }
.scv-pill:hover { border-color:#94A3B8; }
.scv-pill.is-active { background:var(--wp--preset--color--primary); color:#fff; border-color:var(--wp--preset--color--primary); }
.scv-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
@media(max-width:1000px){ .scv-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .scv-grid{ grid-template-columns:1fr; } }
.scv-card { background:#fff; border:1px solid var(--wp--preset--color--border); border-radius:12px; overflow:hidden; box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 30px rgba(15,23,42,.05); transition:box-shadow .2s ease,border-color .2s ease; }
.scv-card:hover { box-shadow:0 2px 4px rgba(15,23,42,.06),0 16px 44px rgba(15,23,42,.10); border-color:#CBD5E1; }
.scv-card-img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.scv-card-body { padding:.95rem 1.05rem 1.15rem; }
.scv-card-title { font-family:var(--wp--preset--font-family--heading); font-weight:700; font-size:.95rem; letter-spacing:-.01em; color:var(--wp--preset--color--ink); margin:0; }
.scv-card-check { display:flex; align-items:center; gap:.4rem; color:var(--wp--preset--color--muted); font-size:.82rem; margin-top:.35rem; }
.scv-card-check svg { width:15px; height:15px; color:#00509E; flex:none; }
.scv-galsec { margin-bottom:3rem; }
.scv-galsec h2 { font-size:1.5rem; margin-bottom:1.4rem; }

/* ===== gallery review fixes (Elton) ===== */
.sc-eyebrow.has-text-align-center { display:flex; width:fit-content; margin-left:auto; margin-right:auto; }
.scv-filter { gap:1rem; margin-bottom:3rem; }
.has-navy-background-color .wp-block-button__link, .has-navy-deep-gradient-background .wp-block-button__link, .has-navy-background-color .wp-element-button { background:#FFFFFF !important; color:var(--wp--preset--color--ink) !important; }
.has-navy-background-color .wp-block-button__link:hover, .has-navy-deep-gradient-background .wp-block-button__link:hover { background:#E2E8F0 !important; }
.scv-secta { text-align:center; margin-top:1.8rem; }
.scv-secta a { display:inline-block; border:1px solid var(--wp--preset--color--border); color:var(--wp--preset--color--ink); border-radius:12px; padding:.7rem 1.3rem; font-weight:600; font-size:.92rem; text-decoration:none; transition:all .15s ease; }
.scv-secta a:hover { border-color:#94A3B8; background:#F6F7F8; }

/* ===== gallery lightbox + pill spacing v2 ===== */
.scv-filter { gap:1.5rem !important; }
.scv-card-img { cursor:zoom-in; }
.scv-lightbox { position:fixed; inset:0; background:rgba(2,6,23,.93); display:none; align-items:center; justify-content:center; z-index:9999; padding:2rem; cursor:zoom-out; }
.scv-lightbox.open { display:flex; }
.scv-lightbox img { max-width:92vw; max-height:90vh; border-radius:12px; box-shadow:0 24px 70px rgba(0,0,0,.55); }

/* ===== filter pill spacing v3 ===== */
.scv-filterwrap { text-align:center; padding:.5rem 0 0; }
.scv-filterwrap .scv-eyelabel { font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:#94A3B8; font-weight:600; margin:0 0 1rem; }
.scv-filter { gap:2.5rem !important; margin:0 auto !important; }
.scv-pill { padding:.6rem 1.6rem; font-size:.9rem; }
.scv-galsec { padding-top:.5rem; }

/* === Jun 2026: trust stat strip (wow + mobile roll) === */
.sc-stats-strip{display:flex;align-items:stretch;justify-content:center;gap:0;max-width:1100px;margin:0 auto}
.sc-stats-strip .sc-stat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0.4rem 1.4rem;border-right:1px solid var(--wp--preset--color--border,#E2E8F0)}
.sc-stats-strip .sc-stat:last-child{border-right:none}
.sc-stats-strip .sc-stat-n{font-family:Figtree,sans-serif;font-weight:800;font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1.05;color:var(--wp--preset--color--accent,#00509E);letter-spacing:-0.02em}
.sc-stats-strip .sc-stat-l{font-size:0.82rem;color:#566571;margin-top:0.45rem;line-height:1.3}
@media(max-width:781px){
 .sc-stats-strip{overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:0.5rem}
 .sc-stats-strip .sc-stat{flex:0 0 auto;min-width:42%;scroll-snap-align:start}
}
/* === equal-height cards (longest sets the row) === */
.wp-block-columns.sc-grid{align-items:stretch}
/* equal-height cards: align-self on each item beats WP core's is-layout-flex{align-items:center},
   and forcing a single flex line at desktop fixes WP's flex-wrap:wrap silently breaking the stretch.
   (<=781px WP stacks the columns vertically, so keep wrap there.) */
.wp-block-columns.sc-grid > .wp-block-column.sc-card{display:flex;flex-direction:column;align-self:stretch}
/* GUARANTEED equal-height card rows: switch sc-grid rows to CSS grid at desktop (grid items
   stretch to the row by default; flex align-items:stretch was silently failing under WP's
   flex-wrap:wrap). <=781px stays flex so WP's column stacking is untouched. */
@media(min-width:782px){.wp-block-columns.sc-grid.is-layout-flex{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch}}
.sc-card > .wp-block-group{flex:1 1 auto;display:flex;flex-direction:column}
.sc-card > .wp-block-group > p:last-child:has(a){margin-top:auto;margin-bottom:0;padding-top:0.7rem}
.wp-block-columns.sc-grid > .wp-block-column.sc-card > p:last-child:has(a){margin-top:auto;margin-bottom:0}

/* === Jun 2026 round 2: nav, CTA, quote === */
/* mega menu stays open: bridge the 14px gap so hover does not drop */
.sc-mega::before{content:"";position:absolute;top:-16px;left:0;right:0;height:18px}
.sc-mega-trigger{cursor:default;user-select:none}
/* CTA "Become a provider" must beat the global primary !important so it does not blend into the blue band */
.sc-btn-navy .wp-block-button__link{background-color:transparent !important;color:#fff !important;border:2px solid rgba(255,255,255,.7);box-shadow:none}
.sc-btn-navy .wp-block-button__link:hover{background-color:rgba(255,255,255,.12) !important}
/* Operation Smile quote: breathing room off the blue rule */
.wp-block-quote.sc-quote{padding-left:1.6rem}
/* primary CTA on dark band -> solid white, beats the global primary !important */
.sc-btn-white .wp-block-button__link{background-color:#fff !important;color:var(--wp--preset--color--ink) !important;border:none}
.sc-btn-white .wp-block-button__link:hover{background-color:#eaf2fb !important}

/* === Operation Smile partnership block === */
.sc-ops-banner img{width:100%;border-radius:var(--wp--custom--radius--lg,16px);box-shadow:var(--wp--custom--shadow--soft);display:block;margin-top:1.6rem}
.sc-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--wp--custom--radius--lg,16px);overflow:hidden;box-shadow:var(--wp--custom--shadow--card)}
.sc-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sc-ops-logo{height:40px;width:auto;display:block;margin-bottom:1.1rem}
.sc-ops-quote{font-size:1.3rem;line-height:1.55;color:var(--wp--preset--color--ink);font-style:italic;font-weight:500;margin:0}
.sc-ops-cite{color:#566571;font-size:.9rem;margin-top:.9rem;font-weight:600}
@media(max-width:781px){.sc-ops-logo{margin-top:1.4rem}}

/* === Jun 2026 round 3 (shared, post-fanout): video placeholder + single-post mobile padding === */
.sc-video{background:#0b1220}
/* single posts render via the Ollie parent template; keep body, lists and comments within page padding on mobile */
.wp-block-post-content :is(ul,ol){padding-left:1.4rem}
@media (max-width:781px){
  .wp-block-post-content,
  .wp-block-comments,
  .comment-respond,
  .wp-block-post-comments-form,
  .wp-block-post-comments{padding-left:1.25rem;padding-right:1.25rem}
  .wp-block-post-content :is(ul,ol){padding-left:1.7rem}
  .wp-block-comments{margin-top:2.25rem}
}

/* === Jun 2026 go-live: embedded provider locator (activealigners.com source) === */
/* tall + high on the page so the map is in view without scrolling down to find it */
.sc-locator{width:100%;height:662px;border-radius:var(--wp--custom--radius--lg,16px);overflow:hidden;box-shadow:0 2px 4px rgba(15,23,42,.06),0 18px 50px rgba(15,23,42,.10);background:#fff;border:1px solid var(--wp--preset--color--border,#E2E8F0)}
/* CROP the framed activealigners.com/providers/ page down to just the wpsl locator widget,
   so there is NO whole-page iframe scroll. Offsets measured per width (header height above
   the locator drifts; layout stacks below 640). The results list keeps its own normal scroll. */
.sc-locator iframe{display:block;width:100%;height:2100px;margin-top:-598px;border:0}
.sc-locator-fallback{text-align:center;margin:1rem 0 0;font-size:.9rem}
.sc-locator-fallback a{color:var(--wp--preset--color--primary);font-weight:600;text-decoration:none}
.sc-locator-fallback a:hover{text-decoration:underline}
@media(max-width:1180px){.sc-locator{height:700px}.sc-locator iframe{margin-top:-560px}}
@media(max-width:1024px){.sc-locator{height:720px}.sc-locator iframe{margin-top:-480px}}
@media(max-width:640px){.sc-locator{height:1390px}.sc-locator iframe{height:3600px;margin-top:-450px}}

/* === Jun 2026 go-live: Instagram "Follow" button (brand landing page heroes) === */
.sc-ig-follow{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:600;font-size:.95rem;color:#fff !important;padding:.6rem 1.15rem;border-radius:999px;background:linear-gradient(95deg,#515BD4 0%,#8134AF 28%,#DD2A7B 60%,#F58529 100%);box-shadow:0 6px 18px rgba(221,42,123,.28);transition:transform .2s ease,box-shadow .2s ease}
.sc-ig-follow:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(221,42,123,.36)}
.sc-ig-follow svg{width:18px;height:18px;flex:none}
.sc-ig-follow small{font-weight:500;opacity:.92}

/* outline buttons on dark/navy/brand-gradient sections: white text + white border
   (default is-style-outline uses ink text -> was invisible on navy CTAs) */
.has-navy-deep-gradient-background .wp-block-button.is-style-outline .wp-block-button__link,
.has-brand-gradient-background .wp-block-button.is-style-outline .wp-block-button__link,
.has-navy-background-color .wp-block-button.is-style-outline .wp-block-button__link{background:transparent !important;color:#fff !important;border:1px solid rgba(255,255,255,.7) !important}
.has-navy-deep-gradient-background .wp-block-button.is-style-outline .wp-block-button__link:hover,
.has-brand-gradient-background .wp-block-button.is-style-outline .wp-block-button__link:hover,
.has-navy-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.12) !important}

/* === Jun 2026 go-live: community / social-proof strip (home) + footer family icons === */
.sc-community{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem;margin-top:2rem}
.sc-comm-brand{flex:1 1 210px;max-width:250px;background:var(--wp--preset--color--white,#fff);border:1px solid var(--wp--preset--color--border,#E2E8F0);border-radius:var(--wp--custom--radius--md,14px);padding:1.3rem 1.1rem 1.4rem;text-align:center;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.sc-comm-brand:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(15,23,42,.05),0 16px 40px rgba(15,23,42,.09);border-color:var(--wp--preset--color--primary-soft,#cfe6f8)}
.sc-comm-name{font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--wp--preset--color--ink,#13242F);margin:0}
.sc-comm-handle{font-size:.84rem;color:var(--wp--preset--color--muted,#566571);margin:.2rem 0 1rem}
.sc-comm-icons{display:flex;justify-content:center;gap:.55rem}
.sc-comm-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--wp--preset--color--border,#E2E8F0);color:var(--wp--preset--color--ink,#13242F);background:#fff;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.sc-comm-ico svg{width:20px;height:20px}
.sc-comm-ico:hover{transform:translateY(-2px);color:#fff;border-color:transparent}
.sc-ico-fb:hover{background:#1877F2}
.sc-ico-ig:hover{background:linear-gradient(95deg,#515BD4 0%,#8134AF 30%,#DD2A7B 62%,#F58529 100%)}
.sc-ico-yt:hover{background:#FF0000}
.sc-ico-tt:hover{background:#111}
/* footer: single "Follow the family" link -> jumps to the home community strip (#community) */
.sc-follow-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:1rem;text-decoration:none;color:rgba(255,255,255,.85);font-weight:600;font-size:.92rem;transition:color .18s ease}
.sc-follow-link:hover{color:#fff}
.sc-follow-glyphs{display:inline-flex;gap:.35rem;color:rgba(255,255,255,.55);transition:color .18s ease}
.sc-follow-glyphs svg{width:16px;height:16px}
.sc-follow-link:hover .sc-follow-glyphs{color:var(--wp--preset--color--accent,#21C3C9)}
.sc-follow-text{white-space:nowrap}
