.rankings-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-24);align-items:center}.rankings-hero__content{max-width:680px}.rankings-hero__highlights{display:flex;flex-direction:column;gap:var(--space-10);margin-top:var(--space-12)}.rankings-hero__pills{display:flex;flex-wrap:wrap;gap:var(--space-6)}.rankings-hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-8)}.rankings-hero__media{display:flex;justify-content:flex-end}.rankings-hero__image-wrapper{position:relative;max-width:420px;width:100%;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-medium);background-color:var(--color-bg-elevated)}.rankings-hero__image-wrapper img{width:100%;height:100%;object-fit:cover}.rankings-hero__badge{position:absolute;bottom:14px;left:14px;padding:8px 12px;border-radius:var(--radius-full);background:rgba(15,23,42,.9);color:#fff;font-size:var(--font-size-xs);display:flex;flex-direction:column;gap:2px}.rankings-hero__badge span{color:var(--color-gray-200);font-size:10px;text-transform:uppercase;letter-spacing:.12em}

.rankings-legend{display:flex;align-items:center;gap:var(--space-8)}

.rankings-table-wrapper{margin-top:var(--space-12)}.rankings-table .rank-cell{font-weight:600;font-variant-numeric:tabular-nums}.rank-destination{display:flex;flex-direction:column;gap:4px}

.rankings-category-grid{margin-top:var(--space-16)}.ranked-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}.ranked-list li{color:var(--color-text-soft)}

.seasons-grid{margin-top:var(--space-16);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-16)}.seasons-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}.seasons-card .card-meta{font-size:var(--font-size-sm)}

.experience-grid{margin-top:var(--space-16)}.experience-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}

.destination-cards-grid{margin-top:var(--space-16)}.destination-card .card-media{min-height:180px}.destination-card .card-media img{width:100%;height:100%;object-fit:cover}.destination-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10);margin-top:var(--space-8)}.metric-bar{position:relative;height:6px;border-radius:var(--radius-full);background-color:var(--color-gray-100);overflow:hidden}.metric-bar::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-amber))}.metric-bar--high::after{width:88%}.metric-bar--medium::after{width:60%}

.rankings-innovation-grid,.rankings-votes-grid,.rankings-offers-grid{margin-top:var(--space-16)}.innovation-list,.offer-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}

.faq-item{border-radius:var(--radius-lg);border:1px solid var(--color-border-soft);padding:var(--space-8) var(--space-10);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-soft);margin-bottom:var(--space-8)}.faq-item summary{cursor:pointer;list-style:none;font-weight:500;font-size:var(--font-size-sm);color:var(--color-gray-800);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.faq-item summary::-webkit-details-marker{display:none}.faq-item__body{margin-top:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-soft)}

.rankings-faq-cta__content{align-items:flex-start}.rankings-faq-cta__actions{display:flex;flex-direction:column;gap:var(--space-6);min-width:260px}

@media (max-width:1024px){.rankings-hero{grid-template-columns:minmax(0,1fr);gap:var(--space-20)}.rankings-hero__media{justify-content:flex-start}.seasons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-metrics{grid-template-columns:minmax(0,1fr)}}

@media (max-width:768px){.rankings-hero__cta{flex-direction:column;align-items:stretch}.seasons-grid{grid-template-columns:minmax(0,1fr)}.rankings-faq-cta__content{flex-direction:column}.rankings-faq-cta__actions{width:100%}.rankings-faq-cta__actions .btn{width:100%}}

@media (max-width:480px){.rankings-hero__image-wrapper{max-width:100%}.rankings-hero__badge{bottom:10px;left:10px;padding:6px 10px}}



.rankings-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}

.rankings-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}

.rankings-table th,
.rankings-table td {
    vertical-align: top;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.rankings-table thead th {
    white-space: nowrap;
}

.rank-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    white-space: nowrap;
}

.rank-destination {
    min-width: 0;
}

.rank-destination strong {
    display: block;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.35;
}

.rank-destination .tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.rank-destination .badge {
    max-width: 100%;
    white-space: normal;
    line-height: 1.25;
}

@media (max-width: 768px) {
    .rankings-table {
        min-width: 920px;
    }

    .rankings-table th,
    .rankings-table td {
        padding: 12px 14px;
        font-size: 14px;
        line-height: 1.45;
    }

    .rank-cell {
        min-width: 30px;
    }

    .rank-destination .tag-list {
        gap: 5px;
    }

    .rank-destination .badge {
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .rankings-table {
        min-width: 860px;
    }

    .rankings-table th,
    .rankings-table td {
        padding: 10px 12px;
        font-size: 13px;
    }

    .rank-destination strong {
        font-size: 13px;
    }

    .rank-destination .badge {
        font-size: 11px;
    }
}