/* FootballPress Home Competitions LAB v0.6.0 */
.fpnllab-shell,
.fpnllab-shell * { box-sizing: border-box; }

.fpnllab-shell {
    --fp-blue: #0f45c8;
    --fp-blue-dark: #082b86;
    --fp-text: #101828;
    --fp-muted: #667085;
    --fp-line: #e3e8ef;
    --fp-soft: #f8fafc;
    width: 100%;
    background: #fff;
    border: 1px solid var(--fp-line);
    border-radius: 5px;
    padding: 0 20px 20px;
    color: var(--fp-text);
    font-family: inherit;
    overflow: hidden;
}

.fpnllab-shell-topline { height: 4px; background: var(--fp-blue); margin: 0 -20px 16px; }

.fpnllab-macro-header { display:flex; justify-content:space-between; align-items:end; padding: 0 4px 12px; }
.fpnllab-macro-kicker { display:block; color: var(--fp-blue); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 2px; }
.fpnllab-macro-header h2 { margin:0; color:var(--fp-text); font-size:16px; line-height:1.2; text-transform:uppercase; font-weight:900; letter-spacing:.03em; }

.fpnllab-tabs { display:flex; gap:0; border:1px solid var(--fp-line); border-radius:5px; overflow:hidden; margin-bottom:16px; background:#fff; }
.fpnllab-tab { appearance:none; border:0; border-right:1px solid var(--fp-line); background:#fff; color:#344054; padding:12px 24px; min-width:130px; cursor:pointer; font:inherit; font-size:14px; font-weight:800; text-transform:uppercase; transition:.2s ease; }
.fpnllab-tab:last-child { border-right:0; }
.fpnllab-tab:hover { background:#f5f8ff; color:var(--fp-blue); }
.fpnllab-tab.is-active { background:var(--fp-blue); color:#fff; }
.fpnllab-tab-panel[hidden] { display:none !important; }

.fpnllab-competition-header { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:0 4px 16px; }
.fpnllab-brandline { display:flex; align-items:center; gap:14px; min-width:0; }
.fpnllab-emblem { width:54px !important; height:54px !important; object-fit:contain !important; flex:0 0 54px; }
.fpnllab-competition-header h2 { margin:0 0 4px; color:var(--fp-blue); font-size:30px; line-height:1.05; font-weight:900; text-transform:uppercase; }
.fpnllab-competition-header p { margin:0; color:var(--fp-muted); font-size:14px; line-height:1.35; }

.fpnllab-outline-btn,
.fpnllab-news-btn,
.fpnllab-card-link { text-decoration:none !important; text-transform:uppercase; font-weight:800; }
.fpnllab-outline-btn { flex:0 0 auto; border:1px solid #8cabee; color:var(--fp-blue) !important; padding:11px 15px; border-radius:4px; font-size:12px; }
.fpnllab-outline-btn span,
.fpnllab-news-btn span,
.fpnllab-card-link span { font-size:20px; line-height:0; vertical-align:-1px; margin-left:8px; }

.fpnllab-main-grid { display:grid; grid-template-columns:minmax(0, 2.05fr) minmax(350px, 1fr); gap:22px; align-items:start; }
.fpnllab-news { min-width:0; }
.fpnllab-feature-grid { display:grid; grid-template-columns:1.68fr 1fr; gap:5px; min-height:490px; }
.fpnllab-story-stack { display:grid; grid-template-rows:1fr 1fr; gap:5px; min-height:0; }
.fpnllab-story { position:relative; min-width:0; min-height:0; overflow:hidden; background:#151515; border-radius:4px; }
.fpnllab-story-link { position:absolute; inset:0; display:block; color:#fff !important; text-decoration:none !important; }
.fpnllab-story-image { width:100% !important; height:100% !important; object-fit:cover !important; object-position:50% 20% !important; position:absolute; inset:0; transition:transform .35s ease; }
.fpnllab-story-link:hover .fpnllab-story-image { transform:scale(1.025); }
.fpnllab-story-shade { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.45) 42%, rgba(0,0,0,.08) 72%); }
.fpnllab-story-copy { position:absolute; left:0; right:0; bottom:0; padding:24px; z-index:2; }
.fpnllab-eyebrow { display:inline-block; background:var(--fp-blue); color:#fff; border-radius:3px; padding:6px 9px; margin-bottom:12px; font-size:11px; line-height:1; font-weight:900; text-transform:uppercase; letter-spacing:.02em; }
.fpnllab-story h3 { margin:0; color:#fff !important; font-weight:900; line-height:1.08; font-size:32px; text-shadow:0 1px 2px rgba(0,0,0,.25); }
.fpnllab-catenaccio { margin:9px 0 0; color:#fff; font-size:15px; line-height:1.35; }
.fpnllab-meta { display:flex; gap:15px; align-items:center; margin-top:12px; color:#f2f4f7; font-size:11px; }

.fpnllab-story-secondary .fpnllab-story-copy { padding:18px; }
.fpnllab-story-secondary .fpnllab-eyebrow { padding:5px 8px; margin-bottom:8px; font-size:10px; }
.fpnllab-story-secondary h3 { font-size:19px; line-height:1.1; }
.fpnllab-story-secondary .fpnllab-catenaccio { font-size:12px; margin-top:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fpnllab-story-secondary .fpnllab-meta { margin-top:8px; font-size:10px; }

.fpnllab-headlines { display:grid; grid-template-columns:repeat(3, 1fr); margin-top:8px; border:1px solid var(--fp-line); border-radius:4px; overflow:hidden; }
.fpnllab-headline { display:flex; flex-direction:column; gap:4px; min-height:88px; padding:13px 16px; color:var(--fp-text) !important; text-decoration:none !important; border-right:1px solid var(--fp-line); border-bottom:1px solid var(--fp-line); }
.fpnllab-headline:nth-child(3n) { border-right:0; }
.fpnllab-headline:nth-last-child(-n+3) { border-bottom:0; }
.fpnllab-headline:hover strong { color:var(--fp-blue); }
.fpnllab-headline-eyebrow { color:var(--fp-blue); font-size:9px; line-height:1.1; font-weight:900; text-transform:uppercase; }
.fpnllab-headline strong { font-size:13px; line-height:1.22; font-weight:700; }
.fpnllab-headline small { margin-top:auto; color:var(--fp-muted); font-size:10px; }

.fpnllab-news-btn { display:flex; align-items:center; justify-content:center; margin-top:14px; min-height:46px; border-radius:3px; background:var(--fp-blue); color:#fff !important; font-size:13px; }
.fpnllab-news-btn:hover { background:var(--fp-blue-dark); }

.fpnllab-data-column { display:grid; gap:10px; }
.fpnllab-card { border:1px solid var(--fp-line); border-radius:5px; padding:16px 14px 12px; background:#fff; overflow:hidden; }
.fpnllab-card h3 { margin:0 0 12px; color:var(--fp-blue); font-size:17px; line-height:1.1; font-weight:900; text-transform:uppercase; }
.fpnllab-card-title-row { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.fpnllab-card-title-row > span { color:var(--fp-muted); font-size:11px; text-transform:uppercase; white-space:nowrap; }

.fpnllab-table-wrap { overflow-x:auto; }
.fpnllab-table { width:100%; border-collapse:collapse; font-size:11px; }
.fpnllab-table th { color:#667085; font-size:9px; text-transform:uppercase; font-weight:800; padding:7px 5px; border-bottom:1px solid var(--fp-line); text-align:center; }
.fpnllab-table th:nth-child(2) { text-align:left; }
.fpnllab-table td { padding:8px 5px; border-bottom:1px solid #edf0f4; text-align:center; color:#1d2939; }
.fpnllab-table tbody tr:last-child td { border-bottom:0; }
.fpnllab-team-cell { display:flex; align-items:center; gap:7px; text-align:left !important; white-space:nowrap; }
.fpnllab-team-cell img { width:21px !important; height:21px !important; object-fit:contain !important; flex:0 0 21px; }
.fpnllab-team-cell strong { font-size:11px; }

.fpnllab-fixture-day { margin:12px 0 4px; padding:7px 0 5px; border-bottom:1px solid var(--fp-line); color:var(--fp-blue-dark); font-size:9px; line-height:1.2; font-weight:900; text-transform:uppercase; }
.fpnllab-fixture-day:first-child { margin-top:0; }
.fpnllab-fixture { display:grid; grid-template-columns:1fr 48px 1fr; align-items:center; gap:8px; padding:6px 2px; color:var(--fp-text) !important; text-decoration:none !important; font-size:11px; }
.fpnllab-fixture:hover { background:#f8faff; }
.fpnllab-fixture-team { display:flex; align-items:center; gap:7px; min-width:0; }
.fpnllab-fixture-home { justify-content:flex-end; text-align:right; }
.fpnllab-fixture-team img { width:20px !important; height:20px !important; object-fit:contain !important; flex:0 0 20px; }
.fpnllab-fixture-time { text-align:center; font-size:11px; }

.fpnllab-card-link { display:flex; justify-content:center; align-items:center; min-height:36px; margin-top:12px; border:1px solid #d0d5dd; border-radius:3px; color:var(--fp-blue) !important; font-size:10px; }
.fpnllab-empty { color:var(--fp-muted); font-size:12px; }
.fpnllab-empty-large { padding:25px; border:1px dashed #cbd5e1; border-radius:5px; }
.fpnllab-coming-soon { display:flex; flex-direction:column; gap:8px; padding:36px; border:1px dashed #9db7ef; border-radius:5px; background:#f7faff; text-align:center; }
.fpnllab-coming-soon strong { color:var(--fp-blue); font-size:20px; }
.fpnllab-coming-soon span { color:var(--fp-muted); }

@media (max-width: 1100px) {
    .fpnllab-main-grid { grid-template-columns:minmax(0, 1.65fr) minmax(320px, 1fr); gap:14px; }
    .fpnllab-feature-grid { min-height:430px; }
    .fpnllab-story h3 { font-size:27px; }
    .fpnllab-story-secondary h3 { font-size:17px; }
}

@media (max-width: 920px) {
    .fpnllab-main-grid { grid-template-columns:1fr; }
    .fpnllab-data-column { grid-template-columns:1fr 1fr; }
    .fpnllab-feature-grid { min-height:440px; }
}

@media (max-width: 700px) {
    .fpnllab-shell { padding:0 12px 14px; }
    .fpnllab-shell-topline { margin:0 -12px 14px; }
    .fpnllab-macro-header { padding-left:0; }
    .fpnllab-tabs { overflow-x:auto; justify-content:flex-start; }
    .fpnllab-tab { min-width:120px; padding:11px 16px; }
    .fpnllab-competition-header { align-items:flex-start; }
    .fpnllab-competition-header h2 { font-size:24px; }
    .fpnllab-competition-header p { font-size:12px; }
    .fpnllab-emblem { width:44px !important; height:44px !important; flex-basis:44px; }
    .fpnllab-outline-btn { display:none; }
    .fpnllab-feature-grid { grid-template-columns:1fr; min-height:0; }
    .fpnllab-story-main { min-height:390px; }
    .fpnllab-story-stack { grid-template-columns:1fr 1fr; grid-template-rows:1fr; gap:5px; }
    .fpnllab-story-secondary { min-height:230px; }
    .fpnllab-story h3 { font-size:26px; }
    .fpnllab-story-copy { padding:18px; }
    .fpnllab-story-secondary h3 { font-size:16px; }
    .fpnllab-story-secondary .fpnllab-catenaccio { display:none; }
    .fpnllab-headlines { grid-template-columns:1fr 1fr; }
    .fpnllab-headline:nth-child(3n) { border-right:1px solid var(--fp-line); }
    .fpnllab-headline:nth-child(2n) { border-right:0; }
    .fpnllab-headline:nth-last-child(-n+3) { border-bottom:1px solid var(--fp-line); }
    .fpnllab-headline:nth-last-child(-n+2) { border-bottom:0; }
    .fpnllab-data-column { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
    .fpnllab-story-main { min-height:330px; }
    .fpnllab-story-stack { grid-template-columns:1fr; }
    .fpnllab-story-secondary { min-height:220px; }
    .fpnllab-headlines { grid-template-columns:1fr; }
    .fpnllab-headline { border-right:0 !important; border-bottom:1px solid var(--fp-line) !important; }
    .fpnllab-headline:last-child { border-bottom:0 !important; }
    .fpnllab-fixture { grid-template-columns:minmax(0, 1fr) 44px minmax(0, 1fr); gap:5px; }
}

/* v0.2.0 refinement layer */
.fpnllab-shell{padding:0 24px 24px;box-shadow:0 2px 12px rgba(16,24,40,.025)}
.fpnllab-shell-topline{margin-left:-24px;margin-right:-24px;margin-bottom:18px}
.fpnllab-macro-header h2{font-size:18px;color:#172033}
.fpnllab-tabs{min-height:48px;margin-bottom:18px}
.fpnllab-tab{min-width:150px;padding:13px 28px;font-size:13px}
.fpnllab-competition-header{padding-bottom:18px}
.fpnllab-emblem{width:58px!important;height:58px!important;flex-basis:58px}
.fpnllab-competition-header h2{font-size:32px}
.fpnllab-main-grid{grid-template-columns:minmax(0,2.15fr) minmax(360px,.95fr);gap:24px}
.fpnllab-feature-grid{height:500px;min-height:0;grid-template-columns:1.7fr 1fr;gap:6px}
.fpnllab-story-stack{gap:6px}
.fpnllab-story-copy{padding:26px}
.fpnllab-story h3{font-size:32px;line-height:1.06}
.fpnllab-story-secondary h3{font-size:18px}
.fpnllab-headlines{margin-top:9px}
.fpnllab-headline{min-height:94px;padding:14px 16px}
.fpnllab-news-btn{min-height:47px;background:linear-gradient(90deg,var(--fp-blue),#1e57d2)}
.fpnllab-data-column{gap:12px}
.fpnllab-card{padding:17px 15px 13px}
.fpnllab-table tbody tr td:first-child{border-left:3px solid transparent}
.fpnllab-table tbody tr.fpnllab-rank-1 td:first-child,.fpnllab-table tbody tr.fpnllab-rank-2 td:first-child,.fpnllab-table tbody tr.fpnllab-rank-3 td:first-child,.fpnllab-table tbody tr.fpnllab-rank-4 td:first-child{border-left-color:#31c878}
.fpnllab-table tbody tr.fpnllab-rank-5 td:first-child,.fpnllab-table tbody tr.fpnllab-rank-6 td:first-child{border-left-color:#65a6ff}
.fpnllab-outline-btn,.fpnllab-card-link{transition:.15s ease}
.fpnllab-outline-btn:hover,.fpnllab-card-link:hover{background:#f7f9ff}
@media(max-width:1100px){.fpnllab-main-grid{grid-template-columns:minmax(0,1.72fr) minmax(320px,1fr);gap:16px}.fpnllab-feature-grid{height:450px;min-height:0}}
@media(max-width:920px){.fpnllab-main-grid{grid-template-columns:1fr}.fpnllab-feature-grid{height:460px;min-height:0}}
@media(max-width:700px){.fpnllab-shell{padding:0 12px 14px}.fpnllab-shell-topline{margin-left:-12px;margin-right:-12px}.fpnllab-feature-grid{height:auto}.fpnllab-tab{min-width:125px;padding:11px 16px}}


/* v0.3.1 — macro-title + sponsor slot */
.fpnllab-macro-header{align-items:center;padding:2px 2px 15px}
.fpnllab-macro-header h2{
    margin:0;
    color:var(--fp-blue)!important;
    font-size:30px!important;
    line-height:1;
    font-weight:900;
    letter-spacing:-.025em;
    text-transform:uppercase;
}
.fpnllab-macro-kicker{display:none!important}
.fpnllab-sponsor{
    margin-top:14px;
    width:100%;
    min-height:92px;
    border:1px solid var(--fp-line);
    border-radius:4px;
    overflow:hidden;
    background:#f7f9fc;
    display:flex;
    align-items:center;
    justify-content:center;
}
.fpnllab-sponsor a{display:block;width:100%;line-height:0;text-decoration:none!important}
.fpnllab-sponsor img{
    display:block;
    width:100%!important;
    height:auto!important;
    max-height:150px;
    object-fit:cover!important;
    margin:0!important;
}
@media(max-width:700px){
    .fpnllab-macro-header h2{font-size:25px!important}
    .fpnllab-sponsor{min-height:70px}
    .fpnllab-sponsor img{max-height:120px}
}

/* v0.3.1 — Catenaccio nelle sei news compatte */
.fpnllab-headline-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#667085;font-size:10px;line-height:1.35;font-weight:400;margin-top:2px}
.fpnllab-headline{min-height:118px}
.fpnllab-headline small{margin-top:auto}
@media(max-width:700px){.fpnllab-headline{min-height:124px}.fpnllab-headline-summary{font-size:10px}}

/* v0.4.0 — 3 news cards con immagini + navigazione ‹ › */
.fpnllab-compact-carousel{
    margin-top:9px;
    border:1px solid var(--fp-line);
    border-radius:4px;
    overflow:hidden;
    background:#fff;
}
.fpnllab-compact-carousel-head{
    min-height:35px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:5px 7px 5px 12px;
    border-bottom:1px solid var(--fp-line);
    background:#fbfcfe;
}
.fpnllab-compact-carousel-label{
    color:var(--fp-blue);
    font-size:10px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.fpnllab-compact-carousel-nav{display:flex;gap:5px;align-items:center}
.fpnllab-carousel-btn{
    appearance:none;
    width:27px;
    height:25px;
    border:1px solid #d0d5dd;
    border-radius:3px;
    background:#fff;
    color:var(--fp-blue);
    font:inherit;
    font-size:20px;
    line-height:20px;
    font-weight:800;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 0 2px;
    transition:.15s ease;
}
.fpnllab-carousel-btn:hover{background:#f5f8ff;border-color:#9db7ef}
.fpnllab-carousel-btn:disabled{opacity:.35;cursor:default;background:#fff}
.fpnllab-compact-carousel-viewport{overflow:hidden}
.fpnllab-compact-carousel-track{width:100%}
.fpnllab-compact-carousel-slide{
    display:none;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.fpnllab-compact-carousel-slide.is-active{display:grid}
.fpnllab-compact-story{min-width:0;border-right:1px solid var(--fp-line)}
.fpnllab-compact-story:last-child{border-right:0}
.fpnllab-compact-story-link{
    display:block;
    height:100%;
    color:var(--fp-text)!important;
    text-decoration:none!important;
}
.fpnllab-compact-story-media{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#edf1f7;
}
.fpnllab-compact-story-media img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 20%!important;
    transition:transform .3s ease;
}
.fpnllab-compact-story-link:hover .fpnllab-compact-story-media img{transform:scale(1.025)}
.fpnllab-compact-story-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#edf1f7,#f8fafc)}
.fpnllab-compact-story-copy{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-height:126px;
    padding:10px 12px 11px;
}
.fpnllab-compact-story-eyebrow{
    color:var(--fp-blue);
    font-size:8px;
    line-height:1.1;
    font-weight:900;
    text-transform:uppercase;
}
.fpnllab-compact-story-copy strong{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
}
.fpnllab-compact-story-link:hover strong{color:var(--fp-blue)}
.fpnllab-compact-story-summary{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    color:var(--fp-muted);
    font-size:9px;
    line-height:1.3;
}
.fpnllab-compact-story-copy small{margin-top:auto;color:var(--fp-muted);font-size:9px}

/* v0.4.0 — orario / risultato / live nella giornata */
.fpnllab-fixture-result{color:var(--fp-text);font-weight:900;white-space:nowrap}
.fpnllab-fixture-live{color:#c62828;font-weight:900;white-space:nowrap}
.fpnllab-fixture-live::after{content:' LIVE';font-size:7px;vertical-align:1px}
.fpnllab-fixture-status{font-size:8px!important;color:#b54708;white-space:nowrap}

@media(max-width:700px){
    .fpnllab-compact-carousel-slide{grid-template-columns:repeat(3,minmax(170px,1fr));overflow-x:auto;scrollbar-width:thin}
    .fpnllab-compact-story-copy{min-height:120px}
}

/* v0.5.0 — master Serie A: macro-title centrato + carousel progressivo */
.fpnllab-macro-header{
    display:block;
    text-align:center;
    padding:2px 2px 15px;
}
.fpnllab-macro-header > div{width:100%}
.fpnllab-macro-header h2{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}
.fpnllab-carousel-status{
    min-height:14px;
    padding-top:5px;
    color:var(--fp-muted);
    font-size:9px;
    text-align:right;
}

/* v0.6.0 — master visuale CALCIO ITALIANO, ispirato alla proposta approvata */
.fpnllab-shell{
    --fp-blue:#1252d6;
    --fp-blue-dark:#052c72;
    --fp-cyan:#16a7ee;
    --fp-accent:#ffd400;
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:0 8px 24px;
}
.fpnllab-shell-topline{display:none}

.fpnllab-macro-header{
    padding:28px 18px 10px;
    text-align:center;
}
.fpnllab-macro-title-row{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    width:100%;
    max-width:980px;
    margin:0 auto;
}
.fpnllab-macro-title-wrap{min-width:0;flex:0 1 auto}
.fpnllab-macro-header h2{
    margin:0!important;
    font-size:46px!important;
    line-height:.95!important;
    font-weight:950!important;
    letter-spacing:-.045em!important;
    white-space:nowrap;
}
.fpnllab-title-dark{color:#07327b}
.fpnllab-title-bright{color:#1599ea}
.fpnllab-macro-subtitle{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:9px;
    color:#8c98ad;
}
.fpnllab-macro-subtitle span{width:62px;height:1px;background:#cbd5e1;display:block}
.fpnllab-macro-subtitle strong{
    font-size:10px;
    line-height:1.1;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    white-space:nowrap;
}
.fpnllab-macro-stripes{
    display:flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
    transform:skewX(-27deg);
}
.fpnllab-macro-stripes i{
    display:block;
    width:18px;
    height:48px;
    border-radius:1px;
}
.fpnllab-macro-stripes i:nth-child(1){background:#8fdcff}
.fpnllab-macro-stripes i:nth-child(2){background:#1755d8}
.fpnllab-macro-stripes i:nth-child(3){background:#d8f0ff}
.fpnllab-macro-stripes-right{transform:scaleX(-1) skewX(-27deg)}

.fpnllab-tabs{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:44px;
    min-height:64px;
    margin:0 0 28px;
    padding:0 0 10px;
    border:0;
    border-radius:0;
    overflow:visible;
    background:transparent;
}
.fpnllab-tabs::before{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:10px;
    height:1px;
    background:#dce4ee;
}
.fpnllab-tab{
    position:relative;
    z-index:1;
    min-width:145px;
    padding:12px 24px 17px;
    border:0!important;
    background:#fff!important;
    color:#303949;
    font-size:15px;
    font-weight:900;
    line-height:1;
    overflow:visible;
}
.fpnllab-tab:hover{color:var(--fp-blue);background:#fff!important}
.fpnllab-tab::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:transparent;
}
.fpnllab-tab.is-active{color:var(--fp-blue);background:#fff!important}
.fpnllab-tab.is-active::after{background:var(--fp-blue)}
.fpnllab-tab.is-active::before{
    content:'';
    position:absolute;
    left:50%;
    bottom:-5px;
    width:11px;
    height:11px;
    background:var(--fp-blue);
    transform:translateX(-50%) rotate(45deg);
}

/* La testata macro sostituisce la vecchia intestazione interna Serie A. */
.fpnllab-competition-header{display:none!important}

.fpnllab-main-grid{
    grid-template-columns:minmax(0,2.1fr) minmax(330px,.86fr);
    gap:20px;
}
.fpnllab-feature-grid{
    height:488px;
    grid-template-columns:1.72fr .88fr;
    gap:10px;
}
.fpnllab-story{border-radius:2px}
.fpnllab-story-copy{padding:24px}
.fpnllab-story-main h3{font-size:34px}
.fpnllab-story-secondary h3{font-size:19px}
.fpnllab-story-shade{background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.48) 44%,rgba(0,0,0,.07) 76%)}
.fpnllab-eyebrow{background:#1599ea;border-radius:0;padding:6px 9px}

/* Slider editoriale in stile "ALTRE NOTIZIE" */
.fpnllab-compact-carousel{
    position:relative;
    margin-top:28px;
    border:0;
    border-radius:0;
    overflow:visible;
    background:#fff;
}
.fpnllab-compact-carousel-head{
    min-height:36px;
    padding:0 0 11px;
    border:0;
    border-bottom:1px solid #dbe4ef;
    background:#fff;
}
.fpnllab-compact-carousel-label{
    position:relative;
    padding-left:14px;
    color:#0d4cc7;
    font-size:20px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.02em;
}
.fpnllab-compact-carousel-label::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:#1599ea;
}
.fpnllab-compact-carousel-nav{gap:7px}
.fpnllab-carousel-btn{
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:#e9eef5;
    color:#42526a;
    font-size:23px;
}
.fpnllab-carousel-btn:hover{background:#dce6f5;border:0;color:var(--fp-blue)}
.fpnllab-carousel-btn:disabled{opacity:.28;background:#eef2f6}
.fpnllab-compact-carousel-viewport{padding-top:16px}
.fpnllab-compact-carousel-slide{gap:16px}
.fpnllab-compact-story{border:0}
.fpnllab-compact-story-media{aspect-ratio:16/9;border-radius:2px}
.fpnllab-compact-story-copy{min-height:112px;padding:9px 0 2px;gap:5px}
.fpnllab-compact-story-eyebrow{font-size:9px;color:#1599ea}
.fpnllab-compact-story-copy strong{font-size:14px;line-height:1.22;-webkit-line-clamp:2}
.fpnllab-compact-story-summary{font-size:10px;-webkit-line-clamp:2}
.fpnllab-compact-story-copy small{font-size:9px}
.fpnllab-carousel-status{padding-top:6px;min-height:10px}

.fpnllab-news-btn{
    margin-top:20px;
    min-height:44px;
    border-radius:2px;
    background:linear-gradient(90deg,#0e46c6,#1f65e0);
    font-size:12px;
}

.fpnllab-data-column{gap:16px}
.fpnllab-card{
    border:1px solid #e1e7ef;
    border-radius:3px;
    padding:16px 14px 13px;
    box-shadow:0 2px 8px rgba(16,24,40,.025);
}
.fpnllab-card h3{font-size:16px;color:#0e49c1}
.fpnllab-card-link{
    min-height:38px;
    border:0;
    border-radius:2px;
    background:#0e57db;
    color:#fff!important;
}
.fpnllab-card-link:hover{background:#083ca3;color:#fff!important}
.fpnllab-fixture-day{color:#65738a;font-size:8px}
.fpnllab-fixture{padding:7px 2px}

.fpnllab-sponsor{margin-top:18px;border-radius:2px}

@media(max-width:1100px){
    .fpnllab-macro-header h2{font-size:40px!important}
    .fpnllab-macro-stripes i{width:15px;height:42px}
    .fpnllab-main-grid{grid-template-columns:minmax(0,1.72fr) minmax(300px,1fr)}
    .fpnllab-feature-grid{height:450px}
}
@media(max-width:920px){
    .fpnllab-main-grid{grid-template-columns:1fr}
    .fpnllab-data-column{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
    .fpnllab-shell{padding:0 10px 18px}
    .fpnllab-macro-header{padding:20px 6px 8px}
    .fpnllab-macro-title-row{gap:12px}
    .fpnllab-macro-header h2{font-size:31px!important;white-space:normal}
    .fpnllab-macro-stripes i{width:9px;height:31px;gap:3px}
    .fpnllab-macro-subtitle{gap:7px;margin-top:7px}
    .fpnllab-macro-subtitle span{width:25px}
    .fpnllab-macro-subtitle strong{font-size:7px;letter-spacing:.11em;white-space:normal}
    .fpnllab-tabs{gap:4px;min-height:57px;margin-bottom:20px;overflow:visible;justify-content:center}
    .fpnllab-tab{min-width:118px;padding:11px 14px 16px;font-size:13px}
    .fpnllab-feature-grid{height:auto;gap:6px}
    .fpnllab-story-main{min-height:380px}
    .fpnllab-story-stack{gap:6px}
    .fpnllab-compact-carousel-label{font-size:17px}
    .fpnllab-compact-carousel-slide{grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px}
    .fpnllab-data-column{grid-template-columns:1fr}
}
@media(max-width:480px){
    .fpnllab-macro-title-row{gap:8px}
    .fpnllab-macro-header h2{font-size:27px!important}
    .fpnllab-macro-stripes i{width:7px;height:27px}
    .fpnllab-macro-subtitle span{display:none}
    .fpnllab-tab{min-width:104px;font-size:12px}
}


/* v0.6.1 — rifinitura header master + chiusura grafica Prossima giornata */
.fpnllab-macro-header{
    padding:34px 18px 14px;
}
.fpnllab-macro-title-row{
    gap:26px;
}
.fpnllab-macro-header h2{
    font-size:54px!important;
    line-height:.96!important;
}
.fpnllab-macro-subtitle{
    margin-top:11px;
    gap:14px;
}
.fpnllab-macro-subtitle span{
    width:72px;
}
.fpnllab-macro-subtitle strong{
    font-size:10.5px;
    letter-spacing:.21em;
}
.fpnllab-macro-stripes{
    gap:6px;
}
.fpnllab-macro-stripes i{
    width:21px;
    height:55px;
}
.fpnllab-tabs{
    gap:50px;
    min-height:68px;
    margin-bottom:30px;
}
.fpnllab-tab{
    min-width:154px;
    padding:13px 26px 18px;
    font-size:16px;
}
.fpnllab-tab.is-active::after{
    height:4px;
}
.fpnllab-tab.is-active::before{
    bottom:-6px;
    width:12px;
    height:12px;
}

/* Niente CTA ridondante sotto la giornata: il box termina con il segno grafico della macro-sezione. */
.fpnllab-card-fixtures{
    position:relative;
    padding-bottom:15px;
}
.fpnllab-fixtures-endmark{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:4px;
    margin-top:12px;
    padding-top:11px;
    border-top:1px solid #e7edf4;
    overflow:hidden;
}
.fpnllab-fixtures-endmark span{
    display:block;
    width:7px;
    height:19px;
    transform:skewX(-27deg);
    border-radius:1px;
}
.fpnllab-fixtures-endmark span:nth-child(1){background:#d8f0ff}
.fpnllab-fixtures-endmark span:nth-child(2){background:#1755d8}
.fpnllab-fixtures-endmark span:nth-child(3){background:#8fdcff}

@media(max-width:1100px){
    .fpnllab-macro-header h2{font-size:47px!important}
    .fpnllab-macro-stripes i{width:17px;height:47px}
}
@media(max-width:700px){
    .fpnllab-macro-header{padding:24px 6px 10px}
    .fpnllab-macro-title-row{gap:11px}
    .fpnllab-macro-header h2{font-size:34px!important}
    .fpnllab-macro-stripes i{width:9px;height:34px}
    .fpnllab-macro-subtitle{margin-top:8px;gap:8px}
    .fpnllab-macro-subtitle span{width:28px}
    .fpnllab-macro-subtitle strong{font-size:7.3px;letter-spacing:.10em}
    .fpnllab-tabs{min-height:60px;margin-bottom:22px;gap:8px}
    .fpnllab-tab{min-width:122px;padding:11px 15px 17px;font-size:13.5px}
}
@media(max-width:480px){
    .fpnllab-macro-header h2{font-size:29px!important}
    .fpnllab-macro-stripes i{width:7px;height:29px}
    .fpnllab-tab{min-width:108px;font-size:12.5px}
}

/* v0.6.2 — micro-rifiniture master Serie A */
@media(min-width:1101px){
    .fpnllab-macro-title-row{gap:18px}
}
.fpnllab-fixtures-endmark{gap:5px}
.fpnllab-fixtures-endmark span{width:9px;height:24px}

/* v0.6.3 — master responsive mobile. Desktop v0.6.2 invariato. */
@media(max-width:700px){
    /* Header: mantiene il concept, ma riduce altezza e impedisce al sottotitolo di diventare 3 righe. */
    .fpnllab-macro-header{padding:20px 4px 8px}
    .fpnllab-macro-title-row{gap:8px;align-items:center}
    .fpnllab-macro-title-wrap{min-width:0;flex:1}
    .fpnllab-macro-header h2{font-size:32px!important;line-height:.98!important}
    .fpnllab-macro-subtitle{margin-top:7px}
    .fpnllab-macro-subtitle span{display:none}
    .fpnllab-macro-subtitle strong{
        display:block;
        max-width:285px;
        margin:0 auto;
        font-size:7.5px;
        line-height:1.25;
        letter-spacing:.085em;
        white-space:normal;
    }
    .fpnllab-macro-stripes{flex:0 0 auto;gap:3px}
    .fpnllab-macro-stripes i{width:8px;height:32px}
    .fpnllab-tabs{margin-bottom:20px}

    /* Hero: una protagonista a tutta larghezza + due secondarie 50/50 sotto. */
    .fpnllab-feature-grid{
        display:grid;
        grid-template-columns:1fr!important;
        grid-template-rows:auto auto;
        height:auto!important;
        min-height:0!important;
        gap:7px;
    }
    .fpnllab-story-main{
        min-height:0!important;
        height:auto!important;
        aspect-ratio:1.22/1;
    }
    .fpnllab-story-stack{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:1fr!important;
        gap:7px!important;
        min-height:0!important;
    }
    .fpnllab-story-secondary{
        min-height:0!important;
        height:auto!important;
        aspect-ratio:.82/1;
    }
    .fpnllab-story-main .fpnllab-story-copy{padding:20px}
    .fpnllab-story-main h3{font-size:30px;line-height:1.03}
    .fpnllab-story-main .fpnllab-catenaccio{font-size:14px;line-height:1.3}
    .fpnllab-story-main .fpnllab-meta{font-size:10px;gap:10px}
    .fpnllab-story-secondary .fpnllab-story-copy{padding:12px}
    .fpnllab-story-secondary .fpnllab-eyebrow{font-size:8px;padding:5px 7px;margin-bottom:6px}
    .fpnllab-story-secondary h3{font-size:17px;line-height:1.06}
    .fpnllab-story-secondary .fpnllab-catenaccio{display:none}
    .fpnllab-story-secondary .fpnllab-meta{font-size:8px;gap:6px;margin-top:7px;flex-wrap:wrap}

    /* Ultime notizie: carousel touch, una card leggibile + accenno della successiva. */
    .fpnllab-compact-carousel{margin-top:18px}
    .fpnllab-compact-carousel-head{padding-bottom:10px}
    .fpnllab-compact-carousel-label{font-size:18px}
    .fpnllab-compact-carousel-viewport{overflow:hidden;padding-top:14px}
    .fpnllab-compact-carousel-slide.is-active{
        display:grid!important;
        grid-auto-flow:column;
        grid-auto-columns:88%;
        grid-template-columns:none!important;
        gap:12px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        padding-right:12%;
    }
    .fpnllab-compact-carousel-slide.is-active::-webkit-scrollbar{display:none}
    .fpnllab-compact-story{
        scroll-snap-align:start;
        border-right:0;
        min-width:0;
    }
    .fpnllab-compact-story-media{aspect-ratio:16/9}
    .fpnllab-compact-story-copy{min-height:132px;padding:10px 0 4px}
    .fpnllab-compact-story-copy strong{font-size:16px;line-height:1.2;-webkit-line-clamp:2}
    .fpnllab-compact-story-summary{font-size:11px}
    .fpnllab-compact-story-copy small{font-size:10px}

    /* I box dati erano già efficaci su mobile: struttura invariata. */
    .fpnllab-data-column{grid-template-columns:1fr!important}
}

@media(max-width:480px){
    .fpnllab-macro-header h2{font-size:30px!important}
    .fpnllab-macro-stripes i{width:7px;height:30px}
    .fpnllab-macro-subtitle strong{max-width:270px;font-size:7.2px;letter-spacing:.075em}
    .fpnllab-story-main{aspect-ratio:1.12/1}
    .fpnllab-story-main h3{font-size:27px}
    .fpnllab-story-secondary{aspect-ratio:.78/1}
    .fpnllab-story-secondary h3{font-size:16px}
}

/* v0.7.0 — rifinitura mobile della MASTER + Serie B sullo stesso layout */
@media (max-width:700px){
    .fpnllab-story-stack{gap:10px}
}

/* v0.7.1 — identità competizioni + Coppa Italia */
.fpnllab-tabs{align-items:stretch}
.fpnllab-tab{display:flex!important;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.fpnllab-tab-logo{display:block;width:28px!important;height:28px!important;object-fit:contain!important;flex:0 0 28px}
.fpnllab-main-grid.fpnllab-editorial-only{grid-template-columns:minmax(0,1fr)!important}
.fpnllab-main-grid.fpnllab-editorial-only .fpnllab-news{max-width:none;width:100%}
@media(max-width:700px){
  .fpnllab-tabs{gap:0!important;justify-content:space-between!important;overflow:visible!important}
  .fpnllab-tab{min-width:0!important;flex:1 1 33.333%;padding:10px 5px 16px!important;gap:5px;font-size:11.5px!important}
  .fpnllab-tab-logo{width:24px!important;height:24px!important;flex-basis:24px}
  .fpnllab-macro-subtitle strong{max-width:430px}
}
@media(max-width:430px){
  .fpnllab-tab{flex-direction:column;gap:3px;font-size:10.5px!important;line-height:1.05}
  .fpnllab-tab-logo{width:26px!important;height:26px!important;flex-basis:26px}
}

/* v0.8.1 — identità cromatica CALCIO ESTERO */
#fpnllab-calcio-estero{
    --fp-blue:#6d28d9;
    --fp-blue-dark:#35106f;
    --fp-cyan:#d946ef;
}
#fpnllab-calcio-estero .fpnllab-title-dark{color:#172554}
#fpnllab-calcio-estero .fpnllab-title-bright{color:#7c3aed}
#fpnllab-calcio-estero .fpnllab-macro-stripes i:nth-child(1){background:#c4b5fd}
#fpnllab-calcio-estero .fpnllab-macro-stripes i:nth-child(2){background:#7c3aed}
#fpnllab-calcio-estero .fpnllab-macro-stripes i:nth-child(3){background:#f0e8ff}
#fpnllab-calcio-estero .fpnllab-eyebrow{background:#7c3aed}
#fpnllab-calcio-estero .fpnllab-compact-carousel-label{color:#5b21b6}
#fpnllab-calcio-estero .fpnllab-compact-carousel-label::before{background:#a855f7}
#fpnllab-calcio-estero .fpnllab-compact-story-eyebrow{color:#7c3aed}
#fpnllab-calcio-estero .fpnllab-news-btn{background:linear-gradient(90deg,#4c1d95,#7c3aed)}
#fpnllab-calcio-estero .fpnllab-card h3{color:#5b21b6}
#fpnllab-calcio-estero .fpnllab-card-link{background:#6d28d9}
#fpnllab-calcio-estero .fpnllab-card-link:hover{background:#4c1d95}
#fpnllab-calcio-estero .fpnllab-fixtures-endmark span:nth-child(1){background:#c4b5fd}
#fpnllab-calcio-estero .fpnllab-fixtures-endmark span:nth-child(2){background:#7c3aed}
#fpnllab-calcio-estero .fpnllab-fixtures-endmark span:nth-child(3){background:#ede9fe}

/* Cinque linguette: leggermente più compatte solo nella macro Estero. */
#fpnllab-calcio-estero .fpnllab-tabs{gap:18px}
#fpnllab-calcio-estero .fpnllab-tab{min-width:128px;padding-left:14px;padding-right:14px}
@media(max-width:920px){
    #fpnllab-calcio-estero .fpnllab-tabs{gap:4px;justify-content:flex-start;overflow-x:auto;overflow-y:visible;scrollbar-width:none}
    #fpnllab-calcio-estero .fpnllab-tabs::-webkit-scrollbar{display:none}
    #fpnllab-calcio-estero .fpnllab-tab{flex:0 0 auto;min-width:128px}
}


/* v0.8.3 — mobile: gutter simmetrico + 5 tab Estero su due righe */
@media(max-width:700px){
    /* La Row Newspaper/TagDiv mantiene già un gutter proprio. Il LAB si allarga
       simmetricamente di 15px per lato e conserva 15px di respiro interno. */
    .fpnllab-shell{
        width:calc(100% + 30px)!important;
        max-width:none!important;
        margin-left:-15px!important;
        margin-right:-15px!important;
        padding-left:15px!important;
        padding-right:15px!important;
    }

    /* 5 competizioni: 3 sulla prima riga, 2 centrate sulla seconda. */
    #fpnllab-calcio-estero .fpnllab-tabs{
        display:grid!important;
        grid-template-columns:repeat(6,minmax(0,1fr))!important;
        column-gap:4px!important;
        row-gap:10px!important;
        justify-content:stretch!important;
        align-items:stretch!important;
        overflow:visible!important;
        min-height:0!important;
    }
    #fpnllab-calcio-estero .fpnllab-tab{
        min-width:0!important;
        width:100%!important;
        flex:none!important;
        padding:9px 3px 15px!important;
        font-size:10.5px!important;
        line-height:1.08!important;
        white-space:normal!important;
    }
    #fpnllab-calcio-estero .fpnllab-tab:nth-child(1),
    #fpnllab-calcio-estero .fpnllab-tab:nth-child(2),
    #fpnllab-calcio-estero .fpnllab-tab:nth-child(3){grid-column:span 2}
    #fpnllab-calcio-estero .fpnllab-tab:nth-child(4){grid-column:2 / span 2}
    #fpnllab-calcio-estero .fpnllab-tab:nth-child(5){grid-column:4 / span 2}
    #fpnllab-calcio-estero .fpnllab-tab-logo{
        width:24px!important;
        height:24px!important;
        flex-basis:24px!important;
    }
}

@media(max-width:430px){
    #fpnllab-calcio-estero .fpnllab-tab{
        font-size:10px!important;
        padding-left:2px!important;
        padding-right:2px!important;
    }
}

/* v0.9.0 — identità cromatica COPPE EUROPEE */
#fpnllab-coppe-europee{
    --fp-blue:#b7791f;
    --fp-blue-dark:#5f3b08;
    --fp-cyan:#eab308;
}
#fpnllab-coppe-europee .fpnllab-title-dark{color:#172554}
#fpnllab-coppe-europee .fpnllab-title-bright{color:#b7791f}
#fpnllab-coppe-europee .fpnllab-macro-stripes i:nth-child(1){background:#fde68a}
#fpnllab-coppe-europee .fpnllab-macro-stripes i:nth-child(2){background:#b7791f}
#fpnllab-coppe-europee .fpnllab-macro-stripes i:nth-child(3){background:#fff7d6}
#fpnllab-coppe-europee .fpnllab-eyebrow{background:#b7791f}
#fpnllab-coppe-europee .fpnllab-compact-carousel-label{color:#8a5a12}
#fpnllab-coppe-europee .fpnllab-compact-carousel-label::before{background:#d4a017}
#fpnllab-coppe-europee .fpnllab-compact-story-eyebrow{color:#b7791f}

/* Tre linguette: stessa distribuzione semplice e simmetrica di Calcio Italiano. */
#fpnllab-coppe-europee .fpnllab-tabs{justify-content:center}
@media(max-width:700px){
    #fpnllab-coppe-europee .fpnllab-tabs{display:flex!important}
    #fpnllab-coppe-europee .fpnllab-tab{flex:1 1 33.333%!important;min-width:0!important}
}

.fpnllab-fixture-round{margin:10px 0 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#17345f}.fpnllab-fixture-round:first-child{margin-top:0}
/* Nations League LAB additions */
.fpnllab-italy-match{outline:2px solid rgba(0,92,185,.18);outline-offset:-2px;background:#f7fbff}
.fpnllab-table{display:flex;flex-direction:column;gap:2px}.fpnllab-table-row{display:grid;grid-template-columns:32px 1fr 34px 38px;align-items:center;gap:8px;padding:9px 8px;border-bottom:1px solid #edf0f3;font-size:13px}.fpnllab-table-row .fpnllab-team{display:flex;align-items:center;gap:8px;font-weight:700}.fpnllab-table-row img{width:22px;height:22px;object-fit:contain}.fpnllab-italy-row{background:#eef6ff}.fpnllab-italy-row .fpnllab-team{color:#005cb9}


/* v0.2.0 — focus Nazionale Italiana */
.fpnllab-italy-next{padding:4px 0 2px}
.fpnllab-italy-next-date{text-align:center;color:#65738a;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:4px 0 10px}
.fpnllab-italy-next-match{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:8px;padding:10px 4px 12px}
.fpnllab-italy-next-team{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;min-width:0;color:var(--fp-blue-dark)}
.fpnllab-italy-next-team img{width:38px!important;height:38px!important;object-fit:contain!important}
.fpnllab-italy-next-team strong{font-size:11px;line-height:1.2}
.fpnllab-italy-next-kickoff{text-align:center;display:flex;flex-direction:column;gap:2px}
.fpnllab-italy-next-kickoff span{display:inline-block;background:#ffd500;color:#102b55;font-size:14px;font-weight:900;padding:5px 7px;border-radius:2px}
.fpnllab-italy-next-kickoff small{font-size:7px;font-weight:800;color:#65738a;letter-spacing:.04em}
@media(max-width:767px){.fpnllab-italy-next-match{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)}.fpnllab-italy-next-team img{width:34px!important;height:34px!important}}


/* v0.3.0 — layout editoriale master + sponsor quadrato laterale */
#fpnllab-nations-league .fpnllab-main-grid{grid-template-columns:minmax(0,2.1fr) minmax(300px,.86fr);gap:20px;align-items:start}
#fpnllab-nations-league .fpnllab-feature-grid{height:488px;grid-template-columns:1.72fr .88fr;gap:10px}
#fpnllab-nations-league .fpnllab-story-stack{display:grid;grid-template-rows:1fr 1fr;gap:10px}
#fpnllab-nations-league .fpnllab-compact-carousel{margin-top:28px}
#fpnllab-nations-league .fpnllab-data-column{display:flex;flex-direction:column;gap:16px}
.fpnllab-sponsor-square{width:100%;aspect-ratio:1/1;border:1px solid #e1e7ef;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fpnllab-sponsor-square.is-empty{border:1px dashed #d8e0ea;background:#fbfcfe;color:#a0aaba;font-size:10px;font-weight:800;letter-spacing:.12em}
.fpnllab-sponsor-square a{display:block;width:100%;height:100%}
.fpnllab-sponsor-square img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important}
.fpnllab-italy-next-date{text-align:center;color:#667085;font-size:9px;font-weight:800;text-transform:uppercase;margin:12px 0 22px}
.fpnllab-italy-next-match{display:grid;grid-template-columns:1fr 72px 1fr;align-items:center;gap:8px;padding:4px 4px 12px}
.fpnllab-italy-next-team{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px}
.fpnllab-italy-next-team img{width:42px!important;height:42px!important;object-fit:contain!important}
.fpnllab-italy-next-kickoff{text-align:center}.fpnllab-italy-next-kickoff span{display:block;background:#ffd400;padding:9px 6px;font-size:18px;font-weight:950}.fpnllab-italy-next-kickoff small{display:block;margin-top:7px;font-size:7px;color:#667085;font-weight:800}
.fpnllab-table{display:block}.fpnllab-table-row{display:grid;grid-template-columns:28px minmax(0,1fr) 28px 28px;align-items:center;min-height:48px;border-bottom:1px solid #e7edf4;padding:0 7px}.fpnllab-table-row:last-child{border-bottom:0}.fpnllab-table-row.fpnllab-italy-row{background:#edf5ff}.fpnllab-team{display:flex;align-items:center;gap:8px;font-weight:800}.fpnllab-team img{width:24px!important;height:24px!important;object-fit:contain!important}.fpnllab-pos{font-size:14px}.fpnllab-table-row>span:last-of-type,.fpnllab-table-row>b{text-align:center}
@media(max-width:920px){#fpnllab-nations-league .fpnllab-main-grid{grid-template-columns:1fr}#fpnllab-nations-league .fpnllab-data-column{display:grid;grid-template-columns:1fr 1fr}.fpnllab-sponsor-square{display:none}}
@media(max-width:700px){#fpnllab-nations-league .fpnllab-feature-grid{height:auto;grid-template-columns:1fr;gap:7px}#fpnllab-nations-league .fpnllab-story-main{aspect-ratio:1.22/1}#fpnllab-nations-league .fpnllab-story-stack{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;gap:7px}#fpnllab-nations-league .fpnllab-story-secondary{aspect-ratio:.82/1}#fpnllab-nations-league .fpnllab-data-column{grid-template-columns:1fr}.fpnllab-sponsor-square{display:none}}

/* v0.3.1 Nations League — calendario Italia + slot commerciale */
.fpnllab-card-italy-schedule{padding-bottom:10px}
.fpnllab-italy-schedule{display:grid;gap:0}
.fpnllab-italy-game{padding:9px 2px;border-bottom:1px solid #edf1f5}
.fpnllab-italy-game:last-child{border-bottom:0}
.fpnllab-italy-game.is-next{margin:0 -5px;padding-left:7px;padding-right:7px;background:#f1f7ff;border-left:3px solid #1599ea}
.fpnllab-italy-game-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:#7b8799;font-size:8px;line-height:1;font-weight:800;text-transform:uppercase}
.fpnllab-italy-game-main{display:grid;grid-template-columns:58px minmax(0,1fr) 48px;align-items:center;gap:7px}
.fpnllab-italy-game-side{color:#7b8799;font-size:8px;font-weight:800;text-transform:uppercase}
.fpnllab-italy-game-team{display:flex;align-items:center;gap:7px;min-width:0}
.fpnllab-italy-game-team img{width:21px!important;height:21px!important;object-fit:contain!important;flex:0 0 21px}
.fpnllab-italy-game-team strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.1}
.fpnllab-italy-game-score{text-align:right;color:#172033;font-size:11px;font-weight:900;white-space:nowrap}
.fpnllab-italy-game-score.is-live{color:#c62828}
.fpnllab-sponsor-square.is-empty span{letter-spacing:.08em}
@media(max-width:700px){
 .fpnllab-italy-game{padding-top:10px;padding-bottom:10px}
 .fpnllab-italy-game-main{grid-template-columns:64px minmax(0,1fr) 54px}
 .fpnllab-italy-game-team strong,.fpnllab-italy-game-score{font-size:12px}
}

/* v0.3.2 — calendario Italia compatto + placeholder commerciale */
.fpnllab-card-italy-schedule{padding:15px 12px 10px}
.fpnllab-card-italy-schedule h3{margin-bottom:6px}
.fpnllab-italy-game{
 display:grid;
 grid-template-columns:18px minmax(0,1fr) 42px minmax(0,1fr) 43px;
 align-items:center;
 gap:5px;
 min-height:37px;
 padding:5px 2px;
 border-bottom:1px solid #edf1f5;
}
.fpnllab-italy-game:last-child{border-bottom:0}
.fpnllab-italy-game.is-next{margin:0 -3px;padding-left:5px;padding-right:5px;background:#f3f8ff;border-left:2px solid #1599ea}
.fpnllab-italy-game-round{color:#77859a;font-size:8px;font-weight:900;text-align:center}
.fpnllab-italy-game-team{display:flex;align-items:center;gap:4px;min-width:0;color:#172033}
.fpnllab-italy-game-team.fpnllab-home{justify-content:flex-end;text-align:right}
.fpnllab-italy-game-team.fpnllab-away{justify-content:flex-start;text-align:left}
.fpnllab-italy-game-team img{width:16px!important;height:16px!important;object-fit:contain!important;flex:0 0 16px;margin:0!important}
.fpnllab-italy-game-team strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.05;font-weight:700}
.fpnllab-italy-game-team.is-italy strong{color:var(--fp-blue);font-weight:950}
.fpnllab-italy-game-score{text-align:center;color:#172033;font-size:9px;font-weight:950;white-space:nowrap}
.fpnllab-italy-game-score.is-live{color:#c62828}
.fpnllab-italy-game-date{text-align:right;color:#7b8799;font-size:7px;font-weight:900;white-space:nowrap;text-transform:uppercase}

.fpnllab-sponsor-square.is-empty{
 position:relative;
 border:1px solid #dbe3ee;
 background:linear-gradient(145deg,#ffffff 0%,#f7faff 100%);
 color:#123d86;
 letter-spacing:normal;
}
.fpnllab-sponsor-square.is-empty:before,
.fpnllab-sponsor-square.is-empty:after{
 content:"";position:absolute;width:46%;height:7px;background:#1599ea;opacity:.10;transform:skewX(-28deg)
}
.fpnllab-sponsor-square.is-empty:before{top:18%;left:-10%}
.fpnllab-sponsor-square.is-empty:after{right:-10%;bottom:18%}
.fpnllab-ad-placeholder{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}
.fpnllab-ad-placeholder span{font-size:8px;font-weight:900;letter-spacing:.14em;color:#8290a5;margin-bottom:8px}
.fpnllab-ad-placeholder strong{font-size:15px;line-height:1.05;font-weight:950;color:var(--fp-blue);letter-spacing:.02em}
.fpnllab-ad-placeholder small{margin-top:7px;font-size:8px;font-weight:700;color:#8a96a8}
@media(max-width:700px){
 .fpnllab-italy-game{grid-template-columns:18px minmax(0,1fr) 44px minmax(0,1fr) 43px;gap:5px;min-height:39px}
 .fpnllab-italy-game-team strong,.fpnllab-italy-game-score{font-size:9px}
}

/* v0.3.3 — chiusura layout Home: CTA numeri + prossima partita compatta; sponsor rimosso */
#fpnllab-nations-league .fpnllab-card-fixtures{padding:13px 14px 11px}
#fpnllab-nations-league .fpnllab-card-fixtures h3{margin-bottom:4px}
#fpnllab-nations-league .fpnllab-italy-next{padding:0}
#fpnllab-nations-league .fpnllab-italy-next-date{margin:5px 0 8px;padding:0;font-size:8px}
#fpnllab-nations-league .fpnllab-italy-next-match{grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);gap:6px;padding:3px 2px 5px}
#fpnllab-nations-league .fpnllab-italy-next-team{gap:4px}
#fpnllab-nations-league .fpnllab-italy-next-team img{width:32px!important;height:32px!important}
#fpnllab-nations-league .fpnllab-italy-next-team strong{font-size:10px}
#fpnllab-nations-league .fpnllab-italy-next-kickoff span{font-size:15px;padding:6px 5px}
#fpnllab-nations-league .fpnllab-italy-next-kickoff small{margin-top:4px;font-size:6px}
.fpnllab-numbers-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:34px;padding:8px 10px;box-sizing:border-box;background:var(--fp-blue);color:#fff!important;text-decoration:none!important;text-transform:uppercase;text-align:center;font-size:9px;line-height:1.15;font-weight:900;letter-spacing:.01em;border-radius:2px}
.fpnllab-numbers-btn:hover{background:var(--fp-blue-dark);color:#fff!important}
.fpnllab-numbers-btn span{font-size:14px;line-height:1}
.fpnllab-numbers-btn.is-placeholder{cursor:default}
.fpnllab-numbers-btn.is-placeholder:hover{background:var(--fp-blue)}
@media(max-width:700px){.fpnllab-numbers-btn{min-height:40px;font-size:10px}}

/* v0.3.4 - Match Center links */
#fpnllab-nations-league .fpnllab-match-link{text-decoration:none!important;color:inherit!important;}
#fpnllab-nations-league .fpnllab-italy-game.fpnllab-match-link{cursor:pointer;}
#fpnllab-nations-league .fpnllab-italy-game.fpnllab-match-link:hover{background:#f7faff;}
#fpnllab-nations-league .fpnllab-italy-game.fpnllab-match-link.is-next:hover{background:#eaf4ff;}
#fpnllab-nations-league .fpnllab-italy-next.fpnllab-match-link{display:block;cursor:pointer;}
