﻿/* FIFA_UEFA_HUB_R1 */

html,
body {
    margin: 0;
    min-height: 100%;
    overflow-x: hidden;
    background: #020914;
}

.uefa-hub {
    --uefa-bg: #020914;
    --uefa-panel: #071525;
    --uefa-panel-2: #0a1d31;
    --uefa-line: rgba(77, 178, 255, .22);
    --uefa-blue: #28a7ff;
    --uefa-cyan: #65d9ff;
    --uefa-lime: #80f45d;
    --uefa-text: #f5f9ff;
    --uefa-muted: #8fa9c2;

    width: 100%;
    color: var(--uefa-text);
    background:
        radial-gradient(circle at 75% 0%, rgba(16, 117, 210, .12), transparent 28%),
        linear-gradient(180deg, #020914 0%, #04101d 55%, #020914 100%);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

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

.uefa-hero {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border-bottom: 1px solid var(--uefa-line);
}

.uefa-hero__bg,
.uefa-hero__shade {
    position: absolute;
    inset: 0;
}

.uefa-hero__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
    filter: brightness(.52) saturate(.92) contrast(1.08);
}

.uefa-hero__shade {
    background:
        linear-gradient(90deg, rgba(1, 7, 15, .97), rgba(1, 8, 18, .82) 42%, rgba(2, 12, 26, .42) 70%, rgba(2, 10, 21, .72)),
        linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, .46));
}

.uefa-hero__inner {
    position: relative;
    z-index: 2;
    width: min(94%, 1800px);
    min-height: 360px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 40px;
}

.uefa-breadcrumb {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-bottom: 16px;
    color: #7796b5;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.uefa-breadcrumb b {
    color: var(--uefa-cyan);
}

.uefa-kicker,
.uefa-section-head p,
.uefa-stats header p,
.uefa-editorial p {
    margin: 0;
    color: var(--uefa-cyan);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .18em;
}

.uefa-hero h1 {
    margin: 8px 0 0;
    font-size: clamp(34px, 3vw, 54px);
    line-height: .94;
    letter-spacing: -.03em;
}

.uefa-hero h1 em {
    display: block;
    margin-top: 6px;
    font-style: normal;
    background: linear-gradient(90deg, #28a7ff, #65d9ff 55%, #88f766);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.uefa-lead {
    max-width: 690px;
    margin: 18px 0 0;
    color: #b5c7d8;
    font-size: 13px;
    line-height: 1.65;
}

.uefa-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.uefa-action {
    min-height: 40px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(74, 176, 246, .42);
    border-radius: 7px;
    background: rgba(5, 21, 38, .74);
    color: #edf7ff;
    text-decoration: none;
    font-size: 10px;
    font-weight: 850;
}

.uefa-action--primary {
    border-color: #26a6ff;
    background: linear-gradient(135deg, #0879ed, #1db5ff);
    box-shadow: 0 10px 28px rgba(0, 115, 255, .22);
}

.uefa-hero__visual {
    position: relative;
    min-height: 285px;
    display: grid;
    place-items: center;
}

.uefa-orbit {
    position: absolute;
    border: 1px solid rgba(73, 195, 255, .23);
    border-radius: 50%;
}

.uefa-orbit--one {
    width: 275px;
    height: 275px;
}

.uefa-orbit--two {
    width: 205px;
    height: 205px;
    border-color: rgba(132, 245, 103, .18);
}

.uefa-continent-mark {
    position: relative;
    z-index: 2;
    width: 145px;
    height: 145px;
    display: grid;
    place-content: center;
    gap: 5px;
    border: 1px solid rgba(81, 204, 255, .6);
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 35%, rgba(44, 179, 255, .22), transparent 48%),
        #061423;
    box-shadow:
        0 0 34px rgba(31, 169, 255, .22),
        inset 0 0 24px rgba(31, 169, 255, .08);
    text-align: center;
}

.uefa-continent-mark span {
    color: #8eabc6;
    font-size: 9px;
    letter-spacing: .18em;
}

.uefa-continent-mark strong {
    font-size: 28px;
    letter-spacing: .04em;
}

.uefa-visual-card {
    position: absolute;
    right: 2%;
    top: 36px;
    min-width: 145px;
    padding: 12px 14px;
    border: 1px solid rgba(77, 182, 248, .3);
    border-radius: 7px;
    background: rgba(4, 17, 32, .72);
    backdrop-filter: blur(9px);
}

.uefa-visual-card--alt {
    top: auto;
    right: auto;
    left: 2%;
    bottom: 32px;
}

.uefa-visual-card small {
    display: block;
    color: #7896b1;
    font-size: 7px;
    letter-spacing: .16em;
}

.uefa-visual-card strong {
    display: block;
    margin-top: 5px;
    font-size: 11px;
}

.uefa-stats,
.uefa-federations,
.uefa-editorial,
.uefa-footer,
.uefa-legal {
    width: min(95%, 1800px);
    margin-left: auto;
    margin-right: auto;
}

.uefa-stats {
    padding: 24px 0 0;
}

.uefa-stats header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.uefa-stats h2,
.uefa-section-head h2,
.uefa-editorial h2 {
    margin: 4px 0 0;
    font-size: 20px;
}

.uefa-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.uefa-stats__grid article {
    min-height: 84px;
    padding: 16px;
    border: 1px solid var(--uefa-line);
    border-radius: 7px;
    background: linear-gradient(145deg, rgba(8, 29, 50, .92), rgba(4, 17, 31, .92));
}

.uefa-stats__grid strong {
    display: block;
    color: #f7fbff;
    font-size: 22px;
}

.uefa-stats__grid span {
    display: block;
    margin-top: 5px;
    color: #7f9ab5;
    font-size: 9px;
    font-weight: 750;
}

.uefa-federations {
    padding: 27px 0 0;
}

.uefa-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 13px;
}

.uefa-section-head span {
    display: block;
    margin-top: 7px;
    color: #819db8;
    font-size: 10px;
}

.uefa-section-head > b {
    color: var(--uefa-cyan);
    font-size: 10px;
}

.uefa-fed-grid {
    display: grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap: 8px;
}

.uefa-fed-card {
    position: relative;
    min-width: 0;
    min-height: 128px;
    padding: 13px 30px 12px 12px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    border: 1px solid rgba(67, 165, 229, .25);
    border-radius: 7px;
    background:
        linear-gradient(145deg, rgba(9, 32, 55, .94), rgba(4, 18, 33, .96));
    box-shadow: 0 8px 18px rgba(0, 0, 0, .13);
    overflow: hidden;
}

.uefa-fed-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: linear-gradient(180deg, var(--uefa-blue), var(--uefa-lime));
    opacity: .8;
}

.uefa-fed-card:hover {
    border-color: rgba(76, 193, 255, .54);
    transform: translateY(-1px);
}

.uefa-fed-card__flag {
    width: 34px;
    height: 27px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(106, 193, 245, .21);
    border-radius: 5px;
    background: #061220;
    font-size: 18px;
    line-height: 1;
}

.uefa-fed-card__body {
    min-width: 0;
}

.uefa-fed-card__body p {
    margin: 1px 0 0;
    color: #f6fbff;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.15;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.uefa-fed-card__body h3 {
    margin: 8px 0 0;
    color: var(--uefa-cyan);
    font-size: 13px;
    line-height: 1;
}

.uefa-fed-card__body span {
    display: block;
    margin-top: 6px;
    color: #7895af;
    font-size: 7px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.uefa-fed-card i {
    position: absolute;
    right: 10px;
    bottom: 9px;
    color: #76d6ff;
    font-size: 14px;
    font-style: normal;
}

.uefa-editorial {
    padding: 16px 0 23px;
    display: grid;
    grid-template-columns: 1.3fr 1fr .82fr;
    gap: 10px;
}

.uefa-editorial > article {
    min-height: 200px;
    padding: 18px;
    border: 1px solid var(--uefa-line);
    border-radius: 7px;
    background: linear-gradient(145deg, #07182a, #04111e);
}

.uefa-editorial__feature {
    position: relative;
    display: flex;
    align-items: end;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(4, 17, 30, .72), rgba(4, 17, 30, .93)),
        url("/static/img/fifa_visual_r2/card_crowd.jpg") center/cover !important;
}

.uefa-editorial__feature > b {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid #dff5ff;
    border-radius: 50%;
    background: rgba(3, 15, 28, .55);
}

.uefa-editorial span {
    color: #8fa8bf;
    font-size: 9px;
    line-height: 1.5;
}

.uefa-editorial__competitions > div {
    margin-top: 14px;
    display: grid;
    gap: 6px;
}

.uefa-editorial__competitions span,
.uefa-editorial__sources a {
    padding: 9px 10px;
    border: 1px solid rgba(71, 166, 227, .18);
    border-radius: 5px;
    background: rgba(6, 25, 45, .74);
}

.uefa-editorial__sources {
    display: flex;
    flex-direction: column;
}

.uefa-editorial__sources a {
    margin-top: 7px;
    display: flex;
    justify-content: space-between;
    color: #dff3ff;
    text-decoration: none;
    font-size: 9px;
}

.uefa-footer {
    display: grid;
    grid-template-columns: 210px 1.45fr .8fr .55fr;
    gap: 24px;
    padding: 21px 0 18px;
    border-top: 1px solid rgba(68, 156, 218, .2);
}

.uefa-footer__brand,
.uefa-footer__nav,
.uefa-footer__end {
    display: grid;
    align-content: start;
    gap: 5px;
}

.uefa-footer__brand strong {
    font-size: 15px;
}

.uefa-footer__brand b {
    color: var(--uefa-lime);
    font-size: 9px;
    letter-spacing: .18em;
}

.uefa-footer__brand small,
.uefa-footer__copy p,
.uefa-footer__end span {
    color: #708aa3;
    font-size: 7px;
    line-height: 1.5;
}

.uefa-footer__copy strong,
.uefa-footer__nav strong,
.uefa-footer__end strong {
    font-size: 9px;
}

.uefa-footer__copy p {
    margin: 6px 0 0;
}

.uefa-footer__nav a {
    color: #90aac2;
    text-decoration: none;
    font-size: 8px;
}

.uefa-legal {
    min-height: 38px;
    padding: 12px 0 15px;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid rgba(68, 156, 218, .12);
    color: #586f85;
    font-size: 7px;
}

@media(max-width:1500px) {
    .uefa-fed-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media(max-width:1180px) {
    .uefa-hero__inner {
        grid-template-columns: 1fr;
        padding: 34px 0;
    }

    .uefa-hero__visual {
        display: none;
    }

    .uefa-fed-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .uefa-editorial {
        grid-template-columns: 1fr 1fr;
    }

    .uefa-editorial__sources {
        grid-column: 1 / -1;
    }

    .uefa-footer {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width:900px) {
    .uefa-stats__grid {
        grid-template-columns: 1fr 1fr;
    }

    .uefa-fed-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .uefa-editorial {
        grid-template-columns: 1fr;
    }

    .uefa-editorial__sources {
        grid-column: auto;
    }
}

@media(max-width:700px) {
    .uefa-fed-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .uefa-footer {
        grid-template-columns: 1fr;
    }
}

@media(max-width:560px) {
    .uefa-hero h1 {
        font-size: 33px;
    }

    .uefa-actions,
    .uefa-stats__grid,
    .uefa-fed-grid {
        grid-template-columns: 1fr;
    }

    .uefa-actions {
        display: grid;
    }

    .uefa-section-head,
    .uefa-stats header,
    .uefa-legal {
        display: grid;
        gap: 8px;
    }
}

/* /FIFA_UEFA_HUB_R1 */
.uefa-title-contract {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* UEFA_LAYOUT_FLOW_FIX_R2 */

/*
   The global portal can impose viewport-sized section behavior.
   UEFA is a normal document-flow page: every internal section must
   collapse to its own content height.
*/
.uefa-hub > section {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
}

.uefa-stats {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: 18px !important;
    padding-bottom: 0 !important;
}

.uefa-stats__grid {
    min-height: 0 !important;
    height: auto !important;
}

.uefa-federations {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: 18px !important;
    padding-bottom: 0 !important;
}

.uefa-section-head {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

.uefa-fed-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.uefa-fed-card {
    min-height: 122px !important;
    height: auto !important;
}

.uefa-editorial {
    display: grid !important;
    grid-template-columns: 1.3fr 1fr .82fr !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: stretch !important;
    align-content: start !important;
    gap: 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 16px !important;
    padding-bottom: 20px !important;
}

.uefa-editorial > article {
    display: block !important;
    min-height: 190px !important;
    height: auto !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.uefa-editorial__feature {
    display: flex !important;
    align-items: flex-end !important;
}

.uefa-editorial__sources {
    display: flex !important;
    flex-direction: column !important;
}

.uefa-footer {
    display: grid !important;
    grid-template-columns: 210px 1.45fr .8fr .55fr !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    width: min(95%, 1800px) !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 21px 0 18px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.uefa-legal {
    display: flex !important;
    position: relative !important;
    min-height: 38px !important;
    height: auto !important;
    margin: 0 auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 1180px) {
    .uefa-fed-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    .uefa-editorial {
        grid-template-columns: 1fr 1fr !important;
    }

    .uefa-editorial__sources {
        grid-column: 1 / -1 !important;
    }

    .uefa-footer {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 900px) {
    .uefa-fed-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .uefa-editorial {
        grid-template-columns: 1fr !important;
    }

    .uefa-editorial__sources {
        grid-column: auto !important;
    }
}

@media (max-width: 700px) {
    .uefa-fed-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .uefa-footer {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 560px) {
    .uefa-fed-grid {
        grid-template-columns: 1fr !important;
    }

    .uefa-legal {
        display: grid !important;
    }
}

/* /UEFA_LAYOUT_FLOW_FIX_R2 */

/* UEFA_HERO_GAP_FIX_R1 */
.uefa-hub > section{
    min-height:0 !important;
    height:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.uefa-hero{
    min-height:0 !important;
    height:auto !important;
    margin-bottom:0 !important;
    padding-bottom:18px !important;
}

.uefa-hero-inner{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

.uefa-hero-copy{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

.uefa-hero-actions{
    margin-bottom:0 !important;
}

.uefa-stats{
    min-height:0 !important;
    height:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.uefa-stats:empty{
    display:none !important;
}

.uefa-federations{
    min-height:0 !important;
    height:auto !important;
    margin-top:0 !important;
    padding-top:10px !important;
    padding-bottom:20px !important;
}

.uefa-fed-grid{
    margin-top:0 !important;
    align-content:start !important;
}

.uefa-editorial{
    min-height:0 !important;
    height:auto !important;
    margin-top:18px !important;
    padding-top:0 !important;
}

.uefa-footer{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:0 !important;
    height:auto !important;
    margin-top:18px !important;
}

@media (max-width: 900px){
    .uefa-hero{
        padding-bottom:14px !important;
    }

    .uefa-federations{
        padding-top:8px !important;
        padding-bottom:16px !important;
    }

    .uefa-editorial{
        margin-top:14px !important;
    }

    .uefa-footer{
        margin-top:14px !important;
    }
}
/* /UEFA_HERO_GAP_FIX_R1 */

/* UEFA_HERO_TO_FEDERATIONS_R6 */

/*
   R6: eliminate the empty vertical band between hero and federation grid.
   The intermediate stats strip is temporarily removed from flow.
   No global portal file is changed.
*/
.uefa-hub .uefa-stats {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.uefa-hub .uefa-hero {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.uefa-hub .uefa-federations {
    display: block !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;

    width: min(95%, 1800px) !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 auto !important;
    padding: 18px 0 0 !important;

    align-content: start !important;
    justify-content: start !important;
}

.uefa-hub .uefa-section-head {
    display: flex !important;
    position: static !important;
    transform: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

.uefa-hub .uefa-fed-grid {
    display: grid !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;

    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    align-content: start !important;
    align-items: stretch !important;
    justify-content: stretch !important;

    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.uefa-hub .uefa-fed-card {
    min-height: 122px !important;
    height: auto !important;
    margin: 0 !important;
}

@media (max-width: 1500px) {
    .uefa-hub .uefa-fed-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1180px) {
    .uefa-hub .uefa-fed-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .uefa-hub .uefa-fed-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .uefa-hub .uefa-fed-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .uefa-hub .uefa-federations {
        padding-top: 12px !important;
    }

    .uefa-hub .uefa-fed-grid {
        grid-template-columns: 1fr !important;
    }
}

/* /UEFA_HERO_TO_FEDERATIONS_R6 */

/* UEFA_SECTION_HEAD_GAP_R7 */

/*
   Visual measurement from 2048x1152 reference:
   hero lower edge ~= y562
   first federation row ~= y712
   remaining empty band ~= 150px

   The federation section header is removed from layout.
   Final intended separation hero -> cards: 18px.
*/

.uefa-hub .uefa-section-head {
    display: none !important;
    position: static !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.uefa-hub .uefa-federations {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding-top: 18px !important;
    padding-bottom: 0 !important;
}

.uefa-hub .uefa-fed-grid {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-content: start !important;
}

@media (max-width: 560px) {
    .uefa-hub .uefa-federations {
        padding-top: 12px !important;
    }
}

/* /UEFA_SECTION_HEAD_GAP_R7 */
