/* SF24 Social Media Services hub — Aurora Bento Light */
:root {
  --sms-bg: #f3f1ec; --sms-sf: #ffffff;
  --sms-bd: rgba(80,40,140,.10); --sms-bd-strong: rgba(80,40,140,.18);
  --sms-ac: #7c3aed; --sms-ac2: #8b5cf6;
  --sms-gold: #EDC432; --sms-orange: #f58529; --sms-pink: #DD2A7B;
  --sms-tx: #1a1033; --sms-ts: #6b6589; --sms-tm: #9f9bb5;
  --sms-r: 16px; --sms-rl: 22px;
  --sms-sh: 0 1px 3px rgba(80,40,140,.06), 0 8px 28px rgba(80,40,140,.06);
  --sms-sh-lift: 0 4px 14px rgba(80,40,140,.08), 0 18px 44px rgba(80,40,140,.10);
  --sms-fh: 'Rubik','Inter',-apple-system,sans-serif;
  --sms-fb: 'Nunito','Inter',system-ui,sans-serif;
}

.sf24-sms { width:100%; max-width:1200px; margin:0 auto; padding:16px clamp(16px,3vw,56px) 80px; font-family:var(--sms-fb); color:var(--sms-tx); box-sizing:border-box; }
.sf24-sms * { box-sizing:border-box; }

/* HERO */
.sf24-sms-hero { text-align:center; padding:48px 24px 44px; margin-bottom:32px; background: radial-gradient(circle at 20% 0%, rgba(124,58,237,.08), transparent 55%), radial-gradient(circle at 80% 0%, rgba(245,133,41,.06), transparent 55%); border-radius:28px; }
.sf24-sms-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 11px; background:rgba(255,255,255,.9); border:1px solid var(--sms-bd-strong); border-radius:999px; backdrop-filter:blur(10px); font-size:12.5px; font-weight:700; color:var(--sms-tx); margin-bottom:24px; box-shadow:0 6px 18px -8px rgba(124,58,237,.18); }
.sf24-sms-pulse { width:7px; height:7px; border-radius:50%; background:#10b981; animation:sf24-sms-pulse 1.6s ease-in-out infinite; flex-shrink:0; }
@keyframes sf24-sms-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(16,185,129,.65); } 50% { box-shadow:0 0 0 7px rgba(16,185,129,0); } }
.sf24-sms-h1 { font-family:var(--sms-fh); font-size:clamp(38px,7vw,80px); font-weight:900; line-height:0.95; margin:0 0 20px; letter-spacing:-0.028em; }
.sf24-sms-h1 em { font-style:italic; background:linear-gradient(135deg,var(--sms-pink) 0%, var(--sms-orange) 50%, var(--sms-gold) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-weight:800; }
.sf24-sms-sub { max-width:680px; margin:0 auto 28px; font-size:clamp(15px,1.6vw,17px); line-height:1.55; color:var(--sms-ts); font-weight:500; }
.sf24-sms-sub strong { color:var(--sms-tx); font-weight:700; }
.sf24-sms-hero-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:720px; margin:0 auto; padding-top:24px; border-top:1px solid var(--sms-bd); }
.sf24-sms-hero-stats div { display:flex; flex-direction:column; gap:4px; align-items:center; }
.sf24-sms-hero-stats strong { font-family:var(--sms-fh); font-size:clamp(20px,2.6vw,28px); font-weight:800; color:var(--sms-tx); letter-spacing:-0.018em; font-variant-numeric:tabular-nums; }
.sf24-sms-hero-stats span { font-size:11px; color:var(--sms-tm); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
@media (max-width:600px) { .sf24-sms-hero-stats { grid-template-columns:repeat(2,1fr); gap:24px 16px; } }

/* COMMON */
.sf24-sms-h2 { font-family:var(--sms-fh); font-size:clamp(26px,3.6vw,40px); font-weight:800; margin:0 0 14px; letter-spacing:-0.022em; line-height:1.1; }
.sf24-sms-eyebrow-sm { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--sms-ac); background:rgba(124,58,237,.08); padding:5px 11px; border-radius:999px; margin-bottom:12px; }
.sf24-sms-sub-sm { font-size:14.5px; color:var(--sms-ts); line-height:1.55; font-weight:500; max-width:640px; margin:0 0 24px; }

/* TRUST STRIP (replaces hero stats) */
.sf24-sms-trust-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; max-width:1080px; margin:0 auto; padding-top:28px; border-top:1px solid var(--sms-bd); }
.sf24-sms-trust-item { display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px 10px; }
.sf24-sms-trust-ico { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background:rgba(124,58,237,.08); color:var(--sms-ac); margin-bottom:2px; }
.sf24-sms-trust-item strong { font-family:var(--sms-fh); font-size:13px; font-weight:800; color:var(--sms-tx); letter-spacing:-0.005em; }
.sf24-sms-trust-item span { font-size:11.5px; color:var(--sms-tm); font-weight:600; line-height:1.4; text-align:center; }
@media (max-width:880px) { .sf24-sms-trust-strip { grid-template-columns:repeat(2,1fr); gap:8px; } }
@media (max-width:480px) { .sf24-sms-trust-strip { grid-template-columns:1fr 1fr; } }

/* === TAB NAVIGATION — floating brand chips === */
.sf24-sms-tabs {
  display: flex;
  gap: 14px;
  margin: 0 auto 32px;
  padding: 8px 4px;
  max-width: 880px;
  overflow-x: auto;
  scrollbar-width: none;
  justify-content: center;
}
.sf24-sms-tabs::-webkit-scrollbar { display: none; }

.sf24-sms-tab,
button.sf24-sms-tab {
  position: relative;
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 18px 22px 14px !important;
  min-width: 130px;
  border: 1.5px solid var(--sms-bd) !important;
  border-radius: 18px !important;
  background: var(--sms-sf) !important;
  background-color: var(--sms-sf) !important;
  background-image: none !important;
  font-family: var(--sms-fh) !important;
  color: var(--sms-tx) !important;
  cursor: pointer;
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s, border-color .2s;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none; appearance: none;
  outline: none !important;
  box-shadow: 0 1px 3px rgba(80,40,140,.04);
  isolation: isolate;
  flex-shrink: 0;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0;
}
.sf24-sms-tab:focus,
.sf24-sms-tab:focus-visible,
button.sf24-sms-tab:focus,
button.sf24-sms-tab:focus-visible {
  background: var(--sms-sf) !important;
  background-color: var(--sms-sf) !important;
  background-image: none !important;
  outline: none !important;
}

.sf24-sms-tab::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  transition: opacity .25s;
  z-index: -1;
}

.sf24-sms-tab:hover,
button.sf24-sms-tab:hover {
  background: var(--sms-sf) !important;
  background-color: var(--sms-sf) !important;
  background-image: none !important;
  color: var(--sms-tx) !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px -8px rgba(80,40,140,.18);
}
.sf24-sms-tab:active,
button.sf24-sms-tab:active {
  background: var(--sms-sf) !important;
  background-color: var(--sms-sf) !important;
  background-image: none !important;
}

/* Top: large brand logo */
.sf24-sms-tab-logo {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  flex-shrink: 0;
  transition: transform .25s, background .2s, color .15s;
}
.sf24-sms-tab-logo svg { width: 24px; height: 24px; }

/* Default brand-tinted logos (inactive but on-brand) */
.sf24-sms-tab--ig .sf24-sms-tab-logo {
  background: linear-gradient(135deg, rgba(245,133,41,.14), rgba(221,42,123,.14) 50%, rgba(129,52,175,.14));
  color: #dd2a7b;
}
.sf24-sms-tab--tt .sf24-sms-tab-logo { background: rgba(14,14,14,.06); color: #0e0e0e; }
.sf24-sms-tab--yt .sf24-sms-tab-logo { background: rgba(255,0,0,.08); color: #cc0000; }
.sf24-sms-tab--gg .sf24-sms-tab-logo {
  background: linear-gradient(135deg, rgba(66,133,244,.12), rgba(234,67,53,.12) 50%, rgba(251,188,5,.12));
  color: #4285f4;
}

/* Mid: label */
.sf24-sms-tab-label {
  font-size: 14.5px;
  font-weight: 800;
  color: var(--sms-tx);
  letter-spacing: -0.01em;
  line-height: 1;
}

/* Bottom: count chip */
.sf24-sms-tab-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 18px;
  padding: 0 8px;
  background: var(--sms-bg);
  color: var(--sms-tm);
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  transition: background .2s, color .15s;
}
.sf24-sms-tab-count::before { content: ''; }
.sf24-sms-tab-count::after { content: ''; }

/* Hover: brand-tinted border (override theme defaults) */
.sf24-sms-tab--ig:hover { border-color: rgba(221,42,123,.45) !important; }
.sf24-sms-tab--tt:hover { border-color: rgba(14,14,14,.45) !important; }
.sf24-sms-tab--yt:hover { border-color: rgba(255,0,0,.45) !important; }
.sf24-sms-tab--gg:hover { border-color: rgba(66,133,244,.45) !important; }

/* === ACTIVE STATE === */
.sf24-sms-tab.is-active,
button.sf24-sms-tab.is-active {
  border-color: transparent !important;
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -12px rgba(80,40,140,.32);
  /* Background painted via ::before, but force base bg transparent so theme doesn't paint over */
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
.sf24-sms-tab.is-active:hover,
button.sf24-sms-tab.is-active:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
.sf24-sms-tab.is-active::before { opacity: 1; }

.sf24-sms-tab--ig.is-active::before {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 50%, #8134af 100%);
}
.sf24-sms-tab--ig.is-active { box-shadow: 0 18px 40px -12px rgba(221,42,123,.55); }
.sf24-sms-tab--ig.is-active .sf24-sms-tab-logo { background: rgba(255,255,255,.22); color: #fff; }
.sf24-sms-tab--ig.is-active .sf24-sms-tab-label { color: #fff !important; }
.sf24-sms-tab--ig.is-active .sf24-sms-tab-count { background: rgba(255,255,255,.22); color: #fff; }

.sf24-sms-tab--tt.is-active::before {
  background: linear-gradient(135deg, #0e0e0e 0%, #1a1a1a 100%);
}
.sf24-sms-tab--tt.is-active { box-shadow: 0 18px 40px -12px rgba(0,0,0,.5); }
.sf24-sms-tab--tt.is-active .sf24-sms-tab-logo {
  background: linear-gradient(135deg, rgba(0,242,234,.25), rgba(255,0,80,.25));
  color: #fff;
}
.sf24-sms-tab--tt.is-active .sf24-sms-tab-label { color: #fff !important; }
.sf24-sms-tab--tt.is-active .sf24-sms-tab-count { background: rgba(255,255,255,.14); color: #fff; }

.sf24-sms-tab--yt.is-active::before {
  background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%);
}
.sf24-sms-tab--yt.is-active { box-shadow: 0 18px 40px -12px rgba(255,0,0,.5); }
.sf24-sms-tab--yt.is-active .sf24-sms-tab-logo { background: rgba(255,255,255,.22); color: #fff; }
.sf24-sms-tab--yt.is-active .sf24-sms-tab-label { color: #fff !important; }
.sf24-sms-tab--yt.is-active .sf24-sms-tab-count { background: rgba(255,255,255,.22); color: #fff; }

.sf24-sms-tab--gg.is-active::before {
  background: linear-gradient(135deg, #4285f4 0%, #ea4335 50%, #fbbc05 100%);
}
.sf24-sms-tab--gg.is-active { box-shadow: 0 18px 40px -12px rgba(66,133,244,.5); }
.sf24-sms-tab--gg.is-active .sf24-sms-tab-logo { background: rgba(255,255,255,.25); color: #fff; }
.sf24-sms-tab--gg.is-active .sf24-sms-tab-label { color: #fff !important; }
.sf24-sms-tab--gg.is-active .sf24-sms-tab-count { background: rgba(255,255,255,.22); color: #fff; }

@media (max-width: 600px) {
  .sf24-sms-tabs {
    justify-content: flex-start;
    gap: 10px;
    padding: 4px 2px;
  }
  .sf24-sms-tab {
    min-width: 96px;
    padding: 14px 14px 12px;
    gap: 8px;
    border-radius: 16px;
  }
  .sf24-sms-tab-logo { width: 38px; height: 38px; border-radius: 11px; }
  .sf24-sms-tab-logo svg { width: 20px; height: 20px; }
  .sf24-sms-tab-label { font-size: 13px; }
  .sf24-sms-tab-count { min-width: 32px; height: 17px; font-size: 10px; }
}

/* === PLATFORM BANDS — full-width editorial bands per platform === */
.sf24-sms-band[hidden] { display: none !important; }
.sf24-sms-band {
  position:relative;
  margin: 0 calc(-1 * clamp(16px,3vw,56px)) 28px;
  padding: 0;
  border-radius: 28px;
  overflow:hidden;
  isolation:isolate;
}
.sf24-sms-band-bg {
  position:absolute; inset:0;
  pointer-events:none;
  z-index:-1;
}
.sf24-sms-band-inner {
  display:grid;
  grid-template-columns: minmax(260px,360px) 1fr;
  gap: 36px;
  padding: clamp(32px,4vw,52px) clamp(24px,3vw,52px);
  align-items:start;
}
@media (max-width: 880px) {
  .sf24-sms-band-inner { grid-template-columns: 1fr; gap: 22px; padding: 28px 22px; }
}

/* Brand header (left column) */
.sf24-sms-band-header { position:sticky; top:24px; }
@media (max-width:880px) { .sf24-sms-band-header { position:static; } }
.sf24-sms-band-brand { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.sf24-sms-band-logo {
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:16px; flex-shrink:0;
  box-shadow: 0 8px 22px -6px rgba(0,0,0,.18);
}
.sf24-sms-band-logo svg { width:30px; height:30px; }
.sf24-sms-band-title {
  font-family: var(--sms-fh);
  font-size: clamp(32px,4.5vw,48px);
  font-weight: 900;
  margin: 0;
  letter-spacing: -0.025em;
  line-height: 1;
}
.sf24-sms-band-tagline {
  font-size: 14.5px;
  line-height: 1.5;
  font-weight: 500;
  margin: 0 0 18px;
  max-width: 320px;
}
.sf24-sms-band-cta {
  display:inline-flex; align-items:center; gap:8px;
  padding: 10px 16px;
  font-family: var(--sms-fh);
  font-size: 13.5px;
  font-weight: 700;
  border-radius: 10px;
  text-decoration: none !important;
  transition: transform .2s, box-shadow .2s, background .2s;
}

/* Service tile grid (right column) */
.sf24-sms-band-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
}
.sf24-sms-tile {
  display:grid;
  grid-template-columns: 40px 1fr 16px;
  align-items:center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  text-decoration: none !important;
  transition: transform .2s, background .2s, border-color .15s;
  border: 1px solid transparent;
  background: rgba(255,255,255,.92);
  color: var(--sms-tx) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.sf24-sms-tile:hover {
  transform: translateX(4px);
  background: #fff;
  color: var(--sms-tx) !important;
}
.sf24-sms-tile-icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px; flex-shrink:0;
}
.sf24-sms-tile-body { display:flex; flex-direction:column; gap:2px; min-width:0; }
.sf24-sms-tile-body strong {
  font-family: var(--sms-fh);
  font-size: 14.5px;
  font-weight: 800;
  letter-spacing: -0.005em;
  color: var(--sms-tx);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sf24-sms-tile-body em {
  font-style: normal;
  font-size: 12px;
  color: var(--sms-ts);
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sf24-sms-tile-arrow {
  color: var(--sms-tm);
  display:inline-flex;
  transition: transform .2s, color .15s;
}
.sf24-sms-tile:hover .sf24-sms-tile-arrow { transform: translateX(2px); }

/* === INSTAGRAM band (Aurora gradient) === */
.sf24-sms-band--ig .sf24-sms-band-bg {
  background:
    radial-gradient(circle at 12% 20%, rgba(245,133,41,.16) 0%, transparent 55%),
    radial-gradient(circle at 88% 80%, rgba(221,42,123,.14) 0%, transparent 55%),
    radial-gradient(circle at 50% 100%, rgba(129,52,175,.10) 0%, transparent 55%),
    linear-gradient(135deg, #fff7f1 0%, #fef2f7 100%);
}
.sf24-sms-band--ig .sf24-sms-band-logo {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 50%, #8134af 100%);
  color:#fff;
}
.sf24-sms-band--ig .sf24-sms-band-title {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 50%, #8134af 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.sf24-sms-band--ig .sf24-sms-band-tagline { color: #6b3953; }
.sf24-sms-band--ig .sf24-sms-band-cta {
  background: linear-gradient(135deg, #f58529 0%, #dd2a7b 100%);
  color: #fff !important;
  box-shadow: 0 6px 18px -4px rgba(221,42,123,.4);
}
.sf24-sms-band--ig .sf24-sms-band-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -6px rgba(221,42,123,.55); color:#fff !important; }
.sf24-sms-band--ig .sf24-sms-tile { border-color: rgba(221,42,123,.12); }
.sf24-sms-band--ig .sf24-sms-tile:hover { border-color: rgba(221,42,123,.35); }
.sf24-sms-band--ig .sf24-sms-tile-icon { background: rgba(221,42,123,.08); color: #c2185b; }
.sf24-sms-band--ig .sf24-sms-tile:hover .sf24-sms-tile-arrow { color: #dd2a7b; }

/* === TIKTOK band (dark + cyan/red accents) === */
.sf24-sms-band--tt .sf24-sms-band-bg {
  background:
    radial-gradient(circle at 15% 30%, rgba(0,242,234,.10) 0%, transparent 55%),
    radial-gradient(circle at 85% 70%, rgba(255,0,80,.10) 0%, transparent 55%),
    linear-gradient(135deg, #0e0e0e 0%, #1a1a1a 100%);
}
.sf24-sms-band--tt .sf24-sms-band-logo { background: #ffffff; color: #0e0e0e; }
.sf24-sms-band--tt .sf24-sms-band-title { color: #fff; }
.sf24-sms-band--tt .sf24-sms-band-tagline { color: rgba(255,255,255,.7); }
.sf24-sms-band--tt .sf24-sms-band-cta {
  background: #fff;
  color: #0e0e0e !important;
  border: 1px solid #fff;
}
.sf24-sms-band--tt .sf24-sms-band-cta:hover {
  background: linear-gradient(135deg, #00f2ea 0%, #ff0050 100%);
  color: #fff !important;
  border-color: transparent;
  transform: translateY(-2px);
}
.sf24-sms-band--tt .sf24-sms-tile {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff !important;
}
.sf24-sms-band--tt .sf24-sms-tile:hover { background: rgba(255,255,255,.12); border-color: #ff0050; color: #fff !important; }
.sf24-sms-band--tt .sf24-sms-tile-body strong { color: #fff; }
.sf24-sms-band--tt .sf24-sms-tile-body em { color: rgba(255,255,255,.6); }
.sf24-sms-band--tt .sf24-sms-tile-icon { background: rgba(0,242,234,.14); color: #00f2ea; }
.sf24-sms-band--tt .sf24-sms-tile-arrow { color: rgba(255,255,255,.4); }
.sf24-sms-band--tt .sf24-sms-tile:hover .sf24-sms-tile-arrow { color: #ff0050; }

/* === YOUTUBE band (red wash) === */
.sf24-sms-band--yt .sf24-sms-band-bg {
  background:
    radial-gradient(circle at 18% 25%, rgba(255,0,0,.14) 0%, transparent 55%),
    radial-gradient(circle at 85% 75%, rgba(255,93,93,.10) 0%, transparent 55%),
    linear-gradient(135deg, #fff5f5 0%, #fef0f0 100%);
}
.sf24-sms-band--yt .sf24-sms-band-logo { background: #ff0000; color: #fff; }
.sf24-sms-band--yt .sf24-sms-band-title { color: #cc0000; }
.sf24-sms-band--yt .sf24-sms-band-tagline { color: #7a3434; }
.sf24-sms-band--yt .sf24-sms-band-cta {
  background: #ff0000;
  color: #fff !important;
  box-shadow: 0 6px 18px -4px rgba(255,0,0,.4);
}
.sf24-sms-band--yt .sf24-sms-band-cta:hover { background: #cc0000; transform: translateY(-2px); color: #fff !important; }
.sf24-sms-band--yt .sf24-sms-tile { border-color: rgba(255,0,0,.12); }
.sf24-sms-band--yt .sf24-sms-tile:hover { border-color: rgba(255,0,0,.35); }
.sf24-sms-band--yt .sf24-sms-tile-icon { background: rgba(255,0,0,.08); color: #cc0000; }
.sf24-sms-band--yt .sf24-sms-tile:hover .sf24-sms-tile-arrow { color: #ff0000; }

/* === GOOGLE band (multi-color subtle) === */
.sf24-sms-band--gg .sf24-sms-band-bg {
  background:
    radial-gradient(circle at 20% 25%, rgba(66,133,244,.10) 0%, transparent 55%),
    radial-gradient(circle at 50% 75%, rgba(234,67,53,.08) 0%, transparent 55%),
    radial-gradient(circle at 80% 30%, rgba(251,188,5,.10) 0%, transparent 55%),
    linear-gradient(135deg, #f8fbff 0%, #fffaf2 100%);
}
.sf24-sms-band--gg .sf24-sms-band-logo {
  background: linear-gradient(135deg, #4285f4 0%, #ea4335 50%, #fbbc05 100%);
  color: #fff;
}
.sf24-sms-band--gg .sf24-sms-band-title { color: #1f1f1f; }
.sf24-sms-band--gg .sf24-sms-band-tagline { color: #4a5568; }
.sf24-sms-band--gg .sf24-sms-band-cta {
  background: #1f1f1f;
  color: #fff !important;
}
.sf24-sms-band--gg .sf24-sms-band-cta:hover { background: #4285f4; transform: translateY(-2px); color: #fff !important; }
.sf24-sms-band--gg .sf24-sms-tile { border-color: rgba(66,133,244,.12); }
.sf24-sms-band--gg .sf24-sms-tile:hover { border-color: rgba(66,133,244,.35); }
.sf24-sms-band--gg .sf24-sms-tile-icon { background: rgba(251,188,5,.18); color: #f5a700; }
.sf24-sms-band--gg .sf24-sms-tile:hover .sf24-sms-tile-arrow { color: #4285f4; }

/* FAQ */
.sf24-sms-faq { margin-bottom:48px; text-align:center; }
.sf24-sms-faq .sf24-sms-h2 { margin-bottom:24px; }
.sf24-sms-faq-list { display:grid; gap:10px; max-width:820px; margin:0 auto; text-align:left; }
.sf24-sms-faq-item { background:var(--sms-sf); border:1px solid var(--sms-bd); border-radius:14px; overflow:hidden; transition:border-color .15s, box-shadow .15s; }
.sf24-sms-faq-item[open] { border-color:var(--sms-bd-strong); box-shadow:var(--sms-sh); }
.sf24-sms-faq-item summary { cursor:pointer; padding:18px 24px 18px 22px; font-family:var(--sms-fh); font-weight:700; font-size:15px; color:var(--sms-tx); list-style:none; position:relative; letter-spacing:-0.005em; }
.sf24-sms-faq-item summary::-webkit-details-marker { display:none; }
.sf24-sms-faq-item summary::after { content:'+'; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:22px; color:var(--sms-tm); font-weight:400; transition:transform .2s, color .15s; }
.sf24-sms-faq-item[open] summary::after { transform:translateY(-50%) rotate(45deg); color:var(--sms-ac); }
.sf24-sms-faq-item p { padding:0 22px 20px; margin:0; font-size:14.5px; line-height:1.6; color:var(--sms-ts); font-weight:500; }

/* CTA */
.sf24-sms-cta { margin-top:8px; }
.sf24-sms-cta-card { position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:36px clamp(24px,3vw,44px); background:linear-gradient(135deg, #1a1033 0%, #2d1b4d 60%, #4a2d6e 100%); border-radius:var(--sms-rl); color:#fff; overflow:hidden; }
.sf24-sms-cta-card::before { content:''; position:absolute; top:-40%; right:-10%; width:420px; height:420px; background:radial-gradient(circle, rgba(245,133,41,.32) 0%, transparent 60%); pointer-events:none; }
.sf24-sms-cta-card::after { content:''; position:absolute; bottom:-50%; left:-5%; width:420px; height:420px; background:radial-gradient(circle, rgba(124,58,237,.32) 0%, transparent 60%); pointer-events:none; }
.sf24-sms-cta-text { position:relative; z-index:1; }
.sf24-sms-cta-text h2 { font-family:var(--sms-fh); font-size:clamp(22px,2.6vw,28px); font-weight:800; margin:0 0 6px; color:#fff; letter-spacing:-0.018em; }
.sf24-sms-cta-text p { margin:0; font-size:14.5px; color:rgba(255,255,255,.78); font-weight:500; }
.sf24-sms-cta-btn { position:relative; z-index:1; display:inline-flex; align-items:center; gap:8px; padding:14px 22px; background:linear-gradient(135deg, var(--sms-orange) 0%, #f59e0b 100%); color:#fff !important; text-decoration:none !important; font-family:var(--sms-fh); font-size:14.5px; font-weight:700; border-radius:12px; flex-shrink:0; transition:transform .2s, box-shadow .2s; box-shadow:0 6px 18px -4px rgba(245,133,41,.45); }
.sf24-sms-cta-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px -6px rgba(245,133,41,.6); color:#fff !important; }

/* MOBILE TUNING */
@media (max-width:720px) {
  .sf24-sms { padding:12px 12px 60px; }
  .sf24-sms-hero { padding:32px 16px 32px; margin-bottom:24px; border-radius:22px; }
  .sf24-sms-cta-card { flex-direction:column; align-items:flex-start; gap:18px; }
  .sf24-sms-cta-btn { width:100%; justify-content:center; }
}
