/* ===== Breadcrumb soft ===== */
.breadcrumb-soft {
    font-size: .78rem;
    color: #9ca3af;
}
.breadcrumb-soft a {
    color: #9ca3af;
    text-decoration: none;
}
.breadcrumb-soft a:hover {
    color: #6b7280;
    text-decoration: underline;
}
.breadcrumb-soft .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    color: #c5c7ce;
}
.breadcrumb-soft .breadcrumb-item.active span[itemprop="name"] {
    color: #6b7280;
    font-weight: 500;
}

/* ===== Server summary card ===== */
.server-summary-card {
    background: #fff;
    border-radius: .75rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

.server-summary-logo {
    width: 72px;
    height: 72px;
    border-radius: .75rem;
    background: #000 url("img/majestic-logo.png") center/cover no-repeat;
    box-shadow: 0 4px 12px rgba(0,0,0,.4);
}

.server-summary-title { line-height: 1.2; }

.server-summary-badge {
    font-size: .7rem;
    line-height: 1;
    border-radius: .4rem;
}

.server-summary-desc {
    font-size: .8rem;
    line-height: 1.4;
}

.server-summary-metrics { border-color: #dfe3ea; }
.server-summary-metrics__label { font-size: .7rem; line-height: 1.2; }
.server-summary-metrics__value { font-size: 1rem; line-height: 1; }
.server-summary-metrics__status { font-size: .7rem; }
.server-summary-metrics__status i { font-size: .4rem; }

.server-summary-cta {
    border-radius: .8rem;
    font-size: .9rem;
    line-height: 1.3;
    padding: .8rem 1.2rem;
    background: linear-gradient(90deg,#ff006a 0%,#ff5c00 100%);
    box-shadow: 0 12px 25px rgba(255,0,106,.4);
    transition: transform .2s, box-shadow .2s;
}
.server-summary-cta:hover {
    transform: scale(1.04);
    box-shadow: 0 14px 28px rgba(255,0,106,.5);
}

/* ===== Sidebar: servers list ===== */
.sidebar-count { font-size: .7rem; }
.sidebar-server-dot { font-size: .5rem; }
.sidebar-server-name { font-size: .85rem; }
.sidebar-server-value { font-size: .8rem; }

.sidebar-show-all {
    background: linear-gradient(90deg,#ff006a 0%,#ff5c00 100%);
    border-radius: .6rem;
    font-size: .8rem;
    padding: .45rem 1rem;
    box-shadow: 0 8px 18px rgba(255,0,106,.3);
    transition: transform .2s, box-shadow .2s;
}
.sidebar-show-all:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 22px rgba(255,0,106,.4);
}

/* ===== Promo codes ===== */
.promo-card { border-radius: 1rem; }
.promo-card__desc { font-size: .85rem; line-height: 1.4; }

.promo-tile__text { font-size: .8rem; opacity: .95; }

.promo-tile--kettle {
    background: linear-gradient(135deg,#ff0066,#ff8c00);
    box-shadow: 0 8px 22px rgba(255,0,120,.45);
}
.promo-tile--start {
    background: linear-gradient(135deg,#7f00ff,#e100ff);
    box-shadow: 0 8px 22px rgba(130,0,255,.4);
}
.promo-tile--maj {
    background: linear-gradient(135deg,#0070f3,#00d1ff);
    box-shadow: 0 8px 22px rgba(0,120,255,.4);
}
.promo-tile--welcome {
    background: linear-gradient(135deg,#ff3d00,#ff9100);
    box-shadow: 0 8px 22px rgba(255,90,0,.4);
}
.promo-tile--gta {
    background: linear-gradient(135deg,#00c853,#64dd17);
    box-shadow: 0 8px 22px rgba(0,200,80,.35);
}

/* ===== Creators ===== */
.creators-desc { font-size: .8rem; }

.creator-item--first { background: #fff; }

.creator-avatar {
    width: 44px;
    height: 44px;
    font-size: 1rem;
}
.creator-avatar--yt { background: #ff0000; }
.creator-avatar--tw { background: #9146ff; }

.creator-name { font-size: .95rem; }
.creator-meta { font-size: .8rem; }

.twitch-color { color: #9146ff; }

/* ===== Rating cards ===== */
.rating-card {
    box-shadow: 0 1px 3px rgba(0,0,0,.07);
    border-radius: .5rem;
}

.rating-card__title { font-size: .9rem; line-height: 1.3; }
.rating-card__q { font-size: .8rem; }
.rating-card__row { font-size: .9rem; line-height: 1.2; }
.rating-card__of { font-size: .9rem; }
.rating-card__hint { font-size: .8rem; line-height: 1.4; }

.rating-pill {
    border-radius: .4rem;
    font-size: .9rem;
    line-height: 1.2;
    font-weight: 600;
}

.rating-pill--success {
    background: #eaffea;
    color: #198754;
}

.rating-pill--warning {
    background: #fff2e0;
    color: #d68000;
}

.rating-pill--info {
    background: #eaf4ff;
    color: #0d6efd;
}

/* ===== Online chart block ===== */
.online-block {
    background: #fff;
    border-color: #dfe3ea;
    box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

.online-block__title {
    font-size: 1.05rem;
    line-height: 1.3;
}

.online-block__q { font-size: .9rem; line-height: 1.3; }

.online-tabs {
    font-size: .9rem;
    line-height: 1.2;
    font-weight: 500;
}

.online-tab { padding-bottom: .25rem; display: inline-block; color: #212529; border-bottom: none; }
.online-tab--active { color: #198754; border-bottom: 2px solid #198754; }

.online-hr { border-color: #dfe3ea; }

.online-subtitle { font-size: 1rem; line-height: 1.3; }

.online-canvas-wrap {
    border-color: #dfe3ea;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

/* ===== Socials block ===== */
.socials-block {
    background: #fff;
    border-color: #dfe3ea;
    box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

.socials-block__title { font-size: 1.05rem; line-height: 1.3; }
.socials-block__desc { font-size: .85rem; line-height: 1.4; }

.socials-block__badge {
    font-size: .8rem;
    line-height: 1.2;
    font-weight: 500;
    border-color: #dfe3ea;
}

.social-card {
    color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,.25);
    padding: 1rem 1rem .75rem;
}

.social-card--youtube { background-image: linear-gradient(135deg,#a01313 0%,#7a0f0f 100%); }
.social-card--discord { background-image: linear-gradient(135deg,#4b3fcf 0%,#2f2496 100%); }
.social-card--vk      { background-image: linear-gradient(135deg,#0059c9 0%,#003e88 100%); }
.social-card--tg      { background-image: linear-gradient(135deg,#0089a5 0%,#006577 100%); }

.social-card__name { font-size: .95rem; line-height: 1.3; }
.social-icon { color: #fff; font-size: 1rem; }

.social-line { font-size: .85rem; line-height: 1.3; }
.social-mini-icon { font-size: .8rem; color: #fff; }

.social-btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,.4);
    font-size: .85rem;
    line-height: 1.2;
    border-radius: .4rem;
}

.social-btn__icon { font-size: .7rem; }

/* ===== Reviews header (частично) ===== */
.reviews-card {
    box-shadow: 0 1px 3px rgba(0,0,0,.07);
    border-radius: .5rem;
}
.reviews-title { font-size: 1.05rem; line-height: 1.3; }
.reviews-badge { font-size: .7rem; line-height: 1; }
.reviews-subtitle { font-size: .85rem; line-height: 1.4; }
.reviews-write-btn {
    font-size: .8rem;
    line-height: 1.2;
    border-radius: .5rem;
    padding: .5rem .75rem;
}

/* ===== Reviews: button ===== */
.reviews-write-btn{
    font-size:.8rem;
    line-height:1.2;
    border-radius:.5rem;
    padding:.5rem .75rem;
}

/* ===== Reviews: summary/metrics boxes ===== */
.review-summary-box,
.review-metric-box,
.review-form-box,
.review-item{
    border-color:#dfe3ea !important;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.review-summary-title{ font-size:.9rem; line-height:1.2; }
.review-summary-score{ font-size:1.5rem; line-height:1; }
.review-summary-outof{ font-size:.8rem; line-height:1.2; }
.review-summary-stars{ font-size:.8rem; line-height:1; }
.review-summary-count{ font-size:.75rem; line-height:1.3; }

.review-metric-title{ font-size:.9rem; line-height:1.3; }
.review-metric-icon{ font-size:.9rem; }
.review-metric-stars{ font-size:.8rem; line-height:1; }
.review-metric-scoreline{ line-height:1; }
.review-metric-score{ font-size:1rem; }
.review-metric-outof{ font-size:.8rem; }
.review-metric-desc{ font-size:.75rem; line-height:1.3; }

/* ===== Review form ===== */
.review-form-title{ font-size:.9rem; line-height:1.3; }
.review-form-title-icon{ font-size:.9rem; }

.review-label{
    font-size:.8rem;
    font-weight:500;
    color:#1c1c1c;
}

.review-input{ font-size:.85rem; }

.rating-stars--big{ font-size:1rem; line-height:1; }
.rating-value--sm{ font-size:.8rem; }
.rating-value--xs{ font-size:.75rem; }

.review-criterion-title{ font-size:.8rem; line-height:1.2; }
.review-criterion-icon{ font-size:.8rem; }

.review-textarea{
    font-size:.85rem;
    resize:vertical;
}

.review-form-footnote{ font-size:.7rem; line-height:1.3; }

.review-form-submit{
    font-size:.8rem;
    line-height:1.2;
    border-radius:.6rem;
    background:#000;
    color:#fff;
    padding:.6rem .9rem;
}

/* ===== Review items ===== */
.review-item{ padding:1rem; }

.review-avatar{
    font-size:.8rem;
    line-height:1;
    width:44px;
    height:44px;
}

.review-avatar--blue{ background:#0d6efd; }
.review-avatar--teal{ background:#20c997; }
.review-avatar--purple{ background:#6f42c1; }
.review-avatar--red{ background:#dc3545; }

.review-author{ font-size:.9rem; line-height:1.2; }
.review-stars{ font-size:.8rem; line-height:1; }
.review-meta{ font-size:.75rem; line-height:1.2; }
.review-text{ font-size:.85rem; line-height:1.45; }

.review-footer{
    font-size:.75rem;
    line-height:1.2;
    color:#6b6b6b;
}

.review-complain{
    font-size:.75rem;
    line-height:1.2;
}

/* ===== Pagination ===== */
.pagination-soft{ font-size:.8rem; }

.pagination-pill{
    border-radius:2rem;
    border-color:#dfe3ea;
    padding:.45rem .75rem;
    line-height:1.2;
}

.pagination-icon{ font-size:.7rem; }

.pagination-pill--active{
    background:#000;
    padding:.45rem .8rem;
}

.pagination-pill--link{
    padding:.45rem .8rem;
    text-decoration:none;
}

.pagination-dots{ line-height:1.2; }

/* Pagination: Next link (без inline) */
.pagination-next-link{
    border-radius:2rem;
    border-color:#dfe3ea;
    padding:.45rem .75rem;
    line-height:1.2;
    text-decoration:none;
}

.pagination-next-icon{
    font-size:.7rem;
}

/* ===== Breadcrumb soft (если не было раньше) ===== */
.breadcrumb-soft{
    font-size:.78rem;
    color:#9ca3af;
}
.breadcrumb-soft a{
    color:#9ca3af;
    text-decoration:none;
}
.breadcrumb-soft a:hover{
    color:#6b7280;
    text-decoration:underline;
}
.breadcrumb-soft .breadcrumb-item + .breadcrumb-item::before{
    content:"›";
    color:#c5c7ce;
}
.breadcrumb-soft .breadcrumb-item.active span[itemprop="name"]{
    color:#6b7280;
    font-weight:500;
}

/* ===== Hero card ===== */
.hero-card{
    background:#ffffff;
    border-radius:.9rem;
    border:1px solid #e1e4ec;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.hero-badge{
    background:linear-gradient(90deg,#ff007a 0%,#ff7b00 100%);
    color:#fff;
    border-radius:999px;
    font-size:.7rem;
    padding:.25rem .7rem;
}

.hero-title{ line-height:1.3; }

.hero-desc{
    font-size:.9rem;
    line-height:1.6;
}

.hero-search-icon{
    border-radius:.7rem 0 0 .7rem;
}

.hero-search-input{
    border-radius:0 .7rem .7rem 0;
    font-size:.9rem;
}

.hero-search-select{
    border-radius:.7rem;
    font-size:.85rem;
}

.hero-search-btn{
    border-radius:.7rem;
    background:linear-gradient(90deg,#ff007a 0%,#ff7b00 100%);
    box-shadow:0 8px 18px rgba(255,0,122,.45);
    font-size:.85rem;
}

/* ===== Hero summary ===== */
.hero-summary{
    background:radial-gradient(circle at 0 0,#ffecd5 0,#ffe5f4 30%,#f5f6ff 70%);
}

.hero-summary-title{
    font-size:.95rem;
}

.hero-summary-list{
    font-size:.85rem;
}

/* ===== Top projects ===== */
.top-project{
    box-shadow:0 8px 18px rgba(15,23,42,.12);
}

.top-project--1{
    background:linear-gradient(135deg,#111827 0%,#1d4ed8 40%,#2563eb 80%);
    color:#e5e7eb;
    box-shadow:0 14px 30px rgba(15,23,42,.55);
}

.top-project--2{
    border-color:#c7d2fe !important;
    background:linear-gradient(135deg,#eef2ff 0%,#e0f2fe 100%);
    box-shadow:0 8px 18px rgba(15,23,42,.12);
}

.top-project--3{
    border-color:#fed7aa !important;
    background:linear-gradient(135deg,#fff7ed 0%,#fee2e2 100%);
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.top-project-title{ font-size:.95rem; }

.top-project-sub{ color:rgba(229,231,235,.9); }
.top-project--2 .top-project-sub,
.top-project--3 .top-project-sub{ color:#6c757d; }

.top-project-online{ color:rgba(229,231,235,.85); }

.top-project-desc{ color:rgba(255,255,255,.9); }
.top-project--2 .top-project-desc,
.top-project--3 .top-project-desc{ color:#6c757d; }

.top-project-btn{
    border-radius:.7rem;
    font-size:.85rem;
}
.top-project--2 .top-project-btn,
.top-project--3 .top-project-btn{
    font-size:.8rem;
}

.top-project-rank{
    background:rgba(15,23,42,.7);
    backdrop-filter:blur(6px);
}

.top-project-rank--blue{
    background:#1d4ed8;
    color:#fff;
}

.top-project-rank--orange{
    background:#f97316;
    color:#fff;
}

/* ===== Rating table ===== */
.rating-head{ font-size:.8rem; }
.rating-body{ font-size:.85rem; }

/* ===== Sidebar ===== */
.sidebar-link{
    border-radius:.7rem;
    font-size:.85rem;
}

/* ===== HERO card ===== */
.hero-card{
    background:#ffffff;
    border-radius:.9rem;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    border:1px solid #e1e4ec;
}

.hero-badge{
    background:linear-gradient(90deg,#ff007a 0%,#ff7b00 100%);
    color:#fff;
    border-radius:999px;
    font-size:.7rem;
    padding:.25rem .7rem;
}

.hero-title{ line-height:1.3; }

.hero-desc{
    font-size:.9rem;
    line-height:1.6;
}

.hero-search-icon{ border-radius:.7rem 0 0 .7rem; }

.hero-search-input{
    border-radius:0 .7rem .7rem 0;
    font-size:.9rem;
}

.hero-search-select{
    border-radius:.7rem;
    font-size:.85rem;
}

.hero-search-btn{
    border-radius:.7rem;
    background:linear-gradient(90deg,#ff007a 0%,#ff7b00 100%);
    box-shadow:0 8px 18px rgba(255,0,122,.45);
    font-size:.85rem;
}

.hero-summary{
    background:radial-gradient(circle at 0 0,#ffecd5 0,#ffe5f4 30%,#f5f6ff 70%);
}

.hero-summary-title{ font-size:.95rem; }
.hero-summary-list{ font-size:.85rem; }

/* ===== TOP cards ===== */
.top-card--1{
    background:linear-gradient(135deg,#111827 0%,#1d4ed8 40%,#2563eb 80%);
    color:#e5e7eb;
    box-shadow:0 14px 30px rgba(15,23,42,.55);
}

.top-rank-pill{
    background:rgba(15,23,42,.7);
    backdrop-filter:blur(6px);
}

.top-title{ font-size:.95rem; }

.top-btn{
    border-radius:.7rem;
    font-size:.85rem;
}

.top-card--2{
    border-color:#c7d2fe !important;
    background:linear-gradient(135deg,#eef2ff 0%,#e0f2fe 100%);
    box-shadow:0 8px 18px rgba(15,23,42,.12);
}

.top-rank-pill--blue{
    background:#1d4ed8;
    color:#fff;
}

.top-card--3{
    border-color:#fed7aa !important;
    background:linear-gradient(135deg,#fff7ed 0%,#fee2e2 100%);
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.top-rank-pill--orange{
    background:#f97316;
    color:#fff;
}

.top-btn--sm{ font-size:.8rem; }

/* ===== Rating table head/body sizes ===== */
.rating-head{ font-size:.8rem; }
.rating-body{ font-size:.85rem; }

/* ===== Catalog cards ===== */
.cat-card--main{
    background:linear-gradient(135deg,#020617 0,#111827 35%,#0f766e 80%);
    color:#e5e7eb;
}

.cat-card--white{
    border-color:#e1e4ec !important;
    background:#ffffff;
}

.cat-badges-sm{ font-size:.75rem; }

/* ===== News section ===== */
.news-feature{
    background:linear-gradient(135deg,#0f172a 0,#111827 40%,#1e293b 100%);
    color:#e5e7eb;
}

.news-badge{ font-size:.7rem; }
.news-tag{ font-size:.7rem; }

.news-list{ font-size:.85rem; }

.news-card{
    border-color:#e1e4ec !important;
    background:#ffffff;
}

.news-chip{ font-size:.7rem; }

/* ===== Sidebar buttons ===== */
.sidebar-btn{
    border-radius:.7rem;
    font-size:.85rem;
}

/* ===== Project header card ===== */

.project-header {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

/* Logo */
.project-logo {
    width: 72px;
    height: 72px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 4px 12px rgba(0,0,0,.4);
}

/* Description */
.project-desc {
    font-size: 0.8rem;
    line-height: 1.4;
    color: #6c757d;
}

/* Stat cards */
.project-stat {
    border: 1px solid #dfe3ea;
    border-radius: 0.75rem;
    padding: 1rem;
    height: 100%;
}

.project-stat-title {
    font-size: 0.7rem;
    line-height: 1.2;
    color: #6c757d;
    margin-bottom: 0.25rem;
}

.project-stat-value {
    font-size: 1rem;
    font-weight: 600;
    color: #1c1c1c;
    margin-bottom: 0.5rem;
}

.project-stat-status {
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.project-stat-status.online {
    color: #198754;
}

/* CTA buttons */
.project-cta-primary {
    border-radius: 0.8rem;
    font-size: 0.9rem;
    line-height: 1.3;
    padding: 0.8rem 1.2rem;
    background: linear-gradient(90deg,#ff006a 0%,#ff5c00 100%);
    box-shadow: 0 12px 25px rgba(255,0,106,.4);
    transition: transform .2s, box-shadow .2s;
}

.project-cta-primary:hover {
    transform: scale(1.04);
    box-shadow: 0 14px 28px rgba(255,0,106,.5);
}

.project-cta-secondary {
    border-radius: 0.8rem;
    font-size: 0.9rem;
    line-height: 1.3;
    padding: 0.75rem 1.2rem;
    border: 1px solid #dfe3ea;
    background: #fff;
    color: #000;
}

.promo-copy-btn.copied {
    background: #198754 !important;
    color: #fff !important;
    border-color: #198754 !important;
}

.promo-copy-btn.copied i {
    color: #fff;
}

/* ===== News (новый блок на 3 карточки) ===== */
.news-card2{
    background:#fff;
    border:1px solid #e1e4ec;
    border-radius:1rem;
    overflow:hidden;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
    display:flex;
    flex-direction:column;
}

.news-card2__media{
    position:relative;
    display:block;
    text-decoration:none;
}

.news-card2__img{
    width:100%;
    height:180px;
    object-fit:cover;
    display:block;
}

.news-card2__label{
    position:absolute;
    left:12px;
    top:12px;
    padding:.25rem .55rem;
    border-radius:999px;
    font-size:.72rem;
    font-weight:600;
    color:#fff;
    background:linear-gradient(90deg,#ff007a 0%,#ff7b00 100%);
    box-shadow:0 8px 18px rgba(255,0,122,.25);
}

.news-card2__body{
    padding:14px 14px 16px;
    display:flex;
    flex-direction:column;
    gap:8px;
    height:100%;
}

.news-card2__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:.78rem;
    color:#6b7280;
}

.news-card2__title{
    margin:0;
    font-size:.98rem;
    line-height:1.25;
    font-weight:700;
}

.news-card2__title a{
    color:#0f172a;
    text-decoration:none;
}
.news-card2__title a:hover{ text-decoration:underline; }

.news-card2__excerpt{
    margin:0;
    color:#6b7280;
    font-size:.86rem;
    line-height:1.5;

    /* аккуратное ограничение на 3 строки */
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.news-card2__more{
    margin-top:auto;
    font-size:.85rem;
    font-weight:700;
    text-decoration:none;
    color:#ff007a;
}
.news-card2__more:hover{
    text-decoration:underline;
}

/* ===== HERO (как на скрине) ===== */
.hero-s1{
    background:#ffffff;
}

.hero-s1__wrap{
   
    text-align:center;
}

/* crumbs */
.hero-s1__crumbs{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    flex-wrap:wrap;
}

.hero-s1__crumb{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    border-radius:999px;
    background:#f3f4f6;
    color:#111827;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.hero-s1__crumb--accent{
    background:#fff1f2;
    color:#ff2d6c;
}

.hero-s1__sep{
    color:#cbd5e1;
    font-weight:800;
}

/* title/desc */
.hero-s1__title{
    font-weight:900;
    letter-spacing:-.02em;
    color:#0f172a;
    font-size:2.05rem;
    line-height:1.12;
    margin:0 0 18px;
}

@media (min-width: 768px){
    .hero-s1__title{ font-size:3.1rem; }
}

.hero-s1__desc{
    margin:0 auto 26px;
    max-width: 820px;
    color:#6b7280;
    font-size:1.05rem;
    line-height:1.6;
}

/* searchbar */
.hero-s1__search{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.hero-s1__searchbar{
    width:100%;
    max-width: 720px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border-radius:999px;
    background:#ffffff;
    box-shadow:0 18px 40px rgba(15,23,42,.08);
    border:1px solid #eef2f7;
}

.hero-s1__icon{
    width:42px;
    height:42px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f3f4f6;
    color:#6b7280;
    flex:0 0 auto;
}

.hero-s1__input{
    border:0;
    outline:none;
    width:100%;
    font-size:1.05rem;
    color:#111827;
    background:transparent;
}

.hero-s1__input::placeholder{
    color:#9ca3af;
}

.hero-s1__btn{
    border:0;
    flex:0 0 auto;
    border-radius:999px;
    padding:14px 22px;
    font-weight:900;
    color:#fff;
    background: linear-gradient(135deg,#ff2d6c 0%, #ff4f5e 45%, #ff7a3d 100%);
    box-shadow:0 14px 28px rgba(255,45,108,.22);
    line-height:1.05;
}

.hero-s1__btn:hover{
    transform: translateY(-1px);
    box-shadow:0 16px 34px rgba(255,45,108,.26);
}

/* popular */
.hero-s1__popular{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:16px;
    flex-wrap:wrap;
}

.hero-s1__popular-label{
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.06em;
    color:#6b7280;
}

.hero-s1__chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 14px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid #eef2f7;
    box-shadow:0 10px 22px rgba(15,23,42,.06);
    color:#111827;
    text-decoration:none;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.02em;
}

.hero-s1__chip:hover{
    border-color:#e5e7eb;
    box-shadow:0 12px 26px rgba(15,23,42,.08);
}

/* stats bar */
.hero-s1__stats{
    margin:34px auto 0;
    width:100%;
    max-width: 1120px;
    background:#ffffff;
    border:1px solid #eef2f7;
    border-radius:999px;
    box-shadow:0 14px 34px rgba(15,23,42,.08);
    padding:18px 16px;

    display:grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items:center;
    gap:0;
}

@media (max-width: 767px){
    .hero-s1__stats{
        border-radius: 24px;
        grid-template-columns: 1fr 1fr;
        gap:12px;
        padding:16px;
    }
    .hero-s1__divider{ display:none; }
}

.hero-s1__stat{
    padding:4px 10px;
}

.hero-s1__stat-val{
    font-weight:900;
    color:#0f172a;
    font-size:1.45rem;
    line-height:1.05;
}

.hero-s1__stat-val--pink{
    color:#ff2d6c;
}

.hero-s1__stat-label{
    margin-top:6px;
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.08em;
    color:#6b7280;
}

.hero-s1__divider{
    width:1px;
    height:42px;
    background:#eef2f7;
}

/* --- Search row: button outside --- */
.hero-s1__searchrow{
    width:100%;
    max-width: 720px;
    display:flex;
    align-items:stretch;
    gap:14px;
}

.hero-s1__searchrow .hero-s1__searchbar{
    max-width: none;     /* теперь ширину задаёт row */
    flex: 1 1 auto;
}

.hero-s1__btn--outside{
    white-space:nowrap;
    padding:14px 22px;
    min-width: 170px;
    line-height:1.1;
}

/* мобилка: поле сверху, кнопка снизу */
@media (max-width: 767px){
    .hero-s1__searchrow{
        flex-direction:column;
        gap:10px;
    }
    .hero-s1__btn--outside{
        width:100%;
        min-width: 0;
        padding:14px 18px;
    }
}

/* Production layout utilities */
.u-bg-body { background: var(--bs-body-bg); }
.u-ratio-16x9 { aspect-ratio: 16 / 9; }
.u-object-cover { object-fit: cover; }
.u-lh-125 { line-height: 1.25; }
.u-lh-135 { line-height: 1.35; }
.u-maxw-920 { max-width: 920px; }

.u-card-shadow { box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.u-cover-wrap { aspect-ratio: 16 / 9; background: #f2f2f2; }
.u-cover-fill { width: 100%; height: 100%; object-fit: cover; display: block; }
.u-cover-empty { width: 100%; height: 100%; }

.u-admin-sidebar-min { min-width: 240px; }
.u-w-max-320 { max-width: 320px; }
.u-minw-240 { min-width: 240px; }
.u-maxw-420 { max-width: 420px; }

.u-cover-preview-box { width: 220px; aspect-ratio: 16 / 9; background: #f5f5f5; }
.u-cover-preview-img { width: 100%; height: 100%; object-fit: cover; }
.u-cover-preview-empty { width: 100%; height: 100%; }

.admin-grid { display: grid; grid-template-columns: 240px 1fr; gap: 16px; }
@media (max-width: 992px) {
    .admin-grid { grid-template-columns: 1fr; }
}

/* ===== Admin layout ===== */
.admin-shell {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.admin-content {
    min-width: 0;
    flex: 1 1 auto;
}

.admin-sidebar {
    width: 220px;
    min-width: 220px;
    padding: 12px;
    border-radius: .65rem;
}

.admin-sidebar-title {
    font-size: .95rem;
    letter-spacing: .01em;
}

.admin-sidebar-btn {
    font-size: .84rem;
    line-height: 1.2;
    padding: .4rem .55rem;
    border-radius: .42rem;
}

.admin-sidebar-divider {
    margin: .75rem 0;
}

@media (max-width: 992px) {
    .admin-shell {
        flex-direction: column;
    }

    .admin-sidebar {
        width: 100%;
        min-width: 0;
    }
}

body { background-color: #f9f9f9; font-family: 'Roboto Flex', sans-serif; }
header, footer { background: #fff; }
.logo-text { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: 1.4rem; }
.server-card { background: #fff; border-radius: .5rem; padding: 1rem; box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.sidebar-card { background: #fff; border-radius: .5rem; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 1px 3px rgba(0, 0, 0, .05); }
.sidebar-card i { width: 1.25rem; text-align: center; }
.faq-card { background: #fff; border-radius: .5rem; padding: 1rem; box-shadow: 0 1px 3px rgba(0, 0, 0, .05); }
.accordion-button:not(.collapsed) { background: #f8f9fa; color: #212529; }

.accordion-body blockquote,
.project-description blockquote,
.content blockquote {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 1.35rem 0;
    padding: 1.25rem 1.35rem 1.25rem 4.25rem;
    border: 1px solid #dce8ff;
    border-left: 0;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 0, 106, .09), transparent 34%),
        linear-gradient(135deg, #f5f9ff 0%, #fff 72%);
    border-radius: .9rem;
    box-shadow: 0 10px 28px rgba(35, 74, 140, .09);
    color: #26364d;
    font-size: 1rem;
    line-height: 1.7;
}

.accordion-body blockquote::before,
.project-description blockquote::before,
.content blockquote::before {
    content: "\201C";
    position: absolute;
    top: .65rem;
    left: 1.05rem;
    z-index: -1;
    color: #2f7fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1;
    opacity: .95;
}

.accordion-body blockquote::after,
.project-description blockquote::after,
.content blockquote::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, #2f7fff 0%, #00b8ff 48%, #ff006a 100%);
}

.accordion-body blockquote p,
.project-description blockquote p,
.content blockquote p {
    position: relative;
    margin-bottom: .75rem;
}

.accordion-body blockquote p:last-child,
.project-description blockquote p:last-child,
.content blockquote p:last-child {
    margin-bottom: 0;
}

.accordion-body blockquote cite,
.project-description blockquote cite,
.accordion-body blockquote footer,
.project-description blockquote footer,
.content blockquote cite,
.content blockquote footer {
    display: block;
    margin-top: .75rem;
    color: #607089;
    font-size: .86rem;
    font-style: normal;
    font-weight: 600;
}

.accordion-body blockquote cite::before,
.project-description blockquote cite::before,
.content blockquote cite::before {
    content: "\2014\00a0";
    color: #2f7fff;
}

@media (max-width: 575.98px) {
    .accordion-body blockquote,
    .project-description blockquote,
    .content blockquote {
        margin: 1rem 0;
        padding: 1rem 1rem 1rem 3.35rem;
        border-radius: .75rem;
        font-size: .94rem;
        line-height: 1.6;
    }

    .accordion-body blockquote::before,
    .project-description blockquote::before,
    .content blockquote::before {
        top: .65rem;
        left: .8rem;
        font-size: 3.45rem;
    }
}

/* ===== Content TOC ===== */
.content-toc {
    border: 1px solid #e7edf5;
    background: #fbfdff;
    border-radius: .7rem;
    padding: .85rem .95rem;
}

.content-toc__title {
    font-size: .88rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: .45rem;
}

.content-toc__list {
    margin: 0;
    padding-left: 1rem;
}

.content-toc__item {
    margin: .18rem 0;
    line-height: 1.35;
    color: #334155;
}

.content-toc__item a {
    color: #334155;
    text-decoration: none;
    border-bottom: 1px solid rgba(51, 65, 85, .22);
}

.content-toc__item a:hover {
    color: #1d4ed8;
    border-bottom-color: rgba(29, 78, 216, .35);
}

.content-toc__item--lvl3 {
    margin-left: .65rem;
}

.content-toc__item--lvl4 {
    margin-left: 1.3rem;
}

/* ===== Rich content media safety ===== */
.content {
    overflow-wrap: anywhere;
}

.content img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
}

.content figure {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.content figure img {
    width: 100%;
    max-width: 100%;
}

.content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

/* ===== Home modern rating tables ===== */
.rating-section-modern {
    border: 1px solid #e8edf4;
    border-radius: .8rem;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.rating-sort-wrap {
    row-gap: .45rem;
}

.rating-sort-btn {
    border-radius: 999px;
    font-size: .78rem;
    line-height: 1.1;
    padding: .35rem .72rem;
    border-color: #d9e1ec;
    color: #4b5563;
    background: #fff;
    transition: all .16s ease;
}

.rating-sort-btn:hover {
    border-color: #b7c6da;
    color: #1f2937;
    background: #f8fbff;
}

.rating-sort-btn.active {
    border-color: #2f7fff;
    background: #eef5ff;
    color: #165dcc;
}

.rating-table-wrap {
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
}

.rating-table-modern {
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.rating-table-modern thead.rating-head th {
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
    border-bottom: 1px solid #e8edf4;
    background: linear-gradient(180deg, #fbfdff 0%, #f5f8fc 100%);
    padding-top: .78rem;
    padding-bottom: .78rem;
}

.rating-table-modern thead.rating-head th:first-child {
    border-top-left-radius: .58rem;
}

.rating-table-modern thead.rating-head th:last-child {
    border-top-right-radius: .58rem;
}

.rating-table-modern tbody.rating-body td {
    vertical-align: middle;
    border-color: #edf2f8;
    padding-top: .72rem;
    padding-bottom: .72rem;
}

.rating-table-modern tbody.rating-body tr {
    transition: background-color .16s ease;
}

.rating-table-modern tbody.rating-body tr:hover {
    background: #f9fbff;
}

.rating-table-modern tbody.rating-body a:not(.btn) {
    color: #0f172a;
    text-decoration: none;
    border-bottom: 1px solid rgba(15, 23, 42, .16);
    transition: color .16s ease, border-color .16s ease;
}

.rating-table-modern tbody.rating-body a:not(.btn):visited {
    color: #0f172a;
}

.rating-table-modern tbody.rating-body a:not(.btn):hover {
    color: #1d4ed8;
    border-bottom-color: rgba(29, 78, 216, .38);
}

.rating-table-modern tbody.rating-body .text-muted.small a:not(.btn) {
    color: #64748b;
    border-bottom-color: rgba(100, 116, 139, .26);
}

.rating-table-modern tbody.rating-body .text-muted.small a:not(.btn):hover {
    color: #334155;
    border-bottom-color: rgba(51, 65, 85, .32);
}

.rating-table-modern tbody.rating-body tr:last-child td:first-child {
    border-bottom-left-radius: .58rem;
}

.rating-table-modern tbody.rating-body tr:last-child td:last-child {
    border-bottom-right-radius: .58rem;
}

.rating-table-modern tbody.rating-body .rating-main-title {
    font-size: .95rem;
    line-height: 1.25;
}

.rating-table-modern .badge {
    border-radius: .48rem;
}

.rating-table-modern .btn-outline-secondary {
    border-color: #d6dfeb;
}

.rating-table-footer {
    padding-top: .35rem;
}

.rating-more-btn {
    border-radius: .55rem;
    border-color: #d5deea;
    font-size: .79rem;
    padding: .36rem .72rem;
}

@media (max-width: 991px) {
    .rating-table-modern thead.rating-head th {
        font-size: .7rem;
        letter-spacing: .03em;
    }

    .rating-table-modern tbody.rating-body td {
        font-size: .82rem;
        padding-top: .62rem;
        padding-bottom: .62rem;
    }
}

@media (max-width: 767px) {
    .rating-section-modern {
        border-radius: .7rem;
    }

    .rating-table-wrap {
        overflow: visible;
    }

    .rating-table-modern thead.rating-head {
        display: none;
    }

    .rating-table-modern tbody.rating-body {
        display: block;
    }

    .rating-table-modern tbody.rating-body tr {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: .45rem .8rem;
        padding: .75rem .85rem;
        margin-bottom: .65rem;
        border: 1px solid #e7edf5;
        border-radius: .7rem;
        background: #fff;
    }

    .rating-table-modern tbody.rating-body tr:hover {
        background: #fff;
    }

    .rating-table-modern tbody.rating-body td {
        display: block;
        border: 0;
        padding: 0;
        font-size: .84rem;
    }

    .rating-table-modern tbody.rating-body td:nth-child(1) {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .rating-table-modern tbody.rating-body td:nth-child(2) {
        grid-column: 1;
        grid-row: 1;
    }

    .rating-table-modern tbody.rating-body .rating-main-title {
        font-size: 1rem;
        line-height: 1.25;
        margin-bottom: .15rem;
    }

    .rating-table-modern tbody.rating-body td:nth-child(3),
    .rating-table-modern tbody.rating-body td:nth-child(4),
    .rating-table-modern tbody.rating-body td:nth-child(5),
    .rating-table-modern tbody.rating-body td:nth-child(6) {
        grid-column: 1 / -1;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .75rem;
    }

    .rating-table-modern tbody.rating-body td:nth-child(3)::before,
    .rating-table-modern tbody.rating-body td:nth-child(4)::before,
    .rating-table-modern tbody.rating-body td:nth-child(5)::before,
    .rating-table-modern tbody.rating-body td:nth-child(6)::before {
        color: #6b7280;
        font-size: .73rem;
        text-transform: uppercase;
        letter-spacing: .03em;
        white-space: nowrap;
    }

    .rating-table-modern tbody.rating-body td:nth-child(3)::before { content: 'Платформа'; }
    .rating-table-modern tbody.rating-body td:nth-child(4)::before { content: 'Онлайн'; }
    .rating-table-modern tbody.rating-body td:nth-child(5)::before { content: 'Голоса'; }
    .rating-table-modern tbody.rating-body td:nth-child(6)::before { content: 'Рейтинг'; }

    .rating-table-modern tbody.rating-body td:nth-child(3) .small {
        text-align: right;
    }

    .rating-table-modern tbody.rating-body td:nth-child(7) {
        grid-column: 1 / -1;
        margin-top: .15rem;
    }

    .rating-table-modern tbody.rating-body td:nth-child(7) .btn {
        width: 100%;
    }

    .rating-table-modern tbody.rating-body tr:last-child td:first-child,
    .rating-table-modern tbody.rating-body tr:last-child td:last-child {
        border-radius: 0;
    }

    .rating-table-footer {
        padding-top: .2rem;
    }
}

/* ===== News gallery ===== */
.news-gallery-grid {
    column-count: 3;
    column-gap: .75rem;
}

.news-gallery-item {
    display: block;
    margin: 0 0 .75rem;
    break-inside: avoid;
    border-radius: .8rem;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .06);
    background: #fff;
}

.news-gallery-item img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 500px;
    margin: 0 auto;
}

.news-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: none;
}

.news-lightbox.is-open {
    display: block;
}

.news-lightbox__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(2, 6, 23, .82);
    cursor: zoom-out;
}

.news-lightbox__content {
    position: relative;
    width: min(92vw, 1200px);
    max-height: 90vh;
    margin: 5vh auto;
    padding: 0 3.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-lightbox__img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: .7rem;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
    background: #fff;
}

.news-lightbox__close,
.news-lightbox__nav {
    position: absolute;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    background: rgba(15, 23, 42, .55);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.news-lightbox__close {
    top: .4rem;
    right: .4rem;
}

.news-lightbox__nav--prev {
    left: .25rem;
}

.news-lightbox__nav--next {
    right: .25rem;
}

@media (max-width: 575px) {
    .news-lightbox__content {
        width: 96vw;
        padding: 0 2.4rem;
    }

    .news-lightbox__close,
    .news-lightbox__nav {
        width: 2rem;
        height: 2rem;
    }
}

@media (max-width: 991px) {
    .news-gallery-grid {
        column-count: 2;
    }
}

@media (max-width: 575px) {
    .news-gallery-grid {
        column-count: 1;
    }
}

@media (max-width: 767px){
    .mob_img {
        width: 100%
    }
}
