/* White-label CCB — clone visual do WordPress ccbraga.pt */
@import url('https://fonts.googleapis.com/css2?family=Farro:wght@400;500;700&family=Inter:wght@400;500;600;700&display=swap');

body.ccb_whitelabel {
    --ccb-gold: #B2AB47;
    --ccb-olive: #787630;
    --ccb-dark: #4E4D1F;
    --ccb-text: #51565F;
    --ccb-muted: #7a7f88;
    font-family: Inter, system-ui, sans-serif;
    color: var(--ccb-text);
    background: #fff;
}
body.ccb_whitelabel .site_header.ccb_club_header {
    background-color: #4E4D1F;
    background-image:
        linear-gradient(rgba(0, 0, 0, .18), rgba(0, 0, 0, .18)),
        url('/assets/ccb/header-bg.jpg');
    background-position: center top;
    background-size: auto 100%;
    background-repeat: repeat-x;
    backdrop-filter: none;
    border-bottom: 0;
    box-shadow: none;
}
body.ccb_whitelabel .site_header.ccb_club_header::after {
    display: none;
}
body.ccb_whitelabel .site_header.ccb_club_header .site_header_inner {
    max-width: 1290px;
    margin: 0 auto;
    min-height: 72px;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}
.ccb_header_account {
    display: flex;
    align-items: center;
    margin-left: 8px;
    flex: none;
}
.ccb_header_sair {
    appearance: none;
    background: transparent;
    border: 1px solid rgba(255,255,255,.28);
    color: rgba(255,255,255,.9);
    font-family: Inter, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 6px 12px;
    cursor: pointer;
    line-height: 1.2;
}
.ccb_header_sair:hover { border-color: var(--ccb-gold); color: #fff; }
.ccb_offcanvas_nav li.ccb_offcanvas_account {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #e6e3d6;
}
.ccb_offcanvas_nav li.ccb_offcanvas_account + li.ccb_offcanvas_account {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.ccb_header_socials {
    display: flex;
    align-items: center;
    gap: 14px;
}
body.ccb_whitelabel .ccb_club_header .ccb_header_socials {
    margin-left: 12px;
    flex: none;
}
.ccb_header_socials a {
    color: var(--ccb-olive);
    display: inline-flex;
    line-height: 0;
}
body.ccb_whitelabel .ccb_club_header .ccb_header_socials a { color: #fff; }
body.ccb_whitelabel .ccb_club_header .ccb_header_socials a:hover,
.ccb_header_socials a:hover { color: var(--ccb-gold); }
body.ccb_whitelabel .ccb_brand {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: var(--ccb-olive);
    min-width: 0;
}
body.ccb_whitelabel .site_header.ccb_club_header .ccb_brand img {
    height: 56px;
    width: auto;
    display: block;
    flex: none;
}
body.ccb_whitelabel .ccb_brand_text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
}
body.ccb_whitelabel .site_header.ccb_club_header .site_logo {
    min-width: 0;
}
body.ccb_whitelabel .ccb_brand_name {
    font-family: Farro, Inter, sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.15;
    color: var(--ccb-gold);
    white-space: normal;
}
body.ccb_whitelabel .ccb_brand_since {
    font-family: Farro, Inter, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
    margin: 2px 0 0;
}
.ccb_header_nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0;
    margin-left: auto;
    padding-left: 16px;
}
.ccb_nav_link {
    font-family: Inter, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: rgba(255,255,255,.88);
    text-decoration: none;
    padding: 8px 12px;
    line-height: 1.3;
    white-space: nowrap;
    cursor: pointer;
}
.ccb_nav_link:hover,
.ccb_nav_link.is-current {
    color: #fff;
    background: var(--ccb-gold);
}
.ccb_burger {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 10px 4px 10px 12px;
    margin-left: auto;
    color: #fff;
    cursor: pointer;
    line-height: 0;
    flex: none;
}
.ccb_burger:hover { color: var(--ccb-gold); }

.ccb_offcanvas_root {
    position: fixed;
    inset: 0;
    z-index: 400;
    pointer-events: none;
}
body.ccb_offcanvas_open .ccb_offcanvas_root {
    pointer-events: auto;
}
.ccb_offcanvas_backdrop {
    position: absolute;
    inset: 0;
    background: rgba(18, 19, 23, .45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 0;
    transition: opacity .25s ease, visibility .25s ease;
}
.ccb_offcanvas_backdrop.is-open,
.ccb_offcanvas_backdrop.is-open-add,
.ccb_offcanvas_backdrop.is-open-add-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.ccb_offcanvas {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    bottom: 0;
    width: min(340px, calc(100% - 48px));
    max-width: 100%;
    height: auto;
    background: #fff;
    z-index: 1;
    transform: translateX(110%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .28s ease, visibility .28s ease;
    display: flex;
    flex-direction: column;
    padding: 16px 20px 28px 24px;
    padding-top: max(16px, env(safe-area-inset-top));
    padding-right: max(20px, env(safe-area-inset-right));
    padding-bottom: max(28px, env(safe-area-inset-bottom));
    box-sizing: border-box;
    box-shadow: -12px 0 32px rgba(0,0,0,.08);
    overflow-x: hidden;
    overflow-y: auto;
}
.ccb_offcanvas.is-open,
.ccb_offcanvas.is-open-add,
.ccb_offcanvas.is-open-add-active {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
}
.ccb_offcanvas.is-open-remove,
.ccb_offcanvas.is-open-remove-active {
    transform: translateX(110%);
    visibility: hidden;
    pointer-events: none;
}
.ccb_offcanvas.ng-animate,
.ccb_offcanvas_backdrop.ng-animate {
    transition: none !important;
}
body.ccb_offcanvas_open { overflow: hidden; }
.ccb_offcanvas_actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 8px;
}
.ccb_offcanvas_title {
    margin: 0;
    font-family: Farro, Inter, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #4E4D1F;
}
.ccb_offcanvas_close {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 12px;
    margin: -8px -8px -8px auto;
    color: #121317;
    cursor: pointer;
    line-height: 0;
    flex: none;
}
.ccb_offcanvas_nav {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}
.ccb_offcanvas_nav ul,
.ccb_offcanvas_nav li {
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.ccb_offcanvas_nav > ul > li {
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.ccb_offcanvas_nav a {
    display: block;
    color: #121317;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
    padding: 14px 8px 14px 2px;
    overflow: visible;
    white-space: normal;
    text-align: left;
    text-indent: 0;
    letter-spacing: 0;
}
.ccb_offcanvas_nav a.is-current,
.ccb_offcanvas_nav a:hover {
    color: var(--ccb-gold);
}
.ccb_offcanvas_parent {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ccb_offcanvas_parent a { flex: 1; }
.ccb_offcanvas_chevron {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 8px;
    color: #121317;
    cursor: pointer;
    line-height: 0;
    transition: transform .2s ease;
}
.ccb_offcanvas.has-children.is-open .ccb_offcanvas_chevron,
li.has-children.is-open .ccb_offcanvas_chevron {
    transform: rotate(180deg);
}
.ccb_offcanvas_sub {
    list-style: none;
    margin: 0 0 8px;
    padding: 0 0 8px 16px;
}
.ccb_offcanvas_sub a {
    font-size: 14px;
    font-weight: 400;
    padding: 8px 0;
    color: #51565F;
}
.ccb_offcanvas_socials {
    margin-top: auto;
    padding-top: 28px;
}

@media (max-width: 1180px) {
    .ccb_nav_link { padding: 8px 8px; }
    body.ccb_whitelabel .ccb_brand_name { font-size: 18px; }
}
@media (max-width: 959px) {
    body.ccb_whitelabel .site_header.ccb_club_header .site_header_inner {
        min-height: 56px;
        padding: 6px 14px;
    }
    body.ccb_whitelabel .ccb_brand { gap: 8px; }
    body.ccb_whitelabel .ccb_brand img,
    body.ccb_whitelabel .site_header.ccb_club_header .ccb_brand img {
        height: 40px;
    }
    body.ccb_whitelabel .ccb_brand_name {
        font-size: 14px;
        line-height: 1.1;
    }
    body.ccb_whitelabel .ccb_brand_since { font-size: 11px; margin-top: 1px; }
    body.ccb_whitelabel .ccb_club_header .ccb_burger {
        padding: 8px 2px 8px 10px;
    }
}

.ccb_page { background: #fff; }

.ccb_hero_photo {
    margin-top: -1px;
    line-height: 0;
    background: #1a1a14;
}
.ccb_hero_photo img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    display: block;
}
.ccb_home_cards {
    display: grid;
    gap: 24px;
    max-width: 1120px;
    margin: 0 auto;
}
@media (min-width: 900px) {
    .ccb_home_cards { grid-template-columns: repeat(4, 1fr); }
}
.ccb_home_card {
    text-align: center;
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 8px 8px 0;
}
.ccb_home_card img {
    width: 88px;
    height: 88px;
    object-fit: contain;
    margin: 0 auto 16px;
    display: block;
}
.ccb_home_card h2 {
    font-family: Farro, Inter, sans-serif;
    color: var(--ccb-olive);
    font-size: 22px;
    margin: 0 0 10px;
}
.ccb_home_card p {
    margin: 0;
    line-height: 1.55;
    color: var(--ccb-text);
}
.ccb_partner_cta {
    background: #554e04 url('/assets/ccb/artboard.jpg') center / contain no-repeat;
    color: #fff;
    padding: 72px 20px;
    text-align: left;
}
.ccb_partner_cta h2 {
    font-family: Farro, Inter, sans-serif;
    color: #fff;
    font-size: clamp(28px, 4vw, 42px);
    margin: 0 0 18px;
}
.ccb_partner_cta p {
    margin: 18px 0 0;
    max-width: 560px;
}
.ccb_partners {
    padding: 24px 12px 48px;
    overflow: hidden;
}
.ccb_partners_row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 28px 36px;
}
.ccb_partners_row img {
    height: 42px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .85;
}
.ccb_page_photos img {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 12px;
}
.ccb_inline_photo {
    width: 100%;
    max-width: 720px;
    height: auto;
    display: block;
    margin: 24px 0;
}
.ccb_mod_list { display: grid; gap: 36px; }
.ccb_mod_row {
    display: grid;
    gap: 20px;
    text-decoration: none;
    color: inherit;
    align-items: center;
}
@media (min-width: 800px) {
    .ccb_mod_row { grid-template-columns: 280px 1fr; }
    .ccb_about_layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 36px; align-items: start; }
}
.ccb_mod_row img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}
.ccb_form {
    display: grid;
    gap: 14px;
    align-content: start;
}
.ccb_form label {
    display: grid;
    gap: 6px;
    font-weight: 600;
    color: var(--ccb-olive);
}
.ccb_form input,
.ccb_form textarea,
.ccb_form select {
    border: 1px solid #d6d3c4;
    padding: 10px 12px;
    font: inherit;
    color: var(--ccb-text);
    background: #fff;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border-radius: 2px;
}
.ccb_form button {
    border: 0;
    cursor: pointer;
    justify-self: start;
}
.ccb_hero {
    position: relative;
    min-height: 52vh;
    background: #1a1a14 center / cover no-repeat;
    display: flex;
    align-items: flex-end;
}
.ccb_hero_home { min-height: 68vh; }
.ccb_hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.45));
}
.ccb_hero_inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 40px 20px 48px;
    color: #fff;
}
.ccb_kicker {
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ccb-gold);
    font-weight: 700;
    margin: 0 0 8px;
}
.ccb_hero h1, .ccb_section h2, .ccb_page h1 {
    font-family: Farro, Inter, sans-serif;
    font-weight: 700;
    color: var(--ccb-olive);
    margin: 0 0 10px;
}
.ccb_hero h1 { color: #fff; font-size: clamp(32px, 5vw, 56px); }
.ccb_wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 48px 20px 64px;
}
.ccb_section { padding: 56px 20px; }
.ccb_section_inner { max-width: 1120px; margin: 0 auto; }
.ccb_section_muted { background: #f6f5ef; }
.ccb_lead { font-size: 18px; line-height: 1.6; max-width: 720px; }
.ccb_prose p { line-height: 1.7; margin: 0 0 14px; }
.ccb_prose h3 { font-family: Farro, sans-serif; color: var(--ccb-olive); margin: 28px 0 10px; }
.ccb_prose ul { padding-left: 1.2em; line-height: 1.7; }
.ccb_grid {
    display: grid;
    gap: 20px;
}
@media (min-width: 800px) {
    .ccb_grid_4 { grid-template-columns: repeat(4, 1fr); }
    .ccb_grid_2 { grid-template-columns: 1fr 1fr; }
    .ccb_grid_3 { grid-template-columns: repeat(3, 1fr); }
}
.ccb_card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    display: block;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
}
.ccb_card img { width: 100%; height: 180px; object-fit: cover; display: block; }
.ccb_card_body { padding: 16px; }
.ccb_card h3 { font-family: Farro, sans-serif; margin: 0 0 6px; color: var(--ccb-olive); }
.ccb_cta {
    display: inline-block;
    background: var(--ccb-gold);
    color: #fff !important;
    font-weight: 700;
    padding: 12px 20px;
    text-decoration: none;
    border-radius: 2px;
}
.ccb_cta:hover { background: var(--ccb-olive); }
.ccb_icons { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; text-align: center; margin: 28px 0; }
.ccb_icons img { height: 64px; margin: 0 auto 8px; display: block; }
@media (max-width: 700px) {
    .ccb_icons { grid-template-columns: repeat(2, 1fr); }
}
.ccb_president { display: grid; gap: 28px; align-items: center; }
@media (min-width: 800px) { .ccb_president { grid-template-columns: 280px 1fr; } }
.ccb_president img { width: 100%; max-width: 280px; height: auto; }
.ccb_palmares_page { background: #f4f2ea; }
.ccb_palmares_page .ccb_hero { min-height: 42vh; }
.ccb_palmares_page .ccb_hero.ccb_hero_palmares {
    min-height: 0;
    align-items: stretch;
}
.ccb_palmares_page .ccb_hero.ccb_hero_palmares::after {
    background: linear-gradient(180deg, rgba(20,20,12,.28) 0%, rgba(20,20,12,.55) 42%, rgba(18,18,10,.88) 100%);
}
.ccb_palmares_status, .ccb_palmares_fallback {
    color: var(--ccb-text);
    padding: 48px 20px;
}
.ccb_palmares_stats {
    background: #4E4D1F;
    color: #fff;
}
.ccb_palmares_stats_inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    padding-top: 28px;
    padding-bottom: 28px;
}
@media (min-width: 900px) {
    .ccb_palmares_stats_inner { grid-template-columns: repeat(5, 1fr); }
}
.ccb_palmares_stat {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    padding: 8px 16px;
    cursor: pointer;
    border-left: 1px solid rgba(255,255,255,.12);
}
.ccb_palmares_stat:first-child { border-left: 0; }
.ccb_palmares_stat span,
.ccb_palmares_stat_span span {
    display: block;
    font-family: Farro, Inter, sans-serif;
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 700;
    color: var(--ccb-gold);
    line-height: 1.1;
}
.ccb_palmares_stat em,
.ccb_palmares_stat_span em {
    display: block;
    margin-top: 6px;
    font-style: normal;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.72);
}
.ccb_palmares_stat.is-on { background: rgba(178, 171, 71, .18); }
.ccb_palmares_stat:hover { background: rgba(255,255,255,.06); }
.ccb_palmares_stat_span { cursor: default; }
.ccb_palmares_body { padding-top: 12px; padding-bottom: 72px; max-width: 1200px; }
.ccb_palmares_filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; align-items: center; }
.ccb_palmares_filter_k {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #8a8470;
    margin-right: 2px;
    flex: 0 0 auto;
}
.ccb_palmares_chip,
a.ccb_palmares_chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 38px;
    border: 1px solid rgba(78, 77, 31, .18);
    background: #fff;
    color: var(--ccb-olive);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    padding: 0 14px;
    cursor: pointer;
    border-radius: 999px;
    text-decoration: none;
    appearance: none;
    -webkit-appearance: none;
}
.ccb_palmares_chip small {
    font-weight: 500;
    opacity: .55;
    margin-left: 4px;
}
.ccb_palmares_chip.is-on,
.ccb_palmares_chip:hover {
    background: var(--ccb-olive);
    color: #fff;
    border-color: var(--ccb-olive);
}
.ccb_palmares_empty { color: var(--ccb-text); }
.ccb_palmares_timeline {
    position: relative;
}
.ccb_palmares_ano { margin: 0 0 32px; }
.ccb_palmares_ano_head {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin: 0 0 12px;
}
.ccb_palmares_ano_head h2 {
    font-family: Farro, Inter, sans-serif;
    font-size: clamp(32px, 4.2vw, 44px);
    font-weight: 700;
    color: var(--ccb-gold);
    line-height: .9;
    letter-spacing: -.04em;
    margin: 0;
}
.ccb_palmares_ano_head span {
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #8a8470;
}
.ccb_palmares_lugar { margin: 0 0 18px; }
.ccb_palmares_lugar_head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 10px;
}
.ccb_palmares_lugar_head h3 {
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #8a8470;
}
.ccb_palmares_lugar_head span {
    font-size: 11px;
    letter-spacing: .08em;
    color: #b0aa98;
}
.ccb_palmares_lugar.is-lugar-1 {
    background: #f7f3e4;
    padding: 16px 16px 12px;
    margin-bottom: 22px;
}
.ccb_palmares_lugar.is-lugar-1 .ccb_palmares_lugar_head h3 {
    color: var(--ccb-gold);
    font-size: 13px;
}
.ccb_palmares_lugar.is-lugar-1 .ccb_palmares_cards {
    grid-template-columns: 1fr;
}
@media (min-width: 720px) {
    .ccb_palmares_lugar.is-lugar-1 .ccb_palmares_cards { grid-template-columns: 1fr 1fr; }
}
.ccb_palmares_lugar.is-lugar-1 .ccb_palmares_card {
    padding: 20px 18px 16px;
    border-top-width: 5px;
}
.ccb_palmares_lugar.is-lugar-1 .ccb_palmares_card h3 { font-size: 18px; }
.ccb_palmares_lugar.is-lugar-1 .ccb_card_media,
.ccb_palmares_lugar.is-lugar-1 .ccb_avatar {
    width: 64px;
    height: 64px;
}
.ccb_palmares_cards {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr;
}
@media (min-width: 720px) {
    .ccb_palmares_cards { grid-template-columns: 1fr 1fr 1fr; }
}
.ccb_palmares_card {
    background: #fff;
    padding: 22px 22px 20px;
    box-shadow: 0 10px 30px rgba(78, 77, 31, .06);
    border-top: 3px solid var(--ccb-gold);
}
.ccb_palmares_card.is-ouro { border-top-color: #C9A227; }
.ccb_palmares_card.is-prata { border-top-color: #9a9a9a; }
.ccb_palmares_card.is-bronze { border-top-color: #B87333; }
.ccb_palmares_badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 4px; }
.ccb_palmares_badge {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ccb-gold);
    margin-bottom: 0;
    line-height: 1.2;
}
.ccb_palmares_card.is-prata .ccb_palmares_badge { color: #7d7d7d; }
.ccb_palmares_card.is-bronze .ccb_palmares_badge { color: #B87333; }
.ccb_palmares_badge_sub {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #8a8470;
}
.ccb_palmares_card h3 {
    font-family: Farro, sans-serif;
    font-size: 16px;
    color: var(--ccb-olive);
    margin: 0 0 4px;
    line-height: 1.2;
}
.ccb_palmares_card a { color: inherit; text-decoration: none; }
.ccb_palmares_card h3 a { color: var(--ccb-olive); }
.ccb_palmares_card h3 a:hover,
.ccb_palmares_what a:hover,
.ccb_palmares_where a:hover { text-decoration: underline; }
.ccb_palmares_where a { color: var(--ccb-olive); font-weight: 600; }
.ccb_palmares_bc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 13px;
    margin: 0 0 22px;
    color: #8a8470;
}
.ccb_palmares_bc a { color: var(--ccb-olive); font-weight: 600; text-decoration: none; }
.ccb_palmares_bc a:hover { text-decoration: underline; }
.ccb_palmares_bc span::before { content: '/ '; color: #c5c1b2; }
.ccb_palmares_mods { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.ccb_palmares_mods a {
    color: var(--ccb-olive);
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    border: 1px solid rgba(78,77,31,.18);
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff;
}
.ccb_palmares_podio { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
@media (min-width: 720px) {
    .ccb_palmares_podio { grid-template-columns: 1fr 1fr 1fr; }
}
.ccb_palmares_embed {
    background: #f4f2ea;
    padding: 48px 0 72px;
    margin-top: 8px;
}
.ccb_palmares_embed h2 {
    font-family: Farro, sans-serif;
    color: var(--ccb-olive);
    margin: 0 0 8px;
}
.ccb_palmares_note { color: #7a7668; margin: 0 0 24px; }
a.ccb_palmares_chip { text-decoration: none; }
.ccb_palmares_what {
    margin: 0;
    color: var(--ccb-text);
    line-height: 1.35;
    font-size: 13px;
}
.ccb_palmares_where,
.ccb_palmares_equipa {
    margin: 4px 0 0;
    font-size: 12px;
    color: #7a7668;
    line-height: 1.35;
}
.ccb_contact_list { list-style: none; padding: 0; }
.ccb_contact_list li { margin: 0 0 10px; }
.ccb_contact_list a { color: var(--ccb-olive); font-weight: 600; }
.ccb_map {
    width: 100%;
    min-height: 280px;
    border: 0;
    margin-top: 20px;
}
body.ccb_whitelabel .mundial_ms_sidemenu_logo {
    height: 42px;
    width: auto;
}
body.ccb_whitelabel .sidemenu-container:not(.mundial_ms_sidemenu) img[src*="logo"] {
    max-height: 72px;
}

.ccb_header_lang {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    margin-left: 8px;
    flex: none;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.28);
}
body.ccb_whitelabel .ccb_club_header .ccb_header_lang .mundial_lang_btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: #fff;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .04em;
    padding: 4px 8px;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1.4;
}
body.ccb_whitelabel .ccb_club_header .ccb_header_lang .mundial_lang_btn.active {
    background: #fff;
    color: var(--ccb-dark);
}
.ccb_offcanvas_lang .mundial_lang_btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: #4E4D1F;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .04em;
    padding: 4px 8px;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1.4;
}
.ccb_offcanvas_lang .mundial_lang_btn.active {
    background: var(--ccb-gold);
    color: #fff;
}
.ccb_offcanvas_lang {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 18px 0 4px;
}
.ccb_header_nav_mundial .ccb_nav_link {
    padding: 8px 8px;
    font-size: 11px;
}
@media (min-width: 960px) and (max-width: 1199px) {
    body.ccb_whitelabel .site_header.ccb_club_header .ccb_header_nav_mundial.desktop_only {
        display: none !important;
    }
    body.ccb_whitelabel .site_header.ccb_club_header .ccb_burger.mobile_only {
        display: inline-flex !important;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.ccb_hero_palmares { min-height: 0; }
.ccb_hero_palmares_inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 12px;
    padding: 28px 20px 16px;
    max-width: 1200px;
}
.ccb_hero_palmares h1 {
    font-size: clamp(28px, 4vw, 42px);
    margin: 0;
}
.ccb_hero_palmares .ccb_kicker { margin: 0 0 4px; }
.ccb_hero_palmares_top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 14px;
    align-items: start;
}
.ccb_hero_palmares_top > div:first-child { min-width: 0; }
.ccb_hero_lead {
    margin: 8px 0 0;
    max-width: 32rem;
    color: rgba(255,255,255,.86);
    font-size: 15px;
    line-height: 1.4;
}
.ccb_hero_palmares .ccb_palmares_aviso {
    margin: 0;
    padding: 8px 12px;
    background: rgba(18, 18, 10, .5);
    border: 1px solid rgba(178, 171, 71, .5);
    color: var(--ccb-gold);
    font-family: Farro, Inter, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.2;
    width: fit-content;
    justify-self: end;
    align-self: start;
}
.ccb_hero_palmares .ccb_palmares_status,
.ccb_hero_palmares .ccb_palmares_fallback {
    margin: 0;
    color: rgba(255,255,255,.8);
    padding: 0;
}
.ccb_hero_palmares .ccb_tacas {
    background: transparent;
    padding: 0;
}
.ccb_hero_palmares .ccb_tacas_inner {
    gap: 0;
    grid-template-columns: repeat(5, 1fr);
}
.ccb_hero_palmares .ccb_taca {
    color: #fff;
    padding: 4px 4px 8px;
}
.ccb_hero_palmares .ccb_taca.is-on {
    background: rgba(178, 171, 71, .22);
}
.ccb_hero_palmares .ccb_taca_svg {
    display: block;
    width: 36px;
    height: 45px;
    margin: 0 auto;
    line-height: 0;
    overflow: hidden;
}
.ccb_hero_palmares .ccb_taca_svg .ccb_taca_draw,
.ccb_hero_palmares .ccb_taca_svg svg {
    display: block;
    width: 36px;
    height: 45px;
    transform: none;
    animation: none;
}
.ccb_hero_palmares .ccb_taca_n {
    color: var(--ccb-gold);
    font-size: 22px;
    margin-top: 2px;
}
.ccb_hero_palmares .ccb_taca em { color: rgba(255,255,255,.72); }
.ccb_palmares_aviso {
    background: #3f3e18;
    color: #f4f2ea;
    padding: 14px 0;
    border-bottom: 3px solid var(--ccb-gold);
}
.ccb_palmares_aviso .ccb_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: baseline;
    font-size: 14px;
    line-height: 1.5;
}
.ccb_palmares_aviso strong {
    font-family: Farro, Inter, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: 12px;
    color: var(--ccb-gold);
}
.ccb_tacas {
    background: #f4f2ea;
    padding: 36px 0 8px;
}
.ccb_tacas_inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}
@media (max-width: 800px) {
    .ccb_tacas_inner { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
    .ccb_tacas_inner { grid-template-columns: repeat(2, 1fr); }
}
.ccb_taca {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--ccb-dark);
    cursor: pointer;
    text-align: center;
    padding: 12px 8px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: ccbTacaIn .7s ease both;
}
.ccb_taca:nth-child(1) { animation-delay: .05s; }
.ccb_taca:nth-child(2) { animation-delay: .12s; }
.ccb_taca:nth-child(3) { animation-delay: .19s; }
.ccb_taca:nth-child(4) { animation-delay: .26s; }
.ccb_taca:nth-child(5) { animation-delay: .33s; }
.ccb_taca_svg {
    display: block;
    width: 36px;
    height: 45px;
    margin: 0 auto;
    line-height: 0;
    overflow: hidden;
    color: var(--ccb-gold);
}
.ccb_taca_svg .ccb_taca_draw,
.ccb_taca_svg svg {
    display: block;
    width: 36px;
    height: 45px;
    margin: 0;
    animation: none;
}
.ccb_taca_mini {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 20px;
    line-height: 0;
    overflow: hidden;
    color: var(--ccb-gold);
    flex: none;
    vertical-align: middle;
}
.ccb_taca_mini .ccb_taca_draw,
.ccb_taca_mini svg {
    display: block;
    width: 16px;
    height: 20px;
    margin: 0;
    animation: none;
}
.ccb_taca_mini.is-contagem,
.ccb_taca_mini.is-criterio { color: #8a8470; }
.ccb_taca.is-empty { opacity: .38; }
.ccb_taca.is-on {
    background: rgba(178, 171, 71, .16);
}
.ccb_taca_n {
    display: block;
    font-family: Farro, Inter, sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--ccb-olive);
    line-height: 1;
    margin-top: 6px;
}
.ccb_taca em {
    display: block;
    margin-top: 4px;
    font-style: normal;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #8a8470;
}
@keyframes ccbTacaIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
@keyframes ccbTacaFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}
.ccb_palmares_nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin: 0 -20px 18px;
    position: sticky;
    top: 0;
    z-index: 8;
    background: #f4f2ea;
    padding: 8px 20px 10px;
    border-bottom: 1px solid rgba(78, 77, 31, .1);
    box-shadow: 0 10px 18px -12px rgba(18, 18, 10, .35);
}
.ccb_palmares_nav_row {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px 12px;
    align-items: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.ccb_palmares_nav .ccb_palmares_filters {
    margin: 0;
    flex: 0 0 auto;
    flex-wrap: nowrap;
}
.ccb_palmares_search {
    display: flex;
    align-items: center;
    margin: 0;
    width: 100%;
    max-width: none;
    min-width: 0;
    line-height: 0;
}
.ccb_palmares_search input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 34px;
    margin: 0;
    font: inherit;
    font-size: 13px;
    line-height: 1;
    border: 1px solid rgba(78, 77, 31, .18);
    background: #fff;
    padding: 0 14px;
    color: var(--ccb-dark);
    border-radius: 999px;
    appearance: none;
    -webkit-appearance: none;
}
.ccb_palmares_search input:focus {
    outline: 2px solid var(--ccb-gold);
    outline-offset: 1px;
}
.ccb_palmares_field {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    white-space: nowrap;
    margin: 0;
}
@media (min-width: 720px) {
    .ccb_palmares_nav_row {
        overflow-x: auto;
        width: 100%;
        gap: 10px 12px;
    }
    .ccb_palmares_field {
        flex: 1 1 0;
        min-width: 0;
    }
    .ccb_palmares_field select {
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
        min-width: 4.5em;
    }
}
.ccb_palmares_field > span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #8a8470;
}
.ccb_palmares_field select {
    display: block;
    box-sizing: border-box;
    height: 34px;
    margin: 0;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: var(--ccb-olive);
    background: #fff;
    border: 1px solid rgba(78, 77, 31, .18);
    border-radius: 999px;
    padding: 0 28px 0 12px;
    max-width: 150px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%234E4D1F' d='M0 0l5 6 5-6z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 8px 5px;
    cursor: pointer;
}
.ccb_palmares_field select:focus {
    outline: 2px solid var(--ccb-gold);
    outline-offset: 1px;
}
.ccb_palmares_hint {
    color: #7a7668;
    font-size: 14px;
    margin: 0 0 18px;
    max-width: 42rem;
}
.ccb_vitrina { margin: 0 0 32px; }
.ccb_vitrina h2,
.ccb_palmares_h2 {
    font-family: Farro, Inter, sans-serif;
    color: var(--ccb-olive);
    font-size: 28px;
    margin: 0 0 8px;
}
.ccb_vitrina_grid {
    display: grid;
    gap: 12px;
    margin-top: 16px;
    grid-template-columns: 1fr 1fr;
}
@media (min-width: 720px) {
    .ccb_vitrina_grid { grid-template-columns: 1fr 1fr 1fr; }
}
.ccb_palmares_card {
    background: #fff;
    padding: 14px 14px 12px;
    border-top: 3px solid var(--ccb-gold);
    animation: ccbTacaIn .55s ease both;
    min-width: 0;
}
.ccb_palmares_card > div {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 10px;
    min-width: 0;
}
.ccb_card_year {
    grid-column: 1;
    font-family: Farro, Inter, sans-serif;
    font-size: clamp(32px, 4.2vw, 44px);
    font-weight: 700;
    color: var(--ccb-gold);
    line-height: .9;
    letter-spacing: -.04em;
}
.ccb_card_media {
    grid-column: 2;
    grid-row: 1;
    flex: none;
    width: 48px;
    height: 48px;
    position: relative;
    overflow: visible;
    align-self: start;
}
.ccb_card_body {
    grid-column: 1 / -1;
    min-width: 0;
}
.ccb_palmares_card.is-campeao { border-top-color: #C9A227; }
.ccb_palmares_card.is-vice { border-top-color: #9a9a9a; }
.ccb_palmares_card.is-podio { border-top-color: #B87333; }
.ccb_palmares_card.is-contagem { border-top-color: #a8a28c; }
.ccb_palmares_card.is-criterio { border-top-color: #787630; }
.ccb_avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    background: #4E4D1F;
    color: var(--ccb-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.ccb_avatar.is-lg { width: 112px; height: 112px; }
.ccb_avatar.is-campeao:not(.is-equipa) { box-shadow: 0 0 0 3px var(--ccb-gold); }
.ccb_avatar img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    display: block;
    z-index: 1;
}
.ccb_avatar.is-equipa {
    background: #fff;
    box-shadow: none;
}
.ccb_avatar.is-equipa img,
.ccb_avatar_logo {
    object-fit: contain;
    padding: 0;
    background: #fff;
}
.ccb_avatar.is-fallback img { display: none; }
.ccb_iniciais {
    font-family: Farro, sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .06em;
    z-index: 0;
}
.ccb_avatar:not(.is-fallback):has(img) .ccb_iniciais {
    display: none;
}
.ccb_avatar.is-lg .ccb_iniciais { font-size: 28px; }
.ccb_card_body { min-width: 0; flex: 1; }
.ccb_palmares_ano .ccb_card_year { display: none; }
.ccb_ficha_atleta .ccb_palmares_what {
    font-family: Farro, Inter, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--ccb-olive);
    line-height: 1.25;
}
.ccb_ficha_atleta .ccb_palmares_what a { color: var(--ccb-olive); }
.ccb_hero_mods {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 0;
}
.ccb_hero_mods a {
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.4);
    padding: 4px 10px;
    border-radius: 999px;
}
.ccb_hero_atleta_media {
    justify-self: end;
    align-self: start;
    margin-top: 2px;
}
.ccb_hero_palmares .ccb_avatar.is-lg {
    width: 64px;
    height: 64px;
    box-shadow: 0 0 0 3px var(--ccb-gold);
}
@media (min-width: 720px) {
    .ccb_hero_palmares .ccb_avatar.is-lg {
        width: 96px;
        height: 96px;
    }
}
.ccb_ficha_atleta .ccb_hero_palmares_inner {
    padding-top: 20px;
    padding-bottom: 14px;
}
.ccb_palmares_ext { color: var(--ccb-olive); font-weight: 600; }
.ccb_palmares_badge_ano {
    margin-left: auto;
    font-size: 12px;
    letter-spacing: .12em;
    color: #8a8470;
}
.ccb_atleta_head { background: #f4f2ea; padding: 28px 0 8px; }
.ccb_atleta_head_inner {
    display: flex;
    gap: 20px;
    align-items: center;
}
@media (prefers-reduced-motion: reduce) {
    .ccb_taca,
    .ccb_taca_svg .ccb_taca_draw,
    .ccb_palmares_card {
        animation: none;
    }
}

/* Área de sócio */
.ccb_socio_page .ccb_hero { min-height: 36vh; }
.ccb_socio_page .ccb_hero.ccb_hero_socio {
    min-height: 0;
    align-items: stretch;
}
.ccb_socio_page .ccb_hero.ccb_hero_socio::after {
    background: linear-gradient(180deg, rgba(20,20,12,.38) 0%, rgba(20,20,12,.62) 48%, rgba(12,12,8,.92) 100%);
}
.ccb_hero_socio_inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 12px;
    padding: 28px 20px 18px;
    max-width: 1200px;
}
.ccb_hero_socio_top {
    display: grid;
    gap: 22px;
    align-items: end;
}
.ccb_hero_socio_num {
    margin: 0 0 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0,0,0,.75), 0 4px 16px rgba(0,0,0,.55);
}
.ccb_hero_socio_id_row {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.ccb_hero_socio_id_txt { min-width: 0; }
.ccb_hero_socio_foto {
    margin: 0;
    flex: none;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,.75);
    box-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.ccb_hero_socio_foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ccb_hero_socio_id h1 {
    font-size: clamp(26px, 4vw, 42px);
    margin: 0 0 10px;
    color: #fff;
    line-height: 1.12;
    text-shadow: 0 1px 2px rgba(0,0,0,.55);
}
.ccb_hero_socio_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0;
}
.ccb_socio_chip_hero {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    border: 1px solid rgba(178, 171, 71, .55);
    background: rgba(18, 18, 10, .5);
    color: var(--ccb-gold);
}
.ccb_socio_chip_hero.tone-ok {
    border-color: rgba(142, 217, 116, .45);
    color: #c8e8b4;
}
.ccb_socio_chip_hero.tone-warn {
    border-color: rgba(255, 183, 77, .5);
    color: #f3d48a;
}
.ccb_socio_chip_hero.tone-danger {
    border-color: rgba(232, 95, 92, .5);
    color: #f3b4b2;
}
.ccb_hero_socio_quotas {
    color: rgba(255,255,255,.78);
    font-size: 13px;
}
.ccb_hero_socio_quotas.is-warn { color: #f3d48a; }
.ccb_socio_wallet { display: none; }
.ccb_wallet_apple {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #000;
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 8px 16px 8px 12px;
    cursor: pointer;
    font: inherit;
    line-height: 1.1;
    min-height: 44px;
}
.ccb_wallet_apple span {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 15px;
    font-weight: 600;
}
.ccb_wallet_apple small {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .02em;
    opacity: .85;
}
.ccb_wallet_apple:disabled { opacity: .55; }
.ccb_hero_socio_qr {
    margin: 0;
    justify-self: start;
    width: fit-content;
    background: rgba(255,255,255,.92);
    padding: 4px;
    cursor: pointer;
    opacity: .82;
    box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.ccb_hero_socio_qr:hover,
.ccb_hero_socio_qr:focus {
    opacity: 1;
}
.ccb_hero_socio_qr img {
    display: block;
    width: 64px;
    height: 64px;
    background: #fff;
}
@media (min-width: 860px) {
    .ccb_hero_socio_top {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }
    .ccb_hero_socio_qr {
        justify-self: end;
        align-self: start;
        margin-top: 2px;
    }
    .ccb_hero_socio_qr img {
        width: 72px;
        height: 72px;
    }
    .ccb_hero_socio_foto {
        width: 72px;
        height: 72px;
    }
}
@media (max-width: 859px) {
    .ccb_socio_wallet { display: block; }
    .ccb_hero_socio_top {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 12px;
    }
    .ccb_hero_socio_qr {
        justify-self: end;
    }
    .ccb_hero_socio_qr img {
        width: 56px;
        height: 56px;
    }
}
.ccb_socio_muted { color: var(--ccb-muted); margin: 8px 0 16px; }
.ccb_socio_cta_row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 18px 0; }
.ccb_cta_ghost {
    background: transparent;
    color: var(--ccb-olive) !important;
    border: 1px solid var(--ccb-olive);
}
.ccb_cta_ghost:hover { background: var(--ccb-olive); color: #fff !important; }
button.ccb_cta { border: 0; cursor: pointer; font: inherit; }
.ccb_socio_grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px 20px;
    width: 100%;
    min-width: 0;
}
.ccb_socio_grid > * { min-width: 0; }
@media (min-width: 700px) {
    .ccb_socio_grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .ccb_socio_grid .is-full { grid-column: 1 / -1; }
}
.ccb_socio_mode { display: flex; gap: 8px; margin: 0 0 16px; }
.ccb_socio_mode button,
.ccb_socio_tabs button,
.ccb_socio_seletor button {
    border: 1px solid rgba(78, 77, 31, .18);
    background: #fff;
    color: var(--ccb-olive);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 16px;
    cursor: pointer;
}
.ccb_socio_mode button.is-on,
.ccb_socio_tabs button.is-on,
.ccb_socio_seletor button.is-on {
    background: var(--ccb-olive);
    border-color: var(--ccb-olive);
    color: #fff;
}
.ccb_socio_tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e6e3d6;
}
.ccb_socio_hub.ccb_section { padding: 16px 20px 56px; }
.ccb_socio_hub .ccb_section_inner { padding-top: 0; }
.ccb_socio_block {
    background: #fff;
    padding: 28px 24px 24px;
    box-shadow: 0 10px 30px rgba(78, 77, 31, .06);
    border-top: 3px solid var(--ccb-gold);
    margin: 0 0 20px;
    min-width: 0;
}
.ccb_socio_block > h2 {
    font-family: Farro, Inter, sans-serif;
    color: var(--ccb-olive);
    margin: 0 0 8px;
    font-size: 24px;
}
.ccb_socio_block .ccb_socio_empty { padding: 4px 0 8px; }
.ccb_socio_dl {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px 24px;
    margin: 16px 0 28px;
    padding: 0;
    width: 100%;
}
@media (min-width: 700px) {
    .ccb_socio_dl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.ccb_socio_dl > div { margin: 0; }
.ccb_socio_dl dt {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ccb-gold);
    margin: 0 0 4px;
}
.ccb_socio_dl dd {
    margin: 0;
    color: var(--ccb-text);
    font-size: 15px;
}
.ccb_socio_card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px;
    background: #f6f5ef;
    padding: 20px;
}
.ccb_socio_card_main { display: flex; gap: 16px; align-items: center; }
.ccb_socio_photo {
    width: 72px; height: 72px; border-radius: 50%;
    background: #ddd center / cover no-repeat; flex: none;
}
.ccb_socio_ficha_head { margin: 8px 0 16px; }
.ccb_socio_fptac { margin: 8px 0 8px; padding-top: 8px; border-top: 1px solid #e6e3d6; }
.ccb_socio_docs {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: grid;
    gap: 8px;
}
@media (min-width: 700px) {
    .ccb_socio_docs { grid-template-columns: 1fr 1fr; }
}
.ccb_socio_docs li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
    padding: 10px 12px;
    background: #f6f5ef;
    font-size: 14px;
}
.ccb_socio_docs li span { color: var(--ccb-muted); font-size: 13px; }
.ccb_socio_docs li.is-ok span { color: #3d5a1f; }
.ccb_socio_docs li.is-miss span { color: #8a2a24; }
.ccb_socio_disc ul {
    list-style: none;
    padding: 0;
    margin: 8px 0 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ccb_socio_disc li {
    background: #f6f5ef;
    padding: 8px 12px;
    font-size: 13px;
}
.ccb_socio_disc li span { display: block; color: var(--ccb-muted); font-size: 12px; }
.ccb_socio_pend { font-size: 14px; color: #7a5a12; margin: 0 0 16px; }
.ccb_socio_photo_empty {
    display: flex; align-items: center; justify-content: center;
    background: var(--ccb-olive); color: #fff; font-size: 28px; font-weight: 700;
}
.ccb_socio_kicker { margin: 0; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; color: var(--ccb-olive); }
.ccb_socio_chip {
    display: inline-block; margin-top: 6px; padding: 4px 10px; font-size: 12px; font-weight: 700;
    border-radius: 999px; background: #eee;
}
.ccb_socio_chip.tone-ok { background: #e4f0d8; color: #3d5a1f; }
.ccb_socio_chip.tone-warn { background: #f7ecd0; color: #7a5a12; }
.ccb_socio_chip.tone-danger { background: #f8d9d6; color: #8a2a24; }
.ccb_socio_card_actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ccb_socio_alert {
    margin: 0 0 20px;
    padding: 16px 18px;
    background: #f7ecd0;
}
.ccb_socio_alert p { margin: 0 0 12px; }
.ccb_socio_quotas, .ccb_socio_familia { list-style: none; padding: 0; margin: 16px 0 0; }
.ccb_socio_quotas li, .ccb_socio_familia li {
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    padding: 14px 0; border-bottom: 1px solid #e6e3d6;
    flex-wrap: wrap;
}
.ccb_socio_quotas li span, .ccb_socio_familia li span { display: block; color: var(--ccb-muted); font-size: 13px; }
.ccb_socio_familia .ccb_cta { flex: none; }
.ccb_socio_quotas li span, .ccb_socio_familia li span { display: block; color: var(--ccb-muted); font-size: 13px; }
.ccb_socio_seletor { margin: 0 0 20px; }
.ccb_socio_seletor p { margin: 0 0 8px; font-weight: 700; color: var(--ccb-olive); }
.ccb_socio_panel { margin-top: 4px; min-height: 120px; }
.ccb_socio_panel_lead { color: var(--ccb-muted); max-width: 40rem; }
.ccb_socio_empty {
    padding: 28px 0 8px;
}
.ccb_socio_empty_kicker {
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ccb-gold);
}
.ccb_socio_empty h2 {
    font-family: Farro, Inter, sans-serif;
    color: var(--ccb-olive);
    margin: 0 0 6px;
    font-size: 24px;
}
.ccb_socio_empty p { margin: 0; color: var(--ccb-muted); }
.ccb_socio_cta_home {
    background: var(--ccb-dark);
    color: #fff;
    text-align: center;
}
.ccb_socio_cta_home h2 { color: #fff; }
.ccb_socio_cta_home p { color: rgba(255,255,255,.85); }
.ccb_socio_form {
    width: 100%;
    display: block;
}
.ccb_socio_form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ccb-olive);
}
.ccb_socio_form input,
.ccb_socio_form select {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
    min-height: 44px;
    border-radius: 2px;
}
.ccb_socio_foot {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    padding: 8px 0 0;
}

/* Diálogo CCB (fora do chrome EasyTicket) */
body.ccb_whitelabel .md-dialog-container md-dialog.ccb_dialog {
    max-width: min(720px, calc(100vw - 24px));
    width: 720px;
    max-height: 90vh;
    min-width: 0;
    margin: 12px;
    padding: 0;
    overflow: hidden;
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(18, 18, 10, .28);
}
.ccb_dialog_inner {
    box-sizing: border-box;
    padding: 24px 28px 28px;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 90vh;
}
.ccb_dialog_head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 8px;
}
.ccb_dialog_head h1 {
    font-family: Farro, Inter, sans-serif;
    color: var(--ccb-olive);
    font-size: clamp(22px, 3vw, 28px);
    margin: 0;
    line-height: 1.15;
}
.ccb_dialog_close {
    appearance: none;
    flex: none;
    width: 36px;
    height: 36px;
    margin: -4px -8px 0 0;
    border: 0;
    background: transparent;
    color: var(--ccb-olive);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ccb_dialog_close:hover { color: var(--ccb-gold); }
.ccb_cta_danger {
    background: #8a2a24 !important;
}
.ccb_cta_danger:hover { background: #6e221e !important; }
body.ccb_whitelabel .md-dialog-container md-dialog.ccb_dialog.ccb_dialog_compact {
    width: 440px;
    max-width: min(440px, calc(100vw - 24px));
}
.ccb_dialog_qr { text-align: center; }
.ccb_dialog_qr .ccb_dialog_head { text-align: left; }
.ccb_dialog_qr_plate {
    margin: 8px auto 12px;
    width: fit-content;
    background: #fff;
    padding: 10px;
    box-shadow: 0 4px 18px rgba(0,0,0,.08);
}
.ccb_dialog_qr_plate img {
    display: block;
    width: 180px;
    height: 180px;
}
.ccb_dialog_qr_name {
    margin: 0 0 8px;
    color: var(--ccb-olive);
    font-weight: 600;
}
@media (max-width: 699px) {
    .ccb_dialog_inner { padding: 18px 16px 20px; }
}

/* Compak Sporting — página de referência (isolada) */
.ccb_compak {
    --cs-rule: #787630;
    --cs-example: #8a5a1a;
    --cs-void: #9a3b34;
    --cs-paper: #f6f5ef;
    --cs-line: #e4e1d4;
}
.ccb_compak_hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}
.ccb_compak_lang { display: flex; gap: 6px; }
.ccb_compak_lang button {
    appearance: none;
    border: 1px solid rgba(255,255,255,.45);
    background: transparent;
    color: #fff;
    font: 700 12px/1 Inter, system-ui, sans-serif;
    letter-spacing: .08em;
    min-width: 44px;
    min-height: 40px;
    cursor: pointer;
}
.ccb_compak_lang button.is-on {
    background: var(--ccb-gold);
    border-color: var(--ccb-gold);
    color: #fff;
}
.ccb_compak_body { padding-top: 28px; }
.ccb_compak_toc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 36px;
    padding: 0;
    list-style: none;
}
.ccb_compak_toc button {
    appearance: none;
    border: 1px solid var(--cs-line);
    background: #fff;
    color: var(--ccb-olive);
    font: 700 11px/1.2 Inter, system-ui, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 8px 12px;
    cursor: pointer;
    border-radius: 2px;
}
.ccb_compak_toc button:hover,
.ccb_compak_toc button:focus {
    background: var(--ccb-olive);
    color: #fff;
    outline: none;
}
.ccb_compak_sec {
    margin: 0 0 56px;
    scroll-margin-top: 92px;
}
.ccb_compak_sec h2 {
    font-family: Farro, Inter, sans-serif;
    color: var(--ccb-olive);
    font-size: clamp(26px, 3.4vw, 36px);
    margin: 0 0 8px;
}
.ccb_compak_kicker {
    margin: 0 0 6px;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--ccb-gold);
}
.ccb_compak_lead {
    font-size: 18px;
    line-height: 1.55;
    max-width: 720px;
    margin: 0 0 18px;
}
.ccb_compak_sec p { line-height: 1.65; margin: 0 0 12px; }
.ccb_compak_badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.ccb_compak_badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 2px;
}
.ccb_compak_badge.is-rule {
    background: rgba(120, 118, 48, .12);
    color: var(--cs-rule);
    border: 1px solid rgba(120, 118, 48, .28);
}
.ccb_compak_badge.is-example {
    background: rgba(138, 90, 26, .1);
    color: var(--cs-example);
    border: 1px solid rgba(138, 90, 26, .28);
}
.ccb_compak_badge.is-study {
    background: rgba(81, 86, 95, .08);
    color: var(--ccb-text);
    border: 1px dashed rgba(81, 86, 95, .28);
}
.ccb_compak_cards {
    display: grid;
    gap: 14px;
    margin: 16px 0 8px;
}
@media (min-width: 800px) {
    .ccb_compak_cards.is-4 { grid-template-columns: repeat(4, 1fr); }
    .ccb_compak_cards.is-3 { grid-template-columns: repeat(3, 1fr); }
    .ccb_compak_cards.is-2 { grid-template-columns: 1fr 1fr; }
}
.ccb_compak_card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
    padding: 16px 16px 18px;
}
.ccb_compak_card h3 {
    font-family: Farro, sans-serif;
    color: var(--ccb-olive);
    margin: 0 0 8px;
    font-size: 18px;
}
.ccb_compak_card p:last-child { margin-bottom: 0; }
.ccb_compak_card.is-muted { background: var(--cs-paper); }
.ccb_compak_facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 0 0 28px;
}
@media (min-width: 800px) {
    .ccb_compak_facts { grid-template-columns: repeat(4, 1fr); }
}
.ccb_compak_fact {
    background: var(--cs-paper);
    padding: 16px 14px;
    border-left: 3px solid var(--ccb-gold);
}
.ccb_compak_fact strong {
    display: block;
    font-family: Farro, sans-serif;
    color: var(--ccb-olive);
    font-size: 22px;
    line-height: 1.1;
    margin-bottom: 4px;
}
.ccb_compak_fact span { font-size: 13px; color: var(--ccb-muted); }

.ccb_compak_diagram {
    background: var(--cs-paper);
    border: 1px solid var(--cs-line);
    padding: 16px 12px 8px;
    margin: 18px 0 12px;
    overflow: hidden;
}
.ccb_compak_diagram svg {
    display: block;
    width: 100%;
    height: auto;
}
.ccb_compak_legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    font-size: 13px;
    color: var(--ccb-muted);
    margin: 0 0 8px;
}
.ccb_compak_dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: -1px;
}
.ccb_compak_dot.is-stand { background: var(--ccb-olive); }
.ccb_compak_dot.is-trap { background: var(--ccb-gold); }
.ccb_compak_dot.is-zone { background: #c9c6b4; }
.ccb_compak_traj {
    fill: none;
    stroke-width: 2;
    stroke-dasharray: 7 6;
    animation: ccbCompakDash 14s linear infinite;
}
@keyframes ccbCompakDash {
    to { stroke-dashoffset: -180; }
}

.ccb_compak_menu {
    display: grid;
    gap: 10px;
    overflow-x: auto;
    margin: 16px 0;
}
@media (min-width: 760px) {
    .ccb_compak_menu { grid-template-columns: repeat(5, 1fr); }
}
.ccb_compak_standmenu {
    min-width: 140px;
    background: #fff;
    border: 1px solid var(--cs-line);
    padding: 12px;
}
.ccb_compak_standmenu header {
    font-weight: 700;
    color: var(--ccb-olive);
    margin-bottom: 8px;
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ccb_compak_shot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
    padding: 6px 0;
    border-top: 1px solid var(--cs-line);
}
.ccb_compak_shot.is-double {
    background: rgba(178, 171, 71, .12);
    margin: 4px -8px 0;
    padding: 8px;
}
.ccb_compak_pill {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ccb-olive);
}

.ccb_compak_round {
    display: grid;
    gap: 10px;
    margin: 16px 0;
}
@media (min-width: 760px) {
    .ccb_compak_round { grid-template-columns: repeat(5, 1fr); }
}
.ccb_compak_target {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    margin: 3px 3px 0 0;
}
.ccb_compak_target.is-hit { background: var(--ccb-olive); color: #fff; }
.ccb_compak_target.is-miss { background: #fff; color: var(--cs-void); border: 2px solid var(--cs-void); }
.ccb_compak_scoreline {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 8px;
    font-size: 13px;
    color: var(--ccb-muted);
}
.ccb_compak_scoreline strong { color: var(--ccb-olive); font-size: 18px; }

.ccb_compak_sim {
    background: var(--cs-paper);
    border: 1px solid var(--cs-line);
    padding: 18px 16px 20px;
    margin: 16px 0;
}
.ccb_compak_sim_head {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.ccb_compak_sim_head h3 {
    margin: 0;
    font-family: Farro, sans-serif;
    color: var(--ccb-olive);
}
.ccb_compak_toggle {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ccb_compak_toggle button,
.ccb_compak_controls button {
    appearance: none;
    border: 1px solid var(--ccb-olive);
    background: #fff;
    color: var(--ccb-olive);
    font: 700 12px/1 Inter, system-ui, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 10px 14px;
    cursor: pointer;
    min-height: 44px;
}
.ccb_compak_toggle button.is-on,
.ccb_compak_controls .ccb_cta {
    background: var(--ccb-olive);
    color: #fff;
    border-color: var(--ccb-olive);
}
.ccb_compak_slots {
    display: grid;
    grid-template-columns: repeat(6, minmax(88px, 1fr));
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 6px;
}
.ccb_compak_slot {
    background: #fff;
    border: 1px solid var(--cs-line);
    text-align: center;
    padding: 10px 6px 12px;
    min-width: 88px;
    transition: box-shadow .25s ease, transform .25s ease;
}
.ccb_compak_slot.is-wait { border-style: dashed; background: #fafaf6; }
.ccb_compak_slot.is-void {
    border-color: var(--cs-void);
    box-shadow: 0 0 0 2px rgba(154, 59, 52, .18);
}
.ccb_compak_slot header {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ccb-muted);
    margin-bottom: 8px;
}
.ccb_compak_chip {
    width: 46px;
    height: 46px;
    margin: 0 auto;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Farro, sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #fff;
    animation: ccbCompakPop .35s ease;
}
.ccb_compak_chip.is-A { background: #B2AB47; }
.ccb_compak_chip.is-B { background: #787630; }
.ccb_compak_chip.is-C { background: #4E4D1F; }
.ccb_compak_chip.is-D { background: #9aa04a; }
.ccb_compak_chip.is-E { background: #6b6a38; }
.ccb_compak_chip.is-F { background: #c4b24a; color: #3d3c18; }
.ccb_compak_chip.is-empty {
    background: transparent;
    border: 2px dashed #c5c1b2;
    color: #b0ab9c;
}
@keyframes ccbCompakPop {
    from { transform: scale(.86); opacity: .5; }
    to { transform: scale(1); opacity: 1; }
}
.ccb_compak_note {
    margin: 12px 0 0;
    padding: 10px 12px;
    background: #fff;
    border-left: 3px solid var(--ccb-gold);
    font-size: 14px;
}
.ccb_compak_note.is-void { border-left-color: var(--cs-void); }
.ccb_compak_controls { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ccb_compak_meta { font-size: 13px; color: var(--ccb-muted); margin: 8px 0 0; }

.ccb_compak_ranges {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0;
}
@media (max-width: 700px) {
    .ccb_compak_ranges { grid-template-columns: repeat(2, 1fr); }
}
.ccb_compak_range {
    background: #fff;
    border: 1px solid var(--cs-line);
    text-align: center;
    padding: 14px 8px;
    font-family: Farro, sans-serif;
    color: var(--ccb-olive);
    position: relative;
}
.ccb_compak_range b { display: block; font-size: 22px; }
.ccb_compak_range span { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ccb-muted); }
.ccb_compak_pairrow {
    display: grid;
    gap: 8px;
    margin: 8px 0;
}
@media (min-width: 800px) {
    .ccb_compak_pairrow { grid-template-columns: repeat(4, 1fr); }
}
.ccb_compak_pair {
    background: #fff;
    border: 1px dashed rgba(138, 90, 26, .35);
    padding: 12px;
    text-align: center;
}
.ccb_compak_pair strong { display: block; color: var(--cs-example); font-size: 18px; }
.ccb_compak_flow {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 10px 0 0;
}
.ccb_compak_flow b {
    background: var(--ccb-olive);
    color: #fff;
    min-width: 36px;
    text-align: center;
    padding: 8px 10px;
    font-family: Farro, sans-serif;
}
.ccb_compak_flow i {
    font-style: normal;
    color: var(--ccb-gold);
    font-weight: 700;
}

.ccb_compak_days {
    display: grid;
    gap: 12px;
}
@media (min-width: 800px) {
    .ccb_compak_days { grid-template-columns: 1fr 1fr; }
}
.ccb_compak_daylist { margin: 8px 0 0; padding: 0; list-style: none; }
.ccb_compak_daylist li {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--cs-line);
    font-size: 14px;
}
.ccb_compak_inputs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
@media (min-width: 800px) {
    .ccb_compak_inputs { grid-template-columns: repeat(3, 1fr); }
}
.ccb_compak_input {
    background: #fff;
    border: 1px solid var(--cs-line);
    padding: 14px 12px;
    min-height: 92px;
}
.ccb_compak_input em {
    display: block;
    font-style: normal;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--ccb-gold);
    margin-bottom: 6px;
}
.ccb_compak_big {
    font-family: Farro, sans-serif;
    color: var(--ccb-olive);
    font-size: 28px;
    margin: 0;
}
.ccb_compak_path {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}
.ccb_compak_stop {
    display: grid;
    grid-template-columns: 88px 1fr auto;
    gap: 10px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--cs-line);
    padding: 10px 12px;
}
.ccb_compak_stop b {
    font-family: Farro, sans-serif;
    color: var(--ccb-olive);
    font-size: 18px;
}
@media (max-width: 700px) {
    .ccb_compak_slots { grid-template-columns: repeat(3, minmax(88px, 1fr)); }
    .ccb_compak_stop { grid-template-columns: 1fr auto; }
    .ccb_compak_sim_head { align-items: flex-start; }
}
.ccb_compak_dl {
    display: grid;
    gap: 10px;
    margin: 12px 0 0;
}
.ccb_compak_dl div {
    background: var(--cs-paper);
    padding: 12px 14px;
}
.ccb_compak_dl dt {
    font-weight: 700;
    color: var(--ccb-olive);
    margin: 0 0 4px;
}
.ccb_compak_dl dd { margin: 0; }
.ccb_compak_sources {
    border-top: 1px solid var(--cs-line);
    padding-top: 18px;
    color: var(--ccb-muted);
    font-size: 13px;
}
.ccb_compak_sources h2 { font-size: 18px; }
.ccb_compak_sources a { color: var(--ccb-olive); }
.ccb_compak_select {
    appearance: none;
    border: 1px solid var(--ccb-olive);
    background: #fff;
    color: var(--ccb-olive);
    font: 700 13px/1.2 Inter, system-ui, sans-serif;
    padding: 10px 12px;
    min-height: 44px;
    min-width: 160px;
}
@media (prefers-reduced-motion: reduce) {
    .ccb_compak_traj,
    .ccb_compak_chip { animation: none; }
}

/* Hélices / Fosso Universal / Fosso Olímpico — extras scoped, visual Compak */
.ccb_helice .ccb_livebox,
.ccb_fu .ccb_livebox,
.ccb_fo .ccb_livebox {
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ccb_helice .ccb_livebox.is-on,
.ccb_fu .ccb_livebox.is-on,
.ccb_fo .ccb_livebox.is-on {
    background: var(--ccb-gold);
    color: #3d3c18;
    box-shadow: 0 0 0 4px rgba(178,171,71,.35);
    transform: scale(1.08);
}
.ccb_helice .ccb_compak_slots {
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
}
.ccb_fu .ccb_scheme {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin: 12px 0 8px;
}
.ccb_fu .ccb_scheme th,
.ccb_fu .ccb_scheme td {
    border: 1px solid var(--cs-line);
    padding: 8px 10px;
    text-align: left;
}
.ccb_fu .ccb_scheme th {
    background: var(--cs-paper);
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ccb-muted);
}
.ccb_fu .ccb_scheme_wrap { overflow-x: auto; }
.ccb_fo .ccb_traps15 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}
.ccb_fo .ccb_trapgroup {
    background: #fff;
    border: 1px solid var(--cs-line);
    padding: 10px 8px 12px;
    text-align: center;
}
.ccb_fo .ccb_trapgroup header {
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ccb-muted);
    margin-bottom: 8px;
}
.ccb_fo .ccb_trapgroup.is-on {
    border-color: var(--ccb-olive);
    background: var(--cs-paper);
}
.ccb_fo .ccb_traprow {
    display: flex;
    justify-content: center;
    gap: 6px;
}
.ccb_fo .ccb_trapcell {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #d8d6c8;
    color: #fff;
    font: 700 11px/28px Farro, sans-serif;
    text-align: center;
}
.ccb_fo .ccb_trapcell.is-on { background: var(--ccb-gold); color: #3d3c18; }
.ccb_fo .ccb_trapcell.is-dim { opacity: .35; }
.ccb_helice .ccb_resultkill { color: var(--ccb-olive); font-weight: 700; }
.ccb_helice .ccb_resultzero { color: var(--cs-void); font-weight: 700; }
@media (max-width: 699px) {
    .ccb_fo .ccb_traps15 { grid-template-columns: 1fr; }
}

