/* Ajustes funcionais; o desenho é definido pelo style.css do tema original. */
img { max-width: 100%; }
.youth-page { padding-top: 6px; padding-bottom: 12px; }
.youth-intro { margin: -8px 0 26px; max-width: 650px; color: #65738a; font-size: 15px; line-height: 1.6; }
.youth-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.youth-card { display: flex; align-items: center; gap: 16px; min-height: 132px; padding: 24px; border: 1px solid #dce6f5; border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(29,56,98,.04); color: #1b3155; transition: border-color .2s, background-color .2s; }
.youth-card-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 12px; background: #edf3ff; color: #295da6; }
.youth-card-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 8px; }
.youth-card-copy strong { font-size: 18px; line-height: 1.35; font-weight: 600; }
.youth-card-copy > span { font-size: 12px; color: #65738a; }
.youth-card-arrow { flex: 0 0 20px; color: #7290bb; }
.youth-card:hover { border-color: #aac4e9; background: #f7faff; color: #1854b5; }
.youth-card:focus-visible { outline: 3px solid #729bdb; outline-offset: 3px; }
@media (max-width: 991px) { .youth-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 575px) { .youth-grid { grid-template-columns: minmax(0,1fr); gap: 12px; } .youth-card { padding: 20px; min-height: 108px; } }
.content-tabs, .news-filters .navbar-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: fit-content; max-width: 100%; padding: 6px; margin: 0 0 28px; border: 1px solid #dce5f4; border-radius: 12px; background: #edf2fa; }
.sismaria .content-tabs .sismaria-link, .cultura .content-tabs .cultura-link, .news-filters li .btn-default { display: block; margin: 0; padding: 11px 18px; border: 0 !important; border-radius: 8px; background: transparent; color: #435773; font-size: 14px; font-weight: 500; line-height: 1.4; text-decoration: none; }
.sismaria .content-tabs .sismaria-link:not(.collapsed), .cultura .content-tabs .cultura-link:not(.collapsed), .news-filters li .btn-default.active { color: #fff; background: #1854b5; box-shadow: 0 2px 6px rgba(4,60,167,.1); }
.content-tabs button:hover, .news-filters li .btn-default:hover { background: #e0e9f8; }
.news-filters .navbar-nav { overflow: visible; }
.news-filters li { display: block; margin: 0; }
.content-tabs button:focus-visible, .news-filters a:focus-visible { outline: 3px solid #729bdb; outline-offset: 2px; }
.sismaria > .collapse > .tables-wrapper, .cultura > .collapse > .tables-wrapper { padding: 30px 34px; border: 1px solid #e0e8f4; border-radius: 16px; box-shadow: 0 5px 18px rgba(29,56,98,.05); color: #34465f; font-size: 16px; line-height: 1.8; }
.sismaria .tables-wrapper > p, .cultura .tables-wrapper > p { max-width: 850px; margin: 0 0 18px; font-size: 16px; line-height: 1.8; }
.sismaria .tables-wrapper h2, .sismaria .tables-wrapper h3, .cultura .tables-wrapper h2, .cultura .tables-wrapper h3 { margin: 24px 0 14px; color: #1b3155; font-size: 22px; font-weight: 600; }
.sismaria .tables-wrapper > :first-child, .cultura .tables-wrapper > :first-child { margin-top: 0; }
.sismaria .tables-wrapper .content-lead, .cultura .tables-wrapper .content-lead { color: #1b3155; font-size: 21px; font-weight: 500; line-height: 1.5; }
.club-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 0; margin: 24px 0; list-style: none; }
.club-values li { padding: 18px; border: 1px solid #e0e8f4; border-radius: 10px; background: #f7f9fd; }
.club-values strong { display: block; margin-bottom: 4px; color: #24549b; }
@media (max-width: 575px) {
    .content-tabs, .news-filters .navbar-nav { gap: 4px; padding: 5px; }
    .sismaria .content-tabs .sismaria-link, .cultura .content-tabs .cultura-link, .news-filters li .btn-default { padding: 10px 12px; font-size: 12px; }
    .sismaria > .collapse > .tables-wrapper, .cultura > .collapse > .tables-wrapper { padding: 22px 20px; }
    .club-values { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 991px) {
    #header .navbar .navbar-brand { margin-left: 0; margin-right: auto; }
    #header .site-live-mobile { margin-left: 8px; margin-right: 12px; min-height: 34px; padding: 8px 10px; font-size: 11px; }
    #header .navbar:not(.scrolled) .site-live-mobile { color: #ffe2da; background: rgba(255,235,230,.1); border-color: rgba(255,179,165,.5); }
}
@media (max-width: 379px) {
    #header .navbar-brand .nomeemblema { font-size: 18px; margin-left: 5px; }
    #header .navbar-brand .logo-acs { max-width: 36px; }
    #header .site-live-mobile { margin-right: 5px; padding-inline: 7px; }
}
#header .site-live-item { align-self: center; margin-left: 10px; }
#header .site-live-link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 9px 12px; border: 1px solid rgba(255,179,165,.5); border-radius: 9px; background: rgba(255,235,230,.1); color: #ffe2da; font-size: 12px; font-weight: 600; line-height: 1; white-space: nowrap; }
#header .site-live-link::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #ee453e; animation: live-dot-breathe 2.4s ease-in-out infinite; }
@keyframes live-dot-breathe { 0%, 100% { opacity: .65; box-shadow: 0 0 0 0 rgba(238,69,62,0); } 50% { opacity: 1; box-shadow: 0 0 0 4px rgba(238,69,62,.16); } }
@media (min-width: 992px) {
    #header .site-live-item .site-live-link { transform: skew(-15deg); }
    #header .site-live-item .site-live-link > span { display: inline-block; transform: skew(15deg); }
    #header .site-live-item .site-live-link::before { transform: skew(15deg); }
}
@media (prefers-reduced-motion: reduce) { #header .site-live-link::before { animation: none; } }
#header .site-live-link:hover { background: rgba(255,235,230,.2); }
#header .navbar.scrolled .site-live-link { color: #ac352a; background: #fff2ef; border-color: #f1d0c9; }
#header .site-live-link:focus-visible { outline: 2px solid #ef810d; outline-offset: 3px; }
@media (min-width: 992px) { #header .navbar-nav { align-items: center; } }
@media (max-width: 991px) { #header .site-live-item { align-self: flex-start; margin: 8px 0; } #header .site-live-link { color: #ac352a; background: #fff2ef; border-color: #f1d0c9; } }
.official-group + .official-group { margin-top: 28px; }
.officials-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.official-card { border: 1px solid #e0e8f4; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(29,56,98,.035); overflow: hidden; }
.official-card-body { display: flex; align-items: center; gap: 14px; min-height: 86px; padding: 18px; color: #1b3155; }
a.official-card-body:hover { background: #f4f7fc; color: #1854b5; }
a.official-card-body:focus-visible { outline: 3px solid #729bdb; outline-offset: -3px; border-radius: 12px; }
.official-avatar { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #edf3ff; box-shadow: 0 0 0 1px #e3e9f2; }
.official-info { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; }
.official-name { font-size: 15px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.official-role { font-size: 12px; color: #65738a; }
.official-profile-icon { flex: 0 0 16px; color: #7290bb; }
@media (max-width: 575px) { .officials-grid { grid-template-columns: minmax(0, 1fr); } .official-card-body { padding: 14px; } }
.fichajogo .game-officials { margin-top: 36px; }
.fichajogo .game-officials .block-title:not(:first-child) { margin-top: 24px; }
.game-demo-controls { margin-top: 24px; padding: 20px; border: 1px solid #f1d4af; border-radius: 14px; background: #fff8ee; color: #644621; }
.game-demo-controls p { margin: 8px 0; font-size: 13px; }
.game-demo-controls button { margin: 4px 8px 4px 0; padding: 8px 14px; border: 1px solid #dce5f4; border-radius: 8px; background: #fff; color: #24549b; font-size: 13px; }
.game-demo-controls .game-demo-event { margin-top: 12px; font-weight: 600; }
.game-sheet-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 22px; }
.game-sheet-toolbar .game-return-link { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.game-return-link svg { flex: 0 0 18px; }
.game-update-status { margin: 0 0 0 auto; color: #295da6; font-size: 12px; text-align: right; }
@media (max-width: 575px) { .game-sheet-toolbar { gap: 10px; flex-wrap: wrap; } .game-sheet-toolbar .game-return-link { font-size: 12px; } .game-update-status { font-size: 11px; } }
.game-update-status:empty { display: none; }
.game-update-error { color: #975725; }
.game-value-changed { border-radius: 8px; animation: game-update-flash 1.5s ease-out; }
.fichajogo .jogo-details th .timeout, .fichajogo .jogo-details th .sete-metros { padding: 4px 6px; border-radius: 8px; }
.fichajogo .jogo-details tr.game-row-changed > td { animation: game-row-flash 1.5s ease-out; }
@keyframes game-update-flash { 0%, 25% { background-color: #dceaff; box-shadow: inset 0 0 0 1px rgba(41,93,166,.25); } 100% { box-shadow: inset 0 0 0 1px transparent; } }
@keyframes game-row-flash { 0%, 25% { background-color: #dceaff; } 100% { background-color: transparent; } }
@media (prefers-reduced-motion: reduce) { .game-value-changed, .fichajogo .jogo-details tr.game-row-changed > td { animation: none; } }
.age-group-page { padding-top: 30px; padding-bottom: 40px; }
.age-group-top { margin-bottom: 36px; }
.age-competitions { display: grid; gap: 16px; }
.age-competition-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px; border: 1px solid #dce6f5; border-left: 4px solid #1854b5; border-radius: 14px; background: linear-gradient(110deg,#edf3ff,#fff); box-shadow: 0 4px 16px rgba(29,56,98,.04); }
.age-competition-heading { min-width: 0; }
.age-competition-heading > span { color: #65738a; font-size: 12px; }
.age-competition-heading h2 { margin: 6px 0 0; font-size: 21px; line-height: 1.35; font-weight: 600; }
.age-competition-heading h2 a { color: #1b3155; }
.age-competition-actions { display: flex; flex-wrap: wrap; gap: 8px; flex: 0 0 auto; }
.age-competition-actions a { display: inline-flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #dce6f5; border-radius: 8px; background: #fff; color: #24549b; font-size: 13px; font-weight: 500; }
.age-competition-actions a:hover { background: #e5eeff; border-color: #aac4e9; }
.age-group-content { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 28px; align-items: start; }
.age-group-content .block-title { margin: 0 0 24px; }
.age-group-content .noticias { margin-top: 0; }
.age-group-news .noticias > .row > [class*="col-"] { width: 100%; }
.age-group-news .noticia { flex-direction: row; }
.age-group-news .noticia .linkimg { width: 38%; }
.age-group-news .noticia .linkimg img { height: 100%; min-height: 230px; aspect-ratio: auto; }
.age-group-gallery .galeria-link { display: block; margin-bottom: 18px; border: 1px solid #dce6f5; border-radius: 14px; overflow: hidden; }
.age-group-gallery .galeria-link img { height: 210px; object-fit: cover; }
.age-group-gallery .galeria-nome { font-size: 18px; line-height: 1.4; font-weight: 500; }
.age-group-content:not(:has(.age-group-gallery .galeria-link)), .age-group-content:not(:has(.age-group-news .noticia)) { grid-template-columns: minmax(0,1fr); }
@media (max-width: 991px) { .age-competition-card { align-items: flex-start; flex-direction: column; gap: 16px; } }
@media (max-width: 767px) {
    .age-group-content { grid-template-columns: minmax(0,1fr); gap: 28px; }
    .age-competition-card { padding: 20px; }
    .age-competition-heading h2 { font-size: 19px; }
    .age-competition-actions { gap: 6px; }
    .age-competition-actions a { padding: 9px; font-size: 12px; gap: 6px; }
    .age-group-news .noticia { flex-direction: column; }
    .age-group-news .noticia .linkimg { width: 100%; }
    .age-group-news .noticia .linkimg img { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
}
.game-return-link { display: inline-block; margin-top: 22px; color: #24549b; font-size: 14px; font-weight: 500; }
.round-shortcuts .round-edge { padding: 10px 8px; font-size: 12px; background: #edf3ff; }
@media (max-width: 575px) { .round-shortcuts-label { display: none; } .round-shortcuts .round-edge { font-size: 11px; } }
.prova .tables-wrapper + .mb-4 { margin-top: 40px; }
.block-title { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 24px; color: #1b3155; font-size: 21px; font-weight: 600; line-height: 1.35; text-transform: none !important; letter-spacing: -.3px; }
.block-title::before { content: ''; display: block; flex: 0 0 5px; width: 5px; height: 25px; margin: 0; border-radius: 4px; background: linear-gradient(180deg, #ef810d, #ffb260); transform: none; }
.seccao-jogos > .row + .row { margin-top: 24px; }
#footer .block-title { color: #e4edfb; font-size: 18px; }
#header .navbar .nav-link { padding: 10px 13px !important; border-radius: 9px; font-size: 14px; font-weight: 500; text-transform: capitalize !important; transition: background-color .2s, color .2s; }
#header .navbar .nav-item { padding-inline: 0 !important; margin-right: 3px; }
#header .navbar .nav-link { isolation: isolate; }
#header .navbar .nav-link::after { content: ''; display: block; position: absolute; inset: 0; width: auto; height: auto; border-radius: 9px; transform: skew(-15deg); background: rgba(255,255,255,.13); opacity: 0; z-index: -1; transition: opacity .2s; }
#header .navbar .nav-link:hover, #header .navbar .nav-link.active { background: transparent; }
#header .navbar .nav-link:hover::after, #header .navbar .nav-link.active::after { width: auto; background: rgba(255,255,255,.13); opacity: 1; }
#header .navbar.scrolled .nav-link:hover, #header .navbar.scrolled .nav-link.active { background: transparent; color: #1854b5 !important; }
#header .navbar.scrolled .nav-link:hover::after, #header .navbar.scrolled .nav-link.active::after { background: #edf3ff !important; }
#header .navbar .nav-item.socios-nav { transform: skew(-15deg); border-radius: 10px; padding: 0; margin-left: 8px; background: #fff; box-shadow: 0 2px 8px rgba(7,30,68,.08); }
#header .navbar .nav-item.socios-nav .nav-link { transform: skew(15deg); padding: 10px 18px; color: #043ca7 !important; }
#header .navbar .socios-nav .nav-link::after, #header .navbar .nav-link.social::after { display: none; }
.seccao-jogos .jogo-local.is-home::before { content: ''; display: inline-block; width: 16px; height: 16px; margin-right: 6px; vertical-align: -3px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10 9-7 9 7M5 9v12h5v-7h4v7h5V9'/%3E%3C/svg%3E") center / contain no-repeat; }
#header .navbar.scrolled .nav-item.socios-nav { background: #1854b5; }
#header .navbar.scrolled .nav-item.socios-nav .nav-link { color: #fff !important; }
#header .navbar .nav-link.social { padding: 10px; }
#header .navbar .nav-link:focus-visible { outline: 2px solid #ef810d; outline-offset: 3px; }
#header .dropdown-menu { padding: 8px; border: 1px solid #e0e8f4; border-radius: 12px; box-shadow: 0 8px 24px rgba(29,56,98,.12); }
#header .dropdown-menu .dropdown-item { padding: 10px 14px; border-radius: 7px; font-size: 14px; color: #34465f; }
#header .dropdown-menu .dropdown-item:hover, #header .dropdown-menu .dropdown-item.active { background: #edf3ff; color: #1854b5; }
@media (max-width: 991px) {
    #header .navbar .navbar-collapse .nav-link:hover::after, #header .navbar .navbar-collapse .nav-link.active::after { background: #edf3ff !important; }
    #header .navbar .navbar-collapse .nav-link:hover, #header .navbar .navbar-collapse .nav-link.active { color: #1854b5 !important; }
    #header .navbar .nav-link { padding: 12px 16px; }
    #header .navbar .nav-item.socios-nav { margin: 8px 0; }
    #header .navbar .nav-item.socios-nav .nav-link { color: #043ca7 !important; }
}
@media (max-width: 575px) { .block-title { font-size: 18px; gap: 10px; } }
.noticia-page { max-width: 1140px; margin-top: 30px; margin-bottom: 48px; }
.article-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; color: #91a2bc; font-size: 13px; }
.article-breadcrumb a { color: #65738a; }
.article-breadcrumb a:hover { color: #043ca7; }
.article-card { padding: 32px; background: #fff; border: 1px solid #e0e8f4; border-radius: 18px; box-shadow: 0 5px 18px rgba(29,56,98,.06); }
.article-heading { padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid #edf1f7; }
.article-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 14px; font-size: 13px; color: #65738a; }
.article-category { display: inline-block; padding: 5px 12px; border-radius: 20px; background: #edf3ff; color: #24549b; font-size: 12px; font-weight: 600; }
.article-heading h1 { max-width: 900px; margin: 0; font-size: clamp(27px, 3vw, 38px); line-height: 1.25; font-weight: 600; letter-spacing: -.6px; color: #1b3155; overflow-wrap: anywhere; }
.article-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 32px; align-items: start; }
.article-layout--text-only { grid-template-columns: minmax(0,1fr); max-width: 780px; }
.article-content { min-width: 0; color: #34465f; font-size: 17px; font-weight: 400; line-height: 1.8; overflow-wrap: anywhere; }
.noticia-page .article-content p { margin: 0 0 18px; font-size: inherit; line-height: inherit; }
.article-content h2, .article-content h3 { color: #1b3155; font-weight: 600; line-height: 1.35; margin-top: 24px; }
.article-content a { color: #1854b5; text-decoration: underline; text-underline-offset: 3px; }
.article-content iframe, .article-content video { max-width: 100%; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; }
.article-content blockquote { margin: 20px 0; padding: 14px 20px; background: #f4f7fc; border-left: 3px solid #729bdb; border-radius: 0 8px 8px 0; }
.article-image { margin: 0; padding: 0; }
.article-image a { display: block; }
.noticia-page .article-image img { display: block; width: auto; max-width: 100%; max-height: 480px; height: auto; margin-inline: auto; object-fit: contain; border-radius: 14px; }
.article-footer { padding-top: 22px; margin-top: 28px; border-top: 1px solid #edf1f7; }
.article-footer a { color: #24549b; font-size: 13px; font-weight: 600; }
@media (max-width: 767px) {
    .noticia-page { margin-top: 22px; margin-bottom: 30px; }
    .article-card { padding: 20px; border-radius: 14px; }
    .article-heading { padding-bottom: 20px; margin-bottom: 20px; }
    .article-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .article-content { font-size: 16px; }
    .article-image { grid-row: 1; }
    .noticia-page .article-image img { max-height: 420px; }
}
/* The exported poster keeps its own fixed composition, independent of match cards. */
#cartaz .cartaz > svg.logo-acs { visibility: hidden; }
#cartaz .matchday { filter: none; }
#cartaz .poster-game .jogo-header {
    width: 100%; max-width: none; margin: 50px 0; padding: 0;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
#cartaz .poster-game .jogo-header .jogo-estado {
    display: block; padding: 0; border-radius: 0; background: transparent;
    color: #043ca7; font-size: 30px; font-weight: 900; text-transform: uppercase;
}
#cartaz .poster-game .jogo-header .jogo-data {
    margin-top: 50px; color: #043ca7; font-size: 18px; font-weight: 600; text-transform: uppercase;
}
#cartaz .poster-game .jogo-header .jogo-local {
    margin-top: 0; color: #043ca7; font-size: 20px; font-weight: 500; text-transform: uppercase;
}
html.sports-navigating, html.sports-navigating a { cursor: progress; }
/* Notícias e parceiros: cartões com uma hierarquia e um ritmo comuns. */
.noticias > .row > [class*="col-"], .noticias-page .row > [class*="col-"] { display: flex; margin-bottom: 24px; }
.noticia { display: flex; flex-direction: column; width: 100%; margin-bottom: 0; overflow: hidden; border: 1px solid #e0e8f4; border-radius: 16px; box-shadow: 0 5px 18px rgba(29,56,98,.06); transition: box-shadow .2s, border-color .2s; }
.noticia .linkimg { overflow: hidden; flex: 0 0 auto; margin: 0; border-radius: 0; background: #edf3ff; }
.noticia .linkimg img { display: block; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; transition: transform .25s; }
.noticia:hover img { filter: none; }
.noticia .noticia-info { position: relative; display: flex; flex-direction: column; flex: 1; padding: 22px; color: #65738a; font-size: 12px; }
.noticia .noticia-info > a:not(.noti-categoria) { display: flex; flex-direction: column; flex: 1; margin-top: 14px; }
.noticia a.noti-categoria { position: absolute; top: 17px; right: 20px; padding: 4px 10px; border-radius: 20px; background: #edf3ff; color: #24549b; font-size: 11px; font-weight: 600; }
.noticia h4 { margin: 0 0 10px; color: #1b3155; font-size: 20px; line-height: 1.35; font-weight: 600; }
.noticia p.desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 20px; color: #65738a; font-size: 14px; line-height: 1.6; }
.noticia .notinfo { margin-top: auto; padding-top: 14px; border-top: 1px solid #edf1f7; }
.noticia .lermais { float: none; margin: 0; font-size: 13px; font-weight: 600; color: #1854b5; }
.noticias a.vermais { margin-left: 14px; padding: 5px 12px; border: 1px solid #dce5f4; border-radius: 8px; color: #24549b; font-size: 13px; font-weight: 500; vertical-align: middle; }
.latest-news-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.latest-news-heading .block-title { margin: 0; }
.noticias .latest-news-heading a.vermais { display: inline-flex; align-items: center; margin: 0; white-space: nowrap; }
.noticia a:focus-visible { outline: 3px solid #729bdb; outline-offset: -3px; }
#footer .patrocinios { padding: 26px; margin: 16px auto 40px; border: 1px solid rgba(182,207,244,.2); border-radius: 18px; background: rgba(255,255,255,.035); }
.sponsors-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.sponsors-heading h2 { margin: 0; color: #fff; font-size: 20px; font-weight: 600; }
.sponsors-heading p { margin: 0; color: #b1c5e5; font-size: 13px; }
#footer .patrocinios .owl-carousel { margin-top: 22px; }
#footer .patrocinios .item { margin: 0 5px; }
#footer .patrocinios .item a { display: flex; align-items: center; justify-content: center; height: 116px; padding: 18px; border-radius: 12px; border: 1px solid rgba(182,207,244,.12); background: rgba(255,255,255,.035); }
#footer .patrocinios .item img { height: 76px; width: 100%; object-fit: contain; opacity: .9; }
#footer .patrocinios .item a:hover, #footer .patrocinios .item a:focus-visible { background: rgba(255,255,255,.09); outline: 2px solid #729bdb; outline-offset: -2px; }
#footer .patrocinios .owl-prev { left: -22px; }
#footer .patrocinios .owl-next { right: -22px; }
#footer .patrocinios .owl-nav svg, #footer .patrocinios .owl-nav svg polyline { stroke: #b1c5e5; }
@media (hover: hover) {
    .noticia:hover { border-color: #bbcee9; box-shadow: 0 9px 24px rgba(29,56,98,.1); }
    .noticia:hover .linkimg img { transform: scale(1.025); }
}
@media (max-width: 575px) {
    .noticia .noticia-info { padding: 20px; }
    #footer .patrocinios { padding: 20px 14px; }
    .sponsors-heading { flex-direction: column; gap: 5px; }
    #footer .patrocinios .item a { height: 100px; padding: 14px; }
    #footer .patrocinios .item img { height: 66px; }
    #footer .patrocinios .owl-prev { left: -14px; }
    #footer .patrocinios .owl-next { right: -14px; }
}
@media (prefers-reduced-motion: reduce) { .noticia, .noticia .linkimg img { transition: none; } }
.formation-single > .col-md-6:not(.d-none) { width: 100%; }
.formation-single #ultimos-container, .formation-single #proximos-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.formation-single .jogo-preview { margin-bottom: 0; }
@media (max-width: 767px) {
    .formation-single #ultimos-container, .formation-single #proximos-container { grid-template-columns: minmax(0, 1fr); }
}
/* Separadores interiores; o banner principal usa .banner e mantém o seu desenho. */
.banner-separador { height: auto; min-height: 230px; padding: 125px 0 30px; background: linear-gradient(110deg, #102b55, #124786); border-bottom: 1px solid #d8e3f3; isolation: isolate; }
.banner-separador::before { background: radial-gradient(ellipse at 70% 0, rgba(111,163,229,.18), transparent 65%); z-index: -1; }
.banner-separador .banner-img { left: 0; width: 100%; height: 100%; object-position: center 42%; opacity: .14; mask-image: linear-gradient(to right, transparent 10%, #000 100%); z-index: -1; }
.banner-separador > .container { position: relative; }
.banner-separador .page-slogan-other { position: relative; bottom: auto; width: 100%; max-width: 960px; padding-left: 18px; color: #fff; font-size: clamp(24px, 2.5vw, 34px); line-height: 1.3; font-weight: 600; text-transform: none; letter-spacing: -.35px; overflow-wrap: anywhere; }
.banner-separador .page-slogan-other::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; border-radius: 4px; background: linear-gradient(180deg, #ef810d, #ffb260); }
.banner-separador .page-slogan-other p { width: auto; max-width: 100%; margin: 8px 0 0; color: #d5e3f7; font-size: 14px; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
.banner-separador .page-slogan-other p:first-child { margin: 0 0 6px; }
.banner-separador .page-slogan-other p:only-child { margin: 0; }
.banner-separador .page-slogan-other p a { color: #d5e3f7; }
.banner-separador .page-slogan-other a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) {
    .banner-separador { min-height: 190px; padding: 108px 0 24px; }
    .banner-separador .page-slogan-other { padding-left: 12px; font-size: 23px; }
    .banner-separador .page-slogan-other p { font-size: 13px; }
}
/* Ficha de jogo: o mesmo tratamento dos cartões e tabelas da prova. */
.fichajogo .jogo-header { width: 100%; max-width: 820px; margin: 24px auto 28px; padding: 16px 24px; border: 1px solid #d9e4f5; border-left: 5px solid #1854b5; border-radius: 14px; background: linear-gradient(115deg, #edf3ff, #fff 80%); box-shadow: 0 5px 18px rgba(29,56,98,.06); }
.fichajogo .jogo-header .jogo-estado { display: inline-block; padding: 6px 14px; border-radius: 20px; background: #e2ebfb; color: #24549b; font-size: 12px; text-transform: capitalize; }
.fichajogo .jogo-header .jogo-data { margin-top: 12px; color: #34465f; font-size: 16px; font-weight: 600; text-transform: none; }
.fichajogo .jogo-header .jogo-local { margin-top: 4px; color: #65738a; font-size: 14px; text-transform: none; overflow-wrap: anywhere; }
.match-scoreboard { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 18px; max-width: 900px; margin: 14px auto; }
.match-team { display: flex; align-items: center; gap: 16px; min-width: 0; }
.match-team--casa { grid-column: 1; grid-row: 1; flex-direction: row-reverse; text-align: right; }
.match-team--fora { grid-column: 3; grid-row: 1; text-align: left; }
.match-team img { flex: 0 0 52px; width: 52px; height: 52px; object-fit: contain; }
.match-team-name { color: #1b3155; font-size: 21px; line-height: 1.35; font-weight: 600; overflow-wrap: anywhere; }
.match-score { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.match-score > span:not(.match-score-divider) { min-width: 64px; padding: 10px; background: #fff; border: 1px solid #dce7fa; border-radius: 10px; font-size: 36px; font-weight: 700; line-height: 1.2; color: #043ca7; }
.match-score-divider { color: #91a9cd; font-size: 24px; }
.match-score > span.match-score-winner { border-color: #1854b5; box-shadow: inset 0 0 0 1px #1854b5; background: #edf3ff; }
.fichajogo .detalhes-resultado { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-top: 8px; text-transform: none; }
.fichajogo .jogo-header .detalhes-resultado .detalhe { display: flex; flex-direction: column; align-items: center; gap: 5px; margin: 0; }
.fichajogo .jogo-header .detalhes-resultado .detalhe-title { margin: 0; }
.fichajogo .jogo-header .jogo-estado .detalhe.live { margin: 0; }
.fichajogo .jogo-header .jogo-estado:has(.live) { background: #e5f5ee; }
.fichajogo .jogo-header .jogo-estado .live .detalhe-info { display: flex; align-items: center; gap: 7px; padding: 0; color: #176945; background: transparent; font-size: 12px; font-weight: 600; }
.fichajogo .jogo-header .jogo-estado .live .detalhe-info::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #249467; }
.fichajogo .jogo-header .equipas-resultado { margin-top: 10px; }
.fichajogo .jogo-header .detalhe-title { color: #65738a; font-size: 12px; text-transform: capitalize; margin-bottom: 5px; }
.fichajogo .jogo-header .detalhe-info { border-radius: 8px; background: #eaf0fa; color: #24549b; font-size: 15px; }
.fichajogo .jogo-details > .row { gap: 20px; }
.fichajogo .jogo-details > .row > .col-6 { width: calc(50% - 10px); }
.fichajogo .jogo-details .tables-wrapper { margin: 0 !important; padding: 20px 14px; border: 1px solid #e3e9f2; border-radius: 16px; box-shadow: 0 5px 16px rgba(29,56,98,.05); }
.fichajogo .equipa-casa-header, .fichajogo .equipa-fora-header { display: flex; align-items: center; gap: 12px; padding: 4px 8px 18px; margin-bottom: 6px; font-size: 16px; }
.fichajogo .jogo-details .neq { display: block; color: #1b3155; overflow-wrap: anywhere; }
.fichajogo .jogo-details .equipa-casa-header img, .fichajogo .jogo-details .equipa-fora-header img { width: 40px; height: 40px; flex: 0 0 40px; margin: 0; }
.fichajogo .jogo-details table { border-collapse: separate; border-spacing: 0 4px; margin-bottom: 0; }
.fichajogo .jogo-details table td { padding: 12px 8px; border: 0; vertical-align: middle; color: #34465f; font-weight: 400; text-transform: none; }
.fichajogo .jogo-details table td.nome { max-width: none; white-space: normal; overflow-wrap: anywhere; font-weight: 600; }
.fichajogo .jogo-details table td.nome a { color: inherit; }
.fichajogo .jogo-details table td.nome a:hover { color: #043ca7; }
.fichajogo .jogo-details table td.ncamisola { width: 42px; color: #65738a; font-variant-numeric: tabular-nums; }
.fichajogo .jogo-details table td:first-child { border-radius: 8px 0 0 8px; }
.fichajogo .jogo-details table td:last-child { border-radius: 0 8px 8px 0; }
.fichajogo .jogo-details tr:hover td, .fichajogo .jogo-details tr:focus-within td { background: #f4f7fc !important; }
.fichajogo .jogo-details .juiz-jogo { padding: 10px 16px; margin: 6px 0; background: #fff; border: 1px solid #e3e9f2; border-radius: 10px; color: #34465f; }
@media (max-width: 767px) {
    .fichajogo .jogo-header { padding: 14px 10px; margin-top: 18px; }
    .match-scoreboard { gap: 8px; margin: 14px auto; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
    .match-team, .match-team--casa { flex-direction: column; gap: 10px; text-align: center; }
    .match-team img { width: 48px; height: 48px; flex-basis: 48px; }
    .match-team-name { font-size: 13px; }
    .match-score { gap: 3px; }
    .match-score > span:not(.match-score-divider) { min-width: 38px; padding: 8px 5px; font-size: 25px; }
    .match-score-divider { font-size: 18px; }
    .fichajogo .jogo-details > .row { gap: 10px; }
    .fichajogo .jogo-details > .row > .col-6 { width: calc(50% - 5px); min-width: 0; }
    .fichajogo .jogo-details .tables-wrapper { padding: 14px 4px; }
    .fichajogo .equipa-casa-header, .fichajogo .equipa-fora-header { flex-direction: column; gap: 8px; padding: 0 4px 14px; text-align: center; font-size: 12px; }
    .fichajogo .jogo-details table { table-layout: fixed; width: 100%; }
    .game-roster-table .roster-number { width: 20px; }
    .game-roster-table .roster-stats { width: 90px; }
    .fichajogo .jogo-details table td { padding: 8px 3px; font-size: 11px; line-height: 1.35; }
    .fichajogo .jogo-details table td.ncamisola { width: 20px !important; padding: 10px 2px; }
    .fichajogo .jogo-details table td.desempenho { width: 90px !important; white-space: nowrap; }
    .fichajogo .jogo-details table td.desempenho svg { width: 15px; height: 15px; }
    .fichajogo .jogo-details table th { padding: 6px 2px; font-size: 10px; }
    .fichajogo .jogo-details table th > div { margin-right: 4px; margin-bottom: 5px; }
    .fichajogo .jogo-details table th .timeout svg { width: 14px; height: 14px; }
    .fichajogo .jogo-details table td.nome { width: auto !important; }
    .fichajogo .jogo-details table td.nome .notmobile { display: none !important; }
    .fichajogo .jogo-details table td.nome .mobile { display: inline !important; }
}
.scorers-section, .round-block { scroll-margin-top: 110px; }
.scorers-section[aria-busy="true"] .scorers-table { opacity: .55; transition: opacity .15s; }
.scorers-section[aria-busy="true"] .scorers-pagination { cursor: progress; }
.scorers-status:not(.visually-hidden) { color: #9b3a25; padding: 12px; background: #fff4ed; border-radius: 8px; }
.scorers-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 18px 8px 8px; color: #65738a; font-size: 14px; }
.pagination-controls { display: flex; align-items: center; gap: 10px; }
.pagination-controls a, .pagination-controls > span { padding: 9px 12px; border-radius: 8px; }
.pagination-controls a { background: #edf3ff; color: #043ca7; font-weight: 600; }
.pagination-controls a:hover { background: #dfeaff; }
.pagination-controls [aria-disabled] { opacity: .5; }
.pagination-controls .pagination-current { padding-inline: 0; white-space: nowrap; }
.round-shortcuts[hidden] { display: none; }
.round-shortcuts { position: fixed; z-index: 1000; bottom: calc(20px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; width: max-content; max-width: min(900px, calc(100% - 32px)); padding: 10px 14px; border: 1px solid #d5e1f4; border-radius: 16px; background: rgba(255,255,255,.97); box-shadow: 0 8px 32px rgba(24,58,111,.2); }
.round-shortcuts-label { color: #435773; font-size: 13px; font-weight: 600; }
.round-shortcuts-links { display: flex; align-items: center; gap: 6px; min-width: 0; height: 44px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-padding-inline: 18px; }
.round-shortcuts-links::-webkit-scrollbar { display: none; }
.round-scroll-arrow { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 44px; padding: 0; border: 0; background: transparent; box-shadow: none; color: #657fa7; cursor: pointer; transition: color .2s, opacity .2s; }
.round-scroll-arrow:hover:not(:disabled) { color: #043ca7; }
.round-scroll-arrow:disabled { opacity: .2; cursor: default; }
.round-scroll-arrow:focus-visible { outline: 2px solid #729bdb; outline-offset: 1px; border-radius: 4px; }
.round-shortcuts-links.has-more-left { mask-image: linear-gradient(to right, transparent, #000 20px); }
.round-shortcuts-links.has-more-right { mask-image: linear-gradient(to left, transparent, #000 20px); }
.round-shortcuts-links.has-more-left.has-more-right { mask-image: linear-gradient(to right, transparent, #000 20px, #000 calc(100% - 20px), transparent); }
.round-shortcuts > a, .round-shortcuts-links a { display: inline-flex; align-items: center; justify-content: center; height: 44px; line-height: 1; margin: 0; }
.round-shortcuts a { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; height: 44px; line-height: 1; min-width: 42px; padding: 10px; text-align: center; border-radius: 9px; color: #24549b; font-weight: 600; font-size: 14px; }
.round-shortcuts a:hover { background: #edf3ff; }
.round-shortcuts a[aria-current] { color: #fff; background: #043ca7; }
.round-shortcuts a:focus-visible, .pagination-controls a:focus-visible { outline: 3px solid #729bdb; outline-offset: -2px; }
@media (max-width: 575px) {
    .round-shortcuts { bottom: calc(12px + env(safe-area-inset-bottom)); gap: 6px; padding: 8px; max-width: calc(100% - 20px); }
    .round-shortcuts-label { font-size: 11px; }
    .round-shortcuts a { min-width: 42px; }
    .scorers-pagination { justify-content: center; font-size: 12px; }
}
.competition-tabs, .phase-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 5px; margin: 0 0 24px; width: fit-content; max-width: 100%; border: 1px solid #dce5f4; border-radius: 12px; background: #edf2fa; }
.prova .phase-tabs .zona-link { margin: 0; padding: 12px 18px; border-radius: 8px; background: transparent; color: #435773; font-size: 15px; font-weight: 500; }
.prova .phase-tabs .zona-link:not(.collapsed) { background: #043ca7; color: #fff; box-shadow: 0 2px 6px rgba(4, 60, 167, .12); }
.prova .phase-tabs .zona-link:focus-visible { outline: 3px solid #729bdb; outline-offset: 2px; }
.competition-tabs a { display: block; padding: 12px 18px; border-radius: 8px; color: #435773; font-weight: 500; }
.competition-tabs a.active { background: #043ca7; color: #fff; box-shadow: 0 2px 6px rgba(4, 60, 167, .12); }
.competition-tabs a:focus-visible { outline: 3px solid #729bdb; outline-offset: 2px; }
.scorers-card { padding: 12px 20px; margin-bottom: 32px; background: #fff; border: 1px solid #e3e9f2; border-radius: 14px; box-shadow: 0 5px 16px rgba(29, 56, 98, .05); }
.scorers-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0 4px; color: #34465f; }
.scorers-table th, .scorers-table td { padding: 14px 12px; vertical-align: middle; }
.scorers-table th { color: #65738a; font-size: 13px; font-weight: 500; }
.scorers-table tbody tr:hover { background: #f4f7fc; }
.scorer-profile-row { cursor: pointer; }
.scorers-table tbody tr:focus-within { background: #f4f7fc; }
.scorers-table td:first-child { border-radius: 8px 0 0 8px; }
.scorers-table td:last-child { border-radius: 0 8px 8px 0; }
.scorer-rank { width: 44px; text-align: center; color: #65738a; }
.scorer-stat { width: 72px; text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
.scorers-table th:last-child { width: 110px; }
.scorer-name { font-weight: 500; }
.scorer-player { display: flex; align-items: center; gap: 12px; min-width: 0; }
.scorer-portrait { position: relative; display: block; flex: 0 0 44px; width: 44px; height: 44px; }
.scorer-photo { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #edf3ff; box-shadow: 0 0 0 1px #e3e9f2; }
.scorer-club-badge { position: absolute; right: -4px; bottom: -3px; width: 20px; height: 20px; padding: 1px; border: 2px solid #fff; border-radius: 50%; background: #fff; object-fit: contain; box-shadow: 0 1px 3px rgba(17,48,93,.12); }
.scorer-club-badge[hidden] { display: none; }
.scorer-player-name { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.scorer-player-name span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.scorer-player a { color: inherit; }
.scorer-player a:hover { color: #043ca7; }
.scorer-player a:focus-visible { outline: 3px solid #729bdb; outline-offset: 3px; border-radius: 4px; }
.scorer-player a span { display: block; }
.scorer-goals { display: inline-block; min-width: 40px; padding: 4px 8px; border-radius: 6px; background: #edf3ff; color: #043ca7; font-weight: 700; }
@media (max-width: 575px) {
    .competition-tabs { width: 100%; }
    .competition-tabs a { flex: 1; padding: 10px; font-size: 13px; text-align: center; }
    .scorers-card { padding: 6px; }
    .scorers-table th, .scorers-table td { padding: 12px 5px; font-size: 12px; }
    .scorer-rank { width: 28px; }
    .scorer-stat { width: 42px; }
    .scorers-table th:last-child { width: 49px; }
    .scorer-average-label { display: none; }
    .scorer-player { gap: 9px; }
    .scorer-portrait { flex-basis: 30px; width: 30px; height: 30px; }
    .scorer-photo { width: 30px; height: 30px; }
    .scorer-club-badge { right: -4px; bottom: -3px; width: 17px; height: 17px; }
    .prova .phase-tabs .zona-link { padding: 10px; font-size: 13px; }
}
body {
    background-color: #f6f8fc;
    background-image: radial-gradient(ellipse at 0 0, rgba(77, 128, 206, .07), transparent 55%),
        radial-gradient(ellipse at 100% 70%, rgba(141, 170, 213, .06), transparent 50%),
        linear-gradient(180deg, #fbfcfe, #f4f7fb);
    background-blend-mode: normal;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.seccao-jogos .jogo-preview,
.seccao-jogos .jogo-preview.live {
    background-image: linear-gradient(115deg, #edf3ff, #f9fbff 75%);
    border-left-color: #1854b5;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px #d9e4f5, 0 4px 14px rgba(29, 56, 98, .07);
    animation: none;
    transition: box-shadow .2s ease, background-color .2s ease;
}
.seccao-jogos .jogo-preview.porjogar { border-left-color: #91a9cd; }
.seccao-jogos .jogo-preview .backjogo { display: none; }
.seccao-jogos .jogo-preview .top-jogo,
.seccao-jogos .jogo-preview-outro .top-jogo { color: #295da6; font-weight: 400; }
.seccao-jogos .jogo-preview .equipas { color: #1b3155; font-weight: 500; }
.seccao-jogos .jogo-preview .resultado { color: #043ca7; font-variant-numeric: tabular-nums; }
.seccao-jogos .jogo-preview .resultado > div {
    background: rgba(255, 255, 255, .85); border-radius: 5px;
    box-shadow: inset 0 0 0 1px rgba(24, 84, 181, .09); text-align: center;
}
.seccao-jogos .outros-jogos-jornada {
    background: #fff; border-radius: 0 0 14px 14px;
    box-shadow: inset 0 0 0 1px #e3e9f2, 0 5px 16px rgba(29, 56, 98, .05);
}
.seccao-jogos .jogo-preview-outro {
    color: #34465f; border-radius: 6px;
    margin-bottom: 28px;
    background-image: none;
    position: relative; isolation: isolate; transition: none; box-shadow: none;
}
.seccao-jogos .jogo-preview-outro::before { content: ''; position: absolute; inset: -10px; z-index: -1; border-radius: 12px; background: #f4f7fc; opacity: 0; transition: opacity .18s ease; pointer-events: none; }
.seccao-jogos .jogo-preview-outro:last-child { margin-bottom: 10px; }
.seccao-jogos .jogo-preview-outro .resultado { color: #254b83; font-variant-numeric: tabular-nums; }
.seccao-jogos .top-jogo > div,
.seccao-jogos .equipas > div {
    min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.seccao-jogos .njornada { color: #295da6 !important; display: block; width: auto; padding-right: 0; text-align: left; }
.prova .rounds-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; row-gap: 20px; }
.prova .round-block { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); gap: 16px; align-items: start; }
.prova .round-block--cup { grid-template-columns: minmax(0, 1fr); }
.prova .round-games { min-width: 0; }
.prova .round-number .njornada { font-size: 40px; line-height: 102px; text-align: left; white-space: nowrap; }
@media (max-width: 767px) {
    .prova .rounds-grid { grid-template-columns: minmax(0, 1fr); }
    .prova .round-block { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .prova .round-number .njornada { font-size: 32px; line-height: 48px; }
}
.seccao-jogos .jogo-preview:focus-visible,
.seccao-jogos .jogo-preview-outro:focus-visible { outline: 3px solid #729bdb; outline-offset: 3px; }
@media (hover: hover) {
    .seccao-jogos .jogo-preview:hover { box-shadow: inset 0 0 0 1px #aac4e9, 0 6px 18px rgba(29, 56, 98, .1); }
    .seccao-jogos .jogo-preview-outro:hover { background-color: transparent; box-shadow: none; }
    .seccao-jogos .jogo-preview-outro:hover::before { opacity: 1; }
    .prova .table-lugares-row:hover { background-color: #f4f7fc; }
    .prova .table-lugares-row.lugar-sismaria:hover { background-image: linear-gradient(115deg, #e4edff, #f2f6ff 75%); }
}
.season-selector {
    display: block; width: 190px; max-width: 100%;
    margin: 24px 0 28px; padding: 5px; border: 1px solid #dce5f4;
    border-radius: 12px; background: #edf2fa;
}
.season-selector label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.season-selector .form-select {
    width: 100%; min-height: 46px; padding: 10px 32px 10px 12px; border: 0;
    border-radius: 8px; background-color: #fff; color: #043ca7; font: inherit; font-weight: 500; cursor: pointer;
}
.season-selector .form-select:focus { border-color: #043ca7; box-shadow: 0 0 0 3px rgba(4, 60, 167, .12); }
.competition-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 8px 0 28px; }
.competition-toolbar .season-selector { flex: 0 0 190px; margin: 0; }
.competition-toolbar .competition-tabs, .competition-toolbar .phase-tabs { margin: 0; }
@media (max-width: 575px) {
    .competition-toolbar { gap: 10px; }
    .competition-toolbar .season-selector { flex-basis: 180px; }
    .competition-toolbar .phase-tabs { max-width: 100%; }
}
.prova .campeonato-liga { overflow-x: auto; }
.prova .lugares-table { display: table; width: 100%; border-collapse: separate; border-spacing: 0 4px; }
.prova .lugares-table th, .prova .lugares-table td { padding: 10px 8px; vertical-align: middle; }
.prova { margin-bottom: 48px; }
.prova .lugares-table td:first-child, .prova .lugares-table th:first-child { padding-left: 20px; }
.prova .lugares-table th { color: #65738a; font-size: 13px; font-weight: 500; }
.prova .lugares-table td { color: #34465f; font-weight: 400; }
.prova .lugares-table .team-row__name { font-weight: 600; text-transform: none; }
.prova .lugares-table .lugar-sismaria td { font-weight: 600; color: #1b3155; }
.prova .lugares-table .table-stat-row, .prova .lugares-table th:nth-child(n+4) { text-align: center; font-variant-numeric: tabular-nums; }
.prova .table-lugares-row { transition: background-color .2s ease; }
.prova .table-lugares-row td:first-child { border-radius: 12px 0 0 12px; }
.prova .table-lugares-row td:last-child { border-radius: 0 12px 12px 0; }
.prova .table-lugares-row.lugar-sismaria {
    background-image: linear-gradient(115deg, #edf3ff, #f9fbff 75%); color: #1b3155; font-weight: 500;
}
.prova .lugar-sismaria td { box-shadow: inset 0 1px #d9e4f5, inset 0 -1px #d9e4f5; }
.prova .lugar-sismaria td:first-child { box-shadow: inset 5px 0 #1854b5, inset 0 1px #d9e4f5, inset 0 -1px #d9e4f5; }
.prova .lugar-sismaria td:last-child { box-shadow: inset -1px 0 #d9e4f5, inset 0 1px #d9e4f5, inset 0 -1px #d9e4f5; }
.prova .lugar-sismaria .standing-points {
    display: inline-block; min-width: 34px; padding: 3px 7px; text-align: center; color: #043ca7; font-weight: 700;
    background: rgba(255, 255, 255, .85); border-radius: 5px; box-shadow: inset 0 0 0 1px rgba(24, 84, 181, .09);
}
.prova .lugares-table .badge-row { width: 56px; min-width: 56px; }
.prova .badge-row__badge, .prova .badge-row .badge {
    display: inline-flex; width: 40px; height: 40px; padding: 0;
    align-items: center; justify-content: center; vertical-align: middle; line-height: 1;
}
.prova .badge-image--40 { display: block; width: 40px; height: 40px; max-width: 40px; max-height: 40px; object-fit: contain; }
.prova .table-head__heading--short { display: none; }
@media (max-width: 767px) {
    .prova .table-head__heading { display: none; }
    .prova .table-head__heading--short { display: inline; }
    .prova .lugares-table .team-row { min-width: 150px; }
    .prova .lugares-table .badge-row,
    .prova .lugares-table .standing-badge-head {
        position: sticky; left: 0; z-index: 2; background: #fff;
        box-shadow: none;
    }
    .prova .lugares-table .badge-row::before,
    .prova .lugares-table .standing-badge-head::before {
        content: ''; position: absolute; inset: -2px 0; z-index: -1; background: inherit;
    }
    .prova .lugares-table .standing-badge-head { z-index: 3; }
    .prova .lugares-table .lugar-sismaria .badge-row { background: #eef4ff; }
    .prova .lugares-table .table-lugares-row:hover .badge-row { background: #f4f7fc; }
    .prova .lugares-table .form-team-highlight .badge-row { background: #e4edfc !important; }
    .prova .tables-wrapper:has(.lugares-table) { padding: 6px 8px; }
    .prova .lugares-table { border-spacing: 0; }
    .prova .lugares-table th, .prova .lugares-table td {
        height: 44px; padding: 6px; font-size: 13px; line-height: 1.25; white-space: nowrap;
    }
    .prova .lugares-table th { height: 34px; font-size: 11px; }
    .prova .lugares-table td:first-child, .prova .lugares-table th:first-child {
        min-width: 32px; padding-left: 10px; padding-right: 5px;
    }
    .prova .lugares-table .badge-row, .prova .lugares-table .standing-badge-head {
        width: 36px; min-width: 36px; padding-left: 4px; padding-right: 4px;
    }
    .prova .lugares-table .badge-row__badge, .prova .lugares-table .badge-row .badge,
    .prova .lugares-table .badge-image--40 { width: 28px; height: 28px; max-width: 28px; max-height: 28px; }
    .prova .lugares-table .team-row,
    .prova .lugares-table .table-head--team { width: 138px; min-width: 138px; max-width: 138px; }
    .prova .lugares-table .team-row__name-container { width: 126px; max-width: 126px; overflow: hidden; }
    .prova .lugares-table .team-row__name {
        display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px;
    }
    .prova .lugares-table .table-stat-row { min-width: 30px; }
    .prova .lugares-table tbody td { border-bottom: 1px solid #edf1f7; }
    .prova .lugares-table tbody tr:last-child td { border-bottom: 0; }
    .prova .lugares-table .standing-points { min-width: 26px; padding: 2px 4px; }
    .prova .lugares-table .standing-form { gap: 3px; min-width: 144px; }
    .prova .lugares-table .badge-row::before,
    .prova .lugares-table .standing-badge-head::before { inset: 0; }
    .prova .lugares-table .badge-row::after,
    .prova .lugares-table .standing-badge-head::after { top: 0; bottom: 0; }
}
.card-wrapper .form-control { margin-bottom: 1rem; }
.card-wrapper { max-width: 550px; }
#contact_results:empty { display: none; }
.fpa-empty { padding: 1.5rem; background: #f3f5f8; color: #043ca7; }
.jogo-preview.fpa-empty { display: block; min-height: 120px; }
@media (prefers-reduced-motion: reduce) { .marquee { animation: none !important; } }

.fichajogo .jogo-details table td.desempenho { white-space: nowrap; }
.fichajogo .jogo-details table td.desempenho > div { vertical-align: middle; }
@media (max-width: 767px) {
    .fichajogo .jogo-details table td.nome { white-space: nowrap; overflow: hidden; overflow-wrap: normal; text-overflow: ellipsis; }
    .fichajogo .jogo-details table td.desempenho > div { margin-right: 5px; }
}
/* Team indicators share one baseline and one compact visual scale. */
.fichajogo .jogo-details table th .game-team-indicators {
    display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
    min-height: 40px; margin: 0; padding: 4px 0;
}
.fichajogo .jogo-details table th .timeout,
.fichajogo .jogo-details table th .sete-metros {
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    height: 28px; margin: 0; padding: 4px 6px; border-radius: 6px;
    font-size: 12px; line-height: 1; font-weight: 500; white-space: nowrap;
    font-variant-numeric: tabular-nums; vertical-align: middle;
}
.fichajogo .jogo-details table th .timeout svg {
    display: block; flex: 0 0 14px; width: 14px; height: 16px;
}
.fichajogo .jogo-details table th .sete-metros > div {
    display: inline-flex; align-items: center; justify-content: center;
    height: 20px; margin: 0; padding: 0 4px; border-radius: 4px;
    font-size: 10px; line-height: 1;
}
@media (max-width: 767px) {
    .fichajogo .jogo-details table th { height: 76px; vertical-align: middle; }
    .fichajogo .jogo-details table th .game-team-indicators { gap: 2px; }
    .fichajogo .jogo-details table th .timeout,
    .fichajogo .jogo-details table th .sete-metros { font-size: 10px; height: 26px; padding: 3px; gap: 3px; }
    .fichajogo .jogo-details table th .sete-metros > div { height: 18px; font-size: 10px; }
}

/* Reserve side gutters for sponsor controls, outside the logo cards. */
#footer .patrocinios .owl-carousel { width: calc(100% - 56px); margin-left: 28px; margin-right: 28px; }
#footer .patrocinios .owl-nav button.owl-prev,
#footer .patrocinios .owl-nav button.owl-next {
    width: 24px; height: 32px; top: 50%; margin: 0;
    transform: translateY(-50%); display: flex; align-items: center; justify-content: center;
    background: transparent; border: 0; padding: 2px; opacity: .7;
    transition: opacity .2s ease;
}
#footer .patrocinios .owl-nav button.owl-prev { left: -28px; }
#footer .patrocinios .owl-nav button.owl-next { right: -28px; }
#footer .patrocinios .owl-nav button:hover { opacity: 1; }
#footer .patrocinios .owl-nav button:focus-visible { outline: 2px solid #729bdb; outline-offset: 2px; border-radius: 4px; }
#footer .patrocinios .owl-nav svg { width: 20px; height: 20px; display: block; }
#footer .patrocinios .owl-nav .disabled { opacity: .2; cursor: default; }

.age-roster { margin: 0 0 48px; }
.roster-role { margin: 26px 0 18px; font-size: 17px; color: #344b6e; font-weight: 600; }
.roster-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.roster-card, .roster-card:focus { display: block; overflow: hidden; border: 1px solid #dfe8f6; border-radius: 14px; background: #fff; color: #203b62; transition: border-color .2s, box-shadow .2s; }
.roster-card:hover { color: #114aa8; border-color: #a5bfe8; box-shadow: 0 6px 20px rgba(24,60,110,.08); }
.roster-card:focus-visible { outline: 2px solid #1854b5; outline-offset: 3px; }
.roster-portrait { position: relative; display: flex; justify-content: center; align-items: center; height: 180px; background: #edf2fa; overflow: hidden; }
.roster-portrait img { width: 100%; height: 100%; object-fit: contain; }
.roster-portrait > svg { width: 70px; height: 70px; color: #9bafcd; }
.roster-shirt { position: absolute; bottom: 9px; left: 10px; min-width: 30px; padding: 4px 7px; background: #fff; border-radius: 6px; color: #0645ac; font-size: 17px; font-weight: 700; text-align: center; }
.roster-person { padding: 16px; }
.roster-person h4 { font-size: 15px; font-weight: 600; line-height: 1.5; margin: 0; }
.roster-person p { font-size: 12px; color: #667d9c; margin: 5px 0 0; }
@media(max-width: 991px) { .roster-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width: 575px) { .roster-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } .roster-portrait { height: 150px; } .roster-person { padding: 12px; } .roster-person h4 { font-size: 13px; } }

.standing-form { display: flex; align-items: center; justify-content: flex-end; gap: 4px; min-width: 172px; }
.form-result { display: inline-flex; flex: 0 0 24px; width: 24px; height: 25px; align-items: center; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 5px; color: #fff; font: 600 12px/1 'Ubuntu',sans-serif; cursor: pointer; transition: outline-color .15s; }
.form-result--v { background: #228352; }
.form-result--e { background: #a66b09; }
.form-result--d { background: #c34343; }
.form-result--next { background: #e5eaf1; color: #52647e; margin-left: 4px; border-color: #d7dfe9; }
.form-result:hover, .form-result:focus-visible, .form-result[aria-expanded="true"] { transform: none; box-shadow: none; outline: 2px solid #5179b7; outline-offset: 1px; }
.form-empty { color: #8b98aa; }
.prova .lugares-table tr.form-team-highlight > td { background: #e4edfc !important; }
.prova .lugares-table tr.form-team-highlight .team-row__name { color: #124a9c; }
.form-game-popover { position: fixed; z-index: 1100; width: 290px; max-width: calc(100vw - 24px); padding: 18px; border: 1px solid #d7e2f2; border-radius: 12px; background: #fff; color: #203b62; box-shadow: 0 10px 36px rgba(14,40,80,.18); font-size: 13px; }
.form-game-popover[hidden] { display: none; }
.form-game-popover .form-game-date { padding-right: 22px; font-size: 11px; color: #65738a; margin-bottom: 10px; }
.form-game-popover .form-game-teams { font-weight: 600; line-height: 1.6; }
.form-game-popover .form-game-score { font-size: 20px; font-weight: 700; margin: 8px 0; }
.form-game-popover .form-game-link { display: inline-block; margin-top: 7px; color: #1854b5; font-weight: 500; }
.form-game-close { position: absolute; top: 8px; right: 9px; border: 0; background: transparent; color: #52647e; font-size: 22px; line-height: 1; padding: 4px; }
@media(prefers-reduced-motion: reduce) { .form-result { transition: none; } }

.competition-highlights, .stats-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.competition-highlights article, .stats-summary article, .stats-panel { padding: 22px; border: 1px solid #dfe8f6; border-radius: 14px; background: #fff; color: #203b62; }
.competition-highlights article { display: flex; flex-direction: column; gap: 8px; }
.competition-highlights article > span, .stats-record > span { font-size: 12px; font-weight: 500; color: #567093; }
.competition-highlights strong { font-size: 16px; font-weight: 600; line-height: 1.45; }
.competition-highlights small, .stats-record small { font-size: 12px; color: #647996; }
.stats-summary article { display: flex; flex-direction: column; gap: 8px; background: #edf3ff; }
.stats-summary strong { color: #1854b5; font-size: 30px; font-weight: 700; line-height: 1.2; }
.stats-summary span { font-size: 13px; }
.stats-note { font-size: 13px; line-height: 1.6; color: #65738a; margin: 0 0 22px; }
.stats-panel { margin-bottom: 24px; }
.stats-panel h3 { font-size: 19px; font-weight: 600; margin: 0 0 18px; }
.stats-outcomes { display: flex; height: 36px; gap: 3px; overflow: hidden; border-radius: 7px; }
.stats-outcome { flex-basis: 0; min-width: 24px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; font-weight: 600; }
.stats-outcome--home_wins { background: #1854b5; }
.stats-outcome--draws { background: #76869c; }
.stats-outcome--away_wins { background: #398979; }
.stats-outcome-legend { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 12px; font-size: 12px; color: #526985; }
.stats-records { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.stats-record { display: flex; flex-direction: column; gap: 12px; }
.stats-record strong { font-size: 16px; line-height: 1.7; }
.stats-record strong b { color: #1854b5; white-space: nowrap; }
.stats-record:hover { border-color: #a5bfe8; }
.stats-team-table-scroll { overflow-x: auto; }
.stats-team-table { width: 100%; font-size: 13px; border-collapse: collapse; }
.stats-team-table td, .stats-team-table th { padding: 13px 10px; border-bottom: 1px solid #e9eff8; text-align: center; font-weight: 400; }
.stats-team-table thead th { color: #637895; background: #f4f7fc; font-weight: 500; }
.stats-team-table tbody th { text-align: left; font-weight: 600; min-width: 170px; }
.stats-team-table tbody tr:last-child > * { border: 0; }
.stats-wdl { white-space: nowrap; }
.previous-meetings { margin: 36px auto 48px; }
.previous-meetings-list { max-width: 920px; margin: 0 auto; display: grid; gap: 12px; }
.previous-meeting { display: block; padding: 18px 22px; background: #fff; border: 1px solid #dfe8f6; border-radius: 12px; color: #203b62; }
.previous-meeting small { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: #65738a; margin-bottom: 10px; }
.previous-meeting > div { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 14px; align-items: center; font-size: 14px; font-weight: 500; }
.previous-meeting > div > span:last-child { text-align: right; }
.previous-meeting strong { padding: 5px 10px; background: #edf3ff; color: #1854b5; border-radius: 6px; white-space: nowrap; }
.previous-meeting:hover { border-color: #a5bfe8; }
@media(max-width: 767px) { .competition-highlights { gap: 10px; } .competition-highlights article { padding: 15px; } .competition-highlights strong { font-size: 14px; } .stats-records { grid-template-columns: 1fr; gap: 0; } }
@media(max-width: 575px) { .competition-highlights { grid-template-columns: 1fr; } .stats-summary { gap: 8px; } .stats-summary article { padding: 14px 10px; } .stats-summary strong { font-size: 24px; } .stats-summary span { font-size: 11px; } .stats-panel { padding: 16px; } .previous-meeting { padding: 14px; } .previous-meeting small { flex-wrap: wrap; } .previous-meeting > div { font-size: 12px; gap: 8px; } }

@media (max-width: 767px) {
    .competition-toolbar .competition-tabs {
        display: flex; flex-wrap: nowrap; flex: 0 1 auto; min-width: 0; width: 100%;
        overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .competition-toolbar .competition-tabs::-webkit-scrollbar { display: none; }
    .competition-toolbar .competition-tabs a { flex: 0 0 auto; white-space: nowrap; padding: 10px 12px; }
    .stats-team-table { border-collapse: separate; border-spacing: 0; }
    .stats-team-table tbody th,
    .stats-team-table thead th[rowspan] {
        position: sticky; left: 0; z-index: 2; background: #fff;
        min-width: 140px; max-width: 170px; text-align: left;
    }
    .stats-team-table thead th[rowspan] { z-index: 3; background: #f4f7fc; }
}

@media (max-width: 767px) {
    .prova .lugares-table .badge-row::after,
    .prova .lugares-table .standing-badge-head::after,
    .stats-team-table tbody th::after,
    .stats-team-table thead th[rowspan]::after {
        content: ''; position: absolute; right: -6px; top: -2px; bottom: -2px;
        width: 6px; pointer-events: none; opacity: 0; transition: opacity .15s;
        background: linear-gradient(to right, rgba(27, 49, 85, .08), transparent);
    }
    .stats-team-table tbody th::after,
    .stats-team-table thead th[rowspan]::after { top: 0; bottom: 0; }
}

.competition-tabs-frame { position: relative; min-width: 0; max-width: 100%; }
.competition-menu-arrow { display: none; }
@media (max-width: 767px) {
    .competition-tabs-frame { width: 100%; }
    .competition-menu-arrow:not([hidden]) {
        position: absolute; z-index: 2; top: 1px; bottom: 1px; width: 27px;
        display: flex; align-items: center; justify-content: center; padding: 0;
        border: 0; border-radius: 10px; color: #657fa7; cursor: pointer;
        background: #edf2fa; box-shadow: none;
    }
    .competition-menu-arrow--previous { left: 1px; }
    .competition-menu-arrow--next { right: 1px; }
    .competition-menu-arrow:hover { color: #043ca7; }
    .competition-menu-arrow:focus-visible { outline: 2px solid #729bdb; outline-offset: -3px; }
}
@media (max-width: 767px) {
    .prova .sticky-column-scrolled .badge-row::after,
    .prova .sticky-column-scrolled .standing-badge-head::after,
    .sticky-column-scrolled .stats-team-table tbody th::after,
    .sticky-column-scrolled .stats-team-table thead th[rowspan]::after { opacity: 1; }
}
@media (max-width: 767px) {
    .prova .lugares-table .lugar-sismaria .badge-row::before,
    .prova .lugares-table .form-team-highlight .badge-row::before { inset: 0; }
}

.archive-notice { margin: 22px 0; padding: 16px 20px; border: 1px solid #eadbbf; border-radius: 10px; background: #fff8ec; color: #735a31; font-size: 13px; line-height: 1.6; font-weight: 400; }

.games-calendar{margin:32px 0 24px;text-align:center}.games-calendar-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border:1px solid #cbdaf2;border-radius:14px;background:#fff;color:#0642b5;font-size:15px;font-weight:700;transition:background .2s,border-color .2s}.games-calendar-link svg{width:23px;height:23px;flex:none}.games-calendar-link:hover{background:#edf3ff;border-color:#1855be;color:#0642b5}.games-calendar-link:focus-visible{outline:2px solid #1855be;outline-offset:4px}.games-calendar p{margin:10px 0 0;font-size:13px;color:#526783}@media(max-width:575px){.games-calendar-link{width:100%;padding:14px;font-size:14px;text-align:left}}


/* Keep competition navigation accessible beneath the main header. */
.competition-toolbar{z-index:100;isolation:isolate;border-radius:16px;transition:box-shadow .2s,background-color .2s}
.competition-toolbar.is-floating{background:#f7faff;box-shadow:0 5px 20px rgba(15,45,90,.1);outline:8px solid #f7faff}
.prova .round-block,.prova .scorers-section{scroll-margin-top:var(--competition-scroll-top,210px)}
@media(prefers-reduced-motion:reduce){.competition-toolbar{transition:none}}


.competition-toolbar-slot{margin:8px 0 28px}.competition-toolbar-slot .competition-toolbar{position:relative;top:auto;margin:0}.competition-toolbar-slot .competition-toolbar.is-floating{position:fixed;top:var(--competition-menu-top);left:var(--competition-menu-left);width:var(--competition-menu-width)}


@media(max-width:767px){.competition-toolbar.is-floating{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.competition-toolbar.is-floating .competition-tabs-frame{grid-column:1/-1;grid-row:1}.competition-toolbar.is-floating .season-selector{width:100%;min-width:0;max-width:190px}.competition-toolbar.is-floating .phase-tabs{min-width:0;max-height:76px;overflow:auto;justify-self:end}.competition-toolbar.is-floating .phase-tabs .zona-link{white-space:normal}}


/* Contact page */
.contact-page .contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px 48px;align-items:start;margin:0}
.contact-page .contact-layout>div{width:auto;min-width:0;padding:0}
.contact-page .contact-details{grid-column:1;grid-row:1}
.contact-page .contact-address{grid-column:1;grid-row:2}
.contact-page .contact-social{grid-column:1;grid-row:3}
.contact-page .contact-layout .contact-form-panel{grid-column:2;grid-row:1/span 4;background:#fff;border:1px solid #dce5f4;border-radius:22px;padding:28px;box-shadow:0 8px 28px rgba(17,48,93,.05)}
.contact-page .block-title{margin-bottom:22px}
.contact-page .contact-form-panel .block-title{margin-bottom:12px}
.contact-page .contactinfo{margin:0}.contact-page .contactinfo>div{width:100%;padding:0}
.contact-page .contact-label{display:block;font-size:13px;font-weight:500;color:#63748c;margin-bottom:6px}
.contact-page .contactinfo a{font-size:18px;font-weight:500;overflow-wrap:anywhere;margin-bottom:24px}
.contact-page .contact-address p{font-size:17px;line-height:1.8;margin:0;color:#435773}
.contact-page .contact-form-intro{font-size:14px;line-height:1.6;color:#63748c;margin:0 0 24px}
.contact-page #contact_body{--bs-gutter-x:20px;row-gap:18px}
.contact-page #contact_form .form-group{margin:0}
.contact-page #contact_form label:not(.form-input-check){display:block;font-size:13px;font-weight:500;color:#344c70;margin:0 0 7px}
.contact-page #contact_form .form-control{background:#f8faff;border:1px solid #dce5f4;border-radius:11px;padding:13px 15px;font-size:15px;line-height:1.5;color:#19365c;height:auto;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.contact-page #contact_form .form-control::placeholder{color:#8090a7;opacity:1}
.contact-page #contact_form .form-control:focus{border-color:#5482ce;box-shadow:0 0 0 3px rgba(24,84,181,.1);background:#fff}
.contact-page #contact_form textarea.form-control{min-height:130px;resize:vertical}
.contact-page #contact_form .form-input-check{display:flex;align-items:flex-start;gap:10px;padding:0;margin:0;font-size:13px;line-height:1.6;color:#526783;min-height:0}
.contact-page #contact_form .form-input-check input{position:static;opacity:1;width:18px;height:18px;margin:2px 0 0;flex:0 0 18px;appearance:auto;accent-color:#1854b5;order:-1}
.contact-page #contact_form .form-input-check .checkmark{display:none}
.contact-page #contact_form .form-input-check a{text-decoration:underline;text-underline-offset:3px}
.contact-page #contact_form .contact-send{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 0 auto;padding:13px 20px;border:1px solid #1854b5;border-radius:11px;background:#1854b5;color:#fff;font-size:15px;font-weight:600;line-height:1.5;float:none;transition:background .15s}
.contact-page #contact_form .contact-send:hover{background:#103f91;color:#fff}
.contact-page #contact_form .contact-send::after{display:none}
.contact-page #contact_form .contact-send:disabled{opacity:.65;cursor:wait}
.contact-page #contact_form .contact-send:focus-visible{outline:3px solid #8bb0eb;outline-offset:3px}
.contact-page .contact-send .checkmarkright-holder{position:static;display:flex;align-items:center;width:20px;height:20px;margin:0}
.contact-page .contact-send .sendarrow{display:flex;align-items:center}.contact-page .contact-send .arrowowl{width:22px;height:22px}
.contact-page .contact-send .loadersave,.contact-page .contact-send .checkmarkright-save{display:none}
.contact-page #contact_results:not(:empty){display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid #dce5f4;border-radius:11px;background:#f2f6fd;color:#344c70;font-size:14px;line-height:1.6}
.contact-page #contact_results[data-state=success]{background:#edf8f2;border-color:#c3e5d2;color:#246343}
.contact-page #contact_results[data-state=success]::before{content:'✓';display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#d4efdf;font-weight:700}
.contact-page #contact_results[data-state=error]{background:#fff3f1;border-color:#edccc6;color:#9c3b30}
.contact-page .redes-sociais{display:flex;gap:10px;flex-wrap:wrap}
.contact-page .redes-sociais .nav-link{display:grid;place-items:center;padding:12px;width:46px;height:46px;border:1px solid #dce5f4;border-radius:12px;background:#fff;transition:background .15s,border-color .15s}
.contact-page .redes-sociais .nav-link:hover{background:#edf3ff;border-color:#a5bfe8}
.contact-page .redes-sociais svg{width:22px;height:22px;fill:#1854b5}
@media(max-width:991px){.contact-page .contact-layout{grid-template-columns:1fr;gap:30px}.contact-page .contact-layout>div{grid-column:1;grid-row:auto}.contact-page .contact-layout .contact-form-panel{grid-column:1;grid-row:2;padding:24px}.contact-page .contactinfo>div{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.contact-page .contactinfo .contact-label:nth-of-type(2){grid-column:2;grid-row:1}.contact-page .contactinfo a{margin-bottom:0}.contact-page .contact-layout .contact-details{grid-row:1}}
@media(max-width:575px){.contact-page .contact-layout .contact-form-panel{padding:20px 16px;border-radius:16px}.contact-page .contactinfo>div{display:block}.contact-page .contactinfo a{font-size:16px;margin-bottom:18px}.contact-page #contact_form .contact-send{width:100%}.contact-page .block-title{font-size:21px}.contact-page .contactinfo a:last-child{margin-bottom:0}}

/* Home: each heading stays close to its cards, with a larger gap between groups. */
#seccao-jogos > .row { row-gap: 32px; }
#seccao-jogos > .row + .row { margin-top: 32px; }
#seccao-jogos .block-title { display: flex; margin: 0 0 14px; }
#seccao-jogos .jogo-preview { margin-bottom: 0 !important; }
#seccao-jogos #ultimos-container, #seccao-jogos #proximos-container { display: flex; flex-direction: column; gap: 16px; }

/* Match sheets: retain readable stats while reducing unused vertical space. */
.fichajogo .jogo-header { margin: 16px auto 20px; padding: 12px 20px; }
.fichajogo .jogo-header .jogo-data { margin-top: 8px; }
.fichajogo .match-scoreboard { margin: 10px auto; }
.fichajogo .jogo-details > .block-title { margin-bottom: 14px; }
.fichajogo .jogo-details .tables-wrapper { padding: 14px 10px; }
.fichajogo .equipa-casa-header, .fichajogo .equipa-fora-header { padding: 0 6px 8px; margin-bottom: 0; }
.fichajogo .jogo-details table { border-spacing: 0 2px; }
.fichajogo .jogo-details table tr { height: 36px !important; }
.fichajogo .jogo-details table td { padding-top: 6px; padding-bottom: 6px; line-height: 1.35; }
.fichajogo .jogo-details table th { padding-top: 4px; padding-bottom: 6px; }
.fichajogo .jogo-details table th .game-team-indicators { min-height: 28px; padding: 0; }
.fichajogo .game-officials { margin-top: 24px; }
@media (max-width: 767px) {
    .fichajogo .jogo-header { padding: 10px; margin: 12px auto 18px; }
    .fichajogo .jogo-header .jogo-estado { padding: 4px 10px; }
    .fichajogo .jogo-header .jogo-data { font-size: 14px; margin-top: 6px; }
    .fichajogo .jogo-header .jogo-local { font-size: 12px; margin-top: 2px; }
    .fichajogo .jogo-header .equipas-resultado { margin-top: 6px; }
    .fichajogo .match-scoreboard { margin: 8px auto; }
    .fichajogo .match-team { gap: 5px; }
    .fichajogo .match-team img { width: 40px; height: 40px; flex-basis: 40px; }
    .fichajogo .detalhes-resultado { margin-top: 4px; gap: 8px; }
    .fichajogo .jogo-header .detalhes-resultado .detalhe { flex-direction: row; gap: 6px; }
    .fichajogo .jogo-header .detalhe-info { padding: 3px 10px; font-size: 13px; }
    .fichajogo .jogo-details .tables-wrapper { padding: 8px 4px; }
    .fichajogo .equipa-casa-header, .fichajogo .equipa-fora-header { padding: 2px 3px 4px; min-height: 34px; justify-content: center; }
    .fichajogo .jogo-details .equipa-casa-header img, .fichajogo .jogo-details .equipa-fora-header img { display: none; }
    .fichajogo .jogo-details .neq { font-size: 12px; line-height: 1.3; }
    .fichajogo .jogo-details table tr { height: 29px !important; }
    .fichajogo .jogo-details table td, .fichajogo .jogo-details table td.ncamisola { padding-top: 4px; padding-bottom: 4px; }
    .fichajogo .jogo-details table th { height: 54px; padding: 2px 2px 5px; vertical-align: top; }
    .fichajogo .jogo-details table th .game-team-indicators { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; min-height: 44px; align-content: start; }
    .fichajogo .jogo-details table th .timeout, .fichajogo .jogo-details table th .sete-metros { height: 21px; padding: 1px; gap: 2px; justify-content: flex-start; }
    .fichajogo .jogo-details table th .sete-metros { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
    .fichajogo .jogo-details table th .timeout svg { flex-basis: 12px; width: 12px; height: 14px; }
    .fichajogo .jogo-details table th .sete-metros > div { height: 17px; }
}


/* A compact live score remains available after the main result scrolls away. */
.game-mini-scoreboard { position: fixed; inset-inline: 0; z-index: 100; background: #f7faff; border-bottom: 1px solid #dce5f4; box-shadow: 0 3px 12px rgba(17,48,93,.07); }
.game-mini-scoreboard[hidden] { display: none; }
.game-mini-inner { display: flex; align-items: center; gap: 16px; width: 100%; max-width: 1000px; min-height: 42px; padding: 5px 16px; margin: auto; border: 0; background: transparent; color: #1b3155; text-align: inherit; cursor: pointer; }
.game-mini-inner:focus-visible { outline: 2px solid #5482ce; outline-offset: -2px; }
.game-mini-live { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; font-size: 10px; font-weight: 600; color: #b4312a; }
.game-mini-live::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #ee453e; animation: live-dot-breathe 2.4s ease-in-out infinite; }
.game-mini-board.match-scoreboard { flex: 1; min-width: 0; margin: 0; gap: 14px; max-width: none; }
.game-mini-board .match-team { gap: 7px; min-width: 0; }
.game-mini-board .match-team--casa { flex-direction: row; justify-content: flex-end; text-align: right; }
.game-mini-board .match-team--fora { flex-direction: row-reverse; justify-content: flex-end; text-align: left; }
.game-mini-board .match-team img { flex: 0 0 22px; width: 22px; height: 22px; }
.game-mini-board .match-team-name { font-size: 13px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.game-mini-board .match-score { gap: 5px; }
.game-mini-board .match-score > span:not(.match-score-divider) { min-width: 24px; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; font-size: 19px; line-height: 1.3; text-align: center; }
.game-mini-board .match-score-divider { font-size: 15px; }
@media(max-width:767px) { .game-mini-inner { min-height: 38px; gap: 7px; padding: 5px 10px; } .game-mini-board.match-scoreboard { gap: 7px; } .game-mini-board .match-team { gap: 4px; } .game-mini-board .match-team img { flex-basis: 18px; width: 18px; height: 18px; } .game-mini-board .match-team-name { font-size: 11px; } .game-mini-board .match-score { gap: 2px; } .game-mini-board .match-score > span:not(.match-score-divider) { min-width: 20px; font-size: 17px; } }
@media(prefers-reduced-motion:reduce) { .game-mini-live::before { animation: none; } }

.game-mini-board .match-score > span.game-mini-goal { border-radius: 5px; animation: mini-score-goal 1.6s ease-out; }
@keyframes mini-score-goal { 0%,30% { background-color: #d8f1e3; color: #176945; box-shadow: inset 0 0 0 1px #8dc5a5; } 100% { background-color: transparent; box-shadow: inset 0 0 0 1px transparent; } }
@media(prefers-reduced-motion:reduce) { .game-mini-board .match-score > span.game-mini-goal { animation: none; } }

/* Brief events and connection feedback share the main and compact scoreboards. */
.game-live-feedback { display: flex; justify-content: center; align-items: center; gap: 10px; color: #526783; font-size: 12px; line-height: 18px; }
.game-live-feedback[hidden] { display: none; }
.game-feedback-main { max-width: 820px; min-height: 24px; margin: -12px auto 12px; padding: 2px 8px; border-radius: 8px; }
.game-feedback-concealed { visibility: hidden; }
.game-mini-feedback { min-height: 24px; padding: 2px 12px 4px; border-top: 1px solid #e8eef7; font-size: 11px; }
.game-feedback-item { display: inline-flex; align-items: center; gap: 5px; min-width: 0; overflow: hidden; }
.game-feedback-item > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.game-feedback-item svg { width: 15px; height: 15px; flex: 0 0 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.game-feedback-item svg[data-kind=goal],.game-feedback-item svg[data-kind=recovered] { color: #228352; }
.game-feedback-item svg[data-kind=timeout],.game-feedback-item svg[data-kind=seven],.game-feedback-item svg[data-kind=exclusion] { color: #d77808; }
.game-feedback-item svg[data-kind=yellow] { color: #b37d06; fill: #ffe09a; }
.game-feedback-item svg[data-kind=red] { color: #bf3434; fill: #e65c5c; }
.game-feedback-item svg[data-kind=blue] { color: #1854b5; fill: #84adf0; }
.game-feedback-more { flex: 0 0 auto; font-weight: 600; }
.game-feedback-error { color: #926118; background: #fff6e7; }
@media(max-width:767px) { .game-feedback-main { font-size: 11px; margin-top: -10px; margin-bottom: 10px; } .game-live-feedback { gap: 7px; } }

/* Mobile player names use the space left by the actual statistics columns. */
.player-name-popover { position: fixed; z-index: 2000; display: flex; align-items: center; gap: 12px; width: min(290px,calc(100vw - 24px)); padding: 16px 34px 16px 16px; border: 1px solid #cadbf5; border-radius: 13px; background: #fff; box-shadow: 0 8px 28px rgba(17,48,93,.16); color: #1b3155; outline: none; }
.player-name-popover[hidden] { display: none; }
.player-name-info { min-width: 0; flex: 1; }
.player-name-photo { flex: 0 0 52px; width: 52px; height: 64px; object-fit: cover; object-position: center top; border-radius: 8px; background: #f2f6fd; }
.player-name-photo[hidden] { display: none; }
.player-name-context { display: block; margin-bottom: 6px; color: #65738a; font-size: 11px; line-height: 1.5; }
.player-name-full { display: block; font-size: 16px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; color: #1b3155; }
.player-name-full[href] { color: #1854b5; text-decoration: underline; text-decoration-color: #cadbf5; text-underline-offset: 3px; }
.player-name-full[href]::after { content: ' ↗'; font-size: 13px; }
.player-name-close { position: absolute; top: 6px; right: 7px; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #65738a; font-size: 22px; line-height: 1; }
.player-name-close:hover { background: #edf3ff; }
.player-name-close:focus-visible,.player-name-full:focus-visible { outline: 2px solid #5482ce; outline-offset: 2px; }
@media(max-width:767px) {
    .fichajogo .game-roster-table .roster-number { width: 18px; }
    .fichajogo .game-roster-table .roster-stats { width: var(--roster-stats-width,64px); }
    .fichajogo .jogo-details table td.ncamisola { width: 18px !important; }
    .fichajogo .jogo-details table td.desempenho { width: var(--roster-stats-width,64px) !important; }
    .fichajogo .jogo-details table td.nome .mobile { display: block !important; }
    .fichajogo .jogo-details table td.nome .mobile a { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; border-radius: 3px; touch-action: manipulation; }
    .fichajogo .jogo-details table td.nome .mobile a:focus-visible { outline: 2px solid #5482ce; outline-offset: -1px; }
    .fichajogo .jogo-details table td.desempenho > div { display: inline-flex; align-items: center; justify-content: center; width: var(--roster-stat-size,18px); height: 18px; margin-right: 3px; vertical-align: middle; }
    .fichajogo .jogo-details table td.desempenho > div:last-child { margin-right: 0; }
    .fichajogo .jogo-details table td.desempenho svg { width: min(15px,var(--roster-stat-size,18px)); height: 15px; }
    .fichajogo .jogo-details table td.desempenho .qtd-dt { right: -2px; bottom: -2px; }
}

.fichajogo .jogo-details table td.desempenho .qtd-dt { display: inline-flex; align-items: center; justify-content: center; min-width: 15px; height: 15px; margin: 0; padding: 0 3px; border-radius: 999px; font-size: 10px; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; }
@media(max-width:767px) {
    .fichajogo .jogo-details table td.desempenho .qtd-dt { min-width: 13px; height: 13px; padding: 0 2px; font-size: 9px; }
    .fichajogo .jogo-details table td.desempenho > .cartao-amarelo,
    .fichajogo .jogo-details table td.desempenho > .cartao-vermelho,
    .fichajogo .jogo-details table td.desempenho > .cartao-azul { width: 12px; height: 18px; border-radius: 3px; }
}

.fichajogo .jogo-details table td.desempenho .dois-minutos svg { width: 20px; height: 20px; flex: none; }
.fichajogo .jogo-details table td.desempenho .dois-minutos .qtd-dt { right: -5px; bottom: -2px; }
@media(max-width:767px) {
    .fichajogo .jogo-details table td.desempenho .dois-minutos svg { width: 18px; height: 18px; }
    .fichajogo .jogo-details table td.desempenho .dois-minutos .qtd-dt { right: -5px; bottom: -2px; }
}

.scorers-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.scorers-heading .block-title { margin: 0; }
.scorers-team-filter { margin-left: auto; max-width: 100%; }
.scorers-team-filter select { width: 210px; max-width: 100%; padding: 10px 30px 10px 12px; border: 1px solid #dce5f4; border-radius: 10px; background-color: #fff; color: #24549b; font-size: 13px; line-height: 1.4; font-weight: 500; cursor: pointer; }
.scorers-team-filter select:focus-visible { outline: 2px solid #729bdb; outline-offset: 2px; }
.scorers-team-filter select:disabled { opacity: .65; cursor: wait; }
@media(max-width:575px) { .scorers-heading { gap: 10px; margin-bottom: 16px; } .scorers-team-filter select { width: 180px; font-size: 12px; } }
.game-sheet-toolbar { flex-wrap: wrap; row-gap: 4px; }
.game-sheet-toolbar .game-return-link { flex: 1; min-width: 0; }
.game-notifications { display: contents; }
.game-alert-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 26px; margin-left: auto; padding: 3px; color: #24549b; background: transparent; border: 0; border-radius: 4px; width: 26px; height: 26px; }
.game-alert-button[aria-pressed="true"] svg { fill: #dce9ff; stroke: #003dad; }
.game-alert-button:disabled { opacity: .65; cursor: default; }
.game-alert-button:focus-visible { outline: 2px solid #1854b5; outline-offset: 3px; }
.game-alert-message { flex: 0 0 100%; order: 5; margin: 0; padding: 0; color: #536c8c; font-size: 11px; line-height: 1.4; text-align: right; }
.game-alert-message:empty { display: none; }
.game-section-tabs { display: flex; gap: 4px; width: fit-content; max-width: 100%; margin: 22px 0 20px; padding: 5px; background: #edf3fc; border: 1px solid #d8e4f7; border-radius: 13px; }
.game-section-tabs button { padding: 9px 16px; border: 0; border-radius: 9px; background: transparent; color: #315a91; font-size: 13px; font-weight: 600; }
.game-section-tabs button[aria-selected="true"] { color: #fff; background: #003dad; }
.game-section-tabs button:focus-visible { outline: 2px solid #f5a42c; outline-offset: 2px; }
.game-details-region[hidden],.game-timeline-panel[hidden],.timeline-record[hidden],.timeline-more[hidden] { display: none !important; }
.game-timeline-panel { margin-bottom: 32px; padding: 20px; background: #fff; border: 1px solid #dce6f5; border-radius: 16px; }
.timeline-legend { display: flex; justify-content: space-between; gap: 20px; color: #193b70; font-size: 14px; font-weight: 650; }
.timeline-legend span { flex: 1; min-width: 0; }
.timeline-legend span:last-child { text-align: right; }
.timeline-note,.timeline-empty,.timeline-request-status { color: #607695; font-size: 12px; line-height: 1.6; }
.timeline-note { margin: 12px 0 18px; }
.timeline-request-status:empty { display: none; }
.game-timeline-list { list-style: none; padding: 0; margin: 0; }
.timeline-record { position: relative; padding-bottom: 18px; }
.timeline-record:not(:last-child)::before { content: ''; position: absolute; width: 1px; background: #e4ecf8; left: 50%; top: 28px; bottom: 0; }
.timeline-moment { position: relative; display: flex; justify-content: center; align-items: center; gap: 9px; margin-bottom: 10px; }
.timeline-moment time { color: #6b7d97; font-size: 11px; }
.timeline-moment strong { padding: 5px 12px; border: 1px solid #e1eafb; background: #f2f6fd; color: #003dad; border-radius: 9px; font-size: 16px; font-variant-numeric: tabular-nums; }
.timeline-moment strong span { color: #91a8cb; }
.timeline-moment small { color: #6b7d97; font-size: 10px; }
.timeline-events { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 7px 20px; }
.timeline-event { grid-column: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 5px 8px; font-size: 13px; }
.timeline-event-away { grid-column: 2; justify-content: flex-end; text-align: right; }
.timeline-event-type { display: inline-flex; align-items: center; gap: 4px; padding: 3px 6px; border-radius: 5px; background: #fff2df; color: #975a13; font-size: 10px; }
.timeline-goal { background: #e8f5ed; color: #247648; }
.timeline-player { color: #183b70; font-weight: 600; }
.timeline-player small { color: #7186a2; font-size: 10px; font-weight: 400; }
.timeline-player a { color: inherit; }
.timeline-more { display: block; margin: 8px auto 0; padding: 8px 12px; border: 1px solid #d4e1f4; border-radius: 8px; background: #f7faff; color: #1854b5; font-size: 12px; }
@media (max-width: 575px) { .game-timeline-panel { padding: 12px; } .timeline-events { gap: 8px 14px; } .timeline-event { font-size: 11px; } .timeline-legend { font-size: 12px; } .timeline-note { font-size: 10px; } }
.timeline-event-icon { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 16px; flex: 0 0 15px; }
.timeline-event-icon svg { width: 15px; height: 15px; }
.timeline-card { display: inline-block; width: 9px; height: 13px; border-radius: 2px; }
.timeline-card-yellow { background: #ffc400; }
.timeline-card-red { background: #b80000; }
.timeline-card-blue { background: #0042b7; }
.game-section-tabs { margin-left: auto; margin-right: auto; }
.timeline-event { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 5px; }
.timeline-event-away { align-items: flex-end; justify-content: flex-start; }
.timeline-moment { display: grid; grid-template-columns: minmax(0,1fr) 150px minmax(0,1fr); gap: 7px; }
.timeline-moment time { text-align: right; }
.timeline-moment > small { text-align: left; }
.timeline-scoreline { position: relative; display: flex; align-items: center; justify-content: center; min-height: 34px; }
.timeline-scoreline strong { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; }
.timeline-moment .timeline-score-value { color: #526d94; }
.timeline-moment .timeline-score-change { color: #003dad; font-weight: 750; }
.timeline-moment .timeline-score-divider { color: #a2b3cb; }
.timeline-lead { position: absolute; padding: 2px 4px; border: 1px solid #c7e4d2; border-radius: 5px; color: #258052; background: #f4faf6; font-size: 10px; font-weight: 650; }
.timeline-lead-home { left: 0; }
.timeline-lead-away { right: 0; }
.timeline-record-new .timeline-scoreline strong { animation: timeline-score-arrival 2s ease-out; }
.timeline-record-new .timeline-event-type { animation: timeline-event-arrival 2s ease-out; }
@keyframes timeline-score-arrival { 0%,25% { border-color: #58a676; box-shadow: 0 0 0 2px #58a67625; background: #e7f6ec; } 100% { border-color: #e1eafb; box-shadow: 0 0 0 0 transparent; background: #f2f6fd; } }
@keyframes timeline-event-arrival { 0%,25% { outline: 1px solid #58a676; outline-offset: 2px; } 100% { outline: 1px solid transparent; outline-offset: 2px; } }
@media (max-width: 575px) { .timeline-moment { grid-template-columns: minmax(0,1fr) 142px minmax(0,1fr); gap: 5px; } }
@media (prefers-reduced-motion: reduce) { .timeline-record-new .timeline-scoreline strong,.timeline-record-new .timeline-event-type { animation: none; } }
.timeline-side { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.timeline-side-away { align-items: flex-end; }
