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

.fphlab-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;
}

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

.fphlab-macro-header { display:flex; justify-content:space-between; align-items:end; padding: 0 4px 12px; }
.fphlab-macro-kicker { display:block; color: var(--fp-blue); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 2px; }
.fphlab-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; }

.fphlab-tabs { display:flex; gap:0; border:1px solid var(--fp-line); border-radius:5px; overflow:hidden; margin-bottom:16px; background:#fff; }
.fphlab-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; }
.fphlab-tab:last-child { border-right:0; }
.fphlab-tab:hover { background:#f5f8ff; color:var(--fp-blue); }
.fphlab-tab.is-active { background:var(--fp-blue); color:#fff; }
.fphlab-tab-panel[hidden] { display:none !important; }

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

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

.fphlab-main-grid { display:grid; grid-template-columns:minmax(0, 2.05fr) minmax(350px, 1fr); gap:22px; align-items:start; }
.fphlab-news { min-width:0; }
.fphlab-feature-grid { display:grid; grid-template-columns:1.68fr 1fr; gap:5px; min-height:490px; }
.fphlab-story-stack { display:grid; grid-template-rows:1fr 1fr; gap:5px; min-height:0; }
.fphlab-story { position:relative; min-width:0; min-height:0; overflow:hidden; background:#151515; border-radius:4px; }
.fphlab-story-link { position:absolute; inset:0; display:block; color:#fff !important; text-decoration:none !important; }
.fphlab-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; }
.fphlab-story-link:hover .fphlab-story-image { transform:scale(1.025); }
.fphlab-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%); }
.fphlab-story-copy { position:absolute; left:0; right:0; bottom:0; padding:24px; z-index:2; }
.fphlab-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; }
.fphlab-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); }
.fphlab-catenaccio { margin:9px 0 0; color:#fff; font-size:15px; line-height:1.35; }
.fphlab-meta { display:flex; gap:15px; align-items:center; margin-top:12px; color:#f2f4f7; font-size:11px; }

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

.fphlab-headlines { display:grid; grid-template-columns:repeat(3, 1fr); margin-top:8px; border:1px solid var(--fp-line); border-radius:4px; overflow:hidden; }
.fphlab-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); }
.fphlab-headline:nth-child(3n) { border-right:0; }
.fphlab-headline:nth-last-child(-n+3) { border-bottom:0; }
.fphlab-headline:hover strong { color:var(--fp-blue); }
.fphlab-headline-eyebrow { color:var(--fp-blue); font-size:9px; line-height:1.1; font-weight:900; text-transform:uppercase; }
.fphlab-headline strong { font-size:13px; line-height:1.22; font-weight:700; }
.fphlab-headline small { margin-top:auto; color:var(--fp-muted); font-size:10px; }

.fphlab-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; }
.fphlab-news-btn:hover { background:var(--fp-blue-dark); }

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

.fphlab-table-wrap { overflow-x:auto; }
.fphlab-table { width:100%; border-collapse:collapse; font-size:11px; }
.fphlab-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; }
.fphlab-table th:nth-child(2) { text-align:left; }
.fphlab-table td { padding:8px 5px; border-bottom:1px solid #edf0f4; text-align:center; color:#1d2939; }
.fphlab-table tbody tr:last-child td { border-bottom:0; }
.fphlab-team-cell { display:flex; align-items:center; gap:7px; text-align:left !important; white-space:nowrap; }
.fphlab-team-cell img { width:21px !important; height:21px !important; object-fit:contain !important; flex:0 0 21px; }
.fphlab-team-cell strong { font-size:11px; }

.fphlab-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; }
.fphlab-fixture-day:first-child { margin-top:0; }
.fphlab-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; }
.fphlab-fixture:hover { background:#f8faff; }
.fphlab-fixture-team { display:flex; align-items:center; gap:7px; min-width:0; }
.fphlab-fixture-home { justify-content:flex-end; text-align:right; }
.fphlab-fixture-team img { width:20px !important; height:20px !important; object-fit:contain !important; flex:0 0 20px; }
.fphlab-fixture-time { text-align:center; font-size:11px; }

.fphlab-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; }
.fphlab-empty { color:var(--fp-muted); font-size:12px; }
.fphlab-empty-large { padding:25px; border:1px dashed #cbd5e1; border-radius:5px; }
.fphlab-coming-soon { display:flex; flex-direction:column; gap:8px; padding:36px; border:1px dashed #9db7ef; border-radius:5px; background:#f7faff; text-align:center; }
.fphlab-coming-soon strong { color:var(--fp-blue); font-size:20px; }
.fphlab-coming-soon span { color:var(--fp-muted); }

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

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

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

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

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


/* v0.3.1 — macro-title + sponsor slot */
.fphlab-macro-header{align-items:center;padding:2px 2px 15px}
.fphlab-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;
}
.fphlab-macro-kicker{display:none!important}
.fphlab-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;
}
.fphlab-sponsor a{display:block;width:100%;line-height:0;text-decoration:none!important}
.fphlab-sponsor img{
    display:block;
    width:100%!important;
    height:auto!important;
    max-height:150px;
    object-fit:cover!important;
    margin:0!important;
}
@media(max-width:700px){
    .fphlab-macro-header h2{font-size:25px!important}
    .fphlab-sponsor{min-height:70px}
    .fphlab-sponsor img{max-height:120px}
}

/* v0.3.1 — Catenaccio nelle sei news compatte */
.fphlab-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}
.fphlab-headline{min-height:118px}
.fphlab-headline small{margin-top:auto}
@media(max-width:700px){.fphlab-headline{min-height:124px}.fphlab-headline-summary{font-size:10px}}

/* v0.4.0 — 3 news cards con immagini + navigazione ‹ › */
.fphlab-compact-carousel{
    margin-top:9px;
    border:1px solid var(--fp-line);
    border-radius:4px;
    overflow:hidden;
    background:#fff;
}
.fphlab-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;
}
.fphlab-compact-carousel-label{
    color:var(--fp-blue);
    font-size:10px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.fphlab-compact-carousel-nav{display:flex;gap:5px;align-items:center}
.fphlab-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;
}
.fphlab-carousel-btn:hover{background:#f5f8ff;border-color:#9db7ef}
.fphlab-carousel-btn:disabled{opacity:.35;cursor:default;background:#fff}
.fphlab-compact-carousel-viewport{overflow:hidden}
.fphlab-compact-carousel-track{width:100%}
.fphlab-compact-carousel-slide{
    display:none;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.fphlab-compact-carousel-slide.is-active{display:grid}
.fphlab-compact-story{min-width:0;border-right:1px solid var(--fp-line)}
.fphlab-compact-story:last-child{border-right:0}
.fphlab-compact-story-link{
    display:block;
    height:100%;
    color:var(--fp-text)!important;
    text-decoration:none!important;
}
.fphlab-compact-story-media{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#edf1f7;
}
.fphlab-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;
}
.fphlab-compact-story-link:hover .fphlab-compact-story-media img{transform:scale(1.025)}
.fphlab-compact-story-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#edf1f7,#f8fafc)}
.fphlab-compact-story-copy{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-height:126px;
    padding:10px 12px 11px;
}
.fphlab-compact-story-eyebrow{
    color:var(--fp-blue);
    font-size:8px;
    line-height:1.1;
    font-weight:900;
    text-transform:uppercase;
}
.fphlab-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;
}
.fphlab-compact-story-link:hover strong{color:var(--fp-blue)}
.fphlab-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;
}
.fphlab-compact-story-copy small{margin-top:auto;color:var(--fp-muted);font-size:9px}

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

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

/* v0.5.0 — master Serie A: macro-title centrato + carousel progressivo */
.fphlab-macro-header{
    display:block;
    text-align:center;
    padding:2px 2px 15px;
}
.fphlab-macro-header > div{width:100%}
.fphlab-macro-header h2{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}
.fphlab-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 */
.fphlab-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;
}
.fphlab-shell-topline{display:none}

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

.fphlab-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;
}
.fphlab-tabs::before{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:10px;
    height:1px;
    background:#dce4ee;
}
.fphlab-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;
}
.fphlab-tab:hover{color:var(--fp-blue);background:#fff!important}
.fphlab-tab::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:transparent;
}
.fphlab-tab.is-active{color:var(--fp-blue);background:#fff!important}
.fphlab-tab.is-active::after{background:var(--fp-blue)}
.fphlab-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. */
.fphlab-competition-header{display:none!important}

.fphlab-main-grid{
    grid-template-columns:minmax(0,2.1fr) minmax(330px,.86fr);
    gap:20px;
}
.fphlab-feature-grid{
    height:488px;
    grid-template-columns:1.72fr .88fr;
    gap:10px;
}
.fphlab-story{border-radius:2px}
.fphlab-story-copy{padding:24px}
.fphlab-story-main h3{font-size:34px}
.fphlab-story-secondary h3{font-size:19px}
.fphlab-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%)}
.fphlab-eyebrow{background:#1599ea;border-radius:0;padding:6px 9px}

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

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

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

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

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


/* v0.6.1 — rifinitura header master + chiusura grafica Prossima giornata */
.fphlab-macro-header{
    padding:34px 18px 14px;
}
.fphlab-macro-title-row{
    gap:26px;
}
.fphlab-macro-header h2{
    font-size:54px!important;
    line-height:.96!important;
}
.fphlab-macro-subtitle{
    margin-top:11px;
    gap:14px;
}
.fphlab-macro-subtitle span{
    width:72px;
}
.fphlab-macro-subtitle strong{
    font-size:10.5px;
    letter-spacing:.21em;
}
.fphlab-macro-stripes{
    gap:6px;
}
.fphlab-macro-stripes i{
    width:21px;
    height:55px;
}
.fphlab-tabs{
    gap:50px;
    min-height:68px;
    margin-bottom:30px;
}
.fphlab-tab{
    min-width:154px;
    padding:13px 26px 18px;
    font-size:16px;
}
.fphlab-tab.is-active::after{
    height:4px;
}
.fphlab-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. */
.fphlab-card-fixtures{
    position:relative;
    padding-bottom:15px;
}
.fphlab-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;
}
.fphlab-fixtures-endmark span{
    display:block;
    width:7px;
    height:19px;
    transform:skewX(-27deg);
    border-radius:1px;
}
.fphlab-fixtures-endmark span:nth-child(1){background:#d8f0ff}
.fphlab-fixtures-endmark span:nth-child(2){background:#1755d8}
.fphlab-fixtures-endmark span:nth-child(3){background:#8fdcff}

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

/* v0.6.2 — micro-rifiniture master Serie A */
@media(min-width:1101px){
    .fphlab-macro-title-row{gap:18px}
}
.fphlab-fixtures-endmark{gap:5px}
.fphlab-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. */
    .fphlab-macro-header{padding:20px 4px 8px}
    .fphlab-macro-title-row{gap:8px;align-items:center}
    .fphlab-macro-title-wrap{min-width:0;flex:1}
    .fphlab-macro-header h2{font-size:32px!important;line-height:.98!important}
    .fphlab-macro-subtitle{margin-top:7px}
    .fphlab-macro-subtitle span{display:none}
    .fphlab-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;
    }
    .fphlab-macro-stripes{flex:0 0 auto;gap:3px}
    .fphlab-macro-stripes i{width:8px;height:32px}
    .fphlab-tabs{margin-bottom:20px}

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

    /* Ultime notizie: carousel touch, una card leggibile + accenno della successiva. */
    .fphlab-compact-carousel{margin-top:18px}
    .fphlab-compact-carousel-head{padding-bottom:10px}
    .fphlab-compact-carousel-label{font-size:18px}
    .fphlab-compact-carousel-viewport{overflow:hidden;padding-top:14px}
    .fphlab-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%;
    }
    .fphlab-compact-carousel-slide.is-active::-webkit-scrollbar{display:none}
    .fphlab-compact-story{
        scroll-snap-align:start;
        border-right:0;
        min-width:0;
    }
    .fphlab-compact-story-media{aspect-ratio:16/9}
    .fphlab-compact-story-copy{min-height:132px;padding:10px 0 4px}
    .fphlab-compact-story-copy strong{font-size:16px;line-height:1.2;-webkit-line-clamp:2}
    .fphlab-compact-story-summary{font-size:11px}
    .fphlab-compact-story-copy small{font-size:10px}

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

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

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

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

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

/* Cinque linguette: leggermente più compatte solo nella macro Estero. */
#fphlab-calcio-estero .fphlab-tabs{gap:18px}
#fphlab-calcio-estero .fphlab-tab{min-width:128px;padding-left:14px;padding-right:14px}
@media(max-width:920px){
    #fphlab-calcio-estero .fphlab-tabs{gap:4px;justify-content:flex-start;overflow-x:auto;overflow-y:visible;scrollbar-width:none}
    #fphlab-calcio-estero .fphlab-tabs::-webkit-scrollbar{display:none}
    #fphlab-calcio-estero .fphlab-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. */
    .fphlab-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. */
    #fphlab-calcio-estero .fphlab-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;
    }
    #fphlab-calcio-estero .fphlab-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;
    }
    #fphlab-calcio-estero .fphlab-tab:nth-child(1),
    #fphlab-calcio-estero .fphlab-tab:nth-child(2),
    #fphlab-calcio-estero .fphlab-tab:nth-child(3){grid-column:span 2}
    #fphlab-calcio-estero .fphlab-tab:nth-child(4){grid-column:2 / span 2}
    #fphlab-calcio-estero .fphlab-tab:nth-child(5){grid-column:4 / span 2}
    #fphlab-calcio-estero .fphlab-tab-logo{
        width:24px!important;
        height:24px!important;
        flex-basis:24px!important;
    }
}

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

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

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

.fphlab-fixture-round{margin:10px 0 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#17345f}.fphlab-fixture-round:first-child{margin-top:0}
