:root {
    --color-primary: #00F0B5;
    --color-primary-hover: #00D6A1;
    --color-secondary: #7C3AED;
    --color-secondary-hover: #6D28D9;
    --color-accent: #38BDF8;
    --color-bg-primary: #0A0D14;
    --color-bg-secondary: #111726;
    --color-bg-elevated: #172033;
    --color-bg-card: #131C2E;
    --color-bg-card-hover: #1A263D;
    --color-border-subtle: #1E293B;
    --color-border-medium: #334155;
    --color-border-highlight: rgba(0, 240, 181, 0.3);
    --color-text-primary: #F8FAFC;
    --color-text-secondary: #94A3B8;
    --color-text-muted: #64748B;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.text-muted {
    color: #94A3B8 !important;
}

.custom-scroll-dark::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.custom-scroll-dark::-webkit-scrollbar-track {
    background: #0A0D14;
}

.custom-scroll-dark::-webkit-scrollbar-thumb {
    background: #1E293B;
    border-radius: 4px;
}

.custom-scroll-dark::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* ===== header ===== */
.site-header {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.site-header nav a {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ===== hero ===== */
.hero-matrix {
    background-color: #0A0D14;
}

.hero-matrix h1,
.hero-matrix h2,
.hero-matrix h3 {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.hero-matrix p,
.hero-matrix span,
.hero-matrix button,
.hero-matrix a {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.hero-matrix .js-hero-tab-btn.active {
    background-color: #00F0B5;
    color: #0A0D14;
}

.hero-matrix .js-hero-tab-btn:not(.active) {
    background-color: transparent;
    color: #94A3B8;
}

.hero-matrix .js-hero-tab-btn:not(.active):hover {
    color: #F8FAFC;
}

/* ===== best-games-grid ===== */
.best-games-matrix {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.best-games-matrix h2,
.best-games-matrix h3 {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
    hyphens: auto;
}

.best-games-matrix .js-game-card.is-hidden {
    display: none;
}

/* ===== tutorials-grid ===== */
.tutorials-grid-section {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.tutorials-grid-section h2,
.tutorials-grid-section h3 {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.tutorials-grid-section .js-grid-item {
    min-height: 100%;
}

.tutorials-grid-section .js-grid-item.hidden-item {
    display: none;
}

/* ===== consultation-booking ===== */
.consultation-booking-section .consultation-input::placeholder,
.consultation-booking-section .consultation-textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

.consultation-booking-section input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0.8) brightness(1.2);
    cursor: pointer;
}

.consultation-booking-section .consultation-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
}

/* ===== objections ===== */
.objections-section .objections-card {
    transition: border-color 0.15s ease-in-out;
}

.objections-section .objections-card:hover {
    border-color: #334155;
}

.objections-section .js-faq-content {
    display: none;
}

.objections-section .js-faq-item.is-active .js-faq-content {
    display: block;
}

.objections-section .js-faq-item.is-active .js-faq-icon {
    transform: rotate(180deg);
    background-color: rgba(0, 240, 181, 0.15);
    border-color: rgba(0, 240, 181, 0.4);
}

/* ===== after-start ===== */
#after-start-timeline .stage-card {
    min-height: 100%;
}

#after-start-timeline h2,
#after-start-timeline h3 {
    hyphens: auto;
}

/* ===== contact-block ===== */
.contact-matrix-block .contact-input::placeholder {
    color: #64748B;
    opacity: 1;
}

.contact-matrix-block .contact-input::-webkit-input-placeholder {
    color: #64748B;
    opacity: 1;
}

.contact-matrix-block .contact-input::-moz-placeholder {
    color: #64748B;
    opacity: 1;
}

.contact-matrix-block .contact-input:-ms-input-placeholder {
    color: #64748B;
    opacity: 1;
}

.contact-matrix-block select option {
    background-color: #172033;
    color: #F8FAFC;
}

.contact-matrix-block .contact-checkbox {
    accent-color: #00F0B5;
}

/* ===== footer ===== */
.site-footer {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.site-footer .site-footer-disclaimer {
    position: relative;
    box-sizing: border-box;
}

.site-footer a {
    word-break: break-word;
}

.category-template-header h1,
.category-template-header h2,
.category-template-header h3,
.category-catalog-block h2,
.category-catalog-block h3 {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.category-catalog-block .js-filter-tag.active {
    background-color: #00F0B5;
    color: #0A0D14;
    border-color: #00F0B5;
}

.category-catalog-block .js-filter-tag:not(.active) {
    background-color: #111726;
    color: #94A3B8;
    border-color: #1E293B;
}

.category-catalog-block .js-filter-tag:not(.active):hover {
    color: #F8FAFC;
    border-color: #334155;
}

.category-catalog-block input::placeholder {
    color: #64748B;
    opacity: 1;
}


/* ===== PAGE: privacy ===== */
.policy-content { max-width: 900px; margin: 0 auto; padding: 2rem 1rem; color: #94A3B8; font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.7; hyphens: auto; } .policy-content h1, .policy-content h2, .policy-content h3, .policy-content h4 { font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif; color: #F8FAFC; font-weight: 700; line-height: 1.25; margin-top: 2rem; margin-bottom: 0.875rem; letter-spacing: -0.01em; } .policy-content h1 { font-size: 18px; } .policy-content h2 { font-size: 16px; border-bottom: 1px solid #1E293B; padding-bottom: 0.5rem; color: #00F0B5; } .policy-content h3 { font-size: 14px; color: #F8FAFC; } .policy-content p { font-size: 14px; margin-bottom: 1.125rem; color: #94A3B8; } .policy-content .policy-intro { font-size: 15px; color: #F8FAFC; margin-bottom: 1.75rem; line-height: 1.75; } .policy-content ul, .policy-content ol { margin-top: 0.5rem; margin-bottom: 1.25rem; padding-left: 1.25rem; list-style-type: disc; } .policy-content li { font-size: 14px; margin-bottom: 0.5rem; color: #94A3B8; } .policy-content strong { color: #F8FAFC; font-weight: 600; } .policy-content a { color: #00F0B5; text-decoration: underline; text-underline-offset: 3px; transition: color 150ms ease; } .policy-content a:hover { color: #00D6A1; } .policy-content .policy-contact-box { background-color: #131C2E; border: 1px solid #1E293B; border-radius: 0.75rem; padding: 1.25rem; margin: 1.25rem 0; color: #F8FAFC; } .policy-content .policy-date-note { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid #1E293B; font-size: 13px; color: #64748B; font-weight: 500; } @media (min-width: 768px) { .policy-content { padding: 3.5rem 1.5rem; } .policy-content h1 { font-size: 32px; } .policy-content h2 { font-size: 24px; margin-top: 2.75rem; } .policy-content h3 { font-size: 18px; } .policy-content p, .policy-content li { font-size: 15px; } .policy-content .policy-intro { font-size: 16px; } }

/* ===== PAGE: terms ===== */
.policy-content { max-width: 860px; margin-left: auto; margin-right: auto; padding: 2.5rem 1rem; color: #94A3B8; font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif; hyphens: auto; } @media (min-width: 768px) { .policy-content { padding: 4rem 1.5rem; } } .policy-content h1, .policy-content h2, .policy-content h3 { font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.25; } .policy-content a { color: #00F0B5; text-decoration: none; transition: color 0.15s ease; } .policy-content a:hover { color: #00D6A1; text-decoration: underline; } .policy-content ul, .policy-content ol { color: #94A3B8; line-height: 1.65; } .policy-content strong { color: #F8FAFC; }

/* ===== PAGE: disclaimer ===== */
.policy-content{color:#94A3B8;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.7;hyphens:auto;word-break:break-word}.policy-content h2{color:#F8FAFC;font-family:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:16px;line-height:1.3;margin-top:2rem;margin-bottom:0.75rem;padding-bottom:0.35rem;border-bottom:1px solid #1E293B;letter-spacing:-0.01em}.policy-content h2:first-of-type{margin-top:1rem}.policy-content p{color:#94A3B8;margin-bottom:1rem;font-size:14px;line-height:1.7}.policy-content strong{color:#F8FAFC;font-weight:600}.policy-content ul{list-style-type:disc;padding-left:1.25rem;margin-bottom:1.25rem;color:#94A3B8}.policy-content li{margin-bottom:0.5rem;font-size:14px;line-height:1.6}.policy-content a{color:#00F0B5;text-decoration:none;transition:color 150ms ease}.policy-content a:hover{color:#00D6A1;text-decoration:underline}@media(min-width:768px){.policy-content{font-size:16px}.policy-content h2{font-size:24px;margin-top:2.5rem;margin-bottom:1rem}.policy-content p{font-size:15px}.policy-content li{font-size:15px}}

/* ===== PAGE: cookies ===== */
.policy-content { background-color: #0A0D14; color: #94A3B8; font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif; font-size: 15px; line-height: 1.7; padding: 2rem 1.25rem; max-width: 56rem; margin-left: auto; margin-right: auto; hyphens: auto; } @media (min-width: 768px) { .policy-content { font-size: 16px; line-height: 1.75; padding: 3.5rem 2rem; } } .policy-content h2 { font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif; font-size: 16px; font-weight: 700; color: #F8FAFC; line-height: 1.25; margin-top: 0; margin-bottom: 1rem; letter-spacing: -0.01em; } @media (min-width: 768px) { .policy-content h2 { font-size: 30px; margin-bottom: 1.5rem; } } .policy-content h3 { font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif; font-size: 14px; font-weight: 600; color: #00F0B5; line-height: 1.3; margin-top: 1.75rem; margin-bottom: 0.75rem; } @media (min-width: 768px) { .policy-content h3 { font-size: 22px; margin-top: 2.25rem; margin-bottom: 1rem; } } .policy-content p { color: #94A3B8; margin-top: 0; margin-bottom: 1rem; } .policy-content ul { list-style-type: disc; padding-left: 1.25rem; margin-top: 0.5rem; margin-bottom: 1.25rem; } .policy-content li { color: #94A3B8; margin-bottom: 0.5rem; } .policy-content strong { color: #F8FAFC; font-weight: 600; } .policy-content a { color: #00F0B5; text-decoration: underline; text-underline-offset: 3px; transition: color 150ms ease; } .policy-content a:hover { color: #00D6A1; }

/* ===== PAGE: impressum ===== */
.policy-content {
  color: #94A3B8;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.7;
  padding: 1.5rem 1rem;
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
  hyphens: auto;
}

@media (min-width: 768px) {
  .policy-content {
    padding: 3rem 1.5rem;
  }
}

.policy-content h2 {
  color: #F8FAFC;
  font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #1E293B;
  letter-spacing: -0.01em;
}

@media (min-width: 768px) {
  .policy-content h2 {
    font-size: 26px;
    margin-top: 2.75rem;
    margin-bottom: 1rem;
  }
}

.policy-content h3 {
  color: #F8FAFC;
  font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
  .policy-content h3 {
    font-size: 20px;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
  }
}

.policy-content p {
  color: #94A3B8;
  font-size: 0.9375rem;
  margin-bottom: 1.25rem;
  line-height: 1.75;
}

@media (min-width: 768px) {
  .policy-content p {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
}

.policy-content strong {
  color: #F8FAFC;
  font-weight: 600;
}

.policy-content a {
  color: #00F0B5;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 150ms ease-in-out;
}

.policy-content a:hover {
  color: #00D6A1;
}

.policy-content ul {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
  list-style-type: disc;
}

.policy-content li {
  color: #94A3B8;
  font-size: 0.9375rem;
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .policy-content li {
    font-size: 1rem;
  }
}

/* ===== PAGE: faq ===== */
.faq-section .js-faq-item:hover { border-color: rgba(0, 240, 181, 0.35); }
.faq-section .js-faq-item.is-open { border-color: rgba(0, 240, 181, 0.5); background-color: #172033; }
.faq-section .js-faq-item.is-open .js-faq-icon { transform: rotate(180deg); background-color: #00F0B5; color: #0A0D14; }
.faq-section input::placeholder { color: #64748B; opacity: 1; }
.faq-section input:-ms-input-placeholder { color: #64748B; }
.faq-section input::-ms-input-placeholder { color: #64748B; }

/* ===== PAGE: contact ===== */
.contact-details-section .contact-form-input::placeholder { color: #64748B; opacity: 1; }
.contact-details-section .contact-form-input:focus { border-color: #00F0B5; box-shadow: 0 0 0 1px #00F0B5; }
.contact-details-section select option { background-color: #111726; color: #F8FAFC; padding: 8px; }

.main-comment-card {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #F8FAFC
}

.comment-avatar {
    width: 42px;
    height: 42px;
    min-width: 42px;
    line-height: 1;
    box-sizing: border-box;
    user-select: none
}

.comment-body p {
    color: #94A3B8;
    line-height: 1.65
}

.comment-action-btn {
    cursor: pointer;
    outline: none
}

.comment-action-btn:focus-visible {
    border-color: #00F0B5;
    outline: 1px solid #00F0B5
}

.reply-comment-card {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #F8FAFC
}

.reply-avatar {
    width: 34px;
    height: 34px;
    min-width: 34px;
    line-height: 1;
    box-sizing: border-box;
    user-select: none
}

.reply-body p {
    color: #94A3B8;
    line-height: 1.6
}

.reply-action-btn {
    cursor: pointer;
    outline: none
}

.reply-action-btn:focus-visible {
    border-color: #00F0B5;
    outline: 1px solid #00F0B5
}


/* ===== PAGE TEMPLATE: best-games ===== */
.site-header {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.site-header nav a {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.detail-page-wrapper {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.detail-page-wrapper h1,
.detail-page-wrapper h2,
.detail-page-wrapper h3,
.detail-page-wrapper h4,
.detail-page-wrapper h5 {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.detail-page-wrapper .detail-article-body p {
    line-height: 1.75;
}

.detail-page-wrapper .comment-avatar,
.detail-page-wrapper .reply-avatar {
    width: 38px;
    height: 38px;
}

.site-footer {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.site-footer .site-footer-disclaimer {
    position: relative;
    box-sizing: border-box;
}

.site-footer a {
    word-break: break-word;
}

/* ===== PAGE TEMPLATE: tutorials-and-reviews ===== */
.site-header {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.site-header nav a {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.detail-page-wrapper {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.detail-page-wrapper h1,
.detail-page-wrapper h2,
.detail-page-wrapper h3,
.detail-page-wrapper h4,
.detail-page-wrapper h5 {
    font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
}

.detail-page-wrapper .detail-article-body p {
    line-height: 1.75;
}

.detail-page-wrapper .comment-avatar,
.detail-page-wrapper .reply-avatar {
    width: 38px;
    height: 38px;
}

.site-footer {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.site-footer .site-footer-disclaimer {
    position: relative;
    box-sizing: border-box;
}

.site-footer a {
    word-break: break-word;
}

/* ===== requested cleanup fixes ===== */
.site-footer .site-footer-disclaimer {
    display: none !important;
}

.site-footer li:has(a[href^="tel:"]),
.site-footer li:has(a[href^="https://wa.me"]),
.contact-matrix-block .space-y-4 > .flex:has(a[href^="tel:"]),
.contact-matrix-block .space-y-4 > .flex:has(a[href^="https://wa.me"]),
.contact-details-section .flex.items-start:has(a[href^="tel:"]),
.contact-details-section .flex.items-start:has(a[href^="https://wa.me"]),
form div:has(> label[for="contact-phone"]) {
    display: none !important;
}

.faq-section .js-faq-tab.active .js-tab-count,
.faq-section .js-faq-tab.active:hover .js-tab-count {
    background-color: rgba(10, 13, 20, 0.38) !important;
    color: #F8FAFC !important;
}

.comment-action-btn.is-selected {
    background-color: #172033;
}
