/* Brazil layout. Existing AffGate classes and behaviour remain intact. */
body.vhbr-site { margin:0; background:#fff; color:#24272b; font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.vhbr-site *, .vhbr-site *::before, .vhbr-site *::after { box-sizing:border-box; }
.vhbr-site a { text-decoration:none; }
.vhbr-site h1 { font-size:clamp(27px,3vw,38px); line-height:1.2; font-weight:700; color:#24272b; margin:0 0 28px; }
.vhbr-site h2 { font-size:clamp(23px,2.3vw,29px); line-height:1.3; font-weight:700; color:#24272b; margin:48px 0 22px; }
.vhbr-site h3 { line-height:1.35; }
.vhbr-site p { margin:0 0 18px; }
.vhbr-site a:focus-visible,.vhbr-site button:focus-visible,.vhbr-site input:focus-visible,.vhbr-site select:focus-visible { outline:3px solid #1d7a47; outline-offset:4px; }
.vhbr-sr-only { position:absolute!important; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.vhbr-skip { position:absolute; top:-100px; left:20px; z-index:999999; background:#166534; color:#fff; padding:12px; }
.vhbr-skip:focus { top:12px; }
.vhbr-header { background:#fff; border-bottom:1px solid #e6e9ed; }
.vhbr-header-inner { width:min(1320px,100%); margin:auto; padding:25px 28px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.vhbr-logo { flex-shrink:0; font-size:20px; letter-spacing:-.4px; font-weight:800; color:#191b1f!important; white-space:nowrap; }
.vhbr-logo span { color:#166534; }
.vhbr-search { flex:1; max-width:450px; position:relative; margin:0; }
.vhbr-search input[type=search] { height:46px; width:100%; margin:0; padding:11px 48px 11px 16px; border:1px solid #dce3df; border-radius:7px; background:#f6f9f7; font:inherit; font-size:14px; box-shadow:none; color:#252b27; }
.vhbr-search input::placeholder { color:#67726a; }
.vhbr-search button { position:absolute; top:0; right:0; width:44px; height:46px; padding:0; display:grid; place-items:center; background:transparent; border:0; border-radius:7px; color:#166534; cursor:pointer; }
.vhbr-nav { display:flex; align-items:center; gap:23px; flex-shrink:0; }
.vhbr-nav a { color:#282d2a; font-size:14px; font-weight:600; padding:10px 0; }
.vhbr-nav a:hover,.vhbr-nav a[aria-current] { color:#166534; }
.vhbr-nav a[aria-current] { box-shadow:0 2px #166534; }
.vhbr-main { width:min(1320px,100%); padding:42px 28px 64px; margin:auto; min-height:55vh; }
.vhbr-content > p, .vhbr-content > ul { max-width:900px; }
.vhbr-content > p:last-child { margin-bottom:0; }
.vhbr-intro { color:#68736c; margin-top:-12px!important; margin-bottom:28px!important; }
.vhbr-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid #166534; padding:11px 22px; border-radius:6px; color:#fff!important; background:#166534; font:600 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; min-height:44px; white-space:nowrap; }
.vhbr-button:hover { background:#104b27; border-color:#104b27; }
.vhbr-banners { position:relative; background:#0b0716; color:#fff; }
.vhbr-slides { width:min(1440px,100%); margin-inline:auto; }
.vhbr-slide { position:relative; min-height:300px; overflow:hidden; isolation:isolate; }
.vhbr-slide[hidden] { display:none!important; }
.vhbr-banner-visual { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.vhbr-banner-visual img { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; }
.vhbr-slide::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,transparent 40%,rgba(6,4,15,.1) 52%,rgba(6,4,15,.38)); }
.vhbr-banner-copy { position:relative; z-index:1; min-height:clamp(300px,31.25vw,450px); width:100%; margin:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:32px 5% 66px 54%; }
.vhbr-banner-copy .vhbr-banner-title { color:#fff; font-size:clamp(25px,3vw,40px); line-height:1.18; font-weight:700; margin-bottom:15px; max-width:510px; }
.vhbr-banner-copy > p:not(.vhbr-banner-title) { color:#f4f5f4; font-size:16px; line-height:1.5; max-width:430px; margin-bottom:23px; }
.vhbr-banner-copy .vhbr-button { background:#fff; color:#166534!important; border-color:#fff; }
.vhbr-banner-copy .vhbr-button:hover { background:#edf5ef; }
.vhbr-slider-controls { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:5px; align-items:center; z-index:2; }
.vhbr-slider-controls button { background:transparent; border:0; color:#fff; width:34px; height:34px; font-size:26px; cursor:pointer; padding:0; }
.vhbr-slider-controls button[data-vhbr-dot] { position:relative; width:30px; height:34px; }
.vhbr-slider-controls button[data-vhbr-dot]::after { content:""; position:absolute; top:12px; left:9px; width:12px; height:12px; border:2px solid #fff; border-radius:50%; }
.vhbr-slider-controls button[aria-pressed=true]::after { background:#fff; }
.vhbr-site .affgsc-wrap { margin-bottom:30px; }
.vhbr-site .affgsc-card { border-radius:9px; box-shadow:0 3px 12px rgba(20,40,25,.045); }
.vhbr-site .affgsc-card h3 { font-size:15px; }
.vhbr-site .affgsc-card button { min-height:42px; }
.vhbr-casino-table { box-sizing:border-box; width:100%; max-width:100%; min-width:0; margin:0 0 38px; padding:0; overflow-x:auto; }
.vhbr-casino-table table { width:100%; border-collapse:separate; border-spacing:0; margin:0; border:1px solid #e4e9e5; border-radius:8px; overflow:hidden; font-size:15px; }
.vhbr-casino-table th { background:#166534; color:#fff; padding:18px 24px; text-align:left; font-size:13px; font-weight:600; }
.vhbr-casino-table td { padding:19px 24px; vertical-align:middle; text-align:left; border:0; }
.vhbr-casino-table tbody tr:nth-child(odd) { background:#fff; }
.vhbr-casino-table tbody tr:nth-child(even) { background:#f5f8f6; }
.vhbr-casino-table th:first-child { width:38%; }
.vhbr-brand { display:flex; align-items:center; gap:20px; color:#24272b!important; font-weight:650; }
.vhbr-brand img { width:58px; height:58px; object-fit:contain; border-radius:50%; }
.vhbr-review { color:#166534; font-weight:600; }
.vhbr-review:hover { text-decoration:underline; }
.vhbr-brand-hero { display:flex; align-items:center; gap:28px; background:#252b28; color:#fff; padding:35px; border-radius:9px; margin:0 0 35px; }
.vhbr-brand-hero > img { width:110px; height:110px; object-fit:contain; border-radius:50%; }
.vhbr-brand-summary { flex:1; }
.vhbr-brand-name { color:#fff; font-size:24px; font-weight:650; line-height:1.3; margin:0 0 14px!important; }
.vhbr-bonus-label { display:inline-block; background:#e7f3ea; color:#166534; font-size:12px; font-weight:700; border-radius:4px; padding:3px 10px; margin-bottom:7px; }
.vhbr-bonus-value { color:#fff; font-size:21px; margin:0!important; }
.vhbr-directory { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.vhbr-directory-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:20px 10px; min-height:105px; border:1px solid #e1e7e3; border-radius:8px; color:#24272b; text-align:center; font-size:14px; background:#fff; transition:border-color .15s,background .15s; }
.vhbr-directory-card:hover { border-color:#166534; background:#f7fbf8; color:#166534; }
.vhbr-directory-card img { width:96px; height:64px; object-fit:contain; margin-bottom:5px; }
.vhbr-directory-card > span { font-weight:600; }
.vhbr-directory-card small { color:#68736c; font-size:12px; }
.vhbr-search-results { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.vhbr-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:30px; }
.vhbr-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:42px; padding:6px 12px; border:1px solid #e1e7e3; border-radius:5px; color:#166534; }
.vhbr-pagination .current { background:#166534; border-color:#166534; color:#fff; }
.vhbr-footer { background:#f4f7f5; border-top:1px solid #e1e7e3; }
.vhbr-footer-inner { max-width:1320px; margin:auto; padding:35px 28px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px; font-size:13px; color:#68736c; }
.vhbr-footer nav { display:flex; gap:22px; }
.vhbr-footer nav a { color:#424e45; }
.vhbr-footer nav a:hover { color:#166534; }
.vhbr-footer p { margin:0; }
.vhbr-footer p strong { background:#e1e9e4; color:#34483c; display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; margin-right:8px; }
.vhbr-footer small { width:100%; padding-top:16px; border-top:1px solid #e1e7e3; }
@media(max-width:1100px) { .vhbr-header-inner { gap:20px; flex-wrap:wrap; }.vhbr-search { max-width:none; }.vhbr-nav { justify-content:center; width:100%; gap:36px; }.vhbr-directory,.vhbr-search-results { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:760px) {
    .vhbr-header-inner { padding:18px 20px 10px; gap:16px; }
    .vhbr-logo { font-size:19px; }
    .vhbr-search { order:2; flex-basis:100%; }
    .vhbr-nav { order:3; gap:0; justify-content:space-between; }
    .vhbr-nav a { padding:10px 4px; }
    .vhbr-main { padding:30px 20px 45px; }
    .vhbr-site h1 { margin-bottom:24px; }
    .vhbr-site h2 { margin-top:35px; }
    .vhbr-slide { min-height:0; }
    .vhbr-banner-visual { width:52%; right:auto; }
    /* Fit the illustrated half of the wide banner; crop the empty right half, not the logo. */
    .vhbr-banner-visual img { position:absolute; top:50%; left:0; width:220%; max-width:none; height:auto; transform:translateY(-50%); mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent); }
    .vhbr-slide::after { background:linear-gradient(90deg,transparent 43%,#0b0716 52%); }
    .vhbr-banner-copy { min-height:260px; padding:26px 16px 62px 52%; justify-content:center; }
    .vhbr-banner-copy .vhbr-banner-title { font-size:clamp(20px,5.5vw,28px); line-height:1.2; margin-bottom:12px; max-width:none; }
    .vhbr-banner-copy > p:not(.vhbr-banner-title) { font-size:13px; line-height:1.45; margin-bottom:16px; max-width:none; }
    .vhbr-banner-copy .vhbr-button { padding:10px 12px; gap:7px; white-space:normal; text-align:left; }
    .vhbr-casino-table { margin-left:0; margin-right:0; padding:0; }
    .vhbr-casino-table table { border:0; background:transparent; }
    .vhbr-casino-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
    .vhbr-casino-table tbody { display:grid; gap:14px; }
    .vhbr-casino-table tr { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:20px; background:#f5f8f6!important; border:1px solid #e1e7e3; border-radius:8px; }
    .vhbr-casino-table td { padding:0; font-size:14px; display:flex; align-items:center; }
    .vhbr-casino-table td:first-child { grid-column:1/-1; }
    .vhbr-casino-table td:nth-child(2) { grid-column:1/-1; }
    .vhbr-casino-table td:nth-child(2)::before { content:"Bônus"; color:#657068; margin-right:12px; }
    .vhbr-casino-table td:last-child { justify-content:flex-end; }
    .vhbr-brand img { width:50px; height:50px; }
    .vhbr-site .affgsc-games--grid,.vhbr-directory,.vhbr-search-results { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .vhbr-site .affgsc-card h3 { font-size:14px; }
    .vhbr-site .affgsc-card .affgsc-play { font-size:13px; padding:9px 8px; }
    .vhbr-directory-card { padding:18px 10px; font-size:13px; }
    .vhbr-brand-hero { gap:20px; padding:25px 20px; flex-wrap:wrap; }
    .vhbr-brand-hero > img { width:75px; height:75px; }
    .vhbr-brand-name { font-size:20px; }
    .vhbr-brand-hero > .vhbr-button { width:100%; }
    .vhbr-bonus-value { font-size:19px; }
    .vhbr-footer-inner { padding:28px 20px; gap:20px; }
    .vhbr-footer nav { flex-wrap:wrap; gap:18px; }
}
@media(prefers-reduced-motion:reduce) { .vhbr-directory-card { transition:none; } }

/* Technical brief 2.0: image branding and semantic catalog/report labels. */
.vhbr-logo { display:block; width:230px; max-width:100%; line-height:0; }
.vhbr-logo img { display:block; width:100%; max-width:100%; height:auto; }
.vhbr-site .vhbr-catalog-subtitle { font-size:clamp(20px,2vw,25px); margin:0 0 28px; }
.vhbr-site .affgsc-report-modal__panel .vhbr-report-title { margin:0 44px 14px 0; font-size:18px; line-height:1.3; font-weight:700; }
@media(max-width:760px) { .vhbr-header .vhbr-logo { width:min(230px,calc(100vw - 112px)); } }
