/* SayFound — dark, mobile-first UI matching the reference screenshot */
.sf-app, .sf-pricing { --sf-bg:#0a0d14; --sf-card:#11151f; --sf-card2:#161b27; --sf-line:#222a3a; --sf-txt:#eef2f8; --sf-mut:#8a93a6; --sf-blue:#2f6bff; --sf-blue2:#1f4fd6; --sf-cyan:#16d3c8; }
.sf-app, .sf-pricing { color:var(--sf-txt); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; max-width:480px; margin:0 auto; box-sizing:border-box; }
.sf-app *, .sf-pricing * { box-sizing:border-box; }
/* The HTML [hidden] attribute must win over the display rules below. */
.sf-app [hidden], .sf-pricing [hidden], [hidden].sf-paywall, [hidden].sf-result, [hidden].sf-progress { display:none !important; }

.sf-card { background:var(--sf-bg); border-radius:18px; padding:22px 18px; }
.sf-trust { font-size:13px; color:#ffd45e; background:#15110a; border:1px solid #2a2310; border-radius:999px; padding:7px 14px; display:inline-block; margin-bottom:16px; }
.sf-trust strong { color:#fff; }
.sf-trust-pill { color:#ffd45e; }
.sf-h { font-size:26px; font-weight:800; margin:6px 0 4px; letter-spacing:-.5px; }
.sf-sub { color:var(--sf-mut); margin:0 0 18px; font-size:15px; }

/* uploader */
.sf-form { display:flex; flex-direction:column; gap:12px; }
.sf-modes { display:flex; gap:8px; background:#0f1626; border:1px solid var(--sf-line); border-radius:12px; padding:4px; }
.sf-mode { flex:1; appearance:none; border:0; background:transparent; color:var(--sf-mut); font-weight:700; font-size:14px; padding:10px 8px; border-radius:9px; cursor:pointer; transition:background .2s,color .2s; }
.sf-mode.is-active { background:linear-gradient(135deg,var(--sf-blue),#16d3c8); color:#fff; }
.sf-mode-hint { color:var(--sf-mut); font-size:13px; margin:-4px 0 2px; text-align:center; }
.sf-drop { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:160px; border:2px dashed var(--sf-line); border-radius:16px; background:var(--sf-card); cursor:pointer; transition:border-color .2s,background .2s; padding:18px; text-align:center; }
.sf-drop.sf-dragover { border-color:var(--sf-blue); background:#0f1626; }
.sf-drop-ic { font-size:28px; color:var(--sf-blue); }
.sf-drop-t { font-weight:600; }
.sf-drop-h { font-size:12px; color:var(--sf-mut); }
.sf-thumb { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:14px; }
.sf-input { background:var(--sf-card); border:1px solid var(--sf-line); color:var(--sf-txt); border-radius:12px; padding:14px 16px; font-size:15px; width:100%; }
.sf-input::placeholder { color:var(--sf-mut); }
.sf-input:focus { outline:none; border-color:var(--sf-blue); }
.sf-note { text-align:center; font-size:12px; color:var(--sf-mut); }

/* buttons */
.sf-btn { display:block; width:100%; border:0; border-radius:14px; padding:16px; font-size:16px; font-weight:700; cursor:pointer; text-align:center; text-decoration:none; }
.sf-btn-primary { background:linear-gradient(180deg,var(--sf-blue),var(--sf-blue2)); color:#fff; box-shadow:0 8px 24px rgba(47,107,255,.35); }
.sf-btn-primary:hover { filter:brightness(1.05); }
.sf-btn-ghost { background:transparent; color:var(--sf-mut); border:1px solid var(--sf-line); }
.sf-btn-lg { padding:18px; font-size:17px; }

/* progress */
.sf-progress { text-align:center; padding:30px 0; color:var(--sf-mut); }
.sf-spinner { width:40px; height:40px; border:3px solid var(--sf-line); border-top-color:var(--sf-blue); border-radius:50%; margin:0 auto 14px; animation:sf-spin 1s linear infinite; }
@keyframes sf-spin { to { transform:rotate(360deg); } }

/* result */
.sf-result { display:flex; flex-direction:column; gap:12px; }
.sf-result-wrap { position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--sf-line); }
.sf-preview { width:100%; display:block; }
.sf-watermark-hint { position:absolute; left:0; right:0; bottom:0; background:linear-gradient(transparent,rgba(0,0,0,.8)); color:#fff; font-size:12px; padding:18px 12px 10px; text-align:center; }
.sf-error { background:#2a1115; border:1px solid #5a1f28; color:#ffb4be; border-radius:12px; padding:12px 14px; font-size:14px; }

/* pricing */
.sf-pricing { text-align:center; padding:8px 0 18px; }
.sf-plans { display:flex; flex-direction:column; gap:12px; text-align:left; margin:18px 0; }
.sf-plan { position:relative; display:flex; align-items:center; gap:14px; background:var(--sf-card); border:1.5px solid var(--sf-line); border-radius:16px; padding:18px 16px; cursor:pointer; transition:border-color .15s,background .15s; }
.sf-plan.sf-active { border-color:var(--sf-blue); background:#0e1626; }
.sf-plan-feat { border-color:#2b3a66; }
.sf-plan-feat.sf-active { border-color:var(--sf-blue); }
.sf-plan-badge { position:absolute; top:-10px; left:16px; background:var(--sf-blue); color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px; letter-spacing:.3px; }
.sf-plan:nth-child(3) .sf-plan-badge { background:var(--sf-cyan); color:#04201e; }
.sf-plan-radio { width:22px; height:22px; border-radius:50%; border:2px solid var(--sf-line); flex:0 0 auto; position:relative; }
.sf-plan.sf-active .sf-plan-radio { border-color:var(--sf-blue); }
.sf-plan.sf-active .sf-plan-radio:after { content:""; position:absolute; inset:4px; border-radius:50%; background:var(--sf-blue); }
.sf-plan-body { flex:1; display:flex; flex-direction:column; gap:2px; }
.sf-plan-name { font-weight:800; font-size:15px; letter-spacing:.3px; }
.sf-plan-save { color:var(--sf-cyan); font-size:12px; font-weight:700; }
.sf-plan-old { color:var(--sf-mut); text-decoration:line-through; font-size:13px; display:inline-block; }
.sf-plan-total { font-weight:700; font-size:14px; }
.sf-plan-price { text-align:right; }
.sf-plan-perday { display:block; font-size:22px; font-weight:800; }
.sf-plan-perday-l { font-size:11px; color:var(--sf-mut); }

.sf-badges { display:flex; justify-content:space-between; gap:8px; color:var(--sf-mut); font-size:12px; margin:16px 4px; }

/* Paddle inline checkout */
.sf-checkout-email { margin:12px 0; }
.paddle-checkout { width:100%; min-width:312px; margin:16px 0 4px; border-radius:14px; overflow:hidden; }
.paddle-checkout:not([hidden]) { background:#fff; border:1px solid var(--sf-line); padding:6px; }
.sf-pay-ok { background:rgba(46,204,113,.12); border:1px solid rgba(46,204,113,.4); color:#2ecc71; border-radius:12px; padding:14px 16px; font-weight:700; text-align:center; margin:14px 0; }
@media (max-width:480px){
	.paddle-checkout { min-width:0; }
	.sf-badges { flex-wrap:wrap; justify-content:center; }
}
.sf-reviews { text-align:left; margin-top:10px; }
.sf-review { display:flex; gap:12px; background:var(--sf-card); border-radius:14px; padding:14px; }
.sf-avatar { width:38px; height:38px; border-radius:50%; background:var(--sf-blue); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; flex:0 0 auto; }
.sf-stars { color:#ffd45e; font-size:13px; }
.sf-review p { margin:4px 0 0; color:var(--sf-mut); font-size:13px; }

/* testimonials with before/after */
.sf-testimonials { margin-top:28px; text-align:left; }
.sf-tt-title { font-size:18px; font-weight:800; margin:0 0 14px; text-align:center; }
.sf-tt-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.sf-tt-card { margin:0; background:var(--sf-card); border:1px solid var(--sf-line); border-radius:16px; padding:12px; }
/* full before/after composite (real customer photos) */
.sf-ba-full { position:relative; overflow:hidden; border-radius:12px; line-height:0; }
.sf-ba-full img { width:100%; height:auto; display:block; }
.sf-ba-tag { position:absolute; bottom:10px; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; color:#fff; z-index:3; }
.sf-ba-before { left:10px; background:rgba(20,24,33,.82); }
.sf-ba-after { right:10px; background:linear-gradient(135deg,var(--sf-blue),#16d3c8); }
.sf-plans-title { font-size:20px; font-weight:800; margin:26px 0 2px; }
.sf-tt-foot { display:flex; align-items:center; gap:10px; margin-top:12px; }
.sf-tt-meta { display:flex; flex-direction:column; line-height:1.2; }
.sf-tt-text { margin:8px 0 0; color:var(--sf-mut); font-size:13px; }

/* paywall modal */
.sf-paywall { position:fixed; inset:0; background:rgba(4,6,12,.85); z-index:99999; display:flex; align-items:flex-end; justify-content:center; padding:0; backdrop-filter:blur(4px); }
.sf-paywall-inner { background:var(--sf-bg); width:100%; max-width:520px; max-height:92vh; overflow:auto; border-radius:20px 20px 0 0; padding:20px 16px 30px; position:relative; }
.sf-paywall-close { position:absolute; top:10px; right:12px; background:none; border:0; color:var(--sf-mut); font-size:28px; cursor:pointer; line-height:1; }
@media (min-width:560px){ .sf-paywall { align-items:center; } .sf-paywall-inner { border-radius:20px; } }

/* ---- OGAds unlock locker ---- */
.sf-ogads { text-align:left; margin:16px 0 4px; }
.sf-ogads-loading { text-align:center; color:var(--sf-mut); padding:18px 0; }
.sf-ogads-err { background:#2a1115; border:1px solid #5a1f28; color:#ffb4be; border-radius:12px; padding:14px 16px; font-size:14px; text-align:center; }
.sf-ogads-note { color:var(--sf-mut); font-size:12px; text-align:center; margin:14px 4px 2px; }
.sf-offer-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.sf-offer { margin:0; }
.sf-offer-link { display:flex; align-items:center; gap:12px; background:var(--sf-card); border:1.5px solid var(--sf-line); border-radius:14px; padding:12px 14px; text-decoration:none; color:var(--sf-txt); transition:border-color .15s, background .15s, transform .05s; }
.sf-offer-link:hover { border-color:var(--sf-blue); background:#0e1626; }
.sf-offer-link:active { transform:scale(.99); }
.sf-offer-ic { width:46px; height:46px; border-radius:11px; object-fit:cover; flex:0 0 auto; background:#0f1626; }
.sf-offer-ic-ph { display:flex; align-items:center; justify-content:center; color:#ffd45e; font-size:20px; }
.sf-offer-body { flex:1; display:flex; flex-direction:column; gap:3px; min-width:0; }
.sf-offer-name { font-weight:700; font-size:14px; line-height:1.25; }
.sf-offer-desc { color:var(--sf-mut); font-size:12px; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sf-offer-go { color:var(--sf-blue); font-weight:800; font-size:13px; white-space:nowrap; flex:0 0 auto; }
