/* Shared glass layer for every public page.  It is deliberately loaded last. */
.animate-up { opacity: 1; transform: none; }
.animate-up.visible { opacity: 1; transform: none; }
.news-page, .news-single-page, .privileges-section, .legal-page, .shop-section,
.cheat-check-page, .error-page {
    background: transparent;
}

.news-page, .news-single-page, .privileges-section, .legal-page, .shop-section {
    padding-top: 120px;
    padding-bottom: 100px;
}

.news-title, .privileges-title, .legal-title, .shop-title, .news-single-title,
.cheat-check-title, .error-title {
    letter-spacing: -1px;
}

.news-card, .news-empty, .news-single-card, .privilege-item, .legal-content,
.cheat-check-warning, .cheat-tool-card, .cheat-command-card {
    background: var(--glass-bg);
    border-color: var(--glass-border);
    border-radius: var(--radius-card);
    box-shadow: var(--glass-shadow);
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
}

.news-card:hover, .privilege-item.is-open, .cheat-tool-card:hover {
    border-color: rgba(255, 255, 255, .24);
    box-shadow: 0 20px 40px rgba(0, 0, 0, .4);
}

.news-card-image { background: rgba(255,255,255,.04); }
.news-read-link, .cheat-tool-link, .cheat-tab.active {
    border-radius: var(--radius-pill);
    background: var(--text-primary);
    color: #000;
    box-shadow: none;
}
.news-read-link:hover, .cheat-tool-link:hover { background: #fff; color: #000; }
.news-back-link, .news-card-date, .news-single-date, .privilege-arrow,
.legal-contact i, .cheat-check-kicker, .cheat-check-stats strong,
.cheat-check-stats i, .cheat-check-warning-title { color: var(--accent-color); }

.privileges-header, .legal-header, .news-heading { margin-bottom: 52px; }
.privilege-icon { color: var(--accent-color); background: rgba(255,87,0,.12); border-color: rgba(255,87,0,.35); border-radius: 14px; }
.privilege-toggle { padding: 24px 28px; }
.privilege-command, .legal-contact, .cheat-tabs, .cheat-command-code {
    background: rgba(0,0,0,.28);
    border-color: var(--glass-border);
    border-radius: 14px;
}

.legal-content { max-width: 920px; padding: 42px; }
.legal-section + .legal-section { border-color: var(--glass-border); }

.cheat-check-page { min-height: 100svh; padding-top: 135px; }
.cheat-check-header, .cheat-check-content { max-width: 1120px; }
.cheat-check-warning { padding: 28px 30px; border-color: rgba(255,87,0,.35); }
.cheat-tabs { padding: 5px; }
.cheat-tab { border-radius: var(--radius-pill); }
.cheat-tool-card { padding: 24px; }
.cheat-command-header { border-color: var(--glass-border); }

.sale-hero, .ember-slider-section, .products-content, .shop-card,
.product-card, .category-card, .payment-card, .checkout-card {
    background: var(--glass-bg) !important;
    border-color: var(--glass-border) !important;
    border-radius: var(--radius-card) !important;
    box-shadow: var(--glass-shadow);
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
}
.sale-hero { background: linear-gradient(135deg, rgba(255,87,0,.22), rgba(25,25,25,.45)) !important; }
.ember-slider-section::before { background: radial-gradient(circle, rgba(255,87,0,.22), transparent 70%); }
.ember-icon-wrapper { border-color: var(--accent-color); background: rgba(255,87,0,.12); }
.ember-icon-wrapper i, .ember-icon-wrapper img { color: var(--accent-color); filter: drop-shadow(0 0 8px rgba(255,87,0,.6)); }

.error-page { min-height: 100svh; background: transparent; }
.error-page::before, .error-page::after { border-color: rgba(255,87,0,.24); }
.error-code { color: rgba(255,87,0,.18); }
.error-icon { color: var(--accent-color); border-color: var(--accent-color); background: rgba(255,87,0,.1); }

/* Administration uses the same palette while retaining its denser workspace layout. */
.admin-page { min-height: 100svh; padding-top: 120px; background: transparent; }
.admin-shell { max-width: 1360px; gap: 24px; }
.admin-sidebar, .admin-panel, .admin-stat {
    background: var(--glass-bg);
    border-color: var(--glass-border);
    border-radius: var(--radius-card);
    box-shadow: var(--glass-shadow);
    backdrop-filter: var(--blur);
    -webkit-backdrop-filter: var(--blur);
}
.admin-sidebar { padding: 18px 14px; }
.admin-brand, .admin-heading h1, .admin-stat-value { color: var(--text-primary); }
.admin-brand i, .admin-eyebrow, .admin-nav a.active i { color: var(--accent-color); }
.admin-nav a { border-radius: var(--radius-pill); }
.admin-nav a:hover, .admin-nav a.active { background: rgba(255,87,0,.14); color: var(--text-primary); }
.admin-panel { padding: 28px; }
.admin-filter-grid input, .admin-filter-grid select, .admin-readonly-field,
.admin-form input, .admin-form select, .admin-form textarea {
    background: rgba(0,0,0,.28);
    border-color: var(--glass-border);
    border-radius: 12px;
    color: var(--text-primary);
}
.admin-filter-grid input:focus, .admin-filter-grid select:focus,
.admin-form input:focus, .admin-form select:focus, .admin-form textarea:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(255,87,0,.14);
}
.admin-table-wrap, .admin-table-container { border-color: var(--glass-border); border-radius: 16px; }
.admin-table th { background: rgba(0,0,0,.2); color: var(--text-secondary); }
.admin-table td { border-color: rgba(255,255,255,.06); }

@media (max-width: 768px) {
    .news-page, .news-single-page, .privileges-section, .legal-page, .shop-section { padding-top: 112px; padding-bottom: 72px; }
    .legal-content { padding: 28px 22px; }
    .privilege-toggle { padding: 18px; }
    .cheat-check-page { padding-top: 112px; }
}

/* Mobile normalization: keep every public screen inside the viewport. */
@media (max-width: 900px) {
    html, body { width: 100%; max-width: 100%; min-width: 0; margin: 0 !important; overflow-x: hidden; }
    .ambient-background { left: 0; right: 0; width: auto; max-width: none; }
    .main-header { left: 0; right: 0; width: 100%; top: 10px; padding: 0 10px; }
    .header-container { width: 100%; max-width: none; grid-template-columns: minmax(0, 1fr) max-content; padding: 9px 12px; border-radius: 24px; }
    .logo { min-width: 0; font-size: 1rem; }
    .logo-image { width: 28px; height: 28px; }
    .header-actions { gap: 0; }
    .mobile-menu-toggle { display: block; padding: 6px 8px; font-size: 1.25rem; }
    .main-nav { z-index: 5; top: 0; padding: 84px 18px 28px; }
    .main-nav .nav-list { display: flex; gap: 7px; padding: 0; }
    .main-nav .nav-item { margin: 0; }
    .main-nav .nav-link { width: 100%; min-height: 46px; padding: 11px 14px; justify-content: flex-start; border-radius: 14px; font-size: 1rem; text-align: left; }
    .main-nav .nav-link i { width: 22px; text-align: center; }
    .home-content, .main-content, .main-footer { width: 100%; max-width: 100%; min-width: 0; margin-left: 0 !important; }
    .container { width: 100%; max-width: 100%; padding-right: 16px; padding-left: 16px; }
    .hero-section { min-height: auto; padding: 130px 16px 70px; }
    .hero-title { max-width: 100%; font-size: clamp(2rem, 9vw, 2.8rem); letter-spacing: -1px; overflow-wrap: anywhere; }
    .hero-subtitle { max-width: 560px; font-size: 1rem; }
    .hero-buttons { align-items: stretch; }
    .server-status { max-width: 100%; padding: 10px 16px; font-size: .85rem; }
    .features-section, .start-section { padding-top: 64px; padding-bottom: 70px; }
    .section-title { font-size: clamp(1.8rem, 8vw, 2.4rem); }
    .start-grid { width: 100%; }
    .start-text h2 { font-size: clamp(1.8rem, 8vw, 2.4rem); }
    .ip-box { max-width: 100%; padding: 16px 20px; font-size: 1.05rem; }
    .ip-address { overflow-wrap: anywhere; }
    .footer-grid { grid-template-columns: 1fr !important; gap: 34px; text-align: center; }
    .footer-links a { justify-content: center; }
    .footer-bottom { margin-top: 46px; }
    .bottom-grid { flex-direction: column; text-align: center; }

    .news-page, .news-single-page, .privileges-section, .legal-page, .shop-section { padding-top: 110px; }
    .news-title, .privileges-title, .legal-title, .shop-title { font-size: clamp(1.9rem, 8vw, 2.5rem); }
    .news-grid, .features-grid, .cheat-tools-grid { grid-template-columns: 1fr !important; }
    .news-card-body, .news-single-body { padding: 20px; }
    .news-single-title { font-size: 1.8rem; }
    .privilege-toggle { gap: 10px; padding: 16px; }
    .privilege-icon { margin-right: 2px; }
    .privilege-name { font-size: 1rem; }
    .privilege-arrow { margin-left: auto; }
    .legal-content { padding: 22px 18px; }
    .cheat-check-page { padding: 110px 16px 64px; }
    .cheat-check-header, .cheat-check-content { width: 100%; padding-right: 0; padding-left: 0; }
    .cheat-check-title { font-size: clamp(2rem, 9vw, 2.8rem); }
    .cheat-check-warning { padding: 20px 18px; }
    .cheat-tabs { width: 100%; overflow-x: auto; }
    .cheat-tab { flex: 1 0 auto; padding: 10px 13px; }
    .cheat-command-header { align-items: flex-start; flex-direction: column; }
    .cheat-command-code { max-width: 100%; overflow-x: auto; }

    .admin-page { padding-top: 108px; }
    .admin-shell { display: block; width: 100%; padding: 0 14px; }
    .admin-sidebar { margin-bottom: 18px; }
    .admin-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-nav a, .admin-nav-logout { min-height: 42px; padding: 10px 8px; font-size: 11px; }
    .admin-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
    .admin-stats, .admin-filter-grid { grid-template-columns: 1fr !important; }
    .admin-panel { padding: 18px 14px; overflow: hidden; }
    .admin-table-wrap, .admin-table-container { max-width: 100%; overflow-x: auto; }

    .sale-hero, .ember-slider-section { flex-direction: column; align-items: stretch; padding: 20px 16px !important; margin-right: 0; margin-left: 0; }
    .sale-countdown { justify-content: center; flex-wrap: wrap; }
    .ember-icon-wrapper { width: 82px; height: 82px; margin: 0 auto; }
    .ember-icon-wrapper i { font-size: 34px; }
    .ember-calc-box { grid-template-columns: 1fr; gap: 14px; padding: 16px; }
    .calc-item-bordered { border-top: 1px solid var(--border-color); border-left: 0; padding-top: 14px; }
    .shop-section [class*="grid"], .shop-section [class*="columns"] { grid-template-columns: 1fr !important; }
}

@media (max-width: 420px) {
    .logo-text { font-size: .95rem; }
    .hero-buttons .btn, .error-actions .btn { width: 100%; }
    .hero-buttons { width: 100%; }
    .admin-nav { grid-template-columns: 1fr; }
    .admin-panel { padding-right: 10px; padding-left: 10px; }
}
