/*
Theme Name: Cheapsly
Theme URI: https://cheapsly.com
Description: Custom travel affiliate theme for Cheapsly
Version: 1.0
Author: Cheapsly
*/

:root {
    --bg: #ffffff;
    --text: #202124;
    --accent: #0057b8;
    --muted: #6b7280;
    --border: #e5e7eb;
    --font: system-ui, -apple-system, sans-serif;
    --max-width: 1100px;
    --radius: 4px;
    --card-flight: #0057b8;
    --card-hotel: #d97706;
    --card-activities: #16a34a;
    --datesep-bg: #fff8e1;
    --datesep-latest: #0057b8;
    --datesep-origin: #c0392b;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: var(--font);
    font-size: 17px;
    line-height: 1.8;
    color: var(--text);
    background: var(--bg);
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--bg);
    border-top: 3px solid var(--accent);
    border-bottom: 1px solid var(--border);
}
.site-header__inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 24px;
    height: 60px;
    display: flex;
    align-items: center;
    gap: 32px;
}
.site-logo {
    font-size: 1.25rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--text);
    letter-spacing: -0.4px;
    flex-shrink: 0;
}
.site-logo span {
    font-style: italic;
    color: var(--accent);
}
.site-nav { flex: 1; }
.site-nav ul { list-style: none; display: flex; gap: 2px; }
.site-nav a {
    display: block;
    padding: 6px 10px;
    text-decoration: none;
    color: var(--muted);
    font-size: 0.9375rem;
    border-radius: var(--radius);
}
.site-nav a:hover { color: var(--text); background: #f5f9ff; }
.site-nav a[aria-current="page"] { color: var(--accent); font-weight: 600; }
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-left: auto;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}
.nav-toggle__bar {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--text);
    border-radius: 1px;
    transition: transform 0.2s, opacity 0.2s;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) {
    opacity: 0;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 700px) {
    .site-header__inner {
        height: 56px;
        justify-content: space-between;
    }
    .site-nav { display: none; }
    .nav-toggle { display: flex; }
    .site-nav.is-open {
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--bg);
        border-top: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
        animation: nav-slide-in 0.18s ease;
    }
    @keyframes nav-slide-in {
        from { opacity: 0; transform: translateY(-6px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    .site-nav ul { flex-direction: column; gap: 0; padding: 4px 0; }
    .site-nav a {
        padding: 14px 24px;
        border-radius: 0;
        font-size: 1rem;
        color: var(--text);
        border-bottom: 1px solid var(--border);
    }
    .site-nav li:last-child a { border-bottom: none; }
}

/* Main */
main {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 48px 24px 80px;
}

/* Breadcrumb */
.breadcrumb { margin-bottom: 24px; }
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; padding: 0; margin: 0; }
.breadcrumb li { font-size: 0.8125rem; color: var(--muted); }
.breadcrumb li + li::before { content: '›'; margin-right: 4px; color: var(--muted); }
.breadcrumb a { color: var(--muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--accent); text-decoration: underline; }
.breadcrumb li[aria-current="page"] { color: var(--text); }

/* USP Article */
.usp-header {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border);
}
.usp-header h1 {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.5px;
    color: var(--text);
}

/* Practical Info Box */
.usp-updated {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 8px;
}
.usp-places {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}
.usp-places a {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 8%, var(--bg));
    color: var(--accent);
    font-size: 0.875rem;
    text-decoration: none;
}
.usp-places a:hover,
.usp-places a:focus-visible {
    border-color: var(--accent);
}
.usp-copy-link {
    display: inline-flex;
    align-items: center;
    gap: 5.4px;
    background: color-mix(in srgb, var(--accent) 8%, var(--bg));
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 3.6px 10.8px 3.6px 7.2px;
    font: inherit;
    font-size: 0.7313rem;
    color: var(--accent);
    text-decoration: none;
    cursor: pointer;
    vertical-align: bottom;
}
.usp-copy-link::before {
    content: '';
    flex: none;
    width: 10.8px;
    height: 10.8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230057b8' viewBox='0 0 16 16'%3E%3Cpath d='M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4 4 0 0 1-.128-1.287z'/%3E%3Cpath d='M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
.usp-copy-link:hover {
    background: color-mix(in srgb, var(--accent) 14%, var(--bg));
}
.usp-copy-link[data-copied="true"] {
    background: color-mix(in srgb, var(--muted) 10%, var(--bg));
    color: var(--muted);
    cursor: default;
}
.usp-copy-link[data-copied="true"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' viewBox='0 0 16 16'%3E%3Cpath d='M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4 4 0 0 1-.128-1.287z'/%3E%3Cpath d='M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243z'/%3E%3C/svg%3E");
}

aside.usp-practical-info {
    background: #f0f5ff;
    border-left: 3px solid var(--accent);
    border-radius: var(--radius);
    padding: 24px 28px;
    margin-bottom: 24px;
}
.usp-practical-info dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 40px;
}
.usp-practical-info dl > div { display: flex; flex-direction: column; gap: 3px; }
.usp-practical-info dt {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.usp-practical-info dd {
    font-size: 0.9375rem;
    color: var(--text);
    line-height: 1.5;
}
.usp-practical-info a { color: var(--accent); text-decoration: none; }
.usp-practical-info dt a { color: var(--accent); font-weight: 600; }
.usp-practical-info a:hover { text-decoration: underline; }
.usp-practical-info a[target="_blank"]::after,
.usp-airline-header__fields a[target="_blank"]::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 5px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230057b8' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

a.map-link {
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-left: 4px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230057b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    text-decoration: none;
    flex-shrink: 0;
}
.usp-practical-info a.map-link::after,
.usp-airline-header__fields a.map-link::after { display: none; }

/* Product card: 2-col layout with Book Now CTA */
.usp-practical-info--product {
    display: flex;
    align-items: flex-start;
    gap: 32px;
}
.usp-practical-info__body { flex: 1; min-width: 0; }
.usp-practical-info__cta {
    flex-shrink: 0;
    padding-top: 4px;
}
.usp-book-btn {
    display: inline-block;
    background: var(--accent);
    color: #fff;
    padding: 13px 28px;
    border-radius: var(--radius);
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
    white-space: nowrap;
    transition: opacity 0.15s;
    text-align: center;
}
.usp-book-btn:hover { opacity: 0.88; }
.usp-practical-info .usp-book-btn { color: #fff; }
.usp-practical-info .usp-book-btn::after { display: none; }

/* Ticket box */
.usp-ticket-box {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    background: #fff;
    border-top: 4px solid var(--accent);
    border-bottom: 4px solid var(--accent);
    border-radius: var(--radius);
    padding: 24px 28px;
    margin-bottom: 48px;
}
.usp-ticket-box__prices { flex: 1; min-width: 0; }
.usp-ticket-box__prices dl { display: flex; flex-direction: column; gap: 10px; }
.usp-ticket-box__prices dl > div { display: flex; flex-direction: column; gap: 3px; }
.usp-ticket-box__prices dt {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--accent);
}
.usp-ticket-box__prices dd { font-size: 0.9375rem; color: var(--text); }
.usp-ticket-box__cta { flex-shrink: 0; padding-top: 4px; }

/* Airline profile header (boarding-pass motif) */
.usp-airline-header {
    border-bottom: none;
    padding-bottom: 0;
}
.usp-airline-header__ticket {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}
.usp-airline-header__main {
    flex: 1;
    min-width: 0;
    padding: 28px 32px;
}
.usp-airline-header__fields {
    margin-top: 20px;
}
.usp-airline-header__fields dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 40px;
}
.usp-airline-header__fields dl > div { display: flex; flex-direction: column; gap: 3px; }
.usp-airline-header__fields dt {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.usp-airline-header__fields dd {
    font-size: 0.9375rem;
    color: var(--text);
    line-height: 1.5;
}
.usp-airline-header__fields a { color: var(--accent); text-decoration: none; }
.usp-airline-header__fields a:hover { text-decoration: underline; }

/* Vertical perforation with torn-edge notches, desktop */
.usp-airline-header__perforation {
    flex-shrink: 0;
    width: 1px;
    position: relative;
    background-image: repeating-linear-gradient(to bottom, var(--border) 0 6px, transparent 6px 14px);
}
.usp-airline-header__perforation::before,
.usp-airline-header__perforation::after {
    content: '';
    position: absolute;
    left: 50%;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--bg);
    border: 1px solid var(--border);
    transform: translate(-50%, -50%);
}
.usp-airline-header__perforation::before { top: 0; }
.usp-airline-header__perforation::after { top: 100%; }

.usp-airline-header__stub {
    flex-shrink: 0;
    width: 130px;
    padding: 28px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: color-mix(in srgb, var(--accent) 6%, var(--bg));
}
.usp-airline-header__code {
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--accent);
}
.usp-airline-header__barcode {
    display: block;
    width: 100%;
    height: 34px;
    background-image: repeating-linear-gradient(
        to right,
        var(--text) 0px, var(--text) 2px,
        transparent 2px, transparent 4px,
        var(--text) 4px, var(--text) 5px,
        transparent 5px, transparent 9px,
        var(--text) 9px, var(--text) 12px,
        transparent 12px, transparent 14px,
        var(--text) 14px, var(--text) 15px,
        transparent 15px, transparent 20px
    );
    opacity: 0.5;
}

/* Flight duration chart */
.usp-duration-chart {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 32px 0 48px;
}
.usp-duration-chart__title {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--muted);
    margin-bottom: 6px;
}
.usp-duration-chart__row {
    display: grid;
    grid-template-columns: 112px 1fr 68px;
    align-items: center;
    gap: 12px;
}
.usp-duration-chart__city {
    font-size: 0.875rem;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.usp-duration-chart__city a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}
.usp-duration-chart__city a:hover { text-decoration: underline; }
.usp-duration-chart__city a::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 3px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230057b8' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
.usp-duration-chart__track {
    display: block;
    height: 12px;
    background: var(--border);
    border-radius: 6px;
}
.usp-duration-chart__bar {
    display: block;
    height: 100%;
    min-width: 6px;
    background: var(--accent);
    border-radius: 0 6px 6px 0;
}
.usp-duration-chart__value {
    font-size: 0.8125rem;
    color: var(--muted);
    text-align: right;
    white-space: nowrap;
}
@media (max-width: 600px) {
    .usp-duration-chart__row { grid-template-columns: 84px 1fr 60px; gap: 8px; }
    .usp-duration-chart__city { font-size: 0.8125rem; }
}

/* Cabin class boarding stubs */
.usp-cabin-classes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 20px 0 28px;
}
.usp-cabin-classes__stub {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}
.usp-cabin-classes__top {
    padding: 20px 16px 16px;
    text-align: center;
}
.usp-cabin-classes__code {
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
    color: var(--accent);
}
.usp-cabin-classes__name {
    display: block;
    margin-top: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--muted);
}
/* Tier-intensity escalation: Economy < Business < First */
.usp-cabin-classes__stub--economy .usp-cabin-classes__top {
    background: color-mix(in srgb, var(--accent) 6%, var(--bg));
}
.usp-cabin-classes__stub--business .usp-cabin-classes__top {
    background: color-mix(in srgb, var(--accent) 16%, var(--bg));
}
.usp-cabin-classes__stub--first .usp-cabin-classes__top {
    background: var(--accent);
}
.usp-cabin-classes__stub--first .usp-cabin-classes__code,
.usp-cabin-classes__stub--first .usp-cabin-classes__name {
    color: #fff;
}
.usp-cabin-classes__stub--first .usp-cabin-classes__name { opacity: 0.85; }
.usp-cabin-classes__perforation {
    position: relative;
    height: 1px;
    margin: 0 16px;
    background-image: repeating-linear-gradient(to right, var(--border) 0 6px, transparent 6px 12px);
}
.usp-cabin-classes__perforation::before,
.usp-cabin-classes__perforation::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--bg);
    border: 1px solid var(--border);
    transform: translate(-50%, -50%);
}
.usp-cabin-classes__perforation::before { left: 0; }
.usp-cabin-classes__perforation::after { left: 100%; }
.usp-intro .usp-cabin-classes__details,
.usp-section-content .usp-cabin-classes__details {
    list-style: none;
    margin: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.usp-intro .usp-cabin-classes__details li,
.usp-section-content .usp-cabin-classes__details li {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 8px;
    align-items: baseline;
    padding-left: 0;
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.45;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.usp-intro .usp-cabin-classes__label,
.usp-section-content .usp-cabin-classes__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
    white-space: nowrap;
}
@media (max-width: 700px) {
    .usp-intro .usp-cabin-classes__details li,
    .usp-section-content .usp-cabin-classes__details li { grid-template-columns: 58px 1fr; white-space: normal; overflow: visible; text-overflow: clip; }
}
@media (max-width: 700px) {
    .usp-cabin-classes { grid-template-columns: 1fr; }
}

/* Membership stripe card (GarudaMiles Blue/Silver/Gold/Platinum) */
.usp-membership-card {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    margin: 20px 0 28px;
}
.usp-membership-card__tier {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 16px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
}
.usp-membership-card__tier:last-child { border-bottom: none; }
.usp-membership-card__name-group { display: flex; flex-direction: column; gap: 3px; }
.usp-membership-card__name {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--accent);
}
.usp-membership-card__track {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--muted);
}
.usp-membership-card__benefit {
    font-size: 0.875rem;
    color: var(--text);
    line-height: 1.5;
}
.usp-membership-card__tier--blue { background: color-mix(in srgb, var(--accent) 6%, var(--bg)); }
.usp-membership-card__tier--silver { background: color-mix(in srgb, var(--accent) 12%, var(--bg)); }
.usp-membership-card__tier--gold { background: color-mix(in srgb, var(--accent) 22%, var(--bg)); }
.usp-membership-card__tier--platinum { background: var(--accent); }
.usp-membership-card__tier--platinum .usp-membership-card__name,
.usp-membership-card__tier--platinum .usp-membership-card__benefit { color: #fff; }
@media (max-width: 600px) {
    .usp-membership-card__tier { grid-template-columns: 1fr; gap: 4px; padding: 14px 16px; }
}

/* Partner/loyalty highlight note (stamp motif) */
.usp-partner-note {
    border: 1px solid var(--border);
    border-top-right-radius: 22px;
    border-top-left-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    padding: 20px 24px 24px;
    margin-bottom: 48px;
}
.usp-partner-note__label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--accent);
    margin-bottom: 12px;
}
.usp-partner-note__badge {
    display: inline-block;
    position: relative;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    border: 2px solid var(--accent);
    border-radius: 50%;
    background: var(--bg);
}
.usp-partner-note__badge::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--accent);
}
.usp-partner-note__body p {
    font-size: 0.9375rem;
    color: var(--text);
    line-height: 1.6;
    margin-bottom: 8px;
}
.usp-partner-note__body p:last-child { margin-bottom: 0; }
.usp-partner-note__body a { color: var(--accent); text-decoration: none; }
.usp-partner-note__body a:hover { text-decoration: underline; }

/* Position-based tier escalation (top tier) */
.usp-cabin-classes__top.is-top .usp-cabin-classes__code,
.usp-cabin-classes__top.is-top .usp-cabin-classes__name { color: #fff; }
.usp-cabin-classes__top.is-top .usp-cabin-classes__name { opacity: 0.85; }
.usp-membership-card__tier.is-top .usp-membership-card__name,
.usp-membership-card__tier.is-top .usp-membership-card__benefit { color: #fff; }
.usp-membership-card__tier.is-top .usp-membership-card__track { color: rgba(255,255,255,0.75); }

/* Fleet list */
.usp-fleet {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    margin: 20px 0 28px;
}
.usp-fleet__row {
    display: grid;
    grid-template-columns: 1.3fr 1.3fr 1fr;
    gap: 16px;
    align-items: baseline;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
}
.usp-fleet__row:last-child { border-bottom: none; }
.usp-fleet__craft { font-weight: 700; font-size: 0.9375rem; color: var(--text); }
.usp-fleet__role { font-size: 0.875rem; color: var(--text); }
.usp-fleet__note { font-size: 0.8125rem; color: var(--muted); }
@media (max-width: 600px) {
    .usp-fleet__row { grid-template-columns: 1fr; gap: 3px; padding: 14px 16px; }
}

/* Reusable at-a-glance facts strip (baggage, check-in, fares) */
.usp-facts-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    background: var(--border);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    margin: 16px 0 20px;
}
.usp-facts-strip__cell {
    padding: 16px 18px;
    background: var(--bg);
}
.usp-facts-strip__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 6px;
}
.usp-facts-strip__value {
    display: block;
    font-size: 0.875rem;
    color: var(--text);
    line-height: 1.5;
}
.usp-facts-strip__value a { color: var(--accent); text-decoration: none; }
.usp-facts-strip__value a:hover { text-decoration: underline; }

/* Fare comparison table */
.usp-table-scroll { overflow-x: auto; margin: 16px 0 20px; }
.usp-fare-table { min-width: 480px; margin: 0; }
.usp-intro .usp-fare-table thead th:last-child { background: var(--accent); color: #fff; }
.usp-intro .usp-fare-table tbody td:last-child { background: color-mix(in srgb, var(--accent) 6%, var(--bg)); }
.usp-intro .usp-fare-table thead th:first-child { background: transparent; }

/* Check-in countdown timeline */
.usp-timeline { margin: 16px 0 20px; }
.usp-timeline__track {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.usp-timeline__track::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 7px;
    right: 7px;
    height: 2px;
    background: var(--border);
}
.usp-timeline__stop {
    flex: 1;
    position: relative;
    padding: 22px 8px 0;
    text-align: center;
}
.usp-timeline__stop::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--bg);
    border: 3px solid var(--accent);
    z-index: 1;
}
.usp-timeline__stop:last-child::before { background: var(--accent); }
.usp-timeline__time { display: block; font-size: 0.9375rem; font-weight: 700; color: var(--accent); }
.usp-timeline__label { display: block; margin-top: 2px; font-size: 0.75rem; color: var(--muted); line-height: 1.35; }
.usp-timeline__caption { margin: 14px 0 0; font-size: 0.8125rem; color: var(--muted); }
@media (max-width: 600px) {
    .usp-timeline__track { flex-direction: column; }
    .usp-timeline__track::before { top: 7px; bottom: 7px; left: 7px; right: auto; width: 2px; height: auto; }
    .usp-timeline__stop { flex: none; text-align: left; padding: 0 0 18px 26px; }
    .usp-timeline__stop:last-child { padding-bottom: 0; }
    .usp-timeline__stop::before { top: 2px; left: 7px; }
    .usp-timeline__time { display: inline; }
    .usp-timeline__label { display: inline; margin-left: 8px; }
}

/* Baggage carry-on vs checked split */
.usp-baggage-split { margin: 16px 0 20px; }
.usp-baggage-split__panels { display: grid; grid-template-columns: 1fr 1.15fr; gap: 14px; }
.usp-baggage-split__panel {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
}
.usp-baggage-split__panel--checked { background: color-mix(in srgb, var(--accent) 5%, var(--bg)); }
.usp-baggage-split__icon {
    display: block;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230057b8' stroke-width='1.3'%3E%3Crect x='2.5' y='5' width='11' height='8.5' rx='1.2'/%3E%3Cpath d='M6 5V3.6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1V5'/%3E%3C/svg%3E");
}
.usp-baggage-split__panel--carry .usp-baggage-split__icon { width: 22px; height: 22px; }
.usp-baggage-split__panel--checked .usp-baggage-split__icon { width: 30px; height: 30px; }
.usp-baggage-split__label { margin-top: 10px; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); }
.usp-baggage-split__value { margin-top: 4px; font-size: 0.875rem; color: var(--text); line-height: 1.5; }
.usp-baggage-split__footer { margin: 12px 0 0; font-size: 0.8125rem; color: var(--muted); }
.usp-baggage-split__footer a { color: var(--accent); text-decoration: none; }
.usp-baggage-split__footer a:hover { text-decoration: underline; }
@media (max-width: 600px) { .usp-baggage-split__panels { grid-template-columns: 1fr; } }

/* Verified stamp: freshness marker for exact, volatility-checked figures */
.usp-intro .usp-verified { display: inline-flex; align-items: center; gap: 8px; margin: 16px 0 0; font-size: 0.8125rem; font-weight: 500; color: var(--muted); }
.usp-verified__badge { flex: none; width: 17px; height: 17px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 14%, var(--bg)); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230057b8' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 11px 11px; }

/* FAQ: open Q&A list, "Q" badge, indented answer */
.usp-faq { margin-top: 12px; }
.usp-faq__item { padding: 20px 0; }
.usp-faq__item + .usp-faq__item { border-top: 1px solid var(--border); }
.usp-intro .usp-faq__q,
.usp-section-content .usp-faq__q {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    border-left: none;
    padding-left: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--text);
}
.usp-faq__q-badge {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
}
.usp-faq__a {
    margin-top: 8px;
    padding-left: 36px;
    color: var(--text);
    line-height: 1.6;
}
.usp-faq__a p { margin: 0 0 8px; }
.usp-faq__a p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
    .usp-faq__a { padding-left: 0; }
}

.usp-airline .usp-section {
    border-top: none;
    background-image: repeating-linear-gradient(to right, var(--accent) 0 6px, transparent 6px 14px);
    background-position: top;
    background-size: 100% 1px;
    background-repeat: no-repeat;
}

@media (max-width: 600px) {
    .usp-airline-header__ticket { flex-direction: column; }
    .usp-airline-header__main { padding: 24px; }
    .usp-airline-header__perforation {
        width: auto;
        height: 1px;
        background-image: repeating-linear-gradient(to right, var(--border) 0 6px, transparent 6px 14px);
    }
    .usp-airline-header__perforation::before,
    .usp-airline-header__perforation::after {
        top: 50%;
        left: 0;
        transform: translate(-50%, -50%);
    }
    .usp-airline-header__perforation::after { left: 100%; }
    .usp-airline-header__stub {
        width: auto;
        flex-direction: row;
        justify-content: space-between;
        padding: 16px 24px;
    }
    .usp-airline-header__barcode { width: 55%; height: 26px; }
    .usp-airline-header__fields dl { grid-template-columns: 1fr; }
}

/* Safety info box */
aside.usp-safety-info {
    background: #fff5f5;
    border-left: 3px solid #c0392b;
    border-radius: var(--radius);
    padding: 24px 28px;
    margin-bottom: 48px;
}
.usp-safety-info dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 40px;
}
.usp-safety-info dl > div { display: flex; flex-direction: column; gap: 3px; }
.usp-safety-info dt {
    font-size: 0.75rem;
    font-weight: 600;
    color: #c0392b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.usp-safety-info dd {
    font-size: 0.9375rem;
    color: var(--text);
    line-height: 1.5;
}
.usp-safety-info h2 {
    font-size: 1rem;
    font-weight: 700;
    color: #c0392b;
    margin: 0 0 16px;
    letter-spacing: 0.01em;
}

/* USP Content */
.usp-intro { margin-bottom: 48px; }

.usp-intro p,
.usp-section-content p { margin-bottom: 16px; }

.usp-intro h2,
.usp-section-content h2 {
    font-size: 1.1875rem;
    font-weight: 700;
    margin: 40px 0 10px;
    color: var(--text);
    letter-spacing: -0.2px;
    border-left: 4px solid var(--accent);
    padding-left: 12px;
}

.usp-intro h2:first-child,
.usp-section-content h2:first-child { margin-top: 0; }

.usp-intro h3,
.usp-section-content h3 {
    font-size: 1rem;
    font-weight: 700;
    margin: 32px 0 4px;
    color: var(--text);
    border-left: 3px solid var(--accent);
    padding-left: 10px;
}

a.map-pin {
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: 0 1px 0 3px;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230057b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a5 5 0 0 0-5 5c0 4 5 11 5 11s5-7 5-11a5 5 0 0 0-5-5zm0 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.65;
    transition: opacity 0.15s;
}

a.map-pin:hover { opacity: 1; }

.usp-section-content strong { font-weight: 600; }

.usp-intro ul,
.usp-section-content ul {
    list-style: disc;
    margin: 12px 0 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.usp-intro ol,
.usp-section-content ol {
    list-style: decimal;
    margin: 12px 0 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.usp-intro li,
.usp-section-content li { padding-left: 4px; }

/* Dated section separator: evolving news stories (newest block first) */
.usp-intro .usp-datesep {
    background: var(--datesep-bg);
    border-radius: var(--radius);
    padding: 10px 16px;
    margin: 40px 0 28px;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.usp-intro .usp-datesep:first-child { margin-top: 0; }
.usp-intro .usp-datesep--latest { color: var(--datesep-latest); }
.usp-intro .usp-datesep--origin { color: var(--datesep-origin); }

/* USP Sections */
.usp-section {
    margin-bottom: 56px;
    padding-top: 40px;
    border-top: 1px solid var(--border);
}
.usp-section-content { margin-bottom: 24px; }

/* Content tables */
.usp-intro table,
.usp-section-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    margin: 20px 0 28px;
}
.usp-intro th,
.usp-section-content th {
    background: #f0f5ff;
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 10px 14px;
    text-align: left;
    border-bottom: 2px solid var(--border);
}
.usp-intro td,
.usp-section-content td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
    line-height: 1.5;
}
.usp-intro tr:last-child td,
.usp-section-content tr:last-child td { border-bottom: none; }
.usp-intro tbody tr:hover td,
.usp-section-content tbody tr:hover td { background: #f9fafb; }
.usp-intro td:first-child,
.usp-section-content td:first-child { font-weight: 600; color: var(--text); }

@media (max-width: 600px) {
    .usp-intro table,
    .usp-section-content table { font-size: 0.875rem; }
    .usp-intro th,
    .usp-section-content th,
    .usp-intro td,
    .usp-section-content td { padding: 8px 10px; }
}

/* Disclaimer */
.usp-disclaimer {
    margin-top: 48px;
    padding: 12px 16px;
    background: #fef9c3;
    border: 1px solid #fde68a;
    border-radius: var(--radius);
    font-size: 0.85rem;
    color: #713f12;
}

/* Tips cross-sell cards */
.usp-crosssell {
    display: flex;
    gap: 12px;
}
.usp-crosssell-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    text-decoration: none;
    transition: border-color 0.15s;
}
.usp-crosssell-cat {
    font-weight: 600;
    font-size: 0.9375rem;
}
.usp-crosssell-cat::after {
    content: ' →';
    font-weight: 400;
}
.usp-crosssell-loc {
    font-size: 0.8125rem;
    color: var(--muted);
}
.usp-crosssell-card--flight { background: #f0f5ff; }
.usp-crosssell-card--flight:hover { border-color: var(--card-flight); }
.usp-crosssell-card--flight .usp-crosssell-cat { color: var(--card-flight); }

.usp-crosssell-card--hotel { background: #fffbeb; }
.usp-crosssell-card--hotel:hover { border-color: var(--card-hotel); }
.usp-crosssell-card--hotel .usp-crosssell-cat { color: var(--card-hotel); }

.usp-crosssell-card--activities { background: #f0fdf4; }
.usp-crosssell-card--activities:hover { border-color: var(--card-activities); }
.usp-crosssell-card--activities .usp-crosssell-cat { color: var(--card-activities); }

.usp-crosssell-card:only-child { max-width: 33.333%; }

@media (max-width: 600px) {
    .usp-crosssell { flex-direction: column; }
    .usp-crosssell-card:only-child { max-width: 100%; }
}

/* Related posts */
.usp-related {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--border);
}
.usp-related__heading {
    font-size: 1rem;
    font-weight: 600;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 16px;
}
.usp-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.usp-related__card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    text-decoration: none;
    color: var(--text);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.usp-related__card:hover {
    border-color: var(--accent);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.usp-related__cat {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--accent);
}
.usp-related__title {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
}
@media (max-width: 640px) {
    .usp-related__grid { grid-template-columns: 1fr; }
}

/* Footer */
.site-footer {
    border-top: 1px solid var(--border);
    padding: 24px 0;
    margin-top: 40px;
}
.site-footer .container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
    font-size: 0.875rem;
    color: var(--muted);
}
.site-footer a { color: var(--muted); text-decoration: none; }
.site-footer a:hover { color: var(--accent); text-decoration: underline; }
.site-footer nav ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; justify-content: center; gap: 16px; }

/* Page content (Privacy Policy, Disclaimer, etc.) */
.page-content {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 48px 24px 80px;
    font-size: 17px;
    line-height: 1.8;
    color: var(--text);
}
.page-content h1 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.4px;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}
.page-content h2 {
    font-size: 1.1875rem;
    font-weight: 700;
    margin: 36px 0 10px;
    color: var(--text);
}
.page-content p { margin-bottom: 16px; }
.page-content a { color: var(--accent); }
.page-content a:hover { text-decoration: underline; }

/* Archive header */
.archive-header {
    margin-bottom: 28px;
    padding-bottom: 20px;
}
.archive-header h1 {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.3px;
}
.archive-header p {
    font-size: 0.9375rem;
    color: var(--muted);
    margin-top: 4px;
}

/* Tips archive */
.tips-group {
    margin-bottom: 40px;
}
.tips-group-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--muted);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 0;
}
.tips-list {
    list-style: none;
}
.tips-item {
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
}
.tips-item-title {
    color: var(--accent);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}
.tips-item-title:hover {
    text-decoration: underline;
}
.tips-item-blurb {
    font-size: 0.875rem;
    color: var(--muted);
    margin-top: 4px;
    line-height: 1.5;
}
.tips-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}
.tips-pagination a,
.tips-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: var(--radius);
    font-size: 0.875rem;
    text-decoration: none;
    color: var(--accent);
}
.tips-pagination .current {
    background: var(--accent);
    color: #fff;
    font-weight: 600;
}
.tips-pagination a:hover {
    background: var(--border);
}

/* Homepage */
.hp-hero {
    padding: 32px 0 17px;
    margin-bottom: 17px;
}
.hp-hero h1 {
    font-size: clamp(1.875rem, 4vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 1.15;
    max-width: 22ch;
    margin-bottom: 14px;
}
.hp-hero p {
    font-size: 1.0625rem;
    color: var(--muted);
    max-width: 56ch;
}
.hp-section-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--muted);
    margin-bottom: 14px;
}

.hp-accent { color: var(--accent); }

.hp-featured {
    padding-bottom: 48px;
}
.hp-featured + .hp-featured {
    border-top: 2px solid var(--accent);
    padding-top: 48px;
}
.hp-featured + .hp-latest-section {
    padding-top: 48px;
}
.hp-featured-title {
    font-size: clamp(1.5rem, 3vw, 2.125rem);
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 1.2;
    margin-bottom: 14px;
}
.hp-featured-title a { color: var(--accent); text-decoration: none; }
.hp-featured-title a:hover { text-decoration: underline; }
.hp-featured-blurb {
    color: var(--muted);
    font-size: 1.0625rem;
    line-height: 1.65;
    margin-bottom: 24px;
}
.hp-featured-links {
    list-style: disc;
    padding-left: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: row;
    column-gap: 24px;
}
.hp-featured-links li {
    border-bottom: 1px solid var(--border);
}
.hp-featured-links li::marker {
    color: var(--muted);
}
.hp-featured-links a {
    display: block;
    padding: 12px 0;
    color: var(--accent);
    text-decoration: none;
    font-size: 0.9375rem;
}
.hp-featured-links a:hover {
    text-decoration: underline;
}

.hp-spotlight-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0;
    margin-top: 32px;
    padding-top: 48px;
    border-top: 2px solid var(--accent);
}
.hp-spotlight-item {
    display: flex;
    flex-direction: column;
    padding: 0 48px;
    height: 100%;
}
.hp-spotlight-item:first-child { padding-left: 0; }
.hp-spotlight-item + .hp-spotlight-item { border-left: 1px solid var(--border); }
.hp-spotlight-title {
    font-size: 1.1875rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 10px;
}
.hp-spotlight-title a { color: var(--accent); text-decoration: none; }
.hp-spotlight-title a:hover { text-decoration: underline; }
.hp-spotlight-blurb {
    color: var(--muted);
    font-size: 0.9375rem;
    line-height: 1.6;
    min-height: 4.5rem;
    margin-bottom: 16px;
}
.hp-secondary-blurb { min-height: 0; }
.hp-spotlight-links {
    list-style: disc;
    padding-left: 20px;
    border-top: 1px solid var(--border);
    padding-top: 4px;
}
.hp-spotlight-links li::marker { color: var(--muted); }
.hp-spotlight-links li { border-bottom: 1px solid var(--border); }
.hp-spotlight-links a {
    display: block;
    padding: 9px 0;
    color: var(--accent);
    text-decoration: none;
    font-size: 0.9375rem;
}
.hp-spotlight-links a:hover { text-decoration: underline; }

.hp-latest-section {
    padding-top: 48px;
}
.hp-latest {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    list-style: none;
    border-top: 1px solid var(--border);
}
.hp-latest li {
    padding: 16px 24px 16px 0;
    border-bottom: 1px solid var(--border);
}
.hp-latest-link {
    color: var(--accent);
    text-decoration: none;
    font-size: 0.9375rem;
    line-height: 1.4;
}
.hp-latest-link:hover {
    text-decoration: underline;
}



/* Tables */
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    margin: 32px 0;
}
.entry-content th {
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--accent);
    border-bottom: 2px solid var(--accent);
    padding: 8px 12px;
}
.entry-content td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    vertical-align: top;
}
.entry-content tr:last-child td {
    border-bottom: none;
}
.entry-content tbody tr:hover td {
    background: #f5f9ff;
}

/* Responsive */
@media (max-width: 600px) {
    .usp-practical-info dl { grid-template-columns: 1fr; }
    .usp-practical-info--product { flex-direction: column; }
    .usp-ticket-box { flex-direction: column; }
    .usp-book-btn { width: 100%; text-align: center; box-sizing: border-box; }
    .hp-hero { padding: 40px 0 36px; margin-bottom: 40px; }
    .hp-featured { padding-bottom: 40px; }
    .hp-featured + .hp-featured, .hp-featured + .hp-latest-section { padding-top: 40px; }
    .hp-spotlight-grid { margin-top: 24px; padding-top: 40px; }

    .hp-latest { grid-template-columns: 1fr; }
    .hp-featured-links { grid-template-columns: 1fr; }
    .hp-spotlight-item { padding: 0; }
    .hp-spotlight-item + .hp-spotlight-item { border-left: none; margin-top: 40px; }
    .entry-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
