/* Shield Turbo — shared custom styles (Tailwind utilities handle the rest) */

:root{
  --paper:#fdfaf7; --ink:#1a140f; --muted:#6b625a;
  --orange:#ff6a1a; --orange-light:#ff8a3d; --orange-deep:#e65100; --orange-soft:#ffe9db;
  --dark:#17120e;
}

html{ scroll-behavior:smooth; }
body{ background:var(--paper); color:var(--ink); }

.darkbg{
  background:
    radial-gradient(circle at 15% 0%, rgba(255,106,26,0.18), transparent 34%),
    radial-gradient(circle at 90% 12%, rgba(255,106,26,0.10), transparent 30%),
    var(--dark);
}
.soft{ box-shadow:0 18px 50px rgba(26,20,15,0.08); }
.glass-dark{
  background:rgba(44,34,25,0.55);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.08);
}
.grad-orange{ background:linear-gradient(135deg,#ff6a1a,#ff8a3d); }
.pill{ border-radius:999px; }

/* inline svg icons + flags */
.ico{ fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.flag{ display:inline-block; overflow:hidden; line-height:0; border-radius:5px; }
.flag svg{ width:100%; height:100%; display:block; }
.bars > i{ display:inline-block; width:3px; border-radius:2px; background:#ff6a1a; margin-left:2px; }

/* buttons */
.btn-primary{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  background:linear-gradient(135deg,#ff6a1a,#ff8a3d); color:var(--ink);
  font-weight:600; padding:.85rem 1.6rem; border-radius:999px; transition:.2s ease;
}
.btn-primary:hover{ filter:brightness(1.05); color:var(--ink); }
.btn-outline{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  background:#fff; color:var(--ink); border:1.5px solid rgba(26,20,15,.12);
  font-weight:600; padding:.8rem 1.5rem; border-radius:999px; transition:.2s ease;
}
.btn-outline:hover{ border-color:rgba(255,106,26,.4); color:var(--ink); }

/* form controls */
.st-label{ font-weight:600; color:var(--ink); margin-bottom:.4rem; display:block; font-size:.92rem; }
.st-input{
  width:100%; border-radius:14px; border:1.5px solid rgba(26,20,15,.12);
  padding:.8rem 1rem; background:#fff; color:var(--ink); font-size:.98rem; transition:.15s ease;
}
.st-input:focus{ outline:none; border-color:rgba(255,106,26,.55); box-shadow:0 0 0 4px rgba(255,106,26,.12); }
.st-note{ font-size:.88rem; color:var(--muted); }

/* cards */
.card-white{ background:#fff; border:1px solid rgba(26,20,15,.06); border-radius:24px; box-shadow:0 18px 50px rgba(26,20,15,.08); }

/* alerts */
.alert{ border-radius:16px; padding:1rem 1.15rem; border:1px solid transparent; }
.alert-success{ background:rgba(20,137,94,.09); border-color:rgba(20,137,94,.18); color:#0f7a52; }
.alert-danger{ background:rgba(217,45,32,.08); border-color:rgba(217,45,32,.16); color:#c0261a; }
.alert-warning{ background:rgba(181,71,8,.09); border-color:rgba(181,71,8,.18); color:#a3560b; }
.alert-info,.alert-payment_notice{ background:var(--orange-soft); border-color:rgba(255,106,26,.25); color:var(--orange-deep); }

/* badge */
.badge-soft{ display:inline-flex; align-items:center; padding:.35rem .7rem; border-radius:999px; background:var(--orange-soft); color:var(--orange-deep); font-weight:600; font-size:.82rem; }
.user-pill{ display:inline-flex; align-items:center; padding:.45rem .9rem; border-radius:999px; background:var(--orange-soft); color:var(--orange-deep); font-weight:600; }

.nav-link{ color:rgba(26,20,15,.72); font-weight:500; transition:.15s; }
.nav-link:hover{ color:var(--orange-deep); }
.nav-link-dark{ color:rgba(255,255,255,.78); font-weight:500; transition:.15s; }
.nav-link-dark:hover{ color:var(--orange-light); }

.reveal{ opacity:0; transform:translateY(18px); transition:.6s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1;transform:none;transition:none} }

/* simple modal overlay (payment notice) */
.st-overlay{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:1.5rem;
  background:radial-gradient(circle at top, rgba(255,106,26,.18), transparent 40%), rgba(10,7,4,.7); backdrop-filter:blur(6px); }

/* floating chat */
.chat-wrap{ position:fixed; right:22px; bottom:22px; z-index:9990; display:flex; flex-direction:column; align-items:center; gap:8px; }
.chat-text{ padding:7px 13px; border-radius:999px; background:var(--ink); color:#fff; font-size:.8rem; font-weight:600; box-shadow:0 12px 30px rgba(26,20,15,.22); white-space:nowrap; }
.chat-btn{ width:60px; height:60px; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#ff6a1a,#ff8a3d); box-shadow:0 16px 40px rgba(255,106,26,.4); transition:.2s; }
.chat-btn:hover{ color:#fff; transform:translateY(-3px); }
