/* Fortaleza Real — reaproveita a pele do Tesouro (.rs-tesouro: faixa de cima, tabela, sobreposições) com cores de
   castelo (pedra, vermelho e ouro) e rolos de altura variável (2 a 7 símbolos). */
.rs-fortaleza { --glow: #ff8a3d; --panel: rgba(24, 12, 8, .86); --line: rgba(247, 200, 94, .42); background: #160a06; }
.ft-bg { background: radial-gradient(700px 420px at 55% 25%, rgba(200, 16, 46, .32), transparent 70%), radial-gradient(600px 380px at 85% 90%, rgba(247, 200, 94, .2), transparent 70%), linear-gradient(160deg, #2a130b, #0d0604 70%); }
.ft-bg::after { display: none; }
.rs-fortaleza .rs-title em { background: linear-gradient(180deg, #ffb3b3, #c8102e 55%, #5c0614); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 3px 0 #2a0306) drop-shadow(0 0 12px rgba(200, 16, 46, .5)); font-size: clamp(30px, 3.2vw, 52px); }
.rs-fortaleza .rs-title b { font-size: clamp(28px, 2.9vw, 48px); }
.rs-fortaleza .rs-stake, .rs-fortaleza .rs-rounds button:not(.on) { background: #241109; }
.ft-mult.on b { color: #ffb36b; text-shadow: 0 0 12px rgba(255, 138, 61, .8); }

.ft-frame { width: min(100cqw, 100cqh * 6 / 5.4); aspect-ratio: 6 / 5.4;
  background: linear-gradient(145deg, #ffe7a3, #c8102e 16%, #4a0a12 38%, #f5c043 56%, #6b1018 78%, #ffe7a3); box-shadow: 0 0 0 2px rgba(0, 0, 0, .5), 0 18px 50px rgba(0, 0, 0, .6), 0 0 40px rgba(200, 16, 46, .35); }
.ft-board { position: relative; height: 100%; display: grid; grid-template-columns: repeat(6, 1fr); gap: 3px; border-radius: 12px; overflow: hidden; padding: 3px;
  background: radial-gradient(circle at 50% 35%, #3a1a10, #120806 78%); box-shadow: inset 0 0 30px rgba(0, 0, 0, .75); }
.ft-reel { display: flex; flex-direction: column; min-height: 0; border-radius: 8px; background: rgba(0, 0, 0, .28); overflow: hidden; }
.ft-cell { flex: 1 1 0; min-height: 0; position: relative; display: grid; place-items: center; padding: 6%; will-change: transform; }
.ft-cell svg { width: 100%; height: 100%; max-width: 100%; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .55)); transition: transform .2s, opacity .2s, filter .2s; }
.ft-board.dim .ft-cell:not(.win) svg { opacity: .25; filter: grayscale(.6) brightness(.6); }
.ft-cell.win svg { animation: tsWin .7s ease-in-out infinite alternate; filter: drop-shadow(0 0 10px rgba(255, 231, 163, .95)) drop-shadow(0 4px 4px rgba(0, 0, 0, .5)); }
.ft-cell.win::after { content: ''; position: absolute; inset: 4%; border-radius: 10px; border: 2px solid rgba(255, 231, 163, .85); box-shadow: 0 0 14px rgba(247, 200, 94, .7), inset 0 0 12px rgba(247, 200, 94, .3); }
.ft-cell.scat::after { border-color: #fff; box-shadow: 0 0 22px #ffd84d; }
.ft-cell.pop svg { transform: scale(0); opacity: 0; transition: transform .25s ease-in, opacity .25s; }
.ft-cell.pop::after { display: none; }
.ft-pay { grid-template-columns: 34px repeat(4, 1fr); }
.ft-pay span svg { width: 30px; height: 30px; }
.ts-frame.ft-frame.free { animation: ftGlow 1.6s ease-in-out infinite alternate; }
@keyframes ftGlow { from { box-shadow: 0 0 0 2px rgba(0, 0, 0, .5), 0 0 40px rgba(247, 200, 94, .5); } to { box-shadow: 0 0 0 2px rgba(0, 0, 0, .5), 0 0 90px rgba(247, 200, 94, .95); } }
@media (max-width: 760px), (max-aspect-ratio: 4/5) {
  .rs-fortaleza .rs-title b, .rs-fortaleza .rs-title em { font-size: clamp(22px, 7vw, 34px); }
  .ft-board { gap: 2px; padding: 2px; }
  .rs-fortaleza .ts-chip span { display: none; }
  .rs-fortaleza .ts-chip i { display: inline; font-size: 14px; }
  .rs-fortaleza .ts-chip { padding: 0 9px; gap: 5px; }
}
