/* CSS Variables */
:root {
  --primary-bg: #0a0a0f;
  --secondary-bg: #1a1a2e;
  --accent-orange: #ff6b35;
  --accent-cyan: #00d4ff;
  --accent-green: #00ff88;
  --text-primary: #ffffff;
  --text-secondary: #b3b3b3;
  --text-muted: #666666;
  --glass-bg: rgba(255, 255, 255, 0.05);
  --glass-border: rgba(255, 255, 255, 0.1);
  --shadow-primary: 0 8px 32px rgba(255, 107, 53, 0.2);
  --shadow-secondary: 0 4px 16px rgba(0, 0, 0, 0.3);
  --gradient-primary: linear-gradient(135deg, var(--accent-orange), #ff9500);
  --gradient-secondary: linear-gradient(135deg, var(--primary-bg), var(--secondary-bg));
}
.breadcrumb a{
  color: white;
  text-decoration: none;
}
/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--primary-bg);
  color: var(--text-primary);
  line-height: 1.6;
  overflow-x: hidden;
}

/* Utility Classes */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  font-size: 14px;
  position: relative;
  overflow: hidden;
}

.btn:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s;
}

.btn:hover:before {
  left: 100%;
}

.btn-primary {
  background: var(--gradient-primary);
  color: white;
  box-shadow: var(--shadow-primary);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(255, 107, 53, 0.3);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: var(--text-primary);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(10px);
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

.gradient-text {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.glass-effect {
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
}

/* Navigation */
.navbar {
  position: fixed;
  top: 0;
  width: 100%;
  background: rgba(10, 10, 15, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--glass-border);
  z-index: 1000;
  padding: 0;
}

.nav-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 70px;
}

.nav-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-logo {
  width: 40px;
  height: 40px;
  background: var(--gradient-primary);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 18px;
  color: white;
}

.nav-brand h1 {
  font-size: 24px;
  font-weight: 800;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.nav-menu {
  display: flex;
  gap: 10px;
}

.nav-link {
  color: var(--text-secondary);
  text-decoration: none;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 6px;
  transition: all 0.3s ease;
  position: relative;
}

.nav-link:hover,
.nav-link.active {
  color: var(--accent-orange);
  background: rgba(255, 107, 53, 0.1);
}

.nav-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
}

.nav-toggle .bar {
  width: 25px;
  height: 3px;
  background: var(--text-primary);
  margin: 3px 0;
  transition: 0.3s;
  border-radius: 2px;
}

/* Hero Section */
.hero-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  background: radial-gradient(ellipse at center, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
  overflow: hidden;
  padding-top: 100px;
}

.hero-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.hero-content {
  z-index: 2;
}

.hero-badge {
  display: inline-block;
  background: rgba(255, 0, 0, 0.2);
  color: #ff4444;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 24px;
  border: 1px solid rgba(255, 0, 0, 0.3);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.hero-title {
  font-size: clamp(3rem, 8vw, 5rem);
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 24px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.hero-subtitle {
  font-size: 18px;
  color: var(--text-secondary);
  margin-bottom: 32px;
  max-width: 500px;
  line-height: 1.6;
}

.hero-buttons {
  display: flex;
  gap: 16px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.hero-stats {
  display: flex;
  gap: 40px;
}

.stat {
  text-align: center;
}

.stat-number {
  font-size: 24px;
  font-weight: 800;
  color: var(--accent-orange);
  margin-bottom: 4px;
}

.stat-label {
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.hero-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-circle {
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: var(--gradient-primary);
  opacity: 0.3;
  animation: rotate 20s linear infinite;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-image {
  position: absolute;
  z-index: 2;
}

.floating-card {
  position: absolute;
  width: 60px;
  height: 60px;
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  animation: float 6s ease-in-out infinite;
}

.card-1 {
  top: 20%;
  left: 20%;
  animation-delay: 0s;
}

.card-2 {
  top: 60%;
  right: 20%;
  animation-delay: 2s;
}

.card-3 {
  bottom: 20%;
  left: 50%;
  animation-delay: 4s;
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}

/* Section Styles */
.section {
  padding: 100px 0;
  position: relative;
}

.section-header {
  text-align: center;
  margin-bottom: 60px;
}

.section-title {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 800;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.section-subtitle {
  font-size: 18px;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
}

/* Page Header */
.page-header {
  padding: 120px 0 60px;
  background: var(--primary-bg);
  position: relative;
}

.page-title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 800;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-subtitle {
  font-size: 18px;
  color: var(--text-secondary);
  max-width: 600px;
}

/* Breadcrumb */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  margin-bottom: 32px;
}

.breadcrumb-link {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.3s ease;
}

.breadcrumb-link:hover {
  color: var(--accent-orange);
}

.breadcrumb-separator {
  color: var(--text-muted);
}

.breadcrumb-current {
  color: var(--text-primary);
  font-weight: 500;
}

/* Casino Filters */
.casino-filters {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.filter-btn {
  padding: 8px 24px;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}

.filter-btn:hover,
.filter-btn.active {
  background: var(--accent-orange);
  color: var(--primary-bg);
  border-color: var(--accent-orange);
}

/* Casino Grid */
.casinos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 24px;
}

.casino-card {
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  padding: 24px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.casino-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
  border-color: var(--accent-orange);
}

.casino-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.casino-info {
  display: flex;
  align-items: center;
  gap: 16px;
}

.casino-logo {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 800;
  font-size: 18px;
  box-shadow: var(--shadow-secondary);
}

.casino-name {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 4px;
}

.casino-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #ffd700;
}

.verified-badge {
  background: var(--accent-green);
  color: var(--primary-bg);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.casino-bonuses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
.news-container {
  max-width: 800px;
  margin: 0 auto;
}

.news-item {
  background-color: var(--secondary-bg);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  border-left: 4px solid var(--accent-orange);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

.news-title {
  font-size: 1.5rem;
  margin-bottom: 15px;
  color: var(--accent-cyan);
  font-weight: bold;
}

.news-content {
  margin-bottom: 15px;
  line-height: 1.6;
}

.news-feature {
  margin: 10px 0;
  padding-left: 15px;
  border-left: 2px solid var(--accent-green);
}

.news-feature strong {
  color: var(--accent-green);
}

.news-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--text-secondary);
  font-size: 0.9rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 10px;
  margin-top: 15px;
}

.news-comments {
  display: flex;
  align-items: center;
}

.comment-icon {
  margin-right: 5px;
  color: var(--accent-orange);
}

@media (max-width: 600px) {
  .news-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .news-date {
    margin-bottom: 5px;
  }
}
.bonus-item {
  text-align: center;
  padding: 16px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

.bonus-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--accent-orange);
  margin-bottom: 4px;
}

.bonus-label {
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
}

.casino-features {
  margin-bottom: 24px;
}

.feature {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--text-secondary);
  font-size: 14px;
}

.feature-check {
  color: var(--accent-orange);
  font-weight: 600;
}

/* Blog Styles */
.blog-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.blog-featured {
  grid-column: 1 / -1;
}

.featured-article {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
}

.featured-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 40px;
  color: white;
}

.featured-badge {
  background: var(--accent-orange);
  color: var(--primary-bg);
  padding: 6px 12px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 16px;
  display: inline-block;
}

.featured-title {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 16px;
}

.featured-excerpt {
  font-size: 18px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}

.article-meta {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
  font-size: 14px;
  flex-wrap: wrap;
}

.meta-badge {
  background: var(--accent-orange);
  color: var(--primary-bg);
  padding: 4px 8px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 12px;
}

/* Profile Section */
.profile-section {
  background: var(--secondary-bg);
}

.profile-header {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 800px;
  margin: 0 auto;
}

.profile-avatar {
  position: relative;
}

.avatar-img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 4px solid var(--accent-orange);
}

.live-indicator {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #ff4444;
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.profile-info {
  flex: 1;
}

.profile-name {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 8px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.profile-title {
  font-size: 18px;
  color: var(--accent-orange);
  margin-bottom: 16px;
}

.profile-description {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}

.profile-social {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.social-btn {
  padding: 8px 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  font-size: 14px;
}

.social-btn.kick {
  background: #53fc18;
  color: #000;
}

.social-btn.instagram {
  background: linear-gradient(45deg, #833ab4, #fd1d1d, #fcb045);
  color: white;
}

.social-btn.youtube {
  background: #ff0000;
  color: white;
}

.social-btn.twitter {
  background: #1da1f2;
  color: white;
}

.social-btn:hover {
  transform: translateY(-2px);
}

/* Tournament Styles */
.tournaments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 24px;
}

.tournament-card {
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.tournament-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.tournament-image {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.tournament-status {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.status-active {
  background: var(--accent-green);
  color: var(--primary-bg);
}

.status-upcoming {
  background: var(--accent-orange);
  color: var(--primary-bg);
}

.status-ended {
  background: var(--text-muted);
  color: var(--text-primary);
}

.tournament-content {
  padding: 24px;
}

.tournament-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}

.tournament-description {
  color: var(--text-secondary);
  margin-bottom: 20px;
  line-height: 1.5;
}

.tournament-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.tournament-stat {
  text-align: center;
  padding: 12px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

.stat-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--accent-orange);
  margin-bottom: 4px;
}

.stat-label {
  font-size: 12px;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* FAQ Styles */
.faq-container {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  margin-bottom: 16px;
  overflow: hidden;
}

.faq-question {
  padding: 20px;
  background: transparent;
  border: none;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-question:hover {
  background: rgba(255, 255, 255, 0.05);
}

.faq-answer {
  padding: 0 20px 20px;
  color: var(--text-secondary);
  line-height: 1.6;
  display: none;
}

.faq-item.active .faq-answer {
  display: block;
}

.faq-icon {
  transition: transform 0.3s ease;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* Newsletter Section */
.newsletter-section {
  background: var(--secondary-bg);
  padding: 80px 0;
}

.newsletter-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.newsletter-content h2 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.newsletter-content p {
  color: var(--text-secondary);
  margin-bottom: 32px;
  font-size: 18px;
}

.newsletter-form {
  display: flex;
  gap: 16px;
  max-width: 400px;
  margin: 0 auto;
}

.newsletter-form input {
  flex: 1;
  padding: 12px 16px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
}

.newsletter-form input::placeholder {
  color: var(--text-muted);
}

.newsletter-form input:focus {
  outline: none;
  border-color: var(--accent-orange);
}

/* Footer */
.footer {
  background: var(--primary-bg);
  padding: 60px 0 20px;
  border-top: 1px solid var(--glass-border);
}

.footer-content {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  margin-bottom: 40px;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-brand h3 {
  font-size: 24px;
  font-weight: 800;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.footer-brand p {
  color: var(--text-secondary);
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.footer-column h4 {
  margin-bottom: 16px;
  color: var(--text-primary);
  font-weight: 600;
}

.footer-column a {
  display: block;
  color: var(--text-secondary);
  text-decoration: none;
  margin-bottom: 8px;
  transition: color 0.3s ease;
}

.footer-column a:hover {
  color: var(--accent-orange);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid var(--glass-border);
  color: var(--text-muted);
  font-size: 14px;
}

.footer-legal {
  display: flex;
  gap: 20px;
}

.footer-legal a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-legal a:hover {
  color: var(--accent-orange);
}

/* Additional Page Styles */

/* Vitrina/Casino Showcase */
.filters-section {
  padding: 40px 0;
  background: var(--secondary-bg);
}

.filters-wrapper {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 20px;
  align-items: center;
}

.search-input {
  padding: 12px 16px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  width: 100%;
  max-width: 300px;
}

.search-input::placeholder {
  color: var(--text-muted);
}

.search-input:focus {
  outline: none;
  border-color: var(--accent-orange);
}

.category-filters {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.sort-options select {
  padding: 12px 16px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  cursor: pointer;
}

.casinos-showcase {
  padding: 60px 0;
}

.casinos-stats {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-bottom: 60px;
}

.stats-item {
  text-align: center;
}

.stats-number {
  font-size: 2rem;
  font-weight: 800;
  color: var(--accent-orange);
  margin-bottom: 8px;
}

.stats-label {
  font-size: 14px;
  color: var(--text-muted);
  text-transform: uppercase;
}

.casinos-grid-extended {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 24px;
  margin-bottom: 40px;
}

.load-more-section {
  text-align: center;
}

/* Profile Page */
.profile-hero {
  padding: 120px 0 80px;
  background: var(--secondary-bg);
}

.profile-hero-content {
  display: flex;
  align-items: center;
  gap: 60px;
  max-width: 1000px;
  margin: 0 auto;
}

.profile-avatar-large {
  position: relative;
}

.live-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: #ff4444;
  color: white;
  padding: 6px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.profile-info-detailed {
  flex: 1;
}

.profile-name-large {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 12px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.profile-title-large {
  font-size: 20px;
  color: var(--accent-orange);
  margin-bottom: 32px;
}

.profile-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 32px;
}

.stat-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}

.stat-icon {
  font-size: 24px;
}

.stat-content .stat-number {
  font-size: 24px;
  font-weight: 800;
  color: var(--accent-orange);
}

.stat-content .stat-label {
  font-size: 14px;
  color: var(--text-muted);
}

/* About Section */
.about-section {
  padding: 80px 0;
}

.about-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  align-items: start;
}

.about-text h2 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 24px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.about-text p {
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 20px;
}

.achievements-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.achievement-card {
  padding: 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-align: center;
}

.achievement-icon {
  font-size: 32px;
  margin-bottom: 16px;
}

.achievement-card h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--accent-orange);
}

.achievement-card p {
  color: var(--text-secondary);
  font-size: 14px;
}

/* Favorite Slots */
.favorite-slots {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.slots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}

.slot-card {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.slot-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.slot-image {
  height: 120px;
  overflow: hidden;
}

.slot-info {
  padding: 20px;
}

.slot-info h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}

.slot-provider {
  color: var(--accent-orange);
  font-size: 14px;
  margin-bottom: 12px;
}

.slot-stats {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
  font-size: 12px;
  color: var(--text-muted);
}

.slot-description {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

/* Social Section */
.social-section {
  padding: 80px 0;
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.social-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}

.social-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.social-icon {
  flex-shrink: 0;
}

.social-info {
  flex: 1;
}

.social-info h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text-primary);
}

.social-info p {
  color: var(--accent-orange);
  font-weight: 600;
  margin-bottom: 4px;
}

.social-description {
  color: var(--text-secondary);
  font-size: 14px;
}

.social-status {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 12px;
  font-weight: 600;
}

.social-status.live {
  color: #ff4444;
}

/* Legal Pages Styles */
.legal-content {
  padding: 60px 0;
  background: var(--primary-bg);
}

.legal-document {
  max-width: 800px;
  margin: 0 auto;
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  padding: 40px;
}

.document-info {
  text-align: center;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--glass-border);
}

.last-updated {
  color: var(--text-muted);
  font-size: 14px;
  font-style: italic;
}

.content-section {
  margin-bottom: 40px;
}

.content-section h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--accent-orange);
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--accent-orange);
}

.content-section h3 {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 24px 0 16px 0;
}

.content-section p {
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 16px;
}

.content-section ul {
  margin: 16px 0;
  padding-left: 20px;
}

.content-section li {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 8px;
}

.content-section a {
  color: var(--accent-orange);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.content-section a:hover {
  color: var(--accent-cyan);
  text-decoration: underline;
}

.contact-info {
  background: rgba(255, 255, 255, 0.05);
  padding: 20px;
  border-radius: 12px;
  border-left: 4px solid var(--accent-orange);
  margin-top: 20px;
}

.contact-info p {
  margin-bottom: 8px;
}

.important-notice {
  background: rgba(255, 107, 53, 0.1);
  border: 1px solid var(--accent-orange);
  border-radius: 12px;
  padding: 30px;
  margin-top: 40px;
}

.important-notice h2 {
  color: var(--accent-orange);
  margin-bottom: 20px;
  border-bottom: none;
}

.warning-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}

.warning-box h3 {
  color: var(--accent-orange);
  font-size: 1.2rem;
  margin-bottom: 12px;
}

.warning-box p {
  margin-bottom: 0;
  font-size: 14px;
}

/* Contact CTA */
.contact-cta {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.cta-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.cta-content h2 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.cta-content p {
  color: var(--text-secondary);
  font-size: 18px;
  margin-bottom: 32px;
}

/* Tournament Page */
.tournaments-header {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
}

.tournaments-stats {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-top: 40px;
}

.tournament-filters {
  padding: 40px 0;
  background: var(--secondary-bg);
}

.status-filters,
.category-filters {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.featured-tournament {
  padding: 60px 0;
  background: var(--secondary-bg);
}

.featured-tournament-card {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: center;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  padding: 40px;
  position: relative;
}

.tournament-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: var(--accent-orange);
  color: var(--primary-bg);
  padding: 8px 16px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 12px;
}

.tournament-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 24px 0;
}

.detail-item {
  text-align: center;
  padding: 16px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

.detail-label {
  display: block;
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.detail-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--accent-orange);
}

.tournament-progress {
  margin: 24px 0;
}

.progress-bar {
  width: 100%;
  height: 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}

.progress-fill {
  height: 100%;
  background: var(--gradient-primary);
  transition: width 0.3s ease;
}

.progress-text {
  font-size: 14px;
  color: var(--text-muted);
}

.tournament-join-btn {
  margin-top: 24px;
}

/* Leaderboard */
.leaderboard-section {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.leaderboard-tabs {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 40px;
}

.tab-btn {
  padding: 12px 24px;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}

.tab-btn:hover,
.tab-btn.active {
  background: var(--accent-orange);
  color: var(--primary-bg);
  border-color: var(--accent-orange);
}

.leaderboard-table {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 32px;
}

.leaderboard-header {
  display: grid;
  grid-template-columns: 60px 1fr 120px 120px;
  gap: 20px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.05);
  font-weight: 600;
  color: var(--text-primary);
}

.leaderboard-body {
  display: flex;
  flex-direction: column;
}

.leaderboard-entry {
  display: grid;
  grid-template-columns: 60px 1fr 120px 120px;
  gap: 20px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--glass-border);
  align-items: center;
}

.leaderboard-entry:last-child {
  border-bottom: none;
}

.entry-rank {
  font-weight: 700;
  color: var(--accent-orange);
}

.entry-name {
  color: var(--text-primary);
}

.entry-points {
  color: var(--text-secondary);
}

.entry-prize {
  color: var(--accent-green);
  font-weight: 600;
}

.your-position {
  text-align: center;
}

.position-card {
  display: inline-grid;
  grid-template-columns: 60px 1fr 120px 120px;
  gap: 20px;
  padding: 20px;
  background: var(--glass-bg);
  border: 2px solid var(--accent-orange);
  border-radius: 12px;
  align-items: center;
}

.position-rank {
  font-weight: 700;
  color: var(--accent-orange);
}

.position-name {
  font-weight: 600;
  color: var(--text-primary);
}

.position-points {
  color: var(--text-secondary);
}

.position-prize {
  color: var(--accent-green);
  font-weight: 600;
}

/* Tournament Rules */
.tournament-rules {
  padding: 80px 0;
}

.rules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
}

.rule-card {
  padding: 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}

.rule-icon {
  font-size: 32px;
  margin-bottom: 16px;
}

.rule-card h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--accent-orange);
}

.rule-card ul {
  list-style: none;
  padding: 0;
}

.rule-card li {
  padding: 8px 0;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

/* FAQ Page */
.faq-header {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
}

.faq-search {
  padding: 40px 0;
  background: var(--secondary-bg);
}

.search-wrapper {
  position: relative;
  max-width: 500px;
  margin: 0 auto 32px;
}

.search-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
}

.faq-categories {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.category-btn {
  padding: 8px 16px;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}

.category-btn:hover,
.category-btn.active {
  background: var(--accent-orange);
  color: var(--primary-bg);
  border-color: var(--accent-orange);
}

.popular-questions {
  padding: 60px 0;
}

.popular-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
}

.popular-card {
  padding: 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-align: center;
  transition: all 0.3s ease;
}

.popular-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.popular-icon {
  font-size: 32px;
  margin-bottom: 16px;
}

.popular-card h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--text-primary);
}

.popular-card p {
  color: var(--text-secondary);
  font-size: 14px;
}

.faq-content {
  padding: 60px 0;
}

.faq-grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
}

.faq-sidebar h3 {
  margin-bottom: 20px;
  color: var(--text-primary);
}

.sidebar-categories {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 32px;
}

.sidebar-categories a {
  padding: 12px 16px;
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.sidebar-categories a:hover,
.sidebar-categories a.active {
  background: var(--accent-orange);
  color: var(--primary-bg);
}

.help-card {
  padding: 20px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}

.help-card h4 {
  margin-bottom: 12px;
  color: var(--text-primary);
}

.help-card p {
  color: var(--text-secondary);
  margin-bottom: 16px;
  font-size: 14px;
}

.faq-main .faq-section h2 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 24px;
  color: var(--accent-orange);
}

/* Contact Page */
.contact-header {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
}

.contact-methods {
  padding: 60px 0;
}

.methods-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
}

.method-card {
  padding: 32px 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-align: center;
  transition: all 0.3s ease;
}

.method-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.method-icon {
  font-size: 48px;
  margin-bottom: 20px;
}

.method-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.method-card p {
  color: var(--text-secondary);
  margin-bottom: 16px;
}

.method-link {
  color: var(--accent-orange);
  text-decoration: none;
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}

.method-link:hover {
  text-decoration: underline;
}

.response-time {
  font-size: 12px;
  color: var(--text-muted);
}

.contact-form-section {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.form-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  max-width: 1000px;
  margin: 0 auto;
}

.form-info h2 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.form-info p {
  color: var(--text-secondary);
  margin-bottom: 32px;
  line-height: 1.6;
}

.contact-benefits {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.benefit-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.benefit-icon {
  color: var(--accent-orange);
}

.contact-form {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  padding: 32px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  color: var(--text-primary);
  font-weight: 500;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 12px 16px;
  background: var(--secondary-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  transition: border-color 0.3s ease;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: var(--text-muted);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--accent-orange);
}

.checkbox-group {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

.checkbox-label input[type="checkbox"] {
  width: auto;
  margin: 0;
}

.checkmark {
  width: 18px;
  height: 18px;
  border: 2px solid var(--glass-border);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.checkbox-label input[type="checkbox"]:checked + .checkmark {
  background: var(--accent-orange);
  border-color: var(--accent-orange);
}

.checkbox-label input[type="checkbox"]:checked + .checkmark::after {
  content: '✓';
  color: white;
  font-size: 12px;
  font-weight: bold;
}

.checkbox-label a {
  color: var(--accent-orange);
  text-decoration: none;
}

.checkbox-label a:hover {
  text-decoration: underline;
}

.submit-btn {
  width: 100%;
  position: relative;
}

.btn-loader {
  display: none;
}

.submit-btn.loading .btn-text {
  display: none;
}

.submit-btn.loading .btn-loader {
  display: block;
}

.quick-help {
  padding: 60px 0;
}

.quick-links {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.quick-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-decoration: none;
  color: var(--text-primary);
  transition: all 0.3s ease;
  min-width: 120px;
}

.quick-link:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
  border-color: var(--accent-orange);
}

.quick-icon {
  font-size: 32px;
}

.business-info {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.business-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}

.business-card {
  padding: 32px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}

.business-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--accent-orange);
}

.business-card p {
  color: var(--text-secondary);
  margin-bottom: 20px;
  line-height: 1.6;
}

.business-card ul {
  list-style: none;
  padding: 0;
}

.business-card li {
  padding: 8px 0;
  color: var(--text-secondary);
  font-size: 14px;
}

/* Referral Page */
.referral-header {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
}

.header-benefits {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.benefit-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}

.benefit-icon {
  font-size: 24px;
}

.how-it-works {
  padding: 80px 0;
}

.steps-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  max-width: 800px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.step-item {
  text-align: center;
  max-width: 200px;
}

.step-number {
  width: 60px;
  height: 60px;
  background: var(--gradient-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 800;
  color: white;
  margin: 0 auto 20px;
}

.step-content h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.step-content p {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

.step-arrow {
  font-size: 24px;
  color: var(--accent-orange);
  font-weight: bold;
}

.commission-tiers {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.tiers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}

.tier-card {
  padding: 32px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
}

.tier-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.tier-card.popular {
  border-color: var(--accent-orange);
  box-shadow: 0 0 20px rgba(255, 107, 53, 0.2);
}

.tier-popular {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--accent-orange);
  color: var(--primary-bg);
  padding: 6px 16px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.tier-badge {
  font-size: 24px;
  margin-bottom: 16px;
}

.tier-commission {
  font-size: 3rem;
  font-weight: 800;
  color: var(--accent-orange);
  margin-bottom: 8px;
}

.tier-requirement {
  color: var(--text-muted);
  margin-bottom: 24px;
  font-size: 14px;
}

.tier-features {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tier-features .feature {
  color: var(--text-secondary);
  font-size: 14px;
  text-align: left;
}

.earnings-calculator {
  padding: 80px 0;
}

.calculator-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  max-width: 1000px;
  margin: 0 auto;
}

.calculator-info h2 {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.calculator-info p {
  color: var(--text-secondary);
  margin-bottom: 32px;
}

.calculator-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.input-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.input-group label {
  color: var(--text-primary);
  font-weight: 500;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: var(--glass-border);
  outline: none;
  cursor: pointer;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent-orange);
  cursor: pointer;
}

.slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent-orange);
  cursor: pointer;
  border: none;
}

.slider-value {
  color: var(--accent-orange);
  font-weight: 600;
  font-size: 16px;
}

.calculator-results {
  display: flex;
  align-items: center;
}

.result-card {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  padding: 32px;
  width: 100%;
}

.result-card h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
  text-align: center;
  color: var(--text-primary);
}

.earning-breakdown {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.earning-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.earning-label {
  color: var(--text-secondary);
}

.earning-value {
  color: var(--accent-orange);
  font-weight: 600;
}

.earning-item.total {
  padding-top: 16px;
  border-top: 1px solid var(--glass-border);
}

.earning-item.total .earning-label {
  color: var(--text-primary);
  font-weight: 600;
}

.earning-item.total .earning-value {
  font-size: 18px;
  font-weight: 800;
}

.earning-separator {
  height: 1px;
  background: var(--glass-border);
  margin: 8px 0;
}

.tier-info {
  text-align: center;
  margin-top: 24px;
  padding: 16px;
  background: rgba(255, 107, 53, 0.1);
  border-radius: 8px;
}

.tier-name {
  color: var(--accent-orange);
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}

.tier-description {
  color: var(--text-muted);
  font-size: 12px;
}

.success-stories {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.stories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}

.story-card {
  padding: 32px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-align: center;
}

.story-avatar {
  margin-bottom: 20px;
}

.story-content h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.story-stats {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 16px;
}

.story-stats .stat {
  color: var(--accent-orange);
  font-weight: 600;
  font-size: 14px;
}

.story-content p {
  color: var(--text-secondary);
  font-style: italic;
  line-height: 1.6;
  margin-bottom: 16px;
}

.story-tier {
  background: var(--glass-bg);
  color: var(--accent-orange);
  padding: 6px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  display: inline-block;
}

.program-benefits {
  padding: 80px 0;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
}

.benefit-card {
  padding: 32px 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-align: center;
  transition: all 0.3s ease;
}

.benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.benefit-card .benefit-icon {
  font-size: 48px;
  margin-bottom: 20px;
}

.benefit-card h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--accent-orange);
}

.benefit-card p {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
}

.join-cta {
  padding: 80px 0;
  background: var(--secondary-bg);
}

.cta-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.cta-content h2 {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 16px;
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.cta-content p {
  color: var(--text-secondary);
  font-size: 18px;
  margin-bottom: 32px;
}

.cta-benefits {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.cta-benefit {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cta-icon {
  font-size: 20px;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Blog Page */
.blog-header {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
}

.blog-filters {
  padding: 40px 0;
  background: var(--secondary-bg);
}

.search-filter {
  position: relative;
  max-width: 400px;
  margin: 0 auto 32px;
}

.search-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
}

.featured-blog {
  padding: 60px 0;
}

.featured-article-large {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  max-width: 1000px;
  margin: 0 auto;
}

.featured-image {
  height: 400px;
  overflow: hidden;
}

.featured-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 40px;
  color: white;
}

.featured-content h2 {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 16px;
}

.blog-grid-section {
  padding: 80px 0;
}

.blog-stats {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-bottom: 60px;
}

.blog-articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 24px;
  margin-bottom: 40px;
}

.blog-card {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-primary);
}

.blog-card-image {
  height: 200px;
  overflow: hidden;
}

.blog-card-content {
  padding: 24px;
}

.blog-card-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.blog-card-excerpt {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.blog-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  font-size: 12px;
  color: var(--text-muted);
}

.popular-tags {
  padding: 60px 0;
  background: var(--secondary-bg);
}

.tags-cloud {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.tag-item {
  padding: 8px 16px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
}

.tag-item:hover {
  background: var(--accent-orange);
  color: var(--primary-bg);
  border-color: var(--accent-orange);
}

/* Article Page */
.breadcrumb-section {
  padding: 100px 0 20px;
  background: var(--primary-bg);
}

.article-container {
  min-height: 80vh;
  padding: 40px 0;
  background: var(--primary-bg);
}

.article-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: start;
}

.article-main {
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  overflow: hidden;
}

.article-header {
  position: relative;
  margin-bottom: 40px;
}

.article-image-wrapper {
  width: 100%;
  height: 300px;
  overflow: hidden;
}

.article-header-content {
  padding: 40px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  color: white;
}

.article-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
  font-size: 14px;
  flex-wrap: wrap;
}

.article-category {
  background: var(--accent-orange);
  color: var(--primary-bg);
  padding: 6px 12px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 12px;
}

.meta-separator {
  color: var(--text-muted);
}

.article-date,
.article-read-time,
.article-views {
  color: var(--text-muted);
}

.article-title {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 16px;
}

.article-excerpt {
  font-size: 18px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 0;
}

.article-body {
  padding: 40px;
}

.article-content {
  color: var(--text-secondary);
  line-height: 1.8;
  font-size: 16px;
}

.article-content h2 {
  color: var(--accent-orange);
  font-size: 24px;
  font-weight: 700;
  margin: 32px 0 16px 0;
  line-height: 1.3;
}

.article-content h3 {
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 600;
  margin: 24px 0 12px 0;
}

.article-content p {
  margin-bottom: 20px;
  line-height: 1.7;
}

.article-content ul,
.article-content ol {
  margin: 20px 0 20px 32px;
}

.article-content li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.article-content blockquote {
  border-left: 4px solid var(--accent-orange);
  background: rgba(255, 107, 53, 0.05);
  padding: 20px 24px;
  margin: 32px 0;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--text-muted);
}

.article-content strong {
  color: var(--text-primary);
  font-weight: 600;
}

.article-content code {
  background: rgba(255, 255, 255, 0.1);
  color: var(--accent-green);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  font-size: 14px;
}

.article-footer {
  padding: 40px;
  border-top: 1px solid var(--glass-border);
  background: var(--secondary-bg);
}

.author-info {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.author-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--gradient-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  color: var(--primary-bg);
  margin-right: 16px;
}

.author-details h4 {
  color: var(--text-primary);
  font-size: 18px;
  margin-bottom: 4px;
}

.author-details p {
  color: var(--text-muted);
  font-size: 14px;
  margin: 0;
}

.article-tags {
  margin-bottom: 30px;
}

.article-tags h4 {
  color: var(--text-primary);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tags-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag {
  background: var(--glass-bg);
  color: var(--text-secondary);
  padding: 6px 12px;
  border-radius: 12px;
  font-size: 12px;
  border: 1px solid var(--glass-border);
}

.share-section {
  margin-bottom: 30px;
}

.share-section h4 {
  color: var(--text-primary);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.share-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.share-btn {
  padding: 10px 16px;
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  background: transparent;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.share-btn:hover {
  background: var(--accent-orange);
  color: var(--primary-bg);
  border-color: var(--accent-orange);
}

.navigation-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.nav-article {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  padding: 20px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.nav-article:hover {
  border-color: var(--accent-orange);
  background: rgba(255, 107, 53, 0.05);
}

.nav-label {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.nav-title {
  color: var(--text-primary);
  font-weight: 600;
  line-height: 1.4;
}

.nav-meta {
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 8px;
}

.article-sidebar {
  position: sticky;
  top: 100px;
}

.sidebar-card {
  padding: 24px;
  margin-bottom: 24px;
}

.sidebar-card h3 {
  color: var(--text-primary);
  font-size: 18px;
  margin-bottom: 16px;
}

.sidebar-card p {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.toc-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.toc-item {
  color: var(--text-secondary);
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 6px;
  transition: all 0.3s ease;
  font-size: 14px;
}

.toc-item:hover {
  background: var(--accent-orange);
  color: var(--primary-bg);
}

.related-articles {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.related-article {
  display: flex;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.related-article:hover {
  border-color: var(--accent-orange);
  background: rgba(255, 107, 53, 0.05);
}

.related-image {
  width: 60px;
  height: 45px;
  border-radius: 6px;
  flex-shrink: 0;
  overflow: hidden;
}

.related-content {
  flex: 1;
}

.related-title {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 4px;
}

.related-meta {
  font-size: 11px;
  color: var(--text-muted);
  display: flex;
  gap: 8px;
}

.sidebar-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sidebar-newsletter-form input {
  padding: 12px;
  background: var(--secondary-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
}

.sidebar-newsletter-form input::placeholder {
  color: var(--text-muted);
}

.sidebar-newsletter-form input:focus {
  outline: none;
  border-color: var(--accent-orange);
}

.category-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.category-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  text-decoration: none;
  color: var(--text-secondary);
  transition: all 0.3s ease;
}

.category-item:hover {
  background: var(--accent-orange);
  color: var(--primary-bg);
  border-color: var(--accent-orange);
}

.category-icon {
  font-size: 16px;
}

.category-count {
  margin-left: auto;
  font-size: 12px;
  color: var(--text-muted);
}

.comments-section {
  padding: 60px 0;
  background: var(--secondary-bg);
}

.comments-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.comments-wrapper h2 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text-primary);
}

.comments-wrapper p {
  color: var(--text-secondary);
  margin-bottom: 32px;
}

.comment-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}

.comment-form textarea {
  padding: 16px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--text-primary);
  resize: vertical;
}

.comment-form textarea::placeholder {
  color: var(--text-muted);
}

.comment-form textarea:focus {
  outline: none;
  border-color: var(--accent-orange);
}

.comments-notice {
  padding: 20px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--text-secondary);
}

.comments-notice a {
  color: var(--accent-orange);
  text-decoration: none;
}

.comments-notice a:hover {
  text-decoration: underline;
}
.profile-image img{
  width: 410px;
  height: 410px;
  border-radius: 800px;
}
/* Responsive Design */
@media (max-width: 1024px) {
  .article-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .article-sidebar {
    position: static;
  }

  .sidebar-card {
    margin-bottom: 20px;
  }

  .faq-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .form-wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .calculator-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .profile-hero-content {
    flex-direction: column;
    text-align: center;
    gap: 40px;
  }

  .featured-tournament-card {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (max-width: 768px) {
  .nav-menu {
    position: fixed;
    left: -100%;
    top: 70px;
    flex-direction: column;
    background-color: rgba(10, 10, 15, 0.98);
    width: 100%;
    text-align: center;
    transition: 0.3s;
    box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(20px);
    border-top: 1px solid var(--glass-border);
    z-index: 999;
  }

  .nav-menu.active {
    left: 0;
  }

  .nav-menu .nav-link {
    padding: 16px;
    display: block;
    border-bottom: 1px solid var(--glass-border);
  }

  .nav-toggle {
    display: flex;
  }

  .nav-toggle.active .bar:nth-child(2) {
    opacity: 0;
  }

  .nav-toggle.active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }

  .nav-toggle.active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }

  .hero-container {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }

  .hero-stats {
    justify-content: center;
    gap: 20px;
  }

  .casinos-grid {
    grid-template-columns: 1fr;
  }

  .tournaments-grid {
    grid-template-columns: 1fr;
  }

  .casino-bonuses {
    grid-template-columns: 1fr;
  }

  .profile-header {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-links {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }

  .filters-wrapper {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .category-filters {
    justify-content: center;
  }

  .casinos-stats {
    flex-direction: column;
    gap: 20px;
  }

  .profile-stats-grid {
    grid-template-columns: 1fr;
  }

  .achievements-grid {
    grid-template-columns: 1fr;
  }

  .slots-grid {
    grid-template-columns: 1fr;
  }

  .social-grid {
    grid-template-columns: 1fr;
  }

  .methods-grid {
    grid-template-columns: 1fr;
  }

  .business-cards {
    grid-template-columns: 1fr;
  }

  .steps-container {
    flex-direction: column;
    gap: 30px;
  }

  .step-arrow {
    transform: rotate(90deg);
  }

  .tiers-grid {
    grid-template-columns: 1fr;
  }

  .stories-grid {
    grid-template-columns: 1fr;
  }

  .benefits-grid {
    grid-template-columns: 1fr;
  }

  .article-title {
    font-size: 2rem;
  }

  .article-header-content {
    padding: 20px;
  }

  .article-body {
    padding: 20px;
  }

  .article-footer {
    padding: 20px;
  }

  .navigation-section {
    grid-template-columns: 1fr;
  }

  .tournament-details {
    grid-template-columns: 1fr;
  }

  .rules-grid {
    grid-template-columns: 1fr;
  }

  .popular-grid {
    grid-template-columns: 1fr;
  }

  .quick-links {
    grid-template-columns: repeat(2, 1fr);
  }

  .header-benefits {
    flex-direction: column;
    gap: 16px;
  }

  .cta-benefits {
    flex-direction: column;
    gap: 16px;
  }

  .cta-buttons {
    flex-direction: column;
    align-items: center;
  }

  .blog-articles-grid {
    grid-template-columns: 1fr;
  }

  .blog-stats {
    flex-direction: column;
    gap: 20px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .tournaments-stats {
    flex-direction: column;
    gap: 20px;
  }

  .leaderboard-header,
  .leaderboard-entry,
  .position-card {
    grid-template-columns: 50px 1fr 80px 80px;
    gap: 12px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .card-2 {
    top: 20%;
    right: 20%;
  }
  .card-3 {
    bottom: 20%;
    left: 40%;
  }
  .hero-title {
    font-size: 20px;
  }
  .profile-info{
    max-width: 300px;
  }
  .hero-circle {
    width: 200px;
    height: 200px;
  }
  .profile-name {
    font-size: 1.5rem;
  }
  .profile-image img{
    width: 200px;
    height: 208px;
    border-radius: 800px;
  }
  .hero-content{
    max-width: 300px;
    font-size: 20px;
  }
  .hero-subtitle {
    max-width: 300px;
  }
  .hero-buttons {
    flex-direction: column;
    align-items: center;
  }

  .newsletter-form {
    flex-direction: column;
  }

  .hero-stats {
    flex-direction: column;
    gap: 16px;
  }

  .section-title {
    font-size: 2rem;
  }

  .page-title {
    font-size: 2rem;
  }

  .featured-content h2 {
    font-size: 1.5rem;
  }

  .article-title {
    font-size: 1.5rem;
  }

  .profile-name-large {
    font-size: 2rem;
  }

  .cta-content h2 {
    font-size: 2rem;
  }

  .quick-links {
    grid-template-columns: 1fr;
  }

  .tags-cloud {
    justify-content: flex-start;
  }
}

/* Animation classes */
.fade-in {
  animation: fadeIn 0.6s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.slide-in-left {
  animation: slideInLeft 0.6s ease-in-out;
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.slide-in-right {
  animation: slideInRight 0.6s ease-in-out;
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Loading states */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

.skeleton {
  background: linear-gradient(90deg, var(--glass-bg) 25%, rgba(255,255,255,0.1) 50%, var(--glass-bg) 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Utility classes for spacing */
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }

.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 1.25rem; }

.p-1 { padding: 0.25rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.p-5 { padding: 1.25rem; }

/* Text utilities */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.text-small { font-size: 0.875rem; }
.text-large { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }

.font-weight-normal { font-weight: 400; }
.font-weight-medium { font-weight: 500; }
.font-weight-semibold { font-weight: 600; }
.font-weight-bold { font-weight: 700; }

/* Display utilities */
.d-none { display: none; }
.d-block { display: block; }
.d-flex { display: flex; }
.d-grid { display: grid; }

/* Flexbox utilities */
.justify-content-center { justify-content: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-start { justify-content: flex-start; }
.justify-content-end { justify-content: flex-end; }

.align-items-center { align-items: center; }
.align-items-start { align-items: flex-start; }
.align-items-end { align-items: flex-end; }

.flex-direction-column { flex-direction: column; }
.flex-direction-row { flex-direction: row; }

.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }

/* ===== HERO — MINIMAL, CLEAN ===== */
:root{
  --brand-1:#ff8800;
  --brand-2:#ff8800;
  --ink:#0d0d0d;
  --bg:#0f0f10;
  --paper:#ffffff;
  --muted:#6b7280;

  --radius:18px;
  --radius-sm:12px;
}

/* фон — аккуратный градиент без шумов */
.hero-min{
  padding: 88px 20px 64px;
  background:
          radial-gradient(1100px 700px at 75% -20%, rgba(255,255,255,.08) 0, transparent 60%),
          linear-gradient(160deg, var(--brand-1), var(--brand-2));
}

/* контейнер — максимум 1100px, ровная 2-колоночная сетка */
.hero-min__wrap{
  width:min(1100px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.05fr .95fr; /* текст | фото */
  gap: clamp(24px, 5vw, 56px);
  align-items:center;
}

/* левая колонка */
.hero-min__left{ color:#fff; }

.hero-min__title{
  margin:0 0 10px;
  font: 800 clamp(38px, 6.2vw, 72px)/1.05 system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  letter-spacing:.01em;
  /* чистый светлый градиент текста */
  background: linear-gradient(180deg,#fff,#ffe5cf 70%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.hero-min__subtitle{
  color: rgba(255,255,255,.8);
  text-transform:uppercase;
  letter-spacing:.42em;
  font-size:12px;
  margin-bottom: 26px;
}

/* кнопка Kick — контрастная, чёткая */
.hero-min__cta{
  display:inline-flex; align-items:center; justify-content:center;
  height:46px; padding:0 22px; min-width:160px;
  border-radius: var(--radius-sm);
  font-weight:900; letter-spacing:.04em; text-decoration:none;
  color:#062a15;
  background: linear-gradient(180deg,#49f279,#1fda5f);
  border:1px solid #0dbc4b;
  box-shadow: 0 10px 18px rgba(31,218,95,.35);
  transition: transform .15s ease, box-shadow .15s ease;
  margin-bottom: 18px;
}
.hero-min__cta:hover{ transform: translateY(-1px); box-shadow: 0 14px 28px rgba(31,218,95,.42); }

/* соцсети — белые «пилюли» на оранжевом, читаемо и ровно */
.hero-min__socials{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:12px;
}
.sm{
  display:flex; align-items:center; gap:10px;
  background: var(--paper);
  color: var(--ink);
  text-decoration:none;
  padding:10px 14px;
  border-radius: var(--radius-sm);
  font-weight:700;
  box-shadow: 0 2px 0 rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.06);
  transition: transform .12s ease, box-shadow .12s ease;
}
.sm i{
  display:grid; place-items:center;
  width:36px; height:36px; border-radius:9px;
  background:#111; color:#fff; font-size:16px;
}
.sm:hover{ transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,.15); }

/* правая колонка — просто фото без рамок/стекла */
.hero-min__right{ display:flex; justify-content:center; }
.hero-min__photo{
  width: clamp(220px, 36vw, 360px);
  height: clamp(220px, 36vw, 360px);
  border-radius: 22px;
  object-fit: cover; object-position: center;
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.25);
}

/* адаптив */
@media (max-width: 1024px){
  .hero-min__wrap{ grid-template-columns:1fr; }
  .hero-min__left{ text-align:center; }
  .hero-min__right{ order:-1; }
}
@media (max-width: 640px){
  .hero-min{ padding:72px 14px 44px; }
  .hero-min__title{ font-size: clamp(32px, 9vw, 44px); }
  .hero-min__socials{ grid-template-columns:1fr 1fr; }
  .sm{ padding:10px 12px; }
}
/* ----- выравнивание заголовка и подзаголовка ----- */
.hero-min__left{
  text-align:center;               /* центрируем блок слева */
}
.hero-min__title{
  display:block;                   /* чтобы OFFIZIELL стало под ним */
  margin-bottom: 6px;
}
.hero-min__subtitle{
  display:block;
  margin: 0 auto 22px;             /* строго по центру под заголовком */
  text-align:center;
}

/* ----- KICK: плоская, аккуратная ----- */
.hero-min__cta{
  background:#16a34a;              /* зелёный Kick */
  color:#fff;
  border:none;
  border-radius:12px;
  box-shadow: 0 2px 0 rgba(0,0,0,.15);  /* лёгкая тень-край */
  transition: transform .12s ease, box-shadow .12s ease;
}
.hero-min__cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.18);
}

/* ----- соц-пилюли: белые карточки + круглые бренд-иконки ----- */
.hero-min__socials{
  max-width: 820px;
  margin: 12px auto 0;
  gap: 14px;
}
.sm{
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  padding:12px 14px;
  font-weight:700;
  text-decoration:none;
  display:flex; align-items:center; gap:12px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
.sm:hover{
  transform: translateY(-2px);
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 8px 16px rgba(0,0,0,.12);
}
.sm i{
  width:38px; height:38px;
  border-radius:50%;
  display:grid; place-items:center;
  color:#fff; font-size:16px;
}

/* бренд-цвета иконок по ссылке */
.sm[href*="tiktok.com"]   i{ background:#000; }
.sm[href*="youtube.com"]  i{ background:#ff0033; }
.sm[href*="t.me"]         i{ background:#229ED9; }
.sm[href*="twitch.tv"]    i{ background:#9146FF; }

/* компактнее на мобильных */
@media (max-width: 640px){
  .hero-min__socials{ grid-template-columns:1fr 1fr; }
  .sm{ padding:10px 12px; }
}
/* круглые бренд-иконки в соц-кнопках */
.hero-min .sm i{
  /* фиксируем квадрат и запрещаем растягивание */
  flex: 0 0 40px;           /* одинаковая ширина и запрет на растяжение */
  width: 40px;
  height: 40px;
  aspect-ratio: 1 / 1;

  /* делаем круг */
  border-radius: 50% !important;

  /* центрируем значок внутри круга */
  display: grid;
  place-items: center;

  /* косметика */
  font-size: 18px;
  line-height: 1;          /* чтобы не тянулось по baseline */
  overflow: hidden;        /* на всякий случай */
  box-sizing: border-box;
  padding: 0;              /* убираем возможный внутренний отступ */
}

/* на маленьких экранах делаем их чуть меньше, но всё равно круги */
@media (max-width: 640px){
  .hero-min .sm i{
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
}
/* --- Соц-пилюли: фикс переполнения и круги --- */
.hero-min__socials{
  /* карточки тянутся равномерно, но не меньше 220px */
  display:grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 12px;
  max-width: 980px;
  margin: 12px auto 0;
}

.sm{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
  text-decoration:none;
  min-width:0;                /* << ключ к обрезке текста */
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.sm:hover{ transform:translateY(-2px); box-shadow:0 8px 16px rgba(0,0,0,.12); }

.sm i{
  flex:0 0 40px;
  width:40px; height:40px; aspect-ratio:1/1;
  border-radius:50% !important;
  display:grid; place-items:center;
  color:#fff; font-size:18px; line-height:1;
}

/* подпись — обрезка с многоточием, не вылезает */
.sm span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:700;
}

/* бренд-цвета */
.sm[href*="tiktok.com"]  i{ background:#000; }
.sm[href*="youtube.com"] i{ background:#FF0033; }
.sm[href*="discord.gg"]  i{ background:#5865F2; }
.sm[href*="twitch.tv"]   i{ background:#9146FF; }

/* адаптив: две колонки на узких экранах */
@media (max-width: 820px){
  .hero-min__socials{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px){
  .sm i{ flex-basis:36px; width:36px; height:36px; font-size:16px; }
}
/* ==== LAYOUT PATCH — убрать горизонтальный скролл и «обрезание» ==== */

/* базовое: ничего не шире вьюпорта, всё считает внутр. отступы */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  width: 100%; max-width: 100%;
  overflow-x: hidden;                 /* кросс-браузерно скрываем X */
}
@supports (overflow-x: clip) {
  body { overflow-x: clip; }          /* более корректно, если доступно */
}

/* любая медиа внутри не растягивает контейнер */
img, video, canvas, svg { max-width: 100%; height: auto; display: block; }

/* НИ ОДИН блок не должен использовать 100vw — перекроем на 100% */
.navbar, .hero-min, .section, [class*="container"], [class*="wrap"] {
  width: 100% !important;
}

/* единый «геттер» по краям страницы, чтобы секции не прыгали */
:root { --page-gutter: clamp(16px, 4vw, 32px); }
.hero-min,
.section {
  padding-left:  var(--page-gutter);
  padding-right: var(--page-gutter);
}

/* контейнер херо — строго внутри вьюпорта */
.hero-min__wrap {
  width: min(1100px, 100%);
  margin-inline: auto;
  overflow: visible;                  /* на всякий случай */
}

/* фото в херо — не вылезает наружу даже с тенью */
.hero-min__photo {
  max-width: 100%;
  height: auto;
}

/* соц-решётка: не растягивать шире колонки и не порождать скролл */
.hero-min__socials {
  max-width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 820px){
  .hero-min__socials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* если где-то есть элементы с фиксированными отрицательными полями */
[class*="section"] { margin-left: 0; margin-right: 0; }
/* === HERO: центр на десктопе, аккуратные колонки === */

/* сама секция – одинаковые поля слева/справа */
.hero-min{
  padding-left: clamp(24px, 4vw, 48px);
  padding-right: clamp(24px, 4vw, 48px);
}

/* контейнер – строго по центру */
.hero-min__wrap{
  max-width: 1200px;
  width: 100%;
  margin-inline: auto !important;
  display: grid;
  grid-template-columns: minmax(520px, 1fr) minmax(320px, 420px); /* текст | фото */
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  justify-items: center; /* обе колонки по центру своего столбца */
}

/* текстовый блок – центрируем на десктопе, чтобы OFFIZIELL оставался под заголовком */
@media (min-width: 981px){
  .hero-min__left{ text-align: center !important; }
}

/* подзаголовок строго под заголовком */
.hero-min__subtitle{
  display: block;
  width: fit-content;
  margin: 0 auto 22px !important;
  text-align: center;
}

/* кнопка и соц-пилюли – центр под заголовком */
.hero-min__cta{ margin: 0 auto 18px !important; display: inline-flex; }
.hero-min__socials{
  max-width: 980px;
  width: 100%;
  margin: 16px auto 0 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* фото – фиксируем пределы, чтобы не “толкало” сетку */
.hero-min__right{ justify-self: center; }
.hero-min__photo{
  width: min(36vw, 420px);
  height: auto;
  border-radius: 24px;
  display: block;
}

/* мобильные/планшеты — как было: две колонки соц-кнопок и центр */
@media (max-width: 980px){
  .hero-min__wrap{ grid-template-columns: 1fr; }
  .hero-min__left{ text-align: center !important; }
  .hero-min__socials{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
/* ===== HERO — стабильная сетка на всех ширинах ===== */

/* базовые отступы секции */
.hero-min{
  padding-left: clamp(24px, 4vw, 48px);
  padding-right: clamp(24px, 4vw, 48px);
}

/* --- ≥1200px — две колонки: текст | фото --- */
@media (min-width: 1200px){
  .hero-min__wrap{
    max-width: 1200px;
    width: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr clamp(320px, 30vw, 420px); /* текст | фото */
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
  }
  .hero-min__left{ text-align: left; }
  .hero-min__right{ order: 2; justify-self: end; }
  .hero-min__subtitle{
    display:block; width:fit-content; margin:0 0 22px; /* под заголовком, но левее с текстом */
  }
}

/* --- 900–1199px — тоже две колонки, фото меньше, сетка плотнее --- */
@media (min-width: 900px) and (max-width: 1199px){
  .hero-min__wrap{
    max-width: 1100px;
    width: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr clamp(280px, 28vw, 360px);
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
  }
  .hero-min__left{ text-align: left; }
  .hero-min__right{ order: 2; justify-self: end; }
  .hero-min__subtitle{
    display:block; width:fit-content; margin:0 0 20px;
  }
}

/* --- ≤899px — одна колонка, фото сверху, всё по центру --- */
@media (max-width: 899px){
  .hero-min__wrap{
    max-width: 720px; width: 100%;
    margin-inline: auto;
    display: grid; grid-template-columns: 1fr;
    gap: 18px; justify-items: center;
  }
  .hero-min__right{ order: -1; }   /* фото первым */
  .hero-min__left{ text-align: center; }
  .hero-min__subtitle{ margin: 0 auto 18px; }
  .hero-min__socials{ grid-template-columns: repeat(2, minmax(0,1fr)); margin: 12px auto 0; }
}

/* фото: не «толкает» сетку и не вылезает */
.hero-min__right{ justify-self: center; }
.hero-min__photo{
  width: 100%;
  max-width: 420px;                /* верхний предел на десктопе */
  border-radius: 24px;
  display: block;
}

/* соц-пилюли: нормальная сетка и отсутствие скролла */
.hero-min__socials{
  max-width: 980px; width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr)); /* на десктопе 4 */
  gap: 12px;
}
.hero-min .sm{
  min-width: 0;                    /* чтобы текст обрезался, а не раздвигал колонку */
}
.hero-min .sm span{
  min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* подчистим возможные старые оверрайды, из-за которых «плыло» */
.hero-min__left{ text-align: inherit; }          /* снимаем жёсткие !important из прошлого */
.hero-min__cta{ margin-left: 0; margin-right: 0; }
/* === HERO: мобильный и планшетный размер фото + отступ сверху === */

/* планшеты: 769–1024px */
@media (min-width: 769px) and (max-width: 1024px){
  .hero-min{
    padding: 96px 24px 56px !important;        /* нормальный верхний отступ */
  }
  .hero-min__wrap{
    grid-template-columns: 1fr 340px !important;/* фиксированная колонка под фото */
    gap: 28px !important;
    justify-items: center;
  }
  .hero-min__right{ order: 2 !important; justify-self: end; }
  .hero-min__photo{
    width: 100%;
    max-width: 340px;                           /* меньше фото */
    height: auto;
    border-radius: 22px;
  }
}

/* мобильные: ≤768px */
@media (max-width: 768px){
  .hero-min{
    padding: 84px 14px 44px !important;         /* добавили верхний отступ */
  }
  .hero-min__wrap{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    justify-items: center !important;
  }
  .hero-min__right{ order: -1 !important; }     /* фото сверху */
  .hero-min__photo{
    width: 100%;
    max-width: 280px;                            /* компактнее фото */
    height: auto;
    margin: 8px auto 10px;                      /* небольшой отступ сверху/снизу */
    border-radius: 20px;
    display: block;
  }
  .hero-min__title{ font-size: clamp(28px, 9vw, 40px); }
  .hero-min__subtitle{ margin: 6px auto 16px !important; }
}
/* === TABLET FIX (769–1024px): фото не обрезается === */
@media (min-width: 769px) and (max-width: 1024px){
  .hero-min{
    padding: 96px 20px 56px !important; /* чуть компактнее поля */
  }

  /* левая колонка сжимается корректно, правая – гибкая в vw */
  .hero-min__wrap{
    max-width: 100%;
    width: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(260px, 32vw) !important;
    gap: 20px !important;
    align-items: center;
  }

  /* заголовок чуть меньше, чтобы не распирал сетку */
  .hero-min__title{
    font-size: clamp(32px, 6.2vw, 54px) !important;
  }

  /* фото всегда влезает: ограничиваем по vw и px */
  .hero-min__right{ justify-self: end; }
  .hero-min__photo{
    width: 100% !important;
    max-width: min(360px, 32vw) !important;
    height: auto !important;
    border-radius: 22px;
  }
}
/* ========= GLOBAL LAYOUT PATCH ========= */
*,*::before,*::after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; width:100%; max-width:100%; overflow-x:hidden; }
img,video,canvas,svg{ display:block; max-width:100%; height:auto; }

/* Единые поля по краям страницы */
:root{ --page-gutter: clamp(16px, 4vw, 32px); --maxw: 1200px; }
.section, .hero-min, .navbar{ padding-left:var(--page-gutter); padding-right:var(--page-gutter); }
.section{ margin:0 auto !important; }

/* Центрируем внутренние контейнеры */
.container, .nav-container, .hero-min__wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; }

/* Ссылки-иконки в соц.пилюлях — округлые и не растягиваются */
.hero-min .sm i{ flex:0 0 40px; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; }
.hero-min .sm span{ min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Перекрываем инлайновые «margin:20px» у секций */
#casinos.section{ margin:0 !important; }

/* Брейкпоинты */
@media (max-width: 899px){
  .section{ padding-left: clamp(14px, 3vw, 20px); padding-right: clamp(14px, 3vw, 20px); }
}
/* ========= FOOTER ========= */
.footer{ background:#0d0f12; color:#cbd5e1; padding:40px var(--page-gutter); }
.footer .container{ max-width:var(--maxw); margin-inline:auto; }
.footer-content{ display:grid; grid-template-columns: 1.2fr 2fr; gap:20px; align-items:start; }
.footer-brand{ display:grid; gap:8px; color:#fff; }
.footer-links{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.footer-column a{ color:#cbd5e1; text-decoration:none; display:block; margin:6px 0; }
.footer-column a:hover{ color:#fff; }
.footer-bottom{ margin-top:16px; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:center; border-top:1px solid #29313b; padding-top:12px; }
.footer-legal a{ color:#94a3b8; margin-left:10px; text-decoration:none; }
.footer-legal a:hover{ color:#fff; }
@media (max-width:900px){
  .footer-content{ grid-template-columns:1fr; }
  .footer-links{ grid-template-columns:1fr 1fr; }
}
@media (max-width:520px){
  .footer-links{ grid-template-columns:1fr; }
}
/* ========= NAVBAR ========= */
.navbar{ position:sticky; top:0; z-index:100; background:#111; }
.nav-container{ display:flex; align-items:center; justify-content:space-between; height:64px; gap:16px; }
.nav-brand{ display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; }
.logo-text{ color:#ff7a18; font-weight:800; letter-spacing:.5px; }

.nav-menu{ display:flex; gap:18px; }
.nav-link{ color:#fff; text-decoration:none; opacity:.9; font-weight:600; }
.nav-link:hover, .nav-link.active{ opacity:1; color:#ffead6; }

.nav-toggle{ display:none; width:34px; height:34px; gap:5px; flex-direction:column; justify-content:center; cursor:pointer; }
.nav-toggle .bar{ height:2px; background:#fff; border-radius:2px; }

/* mobile */
@media (max-width: 980px){
  .nav-toggle{ display:flex; }
  .nav-menu{
    position:fixed; inset:64px 0 auto 0;
    background:#111; padding:12px var(--page-gutter) 16px;
    display:grid; gap:10px; transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:.2s ease;
  }
  .nav-menu.is-open{ transform:none; opacity:1; pointer-events:auto; }
}
/* Footer: центр на мобилках */
@media (max-width: 700px){
  .footer .container{ max-width: 100%; }

  .footer-content{
    grid-template-columns: 1fr !important;
    justify-items: center;           /* центр карточек */
    text-align: center;              /* центр текста */
    gap: 18px;
  }

  .footer-brand{ display:grid; justify-items:center; }
  .footer-brand img{ margin-inline:auto; }

  .footer-links{
    grid-template-columns: 1fr !important;   /* по одной колонке */
    width: 100%;
    gap: 14px;
  }
  .footer-column{ display:grid; justify-items:center; }
  .footer-column a{ margin:6px 0; }

  .footer-bottom{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align:center;
    gap: 8px;
  }
  .footer-legal{
    display:flex; flex-wrap:wrap; gap:12px;
    justify-content:center;
  }
}
/* ===== FAQ: фикс без удаления фона ===== */

/* 1) Фон — такой же, как на странице (можешь оставить только linear-gradient) */
#faq{
  display: block !important;
  padding: clamp(48px, 6vw, 84px) var(--page-gutter) !important;

  /* фон возвращаем */
  background:
          radial-gradient(80rem 60rem at 85% -20%, rgba(255,255,255,.08) 0, transparent 60%),
          linear-gradient(160deg, #ff8800, #ff8800);
}

/* 2) Контент FAQ — безопасная сетка: вопросы | картинка */
#faq .faq-content{
  max-width: var(--maxw);
  margin-inline: auto;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) clamp(260px, 34vw, 420px);
  gap: 20px;
  align-items: start;
}

/* левый столбец может ужиматься — убирает горизонтальный скролл */
#faq .faq-box-container{ min-width: 0; }

/* правая колонка и картинка не вылезают и не дают «двойных линий» */
#faq .faq-img{
  justify-self: end;
  width: 100%;
  max-width: clamp(260px, 34vw, 420px);
  border-radius: 14px;
  overflow: hidden;                /* скрывает любые выступы */
  box-shadow: 0 16px 40px rgba(0,0,0,.18); /* аккуратная тень, по желанию */
}
#faq .faq-img img{
  display: block;                  /* убирает белую щель снизу */
  width: 100%;
  height: auto;
  object-fit: cover;               /* заполняет контейнер без искажений */
  border-radius: 14px;             /* совпадает с оболочкой */
}

/* 3) Планшеты/мобилка — одна колонка, фон остаётся, ничего не режется */
@media (max-width: 980px){
  #faq .faq-content{
    grid-template-columns: 1fr !important;
    justify-items: center;
    gap: 16px;
  }
  #faq .faq-img{
    justify-self: center;
    max-width: min(520px, 100%);
  }
}
/* FAQ: центрируем заголовок и подзаголовок */
#faq .faq-heading{
  max-width: var(--maxw, 1200px);
  margin: 0 auto 28px;      /* по центру и нижний отступ */
  display: grid;
  justify-items: center;     /* центр по горизонтали */
  text-align: center;        /* центр текста */
  gap: 6px;                  /* расстояние между h3 и p */
}

#faq .faq-heading h3{
  margin: 0;
}

#faq .faq-heading p{
  margin: 0;
  opacity: .9;               /* можно убрать, если не нужно */
}

/* чуть больше воздуха на широких */
@media (min-width: 980px){
  #faq .faq-heading{ margin-bottom: 36px; }
}
/* ===== CASINOS — SLATE/ORANGE, 3×3, CLEAN ===== */

/* контейнер секции строго по центру, не на всю ширину */
#casinos.section{
  margin: 0 auto !important;
  padding: 36px var(--page-gutter);
}
#casinos .grid{
  width: min(1140px, 100%);            /* компактно */
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));  /* 3×3 для 9 офферов */
  gap: 22px;
}
@media (max-width: 980px){ #casinos .grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px){ #casinos .grid{ grid-template-columns: 1fr; } }

/* карточка — тёмно-графитовая, ровная, без «кислоты» */
#casinos .bg-gray-800{
  background:#1c1f24;                        /* тёмный графит */
  border:1px solid #2a2f36;
  border-radius:14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
#casinos .bg-gray-800:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(0,0,0,.28);
  border-color:#343a43;
}

/* тонкий верхний акцент в фирменном оранжевом */
#casinos .bg-gray-800::before{
  content:"";
  display:block; height:3px;
  background: linear-gradient(90deg,#ff7a18,#ffa24d);
}

/* внутренние отступы/ритм */
#casinos .p-6{ padding:18px; gap:14px; display:flex; flex-direction:column; }

/* шапка: логотип в одинаковом боксе, чтобы все карты одинаковой высоты */
#casinos .flex.flex-col.items-center.mb-4{
  gap:10px; margin:0 !important; position:relative;
}
#casinos .flex.flex-col.items-center.mb-4::before{
  content:""; display:block; height:66px; width:100%;
  background: #21262c; border:1px solid #2b3138; border-radius:10px;
}
#casinos .flex.flex-col.items-center.mb-4 img{
  position:absolute; inset:0; margin:auto; height:42px; width:auto; object-fit:contain;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.35));
}

/* заголовок + «Freispiele …» */
#casinos h3.text-2xl{
  margin:0; text-align:center; color:#eef2f6; font-weight:800; font-size:18px;
}
#casinos .text-green-400{
  display:inline-block; margin-top:2px;
  color:#a7f3d0; background:#133127; border:1px solid #1b4a3a;
  border-radius:999px; padding:4px 10px; font-size:12px; font-weight:800;
}

/* welcome-блок — тихий, но считываемый */
#casinos .mb-4.text-center.flex-grow{ text-align:center; }
#casinos .mb-4 .font-semibold{ color:#cbd5e1; opacity:.8; margin-bottom:6px; font-weight:700; }
#casinos .text-orange-400{
  display:inline-block; padding:8px 12px;
  background:#2a2f36; border:1px solid #3a414b; color:#ffd2a1;
  border-radius:10px; font-weight:900;
}

/* методы оплаты — монохромные чипы */
#casinos .mb-6{ margin:0; }
#casinos .mb-6 .font-semibold{ color:#cbd5e1; opacity:.8; margin-bottom:6px; text-align:center; font-weight:700; }
#casinos .flex.justify-center.flex-wrap.gap-2{ gap:8px; }
#casinos .flex.justify-center.flex-wrap.gap-2 span{
  background:#262b31; color:#e5e7eb; border:1px solid #343a43;
  padding:6px 10px; border-radius:999px; font-size:12px; line-height:1; font-weight:600;
}

/* кнопка — оранжевый акцент, компактно и ровно */
#casinos a.block.w-full{
  margin-top:auto; height:42px; padding:0 14px;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none !important; color:#131515 !important;
  background: linear-gradient(180deg,#ff9a42,#ff7a18);
  border:1px solid #f26c0a; border-radius:12px; font-weight:900;
  box-shadow: 0 12px 26px rgba(255,122,24,.22);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
#casinos a.block.w-full:hover{
  transform: translateY(-1px);
  filter: brightness(.97);
  box-shadow: 0 18px 34px rgba(255,122,24,.28);
}

/* цвета текста, которые приходят из HTML классов */
#casinos .text-white{ color:#eef2f6; }
/* === CASINOS: фикс логотипов — одинаковый размер и центрирование === */

/* Шапка карточки — превращаем в грид с фиксированным рядом под логотип */
#casinos .bg-gray-800 .flex.flex-col.items-center.mb-4{
  /* 1) равный «бокс» сверху для всех картинок */
  display: grid !important;
  grid-template-rows: 72px auto auto; /* логотип | заголовок | бейдж */
  justify-items: center;
  align-items: start;
  gap: 10px;
  margin: 0 !important;
  position: relative;
}

/* аккуратная панелька позади логотипа (не мешает кликам) */
#casinos .bg-gray-800 .flex.flex-col.items-center.mb-4::before{
  content: "";
  grid-row: 1;
  align-self: stretch;
  width: 100%;
  height: 72px;
  background: #21262c;
  border: 1px solid #2b3138;
  border-radius: 10px;
  pointer-events: none;
}

/* сам логотип — БЕЗ absolute! единый размер и всегда по центру */
#casinos .bg-gray-800 .flex.flex-col.items-center.mb-4 img{
  grid-row: 1;
  position: static !important;     /* убираем абсолют, из-за него «плыло» */
  inset: auto !important;
  transform: none !important;
  display: block;
  margin: 0 auto;
  height: 44px;                    /* ЕДИНЫЙ размер логотипов */
  width: auto;
  max-width: 76%;                  /* чтобы длинные логотипы не упирались по ширине */
  object-fit: contain;             /* без искажений */
  image-rendering: -webkit-optimize-contrast;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.25));
}

/* заголовок и бейдж идут второй и третьей строкой грида */
#casinos .bg-gray-800 h3.text-2xl{
  grid-row: 2;
  margin: 0;
}
#casinos .bg-gray-800 .text-green-400{
  grid-row: 3;
}

/* мелкий косметический фикс: убираем случайный класс .with (если был) */
#casinos img.with { width: auto !important; }
/* ===== CASINOS — FIX LOGO & EQUAL CARDS ===== */

/* сетка карточки: header(logo) | welcome | payments | spacer | CTA  */
#casinos .bg-gray-800 .p-6{
  display: grid !important;
  grid-template-rows: 120px auto auto 1fr auto !important;
  gap: 14px !important;
  min-height: 100% !important;
}

/* шапка карточки: фиксированная высота, без переполнений */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4{
  height: 120px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding-top: 10px !important;
  display: grid !important;
  grid-template-rows: 72px auto auto !important; /* логотип | h3 | бейдж */
  justify-items: center !important;
  align-items: start !important;
  position: relative !important;
  gap: 10px !important;
}

/* серая панель под логотипом */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4::before{
  content: "" !important;
  position: absolute !important;
  top: 0; left: 16px; right: 16px; height: 72px;
  border-radius: 10px;
  background: #21262c;
  border: 1px solid #2b3138;
  pointer-events: none;
}

/* ЛОГОТИП: жесткий reset старых стилей + одинаковый размер */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4 img{
  position: static !important;        /* убираем абсолюты окончательно */
  top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  transform: none !important;
  grid-row: 1 !important;
  display: block !important;
  margin: 10px auto 0 !important;
  height: 44px !important;            /* ЕДИНАЯ ВЫСОТА ЛОГОТИПОВ */
  width: auto !important;
  max-width: 80% !important;          /* длинные логотипы не упрется в края */
  object-fit: contain !important;
  image-rendering: -webkit-optimize-contrast;
}

/* заголовок и бейдж — следующие строки грида */
#casinos .bg-gray-800 .p-6 h3.text-2xl{ grid-row: 2 !important; margin: 0 !important; }
#casinos .bg-gray-800 .p-6 .text-green-400{ grid-row: 3 !important; }

/* CTA всегда снизу и одинаковой ширины */
#casinos .bg-gray-800 .p-6 > a.block.w-full{
  grid-row: 5 !important;
  align-self: end !important;
}

/* подстраховка: если где-то на картинках есть класс .with — нейтрализуем */
#casinos img.with{ width: auto !important; height: 44px !important; object-fit: contain !important; }
/* ===== FINAL FIX: лого, заголовок и бейдж не перекрываются ===== */

:root{
  --logo-box-h: 72px;   /* высота зоны под логотип */
  --logo-w: 150px;      /* видимая ширина лого */
  --logo-h: 44px;       /* видимая высота лого */
}

/* Контент карточки – сетка, чтобы кнопка всегда внизу */
#casinos .bg-gray-800 .p-6{
  display: grid !important;
  grid-template-rows: auto auto auto 1fr auto !important; /* header | welcome | pay | spacer | CTA */
  gap: 14px !important;
  min-height: 100% !important;
}

/* Шапка: 3 строки grid — [ЛОГО | H3 | БЕЙДЖ] */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4{
  display: grid !important;
  grid-template-rows: var(--logo-box-h) auto auto !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  position: relative !important;
  height: auto !important;
  overflow: visible !important;
}

/* Панель под логотип (ровно на 1-ю строку, позади) */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4::before{
  content:"" !important;
  position: absolute !important;
  top: 0; left: 16px; right: 16px;
  height: var(--logo-box-h);
  border-radius: 10px;
  background: #21262c;
  border: 1px solid #2b3138;
  z-index: 0;           /* ниже картинки */
  pointer-events: none;
}

/* ЛОГОТИП — только в 1-й строке grid */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4 img{
  grid-row: 1 !important;
  position: static !important;
  margin: 0 auto !important;
  width: var(--logo-w) !important;
  height: var(--logo-h) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  z-index: 1 !important;       /* выше панели, но ниже заголовка по вертикали */
  transform: none !important;
}

/* Заголовок и бейдж — 2-я и 3-я строки grid */
#casinos .bg-gray-800 .p-6 h3.text-2xl{
  grid-row: 2 !important;
  margin: 6px 0 0 !important;  /* небольшой отступ от лого */
  position: relative; z-index: 2;
}
#casinos .bg-gray-800 .p-6 .text-green-400{
  grid-row: 3 !important;
  position: relative; z-index: 2;
}

/* CTA всегда внизу */
#casinos .bg-gray-800 .p-6 > a.block.w-full{
  grid-row: 5 !important;
  align-self: end !important;
}

/* На мобильном чуть уменьшаем бокс лого */
@media (max-width: 560px){
  :root{ --logo-box-h: 64px; --logo-w: 130px; --logo-h: 40px; }
}
/* === LOGO: без задней плитки + одинаковый размер === */
:root{
  --logo-w: 160px;   /* видимая ширина логотипа */
  --logo-h: 48px;    /* видимая высота логотипа */
}

/* шапка карточки: ровная сетка ЛОГО → H3 → бейдж */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4{
  display: grid !important;
  grid-template-rows: var(--logo-h) auto auto !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

/* УБИРАЕМ заднюю «плитку» под лого */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4::before{
  content: none !important;
  display: none !important;
}

/* логотип: одинаковый бокс, по центру, без абсолютов */
#casinos .bg-gray-800 .p-6 .flex.flex-col.items-center.mb-4 img{
  grid-row: 1 !important;
  position: static !important;
  width: var(--logo-w) !important;
  height: var(--logo-h) !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
  transform: none !important;
  filter: none !important;  /* чтобы ничего не «толкало» заголовок */
}

/* заголовок и бейдж — ниже логотипа */
#casinos .bg-gray-800 .p-6 h3.text-2xl{ grid-row: 2 !important; margin: 6px 0 0 !important; }
#casinos .bg-gray-800 .p-6 .text-green-400{ grid-row: 3 !important; }
/* простая оранжевая рамка */
#casinos .bg-gray-800{
  border: 2px solid #ff8a3d !important;   /* фирменный оранжевый */
  border-radius: 14px;                     /* сохранить округление */
}
#casinos .bg-gray-800:hover{
  box-shadow: 0 18px 34px rgba(255,138,61,.20);
  transform: translateY(-3px);
}
/* --- БРЕНД: уменьшаем и не даём наезжать на меню --- */

/* сам контейнер шапки: даём место между брендом и меню */
.nav-container{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;                     /* небольшой «воздух» внутри */
}

/* слева — бренд, справа — меню. Меню всегда уходит вправо */
.nav-brand{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;                /* бренд не растягивается */
  min-width: 0;
}

.nav-menu{
  margin-left: 22px;             /* явный зазор между брендом и первым пунктом */
  flex: 1 1 auto;                /* меню занимает весь остаток */
  min-width: 0;                  /* не выталкивает бренд */
}

/* логотип-иконка у бренда */
.nav-brand img{
  width: 40px;
  height: 40px;
  object-fit: contain;
}

/* САМ ТЕКСТ "orangemorange" — авто-уменьшение и без «наезда» */
.logo-text{
  white-space: nowrap;           /* всегда в одну строку */
  line-height: 1;
  font-weight: 800;
  letter-spacing: .3px;

  /* ключевой момент: текст сам уменьшается от экрана */
  font-size: clamp(16px, 1.7vw, 22px);

  /* если совсем мало места — допускаем лёгкое сжатие блока */
  max-width: 24ch;               /* «эластичный» максимум */
  overflow: hidden;              /* на всякий случай */
  text-overflow: ellipsis;       /* если крайний случай — многоточие */

  /* сохраняем твой градиентный стиль, если был */
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Чуть компактнее в районе ноутбуков */
@media (max-width: 1280px){
  .logo-text{ font-size: clamp(15px, 1.5vw, 20px); }
  .nav-menu{ margin-left: 18px; }
}

/* Ещё компактнее перед переходом в бургер */
@media (max-width: 1100px){
  .logo-text{ font-size: clamp(14px, 1.35vw, 18px); }
  .nav-menu{ margin-left: 14px; }
}

/* На очень узких: совсем компактный бренд (до включения бургера) */
@media (max-width: 980px){
  .logo-text{ font-size: 16px; max-width: 20ch; }
}
/* Форсим адаптивный размер бренда — выше специфичность + !important */
.navbar .nav-container .nav-brand .logo-text{
  font-size: clamp(16px, 1.6vw, 22px) !important;
  line-height: 1;
  white-space: nowrap;
  display: inline-block;
  max-width: 24ch;                 /* чтобы не расползался */
  overflow: hidden;
  text-overflow: ellipsis;
}

/* при ~1280px делаем ещё компактнее */
@media (max-width: 1280px){
  .navbar .nav-container .nav-brand .logo-text{
    font-size: clamp(15px, 1.4vw, 20px) !important;
  }
}

/* перед бургером (~980px) — самый компактный вариант */
@media (max-width: 980px){
  .navbar .nav-container .nav-brand .logo-text{
    font-size: 16px !important;
    max-width: 20ch;
  }
}
/* 0) Страховки */
*,
*::before,
*::after{ box-sizing: border-box; }
html, body{ overflow-x: hidden; }

/* 1) На мобильных убираем внешние «гаттеры» у секций */
@media (max-width: 768px){
  :root{ --page-gutter: 0 !important; } /* если где-то используется */

  /* любые секции/блоки-страницы без внешних отступов */
  .navbar,
  .hero-min,
  .section,
  .profile-section,
  .slots,
  .newsletter-section,
  #faq,
  footer{
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  /* а внутренним контейнерам даём «воздух» */
  .nav-container,
  .hero-min__wrap,
  .container{
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
  }

  /* 2) У меню на мобилке не должно быть левого отступа */
  .nav-menu{ margin-left: 0 !important; }

  /* 3) Если у hero есть декоративные псевдоэлементы — не позволяем им «вылезать» влево */
  .hero-min::before,
  .hero-min::after{
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: 100% !important;
  }

  /* 4) Фон страницы подстраховываем под фон героя */
  body{ background: #e07a3b; } /* тот же оранжевый, что в hero */
}

/* Если где-то есть 100vw у обёрток — убираем переполнение */
@media (max-width: 768px){
  [style*="100vw"], .w-100vw{ width: 100% !important; }
}
/* --- Мобильные «гаттеры» + вертикальный ритм секций --- */
@media (max-width: 768px){
  /* единый размер бокового поля для контента */
  :root{
    --page-pad: 18px;             /* можно 16–24px по вкусу */
    --section-y: clamp(24px, 5vw, 40px);
  }

  /* вертикальные отступы у секций, но без боковых (чтобы фон не «резался») */
  .section,
  .hero-min,
  .profile-section,
  .slots,
  .newsletter-section,
  #faq,
  footer{
    padding-top: var(--section-y) !important;
    padding-bottom: var(--section-y) !important;
  }

  /* Боковые отступы задаём только ВНУТРЕННИМ контейнерам
     (там фон уже тянется, значит выглядят красиво) */
  .nav-container,
  .hero-min__wrap,
  .container,
  .faq-content,
  .newsletter-content,
    /* гриды/списки, которые на мобиле часто прилипают к краю */
  #casinos .grid,
  .content-grid,
  .top-picks-grid{
    padding-left: var(--page-pad) !important;
    padding-right: var(--page-pad) !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin-left: auto;            /* выравнивание и страховки */
    margin-right: auto;
  }

  /* Чуть больше воздуха между карточками в сетках, если нужно */
  #casinos .grid,
  .content-grid,
  .top-picks-grid{
    gap: 16px !important;
  }
}
/* Высота шапки (подстрой при желании) */
:root { --nav-h: 70px; }

/* Базовый вертикальный ритм hero */
.hero-min{
  /* чтобы фон не резался и ничего не обрезалось */
  overflow: visible;
  padding-top: clamp(28px, 6vw, 56px);
}

/* Фото и контейнер справа */
.hero-min__right{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow: visible;             /* не обрезаем картинку */
}

.hero-min__photo{
  display: block;
  width: clamp(160px, 38vw, 240px); /* адаптивная ширина */
  height: auto;                     /* сохраняем пропорции */
  object-fit: cover;
  border-radius: 16px;              /* как было по дизайну */
}

/* Плотно под фикс-navbar на планшете/мобилке */
@media (max-width: 1024px){
  .hero-min{
    padding-top: calc(var(--nav-h) + 16px) !important;
  }
}

@media (max-width: 768px){
  .hero-min{
    padding-top: calc(var(--nav-h) + 24px) !important; /* ещё немного воздуха */
  }
  .hero-min__photo{
    width: clamp(150px, 44vw, 220px);
  }
}

/* если секция hero идёт сразу после шапки, даём безопасный зазор */
.navbar + .hero-min{
  margin-top: 0; /* на всякий случай снимаем возможный margin-collapse */
}
/* 0) базовая высота шапки (если другая — поправь) */
:root { --nav-h: 70px; }

/* 1) «Средняя» ширина — ужимаем пункты и интервалы */
@media (max-width: 1320px){
  .nav-menu{ gap: 8px; }
  .nav-link{
    font-size: 14px;
    padding: 6px 10px;
  }
  .nav-brand .logo-text{
    font-size: clamp(16px, 1.4vw, 20px);
  }
}

/* 2) Ниже ~1100px — включаем бургер */
@media (max-width: 1100px){
  /* показываем иконку-бургер */
  .nav-toggle{ display: flex; }

  /* скрываем горизонтальное меню по умолчанию */
  .nav-menu{
    position: fixed;
    top: var(--nav-h);          /* сразу под шапкой */
    left: 12px;
    right: 12px;
    display: none;              /* <-- будет сменяться на flex, когда .active */
    flex-direction: column;
    gap: 10px;

    background: rgba(10,10,15,0.96);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 14px;
    z-index: 1200;

    margin-left: 0 !important;  /* на всякий случай переопределяем твой старый сдвиг */
    width: auto;                /* чтобы не выпадало за экран */
    box-sizing: border-box;
  }

  /* когда к меню добавлен class="active" (твой JS), показываем панель */
  .nav-menu.active{ display: flex; }

  /* пункты внутри выпадашки — крупнее и кликабельнее пальцем */
  .nav-link{
    width: 100%;
    padding: 12px 14px;
    font-size: 16px;
    border-radius: 10px;
  }
  .nav-link:hover,
  .nav-link.active{
    background: rgba(255,255,255,0.06);
    color: #fff;
  }
}

/* 3) страховки от срезов/ползунка */
@media (max-width: 1100px){
  .navbar{ left: 0; right: 0; }
  .nav-menu{ overflow: hidden; }
  html, body{ overflow-x: hidden; }
}
/* базовая высота навбара — поправь, если у тебя другая */
:root { --nav-h: 70px; }

/* общие страховки для hero */
.hero-min,
.hero-min__wrap,
.hero-min__right{
  overflow: visible !important;         /* ничего не подрезаем */
}

/* картинка — никогда не обрезать */
.hero-min__photo{
  display: block;
  width: auto;
  max-width: 100%;
  height: auto !important;              /* сохраняем пропорции */
  object-fit: contain !important;       /* не «крошим» картинку */
  border-radius: 16px;
}

/* планшет и крупнее: даём зазор под фикс-шапку и
   ограничиваем размер фото clamp'ом */
@media (min-width: 769px) and (max-width: 1360px){
  .hero-min{
    padding-top: calc(var(--nav-h) + 24px) !important;
  }
  .hero-min__wrap{
    align-items: center;
    gap: clamp(24px, 4vw, 64px);
  }
  .hero-min__photo{
    max-width: clamp(240px, 30vw, 380px);   /* аккуратный размер на планшет/лаптоп */
    height: auto !important;
  }
}

/* десктоп 1360+ — можно позволить чуть больше фото и воздуха */
@media (min-width: 1361px){
  .hero-min{
    padding-top: calc(var(--nav-h) + 28px);
  }
  .hero-min__photo{
    max-width: clamp(300px, 28vw, 420px);
  }
}
/* телефон / маленькие планшеты */
@media (max-width: 768px){
  /* складываем контент хиро в колонку (если у тебя уже так — правило просто не навредит) */
  .hero-min__wrap{
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    justify-items: center;
  }

  .hero-min__right{
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }

  /* главное: ограничиваем картинку по ширине вьюпорта,
     всегда сохраняем пропорции и не даём ей быть «натурального» огромного размера */
  .hero-min__photo{
    width: min(86vw, 240px) !important; /* не больше 86% экрана, но и не больше 240px */
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;     /* без обрезания */
    display: block;
    margin: 0 auto;
  }
}
/* ===== NAV FIX (drop-in) ===== */

/* высота шапки — если у тебя другая, поменяй */
:root { --nav-h: 70px; }

/* контейнер: всегда влезает + внутренние отступы */
.navbar .nav-container{
  max-width: min(1240px, 100% - 24px);
  margin-inline: auto;
  padding-inline: clamp(12px, 2.4vw, 24px);
  height: var(--nav-h);
  display: flex;
  align-items: center;
  gap: 12px;
}

/* логотип: не раздуваем, не даём налезать на меню */
.navbar .nav-brand{
  display: flex; align-items: center; gap: 10px;
  flex: 0 0 auto;
  max-width: clamp(150px, 22vw, 280px); /* ограничение ширины */
}
.navbar .logo-text{
  font-size: clamp(18px, 1.6vw, 24px);
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; /* если совсем тесно — троеточие */
}

/* меню: одна строка, без выхода за край */
.navbar .nav-menu{
  margin-left: auto;
  display: flex;
  flex-wrap: nowrap;   /* не переносим */
  min-width: 0;        /* разрешаем сжиматься */
  gap: clamp(8px, 1vw, 18px);
}
.navbar .nav-link{
  white-space: nowrap;
  font-size: clamp(13px, 1.05vw, 16px);
  padding: 8px clamp(8px, 1vw, 12px);
  border-radius: 6px;
}

/* ——— Переключение на бургер ——— */
/* Порог, когда уходим в бургер — подстрой при желании */
@media (max-width: 1180px){
  .navbar .nav-toggle{ display: flex; }
  .navbar .nav-menu{ display: none; }              /* прячем горизонтальное */
  .navbar .nav-menu.active{                        /* показываем по классу .active */
    display: flex;
    position: fixed;
    top: var(--nav-h);
    left: 50%;
    transform: translateX(-50%);
    width: min(640px, 92vw);
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    background: rgba(10,10,15,.96);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    max-height: calc(100dvh - var(--nav-h) - 16px);
    overflow: auto;                               /* если пунктов много — скролл внутри */
    z-index: 1201;
  }

  /* логотип чуть компактнее на планшетах/мобилках */
  .navbar .nav-brand{ max-width: clamp(140px, 34vw, 220px); }
  .navbar .logo-text{ font-size: clamp(16px, 4.2vw, 18px); }
}

/* страховка от горизонтального скролла страницы */
html, body{ overflow-x: hidden; }
/* --- DRAWER шире, но не в полный экран --- */
:root{
  --drawer-pad-x: clamp(14px, 3.2vw, 22px);
  --drawer-pad-t:  calc(var(--nav-h, 70px) + 10px);
  --drawer-radius: 16px;
  --drawer-bg: rgba(10,10,15,.96);
}

:root{
  --nav-h: 70px;            /* фактическая высота шапки */
  --menu-bg: rgba(10,10,15,.96);
}

/* страховка против горизонтального скролла */
html, body{ overflow-x:hidden; }

/* ---------- Мобилка + планшеты: бургер на всю ширину ---------- */
@media (max-width: 1179.98px){

  /* прячем горизонтальное меню, показываем бургер */
  .nav-toggle{ display:flex; }
  .navbar .nav-menu{ display:none; }

  /* открытое меню — полноэкранный оверлей */
  .navbar .nav-menu.active{
    display:flex;
    flex-direction:column;

    position:fixed;
    inset:0;                      /* топ/право/низ/лево = 0 → 100vw×100dvh */
    z-index:1200;

    padding: calc(var(--nav-h) + 12px) clamp(16px, 4vw, 24px) 20px;
    background: var(--menu-bg);
    backdrop-filter: blur(18px);

    box-sizing:border-box;
    width:100vw;
    height:100dvh;                /* не обрежется на планшетах */
    overflow:auto;                /* если пунктов много */

    /* плавное открытие (по желанию) */
    opacity:1;
    transform:none;
  }

  /* пункты меню — большие кликабельные */
  .navbar .nav-link{
    display:block;
    width:100%;
    padding:14px 12px;
    font-size:clamp(16px, 2.2vw, 20px);
    border-radius:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    transition:background .15s ease,color .15s ease;
  }
  .navbar .nav-link:hover{
    background:rgba(255,255,255,.07);
    color:#fff;
  }
}

/* ---------- Десктоп (1180px+): обычное горизонтальное меню ---------- */
@media (min-width: 1180px){
  .navbar .nav-menu{
    display:flex !important;
    position:static;
    width:auto;
    height:auto;
    padding:0;
    background:transparent;
    backdrop-filter:none;
    border:0;
    gap:10px;
  }
  .nav-toggle{ display:none; }
}

/* Пока меню открыто — запрещаем прокрутку страницы (без JS) */
@supports selector(:has(*)){
  html:has(.nav-menu.active),
  body:has(.nav-menu.active){
    overflow:hidden;
  }
}


/* общие для моб/таб */
@media (max-width: 1179.98px){

  .nav-toggle{ display:flex; }

  /* базовое скрыто */
  .navbar .nav-menu{
    display: none;
  }

  /* открытый дроуэр */
  .navbar .nav-menu.active{
    display: flex;
    flex-direction: column;

    position: fixed;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);              /* центрируем */
    z-index: 1201;

    max-height: calc(100dvh - 24px);
    overflow: auto;

    padding: var(--drawer-pad-t) var(--drawer-pad-x) 18px;
    border-radius: var(--drawer-radius);
    background: var(--drawer-bg);
    backdrop-filter: blur(18px);
    box-shadow: 0 12px 34px rgba(0,0,0,.45);
  }

  /* пункты меню выглядят ровно и читаемо */
  .navbar .nav-menu.active .nav-link{
    display:block;
    width:100%;
    padding: 14px 12px;
    font-size: clamp(16px, 2.1vw, 20px);
    border-radius: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background .15s ease, color .15s ease;
  }
  .navbar .nav-menu.active .nav-link:hover{
    background: rgba(255,255,255,.08);
    color: #fff;
  }

  /* затемнение фона (останется как было, если уже есть) */
  .navbar::before{
    content:"";
    position:fixed;
    inset:0;
    background: rgba(0,0,0,.45);
    opacity:0;
    pointer-events:none;
    transition: opacity .18s ease;
    z-index: 1200;
  }
  .navbar:has(.nav-menu.active)::before{
    opacity:1; pointer-events:auto;
  }
}

/* — ширина по брейкпоинтам — */

/* телефон: почти вся ширина */
@media (max-width: 480px){
  .navbar .nav-menu.active{
    width: calc(100vw - 24px);   /* ~96vw с полями */
  }
}

/* маленькие планшеты */
@media (min-width: 481px) and (max-width: 768px){
  .navbar .nav-menu.active{
    width: 90vw;
  }
}

/* планшеты / небольшие ноутбуки */
@media (min-width: 769px) and (max-width: 1179.98px){
  .navbar .nav-menu.active{
    width: 82vw;                 /* можно 80–84vw под вкус */
    max-width: 980px;            /* и кап ограничение по пикселям */
  }
}

/* десктоп — обычная горизонтальная навигация */
@media (min-width: 1180px){
  .nav-toggle{ display:none; }
  .navbar .nav-menu{
    display:flex !important;
    position: static;
    transform: none;
    width: auto; max-height: none;
    padding: 0; background: transparent;
    backdrop-filter: none;
    border: 0; box-shadow: none;
  }
}
/* ========== Drawer: отступ сверху + центровка пунктов ========== */
:root { --nav-h: 70px; } /* если у тебя другая высота навбара — поменяй тут */

/* для мобильных/планшетов */
@media (max-width: 1179.98px) {
  /* сам дроуэр — больше верхний отступ и аккуратные внутренние отступы */
  .navbar .nav-menu.active{
    top: calc(var(--nav-h) + 16px);          /* + отступ от шапки */
    padding: 18px clamp(14px, 3.2vw, 22px) 22px;
    row-gap: 8px;                            /* расстояние между пунктами */
    align-items: center;                     /* центрируем содержимое */
  }

  /* пункты меню — по центру, одинаковый вид */
  .navbar .nav-menu.active .nav-link{
    display: flex;
    align-items: center;
    justify-content: center;                 /* центр по горизонтали */
    text-align: center;                      /* текст по центру */
    width: 100%;
    padding: 14px 12px;
    border-radius: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/* ================================
   BLOG / Neueste Nachrichten
   ================================ */

#blog.section {
  --card-bg: rgba(20, 20, 20, 0.35);
  --card-bg-2: rgba(20, 20, 20, 0.18);
  --card-border: rgba(255, 255, 255, 0.12);
  --card-shadow: 0 10px 25px rgba(0,0,0,.25);
  --accent: #ff8800;            /* оранжевый акцент под сайт */
  --accent-2: #ff8800;
  --text: #fff;
  --muted: rgba(255,255,255,.75);
  --chip-bg: rgba(255,255,255,.08);
  --chip-text: #8be0c3;         /* мягкий мятный для даты */
  position: relative;
}

/* Заголовок секции */
#blog .section-title{
  text-align: center;
  font-weight: 900;
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 1.1;
  margin: 40px auto 32px;
  color: #121212;
  -webkit-text-stroke: .6px rgba(0,0,0,.15);
  letter-spacing: .5px;
  position: relative;
}

#blog .section-title::after{
  content:"";
  display:block;
  width: 120px;
  height: 4px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--accent),var(--accent-2));
  box-shadow: 0 6px 18px rgba(255,138,61,.45);
}

/* Сетка карточек */
#blog .content-grid{
  max-width: min(1200px, 92vw);
  margin: 0 auto;
  display: grid;
  gap: clamp(16px, 2.4vw, 22px);
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

/* Карточка */
#blog .card{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background:
          linear-gradient(180deg, var(--card-bg) 0%, var(--card-bg-2) 100%);
  border: 1px solid var(--card-border);
  box-shadow: var(--card-shadow);
  backdrop-filter: blur(6px);
  transform: translateY(0);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

/* эффект рамки при ховере */
#blog .card::before{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;
  pointer-events:none;
  opacity:0;
  transition: opacity .35s ease;
  background: linear-gradient(180deg, rgba(255,138,61,.35), rgba(255,178,95,.15));
  mix-blend-mode: screen;
}

#blog .card:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 38px rgba(0,0,0,.35);
  border-color: rgba(255,138,61,.35);
}
#blog .card:hover::before{ opacity:1; }

/* Шапка карточки */
#blog .card-header{
  padding: clamp(16px, 2.1vw, 22px) clamp(18px, 2.6vw, 26px);
  background:
          linear-gradient(180deg, rgba(255,138,61,.18) 0%, rgba(255,138,61,.08) 100%);
  border-bottom: 1px solid var(--card-border);
}

/* Дата как чип */
#blog .card-date{
  display: inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--chip-bg);
  color: var(--chip-text);
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .4px;
  margin-bottom: 12px;
}

/* Заголовок записи */
#blog .card-title{
  margin: 0;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 800;
  line-height: 1.2;
}

#blog .card-title a{
  color: var(--text);
  text-decoration: none;
  transition: color .25s ease, text-shadow .25s ease;
}
#blog .card-title a:hover{
  color: #fff;
  text-shadow: 0 0 14px rgba(255,138,61,.5);
}

/* Контент карточки */
#blog .card-content{
  padding: clamp(16px, 2.1vw, 22px) clamp(18px, 2.6vw, 26px) clamp(20px, 2.6vw, 26px);
  color: var(--muted);
  font-size: clamp(15px, 1.15vw, 17px);
}

/* Внутренние углы для визуальной мягкости */
#blog .card-header,
#blog .card-content{
  position: relative;
}
#blog .card-header{ border-top-left-radius: 18px; border-top-right-radius: 18px; }
#blog .card-content{ border-bottom-left-radius: 18px; border-bottom-right-radius: 18px; }

/* Сжатая высота на очень узких экранах */
@media (max-width: 560px){
  #blog .section-title{ margin-top: 28px; }
  #blog .card-content{ font-size: 15px; }
}
/* ================================
   BLOG — Premium Dark / Gold Accents
   (HTML не меняем)
   ================================ */
#blog.section{
  --gold-1: #f6c56b;                 /* золотой светлый */
  --gold-2: #ff8800;                 /* оранж-золото */
  --gold-3: #ffb76a;                 /* мягкий блик */
  --ink: #f1f1f3;                    /* основной текст на тёмном */
  --muted: #bcbcc4;                  /* вторичный */
  --glass: rgba(15,15,20,.58);       /* стекло карточек */
  --glass-top: rgba(255,255,255,.06);
  --line: rgba(255,255,255,.08);
  --glow: 0 14px 40px rgba(255,154,60,.22);
  --glow-strong: 0 18px 54px rgba(255,154,60,.28);
}

/* Заголовок секции — премиум, с золотым штрихом */
#blog .section-title{
  text-align:center;
  margin: clamp(28px,3.5vw,46px) auto 24px;
  font-weight: 900;
  letter-spacing:.2px;
  font-size: clamp(28px,3.1vw,44px);
  color: #0c0c0d;                    /* даём контраст на твоём фоне */
  -webkit-text-stroke: 0;            /* чистый густой текст */
  position: relative;
}
#blog .section-title::after{
  content:"";
  display:block;
  width: 140px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--gold-1),var(--gold-2));
  box-shadow: 0 6px 20px rgba(255,154,60,.35);
}

/* Сетка — центр и воздух */
#blog .content-grid{
  max-width: min(1200px, 92vw);
  margin: 0 auto;
  display: grid;
  gap: clamp(18px,2.2vw,24px);
  grid-template-columns: repeat(2,1fr);
}
@media (max-width: 900px){ #blog .content-grid{ grid-template-columns: 1fr; } }

/* Премиум-карточка: тёмное стекло с «золотым» тонким градиент-бордером */
#blog .card{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  color: var(--ink);
  background:
          linear-gradient(180deg,var(--glass-top),transparent 60%),
          var(--glass);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid transparent;
  box-shadow: var(--glow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
/* градиентная окантовка без тяжёлых бордеров */
#blog .card::before{
  content:"";
  position:absolute; inset:0;
  padding: 1px;                       /* толщина «рамки» */
  border-radius: 18px;
  background: linear-gradient(140deg, rgba(255,255,255,.06), rgba(255,255,255,0) 30%),
  linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 20%),
  linear-gradient(90deg, var(--gold-1), var(--gold-2));
  -webkit-mask:
          linear-gradient(#000 0 0) content-box,
          linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
#blog .card:hover{
  transform: translateY(-6px);
  box-shadow: var(--glow-strong);
  border-color: rgba(255,183,106,.22);
}

/* Шапка/контент — аккуратные отступы, тонкая линия */
#blog .card-header{
  padding: clamp(16px,2.1vw,22px) clamp(18px,2.2vw,24px);
  border-bottom: 1px solid var(--line);
}
#blog .card-content{
  padding: clamp(16px,2.1vw,22px) clamp(18px,2.2vw,24px) clamp(18px,2.2vw,24px);
  color: var(--muted);
  font-size: clamp(15px,1.1vw,17px);
  line-height: 1.6;
}

/* Дата — темный чип с золотым обводом/бликом */
#blog .card-date{
  display:inline-flex; align-items:center; gap:10px;
  padding: 6px 12px;
  font-weight: 800;
  font-size: .9rem;
  color: var(--gold-1);
  background: linear-gradient(180deg, rgba(255,183,106,.18), rgba(255,154,60,.08));
  border: 1px solid rgba(255,183,106,.35);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 2px 8px rgba(255,154,60,.18);
  margin-bottom: 10px;
}

/* Заголовок — градиент «золото», без изменения текста */
#blog .card-title{
  margin: 4px 0 0 0;
  font-size: clamp(18px,1.6vw,22px);
  line-height: 1.25;
  font-weight: 900;
}
#blog .card-title a{
  text-decoration: none;
  background: linear-gradient(90deg,var(--gold-3),var(--gold-2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: filter .25s ease, text-shadow .25s ease;
}
#blog .card:hover .card-title a{
  filter: brightness(1.08);
  text-shadow: 0 0 22px rgba(255,154,60,.25);
}

/* Микро-стрелка при ховере — без изменения исходного текста */
#blog .card:hover .card-title a::after{
  content:"  →";
  -webkit-text-fill-color: initial;
  color: var(--gold-2);
}

/* На узких — чуть плотнее */
@media (max-width: 560px){
  #blog .section-title{ margin: 24px auto 18px; }
  #blog .card-content{ font-size: 15px; }
}
/* FIX: премиум-стиль заголовка в секции #blog */
#blog .section-title,
#blog h2.section-title,
section#blog h2.section-title {
  display: inline-block;                        /* важно для background-clip */
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  line-height: 1.05 !important;

  /* градиент + фолбек */
  background: linear-gradient(180deg, #fff3e6, #ffe6cc) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;

  /* делаем текст прозрачным, чтобы был виден градиент */
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;

  /* размер при необходимости */
  font-size: clamp(28px, 5vw, 64px) !important;
}
/* центрируем заголовок и его "линию" в секции Блог */
#blog {
  text-align: center;               /* чтобы элементы по умолчанию центрировались */
}

#blog .section-title{
  display: inline-block;            /* нужно, чтобы margin: auto и clip работали красиво */
  margin: 0 auto 28px;              /* центр + отступ снизу */
  text-align: center !important;    /* перебиваем возможный left */
}

/* если у заголовка есть декоративная линия через ::after — центрируем и её */
#blog .section-title::after{
  content: "";
  display: block;
  width: 120px;                     /* твоя ширина линии */
  height: 4px;
  margin: 14px auto 0;              /* авто по бокам = по центру */
  background: rgba(255,255,255,.35);/* твой цвет/градиент */
  border-radius: 2px;
  position: static;                 /* убираем left:0, top:.. если они были */
}

/* на очень широких экранах можно слегка увеличить линию */
@media (min-width: 1280px){
  #blog .section-title::after{ width: 160px; }
}
/* ====== PROFILE — компактная премиум-карточка ====== */
.profile-section .profil{
  width: min(92vw, 980px);
  min-height: 420px;
  padding: clamp(28px, 4vw, 48px);
  border-radius: 20px;

  /* сочный оранжевый градиент */
  background:
          linear-gradient(180deg,#ff8800 0%, #ff8800 45%, #ff8800 100%);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
          0 18px 50px rgba(255,106,0,.28),
          0 10px 28px rgba(0,0,0,.25),
          inset 0 1px 0 rgba(255,255,255,.25);
}

.profile-section .profil .text-center{
  max-width: 820px;
  margin: 0 auto;
}

/* аватар — аккуратно и «дорого» */
.profile-avatar{ display:flex; justify-content:center; }
.profile-section .avatar{
  width: clamp(96px, 10vw, 132px);
  height: clamp(96px, 10vw, 132px);
  object-fit: cover;
  border-radius: 14px;
  border: 4px solid rgba(255,255,255,.92);
  box-shadow: 0 12px 26px rgba(0,0,0,.32);
}

/* ИМЯ — всегда в ОДНУ строку, без переносов.
   Размер автоматически уменьшается, чтобы гарантированно влезать. */
.profile-section .profile-name{
  font-family: "Unbounded", system-ui, sans-serif;
  font-weight: 800;
  /* адаптив: на больших экранах крупно, но в пределах; на узких — меньше */
  font-size: clamp(32px, 5.4vw, 60px);
  line-height: 1;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: #FFF7EF;
  margin-top: clamp(14px, 2.3vw, 20px);

  /* ключ: НЕ переносить + не вылезать */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip; /* без троеточия */
}

/* тонкая линия под заголовком */
.profile-section .line{
  height: 2px;
  width: min(60vw, 480px);
  margin: 14px auto 18px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  border: 0;
}

/* описание — читаемо и контрастно */
.profile-section small{
  color: rgba(255,255,255,.96);
  font-size: clamp(14px, 1.8vw, 17px);
}

/* соц-кнопки — равномерные, без «липкости» */
.profile-section .social-buttons{ gap: clamp(10px, 1.4vw, 16px); }

.profile-section .neo-button{
  width: clamp(44px, 4.6vw, 54px);
  height: clamp(44px, 4.6vw, 54px);
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(0,0,0,.26);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.profile-section .neo-button:hover{
  transform: translateY(-2px);
  background: rgba(0,0,0,.26);
  border-color: rgba(255,255,255,.5);
}

/* немного компактнее на очень маленьких экранах */
@media (max-width: 420px){
  .profile-section .profil{
    width: 94vw;
    min-height: 400px;
    padding: 24px;
  }
  .profile-section .profile-name{ font-size: clamp(28px, 7vw, 42px); }
}
/* ==== PROFILE OVERRIDES ==== */

/* чистый оранжевый фон карточки (без градиента) */
.profile-section .profil{
  background: #ff8800;            /* можно заменить на ваш фирменный оранжевый */
  box-shadow:
          0 18px 50px rgba(0,0,0,.28),
          inset 0 1px 0 rgba(255,255,255,.22);
}

/* делаем аватар чуть больше и заметнее */
.profile-section .avatar{
  width: clamp(120px, 12vw, 160px);
  height: clamp(120px, 12vw, 160px);
  border-radius: 16px;
  border: 5px solid #fff;
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}

/* заголовок — яркий, без прозрачностей и смешений, всегда в одну строку */
.profile-section .profile-name{
  color: #FFFFFF;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.18);
  -webkit-text-stroke: 0 transparent;   /* на случай, если где-то был stroke */
  white-space: nowrap;                   /* никогда не переносим */
  overflow: hidden;
  text-overflow: clip;
}

/* тонкая линия под заголовком — светлая */
.profile-section .line{
  background: rgba(255,255,255,.65);
}
/* ==== Fix: белый читаемый заголовок в профиле ==== */
.profile-section .profile-name,
.profile-section .section-title,
.profile-section h1,
.profile-section h2 {
  /* цвет */
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;

  /* сброс «градиентного» текста */
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;

  /* исключаем смешения/полупрозрачность */
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;

  /* аккуратная тень для контраста (по желанию) */
  text-shadow: 0 2px 8px rgba(0,0,0,.18);
}

/* тонкая белая линия под заголовком */
.profile-section .line{
  background: rgba(255,255,255,.8) !important;
}
/* === TOP SLOTS (section#turniere) ===================================== */

/* Заголовок секции по центру и премиальный вид */
#turniere h2 {
  text-align: center !important;
  margin: 0 0 30px !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: clamp(24px, 3.2vw, 42px) !important;
  letter-spacing: .5px !important;
}

/* Сетка карточек */
#turniere .top-picks-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

/* Карточка */
#turniere .slot-card {
  display: flex !important;
  flex-direction: column !important;
  background: rgba(255, 255, 255, 0.06) !important; /* лёгкий стеклянный */
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.25) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

/* Ховер-эффект */
#turniere .slot-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.35) !important;
}

/* Изображение в карточке */
#turniere .slot-card img {
  width: 100% !important;
  display: block !important;
  height: auto !important;
  object-fit: cover !important;
}

/* Нижняя подпись карточки */
#turniere .slot-info {
  padding: 14px 16px 16px !important;
  text-align: center !important;
}

/* Название слота (по центру, белым) */
#turniere .slot-info h3 {
  margin: 6px 0 8px !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  letter-spacing: .3px !important;
}

/* «Vollständig lesen» — тёплый бежевый, не синий */
#turniere .slot-info p {
  margin: 0 !important;
  color: #FFE1BB !important;       /* тёплый бежевый */
  font-weight: 600 !important;
}

/* На всякий случай, если где-то внутри окажутся ссылки */
#turniere .slot-info a,
#turniere .slot-info a:link,
#turniere .slot-info a:visited {
  color: #FFE1BB !important;
  text-decoration: none !important;
}
#turniere .slot-info a:hover {
  color: #ffffff !important;
}
/* FAQ: только цвета текста */

#faq .faq-box-question h4 {
  color: #1f160e !important;    /* тёмный для заголовка вопроса */
  opacity: 1 !important;        /* на всякий случай, если где-то задавалась прозрачность */
  text-shadow: none !important;
}

#faq .faq-box-answer,
#faq .faq-box-answer p {
  color: #3a2f26 !important;     /* читаемый тёмный для ответа */
}

/* ссылки в ответах (вместо синего) */
#faq .faq-box-answer a {
  color: #c85d17 !important;     /* тёплый акцент, лучше под ваш оранжевый */
  text-decoration: underline;
}
#faq .faq-box-answer a:hover {
  opacity: .85;
}
/* ВОПРОС (заголовок) — сделать обычным сплошным цветом */
#faq .faq-box .faq-box-question h4 {
  /* отключаем градиент/клип, который перекрывает color */
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;

  /* ставим читаемый тёмный цвет под ваш оранжевый фон */
  color: #1b1008 !important;   /* почти чёрный, тёплый */
  font-weight: 800 !important; /* слегка жирнее, чтобы не сливаться с ответом */
  text-shadow: none !important;
}

/* ОТВЕТ — чуть светлее, чтобы визуально отличался от вопроса */
#faq .faq-box .faq-box-answer,
#faq .faq-box .faq-box-answer p {
  color: #3f2c1f !important;   /* тёплый тёмно-коричневый */
}

/* ССЫЛКИ в ответах — заменить синий на тёплый акцент */
#faq .faq-box .faq-box-answer a {
  color: #d9772a !important;
  text-decoration: underline;
}
#faq .faq-box .faq-box-answer a:hover {
  color: #bf671f !important;
}
/* === PREMIUM HEADINGS (как на скрине ORANGEMORANGE) === */
:root{
  --heading-font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;
  /* мягкий кремовый градиент */
  --head-grad-1: #fff3e6;
  --head-grad-2: #ffe6cc;
  --head-solid:  #fff0e0;  /* фолбек-цвет */
}

/* 1) ВСЕ ЗАГОЛОВКИ (h1–h6 + популярные классы) */
h1, h2, h3, h4, h5, h6,
.section-title,
.card-title,
.faq-heading h3,
.profile-section h2,
.slots h2,
.newsletter-section h2,
#faq .faq-box-question h4 {
  font-family: var(--heading-font);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.05;
  /* кремовый градиент в тексте + фолбек */
  color: var(--head-solid);
  background: linear-gradient(180deg, var(--head-grad-1), var(--head-grad-2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Размеры/контрасты без агрессии — адаптивно */
h1, .section-title { font-size: clamp(28px, 5vw, 64px); }
h2 { font-size: clamp(22px, 3.2vw, 40px); }
h3 { font-size: clamp(18px, 2.4vw, 28px); }

/* 2) ПОДЗАГОЛОВКИ (OFFIZIELL-стиль) — капс + большой трекинг */
.hero-min__subtitle,
.section-title + p,           /* описание под заголовком секции, если есть */
.subtitle,
.subheading,
#faq .faq-heading p {
  font-family: var(--heading-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .42em;           /* как в OFFIZIELL */
  color: var(--head-solid);
  opacity: .95;
  font-size: clamp(12px, 1.2vw, 14px);
}

/* Если где-то заголовок/сабтайтл НЕ должен быть капсом — точечно сбросьте: */
/* .no-caps { text-transform:none; letter-spacing:normal; } */

/* 3) Полезные утилиты, если захотите применять выборочно */

/* применить стиль заголовка вручную к любому элементу */
.heading-premium{
  font-family: var(--heading-font);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing:.02em;
  color: var(--head-solid);
  background: linear-gradient(180deg, var(--head-grad-1), var(--head-grad-2));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* применить стиль сабтайтла вручную */
.subheading-premium{
  font-family: var(--heading-font);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing:.42em;
  color: var(--head-solid);
  opacity:.95;
}
/* ====== FAQ: фикс выравнивания по центру ====== */

/* Убираем "утащенные" вправо отступы */
.faq-box-container {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

/* Базовая центровка на мобилке: одна колонка, контейнер по центру */
#faq .faq-content {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;             /* внутренности по центру */
  gap: 16px;
  padding-inline: 16px;              /* аккуратные поля */
}

#faq .faq-box-container {
  width: min(100%, 720px);           /* ширина стопки карточек */
  margin: 0 auto !important;         /* центр секции */
  padding: 0 !important;
}

#faq .faq-box {
  width: 100%;                       /* карточки растягиваются как контейнер */
}

/* Картинка внизу — тоже по центру */
#faq .faq-img {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
}

/* Десктоп: две колонки (вопросы + картинка), и всё по центру секции */
@media (min-width: 1100px) {
  #faq .faq-content {
    grid-template-columns: minmax(0, 720px) minmax(0, 420px);
    justify-content: center;         /* вся сетка по центру */
    align-items: start;
    gap: 32px;
    padding-inline: 24px;
  }
  #faq .faq-img { justify-self: center; }
}
/* базовые настройки */
#turniere.section.slots{
  position: relative;
  overflow: hidden;
  padding: 60px 0; /* можно править отступы секции */
}

/* фон: мягкий оранжевый градиент + шум */
#turniere.section.slots::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    /* noise поверх, очень деликатный */
          url("img/noise-2.png") center/400px repeat,
            /* сам градиент */
          linear-gradient(180deg, #ff8800 0%, #ff8800 45%, #ff8800 100%);
  opacity: 1;
}

/* контент поверх фона */
#turniere.section.slots > .container{
  position: relative;
  z-index: 1;
}
/* центрируем заголовок */
#turniere.section.slots h2{
  color:#fff;
  font-weight: 800;
  letter-spacing:.5px;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 28px !important;
}

/* делаем slot-card чуть контрастнее над фоном */
#turniere .slot-card.featured{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  backdrop-filter: blur(4px);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
#turniere .slot-card.featured:hover{
  transform: translateY(-4px);
  background: rgba(255,255,255,.12);
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}

/* выравниваем подписи по центру */
#turniere .slot-info{
  text-align: center;
}
#turniere .slot-info h3{
  color:#fff;
  font-weight: 800;
}
#turniere .slot-info p{
  color: rgba(255,255,255,.85);
}
#casinos {
  background: #1a1a2e;
  border-radius: 16px;    /* опционально, чтобы фон был «плиткой» */
  padding: 24px;          /* опционально, чтобы контент не лип к краям */
}
/* Оранжевые заголовки офферов в секции #casinos — жёсткий сброс градиента */
#casinos .bg-gray-800 h3,
#casinos h3.text-white.text-center.text-2xl,
#casinos h3 {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: #FF8A3D !important; /* критично для Safari/Chrome */
  color: #FF8A3D !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}
/* вся карточка — кликабельна */
#casinos .card-link{
  display:block;
  border-radius: 14px;            /* чтобы тень/скругление не ломались */
  text-decoration: none;
  color: inherit;
}

/* hover-эффект переносим на ссылку */
#casinos .card-link:hover .transform{
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}

/* визуальная «кнопка» внизу карточки (замена внутреннему <a>) */
#casinos .cta-like-btn{
  background: #22c55e;            /* как bg-green-500 */
  color: #fff !important;
  border: 0;
  transition: background .2s ease, opacity .2s ease;
}
#casinos .card-link:hover .cta-like-btn{
  background: #16a34a;            /* как hover:bg-green-600 */
}
/* === NAVBAR: фикс обрезания логотипа/текста на мобилках === */
@media (max-width: 600px) {
  /* Шапка */
  .navbar {
    height: auto !important;
    padding-top: 8px;
    padding-bottom: 8px;
    overflow: visible !important;
  }

  /* Внутренний контейнер */
  .navbar .nav-container {
    width: 100%;
    height: auto !important;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  /* Блок бренда — тянется, но можно сжимать; важны min-width:0 */
  .navbar .nav-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;                 /* <-- позволяет .logo-text сжиматься, а не выталкивать */
  }

  /* Сам логотип — делаем поменьше */
  .navbar .nav-brand img,
  .navbar .brand-logo,
  .navbar .brand-logo img,
  .navbar .brand-logo svg {
    height: 30px !important;
    width: auto;
    display: block;
  }

  /* Текст рядом с логотипом — без max-width и без ellipsis */
  .navbar .logo-text {
    display: block;               /* был inline-block */
    white-space: nowrap;
    overflow: visible !important; /* перебиваем hidden */
    text-overflow: clip !important;
    max-width: none !important;   /* перебиваем 20ch/28ch */
    font-size: clamp(15px, 4.2vw, 18px) !important;
    line-height: 1.1;
  }

  /* Кнопка-бургер — фиксированная ширина и не тянется */
  #nav-toggle,
  .nav-toggle {
    flex: 0 0 auto;
    margin-left: 6px;
  }
}

/* На средних — оставим чуть шире шрифт, тоже без max-width */
@media (min-width: 600px) and (max-width: 980px) {
  .navbar .logo-text {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(16px, 2.8vw, 20px) !important;
  }
}
/* Круглый аватар в hero */
.hero-avatar{
  width: 180px;             /* базовый размер */
  height: 180px;
  border-radius: 50%;
  overflow: hidden;         /* обрезаем края внутри круга */
  padding: 4px;             /* тонкое кольцо вокруг */
  background: linear-gradient(135deg,#ffb36b,#ff7a2f); /* кольцо/градиент */
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  margin-inline: auto;      /* по центру */
}

.hero-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* ровная обрезка в круге */
  border-radius: 50%;
  display: block;
}

/* Чуть больше на планшетах/десктопах */
@media (min-width: 768px){
  .hero-avatar{ width: 220px; height: 220px; }
}
@media (min-width: 1200px){
  .hero-avatar{ width: 260px; height: 260px; }
}
/* Сетка hero: картинка + контент */
.hero-min .hero-min__wrap{
  display: grid;
  grid-template-columns: 1fr auto;     /* текст слева, фото справа */
  align-items: center;
  gap: clamp(16px, 3vw, 48px);
}

/* Большой круглый аватар */
.hero-avatar{
  width: clamp(220px, 24vw, 420px);   /* БОЛЬШЕ на десктопе */
  height: clamp(220px, 24vw, 420px);
  border-radius: 50%;
  overflow: hidden;
  padding: 6px;                       /* тонкая окантовка */
  background: linear-gradient(135deg,#ffd7b0,#ff7a2f);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.hero-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

/* Контентная колонка */
.hero-content{
  display: grid;
  gap: 16px;
}

/* Мобильная перестановка: СНАЧАЛА ФОТО, потом текст */
@media (max-width: 768px){
  .hero-min .hero-min__wrap{
    grid-template-columns: 1fr;       /* одна колонка */
    justify-items: center;            /* центрируем */
    text-align: center;
  }
  .hero-avatar{
    order: -1;                        /* фото ПЕРВЫМ */
    width: clamp(200px, 55vw, 300px); /* размер для мобилки */
    height: clamp(200px, 55vw, 300px);
    margin-bottom: 8px;
  }
  .hero-content{
    order: 0;
    width: min(720px, 100%);
  }
}
/* ---------- HERO layout ---------- */
.hero-min {
  /* необязательно, но обычно тут паддинги секции */
  padding: clamp(24px, 4vw, 60px) 0;
}

/* Текст слева, фото справа (десктоп) */
.hero-min .hero-min__wrap{
  display: grid;
  grid-template-columns: 1fr auto;   /* контент | аватар */
  align-items: center;
  gap: clamp(16px, 3vw, 48px);
}

/* ---------- Аватар: большой круг ---------- */
.hero-min .hero-avatar{
  width: clamp(240px, 26vw, 460px);  /* КРУПНЕЕ на десктопе */
  height: clamp(240px, 26vw, 460px);
  border-radius: 50%;
  overflow: hidden;
  padding: 6px;                      /* тонкая рамка */
  background: linear-gradient(135deg,#ffd7b0,#ff7a2f);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.hero-min .hero-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;                 /* аккуратный кроп */
  border-radius: 50%;
  display: block;
}

/* ---------- Мобилка: сначала фото, потом контент ---------- */
@media (max-width: 768px){
  .hero-min .hero-min__wrap{
    grid-template-columns: 1fr;      /* одна колонка */
    justify-items: center;
    text-align: center;
  }
  .hero-min .hero-avatar{
    order: -1;                       /* фото ПЕРВЫМ */
    width: clamp(200px, 56vw, 320px);
    height: clamp(200px, 56vw, 320px);
    margin: 0 0 12px;
  }
  .hero-min .hero-min__left{
    order: 0;
    width: min(760px, 100%);
  }
}
.page-subtitle {
  position: fixed;            /* «приклеено» к окну */
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  text-align: center;
  max-width: min(90vw, 900px); /* чтобы строка не была слишком длинной */
  z-index: 1000;              /* поверх остального */
}
/* Центрируем подзаголовок внутри контейнера */
.page-subtitle {
  text-align: center;       /* текст по центру */
  margin: 10px auto 0;      /* сам блок по центру */
  max-width: 900px;         /* чтобы строка не была слишком длинной */
  line-height: 1.5;
  /* необязательно, но приятно: адаптивный размер */
  font-size: clamp(16px, 1.2vw + 12px, 20px);
  /* цвет можно подправить, если нужно:
  color: rgba(255,255,255,.9);
  */
}

/* Чуть поджать отступы у заголовка, если нужно */
.page-title {
  margin-bottom: 8px;
}
/* Локальный стиль только для секции казино */
#casinos .casino-cta {
  display: block;
  width: 100%;
  text-align: center;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;

  /* Оранжевый фон / градиент */
  background: linear-gradient(180deg, #ffa24a 0%, #ff812b 100%);
  border: 1px solid #ff9a4e;

  /* Тень как у остальных карточек */
  box-shadow: 0 8px 30px rgba(255, 129, 43, 0.25);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
#casinos .casino-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 36px rgba(255, 129, 43, 0.35);
}
#casinos .casino-cta:active {
  transform: translateY(0);
  opacity: .95;
}
/* Убираем избыточный верхний отступ в hero на мобилках */
@media (max-width: 768px) {
  .hero-min{
    /* было: padding-top: calc(var(--nav-h) + 24px) */
    padding: 16px 0 32px !important; /* подбери цифры под вкус */
  }

  /* чтобы картинка не «сползала» вниз дополнительными отступами */
  .hero-min .hero-avatar{
    margin-top: 0 !important;
  }

  /* на всякий случай убираем возможный внешний отступ между навбаром и героем */
  .navbar + .hero-min{
    margin-top: 0 !important;
  }
}

/* если вдруг где-то осталась глобальная «универсальная» отступная величина */
.hero-min{
  padding: clamp(16px, 4vw, 40px) 0; /* десктопный базовый */
}
/* поместите в самый низ вашего CSS */
.page-subtitle,
.page-title,
.page-header,
.breadcrumb {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}
/* Секция «шапки» страницы никогда не липкая */
section.page-header,
section.page-header .container,
section.page-header .page-title,
section.page-header .page-subtitle {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  inset: auto !important;        /* на всякий случай */
  transform: none !important;    /* если кто-то «фиксирует» через transform */
  z-index: auto !important;
}

/* На некоторых сборках sticky пишут в виде -webkit-sticky */
section.page-header,
section.page-header .container {
  position: static !important;
}

/* Если у вас есть глобальное правило типа `.section{position:sticky;}` — перебьём для этой секции */
.section.page-header {
  position: static !important;
}
/* Декор в шапке не ловит клики */
.tournament-image,
.tournament-image * { pointer-events: none; }

/* Контент и кнопка гарантированно над шапкой */
.tournament-card .tournament-content { position: relative; z-index: 10; }
.tournament-card .btn,
.tournament-card a.btn { position: relative; z-index: 11; pointer-events: auto; }
/* 1) Центр заголовков по сайту */
section h2,
section .section-title{
  text-align:center !important;
  display:block !important;
  float:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  width:fit-content !important;
  max-width:100% !important;
}

/* 2) Контейнер секции турниров — нормальные поля и ширина */
body section.tournaments-grid-section > .container{
  box-sizing:border-box !important;
  width:auto !important;                /* перебиваем width:100%!important */
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(16px,3vw,32px) !important;
  padding-right:clamp(16px,3vw,32px) !important;
}

/* страховка: если грид сам тащит отрицательные/внешние отступы */
section.tournaments-grid-section .tournaments-grid{
  margin-left:0 !important;
  margin-right:0 !important;
}
/* 2.1 — Делаем ПОДЗАГОЛОВКИ по центру на всём сайте */
section .page-subtitle,
section .section-subtitle,
section .subtitle{
  text-align:center !important;
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:100% !important;
}

/* 2.2 — Боковые отступы на САМУ секцию турниров (обойти любые .container-хаки) */
section.tournaments-grid-section{
  box-sizing:border-box !important;
  padding-left:clamp(16px, 3vw, 32px) !important;
  padding-right:clamp(16px, 3vw, 32px) !important;
}

/* 2.3 — Дополнительно ограничим контент по ширине и выровняем по центру */
section.tournaments-grid-section > .container,
section.tournaments-grid-section [class*="container"]{
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  width:auto !important;               /* перебиваем возможный width:100%!important */
}

/* 2.4 — Чтоб грид не тянул отрицательные поля */
section.tournaments-grid-section .tournaments-grid{
  margin-left:0 !important;
  margin-right:0 !important;
  /* если нужно ещё «воздуха» между карточками: */
  /* gap: 24px !important; */
}
/* Заголовки по центру (h1 + все "title"-классы) */
section h1,
section .page-title,
section .hero-min__title {
  text-align: center !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: fit-content !important;
  max-width: 100% !important;
}

/* Подзаголовки по центру + отступ после них */
section .page-subtitle,
section .section-subtitle,
section .subtitle,
section .hero-min__subtitle {
  text-align: center !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;

  /* небольшой отступ сверху и выраженный снизу */
  margin-top: clamp(6px, 1vw, 12px) !important;
  margin-bottom: clamp(20px, 3.5vw, 40px) !important;
}
/* Центр хлебных крошек в шапках секций */
.page-header .breadcrumb,
nav.breadcrumb {
  display: flex !important;
  justify-content: center !important;  /* по центру */
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto clamp(12px, 2vw, 24px) !important; /* нижний отступ */
}

/* Если крошки размечены списком — тоже центр */
.page-header .breadcrumb ol,
.page-header .breadcrumb ul {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* На всякий случай убираем возможное "прижатие" контейнером */
.page-header .container {
  text-align: center;                /* не ломает flex-крошки */
}
.page-header .container > .breadcrumb {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* === 1) Вертикальные отступы у секции турниров === */
section.tournaments-grid-section{
  /* отступы сверху/снизу — адаптивно */
  padding-block: clamp(28px, 6vw, 72px) !important;
}

/* если сверху/снизу визуально все еще тесно, добавьте доп. отступ у заголовка */
section.tournaments-grid-section .section-title{
  margin-bottom: clamp(16px, 3vw, 32px) !important;
}

/* сетке даём нормальный зазор между карточками, если его перетирают */
section.tournaments-grid-section .tournaments-grid{
  gap: clamp(16px, 2.5vw, 28px) !important;
  align-items: stretch !important;   /* растягиваем строки равномерно */
}

/* === 2) Единая высота карточек + кнопка всегда снизу === */
.tournaments-grid .tournament-card{
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;   /* чтобы низ можно было «прижать» */
}

/* верхняя картинка фиксированная, остальное — тянется */
.tournaments-grid .tournament-image{
  /* фиксируем визуальную высоту верхнего блока, чтобы сетка не гуляла */
  min-height: 200px !important;       /* можно 180–220px под ваш вкус */
}

/* контентная часть занимает всё оставшееся пространство */
.tournaments-grid .tournament-content{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  row-gap: 14px;                       /* аккуратные внутренние интервалы */
}

/* любые инфо-блоки внутри — обычный поток */
.tournaments-grid .tournament-stats,
.tournaments-grid .tournament-duration{
  display: block;
}

/* кнопка уходит в самый низ карточки и везде стоит на одном уровне */
.tournaments-grid .tournament-content .btn{
  margin-top: auto !important;
  width: 100% !important;
}

/* На всякий случай выравниваем разные внешние отступы заголовков/текста */
.tournaments-grid .tournament-title{
  margin: 0 0 8px !important;
}
.tournaments-grid .tournament-description{
  margin: 0 !important;
}

/* Отступ сверху у каждого следующего .tournament-stat */
.tournament-stat + .tournament-stat{
  margin-top: 12px !important;
}
/* === FIX: одинаковые цвета и фон на всех брейкпоинтах === */

/* Базовые токены (подставь свои при необходимости) */
:root{
  --bg: #0f1018;
  --card: #151724;
  --text: #f5ecdd;
  --text-muted: #b9bfd3;
  --accent: #ff8a3c;
}

/* Глобально одинаковый фон/текст */
html, body{
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* Карточки и секции */
.section,
.page-header,
.tournaments-grid-section,
.featured-tournament,
.leaderboard-section,
.tournament-rules,
.newsletter-section{
  background: transparent !important;
  color: var(--text) !important;
}

.tournament-card,
.featured-tournament-card,
.rule-card,
.position-card,
.leaderboard-table{
  background: var(--card) !important;
  color: var(--text) !important;
}

/* Кнопки — не трогаем цвета, только убеждаемся, что они видимы */
.btn{
  color: #fff !important;
}

/* Мобильный anti-gradient: отключаем «прозрачный» текст */
@media (max-width: 768px){
  h1, h2, .page-title, .section-title{
    /* если где-то задан градиентный текст */
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: unset !important;
    color: var(--text) !important;
  }

  /* иногда на мобайле переопределяют цвета токенов — запрещаем */
  :root{
    --bg: #0f1018;
    --card: #151724;
    --text: #f5ecdd;
    --text-muted: #b9bfd3;
    --accent: #ff8a3c;
  }
}
/* Center "Turnier-Regeln" on mobile */
@media (max-width: 768px){
  .tournament-rules .container{
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px;
    padding-right: 16px;
  }

  .tournament-rules .section-title{
    text-align: center !important;
    margin: 0 auto 16px !important;
    display: block;
  }

  /* Одна колонка и центрирование карточек */
  .tournament-rules .rules-grid{
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;      /* центрируем карточки */
    gap: 16px;
  }

  .tournament-rules .rule-card{
    width: 100%;
    max-width: 560px;           /* ширина карточки по центру */
    margin: 0 auto;
    text-align: center;         /* заголовок/иконка по центру */
  }

  .tournament-rules .rule-icon{
    font-size: 28px;
    margin-bottom: 8px;
  }

  /* Списки читаемы: остаются «влево» внутри центрированной карточки */
  .tournament-rules .rule-card ul{
    display: inline-block;      /* чтобы можно было центрировать блок списка */
    text-align: left;
    margin: 8px auto 0;
    padding-left: 18px;         /* отступ под маркеры */
  }
}
/* FIX: премиум-стиль заголовка в секции #blog */
#blog .section-title,
#blog h2.section-title,
section#blog h2.section-title {
  display: inline-block;                        /* важно для background-clip */
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  line-height: 1.05 !important;

  /* градиент + фолбек */
  background: linear-gradient(180deg, #fff3e6, #ffe6cc) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;

  /* делаем текст прозрачным, чтобы был виден градиент */
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;

  /* размер при необходимости */
  font-size: clamp(28px, 5vw, 64px) !important;
}
@media (max-width: 980px) {
  .nav-menu a { pointer-events: auto !important; }
}
/* Casinos grid: фиксы для экранов 620–710px */
@media (min-width: 620px) and (max-width: 710px) {
  /* Делаем 2 колонки в этом диапазоне */
  #casinos .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px; /* можешь поменять при желании */
  }

  /* Не даём детям растягивать ячейку и вылезать вправо */
  #casinos .grid > * { min-width: 0; }
  #casinos .card-link { display: block; min-width: 0; }

  /* На всякий случай — чтобы изображения не растягивали карточку */
  #casinos img { max-width: 100%; height: auto; }

  /* Карточка всегда вписывается в свою колонку */
  #casinos .grid > a > div { width: 100%; box-sizing: border-box; }
}
/* FIX: 620–710px — кнопки не обрезаются, карточки дышат */
@media (min-width: 620px) and (max-width: 710px) {
  /* 2 колонки и внутренняя «подушка», чтобы ничего не упиралось в край */
  #casinos .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    padding: 0 12px;
    box-sizing: border-box;
  }

  /* Разрешаем дочерним элементам сжиматься внутри колонки */
  #casinos .grid > * { min-width: 0; }
  #casinos .card-link { display: block; min-width: 0; }

  /* Чуть меньше внутренние отступы карточки в этом диапазоне */
  #casinos .p-6 { padding: 16px !important; }

  /* Кнопка: не вылезает, переносит слова, центрируется */
  #casinos .cta-like-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 10px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* На всякий случай — картинки не растягивают контейнер */
  #casinos img { max-width: 100%; height: auto; display: block; }
}
/* ==== FIX: витрина казино на 620–710px ==== */
@media (min-width: 620px) and (max-width: 710px){

  /* сам раздел — не даём горизонтальный скролл */
  #casinos{
    overflow-x: hidden !important;
  }

  /* сетка — только один столбец и нормальные поля */
  #casinos .grid{
    display: grid !important;
    grid-template-columns: 1fr !important;   /* ОДИН столбец */
    gap: 24px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  /* элемент сетки (ссылка) во всю ширину */
  #casinos .grid > a,
  #casinos .grid > *{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* карточка — никаких фикс/флекс ширин и трансформов */
  #casinos .bg-gray-800{
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    transform: none !important;
  }

  /* внутренний контейнер — учитывать padding как ширину */
  #casinos .p-6{
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* логотипы/картинки не выталкивают ширину */
  #casinos img{
    max-width: 100% !important;
    height: auto !important;
  }

  /* кнопка — резиновая, строго внутри карточки */
  #casinos .cta-like-btn{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}
@media (max-width: 980px) {
  .nav-menu a { pointer-events: auto !important; }
}
.hero-min__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.hero-min__socials{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  margin-top:22px;
}

.hero-min__socials .sm{
  flex: 1 1 190px;
  max-width: 240px;
  height: 64px;
  padding: 10px 16px;
  border-radius: 18px;
  background:#fff;
  color:#111;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:12px;
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}

.hero-min__socials .sm span{
  font-weight:800;
  font-size:18px;
}

.hero-min__socials .sm i{
  width:42px;
  height:42px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  color:#fff;
}

.hero-min__socials .sm--kick i{ background:#53fc18; color:#111; }
.hero-min__socials .sm--twitch i{ background:#9146ff; }
.hero-min__socials .sm--tiktok i{ background:#000; }
.hero-min__socials .sm--instagram i{
  background: linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);
}

@media (max-width: 700px){
  .hero-min__socials .sm{ flex: 1 1 calc(50% - 16px); max-width:none; }
}

.social-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}

.social-buttons .neo-button{
  width:60px;
  height:60px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}

.social-buttons .neo-button i{
  font-size:22px;
  color:#fff;
}

.social-buttons .neo--kick{ background:#53fc18; }
.social-buttons .neo--kick i{ color:#111; }

.social-buttons .neo--twitch{ background:#9146ff; }
.social-buttons .neo--tiktok{ background:#000; }
.social-buttons .neo--instagram{
  background: linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);
}
.social-buttons .neo--youtube{ background:#ff0000; }
.social-buttons .neo--threads{ background:#000; }
.social-buttons .neo--discord{ background:#5865f2; }
.nav-brand, .footer-brand { text-decoration: none; color: inherit; }

.page-header--compact { padding: 48px 0 28px; }
.page-header--compact .page-title {
  text-align: center;
  margin: 10px 0 10px;
  font-size: clamp(28px, 6vw, 56px);
  line-height: 1.05;
}
.page-header--compact .page-subtitle {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 18px;
  opacity: .9;
}
.vitrina-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 10px 0 14px;
}
.btn.btn-secondary { opacity: .9; }
.vitrina-bullets {
  list-style: none;
  padding: 0;
  margin: 12px auto 0;
  max-width: 820px;
  display: grid;
  gap: 8px;
}
.vitrina-bullets li { opacity: .92; text-align: center; } {
  text-align: center;
  margin-top: 14px;
  font-size: .95em;
  opacity: .8;
}
.vitrina-infos h2 { margin-bottom: 14px; }
.vitrina-infos h3 { margin-top: 18px; }
.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}
.px-4{padding-left:1rem;padding-right:1rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.gap-12{gap:3rem}
.items-center{align-items:center}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.font-bold{font-weight:700}
.mb-6{margin-bottom:1.5rem}
.mb-4{margin-bottom:1rem}
.text-gray-300{color:rgb(209 213 219)}
.rounded-lg{border-radius:.5rem}
.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1)}
.w-full{width:100%}
@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}
@media (min-width:1024px){
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:col-span-3{grid-column:span 3 / span 3}
  .lg\:col-span-2{grid-column:span 2 / span 2}
}

.subheading{
  font-weight: 700;
  margin: 14px 0 6px;
}

.tournament-image,
.tournament-image * { pointer-events: none; }
.tournament-card .tournament-content { position: relative; z-index: 2; }

.btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }