
/* Fantasy Bay Pro Skin */
:root{
  --fb-bg:#0a0a0a;
  --fb-surface:#111214;
  --fb-panel:#15161a;
  --fb-border:#23242a;
  --fb-text:#e8e9ea;
  --fb-dim:#b6b8bb;
  --fb-red:#E53935;
  --fb-red-2:#ff4d49;
  --fb-glow:#ff2b22;
}

html,body{background:var(--fb-bg); color:var(--fb-text);}
a{color:#fff; text-decoration:none; border-bottom:1px solid transparent; transition:.2s;}
a:hover{border-bottom-color:var(--fb-red);}

.section-padded{padding:80px 20px;}
.fb-hero{position:relative; overflow:hidden;}
.fb-hero:before{
  content:""; position:absolute; inset:-20%; background: radial-gradient(600px 300px at 20% 10%, rgba(229,57,53,.25), transparent 60%);
  pointer-events:none;
}
.fb-hero .elementor-heading-title{ text-shadow: 0 6px 24px rgba(0,0,0,.5); }

/* Buttons */
.elementor-button, .wp-block-button__link, .button, .btn, .woocommerce a.button, .woocommerce button.button{
  background:linear-gradient(180deg, var(--fb-red), var(--fb-red-2))!important;
  color:#fff!important; border-radius:12px!important; font-weight:800!important; letter-spacing:.2px;
  box-shadow:0 8px 24px rgba(229,57,53,.25); border:none!important; padding:.9rem 1.25rem;
}
.elementor-button:hover{ transform:translateY(-1px); box-shadow:0 12px 32px rgba(229,57,53,.35); }

/* Cards / Panels */
.fb-card, .fb-slab{ background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.0)); border:1px solid var(--fb-border);
  border-radius:16px; padding:20px; box-shadow:0 10px 30px rgba(0,0,0,.25); backdrop-filter: blur(8px);
}
.fb-chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
.fb-chip{ padding:.45rem .7rem; border:1px solid var(--fb-border); border-radius:999px; background:#14151a; color:#fff; font-weight:700; }
.fb-chip.is-active{ border-color: var(--fb-red); box-shadow:0 0 0 2px rgba(229,57,53,.2) inset; }

/* Headings */
h1,h2,h3,h4,h5,h6,.elementor-heading-title{ color:#fff; }
.section-eyebrow{ color:var(--fb-red); font-weight:800; letter-spacing:.12em; text-transform:uppercase; font-size:.85rem; }

/* Tables in demo */
.table-demo{ width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:12px; }
.table-demo th, .table-demo td{ padding:12px 14px; border-bottom:1px solid var(--fb-border); }
.table-demo thead th{ background:#15161a; color:#fff; position:sticky; top:0; }
.table-demo tbody tr:hover{ background:rgba(255,255,255,.03); }
.badge{ display:inline-block; padding:.28rem .55rem; border-radius:8px; font-weight:800;}
.badge.A{ background:#16a34a; color:#fff; }
.badge.B{ background:#22c55e; color:#031; }
.badge.C{ background:#facc15; color:#321; }
.badge.D{ background:#f59e0b; color:#210; }
.badge.F{ background:#ef4444; color:#fff; }

/* Iframes (Google Sheets) */
.sheet-wrap{ max-width:100%; margin:0 auto; }
.sheet-16x9{ position:relative; width:100%; padding-top:56.25%; }
.sheet-16x9 iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; background:#0f0f10; }

/* Blur teaser */
.blur-wrap{ position:relative; overflow:hidden; border-radius:14px; }
.blur-wrap img{ width:100%; display:block; filter: blur(8px) brightness(.75); transform: scale(1.02); }

/* Header / Footer */
.header-cta .elementor-button{ padding:.6rem 1rem; }
.site-footer, .elementor-location-footer{ background:#0c0d0f; color:#b6b8bb; border-top:1px solid var(--fb-border); }

/* Responsive tweaks */
@media (max-width: 768px){
  .section-padded{ padding:48px 16px; }
}

