:root { --primary: #1DBA84; --secondary: #0E7C66; --accent: #F3C85A; --background: #081311; --surface: #12211D; --textPrimary: #EAF7F2; --textSecondary: #A9C5BB; --font-heading: 'Montserrat', sans-serif; --font-body: 'Roboto Mono', monospace; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body.slotvector_body { font-family: var(--font-body); background-color: var(--background); color: var(--textPrimary); line-height: 1.6; font-size: 16px; overflow-x: hidden; }
h1, h2, h3, h4 { font-family: var(--font-heading); color: var(--textPrimary); }
a { color: var(--primary); text-decoration: none; transition: color 0.3s; }
a:hover { color: var(--accent); }
.slotvector_container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.slotvector_bg_alt { background-color: var(--surface); }
.slotvector_header { background-color: rgba(18, 33, 29, 0.95); position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--secondary); backdrop-filter: blur(5px); }
.slotvector_header_inner { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; max-width: 1200px; margin: 0 auto; }
.slotvector_logo a { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; color: var(--accent); letter-spacing: 1px; }
.slotvector_nav_desktop ul { list-style: none; display: flex; gap: 20px; }
.slotvector_nav_desktop a { color: var(--textPrimary); font-weight: 700; text-transform: uppercase; font-size: 0.9rem; }
.slotvector_nav_desktop a.is-active { color: var(--primary); border-bottom: 2px solid var(--primary); }
.slotvector_wallet_compact { background-color: var(--secondary); padding: 5px 15px; border-radius: 20px; font-weight: 700; display: flex; align-items: center; gap: 10px; border: 1px solid var(--primary); }
.slotvector_wallet_label { color: var(--accent); }
.slotvector_burger_btn { display: none; background: none; border: none; cursor: pointer; flex-direction: column; gap: 5px; }
.slotvector_burger_line { width: 25px; height: 3px; background-color: var(--textPrimary); transition: 0.3s; }
.slotvector_nav_mobile { display: none; background-color: var(--surface); position: absolute; top: 60px; left: 0; right: 0; border-bottom: 1px solid var(--secondary); z-index: 99; }
.slotvector_nav_mobile.is-open { display: block; }
.slotvector_nav_mobile ul { list-style: none; padding: 20px; }
.slotvector_nav_mobile li { margin-bottom: 15px; }
.slotvector_nav_mobile a { display: block; font-weight: 700; text-transform: uppercase; }
@media (max-width: 768px) {
  .slotvector_nav_desktop { display: none; }
  .slotvector_burger_btn { display: flex; }
}
.slotvector_hero { position: relative; background: linear-gradient(135deg, var(--background) 0%, var(--surface) 100%); padding-top: 40px; }
.slotvector_hero_split { display: flex; max-width: 1200px; margin: 0 auto; min-height: 500px; }
.slotvector_hero_content { flex: 1; padding: 40px 20px; display: flex; flex-direction: column; justify-content: center; z-index: 2; }
.slotvector_age_strip { display: inline-block; background-color: var(--accent); color: var(--background); padding: 5px 10px; font-weight: 700; font-size: 0.8rem; margin-bottom: 20px; border-radius: 4px; align-self: flex-start; }
.slotvector_hero_content h1 { font-size: 3rem; margin-bottom: 20px; line-height: 1.1; }
.slotvector_hero_content p { font-size: 1.2rem; color: var(--textSecondary); margin-bottom: 30px; max-width: 500px; }
.slotvector_hero_visual { flex: 1; display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 1; }
.slotvector_visual_panel { width: 100%; height: 100%; min-height: 400px; background-size: cover; background-position: center; border: 4px solid var(--secondary); border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.slotvector_cta_primary { display: inline-block; background-color: var(--primary); color: var(--background); padding: 15px 30px; font-family: var(--font-heading); font-weight: 700; text-transform: uppercase; border-radius: 4px; border: none; cursor: pointer; text-align: center; font-size: 1.1rem; }
.slotvector_cta_primary:hover { background-color: var(--accent); color: var(--background); }
.slotvector_cta_secondary { display: inline-block; background-color: transparent; color: var(--primary); border: 2px solid var(--primary); padding: 10px 20px; font-family: var(--font-heading); font-weight: 700; border-radius: 4px; }
.slotvector_cta_secondary:hover { background-color: var(--primary); color: var(--background); }
.slotvector_ticker_row { background-color: var(--secondary); display: flex; justify-content: space-around; padding: 15px; border-top: 1px solid var(--primary); border-bottom: 1px solid var(--primary); font-family: var(--font-heading); font-size: 0.9rem; flex-wrap: wrap; gap: 10px; }
@media (max-width: 768px) {
  .slotvector_hero_split { flex-direction: column; }
  .slotvector_hero_content h1 { font-size: 2rem; }
  .slotvector_visual_panel { min-height: 250px; }
}
section { padding: 60px 0; }
.slotvector_section_header { text-align: center; margin-bottom: 40px; }
.slotvector_section_header h2 { font-size: 2.2rem; color: var(--primary); }
.slotvector_intro_section h2, .slotvector_economy_section h2, .slotvector_rank_section h2, .slotvector_vip_section h2, .slotvector_fairplay_section h2, .slotvector_faq_section h2, .slotvector_fleet_section h2 { margin-bottom: 20px; font-size: 2rem; }
.slotvector_editorial_split { display: flex; gap: 40px; align-items: center; }
.slotvector_editorial_text { flex: 1; }
.slotvector_editorial_text p { margin-bottom: 15px; }
.slotvector_editorial_image { flex: 1; }
.slotvector_editorial_image img { width: 100%; border-radius: 8px; border: 2px solid var(--secondary); }
@media (max-width: 768px) {
  .slotvector_editorial_split { flex-direction: column; }
}
.slotvector_card_grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.slotvector_feature_card { background-color: var(--surface); padding: 25px; border: 1px solid var(--secondary); border-radius: 8px; transition: transform 0.3s, border-color 0.3s; }
.slotvector_feature_card:hover { transform: translateY(-5px); border-color: var(--primary); }
.slotvector_feature_card h3 { color: var(--accent); margin-bottom: 10px; }
.slotvector_list { margin-left: 20px; margin-top: 15px; }
.slotvector_list li { margin-bottom: 10px; }
.slotvector_achievement_list { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 20px; }
.slotvector_achievement_item { background: var(--background); border: 1px solid var(--secondary); padding: 15px; border-left: 4px solid var(--accent); }
.slotvector_achievement_item h4 { color: var(--primary); }
.slotvector_accordion_group { display: flex; flex-direction: column; gap: 10px; }
.slotvector_accordion_item { border: 1px solid var(--secondary); background: var(--surface); }
.slotvector_accordion_trigger { width: 100%; text-align: left; background: none; border: none; padding: 15px; color: var(--textPrimary); font-family: var(--font-heading); font-weight: 700; cursor: pointer; display: flex; justify-content: space-between; }
.slotvector_accordion_trigger::after { content: '+'; color: var(--primary); }
.slotvector_accordion_trigger[aria-expanded="true"]::after { content: '-'; }
.slotvector_accordion_content { display: none; padding: 0 15px 15px; color: var(--textSecondary); }
.slotvector_page_header { background-color: var(--surface); padding: 40px 0; border-bottom: 1px solid var(--secondary); text-align: center; }
.slotvector_longform h2 { margin-top: 30px; margin-bottom: 15px; color: var(--primary); }
.slotvector_longform p { margin-bottom: 15px; }
.slotvector_contact_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.slotvector_contact_info { padding: 30px; border: 1px solid var(--secondary); border-radius: 8px; }
.slotvector_contact_info hr { border-color: var(--secondary); margin: 20px 0; }
.slotvector_form_group { margin-bottom: 20px; }
.slotvector_form_group label { display: block; margin-bottom: 5px; font-weight: 700; color: var(--textSecondary); }
.slotvector_form_group input, .slotvector_form_group textarea { width: 100%; padding: 10px; background-color: var(--surface); border: 1px solid var(--secondary); color: var(--textPrimary); font-family: var(--font-body); }
.slotvector_form_group input:focus, .slotvector_form_group textarea:focus { outline: none; border-color: var(--primary); }
.slotvector_btn_primary { background-color: var(--primary); color: var(--background); padding: 12px 25px; border: none; font-family: var(--font-heading); font-weight: 700; cursor: pointer; text-transform: uppercase; }
@media (max-width: 768px) {
  .slotvector_contact_grid { grid-template-columns: 1fr; }
}
.slotvector_lobby_header { padding: 40px 0 20px; text-align: center; }
.slotvector_lobby_container { max-width: 1200px; margin: 0 auto; padding: 0 20px 60px; display: flex; gap: 30px; }
.slotvector_lobby_main_column { flex: 3; }
.slotvector_lobby_side_column { flex: 1; display: flex; flex-direction: column; gap: 20px; }
.slotvector_masonry_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; }
.slotvector_game_card, .slotvector_live_game_module { background-color: var(--surface); border: 2px solid var(--secondary); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; gap: 15px; }
.slotvector_game_card h3 { text-align: center; color: var(--accent); border-bottom: 1px solid var(--secondary); padding-bottom: 10px; }
.slotvector_game_board { background-color: var(--background); border: 2px solid #555; border-radius: 4px; height: 200px; display: flex; justify-content: center; align-items: center; overflow: hidden; position: relative; }
.slotvector_slot_board { border-color: #8b6914; }
.slotvector_reel_container { display: flex; gap: 5px; height: 100%; width: 100%; padding: 10px; }
.slotvector_reel { flex: 1; background: #000; border: 1px solid #333; display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; }
.slotvector_reel img { width: 80%; max-height: 30%; object-fit: contain; }
.slotvector_wheel_board_container { position: relative; }
.slotvector_wheel_image { width: 90%; height: 90%; object-fit: contain; transition: transform 3.5s cubic-bezier(0.25, 0.1, 0.25, 1); }
.slotvector_wheel_pointer { position: absolute; top: 5px; left: 50%; transform: translateX(-50%); color: var(--accent); font-size: 24px; z-index: 10; text-shadow: 0 2px 4px #000; }
.slotvector_wheel_pointer_side { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); color: var(--accent); font-size: 24px; z-index: 10; text-shadow: 0 2px 4px #000; }
.slotvector_game_controls { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.slotvector_game_controls select, .slotvector_bet_selector select { background-color: var(--background); color: var(--textPrimary); border: 1px solid var(--primary); padding: 8px; font-family: var(--font-body); flex: 1; min-width: 100px; }
.slotvector_btn_spin { background-color: var(--primary); color: var(--background); border: none; padding: 10px 20px; font-family: var(--font-heading); font-weight: 700; cursor: pointer; flex: 1; min-width: 120px; text-transform: uppercase; }
.slotvector_btn_spin:disabled { opacity: 0.5; cursor: not-allowed; }
.slotvector_game_status { text-align: center; font-size: 0.9rem; color: var(--primary); min-height: 1.5em; }
.slotvector_collapsible_disclaimer { margin-top: 20px; border: 1px solid var(--secondary); }
.slotvector_disclaimer_trigger { width: 100%; padding: 10px; background: var(--surface); color: var(--textSecondary); border: none; cursor: pointer; font-family: var(--font-body); }
.slotvector_disclaimer_content { display: none; padding: 15px; background: var(--background); font-size: 0.85rem; color: var(--textSecondary); }
.slotvector_rank_widget { padding: 20px; border: 1px solid var(--secondary); border-radius: 8px; }
.slotvector_rank_widget h3 { color: var(--primary); margin-bottom: 10px; font-size: 1.2rem; }
.slotvector_progress_bar { height: 10px; background: var(--background); border: 1px solid var(--secondary); margin: 10px 0; }
.slotvector_progress_fill { height: 100%; background: var(--primary); transition: width 0.3s; }
.slotvector_achievement_mini_list { list-style: none; font-size: 0.85rem; color: var(--textSecondary); }
.slotvector_easter_egg_zone { text-align: center; padding: 20px; opacity: 0.5; transition: opacity 0.3s; cursor: pointer; }
.slotvector_easter_egg_zone:hover { opacity: 1; }
.slotvector_radar_icon { width: 50px; height: 50px; }
@media (max-width: 900px) {
  .slotvector_lobby_container { flex-direction: column; }
  .slotvector_masonry_grid { grid-template-columns: 1fr; }
}
.slotvector_home_live_game_section { display: flex; justify-content: center; }
.slotvector_live_game_module { max-width: 600px; width: 100%; margin: 0 auto; }
.slotvector_bet_selector { display: flex; align-items: center; gap: 10px; }
.slotvector_history_panel { font-size: 0.8rem; color: var(--textSecondary); text-align: center; padding-top: 10px; border-top: 1px dotted var(--secondary); }
.slotvector_game_disclaimer { text-align: center; font-size: 0.8rem; margin-top: 10px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.slotvector_footer { background-color: var(--surface); border-top: 2px solid var(--primary); padding: 40px 20px; font-size: 0.85rem; color: var(--textSecondary); }
.slotvector_footer_inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; }
.slotvector_footer_legal_links { display: flex; flex-direction: column; gap: 10px; }
.slotvector_footer_legal_links a { color: var(--textSecondary); text-decoration: underline; }
.slotvector_footer_commitment h3 { color: var(--primary); margin-bottom: 10px; font-size: 1rem; text-transform: uppercase; }
.slotvector_footer_commitment p { margin-bottom: 10px; }
.slotvector_footer_partners { display: flex; gap: 15px; align-items: flex-start; }
.slotvector_footer_partners a { display: inline-block; padding: 5px; border-radius: 4px; }
.slotvector_partner_link_light { background-color: #fff; }
.slotvector_partner_link_dark { background-color: #111; }
.slotvector_footer_partners img { height: 40px; width: auto; }
.slotvector_footer_identity p { margin-bottom: 5px; }
.slotvector_custom_notification { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%) translateY(100px); background: var(--primary); color: var(--background); padding: 15px 25px; border-radius: 4px; font-weight: 700; transition: transform 0.3s; z-index: 1000; opacity: 0; pointer-events: none; }
.slotvector_custom_notification.show { transform: translateX(-50%) translateY(0); opacity: 1; }

/* footer-logo-contrast-guard */
a[href*="begambleaware.org"] img,
a[href*="begambleaware.org"] picture,
a[href*="begambleaware.org"] .partner-logo,
img[src*="gambleaware"],
img[alt*="BeGambleAware" i],
img[alt*="GambleAware" i] {
  background: #111111 !important;
  padding: 0.45rem 0.7rem !important;
  border-radius: 0.7rem !important;
  box-sizing: border-box !important;
}

a[href*="gamcare.org"] img,
a[href*="gamcare.org"] picture,
a[href*="gamcare.org"] .partner-logo,
img[src*="gamcare"],
img[alt*="GamCare" i] {
  background: #ffffff !important;
  padding: 0.45rem 0.7rem !important;
  border-radius: 0.7rem !important;
  box-sizing: border-box !important;
}

a[href*="begambleaware.org"],
a[href*="gamcare.org"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
