:root {
    --primary: #FF9800;
    --primary-hover: #F57C00;
    --secondary: #FFE0B2;
    --accent: #FF5722;
    --background: #FFFFFF;
    --surface: #FFF8F1;
    --text-primary: #1A1A1A;
    --text-secondary: #5F6368;
    --border: #FFE0B2;
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    line-height: 1.5;
    font-family: 'Outfit', sans-serif;
    background-color: var(--background);
    color: var(--text-primary);
}

.text-muted {
    color: #5F6368 !important;
}

.btn-pill {
    border-radius: 9999px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-pill:active {
    transform: scale(0.95);
}

.card-royal {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 32px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-royal:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(255, 152, 0, 0.1);
}

/* ===== header ===== */
.royalgames-header {
    font-family: 'Outfit', sans-serif;
    transition: box-shadow 0.3s ease;
}

.royalgames-header #js-header-mobile-menu {
    height: calc(100vh - 64px);
}

@media (min-width: 768px) {
    .royalgames-header #js-header-mobile-menu {
        height: calc(100vh - 80px);
    }
}

.royalgames-header #js-header-mobile-menu.active {
    display: flex !important;
}

.royalgames-header .container {
    max-width: 1280px;
}

.royalgames-header a {
    text-decoration: none;
}

/* ===== hero ===== */
.hero-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.hero-section .hero-video-wrapper video {
    filter: brightness(0.7);
}

.hero-section .hero-game-card {
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 152, 0, 0.2);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.hero-section .hero-game-card:hover {
    border-color: rgba(255, 152, 0, 0.5);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.hero-section .hero-disclaimer p {
    hyphens: auto;
}

@media (max-width: 767px) {
    .hero-section {
        min-height: auto;
    }

    .hero-section h1 {
        line-height: 1.3;
    }
}

/* ===== games_grid ===== */
#games-grid-block .js-game-card {
    height: 100%;
    min-height: 420px;
}

#games-grid-block .js-filter-btn.active {
    box-shadow: 0 4px 14px 0 rgba(255, 152, 0, 0.39);
}

#games-grid-block .line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#games-grid-block .container {
    max-width: 1280px;
}

@media (max-width: 768px) {
    #games-grid-block .js-game-card {
        min-height: auto;
    }
}

/* ===== features ===== */
.features-section {
    font-family: 'Outfit', sans-serif;
}

.features-section .feature-card {
    box-shadow: 0 10px 30px -10px rgba(255, 152, 0, 0.1);
}

.features-section .feature-card:hover {
    box-shadow: 0 20px 40px -10px rgba(255, 152, 0, 0.2);
}

.features-section .container {
    position: relative;
    z-index: 2;
}

@media (max-width: 767px) {
    .features-section h2 {
        hyphens: auto;
    }

    .features-section .feature-card {
        margin-bottom: 16px;
    }
}

.features-section .js-feature-btn {
    box-shadow: 0 4px 14px 0 rgba(255, 152, 0, 0.39);
}

.features-section .js-feature-btn:hover {
    box-shadow: 0 6px 20px rgba(255, 152, 0, 0.23);
}

/* ===== about_preview ===== */
.about-preview-section {
    font-family: 'Outfit', sans-serif;
    overflow: hidden;
}

.about-preview-section .container {
    max-width: 1200px;
}

.about-preview-section i {
    line-height: 1;
}

.about-preview-section img {
    display: block;
}

.about-preview-section a {
    text-decoration: none;
}

@media (max-width: 767px) {
    .about-preview-section h2 {
        font-size: 18px !important;
    }

    .about-preview-section p {
        font-size: 14px !important;
    }
}

/* ===== footer ===== */
.royalgamesclub-footer {
    font-family: 'Outfit', sans-serif;
}

.royalgamesclub-footer .royalgamesclub-disclaimer-box {
    position: relative;
}

.royalgamesclub-footer .royalgamesclub-compliance-logos img {
    filter: none !important;
    opacity: 1 !important;
}

.royalgamesclub-footer .js-age-modal {
    backdrop-filter: blur(8px);
}

.royalgamesclub-footer .container {
    max-width: 1200px;
}

/* ===== PAGE: about ===== */
.about-section .mission-vision-grid > div { transition: transform 0.3s ease; }.about-section .mission-vision-grid > div:hover { transform: translateY(-5px); }.about-section .value-item i { transition: transform 0.3s ease; }.about-section .value-item:hover i { transform: scale(1.1); }.about-section .container { overflow: hidden; }

/* ===== PAGE: catalog ===== */
.catalog-main-block .js-filter-btn.active { background-color: #FF9800; color: #FFFFFF; } .catalog-main-block .js-game-card { transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); } .catalog-main-block .js-game-card:hover { transform: translateY(-10px); }

/* ===== PAGE: tournaments ===== */
.tournaments-section { font-family: 'Outfit', sans-serif; } .tournaments-section .js-filter-btn { transition: all 0.3s ease; } .tournaments-section .js-filter-btn.active { box-shadow: 0 4px 14px rgba(255, 152, 0, 0.4); } .tournaments-section .js-tournament-card { transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }

/* ===== PAGE: events ===== */
.events-schedule-block .js-filter-btn.active {
  background-color: #FF9800;
  border-color: #FF9800;
  color: #FFFFFF;
}

.events-schedule-block .js-event-card {
  will-change: transform, opacity;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.events-schedule-block .js-event-card.hidden-card {
  opacity: 0;
  transform: scale(0.9);
  display: none;
}

.events-schedule-block .js-event-card img {
  transition: transform 0.6s ease;
}

.events-schedule-block .js-event-card:hover img {
  transform: scale(1.05);
}

/* ===== PAGE: guide ===== */
.guide-content-section { font-family: 'Outfit', sans-serif; }
.guide-content-section .js-faq-trigger i.rotate-180 { transform: rotate(180deg); }
.guide-content-section .js-faq-content { transition: all 0.3s ease-in-out; }

/* ===== PAGE: privacy ===== */
.privacy-section { font-family: 'Outfit', sans-serif; scroll-behavior: smooth; } .privacy-body h2 { color: #1A1A1A; border-bottom: 2px solid #FFF8F1; padding-bottom: 1rem; } .privacy-body p { line-height: 1.8; color: #5F6368; } .privacy-nav a { display: flex; align-items: center; padding: 8px 12px; border-radius: 12px; transition: all 0.3s ease; } .privacy-nav a:hover { background-color: #FFF8F1; color: #FF9800; transform: translateX(5px); } .privacy-body ul li i { font-size: 1.1rem; }

/* ===== PAGE: terms ===== */
.terms-content-section { font-family: 'Outfit', sans-serif; }
.terms-content-section .terms-block { transition: transform 0.3s ease; }
.terms-content-section h2, .terms-content-section h3 { color: #1A1A1A; line-height: 1.3; }
.terms-content-section p { color: #5F6368; }
.terms-content-section .terms-block:hover h3 i { transform: scale(1.1); transition: transform 0.2s ease; }

/* ===== PAGE: disclaimer ===== */
.disclaimer-content .disclaimer-content__card { transition: transform 0.3s ease; }.disclaimer-content .disclaimer-content__text p { font-family: 'Outfit', sans-serif; }.disclaimer-content .disclaimer-content__block h2 { border-left: 4px solid #FF5722; padding-left: 16px; }

/* ===== PAGE: rgp ===== */
.rgp-content-section {
  font-family: 'Outfit', sans-serif;
}
.rgp-content-section .js-tab-trigger.active {
  background-color: #FFE0B2;
  color: #FF9800;
  box-shadow: inset 0 -2px 0 #FF9800;
}
.rgp-content-section .rgp-card {
  transition: transform 0.3s ease, shadow 0.3s ease;
}
.rgp-content-section .rgp-card:hover {
  transform: translateY(-4px);
}
.rgp-content-section .hidden {
  display: none;
}
.rgp-content-section .block {
  display: block;
}

.main-comment-wrapper {
    font-family: 'Outfit', sans-serif;
    position: relative;
    overflow: hidden;
}

.comment-avatar {
    object-fit: cover;
    width: 56px;
    height: 56px;
    min-width: 56px;
    display: block;
}

.main-comment-wrapper:active {
    transform: scale(0.99);
}

.ri-star-fill {
    filter: drop-shadow(0 0 2px rgba(255, 152, 0, 0.2));
}

.reply-comment-wrapper {
    font-family: 'Outfit', sans-serif;
}

.reply-comment-wrapper::before {
    content: '';
    position: absolute;
    left: -32px;
    top: 0;
    bottom: 50%;
    width: 24px;
    border-left: 2px solid #FFE0B2;
    border-bottom: 2px solid #FFE0B2;
    border-bottom-left-radius: 16px;
}

.comment-avatar {
    object-fit: cover;
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: block;
}


/* ===== PAGE TEMPLATE: catalog ===== */
.royalgames-header #js-header-mobile-menu.active {
    display: flex !important;
}

.detail-page-wrapper .custom-content-block h2,
.detail-page-wrapper .custom-content-block h3 {
    color: #1A1A1A;
}

.detail-page-wrapper .custom-content-block p {
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.detail-page-wrapper .custom-content-block ul li {
    margin-bottom: 0.75rem;
}

#js-game-container:fullscreen {
    padding: 0;
    background: #000;
    border-radius: 0;
    width: 100%;
    height: 100%;
}

#js-game-container:fullscreen iframe {
    width: 100%;
    height: 100%;
}

#js-game-container:fullscreen #js-fullscreen-btn {
    top: 20px;
    right: 20px;
}

.main-comment-wrapper .comment-avatar,
.reply-comment-wrapper .comment-avatar {
    flex-shrink: 0;
}

@media (max-width: 767px) {
    .detail-page-wrapper .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    #js-game-container {
        aspect-ratio: 16/9;
        height: auto;
    }
}