/* Typography calibration against the live viagogo desktop page and supplied reference. */
html,
body,
button,
input,
select,
textarea {
    font-family: Inter, Arial, "Microsoft YaHei", "PingFang SC", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body {
    font-size: 14px;
    color: #111;
    font-weight: 400;
}

.marketplace-disclaimer {
    font-size: 12px;
    line-height: 32px;
    font-weight: 400;
    letter-spacing: 0;
}

.vg-brand {
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -1.4px;
}

.vg-primary-nav a,
.vg-header-actions > a {
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
}

.vg-main-search input {
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
}

.vg-section-title {
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
    letter-spacing: -0.25px;
}

.vg-card-copy h2 {
    font-size: 18px;
    line-height: 22px;
    font-weight: 700;
    letter-spacing: -0.1px;
}

.vg-card-copy p {
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
}

.vg-filter,
.vg-location-target {
    font-size: 13px;
    line-height: 17px;
    font-weight: 400;
}

.vg-spotify-mark {
    font-size: 14px;
    line-height: 18px;
    font-weight: 700;
}

.vg-spotify-banner p {
    font-size: 13px;
    line-height: 18px;
    font-weight: 400;
}

.vg-spotify-banner button {
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
}

/* Lower home sections. */
.vg-heading-row h2 {
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
    letter-spacing: -0.2px;
}

.vg-heading-row a {
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
}

.vg-mini-event strong {
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    letter-spacing: -0.1px;
    margin-bottom: 3px;
}

.vg-mini-event > span:not(.vg-mini-heart) {
    font-size: 14px;
    line-height: 18px;
    font-weight: 400;
    color: #4f565c;
}

.vg-mini-event > span:last-child {
    color: #111;
    font-weight: 700;
}

.vg-category-card span {
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
}

.vg-discovery-banner strong {
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
}

.vg-discovery-banner button {
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
}

/* Footer: keep a substantial white gap after the last event row, then use larger reference-like copy. */
.vg-footer {
    margin-top: 72px;
}

.vg-footer-shell {
    padding-top: 44px;
    padding-bottom: 30px;
}

.vg-footer-grid {
    align-items: start;
}

.vg-footer-grid h3 {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    color: #111;
}

.vg-footer-grid a {
    font-size: 14px;
    line-height: 29px;
    font-weight: 400;
    color: #222;
}

.vg-guarantee-logo {
    margin-bottom: 14px;
}

.vg-guarantee-logo strong {
    font-size: 15px;
    line-height: 20px;
    font-weight: 600;
}

.vg-guarantee li {
    font-size: 13px;
    line-height: 27px;
    color: #3f474d;
}

.vg-global-settings button {
    min-height: 48px;
    margin-bottom: 10px;
    padding-left: 14px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 400;
}

.vg-footer-bottom {
    margin-top: 34px;
    padding-top: 18px;
    font-size: 11px;
    line-height: 15px;
}

.vg-footer-bottom a {
    font-size: 11px;
    line-height: 15px;
}

@media (max-width: 820px) {
    .vg-primary-nav a,
    .vg-header-actions > a { font-size: 13px; }

    .vg-heading-row h2 {
        font-size: 21px;
        line-height: 27px;
    }

    .vg-mini-event strong {
        font-size: 15px;
        line-height: 19px;
    }

    .vg-mini-event > span:not(.vg-mini-heart) {
        font-size: 13px;
        line-height: 17px;
    }

    .vg-footer { margin-top: 52px; }
    .vg-footer-grid h3 { font-size: 15px; }
    .vg-footer-grid a { font-size: 13px; }
}