/* ==========================================================================
   Tema Sheep (Sheep SMM — "sheep"/"cheap") — camada por cima do Universal + Rupture
   Os tokens abaixo são só o padrão (= pré-definição "Ovelha noturna"); as cores de verdade vêm de Aparência →
   Personalizar → Estilos (pré-definições em themes/panel/sheep/presets.json: "Ovelha noturna" e "Lã clara").
   Aqui fica só o formato: tudo bem redondo e macio (lã), fonte Nunito, ovelha em SVG (_sheep.twig).
   ========================================================================== */

/* 1. TOKENS --------------------------------------------------------------- */
:root {
  --u-primary: #2b8443;
  --u-primary-rgb: 43, 132, 67;
  --rp-accent: #a3e36a;
  --rp-money: #3fae5a;
  --rp-money-rgb: 63, 174, 90;
  --u-radius: 22px;
  --u-radius-sm: 14px;
  --u-font: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --rp-head: "Nunito", system-ui, sans-serif;
  --sp-wool: #f4f1ea;
  --sp-wool-2: #e6e1d6;
  --sp-face: #2b2a2f;
}
[data-theme="dark"] {
  --u-bg: #111113;
  --u-surface: #19191c;
  --u-surface-2: #222226;
  --u-border: #2d2d32;
  --u-text: #f3f2ee;
  --u-text-2: #cbc9c3;
  --u-muted: #8e8c87;
  --rp-glow: rgba(163, 227, 106, .13);
  --u-shadow: none;
}
[data-theme="light"] {
  --u-bg: #f5f4f0;
  --u-surface: #ffffff;
  --u-surface-2: #eeede8;
  --u-border: #e2e0da;
  --u-text: #232227;
  --u-text-2: #48474d;
  --u-muted: #7b7a80;
  --rp-glow: rgba(63, 174, 90, .12);
  --u-shadow: 0 1px 2px rgba(35, 34, 39, .04), 0 10px 26px rgba(35, 34, 39, .06);
  --sp-face: #2b2a2f;
}

body { letter-spacing: 0; }
h1, h2, h3, h4, h5, h6, .u-page-title, .u-brand { font-weight: 800; letter-spacing: -.01em; }
.btn { border-radius: 999px; font-weight: 700; }
.btn-icon { border-radius: 14px; }
.form-control, .form-select, .input-group-text { border-radius: var(--u-radius-sm); }
.input-group > .form-control, .input-group > .input-group-text { border-radius: var(--u-radius-sm); }
.input-group > :not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > :not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.u-nav a { border-radius: 999px; }
.u-nav a.active { box-shadow: 0 6px 18px rgba(var(--u-primary-rgb), .3); }
.rp-subnav a.active { border-radius: 999px; }
.rp-tag, .rp-lv-chip, .rp-level-tag { border-radius: 999px; }

/* 2. OVELHA --------------------------------------------------------------- */
.sp-wool circle { fill: var(--sp-wool); }
.sp-tuft circle { fill: var(--sp-wool); }
.sp-head ellipse, .sp-legs rect { fill: var(--sp-face); }
.sp-eyes circle { fill: #fff; }
.sp-mark { background: var(--sp-face) !important; box-shadow: none !important; border-radius: 12px; overflow: hidden; padding: 3px; }
[data-theme="dark"] .sp-mark { background: #2b2b30 !important; }
[data-theme="dark"] .sp-legs rect { fill: #55545b; }
.sp-mark-svg { width: 100%; height: 100%; }
.sp-login { position: relative; }
.sp-peek { position: absolute; width: 132px; top: -78px; right: 26px; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .25)); animation: sp-bob 3.6s ease-in-out infinite; pointer-events: none; }
@keyframes sp-bob { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-5px) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { .sp-peek { animation: none; } }

/* 3. PÁGINAS PÚBLICAS: pasto pontilhado no lugar da grade ------------------ */
.rp-grid-bg { background-image: radial-gradient(rgba(var(--u-primary-rgb), .16) 1.4px, transparent 1.6px); background-size: 26px 26px; }
.rp-login { border-radius: 26px; }
.rp-hero { padding-top: 104px; }
.rp-platform, .rp-step, .rp-feature, .rp-stat, .rp-tier, .rp-level, .rp-lv-col, .u-card { border-radius: var(--u-radius); }
.rp-cta { border-radius: 28px; }
.u-brand-mark { border-radius: 12px; }

/* 4. PAINEL --------------------------------------------------------------- */
.rp-balance-plus { border-radius: 999px; }
.rp-method { border-radius: 18px; }
.rp-method-ic, .rp-nudge-ic, .rp-ic, .u-stat-icon { border-radius: 14px; }
.rp-amount { border-radius: 999px; }
.rp-bonusbox, .rp-nudge, .rp-order-ok, .rp-level-hero { border-radius: 20px; }

@media (max-width: 991.98px) {
  .sp-peek { width: 104px; top: -62px; right: 18px; }
  .rp-hero { padding-top: 80px; }
}
