:root{ --sv-blue:#007BFF; --sv-blue-dark:#0056D2; --sv-text:#333; --sv-muted:#6c757d; --sv-bg:#F8F9FA;}
body{ color:var(--sv-text); background:#fff; }
a{ color:var(--sv-blue); text-decoration:none; } a:hover{ color:#003e9e; text-decoration:underline; }
.navbar.sticky-top{ box-shadow:0 2px 12px rgba(0,0,0,.05); }
.sv-footer{ background:linear-gradient(90deg,var(--sv-blue),var(--sv-blue-dark)); color:#fff; }
.sv-footer a{ color:#fff; text-decoration:underline; }
.sv-card{ display:block; background:#fff; border:1px solid #eee; border-radius:12px; overflow:hidden; box-shadow:0 8px 20px rgba(0,0,0,.06); transition:transform .2s ease, box-shadow .2s ease; }
.sv-card:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,.09); }
.sv-card .sv-card-img{ aspect-ratio:4/3; background:#f2f4f8; display:flex; align-items:center; justify-content:center; }
.sv-card .sv-card-info{ padding:12px 14px; }
.sv-popup{ position:fixed; inset:0; display:none; z-index:1050; }
.sv-popup.visible{ display:block; }
.sv-popup__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.4); }
.sv-popup__content{ max-width:420px; margin:6% auto; background:#fff; border-radius:14px; padding:22px; position:relative; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.sv-popup__close{ position:absolute; top:8px; right:10px; background:transparent; border:none; font-size:24px; }
.sv-toast{ position:fixed; bottom:24px; right:24px; z-index:9999; min-width:260px; max-width:320px; background:var(--sv-blue); color:#fff; padding:12px 16px; border-radius:10px; box-shadow:0 4px 14px rgba(0, 123, 255, .35); font-size:.9rem; display:none; }
.sv-toast.visible{ display:block; }