/* Front styles (unchanged core) */
:root {
  --ssf-bg: #0f172a;
  --ssf-fg: #ffffff;
  --ssf-accent: #22c55e;
  --ssf-maxw: 880px;
  --ssf-radius: 18px;
  --ssf-shadow: 0 12px 30px rgba(2,6,23,.35);
}
#ssf-geo-offer { position: fixed; inset: auto 1rem 1rem 1rem; z-index: 2147483647; display: grid; place-items: center; pointer-events: none; }
.ssf-geo-card {
  width: min(100%, var(--ssf-maxw));
  background: linear-gradient(180deg, rgba(34,197,94,.08), transparent 40%), var(--ssf-bg);
  color: var(--ssf-fg);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--ssf-radius);
  box-shadow: var(--ssf-shadow);
  padding: 1.25rem 1.25rem 1.1rem;
  pointer-events: auto;
  animation: ssf-slide-up .28s ease-out both;
  position: relative;
}
.ssf-eyebrow { margin: 0 0 .25rem; font: 600 0.78rem/1.1 system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif; letter-spacing: .06em; text-transform: uppercase; opacity: .9; }
.ssf-title { margin: 0; font: 700 clamp(1.05rem,2.2vw,1.5rem)/1.2 Inter,system-ui,sans-serif; }
.ssf-title strong, .ssf-subtitle strong { color: var(--ssf-accent); }
.ssf-subtitle { margin: .4rem 0 0; font: 600 clamp(.95rem,1.8vw,1.15rem)/1.35 Inter,system-ui,sans-serif; }
.ssf-fineprint { margin: .45rem 0 0; opacity: 1; font: 400 .8rem/1.3 Inter,system-ui,sans-serif; color: var(--ssf-fineprint, #FF1200); }
.ssf-close { appearance: none; border: 0; background: transparent; color: #fff; opacity: .7; font-size: 1.35rem; line-height: 1; padding: .15rem .35rem; border-radius: 10px; position: absolute; inset: .35rem .35rem auto auto; cursor: pointer; }
.ssf-close:hover { opacity: 1; }
@keyframes ssf-slide-up { from { transform: translateY(8px); opacity: 0 } to { transform: translateY(0); opacity: 1 } }
@media (prefers-color-scheme: light) { :root { --ssf-bg: #111827; --ssf-fg: #fff; } }

/* Layout row */
.ssf-row { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; }
.ssf-col--cta { justify-self: end; }

/* CTA button */
.ssf-cta {
  display: inline-flex; flex-direction: column; justify-content: center; align-items: center;
  text-decoration: none; background: var(--ssf-cta-bg, #ffffff); color: var(--ssf-cta-color, #000000);
  padding: .8rem 1rem; border-radius: 14px; font-family: Inter, system-ui, sans-serif;
  min-width: 220px; text-align: center; border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 6px 16px rgba(0,0,0,.15); transition: transform .08s ease, filter .08s ease, background-color .08s ease, color .08s ease;
}
.ssf-cta:hover,
.ssf-cta:active,
.ssf-cta:focus,
.ssf-cta[aria-pressed="true"] {
  background: var(--ssf-cta-bg-active, #FFDC00) !important;
  color: var(--ssf-cta-color-active, #000000) !important;
  filter: none;
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
}
.ssf-cta-main { font-weight: 800; font-size: .95rem; line-height: 1; }
.ssf-cta-sub { font-weight: 700; font-size: 1.05rem; line-height: 1.1; }

/* Responsive */
@media (max-width: 720px) {
  .ssf-row { grid-template-columns: 1fr; }
  .ssf-col--cta { justify-self: stretch; }
  .ssf-cta { width: 100%; min-width: 0; }
}
