/* Article pages: "Which beIN SPORTS Channel Will Show Your Match?" */

:root {
    --wc-purple: #5c2e91;
    --wc-deep: #47256e;
    --wc-page: #ddddea;
    --wc-gap: #e1e0e8;
    --wc-lilac: #efedf6;
    --wc-rule: #d6cfe6;
    --wc-xtra: #a88ad6;
    --wc-ink: #241b33;
    --wc-white: #ffffff;
    --wc-pad: 48px;
    --wc-head: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
    --wc-body: "Source Serif 4", Georgia, "Times New Roman", serif;
    --wc-frame: "Times New Roman", Times, serif;
}

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

html {
    -webkit-text-size-adjust: 100%;
}

body.wc-page {
    margin: 0;
    background: var(--wc-page);
    color: var(--wc-ink);
    font-family: var(--wc-body);
    font-size: 18px;
    line-height: 1.6;
}

.wc-page img {
    max-width: 100%;
    height: auto;
    display: block;
}

.wc-page a:focus-visible {
    outline: 3px solid var(--wc-purple);
    outline-offset: 2px;
}

/* ---------- frame: same look as the other pages ---------- */

.wc-wrap {
    max-width: 980px;
    margin: 35px auto 0;
}

.wc-logobar {
    background: var(--wc-purple);
    padding: 2px 15px 2px 0;
}

.wc-logobar a {
    display: block;
    width: max-content;
}

.wc-nav {
    background: var(--wc-deep);
    font-family: var(--wc-frame);
}

.wc-nav ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wc-nav a {
    display: block;
    padding: 5px 15px;
    color: var(--wc-white);
    font-size: 16px;
    line-height: 32px;
    text-decoration: none;
}

.wc-nav a:hover {
    background: var(--wc-purple);
}

.wc-nav a:focus-visible {
    outline-color: var(--wc-white);
    outline-offset: -3px;
}

.wc-banner {
    background: var(--wc-gap);
    padding-top: 24px;
}

.wc-footer {
    padding: 10px 10px 34px;
    font-family: var(--wc-frame);
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
    color: #000;
}

/* ---------- article ---------- */

.wc-main {
    background: var(--wc-white);
}

.wc-main p {
    margin: 0;
}

.wc-main p + p,
.wc-main p + table,
.wc-main table + p {
    margin-top: 1em;
}

.wc-main h1,
.wc-main h2 {
    margin: 0;
    font-family: var(--wc-head);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: 0.005em;
    color: var(--wc-deep);
}

.wc-main h2 {
    font-size: 36px;
    margin-bottom: 18px;
}

.wc-main a {
    color: var(--wc-purple);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.wc-main a:hover {
    color: var(--wc-deep);
    text-decoration-thickness: 2px;
}

.wc-band {
    padding: 52px var(--wc-pad);
}

.wc-band--lilac {
    background: var(--wc-lilac);
}

/* intro */

.wc-intro {
    padding: 56px var(--wc-pad) 52px;
    border-top: 6px solid var(--wc-purple);
}

.wc-intro h1 {
    font-size: 60px;
    line-height: 1;
    margin-bottom: 24px;
}

.wc-intro p {
    font-size: 20px;
    line-height: 1.6;
}

/* match: heading set on the floodlit sky */

.wc-match__photo {
    position: relative;
    background: #0d0a14;
}

.wc-match__photo img {
    width: 100%;
    min-height: 260px;
    object-fit: cover;
    object-position: 30% 50%;
}

.wc-match__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20, 10, 36, 0.55) 0%, rgba(20, 10, 36, 0) 55%);
    pointer-events: none;
}

.wc-main .wc-match__photo h2 {
    position: absolute;
    z-index: 1;
    top: 40px;
    left: var(--wc-pad);
    right: var(--wc-pad);
    margin: 0;
    max-width: 640px;
    font-size: 44px;
    color: var(--wc-white);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

.wc-match__body {
    padding: 40px var(--wc-pad) 56px;
}

/* feeds table */

.wc-feedtable {
    width: 100%;
    border-collapse: collapse;
    background: var(--wc-white);
    font-size: 17px;
    line-height: 1.45;
}

.wc-feedtable thead th {
    background: var(--wc-deep);
    color: var(--wc-white);
    font-family: var(--wc-head);
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-align: left;
    padding: 12px 18px;
}

.wc-feedtable tbody th,
.wc-feedtable tbody td {
    padding: 16px 18px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--wc-rule);
}

.wc-feedtable tbody tr:last-child th,
.wc-feedtable tbody tr:last-child td {
    border-bottom: 0;
}

.wc-feedtable tbody th {
    width: 30%;
    font-family: var(--wc-head);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--wc-deep);
    border-left: 8px solid var(--wc-purple);
}

.wc-feedtable .wc-feed--xtra th {
    border-left-color: var(--wc-xtra);
}

.wc-feedtable .wc-feed--premium + .wc-feed--xtra th,
.wc-feedtable .wc-feed--premium + .wc-feed--xtra td {
    border-top: 3px solid var(--wc-deep);
}

/* lineup: card rides over the photo */

.wc-lineup__photo img {
    width: 100%;
    min-height: 260px;
    object-fit: cover;
    object-position: 35% 50%;
}

.wc-lineup__card {
    position: relative;
    margin: -56px 24px 0;
    padding: 36px 24px 0;
    background: var(--wc-white);
    border-top: 6px solid var(--wc-purple);
}

.wc-main .wc-callout {
    margin: 28px -24px 0;
    padding: 22px 24px 22px 18px;
    background: var(--wc-lilac);
    border-left: 6px solid var(--wc-purple);
}

/* faq: the same purple title bar as the home page */

.wc-main .wc-faq h2 {
    margin: 0;
    padding: 18px var(--wc-pad);
    background: var(--wc-deep);
    color: var(--wc-white);
    font-size: 34px;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.wc-faq__list {
    padding: 12px var(--wc-pad) 40px;
}

.wc-main .wc-faq__list p {
    margin: 0;
    padding: 26px 0;
    border-bottom: 1px solid var(--wc-rule);
}

.wc-main .wc-faq__list p:last-child {
    border-bottom: 0;
}

.wc-faq__list strong {
    display: block;
    margin-bottom: 6px;
    font-family: var(--wc-head);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--wc-purple);
}

/* closing band */

.wc-band--purple {
    background: var(--wc-purple);
    color: var(--wc-white);
    padding-top: 48px;
    padding-bottom: 52px;
}

.wc-main .wc-band--purple h2 {
    color: var(--wc-white);
}

.wc-band--purple p {
    font-size: 20px;
}

/* ---------- responsive ---------- */

@media (max-width: 1019px) {
    .wc-wrap {
        margin-top: 20px;
    }
}

@media (max-width: 760px) {
    :root {
        --wc-pad: 20px;
    }

    body.wc-page {
        font-size: 17px;
    }

    .wc-wrap {
        margin-top: 0;
    }

    .wc-banner {
        padding-top: 0;
    }

    .wc-intro {
        padding-top: 36px;
        padding-bottom: 36px;
    }

    .wc-intro h1 {
        font-size: 40px;
    }

    .wc-intro p,
    .wc-band--purple p {
        font-size: 18px;
    }

    .wc-main h2 {
        font-size: 30px;
    }

    .wc-main .wc-match__photo h2 {
        top: 24px;
        font-size: 32px;
    }

    .wc-match__body {
        padding-top: 28px;
        padding-bottom: 40px;
    }

    .wc-band {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .wc-lineup__card {
        margin: -36px 8px 0;
        padding: 26px 12px 0;
    }

    .wc-main .wc-callout {
        margin-left: -8px;
        margin-right: -8px;
        padding: 18px 8px 18px 10px;
    }

    .wc-main .wc-faq h2 {
        font-size: 28px;
    }

    .wc-faq__list strong {
        font-size: 22px;
    }

    /* table turns into stacked feed cards */
    .wc-feedtable,
    .wc-feedtable tbody,
    .wc-feedtable tr,
    .wc-feedtable th,
    .wc-feedtable td {
        display: block;
        width: 100%;
    }

    .wc-feedtable {
        background: transparent;
    }

    .wc-feedtable thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .wc-feedtable tbody tr {
        background: var(--wc-white);
        border-left: 8px solid var(--wc-purple);
    }

    .wc-feedtable tbody tr.wc-feed--xtra {
        border-left-color: var(--wc-xtra);
    }

    .wc-feedtable tbody tr + tr {
        margin-top: 12px;
    }

    .wc-feedtable tbody th,
    .wc-feedtable .wc-feed--xtra th {
        width: 100%;
        border-left: 0;
        border-bottom: 1px solid var(--wc-rule);
        padding: 14px 16px 12px;
    }

    .wc-feedtable tbody td {
        border-bottom: 0;
        padding: 10px 16px 0;
    }

    .wc-feedtable tbody td:last-child {
        padding-bottom: 16px;
    }

    .wc-feedtable tbody tr:last-child th {
        border-bottom: 1px solid var(--wc-rule);
    }

    .wc-feedtable .wc-feed--premium + .wc-feed--xtra th,
    .wc-feedtable .wc-feed--premium + .wc-feed--xtra td {
        border-top: 0;
    }

    .wc-feedtable td::before {
        content: attr(data-label);
        display: block;
        font-family: var(--wc-head);
        font-size: 15px;
        font-weight: 600;
        letter-spacing: 0.02em;
        color: #6b5a86;
    }
}
