/* -------------------------------------------
   1. GLOBAL & RANKINGS SECTION
------------------------------------------- */

.side-rankings-section {
    background: #fafafa;
    margin-top: 0px;
}

.side-rankings-section .container {
    max-width: 100%;
    grid-template-columns: 350px 1fr;
    gap: 20px;
    background: #fafafa;
}

.card {
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.rankings-header {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rankings-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

.header-icons {
    display: flex;
    gap: 12px;
}

.header-icons i {
    color: #6c757d;
    font-size: 14px;
    cursor: pointer;
    padding: 8px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.header-icons i:hover {
    background-color: #f8f9fa;
}

.header-icons i.active,
.header-icons i.fa-trophy {
    color: #ffc107;
}

.rankings-list {
    padding: 15px;
}


/* -------------------------------------------
   2. BROKER CARDS & INFO
------------------------------------------- */

.broker-item {
    background: white;
    border-radius: 8px;
    margin-bottom: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.broker-contents {
    display: flex;
    align-items: center;
    padding: 12px;
    position: relative;
}

.broker-logo-wrapper {
    position: relative;
    width: 120px;
    height: 45px;
    margin-right: 15px;
    background: #f8f9fa;
    border-radius: 4px;
    overflow: hidden;
}


.broker-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
}

.broker-info {
    flex: 1;
    min-width: 0;
    padding-right: 10px;
}

.broker-name {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 2px 0;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.score {
    color: #ffc107;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.score::after {
    content: 'Score';
    color: #666;
    font-weight: normal;
}

.broker-years {
    color: #6c757d;
    font-size: 12px;
    display: block;
}

.rank-number {
    width: 24px;
    height: 24px;
    background: #fff3cd;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    flex-shrink: 0;
    margin-left: 8px;
    border: 1px solid #ffeeba;
}


/* -------------------------------------------
   3. VPS SECTION (Retained Commented Code)
------------------------------------------- */


/*
.vps-section { padding: 20px; }
.vps-title { font-size: 16px; font-weight: 600; margin-bottom: 20px; display: flex; align-items: center; gap: 8px; position: relative; }
.vps-title::after { content: '▲'; font-size: 10px; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: #666; }
.vps-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.vps-card { border: 1px solid #eee; padding: 12px; position: relative; background: white; transition: all 0.3s ease; cursor: pointer; }
.vps-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); border-color: transparent; }
.vps-icon { width: 24px; height: 24px; border-radius: 4px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; transition: transform 0.3s ease; }
.vps-card:hover .vps-icon { transform: scale(1.1); }
.vps-standard .vps-icon { background: #007bff; color: white; }
.vps-xm .vps-icon { background: #000; color: white; }
.vps-fxtm .vps-icon { background: #ff4444; color: white; }
.vps-ic .vps-icon { background: #00c851; color: white; }
.vps-ec .vps-icon { background: #ff8800; color: white; }
*/

.free-tag {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #28a745;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    transition: transform 0.3s ease;
}

.vps-card:hover .free-tag {
    transform: scale(1.1) rotate(5deg);
}

.vps-name {
    font-size: 14px;
    font-weight: 600;
    margin: 8px 0;
    color: #333;
    transition: color 0.3s ease;
}

.vps-card:hover .vps-name {
    color: #007bff;
}

.vps-specs {
    margin: 12px 0;
    font-size: 13px;
    color: #666;
}

.specs {
    line-height: 1.5;
}

.btn {
    width: 100%;
    padding: 8px;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

.btn-primary {
    background: #007bff;
    color: white;
}

.btn-primary:hover {
    background: #0056b3;
}

.btn-ultra {
    background: #ffc107;
    color: #000;
    position: relative;
    overflow: hidden;
}

.btn-ultra:hover {
    background: #ffca2c;
}

.btn-ultra::after {
    content: '→';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    transition: right 0.3s ease;
}

.btn-ultra:hover::after {
    right: 10px;
}


/* -------------------------------------------
   4. TABS, NEWS & SCAM SECTION
------------------------------------------- */

.nav-tabs {
    display: flex;
    gap: 20px;
    padding: 0 20px;
    margin: 20px 0;
    border-bottom: 1px solid #eee;
}

.nav-tabs a {
    color: #6c757d;
    text-decoration: none;
    padding: 10px 0;
    font-size: 14px;
    position: relative;
}

.nav-tabs a.active {
    color: #007bff;
    border-bottom: 2px solid #007bff;
}

.news-section {
    padding: 0 20px 20px;
}

.news-card {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.news-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 15px;
}

.news-image {
    width: 100%;
    height: 120px;
}

.news-image img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 4px;
}

.news-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 10px 0;
    color: #333;
}

.news-text {
    color: #6c757d;
    font-size: 14px;
    margin-bottom: 10px;
}

.news-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}

.badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.badge-warning {
    background: #ffc107;
    color: white;
}

.badge-danger {
    background: #dc3545;
    color: white;
}

.news-date {
    color: #6c757d;
    font-size: 12px;
}

.scam-card {
    padding: 15px;
}

.scam-title {
    font-size: 16px;
    font-weight: 600;
    margin: 10px 0;
}

.scam-text {
    color: #6c757d;
    font-size: 14px;
    margin: 0;
}

.gold-chart {
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #1a237e, #000051);
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.gold-chart::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(45deg, #FFD700, #FFA000);
    clip-path: polygon(0 100%, 20% 60%, 40% 80%, 60% 40%, 80% 60%, 100% 20%, 100% 100%);
}

.gold-chart::after {
    content: '📈';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
}

.content-section {
    display: none;
}

.content-section.active {
    display: block;
}


/* -------------------------------------------
   6. SEARCH & BROKER DETAILS
------------------------------------------- */

.search-delear {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e6e8eb;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    display: flex;
    align-items: flex-start;
    padding: 28px 32px;
    margin-bottom: 24px;
    width: 100%;
    position: relative;
    transition: box-shadow 0.2s;
}

.search-delear:hover {
    box-shadow: 0 8px 24px rgba(178, 137, 54, 0.08);
}

.search-delear-l {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-right: 32px;
    min-width: 140px;
}

.search-delear-tag {
    background: #2CB250;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
    padding: 4px 16px;
    margin-bottom: 10px;
    display: inline-block;
}

.search-delear-logo {
    width: 120px;
    height: 80px;
    object-fit: contain;
    background: #fafbfc;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    margin-top: 4px;
}

.search-delear-r {
    flex: 1;
    min-width: 0;
}

.search-delear-title {
    font-size: 28px;
    font-weight: 700;
    color: #232323;
    margin: 0 0 12px 0;
}

.search-delear-line1 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #232323;
    margin-bottom: 8px;
}

.line1-flag {
    width: 28px;
    height: 20px;
    object-fit: cover;
    border-radius: 3px;
    margin-right: 4px;
}

.line1-country {
    font-weight: 500;
    margin-right: 8px;
}

.line1-year,
.line1-year.rate {
    background: #f5f6fa;
    color: #232323;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 15px;
    font-weight: 500;
    margin-right: 8px;
}

.line1-year.rate {
    display: flex;
    align-items: center;
    gap: 4px;
}

.search-delear-line2 {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 8px;
}

.line2-p {
    display: flex;
    align-items: center;
    gap: 8px;
}

.line2-p-l {
    display: flex;
    align-items: center;
    gap: 6px;
}

.line2-p-flag {
    width: 22px;
    height: 16px;
    object-fit: cover;
    border-radius: 2px;
}

.line2-p-span {
    font-size: 16px;
    color: #232323;
}

.line2-p-tag {
    font-size: 15px;
    color: #338066;
    background: #e6f4ef;
    border-radius: 4px;
    padding: 2px 10px;
    margin-left: 6px;
    font-weight: 500;
    border: 1px solid #3380661A;
    display: inline-block;
}


/* Specific Tag Overrides */

.line2-p-tag[style*="background: rgba(51, 128, 102, 0.1)"] {
    background: #e6f4ef !important;
    color: #338066 !important;
}

.line2-p-tag[style*="background: rgb(237, 242, 247)"] {
    background: #edf2f7 !important;
    color: #477DB2 !important;
}

.line2-p-tag[style*="background: rgb(59, 111, 151)"] {
    background: #e6f4ef !important;
    color: #3B6F97 !important;
}

.trader-list-add {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0 0;
}

.list-add-label {
    background: #f5f6fa;
    color: #86909C;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 15px;
    font-weight: 500;
    display: inline-block;
}

.list-add-label[style*="background: rgb(237, 242, 247)"] {
    background: #edf2f7 !important;
    color: #477DB2 !important;
}


/* Utility Classes */

.mt-10 {
    margin-top: 10px;
}

.w-full {
    width: 100%;
}

.rounded-2 {
    border-radius: 6px;
}

.bg-\[\#F7F8FA\] {
    background: #F7F8FA;
}

.px-8 {
    padding-left: 16px;
    padding-right: 16px;
}

.text-12 {
    font-size: 15px;
}

.leading-25 {
    margin: 30px;
    line-height: 25px;
}

.text-\[\#86909C\] {
    color: #86909C;
}

.search-delear-bt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    margin-left: 32px;
}

.r-score-star {
    display: flex;
    align-items: flex-end;
    gap: 0;
}

.r-score-star-num {
    font-size: 38px;
    font-weight: 700;
    color: #232323;
    line-height: 1;
    position: relative;
    z-index: 1;
    margin-right: 0;
}

.r-score-star-num::after {
    content: '';
    display: block;
    width: 100%;
    height: 6px;
    background: #ffe066;
    border-radius: 3px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}

.score-txt {
    font-size: 18px;
    color: #86909C;
    margin-top: 2px;
    font-weight: 500;
}


/* -------------------------------------------
   7. MAIN BROKER PAGE & TABS
------------------------------------------- */

.main-broker-page {
    display: flex;
    align-items: flex-start;
}

.broker-sidebar {
    width: 280px;
    min-width: 260px;
    margin-right: 0;
}

.broker-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.search-choose {
    display: flex;
    align-items: center;
    gap: 200px;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 20px;
}

.search-choose-label {
    color: #666;
    font-size: 14px;
}

.search-choose-ultext.all {
    background: #f0f0f0;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 14px;
}

.search-choose-remove {
    color: #666;
    cursor: pointer;
    font-size: 14px;
}

#jgtab.jgtab {
    display: flex;
    gap: 30px;
    border-bottom: 1px solid #eee;
    margin: 0px 400px 20px 10px;
}

.jgtab-list {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    cursor: pointer;
    color: #666;
}

.jgtab-list-active {
    color: #333;
    font-weight: 600;
    border-bottom: 2px solid #333;
}

.jgtab-list .iconfont {
    font-size: 18px;
}

.jgtab-list-text {
    font-size: 16px;
}

.jgtab-list-num {
    font-size: 12px;
    color: #999;
}

.disclosure-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.disclosure-tab-btn {
    padding: 8px 24px;
    border: none;
    background: #f5f5f5;
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
    color: #666;
    transition: all 0.3s ease;
}

.disclosure-tab-btn.active {
    background: #fcd734;
    color: #333;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.disclosure-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 20px;
}

.disclosure-item {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    position: relative;
    border: 1px solid #eee;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.disclosure-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.disclosure-item.danger {
    background: #fff5f5;
    border-color: #ffebeb;
}

.disclosure-item.warning {
    background: #fff9e6;
    border-color: #fff3cc;
}

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

.tag {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
}

.tag.danger {
    background-color: #da541e;
}

.tag.warning {
    background-color: #eda40a;
}

.item-content {
    padding-right: 0;
}

.item-content .title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 44px;
}

.broker-info img {
    width: 20px;
    height: 20px;
    border-radius: 4px;
}

.warning-icon {
    top: 16px;
    transform: none;
}

.disclosure-item.danger .warning-icon {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23da541e"><path d="M12 2L1 21h22L12 2zm0 3.45l8.4 14.55H3.6L12 5.45zm-1 4v6h2V9.45h-2zm1 9a1 1 0 100-2 1 1 0 000 2z"/></svg>');
}

.disclosure-item.warning .warning-icon {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23eda40a"><path d="M12 2L1 21h22L12 2zm0 3.45l8.4 14.55H3.6L12 5.45zm-1 4v6h2V9.45h-2zm1 9a1 1 0 100-2 1 1 0 000 2z"/></svg>');
}

.download-app {
    margin-top: 24px;
    padding: 16px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eee;
}

.download-link {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
}

.download-link img {
    width: 40px;
    height: 40px;
}

.download-text p {
    margin: 0;
}

.download-text p:first-child {
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

.download-text p:last-child {
    font-size: 14px;
    color: #666;
    margin-top: 4px;
}


/* -------------------------------------------
   8. PILOU, PL CONTENT & LISTINGS
------------------------------------------- */

.pilou-content {
    padding: 20px;
}

.pilou-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    padding: 24px;
    border: 1px solid #eee;
}

.pilou-type {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 24px -40px;
    border-bottom: 1px solid #eee;
    padding-bottom: 16px;
}

.pilou-type li {
    padding: 6px 20px;
    background: #f5f5f5;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.pilou-type li.active {
    background: #fcd734 !important;
    color: #232323 !important;
    font-weight: 600;
}

.pilou-type li p {
    margin: 0;
    font-size: 14px;
    color: #333;
}

.content-pl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 24px;
}

.content-pl .item {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
    padding: 18px 16px 16px 16px;
    height: 140px;
    width: 230px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: box-shadow 0.2s;
    border: 1.5px solid #f3f3f3;
}

.content-pl .item:hover {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.13);
}


/* Card Gradients */

.content-pl .item[data-type="danger"] {
    background: linear-gradient(90deg, #fff7f3 60%, #fff 100%);
    border: 1.5px solid #f3d3c6;
}

.content-pl .item[data-type="warning"] {
    background: linear-gradient(90deg, #fffbe7 60%, #fff 100%);
    border: 1.5px solid #f7e6b2;
}

.content-pl .item[data-type="sanction"] {
    background: linear-gradient(90deg, #fbeff2 60%, #fff 100%);
    border: 1.5px solid #e7c2cb;
}

.dealer-supervise-item .tag {
    border-radius: 6px;
    padding: 2px 10px;
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    display: inline-block;
}

.dealer-supervise-item .tag p {
    color: #fff !important;
}

.dealer-supervise-item .tag[style*='#DA541E'] {
    background: #DA541E !important;
}

.dealer-supervise-item .tag[style*='#EDA40A'] {
    background: #EDA40A !important;
    color: #fff !important;
}

.dealer-supervise-item .tag[style*='rgb(155, 39, 58)'] {
    background: rgb(155, 39, 58) !important;
}

.line2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    align-items: center;
    min-height: 32px;
}

.line2 .top {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 18px;
    font-weight: 600;
    color: #232323;
}

.jys {
    display: flex;
    align-items: center;
    gap: 6px;
}

.jys img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    border-radius: 4px;
    margin-right: 4px;
}

.jysname {
    font-size: 15px;
    color: #4a4a4a;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.line1 {
    display: flex;
    gap: 50px;
    margin-bottom: 8px;
}

.line1 .left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.line1 .date {
    color: #999;
    font-size: 13px;
    margin-left: 0;
    margin-top: 2px;
    padding-left: 0;
    display: block;
}

.news-list-section {
    margin-top: 24px;
}

.newss-list {
    display: flex;
    flex-direction: column;
}

.home-list:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
}

.home-list .l {
    flex-shrink: 0;
    width: 120px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 6px;
    background: #f7f7f7;
}

.home-list .l img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.home-list .r {
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
}

.r-title {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.r-p {
    color: #666;
    font-size: 15px;
    margin: 0 0 8px 0;
    line-height: 1.5;
}

.r-img {
    margin: 8px 0;
    display: none;
}

.r-tool {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
}

.r-tool-label {
    display: inline-block;
    border: 1px solid;
    border-radius: 4px;
    padding: 2px 10px;
    font-size: 13px;
    font-weight: 500;
    margin-right: 8px;
    background: #fff;
}

.r-tool-r {
    color: #bbb;
    font-size: 13px;
}


/* -------------------------------------------
   9. RIGHTS PROTECTION, SPREAD TABLE
------------------------------------------- */

.title-tab.jaf-2 {
    background: #fafafa;
    padding: 24px 0 0 0;
    margin-bottom: 0;
    border-bottom: 2px solid #f0f0f0;
}

.title-tab.jaf-2 .title-l {
    display: flex;
    align-items: center;
    gap: 32px;
}

.title-tab.jaf-2 .title-l-t-text {
    font-weight: 600;
    font-size: 24px;
    color: #232323;
    margin-right: 32px;
    white-space: nowrap;
}

.wiki-nav-list {
    display: flex;
    gap: 36px;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.wiki-nav-item {
    font-size: 20px;
    color: #aaa;
    font-weight: 400;
    cursor: pointer;
    transition: color 0.2s, font-weight 0.2s;
    position: relative;
    padding-bottom: 2px;
}

.wiki-nav-item.rpc-active,
.wiki-nav-item:hover {
    color: #232323;
    font-weight: 600;
}

.right-tab {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: 32px;
}

.right-tab-1,
.right-tab-2 {
    font-size: 22px;
    color: #4169e1;
    cursor: pointer;
    user-select: none;
    transition: color 0.2s;
}

.right-tab-1.hover-active,
.right-tab-2.hover-active {
    color: #232323;
}

.protection {
    background: #fafafa;
    margin-top: 0px;
}

.protection-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #e2e5ea;
    border: 1.5px solid #bababb;
    border-radius: 6px;
    padding: 18px 28px;
    margin: 24px 0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
}

.protection-title .l {
    display: flex;
    gap: 48px;
}

.protection-title .l-list {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: #888;
}

.protection-title .l-list b {
    color: #232323;
    font-size: 22px;
    font-weight: 700;
    margin-left: 6px;
}

.protection-title .r {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #4169e1;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
    padding: 8px 32px;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(65, 105, 225, 0.08);
    transition: background 0.2s, box-shadow 0.2s;
}

.protection-title .r:hover {
    background: #274bb6;
    box-shadow: 0 4px 16px rgba(65, 105, 225, 0.12);
}

.protection-title .r i {
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
}

.protection-list {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-top: 24px;
}

.protection-ul {
    display: flex;
    gap: 24px;
    min-width: 900px;
    transition: transform 0.4s cubic-bezier(.4, 0, .2, 1);
}

.protection-colm {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 280px;
}

.protection-colm-small,
.protection-colm-long {
    display: block;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 18px 18px 14px 18px;
    text-decoration: none;
    color: #232323;
    border: 1px solid #ececec;
    margin-bottom: 8px;
    min-width: 260px;
    max-width: 340px;
    transition: box-shadow 0.2s, border 0.2s;
}

.protection-colm-small:hover,
.protection-colm-long:hover {
    box-shadow: 0 8px 24px rgba(65, 105, 225, 0.08);
    border: 1.5px solid #4169e1;
}

.protection-colm-long {
    max-width: 420px;
}

.protection-colm-small .w-full,
.protection-colm-long .w-full {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.protection-colm-small img,
.protection-colm-long img {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    object-fit: contain;
    background: #f7f7f7;
}

.protection-colm-small .title,
.protection-colm-long .title {
    font-size: 16px;
    font-weight: 600;
    color: #232323;
    margin: 0 0 4px 0;
}

.protection-colm-small .des,
.protection-colm-long .des {
    font-size: 14px;
    color: #666;
    margin: 0 0 8px 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    min-height: 2.9em;
}

.protection-colm-small .time,
.protection-colm-long .time {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #bbb;
    font-size: 13px;
    margin-top: 8px;
}


/* -------------------------------------------
   10. MERGED RESPONSIVE MEDIA QUERIES
------------------------------------------- */

@media (max-width: 1200px) {
    .disclosure-items {
        grid-template-columns: repeat(2, 1fr);
    }
    .content-pl {
        grid-template-columns: repeat(2, 1fr);
    }
    .protection-ul {
        min-width: 600px;
        gap: 12px;
    }
    .protection-colm {
        min-width: 180px;
    }
}

@media (max-width: 700px) {
    .home-list {
        flex-direction: column;
        gap: 10px;
        padding: 10px;
    }
    .home-list .l {
        width: 100%;
        height: 160px;
    }
    .protection-title {
        flex-direction: column;
        align-items: stretch;
        padding: 12px 8px;
        gap: 12px;
    }
    .protection-title .l {
        flex-direction: column;
        gap: 8px;
    }
    .protection-title .r {
        width: 100%;
        justify-content: center;
        padding: 10px 0;
    }
    .protection-list {
        padding-bottom: 0;
    }
    .protection-ul {
        min-width: 400px;
        gap: 8px;
    }
    .protection-colm-small,
    .protection-colm-long {
        min-width: 140px;
        max-width: 100vw;
        padding: 10px 8px 8px 8px;
    }
}

@media (max-width: 480px) {
    .vps-grid {
        grid-template-columns: 1fr;
    }
}