:root {
  --c-pri: #0EA5A8;
  --c-sec: #1F6F78;
  --c-acc: #D88C4A;
  --c-bg: #08161A;
  --c-surf: #13272C;
  --c-txt-1: #E9F5F5;
  --c-txt-2: #A6BDBE;
  --f-head: 'Oswald', sans-serif;
  --f-body: 'Inter', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0; overflow-x: hidden;
  background-color: var(--c-bg); color: var(--c-txt-1);
  font-family: var(--f-body); font-size: 16px; line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: 16px; }

.tribesportus_container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.tribesportus_h1, .tribesportus_h2, .tribesportus_h3, .tribesportus_h4 { font-family: var(--f-head); font-weight: 700; margin: 0; line-height: 1.2; text-transform: uppercase; }
.tribesportus_h1 { font-size: clamp(2rem, 5vw, 3.5rem); margin-bottom: 16px; }
.tribesportus_h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); margin-bottom: 16px; color: var(--c-acc); }
.tribesportus_h3 { font-size: 1.4rem; margin-bottom: 12px; }
.tribesportus_p { margin: 0 0 16px; color: var(--c-txt-2); }

.reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.5s ease, transform 0.5s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .reveal { transition: none !important; transform: none !important; opacity: 1 !important; } }

.tribesportus_btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; font-family: var(--f-head); text-transform: uppercase; font-weight: 700; font-size: 1.1rem; border: none; border-radius: 4px; transition: transform 0.2s, background-color 0.2s, opacity 0.2s; min-height: 44px; min-width: 44px; text-align: center; }
.tribesportus_btn:active { transform: scale(0.96); }
.tribesportus_btn_primary { background-color: var(--c-acc); color: #fff; }
.tribesportus_btn_primary:hover { opacity: 0.9; }
.tribesportus_btn_secondary { background-color: transparent; border: 2px solid var(--c-acc); color: var(--c-acc); }
.tribesportus_btn_secondary:hover { background-color: rgba(216, 140, 74, 0.1); }

.tribesportus_header { position: sticky; top: 0; z-index: 100; background-color: var(--c-bg); border-bottom: 1px solid var(--c-surf); transition: background-color 0.3s, box-shadow 0.3s; }
.tribesportus_header.header--scrolled { background-color: rgba(8, 22, 26, 0.95); backdrop-filter: blur(14px); box-shadow: 0 2px 24px rgba(0,0,0,0.5); border-bottom: none; }
.tribesportus_header_inner { display: flex; align-items: center; justify-content: space-between; height: 72px; padding: 0 16px; max-width: 1200px; margin: 0 auto; }
.tribesportus_logo { display: flex; align-items: center; gap: 12px; }
.tribesportus_logo_img { height: 40px; }
.tribesportus_logo_text { font-family: var(--f-head); font-size: 1.5rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 1px; }

.tribesportus_menu { display: none; flex-direction: column; position: absolute; top: 72px; left: 0; right: 0; background: var(--c-surf); padding: 16px; border-bottom: 1px solid var(--c-bg); box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.tribesportus_menu.is-open { display: flex; }
.tribesportus_nav_link { font-family: var(--f-head); text-transform: uppercase; font-size: 1.1rem; color: var(--c-txt-1); padding: 12px 16px; position: relative; display: block; }
.tribesportus_nav_link::after { content: ''; position: absolute; bottom: 8px; left: 16px; width: 0; height: 2px; background-color: var(--c-acc); transition: width 0.2s ease; }
.tribesportus_nav_link:hover::after { width: calc(100% - 32px); }

.tribesportus_header_actions { display: flex; align-items: center; gap: 8px; }
.tribesportus_action_icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--c-txt-1); position: relative; }
.tribesportus_action_icon svg { width: 24px; height: 24px; }
.tribesportus_auth_text { display: none; font-family: var(--f-head); text-transform: uppercase; font-size: 0.9rem; margin-left: 8px; }
.tribesportus_cart_badge { position: absolute; top: 4px; right: 4px; background-color: #E53E3E; color: #fff; font-size: 10px; font-weight: 700; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; }
.pop-anim { animation: badgePop 0.28s ease-out; }
@keyframes badgePop { 0% { transform: scale(1); background-color: #fff; color: #E53E3E; } 50% { transform: scale(1.5); } 100% { transform: scale(1); background-color: #E53E3E; color: #fff; } }
.tribesportus_burger { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: none; border: none; color: var(--c-txt-1); }
.tribesportus_burger svg { width: 28px; height: 28px; }

@media (min-width: 768px) {
  .tribesportus_menu { display: flex; flex-direction: row; position: static; background: none; padding: 0; border: none; box-shadow: none; gap: 24px; }
  .tribesportus_nav_link { padding: 8px 0; }
  .tribesportus_nav_link::after { left: 0; bottom: 0; }
  .tribesportus_nav_link:hover::after { width: 100%; }
  .tribesportus_burger { display: none; }
  .tribesportus_auth_text { display: block; }
}

.tribesportus_hero_split { display: flex; flex-direction: column; min-height: calc(100vh - 72px); background-color: var(--c-bg); }
.tribesportus_hero_content { padding: 60px 20px; display: flex; flex-direction: column; justify-content: center; z-index: 2; }
.tribesportus_hero_actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.tribesportus_hero_ticker { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--c-surf); display: flex; flex-wrap: wrap; gap: 16px; font-size: 0.9rem; color: var(--c-pri); font-weight: 600; text-transform: uppercase; }
.tribesportus_hero_visual { flex: 1; min-height: 300px; overflow: hidden; position: relative; }
.tribesportus_hero_img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
@media(min-width:992px){
  .tribesportus_hero_split { flex-direction: row; }
  .tribesportus_hero_content { width: 50%; padding: 80px 5%; }
  .tribesportus_hero_visual { width: 50%; min-height: auto; }
}

.tribesportus_section_title { text-align: center; margin-bottom: 40px; }
.tribesportus_center_cta { text-align: center; margin-top: 48px; }
section { padding: 80px 0; border-bottom: 1px solid var(--c-surf); }

.tribesportus_trust_grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.tribesportus_trust_item { text-align: center; padding: 24px; background: var(--c-surf); border-radius: 8px; }
.tribesportus_trust_item svg { width: 40px; height: 40px; color: var(--c-acc); margin-bottom: 16px; }
@media(min-width:768px){ .tribesportus_trust_grid { grid-template-columns: repeat(2, 1fr); } }
@media(min-width:1024px){ .tribesportus_trust_grid { grid-template-columns: repeat(4, 1fr); } }

.tribesportus_product_grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media(min-width:481px){ .tribesportus_product_grid { grid-template-columns: repeat(2, 1fr); } }
@media(min-width:768px){ .tribesportus_product_grid { grid-template-columns: repeat(3, 1fr); } }
@media(min-width:1024px){ .tribesportus_shop_layout .tribesportus_product_grid { grid-template-columns: repeat(3, 1fr); } }

.tribesportus_card { background: var(--c-surf); border-radius: 8px; overflow: hidden; position: relative; transition: box-shadow 0.22s; display: flex; flex-direction: column; }
.tribesportus_card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.5); }
.tribesportus_card_img_wrap { position: relative; aspect-ratio: 4/5; overflow: hidden; cursor: pointer; }
.tribesportus_card_img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.22s; }
.tribesportus_card:hover .tribesportus_card_img { transform: scale(1.07); }
.tribesportus_card_badge { position: absolute; top: 12px; left: 12px; background: var(--c-acc); color: #fff; padding: 4px 10px; font-family: var(--f-head); font-size: 0.8rem; text-transform: uppercase; font-weight: 700; }
.tribesportus_card_heart { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,0.5); border: none; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; cursor: pointer; backdrop-filter: blur(4px); transition: transform 0.2s; }
.tribesportus_card_heart:hover { transform: scale(1.1); }
.tribesportus_card_heart.is-active { color: #E53E3E; }
.tribesportus_card_heart.is-active svg { fill: #E53E3E; }
@keyframes heartBounce { 0%{transform:scale(1);} 50%{transform:scale(1.45);} 100%{transform:scale(1);} }
.heart-anim { animation: heartBounce 0.25s ease; }
.tribesportus_card_info { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.tribesportus_card_cat { font-size: 0.8rem; color: var(--c-pri); text-transform: uppercase; font-weight: 600; margin-bottom: 4px; }
.tribesportus_card_name { font-family: var(--f-head); font-size: 1.2rem; margin: 0 0 8px; cursor: pointer; }
.tribesportus_card_price { font-weight: 600; color: var(--c-txt-1); margin-bottom: 12px; font-size: 1.1rem; }
.tribesportus_card_desc { font-size: 0.9rem; color: var(--c-txt-2); margin-bottom: 20px; flex: 1; }
.tribesportus_card_add { width: 100%; font-size: 1rem; padding: 10px; margin-top: auto; }

.tribesportus_cat_grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.tribesportus_cat_card { position: relative; height: 200px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; overflow: hidden; border-radius: 8px; }
.tribesportus_cat_bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.8; transition: transform 0.3s; z-index: 1; }
.tribesportus_cat_card:hover .tribesportus_cat_bg { transform: scale(1.05); }
.tribesportus_cat_title { position: relative; z-index: 2; margin: 0; color: #fff; font-size: 1.8rem; }
.tribesportus_cat_desc { position: relative; z-index: 2; margin: 8px 0 0; color: rgba(255,255,255,0.8); font-size: 0.9rem; }
@media(min-width:768px){ .tribesportus_cat_grid { grid-template-columns: repeat(2, 1fr); } }
@media(min-width:1024px){ .tribesportus_cat_grid { grid-template-columns: repeat(4, 1fr); } }

.tribesportus_split { display: flex; flex-direction: column; gap: 40px; align-items: center; }
.tribesportus_split_text { flex: 1; }
.tribesportus_split_img { flex: 1; width: 100%; border-radius: 8px; overflow: hidden; }
@media(min-width:992px){ .tribesportus_split { flex-direction: row; } }

.tribesportus_test_grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.tribesportus_test_card { background: var(--c-surf); padding: 32px; border-radius: 8px; border-left: 4px solid var(--c-sec); }
.tribesportus_stars { color: var(--c-acc); font-size: 1.2rem; margin-bottom: 16px; }
.tribesportus_test_quote { font-style: italic; margin-bottom: 16px; }
.tribesportus_test_author { font-weight: 600; font-family: var(--f-head); text-transform: uppercase; color: var(--c-pri); }
@media(min-width:768px){ .tribesportus_test_grid { grid-template-columns: repeat(2, 1fr); } }
@media(min-width:1200px){ .tribesportus_test_grid { grid-template-columns: repeat(3, 1fr); } }

.tribesportus_ed_grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.tribesportus_ed_card { background: var(--c-surf); border-radius: 8px; overflow: hidden; }
.tribesportus_ed_img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.tribesportus_ed_content { padding: 24px; }
@media(min-width:768px){ .tribesportus_ed_grid { grid-template-columns: repeat(3, 1fr); } }

.tribesportus_tips_grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.tribesportus_tip_item { background: rgba(19, 39, 44, 0.5); padding: 24px; border-radius: 8px; border: 1px solid var(--c-surf); }
.tribesportus_tip_title { color: var(--c-pri); margin-bottom: 8px; }
@media(min-width:768px){ .tribesportus_tips_grid { grid-template-columns: repeat(2, 1fr); } }

.tribesportus_mega_content { background: var(--c-surf); padding: 32px; border-radius: 8px; }
.tribesportus_mega_intro { margin-bottom: 40px; font-size: 1.1rem; border-bottom: 1px solid var(--c-bg); padding-bottom: 24px; }
.tribesportus_mega_content h3 { color: var(--c-acc); margin-top: 40px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.tribesportus_mega_comparison { width: 100%; background: var(--c-bg); border-radius: 8px; overflow: hidden; margin: 24px 0; border: 1px solid var(--c-sec); }
.tribesportus_comp_row { display: flex; flex-direction: column; padding: 16px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.tribesportus_comp_row:last-child { border-bottom: none; }
.tribesportus_comp_row span { flex: 1; padding: 8px 0; }
.tribesportus_comp_header { background: var(--c-sec); font-family: var(--f-head); text-transform: uppercase; font-weight: 700; color: #fff; }
@media(min-width:768px){
  .tribesportus_mega_content { padding: 60px; }
  .tribesportus_comp_row { flex-direction: row; }
  .tribesportus_comp_row span { padding: 0 16px; }
}

.tribesportus_news_box { background: var(--c-sec); padding: 60px 20px; text-align: center; border-radius: 8px; }
.tribesportus_news_form { display: flex; flex-direction: column; gap: 12px; max-width: 500px; margin: 24px auto 0; }
.tribesportus_input { width: 100%; padding: 14px; border: 1px solid var(--c-bg); border-radius: 4px; background: var(--c-surf); color: var(--c-txt-1); outline: none; }
.tribesportus_input:focus { border-color: var(--c-acc); }
@media(min-width:600px){ .tribesportus_news_form { flex-direction: row; } .tribesportus_news_form .tribesportus_input { flex: 1; } }

.tribesportus_footer { background: var(--c-surf); padding: 60px 0 24px; border-top: 4px solid var(--c-pri); }
.tribesportus_footer_grid { display: flex; flex-direction: column; gap: 40px; margin-bottom: 40px; }
.tribesportus_footer_col { flex: 1; }
.tribesportus_footer_h4 { color: #fff; margin-bottom: 16px; }
.tribesportus_footer_list { list-style: none; padding: 0; margin: 0; }
.tribesportus_footer_list li { margin-bottom: 8px; }
.tribesportus_footer_link { color: var(--c-txt-2); transition: color 0.2s; padding: 8px 0; display: inline-block; }
.tribesportus_footer_link:hover { color: var(--c-acc); }
.tribesportus_footer_bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 24px; text-align: center; color: var(--c-txt-2); font-size: 0.9rem; }
@media(min-width:768px){ .tribesportus_footer_grid { flex-direction: row; } }

.tribesportus_shop_header { background: var(--c-surf); padding: 60px 0; text-align: center; border-bottom: 1px solid var(--c-sec); }
.tribesportus_shop_layout { display: flex; flex-direction: column; gap: 32px; padding-top: 40px; padding-bottom: 80px; }
.tribesportus_sidebar { width: 100%; }
.tribesportus_filter_list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 32px; }
.tribesportus_filter_btn { background: none; border: 1px solid var(--c-surf); color: var(--c-txt-2); padding: 10px 16px; text-align: left; border-radius: 4px; font-weight: 500; transition: all 0.2s; }
.tribesportus_filter_btn:hover { background: var(--c-surf); }
.tribesportus_filter_btn.is-active { background: var(--c-sec); color: #fff; border-color: var(--c-sec); }
.tribesportus_shop_main { flex: 1; }
.tribesportus_shop_controls { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; gap: 16px; }
.tribesportus_sort_select { background: var(--c-surf); color: var(--c-txt-1); border: 1px solid var(--c-sec); padding: 8px 16px; border-radius: 4px; width: 100%; max-width: 250px; }
@media(min-width:768px){
  .tribesportus_shop_layout { flex-direction: row; }
  .tribesportus_sidebar { width: 250px; position: sticky; top: 100px; height: max-content; }
  .tribesportus_shop_controls { flex-direction: row; align-items: center; }
}

.tribesportus_breadcrumb { margin-bottom: 24px; font-size: 0.9rem; color: var(--c-txt-2); padding-top: 24px; }
.tribesportus_breadcrumb a { color: var(--c-pri); }
.tribesportus_product_split { display: flex; flex-direction: column; gap: 40px; margin-bottom: 60px; }
.tribesportus_gallery { flex: 1; }
.tribesportus_main_img_wrap { background: var(--c-surf); border-radius: 8px; overflow: hidden; margin-bottom: 16px; aspect-ratio: 4/5; }
.tribesportus_main_img { width: 100%; height: 100%; object-fit: cover; }
.tribesportus_thumb_strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media(max-width: 480px){ .tribesportus_thumb_strip { grid-template-columns: repeat(2, 1fr); } }
.tribesportus_thumb { aspect-ratio: 1; cursor: pointer; border-radius: 4px; overflow: hidden; border: 2px solid transparent; transition: border-color 0.2s; }
.tribesportus_thumb.is-active { border-color: var(--c-acc); }
.tribesportus_info_panel { flex: 1; }
.tribesportus_cat_badge { color: var(--c-pri); font-weight: 600; text-transform: uppercase; font-size: 0.9rem; margin-bottom: 8px; display: inline-block; }
.tribesportus_price_row { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.tribesportus_pd_price { font-size: 2rem; font-weight: 700; color: #fff; }
.tribesportus_pd_badge { background: var(--c-acc); color: #fff; padding: 4px 12px; font-family: var(--f-head); text-transform: uppercase; border-radius: 4px; font-size: 0.9rem; }
.tribesportus_pd_short { font-size: 1.1rem; color: var(--c-txt-2); margin-bottom: 24px; }
.tribesportus_tags_row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.tribesportus_tag { background: var(--c-surf); padding: 4px 12px; border-radius: 20px; font-size: 0.85rem; border: 1px solid var(--c-sec); }
.tribesportus_pd_stock { color: #48BB78; font-weight: 600; margin-bottom: 24px; }
.tribesportus_pd_add_btn { width: 100%; padding: 18px; font-size: 1.2rem; margin-bottom: 32px; }
.tribesportus_pd_full { color: var(--c-txt-2); border-top: 1px solid var(--c-surf); padding-top: 24px; margin-bottom: 24px; }
.tribesportus_pd_return { font-size: 0.9rem; color: var(--c-txt-2); display: flex; align-items: center; gap: 8px; }
.tribesportus_pd_return::before { content: '✓'; color: var(--c-acc); font-weight: bold; }
@media(min-width:768px){ .tribesportus_product_split { flex-direction: row; } }

.tribesportus_cart_layout { display: flex; flex-direction: column; gap: 40px; }
.tribesportus_cart_items { flex: 1; }
.tribesportus_cart_item { display: flex; flex-direction: column; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--c-surf); }
.tribesportus_ci_img { width: 100px; height: 125px; object-fit: cover; border-radius: 4px; }
.tribesportus_ci_details { flex: 1; }
.tribesportus_ci_name { font-family: var(--f-head); font-size: 1.2rem; margin: 0 0 8px; }
.tribesportus_ci_price { color: var(--c-acc); font-weight: 700; margin-bottom: 12px; }
.tribesportus_ci_controls { display: flex; align-items: center; gap: 16px; }
.tribesportus_qty_wrap { display: flex; align-items: center; border: 1px solid var(--c-surf); border-radius: 4px; overflow: hidden; }
.tribesportus_qty_btn { background: var(--c-surf); border: none; color: #fff; width: 36px; height: 36px; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; }
.tribesportus_qty_val { width: 40px; text-align: center; font-weight: 600; }
.tribesportus_ci_remove { background: none; border: none; color: #E53E3E; font-size: 0.9rem; text-decoration: underline; padding: 8px 0; }
.tribesportus_cart_summary { width: 100%; background: var(--c-surf); padding: 32px; border-radius: 8px; height: max-content; }
.tribesportus_summary_row { display: flex; justify-content: space-between; margin-bottom: 16px; color: var(--c-txt-2); }
.tribesportus_summary_total { font-size: 1.5rem; font-weight: 700; color: #fff; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 16px; margin-top: 16px; margin-bottom: 0; }
.tribesportus_free_ship_wrap { margin: 24px 0; }
.tribesportus_free_ship_text { font-size: 0.9rem; margin-bottom: 8px; color: var(--c-pri); }
.tribesportus_free_ship_bar { height: 6px; background: var(--c-bg); border-radius: 3px; overflow: hidden; }
.tribesportus_free_ship_fill { height: 100%; background: var(--c-acc); transition: width 0.3s; }
.tribesportus_trust_badges_cart { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; color: #48BB78; font-size: 0.9rem; font-weight: 600; }
@media(min-width:600px){ .tribesportus_cart_item { flex-direction: row; } }
@media(min-width:992px){ .tribesportus_cart_layout { flex-direction: row; } .tribesportus_cart_summary { width: 350px; position: sticky; top: 100px; } }

.tribesportus_form { display: flex; flex-direction: column; gap: 16px; }
.tribesportus_form_row { display: flex; flex-direction: column; gap: 16px; }
.tribesportus_form_group { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.tribesportus_label { font-size: 0.9rem; color: var(--c-txt-2); font-weight: 500; }
.tribesportus_form_error { color: #E53E3E; font-size: 0.9rem; min-height: 20px; }
@media(min-width:600px){ .tribesportus_form_row { flex-direction: row; } }

.tribesportus_modal_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(8, 22, 26, 0.9); backdrop-filter: blur(4px); z-index: 1000; display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.2s; }
.tribesportus_modal_overlay.is-active { display: flex; opacity: 1; }
.tribesportus_modal_panel { background: var(--c-bg); border: 1px solid var(--c-sec); padding: 32px; border-radius: 8px; width: calc(100% - 32px); max-width: 600px; max-height: 90vh; overflow-y: auto; position: relative; transform: translateY(30px); transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
.tribesportus_modal_overlay.is-active .tribesportus_modal_panel { transform: translateY(0); }
.tribesportus_modal_close { position: absolute; top: 16px; right: 16px; background: none; border: none; color: var(--c-txt-2); font-size: 1.5rem; width: 44px; height: 44px; }
.tribesportus_success_icon { width: 64px; height: 64px; border-radius: 50%; background: #48BB78; color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; }
.tribesportus_order_summary_box { background: var(--c-surf); padding: 16px; border-radius: 4px; margin-bottom: 24px; text-align: left; }

.tribesportus_auth_box { background: var(--c-surf); border-radius: 8px; overflow: hidden; margin: 0 auto; }
.tribesportus_auth_tabs { display: flex; border-bottom: 1px solid var(--c-bg); }
.tribesportus_auth_tab { flex: 1; padding: 20px; background: none; border: none; color: var(--c-txt-2); font-family: var(--f-head); text-transform: uppercase; font-weight: 700; font-size: 1.1rem; }
.tribesportus_auth_tab.is-active { color: #fff; border-bottom: 3px solid var(--c-acc); }
.tribesportus_auth_panel { padding: 40px 32px; }

.tribesportus_dashboard_header { display: flex; flex-direction: column; gap: 24px; margin-bottom: 40px; border-bottom: 1px solid var(--c-surf); padding-bottom: 24px; }
@media(min-width:600px){ .tribesportus_dashboard_header { flex-direction: row; justify-content: space-between; align-items: flex-end; } }
.tribesportus_dashboard_grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.tribesportus_dashboard_card { background: var(--c-surf); padding: 24px; border-radius: 8px; }
.tribesportus_order_empty { text-align: center; padding: 40px 0; color: var(--c-txt-2); }
.tribesportus_wishlist_grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.tribesportus_wl_item { display: flex; align-items: center; gap: 16px; padding: 16px; background: var(--c-bg); border-radius: 4px; }
.tribesportus_wl_img { width: 60px; height: 75px; object-fit: cover; border-radius: 4px; }
.tribesportus_wl_info { flex: 1; }
.tribesportus_wl_actions { display: flex; flex-direction: column; gap: 8px; }
@media(min-width:768px){ .tribesportus_wishlist_grid { grid-template-columns: repeat(2, 1fr); } }

.tribesportus_contact_grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
.tribesportus_contact_form_wrap { background: var(--c-surf); padding: 32px; border-radius: 8px; }
.tribesportus_info_block { margin-bottom: 32px; }
@media(min-width:768px){ .tribesportus_contact_grid { grid-template-columns: 3fr 2fr; } }

.tribesportus_faq_list { display: flex; flex-direction: column; gap: 16px; }
.tribesportus_faq_item { background: var(--c-surf); border-radius: 8px; overflow: hidden; }
.tribesportus_faq_btn { width: 100%; padding: 20px; text-align: left; background: none; border: none; color: #fff; font-family: var(--f-head); font-size: 1.2rem; font-weight: 700; position: relative; }
.tribesportus_faq_btn::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: var(--c-acc); }
.tribesportus_faq_btn.is-open::after { content: '−'; }
.tribesportus_faq_content { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }

.tribesportus_policy_wrap { max-width: 800px; padding: 60px 16px 100px; }
.tribesportus_policy_list { margin: 0 0 24px 24px; padding: 0; color: var(--c-txt-2); }
.tribesportus_policy_list li { margin-bottom: 8px; }

.tribesportus_toast { position: fixed; bottom: 24px; right: 24px; background: var(--c-surf); color: #fff; padding: 16px 24px; border-radius: 4px; box-shadow: 0 8px 24px rgba(0,0,0,0.5); z-index: 9999; border-left: 4px solid var(--c-acc); transform: translateX(110%); opacity: 0; transition: transform 0.27s ease-out, opacity 0.2s; }
.tribesportus_toast.is-visible { transform: translateX(0); opacity: 1; }

.tribesportus_chat_widget { position: fixed; bottom: 24px; right: 24px; z-index: 9000; }
.tribesportus_chat_toggle { width: 60px; height: 60px; border-radius: 50%; background: var(--c-pri); color: #fff; border: none; box-shadow: 0 4px 12px rgba(0,0,0,0.4); display: flex; align-items: center; justify-content: center; transition: transform 0.3s; }
.tribesportus_chat_toggle svg { width: 28px; height: 28px; transition: transform 0.3s; }
.tribesportus_chat_toggle.is-open svg { transform: rotate(45deg); }
.tribesportus_chat_panel { position: absolute; bottom: 80px; right: 0; width: calc(100vw - 32px); max-width: 360px; background: var(--c-bg); border: 1px solid var(--c-sec); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; max-height: 0; opacity: 0; transition: max-height 0.27s ease-out, opacity 0.2s; box-shadow: 0 8px 32px rgba(0,0,0,0.6); }
.tribesportus_chat_panel.is-open { max-height: 450px; opacity: 1; }
.tribesportus_chat_header { background: var(--c-sec); padding: 16px; font-family: var(--f-head); text-transform: uppercase; font-weight: 700; color: #fff; }
.tribesportus_chat_history { flex: 1; padding: 16px; overflow-y: auto; height: 250px; display: flex; flex-direction: column; gap: 12px; }
.tribesportus_chat_msg { padding: 10px 14px; border-radius: 16px; font-size: 0.9rem; max-width: 85%; }
.tribesportus_chat_msg.bot { background: var(--c-surf); align-self: flex-start; border-bottom-left-radius: 4px; }
.tribesportus_chat_msg.user { background: var(--c-acc); color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.tribesportus_chat_input_wrap { display: flex; padding: 12px; border-top: 1px solid var(--c-surf); background: var(--c-bg); }
.tribesportus_chat_input { flex: 1; padding: 10px; border: 1px solid var(--c-surf); border-radius: 20px; background: var(--c-surf); color: #fff; outline: none; }
.tribesportus_chat_input:focus { border-color: var(--c-pri); }
.tribesportus_chat_send { background: none; border: none; color: var(--c-pri); padding: 0 12px; font-weight: 600; text-transform: uppercase; }

.tribesportus_cookie_banner { position: fixed; bottom: 0; left: 0; width: 100%; background: var(--c-surf); border-top: 1px solid var(--c-sec); padding: 20px; z-index: 9500; display: flex; flex-direction: column; gap: 16px; align-items: center; justify-content: center; transform: translateY(100%); transition: transform 0.36s ease-out; box-shadow: 0 -4px 24px rgba(0,0,0,0.5); }
.tribesportus_cookie_banner.is-visible { transform: translateY(0); }
.tribesportus_cookie_text { font-size: 0.9rem; color: var(--c-txt-2); text-align: center; margin: 0; }
.tribesportus_cookie_actions { display: flex; gap: 16px; align-items: center; }
@media(min-width:768px){ .tribesportus_cookie_banner { flex-direction: row; justify-content: space-between; padding: 20px 40px; } .tribesportus_cookie_text { text-align: left; } }

/* ==========================================================================
   CLUB RATING & VOTING STYLES (PREMIUM EXPANSION)
   ========================================================================== */

.tribesportus_rating_preview { background-color: var(--c-bg); border-bottom: 1px solid var(--c-surf); padding: 80px 0; }
.tribesportus_rating_section_header { text-align: center; margin-bottom: 48px; }
.tribesportus_rating_section_header p { max-width: 600px; margin: 8px auto 0; color: var(--c-txt-2); }

/* Club Cards Layouts */
.tribesportus_club_grid { display: grid; grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
@media(min-width:600px){ .tribesportus_club_grid { grid-template-columns: repeat(2, 1fr); } }
@media(min-width:1024px){ .tribesportus_club_grid { grid-template-columns: repeat(3, 1fr); } }

.tribesportus_club_card {
  background: var(--c-surf);
  border-radius: 8px;
  border: 1px solid rgba(14, 165, 168, 0.15);
  padding: 24px;
  position: relative;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s, border-color 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.tribesportus_club_card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; width: 100%; height: 4px;
  background: transparent;
  transition: background-color 0.3s;
}
.tribesportus_club_card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 15px rgba(14, 165, 168, 0.1);
  border-color: rgba(14, 165, 168, 0.4);
}

/* Medal / Place badge styling */
.tribesportus_club_badge_rank {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-family: var(--f-head);
  font-weight: 700;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 22, 26, 0.5);
  color: var(--c-txt-2);
  border: 1px solid var(--c-sec);
}
.tribesportus_club_card.place-1::before { background: linear-gradient(90deg, #D4AF37, #FFD700); }
.tribesportus_club_card.place-1 .tribesportus_club_badge_rank { background: #FFD700; color: #000; border: none; box-shadow: 0 0 10px rgba(255, 215, 0, 0.4); }
.tribesportus_club_card.place-2::before { background: linear-gradient(90deg, #7F8C8D, #BDC3C7); }
.tribesportus_club_card.place-2 .tribesportus_club_badge_rank { background: #BDC3C7; color: #000; border: none; box-shadow: 0 0 10px rgba(189, 195, 199, 0.4); }
.tribesportus_club_card.place-3::before { background: linear-gradient(90deg, #A0522D, #CD7F32); }
.tribesportus_club_card.place-3 .tribesportus_club_badge_rank { background: #CD7F32; color: #fff; border: none; box-shadow: 0 0 10px rgba(205, 127, 50, 0.4); }

/* Club Info Row */
.tribesportus_club_identity { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.tribesportus_club_logo_wrap {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(8, 22, 26, 0.6);
  border: 1px solid rgba(14, 165, 168, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  transition: transform 0.3s;
}
.tribesportus_club_card:hover .tribesportus_club_logo_wrap { transform: rotate(5deg) scale(1.05); }
.tribesportus_club_logo_wrap svg { width: 100%; height: 100%; }

.tribesportus_club_meta { display: flex; flex-direction: column; }
.tribesportus_club_name { font-family: var(--f-head); font-size: 1.3rem; margin: 0 0 4px; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; }
.tribesportus_club_sport { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; color: var(--c-pri); }

/* Club Stats Row */
.tribesportus_club_stats { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.tribesportus_stat_row { display: flex; align-items: center; justify-content: space-between; font-size: 0.9rem; }
.tribesportus_stat_label { color: var(--c-txt-2); display: inline-flex; align-items: center; gap: 6px; }
.tribesportus_stat_label svg { width: 16px; height: 16px; color: var(--c-pri); }
.tribesportus_stat_val { font-weight: 600; color: var(--c-txt-1); }

/* Progress bar style */
.tribesportus_activity_track { width: 100%; height: 6px; background: rgba(8, 22, 26, 0.6); border-radius: 3px; overflow: hidden; margin-top: 4px; border: 1px solid rgba(14, 165, 168, 0.05); }
.tribesportus_activity_fill { height: 100%; background: linear-gradient(90deg, var(--c-sec), var(--c-pri)); border-radius: 3px; transition: width 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); }

/* Vote Button Custom Styling */
.tribesportus_btn_vote {
  width: 100%;
  padding: 12px 20px;
  font-size: 0.95rem;
  border-radius: 4px;
  background-color: transparent;
  border: 1px solid var(--c-acc);
  color: var(--c-acc);
  font-family: var(--f-head);
  text-transform: uppercase;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease-in-out;
}
.tribesportus_btn_vote:hover {
  background-color: var(--c-acc);
  color: #fff;
  box-shadow: 0 4px 12px rgba(216, 140, 74, 0.2);
}
.tribesportus_btn_vote svg { width: 18px; height: 18px; stroke: currentColor; fill: none; transition: transform 0.2s; }
.tribesportus_btn_vote:hover svg { transform: scale(1.1); }

/* Voted State */
.tribesportus_btn_vote.voted {
  background-color: #2F855A;
  border-color: #2F855A;
  color: #fff;
  cursor: default;
}
.tribesportus_btn_vote.voted:hover {
  box-shadow: none;
}
.tribesportus_btn_vote.voted svg { fill: currentColor; }

/* Filter list styling */
.tribesportus_filter_wrap {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 8px 4px 20px;
  margin-bottom: 32px;
  -webkit-overflow-scrolling: touch;
}
.tribesportus_filter_wrap::-webkit-scrollbar { height: 4px; }
.tribesportus_filter_wrap::-webkit-scrollbar-track { background: var(--c-bg); }
.tribesportus_filter_wrap::-webkit-scrollbar-thumb { background: var(--c-surf); border-radius: 2px; }

.tribesportus_filter_tag {
  background: var(--c-surf);
  color: var(--c-txt-2);
  border: 1px solid var(--c-sec);
  padding: 10px 20px;
  border-radius: 24px;
  font-family: var(--f-head);
  text-transform: uppercase;
  font-size: 0.95rem;
  font-weight: 700;
  white-space: nowrap;
  transition: all 0.2s;
}
.tribesportus_filter_tag:hover {
  border-color: var(--c-pri);
  color: var(--c-txt-1);
}
.tribesportus_filter_tag.is-active {
  background: var(--c-pri);
  color: #fff;
  border-color: var(--c-pri);
  box-shadow: 0 4px 12px rgba(14, 165, 168, 0.3);
}

/* Page Banner/Hero Details */
.tribesportus_rating_hero {
  background-image: linear-gradient(rgba(8, 22, 26, 0.85), rgba(8, 22, 26, 0.95)), url('images/rating-analytics.png');
  background-size: cover;
  background-position: center;
  padding: 120px 20px 80px;
  text-align: center;
  border-bottom: 1px solid var(--c-sec);
}

/* Analytics Article Block */
.tribesportus_rating_article { padding: 80px 0; background-color: var(--c-surf); }
.tribesportus_article_split { display: flex; flex-direction: column; gap: 48px; align-items: center; }
@media(min-width:992px){ .tribesportus_article_split { flex-direction: row; } }

.tribesportus_article_text { flex: 1; }
.tribesportus_article_text h2 { margin-bottom: 24px; }
.tribesportus_article_text p { margin-bottom: 16px; font-size: 1rem; line-height: 1.7; color: var(--c-txt-2); }
.tribesportus_article_features { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
@media(min-width:600px){ .tribesportus_article_features { grid-template-columns: 1fr 1fr; } }

.tribesportus_art_feature { background: rgba(8, 22, 26, 0.5); padding: 18px; border-radius: 6px; border-left: 3px solid var(--c-pri); }
.tribesportus_art_feature h4 { font-family: var(--f-head); font-size: 1.1rem; color: var(--c-txt-1); margin: 0 0 8px; text-transform: uppercase; }
.tribesportus_art_feature p { margin: 0; font-size: 0.85rem; color: var(--c-txt-2); line-height: 1.4; }

.tribesportus_article_visual { flex: 1; width: 100%; border-radius: 8px; overflow: hidden; border: 1px solid var(--c-sec); box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.tribesportus_article_visual img { width: 100%; height: auto; transition: transform 0.5s; }
.tribesportus_article_visual:hover img { transform: scale(1.03); }

/* Animation triggers */
@keyframes ratingCardEntrance {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.rating-item-enter {
  animation: ratingCardEntrance 0.4s ease forwards;
}

/* ==========================================================================
   SPORTS SLOT IFRAME & GAME SECTION STYLES
   ========================================================================== */
.tribesportus_game_section {
  padding: 80px 0;
  background-color: var(--c-surf);
  border-bottom: 1px solid var(--c-sec);
}

.tribesportus_game_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center;
}

@media (min-width: 992px) {
  .tribesportus_game_grid {
    grid-template-columns: 1.2fr 0.8fr;
  }
}

/* Base Iframe Aspect Ratio Container */
.qeq {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
  border-radius: 12px;
  border: 3px solid var(--c-sec);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6);
  background-color: #000;
}

.qeq iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.tribesportus_game_info {
  display: flex;
  flex-direction: column;
}

.tribesportus_game_badge {
  align-self: flex-start;
  background-color: var(--c-acc);
  color: #fff;
  padding: 6px 14px;
  font-family: var(--f-head);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.85rem;
  border-radius: 4px;
  margin-bottom: 16px;
  box-shadow: 0 0 10px rgba(216, 140, 74, 0.3);
}

.tribesportus_game_title {
  font-family: var(--f-head);
  font-size: 2.2rem;
  margin: 0 0 16px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.tribesportus_game_desc {
  color: var(--c-txt-2);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 24px;
}

.tribesportus_game_stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  background: var(--c-bg);
  padding: 20px;
  border-radius: 8px;
  border: 1px solid rgba(14, 165, 168, 0.2);
}

.tribesportus_game_stat_item {
  display: flex;
  flex-direction: column;
}

.tribesportus_game_stat_label {
  font-size: 0.8rem;
  color: var(--c-pri);
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
}

.tribesportus_game_stat_value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
}

/* ==========================================================================
   SOCIAL CASINO INFO CARDS
   ========================================================================== */
.tribesportus_social_info_section {
  padding: 80px 0;
  background-color: var(--c-bg);
  border-bottom: 1px solid var(--c-surf);
}

.tribesportus_social_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 768px) {
  .tribesportus_social_grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.tribesportus_social_card {
  background: var(--c-surf);
  border: 1px solid rgba(14, 165, 168, 0.15);
  border-radius: 8px;
  padding: 30px 24px;
  text-align: center;
  transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}

.tribesportus_social_card:hover {
  transform: translateY(-5px);
  border-color: var(--c-pri);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
}

.tribesportus_social_icon_wrap {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(14, 165, 168, 0.1);
  color: var(--c-pri);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}

.tribesportus_social_icon_wrap svg {
  width: 28px;
  height: 28px;
}

.tribesportus_social_card_title {
  font-family: var(--f-head);
  font-size: 1.3rem;
  text-transform: uppercase;
  margin: 0 0 12px;
  color: #fff;
}

.tribesportus_social_card_text {
  font-size: 0.9rem;
  color: var(--c-txt-2);
  margin: 0;
  line-height: 1.6;
}

/* ==========================================================================
   COMPLIANCE LOGOS & DISCLAIMER SECTION
   ========================================================================== */
.tribesportus_compliance_section {
  padding: 60px 0;
  background-color: var(--c-bg);
  border-top: 1px solid var(--c-surf);
}

.tribesportus_compliance_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.tribesportus_compliance_logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 36px;
}

.tribesportus_compliance_logo_link {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, opacity 0.2s;
  opacity: 0.75;
}

.tribesportus_compliance_logo_link:hover {
  transform: scale(1.05);
  opacity: 1;
}

.tribesportus_compliance_logo_img {
  height: 48px;
  width: auto;
  object-fit: contain;
}

.tribesportus_compliance_logo_img.compact {
  height: 40px;
}

.tribesportus_disclaimer_box {
  max-width: 900px;
  text-align: center;
  border-top: 1px solid rgba(14, 165, 168, 0.15);
  padding-top: 24px;
}

.tribesportus_disclaimer_text {
  font-size: 0.85rem;
  color: var(--c-txt-2);
  line-height: 1.7;
  margin: 0 0 16px;
}

.tribesportus_disclaimer_link {
  color: var(--c-pri);
  text-decoration: underline;
  font-weight: 500;
}

.tribesportus_disclaimer_link:hover {
  color: var(--c-acc);
}

