/*
 * Tudo Bieber — camada visual final (carregada por último).
 * O topo é o banner com o fundo que muda de cor com o cursor; o resto do
 * site fica sobre a paisagem do banner, escura e granulada. A cor de
 * destaque (--tb-hue) acompanha a paleta escolhida no topo.
 * As folhas antigas usam muito !important; por isso várias regras daqui
 * também usam.
 */

@font-face { font-family: "Syne"; src: url(fonts/syne-latin.woff2) format("woff2"); font-weight: 400 800; font-display: swap; }
@font-face { font-family: "Manrope"; src: url(fonts/manrope-latin.woff2) format("woff2"); font-weight: 300 800; font-display: swap; }

:root {
  --tb-hue: 195;
  --tb-accent: hsl(var(--tb-hue) 70% 62%);
  --tb-accent-soft: hsl(var(--tb-hue) 60% 62% / .16);
  --tb-bg: #07151d;
  --tb-card: rgba(8, 22, 30, .58);
  --tb-cream: #f2ecdc;
  --tb-ink: #e9eef0;
  --tb-muted: #9fb2ba;
  --tb-line: rgba(242, 236, 220, .14);
  --tb-display: "Syne", "Manrope", sans-serif;
  --tb-text: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --tb-gutter: clamp(16px, 4vw, 48px);
  --tb-ease: cubic-bezier(.22, .61, .36, 1);
}

html:has(.tb-site) { background: var(--tb-bg) !important; }
html:has(.tb-site) body { background: transparent !important; color: var(--tb-ink) !important; }

:root body .gallery-site.tb-site.tb-site {
  --gallery-bg: transparent !important;
  --gallery-surface: var(--tb-card) !important;
  --gallery-text: var(--tb-ink) !important;
  --gallery-title: var(--tb-cream) !important;
  --gallery-accent: var(--tb-accent) !important;
  --arq-fundo: transparent !important;
  --arq-superficie: var(--tb-card) !important;
  --arq-titulo: var(--tb-cream) !important;
  --arq-texto: var(--tb-ink) !important;
  --arq-detalhe: var(--tb-accent) !important;
  --sza-ink: var(--tb-ink);
  --sza-ink-deep: var(--tb-cream);
  --sza-paper: transparent;
  --sza-white: var(--tb-card);
  --sza-mist: var(--tb-card);
  --sza-coral: var(--tb-accent);
  --sza-line: var(--tb-line);
  position: relative;
  min-height: 100vh;
  overflow-x: clip;
  background: transparent !important;
  color: var(--tb-ink) !important;
  font: 400 15px/1.6 var(--tb-text) !important;
  -webkit-font-smoothing: antialiased;
}
.tb-site :where(h1, h2, h3, h4) { font-family: var(--tb-display) !important; font-weight: 700 !important; letter-spacing: -.03em !important; color: var(--tb-cream); }
.tb-site a { color: inherit; }
.tb-site ::selection { background: var(--tb-accent); color: #04121a; }
.tb-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tb-star { width: 1em; height: 1em; fill: var(--tb-accent); flex: none; transition: fill .6s; }
.tb-wrap { width: min(100% - var(--tb-gutter) * 2, 1280px); margin-inline: auto; }

/* ---------- fundo do site e grão ---------- */
.tb-page-bg { position: fixed; inset: 0; z-index: -2; background: url(images/tudo/texture.jpg) 50% 40% / cover no-repeat; pointer-events: none; }
.tb-page-bg::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 40%, rgba(4, 12, 17, .34), rgba(4, 12, 17, .72)); }
.tb-page-bg::after { content: ""; position: absolute; inset: 0; background: hsl(var(--tb-hue) 70% 45%); mix-blend-mode: color; opacity: .28; transition: background .6s; }
.tb-grain {
  position: fixed; inset: -100px; z-index: 1000; pointer-events: none;
  background: url(images/tudo/grain.png);
  opacity: .22; mix-blend-mode: overlay;
  animation: tb-grain .9s steps(6) infinite;
}
@keyframes tb-grain {
  0% { transform: translate(0, 0); } 17% { transform: translate(-40px, 20px); } 33% { transform: translate(30px, -50px); }
  50% { transform: translate(-60px, -20px); } 67% { transform: translate(50px, 40px); } 83% { transform: translate(-20px, 60px); } 100% { transform: translate(0, 0); }
}

/* ---------- cabeçalho ---------- */
.tb-top {
  position: sticky; top: 0; z-index: 60;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px var(--tb-gutter);
  background: linear-gradient(180deg, rgba(7, 21, 29, .9), rgba(7, 21, 29, .68));
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--tb-line);
}
.tb-top.is-over { position: absolute; left: 0; right: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; border: 0; }
.tb-nav { display: flex; gap: clamp(14px, 2.4vw, 34px); }
.tb-nav a, .tb-mobile-menu a {
  position: relative; padding: 8px 0; color: var(--tb-cream) !important; text-decoration: none !important;
  font: 600 14px/1 var(--tb-display) !important; letter-spacing: .01em; text-shadow: 0 1px 12px rgba(0, 0, 0, .45);
}
.tb-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: var(--tb-accent); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--tb-ease), background .6s; }
.tb-nav a:hover::after, .tb-nav a[aria-current]::after { transform: scaleX(1); }
.tb-top-actions { display: flex; align-items: center; gap: 10px; }
.tb-lang, .tb-logout { padding: 10px; color: var(--tb-cream) !important; font: 700 12px/1 var(--tb-display) !important; text-transform: uppercase; text-decoration: none !important; }
.tb-login {
  display: inline-flex; align-items: center; gap: 9px; height: 42px; padding: 0 18px 0 16px;
  border: 1.5px solid var(--tb-cream); border-radius: 999px; color: var(--tb-cream) !important; text-decoration: none !important;
  font: 700 14px/1 var(--tb-display) !important; transition: background .3s, color .3s;
}
.tb-login:hover { background: var(--tb-cream); color: #07151d !important; }
.tb-mobile { display: none; position: relative; }
.tb-menu { display: grid; place-content: center; gap: 6px; width: 42px; height: 42px; padding: 0; border: 0 !important; background: none !important; cursor: pointer; box-shadow: none !important; }
.tb-menu i { display: block; width: 24px; height: 2px; border-radius: 2px; background: var(--tb-cream); }
.tb-mobile-menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 220px; display: grid; padding: 8px; border: 1px solid var(--tb-line); border-radius: 10px; background: rgba(7, 21, 29, .96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .8); }
.tb-mobile-menu[hidden] { display: none; }
.tb-mobile-menu a { padding: 13px 12px; border-radius: 8px; }
.tb-mobile-menu a:hover { background: var(--tb-accent-soft); }

/* ---------- topo da capa ---------- */
.tb-hero-wrap { position: relative; height: min(100svh, 62vw); min-height: 460px; container-type: size; }
.tb-hero {
  position: absolute; inset: 0; overflow: hidden; isolation: isolate;
  -webkit-mask-image: linear-gradient(180deg, #000 80%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 80%, transparent 100%);
}
.tb-hero-art { position: absolute; left: 50%; top: 50%; width: max(100cqw, 100cqh * 1.9048); aspect-ratio: 2000 / 1050; transform: translate(-50%, -50%); }
.tb-hero-art > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; }
.tb-bg { opacity: 0; transform: translate3d(var(--bx, 0), var(--by, 0), 0) scale(1.05); will-change: opacity, transform; }
.tb-bg[data-pal="2"] { opacity: 1; }
.tb-fg { z-index: 2; transform: translate3d(var(--fx, 0), var(--fy, 0), 0) scale(1.05); will-change: transform; }
.tb-hero-light { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(circle at var(--lx, 50%) var(--ly, 40%), hsl(var(--tb-hue) 90% 80% / .38), transparent 32%); mix-blend-mode: screen; }
.tb-hero-stats {
  position: absolute; z-index: 5; left: 50%; top: calc(50cqh + max(100cqh, 100cqw / 1.9048) * .41); transform: translateX(-50%);
  display: flex; align-items: center; margin: 0; padding: 0; list-style: none; white-space: nowrap;
  font: 500 clamp(11px, 1cqw, 15px)/1 var(--tb-text); letter-spacing: .16em; text-transform: uppercase; color: var(--tb-cream);
  text-shadow: 0 1px 14px rgba(0, 0, 0, .6);
}
.tb-hero-stats li + li::before { content: "✦"; margin: 0 1.1em; color: var(--tb-accent); transition: color .6s; }
.tb-hero-stats b { font-family: var(--tb-display); font-weight: 700; font-size: 1.25em; letter-spacing: .02em; margin-right: .35em; }

/* faixa das páginas internas */
.tb-band { position: relative; height: clamp(150px, 20vw, 260px); overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
.tb-band img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 30%; opacity: .8; }

/* conteúdo: a folha antiga dá fundo e largura; aqui fica transparente */
.tb-site .content-wrap.archive-content { width: min(100% - var(--tb-gutter) * 2, 1280px) !important; padding-top: 0 !important; background: transparent !important; }
.tb-site.gallery-home .archive-content { background: transparent !important; }
.tb-site .cpg-gallery-slot, .tb-site .maintable { background: transparent !important; }

/* ---------- capa ---------- */
.tb-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 80px); align-items: end; padding-top: clamp(48px, 7vw, 100px); }
.tb-intro-big { margin: 0; font: 700 clamp(34px, 5.2vw, 76px)/.98 var(--tb-display); letter-spacing: -.035em; color: var(--tb-cream); }
.tb-intro-big .tb-star { width: .62em; height: .62em; vertical-align: .12em; margin-right: .1em; }
.tb-intro-big em { font-style: normal; color: var(--tb-accent); transition: color .6s; }
.tb-intro-small { margin: 0; max-width: 40ch; font-size: 17px; line-height: 1.55; color: #c3d0d4; }
.tb-intro-small mark { background: none; color: var(--tb-accent); font: 700 1.08em/1 var(--tb-display); transition: color .6s; }

.tb-block { margin-top: clamp(72px, 10vw, 140px); }
.tb-block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: clamp(20px, 3vw, 36px); padding-bottom: 14px; border-bottom: 1px solid var(--tb-line); }
.tb-block-head h2 { margin: 0 !important; font-size: clamp(34px, 5vw, 72px) !important; line-height: .9 !important; letter-spacing: -.04em !important; color: var(--tb-cream) !important; text-transform: none !important; }
.tb-link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 4px; border-bottom: 2px solid var(--tb-accent); color: var(--tb-cream) !important; text-decoration: none !important; white-space: nowrap; font: 700 14px/1 var(--tb-display) !important; transition: border-color .6s, gap .3s; }
.tb-link:hover { gap: 12px; }

.tb-site figure { margin: 0; overflow: hidden; background: #0e2632; }
.tb-site figure img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--tb-ease); }
.tb-site a:hover figure img { transform: scale(1.045); }

.tb-albums { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.tb-album { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--tb-line); border-radius: 6px; background: var(--tb-card); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); text-decoration: none !important; transition: transform .4s var(--tb-ease), border-color .3s, box-shadow .4s; }
.tb-album:hover { transform: translateY(-6px); border-color: var(--tb-accent); box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .8); }
.tb-album figure { position: relative; aspect-ratio: 4 / 5; }
.tb-empty-cover { display: block; width: 100%; height: 100%; background: repeating-linear-gradient(135deg, rgba(242, 236, 220, .06) 0 6px, transparent 6px 12px); }
.tb-count { position: absolute; right: 10px; bottom: 10px; padding: 7px 10px; border-radius: 3px; background: rgba(4, 12, 17, .82); color: var(--tb-cream); font: 700 10px/1 var(--tb-text); letter-spacing: .14em; text-transform: uppercase; }
.tb-album-cap { display: flex; flex: 1; flex-direction: column; padding: 16px 16px 14px; }
.tb-album-cap small { margin-bottom: 9px; color: var(--tb-muted); font: 700 10px/1.3 var(--tb-text); letter-spacing: .14em; text-transform: uppercase; }
.tb-album-cap h3 { margin: 0 !important; font-size: 16px !important; line-height: 1.25 !important; letter-spacing: -.01em !important; color: var(--tb-cream) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tb-album-cap p { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: auto 0 0; padding-top: 16px; font-size: 11px; color: var(--tb-muted); white-space: nowrap; }
.tb-idx { color: var(--tb-accent); font: 800 15px/1 var(--tb-display); transition: color .6s; }

.tb-tb-strip { --pad: max(var(--tb-gutter), calc((100vw - 1280px) / 2)); display: flex; gap: 20px; width: 100vw; margin-left: calc(50% - 50vw); overflow-x: auto; padding: 8px var(--pad) 12px; scroll-padding-inline: var(--pad); scroll-snap-type: x mandatory; scrollbar-width: none; }
.tb-tb-strip::-webkit-scrollbar { display: none; }
.tb-throwback .tb-wrap { width: 100%; }
.tb-tb { position: relative; flex: 0 0 clamp(210px, 21vw, 300px) !important; max-width: clamp(210px, 21vw, 300px); scroll-snap-align: start; text-decoration: none !important; }
.tb-tb figure { aspect-ratio: 3 / 4; border-radius: 4px; }
.tb-tb-year { position: absolute; z-index: 2; left: 12px; bottom: 44px; color: var(--tb-cream); font: 800 clamp(40px, 4.2vw, 60px)/1 var(--tb-display); letter-spacing: -.04em; text-shadow: 0 4px 30px rgba(0, 0, 0, .55); }
.tb-tb-title { display: block; margin-top: 12px; color: var(--tb-cream); font: 600 15px/1.2 var(--tb-display); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.tb-pops { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(24px, 4vw, 64px); }
.tb-pop { display: grid; grid-template-columns: 56px 128px minmax(0, 1fr); align-items: center; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--tb-line); text-decoration: none !important; }
.tb-pop-n { color: var(--tb-accent); font: 800 42px/1 var(--tb-display); transition: color .6s; }
.tb-pop figure { aspect-ratio: 4 / 3; border-radius: 3px; }
.tb-pop strong { display: block; color: var(--tb-cream); font: 700 17px/1.2 var(--tb-display); }
.tb-pop small { display: block; margin-top: 6px; font-size: 13px; color: var(--tb-muted); }

/* ---------- categorias (acordeão do tema, redesenhado) ---------- */
:root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend { display: flex; margin: 0; color: var(--tb-muted); font: 700 11px/1 var(--tb-text); letter-spacing: .16em; text-transform: uppercase; }
:root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend span { width: 110px; text-align: center; }
:root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend span:last-child { margin-right: 64px; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-list { border: 0 !important; border-top: 1px solid var(--tb-line) !important; background: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; gap: 0 !important; display: block !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-group { margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid var(--tb-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row {
  display: grid !important; grid-template-columns: 112px 48px minmax(0, 1fr) 110px 110px 64px !important; align-items: center !important; gap: 0 20px !important;
  min-height: 0 !important; margin: 0 !important; padding: 18px 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; cursor: pointer;
}
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row.is-static { cursor: default; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row:hover .category-copy strong, :root body .gallery-site.tb-site.tb-site .tb-cats .category-row:hover .category-copy strong a { color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb { width: 112px !important; height: auto !important; aspect-ratio: 16 / 11; overflow: hidden; border-radius: 4px !important; background: #0e2632 !important; box-shadow: none !important; border: 0 !important; outline: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb.is-empty { background: repeating-linear-gradient(135deg, rgba(242, 236, 220, .07) 0 6px, transparent 6px 12px) !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb.is-empty > * { display: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol { position: relative !important; width: 44px !important; height: 44px !important; margin: 0 !important; border: 1.5px solid var(--tb-line) !important; border-radius: 50% !important; background: none !important; box-shadow: none !important; transition: border-color .3s, background .3s; }
:root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol > *, :root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol::before, :root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol::after { display: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol { background:
    linear-gradient(var(--tb-cream), var(--tb-cream)) center / 14px 1.5px no-repeat,
    linear-gradient(var(--tb-cream), var(--tb-cream)) center / 1.5px 14px no-repeat !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row.is-link .folder-symbol, :root body .gallery-site.tb-site.tb-site .tb-cats .category-row.is-static .folder-symbol { background: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row.is-link .folder-symbol::after { content: "" !important; display: block !important; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border-right: 1.5px solid var(--tb-cream); border-top: 1.5px solid var(--tb-cream); transform: translate(-65%, -50%) rotate(45deg); background: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-group.expanded .folder-symbol { border-color: var(--tb-accent) !important; background: linear-gradient(var(--tb-cream), var(--tb-cream)) center / 14px 1.5px no-repeat, var(--tb-accent-soft) !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-copy strong, :root body .gallery-site.tb-site.tb-site .tb-cats .category-copy strong a { display: block; color: var(--tb-cream) !important; font: 700 clamp(18px, 1.6vw, 22px)/1.15 var(--tb-display) !important; letter-spacing: -.02em !important; text-decoration: none !important; transition: color .3s; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-copy small { display: block; margin-top: 6px !important; color: var(--tb-muted) !important; font: 400 14px/1.4 var(--tb-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b { color: var(--tb-cream) !important; font: 800 20px/1 var(--tb-display) !important; text-align: center; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-expand-arrow { justify-self: center; width: 12px !important; height: 12px !important; border-right: 1.5px solid var(--tb-muted); border-bottom: 1.5px solid var(--tb-muted); transform: rotate(45deg); transition: transform .3s var(--tb-ease); background: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-expand-arrow > * { display: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row.is-link .category-expand-arrow { transform: rotate(-45deg); }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row.is-static .category-expand-arrow { opacity: .3; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-group.expanded .category-expand-arrow { transform: rotate(225deg); border-color: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel { margin: 0 !important; padding: 4px 0 26px 180px !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel > div:first-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 0 0 14px !important; padding: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel > div:first-child span { color: var(--tb-cream) !important; font: 700 12px/1 var(--tb-display) !important; letter-spacing: .12em !important; text-transform: uppercase; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel > div:first-child small { color: var(--tb-muted) !important; font: 400 14px/1.4 var(--tb-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-albums-panel { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons { display: flex !important; flex-wrap: wrap; gap: 10px !important; margin: 0 !important; padding: 0 !important; background: none !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons a {
  display: grid !important; grid-template-columns: 1fr auto; align-items: end; gap: 6px 14px; min-width: 150px !important; width: auto !important; height: auto !important; margin: 0 !important;
  padding: 14px 18px !important; border: 1px solid var(--tb-line) !important; border-radius: 6px !important; background: var(--tb-card) !important; box-shadow: none !important; color: var(--tb-cream) !important; text-decoration: none !important;
  transition: border-color .3s, transform .3s var(--tb-ease);
}
:root body .gallery-site.tb-site.tb-site .category-year-buttons a:hover { border-color: var(--tb-accent) !important; transform: translateY(-3px); }
:root body .gallery-site.tb-site.tb-site .category-year-buttons strong { grid-column: 1; color: var(--tb-cream) !important; font: 800 26px/1 var(--tb-display) !important; letter-spacing: -.02em !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons small { grid-column: 1; color: var(--tb-muted) !important; font: 400 12px/1.3 var(--tb-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons span { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .archive-statline { margin: 18px 0 0 !important; color: var(--tb-muted) !important; font: 400 13px/1.5 var(--tb-text) !important; }
:root body .gallery-site.tb-site.tb-site .category-direct-years { padding: 0 !important; background: none !important; border: 0 !important; }

/* ---------- rodapé ---------- */
.tb-site .tb-foot { display: block !important; min-height: 0 !important; background: transparent !important; color: var(--tb-muted) !important; margin-top: clamp(96px, 12vw, 180px); padding: 0 0 36px !important; border-top: 1px solid var(--tb-line); overflow: hidden; }
.tb-foot-mark { display: flex; align-items: center; gap: .18em; margin: 28px 0 24px; color: var(--tb-cream); font: 800 clamp(30px, 7.3vw, 122px)/.9 var(--tb-display); letter-spacing: -.05em; white-space: nowrap; }
.tb-foot-mark .tb-star { width: .55em; height: .55em; }
.tb-foot-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 28px; font-size: 13px; color: var(--tb-muted); }
.tb-foot-row p { margin: 0; }
.tb-foot-row nav { display: flex; gap: 20px; }
.tb-foot-row a { text-decoration: none !important; }
.tb-foot-row a:hover { color: var(--tb-cream); }

/* ---------- responsivo ---------- */
@media (max-width: 1024px) {
  .tb-albums { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tb-pops { grid-template-columns: 1fr; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row { grid-template-columns: 96px 44px minmax(0, 1fr) 80px 80px 40px !important; gap: 0 14px !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend span { width: 80px; } :root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend span:last-child { margin-right: 40px; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb { width: 96px !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel { padding-left: 154px !important; }
}
@media (max-width: 760px) {
  .tb-nav, .tb-lang { display: none; }
  .tb-mobile { display: block; }
  .tb-top { padding: 12px 16px; }
  .tb-hero-wrap { height: min(78svh, 118vw); min-height: 400px; }
  .tb-hero-art { width: max(100cqw * 2.15, 100cqh * 1.9048); }
  .tb-hero-stats { display: grid; grid-template-columns: auto auto; justify-content: center; gap: 9px 22px; font-size: 10.5px; }
  .tb-hero-stats li { text-align: center; }
  .tb-hero-stats li + li::before { display: none; }
  .tb-intro { grid-template-columns: 1fr; gap: 16px; }
  .tb-intro-big { font-size: 34px; }
  .tb-block-head h2 { font-size: 34px !important; }
  .tb-albums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .tb-album-cap { padding: 12px; }
  .tb-album-cap h3 { font-size: 14px !important; }
  .tb-album-cap p { padding-top: 12px; }
  .tb-tb { flex: 0 0 64vw !important; max-width: 64vw; }
  .tb-pop { grid-template-columns: 40px 96px minmax(0, 1fr); gap: 14px; padding: 14px 0; }
  .tb-pop-n { font-size: 34px; }
  .tb-pop strong { font-size: 15px; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend { display: none; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row { grid-template-columns: 72px auto minmax(0, 1fr) 36px !important; grid-template-areas: "thumb copy copy tog" "thumb n1 n2 tog" !important; gap: 6px 14px !important; padding: 14px 0 !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb { grid-area: thumb; width: 72px !important; aspect-ratio: 1; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol { grid-area: tog; width: 36px !important; height: 36px !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-copy { grid-area: copy; min-width: 0; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-copy strong, :root body .gallery-site.tb-site.tb-site .tb-cats .category-copy strong a { font-size: 16px !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-copy small { display: none !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b { font-size: 15px !important; text-align: left; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b:nth-of-type(1) { grid-area: n1; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b:nth-of-type(2) { grid-area: n2; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b:nth-of-type(1)::after { content: " álbuns"; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b:nth-of-type(2)::after { content: " fotos"; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b::after { color: var(--tb-muted); font: 400 12px/1 var(--tb-text); }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-expand-arrow { display: none !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel { padding: 4px 0 20px !important; }
  :root body .gallery-site.tb-site.tb-site .category-year-buttons { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root body .gallery-site.tb-site.tb-site .category-year-buttons a { min-width: 0 !important; }
  .tb-foot-row { flex-direction: column; }
  .tb-foot-mark { font-size: 8.4vw; }
}
@media (prefers-reduced-motion: reduce) {
  .tb-grain { animation: none; }
}

/* rodapé: a folha antiga estiliza qualquer <footer> */
:root body .gallery-site.tb-site.tb-site .tb-foot > .tb-wrap { display: block !important; }
:root body .gallery-site.tb-site.tb-site .tb-foot-mark { text-transform: none !important; letter-spacing: -.05em !important; color: var(--tb-cream) !important; }
:root body .gallery-site.tb-site.tb-site .tb-foot-row { display: flex !important; width: auto !important; }
:root body .gallery-site.tb-site.tb-site .tb-foot-row, :root body .gallery-site.tb-site.tb-site .tb-foot-row * { text-transform: none !important; letter-spacing: 0 !important; font: 400 13px/1.5 var(--tb-text) !important; color: var(--tb-muted) !important; }
:root body .gallery-site.tb-site.tb-site .tb-foot-row a:hover { color: var(--tb-cream) !important; }
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .tb-foot-row { flex-direction: column !important; } }

/* =====================================================================
   Páginas internas (álbum, foto, anos/meses, listas de álbuns)
   ================================================================== */
:root body .gallery-site.tb-site.tb-site .maintable, :root body .gallery-site.tb-site.tb-site .maintable td, :root body .gallery-site.tb-site.tb-site .cpg-gallery-slot table { background: transparent !important; border-color: var(--tb-line) !important; color: var(--tb-ink) !important; }
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb { margin: 26px 0 18px !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; color: var(--tb-muted) !important; font: 600 12px/1.5 var(--tb-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb a { color: var(--tb-muted) !important; text-decoration: none !important; font: inherit !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb a:hover { color: var(--tb-cream) !important; }
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb a:last-child { color: var(--tb-cream) !important; }

/* cabeçalhos de álbum / mês */
:root body .gallery-site.tb-site.tb-site .browser-title {
  margin: 0 0 28px !important; padding: 0 0 24px !important; border: 0 !important; border-bottom: 1px solid var(--tb-line) !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; color: var(--tb-ink) !important;
}
:root body .gallery-site.tb-site.tb-site .browser-title h1, :root body .gallery-site.tb-site.tb-site .browser-title strong {
  color: var(--tb-cream) !important; font: 700 clamp(28px, 4vw, 56px)/1 var(--tb-display) !important; letter-spacing: -.035em !important; text-transform: none !important;
}
:root body .gallery-site.tb-site.tb-site .browser-title :where(span, small, p, em) { color: var(--tb-muted) !important; font-family: var(--tb-text) !important; letter-spacing: .02em !important; }
:root body .gallery-site.tb-site.tb-site .browser-title svg { color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .browser-back, :root body .gallery-site.tb-site.tb-site .cpg-photo-back {
  display: inline-flex !important; align-items: center; gap: 8px; height: 38px; padding: 0 16px !important; border: 1.5px solid var(--tb-line) !important; border-radius: 999px !important;
  background: none !important; color: var(--tb-cream) !important; font: 700 12px/1 var(--tb-display) !important; letter-spacing: .02em !important; text-transform: none !important; text-decoration: none !important; box-shadow: none !important;
}
:root body .gallery-site.tb-site.tb-site .browser-back:hover, :root body .gallery-site.tb-site.tb-site .cpg-photo-back:hover { border-color: var(--tb-cream) !important; }

/* botões e controles genéricos */
:root body .gallery-site.tb-site.tb-site :where(.photo-browser-tools, .browser-actions) :where(a, button),
:root body .gallery-site.tb-site.tb-site .thumbnail-size-switch button,
:root body .gallery-site.tb-site.tb-site .arq-selec-toggle, :root body .gallery-site.tb-site.tb-site .arq-add-photos {
  border: 1.5px solid var(--tb-line) !important; border-radius: 999px !important; background: none !important; box-shadow: none !important;
  color: var(--tb-cream) !important; font: 700 12px/1 var(--tb-display) !important; letter-spacing: .02em !important; text-transform: none !important;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-size-switch { background: none !important; border: 1.5px solid var(--tb-line) !important; border-radius: 999px !important; box-shadow: none !important; padding: 3px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-size-switch button { border: 0 !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-size-switch button.active, :root body .gallery-site.tb-site.tb-site .arq-add-photos { background: var(--tb-cream) !important; color: #07151d !important; border-color: var(--tb-cream) !important; }

/* grade de miniaturas */
:root body .gallery-site.tb-site.tb-site .thumbnail-grid { gap: 16px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card {
  overflow: hidden; padding: 0 !important; border: 1px solid var(--tb-line) !important; border-radius: 6px !important; background: var(--tb-card) !important; box-shadow: none !important;
  transition: transform .4s var(--tb-ease), border-color .3s !important;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card:hover { transform: translateY(-4px) !important; border-color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-image { border: 0 !important; border-radius: 0 !important; background: #0e2632 !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-image img { transition: transform 1s var(--tb-ease) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card:hover .thumbnail-image img { transform: scale(1.04) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-image > span { background: rgba(4, 12, 17, .82) !important; color: var(--tb-cream) !important; border-radius: 3px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-meta-wrap, :root body .gallery-site.tb-site.tb-site .thumbnail-meta { background: none !important; border: 0 !important; color: var(--tb-muted) !important; font-family: var(--tb-text) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-meta b { color: var(--tb-cream) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-sequence { color: var(--tb-accent) !important; font-family: var(--tb-display) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-heart { color: var(--tb-muted) !important; background: none !important; border-color: var(--tb-line) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-heart.is-saved, :root body .gallery-site.tb-site.tb-site .thumbnail-heart:hover { color: var(--tb-accent) !important; }

/* paginação */
:root body .gallery-site.tb-site.tb-site .archive-pagination :where(a, span, b, strong) {
  min-width: 44px; height: 44px; border: 1.5px solid var(--tb-line) !important; border-radius: 999px !important; background: none !important; box-shadow: none !important;
  color: var(--tb-cream) !important; font: 700 14px/1 var(--tb-display) !important;
}
:root body .gallery-site.tb-site.tb-site .archive-pagination .active, :root body .gallery-site.tb-site.tb-site .archive-pagination .active * { background: var(--tb-cream) !important; color: #07151d !important; border-color: var(--tb-cream) !important; }

/* visualizador de foto */
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar { padding: 0 0 18px !important; margin: 0 0 18px !important; border: 0 !important; border-bottom: 1px solid var(--tb-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-pos { color: var(--tb-muted) !important; font: 600 12px/1 var(--tb-text) !important; letter-spacing: .08em !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(a, span[id]), :root body .gallery-site.tb-site.tb-site .cpg-photo-steps a {
  border: 1.5px solid var(--tb-line) !important; background: none !important; color: var(--tb-cream) !important; box-shadow: none !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-photo-steps { background: none !important; border: 0 !important; box-shadow: none !important; gap: 6px; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-steps a { border-radius: 50% !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(a, span[id]):hover, :root body .gallery-site.tb-site.tb-site .cpg-photo-steps a:hover { background: var(--tb-cream) !important; color: #07151d !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo, :root body .gallery-site.tb-site.tb-site .cpg-photo-stage {
  border: 0 !important; border-radius: 6px !important; box-shadow: none !important;
  background: radial-gradient(60% 70% at 50% 45%, hsl(var(--tb-hue) 45% 30% / .35), transparent 75%) !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-photo-stage img { box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .85) !important; border-radius: 3px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-stage-prev, :root body .gallery-site.tb-site.tb-site .cpg-photo-stage-next, :root body .gallery-site.tb-site.tb-site .cpg-photo-stage :where(.is-prev, .is-next) {
  background: rgba(7, 21, 29, .7) !important; color: var(--tb-cream) !important; border: 1.5px solid var(--tb-line) !important; box-shadow: none !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip { padding: 12px !important; border: 1px solid var(--tb-line) !important; border-radius: 6px !important; background: var(--tb-card) !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink img { border-radius: 3px !important; border: 0 !important; opacity: .6; transition: opacity .3s; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink:hover img, :root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink.active img { opacity: 1; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta, :root body .gallery-site.tb-site.tb-site .cpg-photo-meta * { color: var(--tb-muted) !important; background: none !important; border-color: var(--tb-line) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta b { color: var(--tb-cream) !important; }
:root body .gallery-site.tb-site.tb-site :where(#picinfo, .cpg-picinfo, .cpg-comments) { color: var(--tb-ink) !important; }

/* anos, meses e listas de álbuns */
:root body .gallery-site.tb-site.tb-site .month-grid { gap: 16px !important; }
:root body .gallery-site.tb-site.tb-site .month-grid > * { border: 1px solid var(--tb-line) !important; border-radius: 6px !important; background: var(--tb-card) !important; box-shadow: none !important; color: var(--tb-cream) !important; overflow: hidden; }
:root body .gallery-site.tb-site.tb-site .month-grid > *:hover { border-color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .month-grid :where(strong, h2, h3) { color: var(--tb-cream) !important; font-family: var(--tb-display) !important; text-transform: none !important; letter-spacing: -.02em !important; }
:root body .gallery-site.tb-site.tb-site .month-grid :where(small, span, em) { color: var(--tb-muted) !important; font-family: var(--tb-text) !important; }
:root body .gallery-site.tb-site.tb-site .month-preview { background: #0e2632 !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid { gap: 16px !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a, :root body .gallery-site.tb-site.tb-site .browser-album-grid > article, :root body .gallery-site.tb-site.tb-site .browser-album-grid > div {
  border: 1px solid var(--tb-line) !important; border-radius: 6px !important; background: var(--tb-card) !important; box-shadow: none !important; overflow: hidden; color: var(--tb-cream) !important;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > *:hover { border-color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid :where(strong, h2, h3) { color: var(--tb-cream) !important; font-family: var(--tb-display) !important; text-transform: none !important; letter-spacing: -.01em !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid :where(small, span, em, p) { color: var(--tb-muted) !important; font-family: var(--tb-text) !important; }
:root body .gallery-site.tb-site.tb-site .gallery-empty-state { background: var(--tb-card) !important; border: 1px dashed var(--tb-line) !important; color: var(--tb-muted) !important; border-radius: 6px !important; }
:root body .gallery-site.tb-site.tb-site .gallery-empty-state strong { color: var(--tb-cream) !important; font-family: var(--tb-display) !important; }

/* barra de administração sobre a galeria */
:root body .gallery-site.tb-site.tb-site .admin-control-dock .admin-nav { background: rgba(7, 21, 29, .92) !important; border: 1px solid var(--tb-line) !important; }
:root body .gallery-site.tb-site.tb-site .admin-control-dock .admin-nav-item { color: var(--tb-ink) !important; }
:root body .gallery-site.tb-site.tb-site .admin-control-dock .admin-nav-item.active { color: var(--tb-accent) !important; }

/* ajustes finos das páginas internas */
:root body .gallery-site.tb-site.tb-site .archive-pagination { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 36px 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination .cpg-tabs-count { width: 100%; min-width: 0; height: auto; border: 0 !important; text-align: center; color: var(--tb-muted) !important; font: 400 13px/1.5 var(--tb-text) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-gallery-slot > .footer, :root body .gallery-site.tb-site.tb-site .cpg-gallery-slot > .footer * { background: none !important; color: rgba(159, 178, 186, .55) !important; font: 400 11px/1.5 var(--tb-text) !important; letter-spacing: .08em !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .browser-title h1, :root body .gallery-site.tb-site.tb-site .browser-title h1 * {
  font-size: clamp(26px, 3.4vw, 46px) !important; line-height: 1.04 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; -webkit-line-clamp: unset !important; display: block;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-sequence { font: 600 11px/1 var(--tb-text) !important; letter-spacing: .04em !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-stage a:where(.is-prev, .is-next),
:root body .gallery-site.tb-site.tb-site :where(.cpg-stage-prev, .cpg-stage-next),
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #pic_info_button,
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #slideshow_button,
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #pic_info_button *,
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #slideshow_button * { background: transparent !important; color: var(--tb-cream) !important; border-color: var(--tb-line) !important; box-shadow: none !important; }
@media (max-width: 760px) {
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b { display: inline-block !important; visibility: visible !important; justify-self: start; white-space: nowrap; }
}

/* =====================================================================
   v2 — banner com cor original, fundo muda só com a rolagem, mais leve e
   com proporções de galeria
   ================================================================== */
:root { --tb-bg-hue: 195; --tb-hue: 195 !important; }
.tb-page-bg::after { background: hsl(var(--tb-bg-hue) 70% 45%) !important; transition: none !important; }
.tb-bg { opacity: 1; }
.tb-hero-light { background: radial-gradient(circle at var(--lx, 50%) var(--ly, 40%), rgba(210, 240, 255, .22), transparent 30%) !important; }

/* desempenho: grão estático (sem animação e sem mistura de camadas em tela
   cheia) e sem desfoque de fundo nos cartões */
.tb-grain { animation: none !important; inset: 0 !important; opacity: .09 !important; mix-blend-mode: normal !important; background-size: 300px 300px; }
.tb-album, .tb-mobile-menu, :root body .gallery-site.tb-site.tb-site .thumbnail-card { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.tb-album { background: rgba(6, 18, 25, .78) !important; }
.tb-bg, .tb-fg { will-change: auto; }

/* tamanhos de galeria */
:root body .gallery-site.tb-site.tb-site .tb-block { margin-top: clamp(48px, 6vw, 80px) !important; }
:root body .gallery-site.tb-site.tb-site .tb-block-head { margin-bottom: 18px !important; padding-bottom: 10px !important; }
:root body .gallery-site.tb-site.tb-site .tb-block-head h2 { font-size: clamp(22px, 2.2vw, 30px) !important; line-height: 1 !important; letter-spacing: -.03em !important; }
:root body .gallery-site.tb-site.tb-site .tb-link { font-size: 12px !important; }
.tb-intro { padding-top: clamp(32px, 4vw, 56px) !important; gap: 24px !important; }
.tb-intro-big { font-size: clamp(24px, 2.6vw, 36px) !important; line-height: 1.08 !important; max-width: 24ch; }
.tb-intro-small { font-size: 15px !important; }
.tb-albums { gap: 12px !important; }
.tb-album-cap { padding: 11px 12px 10px !important; }
.tb-album-cap small { font-size: 9px !important; margin-bottom: 6px !important; }
:root body .gallery-site.tb-site.tb-site .tb-album-cap h3 { font-size: 13px !important; }
.tb-album-cap p { padding-top: 10px !important; font-size: 10px !important; }
.tb-idx { font-size: 12px !important; }
.tb-count { font-size: 9px !important; padding: 5px 8px !important; right: 8px !important; bottom: 8px !important; }
.tb-album:hover { transform: translateY(-3px) !important; }

/* throwback do tamanho dos cartões de álbum */
.tb-tb-strip { gap: 12px !important; }
.tb-tb { --w: calc((min(100vw - var(--tb-gutter) * 2, 1280px) - 60px) / 6); flex: 0 0 var(--w) !important; max-width: var(--w) !important; }
.tb-tb figure { aspect-ratio: 4 / 5 !important; }
.tb-tb-year { font-size: clamp(24px, 2.2vw, 32px) !important; left: 10px !important; bottom: 36px !important; }
.tb-tb-title { font-size: 12px !important; margin-top: 8px !important; }

.tb-pop { grid-template-columns: 36px 84px minmax(0, 1fr) !important; gap: 14px !important; padding: 10px 0 !important; }
.tb-pop-n { font-size: 26px !important; }
.tb-pop strong { font-size: 13px !important; }
.tb-pop small { font-size: 11px !important; margin-top: 3px !important; }

:root body .gallery-site.tb-site.tb-site .tb-cats .category-row { grid-template-columns: 76px 34px minmax(0, 1fr) 90px 90px 40px !important; gap: 0 16px !important; padding: 10px 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb { width: 76px !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol { width: 32px !important; height: 32px !important; background-size: 11px 1.5px, 1.5px 11px !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-copy strong, :root body .gallery-site.tb-site.tb-site .tb-cats .category-copy strong a { font-size: 15px !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-copy small { font-size: 12px !important; margin-top: 3px !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row > b { font-size: 15px !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend span { width: 90px; font-size: 10px; }
:root body .gallery-site.tb-site.tb-site .tb-cats .tb-cat-legend span:last-child { margin-right: 56px; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel { padding: 2px 0 18px 142px !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons a { min-width: 120px !important; padding: 10px 14px !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons strong { font-size: 18px !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons small { font-size: 11px !important; }

.tb-foot-mark { font-size: clamp(26px, 4vw, 56px) !important; margin: 22px 0 16px !important; }
:root body .gallery-site.tb-site.tb-site .browser-title h1, :root body .gallery-site.tb-site.tb-site .browser-title h1 * { font-size: clamp(20px, 2.2vw, 30px) !important; }

@media (max-width: 1024px) {
  .tb-tb { --w: calc((100vw - var(--tb-gutter) * 2 - 24px) / 3); }
}
@media (max-width: 760px) {
  .tb-intro-big { font-size: 24px !important; }
  .tb-tb { --w: calc((100vw - 32px - 12px) / 2); }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-row { grid-template-columns: 60px auto minmax(0, 1fr) 32px !important; padding: 10px 0 !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb { width: 60px !important; }
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-years-panel { padding: 2px 0 16px !important; }
}

/* boas-vindas: bloco compacto e centralizado */
.tb-intro { display: flex !important; flex-direction: column; align-items: center; gap: 12px !important; max-width: 680px; margin: 0 auto; padding-top: clamp(28px, 3.5vw, 48px) !important; text-align: center; }
.tb-intro-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--tb-accent); font: 700 11px/1 var(--tb-display); letter-spacing: .2em; text-transform: uppercase; }
.tb-intro-kicker .tb-star { width: 9px; height: 9px; }
.tb-intro-big { max-width: none !important; font-size: clamp(22px, 2.3vw, 32px) !important; line-height: 1.12 !important; }
.tb-intro-big em { white-space: nowrap; }
.tb-intro-small { max-width: 46ch !important; font-size: 14px !important; color: var(--tb-muted) !important; }
.tb-intro::after { content: ""; width: 48px; height: 2px; margin-top: 6px; border-radius: 2px; background: var(--tb-accent); }
@media (max-width: 760px) { .tb-intro-big { font-size: 22px !important; } }

/* v3 — corpo mais estreito e compacto */
:root { --tb-max: 1080px; }
:root body .gallery-site.tb-site.tb-site .content-wrap.archive-content { width: min(100% - var(--tb-gutter) * 2, var(--tb-max)) !important; }
.tb-wrap { width: min(100% - var(--tb-gutter) * 2, var(--tb-max)) !important; }
.tb-tb-strip { --pad: max(var(--tb-gutter), calc((100vw - var(--tb-max)) / 2)) !important; }
.tb-tb { --w: calc((min(100vw - var(--tb-gutter) * 2, var(--tb-max)) - 60px) / 6); }
:root body .gallery-site.tb-site.tb-site .tb-block { margin-top: clamp(36px, 4vw, 56px) !important; }
:root body .gallery-site.tb-site.tb-site .tb-block-head { margin-bottom: 14px !important; padding-bottom: 8px !important; }
:root body .gallery-site.tb-site.tb-site .tb-block-head h2 { font-size: clamp(20px, 1.8vw, 24px) !important; }
.tb-intro { padding-top: clamp(16px, 2vw, 28px) !important; gap: 8px !important; }
.tb-intro-big { font-size: clamp(20px, 1.8vw, 26px) !important; }
.tb-intro-small { font-size: 13px !important; }
.tb-intro::after { margin-top: 2px; width: 36px; }
.tb-albums { gap: 10px !important; }
:root body .gallery-site.tb-site.tb-site .tb-album-cap h3 { font-size: 12.5px !important; }
.tb-tb-strip { gap: 10px !important; }
:root body .gallery-site.tb-site.tb-site .tb-foot { margin-top: clamp(56px, 6vw, 88px) !important; }
@media (max-width: 1024px) { .tb-tb { --w: calc((100vw - var(--tb-gutter) * 2 - 20px) / 3); } }
@media (max-width: 760px) { .tb-tb { --w: calc((100vw - 32px - 10px) / 2); } }
.tb-throwback .tb-wrap { width: 100% !important; }

/* boas-vindas: "bem-vindos" igual ao título; texto numa linha, em creme */
.tb-intro-kicker { color: var(--tb-cream) !important; font: 700 clamp(20px, 1.8vw, 26px)/1.12 var(--tb-display) !important; letter-spacing: -.03em !important; text-transform: none !important; gap: 12px !important; }
.tb-intro-kicker .tb-star { width: .45em !important; height: .45em !important; }
.tb-intro { gap: 4px !important; max-width: none !important; }
.tb-intro-small { max-width: none !important; margin-top: 6px !important; white-space: nowrap; color: var(--tb-cream) !important; }
.tb-intro::after { margin-top: 10px !important; }
@media (max-width: 760px) {
  .tb-intro-kicker { font-size: 22px !important; }
  .tb-intro-small { white-space: normal; }
}

/* números do topo: menores, cada um numa cápsula */
.tb-hero-stats { display: flex !important; gap: 8px !important; font-size: 10px !important; letter-spacing: .14em !important; }
.tb-hero-stats li { padding: 7px 13px; border: 1px solid rgba(242, 236, 220, .35); border-radius: 999px; background: rgba(7, 21, 29, .35); line-height: 1; }
.tb-hero-stats li + li::before { display: none !important; }
.tb-hero-stats b { font-size: 1.15em !important; margin-right: .4em !important; }
@media (max-width: 760px) {
  .tb-hero-stats { display: grid !important; grid-template-columns: auto auto; gap: 6px !important; font-size: 9.5px !important; }
  .tb-hero-stats li { padding: 6px 10px; }
}
.tb-intro-big span { display: block; }
@media (max-width: 760px) { .tb-intro-big span { display: inline; } }

/* =====================================================================
   v4 — letreiro de boas-vindas e desempenho
   ================================================================== */
/* fundo: sem mix-blend-mode (que obrigava a repintar a tela inteira a cada
   rolagem); a cor é uma camada simples translúcida numa camada própria */
.tb-page-bg { background-image: url(images/tudo/texture.webp) !important; transform: translateZ(0); }
.tb-page-bg::after { mix-blend-mode: normal !important; background: hsl(var(--tb-bg-hue) 60% 30%) !important; opacity: .22 !important; will-change: background-color; }
.tb-grain { transform: translateZ(0); }
/* topo estático: sem parallax, sem luz, sem máscara recalculada */
.tb-bg, .tb-fg { transform: none; }
.tb-hero-light { display: none !important; }

/* letreiro */
.tb-intro { display: block !important; max-width: none !important; padding-top: clamp(20px, 2.4vw, 32px) !important; text-align: center; }
.tb-intro::after { display: none !important; }
.tb-marq { position: relative; width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; padding: 14px 0; border-top: 1px solid var(--tb-line); border-bottom: 1px solid var(--tb-line); }
.tb-marq-track { display: flex; width: max-content; animation: tb-marq 42s linear infinite; will-change: transform; }
.tb-marq.is-paused .tb-marq-track { animation-play-state: paused; }
.tb-marq-group { display: flex; align-items: center; gap: 26px; padding-right: 26px; flex: none; }
.tb-marq-group > span { color: var(--tb-cream); font: 800 clamp(22px, 2.3vw, 32px)/1.1 var(--tb-display); letter-spacing: -.035em; white-space: nowrap; }
.tb-marq-group em { font-style: normal; color: var(--tb-accent); }
.tb-marq-group .tb-star { width: 14px; height: 14px; }
.tb-marq-o { color: transparent !important; -webkit-text-stroke: 1.2px var(--tb-cream); }
@keyframes tb-marq { to { transform: translate3d(-50%, 0, 0); } }
.tb-intro-small { margin: 14px 0 0 !important; }
@media (max-width: 760px) {
  .tb-marq { padding: 10px 0; }
  .tb-marq-group { gap: 18px; padding-right: 18px; }
  .tb-marq-group > span { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .tb-marq-track { animation: none; }
}

/* fundo na paleta do banner */
:root { --tb-bg-hue: 197; }
.tb-page-bg::after { background: hsl(var(--tb-bg-hue) 65% 28%) !important; opacity: .3 !important; }
:root { --tb-bg-l: 28%; --tb-bg-a: .3; }
.tb-page-bg::after { background: hsl(var(--tb-bg-hue) 60% var(--tb-bg-l)) !important; opacity: var(--tb-bg-a) !important; }

/* cor de destaque */
:root { --tb-accent: #36c1da !important; --tb-accent-soft: rgba(54, 193, 218, .16) !important; }

/* bordas das fotos: a imagem preenche o quadro inteiro, sem cantos próprios */
:root body .gallery-site.tb-site.tb-site :where(.tb-album, .tb-tb, .tb-pop, .thumbnail-card, .browser-album-grid > *) :where(figure, .thumbnail-image) { margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site :where(.tb-album, .tb-tb, .tb-pop, .thumbnail-card, .browser-album-grid > *) img {
  display: block; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline: 0 !important; object-fit: cover;
}
:root body .gallery-site.tb-site.tb-site .tb-album { border-radius: 8px !important; overflow: hidden !important; }
:root body .gallery-site.tb-site.tb-site .tb-album figure { border-radius: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-tb figure, :root body .gallery-site.tb-site.tb-site .tb-pop figure { border-radius: 8px !important; overflow: hidden !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card { border-radius: 8px !important; overflow: hidden !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-image { border-radius: 0 !important; overflow: hidden !important; }

/* fotos mais altas (retrato) nas categorias e nas mais vistas */
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb { aspect-ratio: 3 / 4 !important; height: auto !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 25%; }
:root body .gallery-site.tb-site.tb-site .tb-pop figure { aspect-ratio: 3 / 4 !important; }
:root body .gallery-site.tb-site.tb-site .tb-pop figure img { object-position: 50% 25%; }
.tb-pop { grid-template-columns: 36px 84px minmax(0, 1fr) !important; }
@media (max-width: 760px) {
  :root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb { width: 60px !important; aspect-ratio: 3 / 4 !important; }
  .tb-pop { grid-template-columns: 32px 72px minmax(0, 1fr) !important; }
}

/* throwback: ano e legenda sobre a foto, com degradê para leitura */
:root body .gallery-site.tb-site.tb-site .tb-tb { position: relative; display: block; border-radius: 8px; overflow: hidden; }
:root body .gallery-site.tb-site.tb-site .tb-tb figure { position: relative; }
:root body .gallery-site.tb-site.tb-site .tb-tb figure::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, transparent 45%, rgba(4, 12, 17, .55) 72%, rgba(4, 12, 17, .92) 100%);
}
.tb-tb-year { z-index: 2; left: 12px !important; right: 12px; bottom: 32px !important; font-size: clamp(22px, 2vw, 28px) !important; line-height: 1 !important; text-shadow: 0 2px 16px rgba(0, 0, 0, .5); }
.tb-tb-title { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 12px; margin: 0 !important; color: rgba(242, 236, 220, .88) !important; font: 600 11px/1.3 var(--tb-text) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 8px rgba(0, 0, 0, .6); }

/* linhas e divisórias mais visíveis */
:root { --tb-line: rgba(242, 236, 220, .32) !important; }
.gallery-site.tb-site { --sza-line: rgba(242, 236, 220, .32) !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .folder-symbol { border-color: rgba(242, 236, 220, .45) !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-expand-arrow { border-color: rgba(242, 236, 220, .6) !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-group.expanded .category-expand-arrow { border-color: var(--tb-accent) !important; }

/* miniaturas das categorias: borda suave + degradê */
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb {
  position: relative !important; overflow: hidden !important;
  border: 2px solid rgba(242, 236, 220, .28) !important; border-radius: 8px !important;
}
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb::after {
  content: "" !important; display: block !important; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(54, 193, 218, .10) 0%, transparent 40%, rgba(4, 12, 17, .55) 100%) !important;
}
:root body .gallery-site.tb-site.tb-site .tb-cats .category-thumb.is-empty {
  background:
    linear-gradient(160deg, rgba(54, 193, 218, .22), rgba(4, 12, 17, .55)),
    repeating-linear-gradient(135deg, rgba(242, 236, 220, .06) 0 6px, transparent 6px 12px) !important;
}
:root body .gallery-site.tb-site.tb-site .tb-cats .category-row:hover .category-thumb { border-color: var(--tb-accent) !important; }
/* tira a linha arredondada que sobrava acima da lista */
:root body .gallery-site.tb-site.tb-site .tb-cats .category-list { border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; outline: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats .category-list::before, :root body .gallery-site.tb-site.tb-site .tb-cats .category-list::after { display: none !important; }

/* borda suave de 2px em todas as imagens do site */
:root { --tb-img-border: 2px solid rgba(242, 236, 220, .28); }
:root body .gallery-site.tb-site.tb-site :where(.tb-album, .tb-tb, .thumbnail-card, .browser-album-grid > *, .month-grid > *) { border: var(--tb-img-border) !important; border-radius: 8px !important; overflow: hidden !important; }
:root body .gallery-site.tb-site.tb-site .tb-pop figure { border: var(--tb-img-border) !important; border-radius: 8px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-stage img { border: var(--tb-img-border) !important; border-radius: 6px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink img { border: var(--tb-img-border) !important; border-radius: 6px !important; }
:root body .gallery-site.tb-site.tb-site .tb-band { border-bottom: 0 !important; }
:root body .gallery-site.tb-site.tb-site :where(.tb-album, .tb-tb, .tb-pop, .thumbnail-card, .browser-album-grid > *, .month-grid > *):hover,
:root body .gallery-site.tb-site.tb-site .tb-pop:hover figure { border-color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .tb-pop:hover { border-color: var(--tb-line) !important; }

/* =====================================================================
   Topo: animação de entrada + zoom lento contínuo no fundo
   (só transform e opacity — feito pela placa de vídeo)
   ================================================================== */
.tb-hero .tb-bg { transform-origin: 50% 45%; animation: tb-bg-in 1.6s cubic-bezier(.22, .61, .36, 1) both, tb-bg-drift 22s 1.6s ease-in-out infinite alternate; }
.tb-hero .tb-fg { animation: tb-fg-in 1.4s .25s cubic-bezier(.22, .61, .36, 1) both; }
.tb-hero-stats { animation: tb-fade-in 1s .9s both; }
@keyframes tb-bg-in { from { transform: scale(1.12); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes tb-bg-drift { from { transform: scale(1); } to { transform: scale(1.045) translate(-.6%, -.4%); } }
@keyframes tb-fg-in { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes tb-fade-in { from { opacity: 0; } }
.tb-hero.is-offscreen .tb-bg { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .tb-hero .tb-bg, .tb-hero .tb-fg, .tb-hero-stats { animation: none !important; }
}

/* botão de login legível sobre o banner */
:root body .gallery-site.tb-site.tb-site .tb-top .tb-login {
  border: 1.5px solid rgba(242, 236, 220, .85) !important; background: rgba(7, 21, 29, .35) !important;
  color: var(--tb-cream) !important; -webkit-text-fill-color: var(--tb-cream); opacity: 1 !important;
}
:root body .gallery-site.tb-site.tb-site .tb-top .tb-login :where(span, svg) { color: var(--tb-cream) !important; opacity: 1 !important; display: inline-block !important; visibility: visible !important; }
:root body .gallery-site.tb-site.tb-site .tb-top .tb-login:hover { background: var(--tb-cream) !important; color: #07151d !important; -webkit-text-fill-color: #07151d; }
:root body .gallery-site.tb-site.tb-site .tb-top .tb-login:hover :where(span, svg) { color: #07151d !important; }

/* só a animação de entrada; sem zoom contínuo */
.tb-hero .tb-bg { animation: tb-bg-in 1.6s cubic-bezier(.22, .61, .36, 1) both !important; }

/* brilho passando pelo logo (máscara = logo.png, na posição exata do banner) */
.tb-logo-shine {
  position: absolute; z-index: 3; left: 35.85%; top: 60.095%; width: 30.8%; aspect-ratio: 616 / 286; pointer-events: none;
  -webkit-mask: url(images/tudo/logo.png) 0 0 / 100% 100% no-repeat; mask: url(images/tudo/logo.png) 0 0 / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 40%, rgba(235, 252, 255, .75) 50%, transparent 60%) 0 0 / 300% 100% no-repeat;
  background-position: 130% 0; mix-blend-mode: screen;
  animation: tb-logo-shine 6s 2.2s ease-in-out infinite;
}
@keyframes tb-logo-shine { 0% { background-position: 130% 0; } 35%, 100% { background-position: -30% 0; } }
.tb-hero.is-offscreen .tb-logo-shine { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .tb-logo-shine { display: none; } }

/* neve caindo: duas camadas de imagem repetida deslizando (uma atrás e
   outra na frente dos Justins) */
.tb-snow { position: absolute; inset: 0; pointer-events: none; will-change: background-position; animation: tb-fade-in 1.5s 1s both; }
.tb-snow-back { z-index: 1; background: url(images/tudo/snow2.png) 0 0 / 900px 900px repeat; opacity: .4; animation: tb-fade-in 1.5s 1s both, tb-snow-b 26s linear infinite; }
.tb-snow-front { z-index: 4; background: url(images/tudo/snow1.png) 0 0 / 600px 600px repeat; opacity: .55; animation: tb-fade-in 1.5s 1s both, tb-snow-f 18s linear infinite; }
@keyframes tb-snow-f { to { background-position: 120px 600px; } }
@keyframes tb-snow-b { to { background-position: -160px 900px; } }
.tb-hero.is-offscreen .tb-snow { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .tb-snow { animation: none !important; } }
/* versão mais leve: a camada se move com transform (placa de vídeo), não
   com background-position */
.tb-snow { overflow: hidden; background: none !important; will-change: auto; }
.tb-snow::before { content: ""; position: absolute; will-change: transform; }
.tb-snow-front { animation: tb-fade-in 1.5s 1s both !important; }
.tb-snow-back { animation: tb-fade-in 1.5s 1s both !important; }
.tb-snow-front::before { inset: -600px 0 0 -120px; background: url(images/tudo/snow1.png) 0 0 / 600px 600px repeat; animation: tb-snow-f2 18s linear infinite; }
.tb-snow-back::before { inset: -900px -160px 0 0; background: url(images/tudo/snow2.png) 0 0 / 900px 900px repeat; filter: blur(.5px); animation: tb-snow-b2 26s linear infinite; }
@keyframes tb-snow-f2 { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(120px, 600px, 0); } }
@keyframes tb-snow-b2 { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-160px, 900px, 0); } }
.tb-hero.is-offscreen .tb-snow::before { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .tb-snow::before { animation: none !important; } }

/* =====================================================================
   Desempenho do topo
   - a máscara de degradê saiu do contêiner (com animação dentro, ela era
     refeita a cada quadro) e foi para as duas imagens estáticas;
   - neve sem desfoque e limitada à área visível do banner;
   - brilho do logo sem modo de mistura e movido por transform.
   ================================================================== */
.tb-hero { -webkit-mask-image: none !important; mask-image: none !important; }
.tb-hero .tb-bg, .tb-hero .tb-fg {
  -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 96%);
  mask-image: linear-gradient(180deg, #000 72%, transparent 96%);
}
.tb-snow { contain: strict; bottom: 18% !important; }
.tb-snow-back::before { filter: none !important; }
.tb-logo-shine { mix-blend-mode: normal !important; background: none !important; animation: none !important; overflow: hidden; contain: paint; }
.tb-logo-shine::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 40%;
  background: linear-gradient(105deg, transparent 0%, rgba(235, 252, 255, .75) 50%, transparent 100%);
  transform: translate3d(0, 0, 0); will-change: transform;
  animation: tb-logo-shine2 6s 2.2s ease-in-out infinite both;
}
@keyframes tb-logo-shine2 { 0% { transform: translate3d(0, 0, 0); } 35%, 100% { transform: translate3d(350%, 0, 0); } }
.tb-hero.is-offscreen .tb-logo-shine::before { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .tb-logo-shine::before { animation: none !important; display: none; } }

/* rodapé: logo em imagem */
:root body .gallery-site.tb-site.tb-site .tb-foot-logo { display: inline-block !important; margin: 28px 0 18px !important; line-height: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-foot-logo img { display: block; width: clamp(180px, 20vw, 260px) !important; height: auto !important; max-width: none !important; border: 0 !important; }

/* =====================================================================
   Login — cartão compacto com o logo, na paleta do site
   ================================================================== */
:root body .tb-site.cpg-page-login .cpg-gallery-slot { display: flex; justify-content: center; padding: clamp(24px, 5vw, 64px) 0 20px; }
:root body .tb-site.cpg-page-login #cpgform { width: min(100%, 440px); margin: 0 auto; }
:root body .tb-site.cpg-page-login #cpgform .maintable,
:root body .tb-site.cpg-page-login #cpgform .maintable > tbody { display: block !important; width: 100% !important; }
:root body .tb-site.cpg-page-login #cpgform .maintable {
  position: relative; padding: 34px 32px 26px !important; border: 2px solid rgba(242, 236, 220, .22) !important; border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(8, 24, 32, .82), rgba(5, 15, 21, .9)) !important; box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .8) !important;
}
:root body .tb-site.cpg-page-login #cpgform tr { display: grid !important; grid-template-columns: 1fr; gap: 8px; margin: 0 0 16px; background: none !important; }
:root body .tb-site.cpg-page-login #cpgform td { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; }

/* cabeçalho: logo + título curto */
:root body .tb-site.cpg-page-login #cpgform .cpg-title-cell::before {
  content: ""; display: block; width: 190px; aspect-ratio: 646 / 285; margin: 0 auto 18px;
  background: url(images/tudo/logo.png) center / contain no-repeat;
}
:root body .tb-site.cpg-page-login #cpgform .archive-section-title { display: block !important; margin: 0 0 6px !important; padding: 0 0 18px !important; border: 0 !important; border-bottom: 1px solid var(--tb-line) !important; text-align: center; }
:root body .tb-site.cpg-page-login #cpgform .archive-section-title span:not(.cpg-title-icon) { display: none !important; }
:root body .tb-site.cpg-page-login #cpgform .cpg-title-icon { display: none !important; }
:root body .tb-site.cpg-page-login #cpgform .archive-section-title h2 { font-size: 0 !important; margin: 0 !important; }
:root body .tb-site.cpg-page-login #cpgform .archive-section-title h2::before { content: "entrar na galeria"; display: block; font: 700 22px/1.1 var(--tb-display); letter-spacing: -.03em; color: var(--tb-cream); }
:root body .tb-site.cpg-page-login #cpgform .archive-section-title h2::after { content: "acesse sua conta para enviar e favoritar fotos"; display: block; margin-top: 6px; font: 400 13px/1.4 var(--tb-text); letter-spacing: 0; color: var(--tb-muted); }

/* rótulos e campos */
:root body .tb-site.cpg-page-login #cpgform td.tableb:first-child { color: var(--tb-cream) !important; font: 600 11px/1 var(--tb-text) !important; letter-spacing: .14em !important; text-transform: uppercase; }
:root body .tb-site.cpg-page-login #cpgform td img.icon { display: none !important; }
:root body .tb-site.cpg-page-login #cpgform input.textinput {
  width: 100% !important; height: 46px !important; padding: 0 16px !important; box-sizing: border-box;
  border: 1.5px solid rgba(242, 236, 220, .25) !important; border-radius: 12px !important;
  background: rgba(242, 236, 220, .06) !important; color: var(--tb-cream) !important; box-shadow: none !important;
  font: 500 15px/1 var(--tb-text) !important; outline: none; transition: border-color .2s, background .2s;
}
:root body .tb-site.cpg-page-login #cpgform input.textinput:focus { border-color: var(--tb-accent) !important; background: rgba(54, 193, 218, .08) !important; box-shadow: 0 0 0 3px rgba(54, 193, 218, .18) !important; }
:root body .tb-site.cpg-page-login #cpgform input:-webkit-autofill { -webkit-text-fill-color: var(--tb-cream); -webkit-box-shadow: 0 0 0 40px #0c222c inset !important; }

/* lembrar de mim */
:root body .tb-site.cpg-page-login #cpgform tr:has(#remember_me) td { display: flex !important; align-items: center; gap: 10px; flex-direction: row-reverse; justify-content: flex-end; color: var(--tb-muted) !important; font: 500 13px/1 var(--tb-text) !important; }
:root body .tb-site.cpg-page-login #cpgform #remember_me { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin: 0; border: 1.5px solid rgba(242, 236, 220, .4); border-radius: 5px; background: none; cursor: pointer; display: grid; place-items: center; }
:root body .tb-site.cpg-page-login #cpgform #remember_me:checked { background: var(--tb-accent); border-color: var(--tb-accent); }
:root body .tb-site.cpg-page-login #cpgform #remember_me:checked::after { content: ""; width: 5px; height: 9px; border: solid #04121a; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }
:root body .tb-site.cpg-page-login #cpgform label { color: var(--tb-muted) !important; cursor: pointer; }

/* rodapé do cartão: botão largo e links */
:root body .tb-site.cpg-page-login #cpgform tr:last-child { display: flex !important; flex-direction: column-reverse; gap: 16px; margin: 8px 0 0; padding-top: 18px; border-top: 1px solid var(--tb-line); }
:root body .tb-site.cpg-page-login #cpgform td.tablef:first-child { display: flex !important; justify-content: space-between; gap: 12px; }
:root body .tb-site.cpg-page-login #cpgform td.tablef br { display: none; }
:root body .tb-site.cpg-page-login #cpgform a.topmenu { color: var(--tb-muted) !important; font: 500 12px/1.3 var(--tb-text) !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important; background: none !important; padding: 0 !important; border: 0 !important; }
:root body .tb-site.cpg-page-login #cpgform a.topmenu:hover { color: var(--tb-accent) !important; }
:root body .tb-site.cpg-page-login #cpgform button[type=submit] {
  width: 100% !important; height: 48px !important; border: 0 !important; border-radius: 12px !important; cursor: pointer;
  background: var(--tb-cream) !important; color: #07151d !important; box-shadow: none !important;
  font-size: 0 !important; transition: background .2s, transform .2s;
}
:root body .tb-site.cpg-page-login #cpgform button[type=submit] img { display: none !important; }
:root body .tb-site.cpg-page-login #cpgform button[type=submit]::after { content: "entrar"; font: 700 15px/1 var(--tb-display); letter-spacing: .01em; }
:root body .tb-site.cpg-page-login #cpgform button[type=submit]:hover { background: var(--tb-accent) !important; transform: translateY(-1px); }
:root body .tb-site.cpg-page-login .cpg-gallery-slot > .footer { display: none !important; }
@media (max-width: 480px) {
  :root body .tb-site.cpg-page-login #cpgform .maintable { padding: 26px 20px 20px !important; }
  :root body .tb-site.cpg-page-login #cpgform td.tablef:first-child { flex-direction: column; }
}
:root body .tb-site.cpg-page-login #cpgform .archive-section-title > div, :root body .tb-site.cpg-page-login #cpgform .archive-section-title h2 { display: block !important; }
:root body .tb-site.cpg-page-login #cpgform tr:has(#remember_me) td { text-transform: none !important; letter-spacing: 0 !important; }
:root body .tb-site.cpg-page-login #cpgform td.tablef:last-child { width: 100% !important; }
:root body .tb-site.cpg-page-login #cpgform button[type=submit] { display: flex !important; align-items: center; justify-content: center; max-width: none !important; min-width: 0 !important; padding: 0 !important; font: 700 15px/1 var(--tb-display) !important; letter-spacing: .01em !important; text-transform: none !important; color: #07151d !important; }
:root body .tb-site.cpg-page-login #cpgform button[type=submit]::after { content: none !important; }

/* =====================================================================
   Login em pop-up
   ================================================================== */
html.tb-modal-open { overflow: hidden; }
.tb-modal { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 16px; font-family: var(--tb-text); }
.tb-modal[hidden] { display: none; }
.tb-modal-backdrop { position: absolute; inset: 0; background: rgba(3, 10, 14, .72); opacity: 0; transition: opacity .25s; }
.tb-modal-card {
  position: relative; width: min(100%, 400px); max-height: calc(100vh - 32px); overflow: auto; margin: 0;
  padding: 30px 30px 22px; border: 2px solid rgba(242, 236, 220, .22); border-radius: 18px;
  background: linear-gradient(180deg, #0b2029, #06141b); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .9);
  text-align: center; color: var(--tb-cream);
  opacity: 0; transform: translateY(14px) scale(.98); transition: opacity .25s, transform .3s cubic-bezier(.22, .61, .36, 1);
}
.tb-modal.is-open .tb-modal-backdrop { opacity: 1; }
.tb-modal.is-open .tb-modal-card { opacity: 1; transform: none; }
.tb-modal-close { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: 1.5px solid rgba(242, 236, 220, .22); border-radius: 50%; background: none; color: var(--tb-cream); font: 400 22px/1 var(--tb-text); cursor: pointer; }
.tb-modal-close:hover { border-color: var(--tb-accent); color: var(--tb-accent); }
.tb-modal-logo { display: block; width: 170px; height: auto; margin: 4px auto 14px; }
.tb-modal-card h2 { margin: 0; font: 700 21px/1.1 var(--tb-display); letter-spacing: -.03em; color: var(--tb-cream); }
.tb-modal-sub { margin: 6px 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--tb-line); font-size: 13px; color: var(--tb-muted); }
.tb-field { display: block; margin: 0 0 14px; text-align: left; }
.tb-field span { display: block; margin-bottom: 7px; font: 600 11px/1 var(--tb-text); letter-spacing: .14em; text-transform: uppercase; color: var(--tb-cream); }
.tb-field input {
  width: 100%; height: 46px; padding: 0 16px; box-sizing: border-box; border: 1.5px solid rgba(242, 236, 220, .25); border-radius: 12px;
  background: rgba(242, 236, 220, .06); color: var(--tb-cream); font: 500 15px/1 var(--tb-text); outline: none; transition: border-color .2s, box-shadow .2s;
}
.tb-field input:focus { border-color: var(--tb-accent); box-shadow: 0 0 0 3px rgba(54, 193, 218, .18); }
.tb-field input:-webkit-autofill { -webkit-text-fill-color: var(--tb-cream); -webkit-box-shadow: 0 0 0 40px #0c222c inset; }
.tb-check { display: flex; align-items: center; gap: 10px; margin: 4px 0 18px; font-size: 13px; color: var(--tb-muted); cursor: pointer; text-align: left; }
.tb-check input { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin: 0; border: 1.5px solid rgba(242, 236, 220, .4); border-radius: 5px; display: grid; place-items: center; cursor: pointer; }
.tb-check input:checked { background: var(--tb-accent); border-color: var(--tb-accent); }
.tb-check input:checked::after { content: ""; width: 5px; height: 9px; border: solid #04121a; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }
.tb-modal-submit { width: 100%; height: 48px; border: 0; border-radius: 12px; background: var(--tb-cream); color: #07151d; font: 700 15px/1 var(--tb-display); cursor: pointer; transition: background .2s, transform .2s; }
.tb-modal-submit:hover { background: var(--tb-accent); transform: translateY(-1px); }
.tb-modal-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 18px; margin: 16px 0 0; font-size: 12px; }
.tb-modal-links a { color: var(--tb-muted) !important; text-decoration: none !important; }
.tb-modal-links a:hover { color: var(--tb-accent) !important; }
@media (prefers-reduced-motion: reduce) { .tb-modal-card, .tb-modal-backdrop { transition: none; } }

/* página login.php (acesso direto): cartão mais para cima */
:root body .tb-site.cpg-page-login .tb-band { height: 90px !important; }
:root body .tb-site.cpg-page-login .cpg-gallery-slot { padding-top: 8px !important; }

/* ---------- aviso (toast) ---------- */
.tb-site #cpgMessage { display: none !important; }
.tb-toast {
  position: fixed; z-index: 1900; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 12px;
  max-width: min(380px, calc(100vw - 40px)); padding: 12px 12px 12px 16px; border: 2px solid rgba(242, 236, 220, .22); border-radius: 14px;
  background: linear-gradient(180deg, #0b2029, #06141b); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .8);
  color: var(--tb-cream); font: 600 14px/1.3 var(--tb-text);
  opacity: 0; transform: translateY(12px); transition: opacity .3s, transform .35s cubic-bezier(.22, .61, .36, 1);
}
.tb-toast.is-in { opacity: 1; transform: none; }
.tb-toast-dot { width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--tb-accent); box-shadow: 0 0 0 4px rgba(54, 193, 218, .18); }
.tb-toast.is-error .tb-toast-dot { background: #e5605a; box-shadow: 0 0 0 4px rgba(229, 96, 90, .2); }
.tb-toast-text { flex: 1; }
.tb-toast button { width: 28px; height: 28px; flex: none; border: 0; border-radius: 50%; background: none; color: var(--tb-muted); font: 400 20px/1 var(--tb-text); cursor: pointer; }
.tb-toast button:hover { color: var(--tb-cream); background: rgba(242, 236, 220, .08); }

/* ---------- painel flutuante ---------- */
.tb-site .admin-control-dock { display: none !important; }
.tb-admin { position: fixed; z-index: 1800; left: 20px; bottom: 20px; font-family: var(--tb-text); }
.tb-admin-toggle {
  display: inline-flex; align-items: center; gap: 9px; height: 46px; padding: 0 18px 0 15px; border: 2px solid rgba(242, 236, 220, .22); border-radius: 999px;
  background: linear-gradient(180deg, #0b2029, #06141b); color: var(--tb-cream); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .8);
  font: 700 13px/1 var(--tb-display); cursor: pointer; transition: border-color .2s, color .2s;
}
.tb-admin-toggle:hover, .tb-admin.is-open .tb-admin-toggle { border-color: var(--tb-accent); color: var(--tb-accent); }
.tb-admin-menu {
  position: absolute; left: 0; bottom: calc(100% + 10px); width: 240px; max-height: min(70vh, 560px); overflow: auto;
  padding: 10px; border: 2px solid rgba(242, 236, 220, .22); border-radius: 16px;
  background: linear-gradient(180deg, #0b2029, #06141b); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .85);
}
.tb-admin-menu[hidden] { display: none; }
.tb-admin-menu p { margin: 4px 8px 8px; color: var(--tb-accent); font: 700 10px/1 var(--tb-text); letter-spacing: .18em; text-transform: uppercase; }
.tb-admin-link { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; color: var(--tb-cream) !important; text-decoration: none !important; font: 500 13px/1.2 var(--tb-text); }
.tb-admin-link:hover { background: rgba(54, 193, 218, .12); color: var(--tb-accent) !important; }
.tb-admin-link .admin-icon { display: inline-grid; width: 18px; height: 18px; flex: none; color: currentColor; opacity: .85; }
.tb-admin-link .admin-icon svg { width: 18px; height: 18px; }
@media (max-width: 760px) {
  .tb-admin { left: 12px; bottom: 12px; }
  .tb-toast { right: 12px; bottom: 70px; }
}

/* painel no celular: botão redondo só com ícone; o menu abre como uma
   gaveta de baixo para cima, largura toda, em duas colunas */
@media (max-width: 760px) {
  .tb-admin-toggle { width: 48px; height: 48px; padding: 0; justify-content: center; }
  .tb-admin-toggle span { display: none; }
  .tb-admin.is-open::before { content: ""; position: fixed; inset: 0; background: rgba(3, 10, 14, .6); }
  .tb-admin-menu {
    position: fixed; left: 8px; right: 8px; bottom: 70px; width: auto; max-height: 65vh;
    display: grid; grid-template-columns: 1fr 1fr; gap: 2px; padding: 12px; border-radius: 18px;
  }
  .tb-admin-menu[hidden] { display: none; }
  .tb-admin-menu p { grid-column: 1 / -1; }
  .tb-admin-link { padding: 11px 10px; font-size: 13px; }
}

/* ================= álbum: seleção, apagar e capas (só para quem administra) ================= */
:root body .gallery-site.tb-site.tb-site .thumbnail-card { position: relative !important; }
.tb-pick {
  position: absolute; top: 10px; left: 10px; z-index: 4; width: 24px; height: 24px; border-radius: 7px;
  border: 2px solid rgba(255,255,255,.9); background: rgba(7,21,29,.35); box-shadow: 0 2px 8px rgba(0,0,0,.35);
  opacity: 0; transform: scale(.8); transition: opacity .2s, transform .2s, background .15s; pointer-events: none;
}
.tb-pick::after { content: ""; position: absolute; left: 7px; top: 3px; width: 6px; height: 11px; border: solid #07151d; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) scale(0); transition: transform .15s; }
body.tb-selecting .tb-pick { opacity: 1; transform: none; }
body.tb-selecting :root body .gallery-site.tb-site.tb-site .thumbnail-card, body.tb-selecting .thumbnail-card { cursor: pointer; }
.thumbnail-card.is-picked .tb-pick { background: var(--tb-accent); border-color: var(--tb-accent); }
.thumbnail-card.is-picked .tb-pick::after { transform: rotate(45deg) scale(1); }
:root body .gallery-site.tb-site.tb-site .thumbnail-card.is-picked { border-color: var(--tb-accent) !important; box-shadow: 0 0 0 2px var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card.is-picked .thumbnail-image img { opacity: .72; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card.is-gone { opacity: 0 !important; transform: scale(.94) !important; transition: opacity .3s, transform .3s !important; }

.tb-cover-actions {
  position: absolute; left: 8px; right: 8px; bottom: 58px; z-index: 4; display: flex; gap: 6px;
  opacity: 0; transform: translateY(6px); transition: opacity .2s, transform .2s; pointer-events: none;
}
.thumbnail-card:hover .tb-cover-actions, .thumbnail-card:focus-within .tb-cover-actions { opacity: 1; transform: none; pointer-events: auto; }
body.tb-selecting .tb-cover-actions { display: none; }
.tb-cover-actions button {
  flex: 1 1 0; min-width: 0; padding: 8px 6px; border: 1px solid rgba(242,236,220,.3); border-radius: 8px;
  background: rgba(7,21,29,.82); color: var(--tb-cream); font: 700 10.5px/1.15 var(--tb-display); letter-spacing: .02em; text-transform: lowercase;
  cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.tb-cover-actions button + button { background: rgba(54,193,218,.85); border-color: transparent; color: #07151d; }
.tb-cover-actions button:hover { background: var(--tb-cream); color: #07151d; }
.tb-cover-actions button.is-busy { opacity: .6; cursor: progress; }
.tb-cover-actions button.is-done::before { content: "✓ "; }
@media (hover: none) { .tb-cover-actions { opacity: 1; transform: none; pointer-events: auto; } }

.tb-selbar {
  position: fixed; left: 50%; bottom: 22px; z-index: 60; display: flex; align-items: center; gap: 8px;
  padding: 8px 8px 8px 18px; border: 1px solid var(--tb-line); border-radius: 999px; background: rgba(7,21,29,.94);
  box-shadow: 0 18px 40px -12px rgba(0,0,0,.6); color: var(--tb-cream); font: 600 13px/1 var(--tb-text);
  transform: translate(-50%, 140%); opacity: 0; transition: transform .35s var(--tb-ease), opacity .25s; pointer-events: none;
}
.tb-selbar.is-in { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.tb-selbar-count { margin-right: 6px; white-space: nowrap; }
.tb-selbar-count b { font: 800 15px/1 var(--tb-display); color: var(--tb-accent); }
.tb-selbar button { height: 36px; padding: 0 16px; border: 1px solid var(--tb-line); border-radius: 999px; background: none; color: var(--tb-cream); font: 700 12px/1 var(--tb-display); cursor: pointer; white-space: nowrap; }
.tb-selbar button:hover { border-color: var(--tb-cream); }
.tb-selbar .tb-selbar-del { background: #e5605a; border-color: #e5605a; color: #fff; }
.tb-selbar .tb-selbar-del:disabled { opacity: .4; cursor: not-allowed; }
.tb-selbar .tb-selbar-x { width: 36px; padding: 0; font-size: 20px; }
@media (max-width: 560px) {
  .tb-selbar { left: 12px; right: 12px; transform: translateY(140%); justify-content: space-between; padding-left: 14px; }
  .tb-selbar.is-in { transform: none; }
  .tb-selbar-all { display: none; }
}
:root body .gallery-site.tb-site.tb-site .arq-album-actions { display: flex !important; gap: 8px !important; align-items: center !important; }
:root body .gallery-site.tb-site.tb-site .tb-selec-toggle[aria-pressed="true"] { background: var(--tb-accent) !important; border-color: var(--tb-accent) !important; color: #07151d !important; }

/* janela "+ fotos" do álbum (monocromática, igual ao painel) */
.arq-album-upload-modal .arq-album-upload-backdrop { background: rgba(4, 10, 14, .72) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.arq-album-upload-modal .arq-album-upload-panel { border: 0 !important; border-radius: 16px !important; overflow: hidden !important; background: #f3f3f1 !important; box-shadow: 0 30px 80px -20px rgba(0,0,0,.6) !important; }
.arq-album-upload-modal .arq-album-upload-header { padding: 14px 18px !important; background: #fff !important; color: #0f0f10 !important; border-bottom: 1px solid #e4e4e0 !important; }
.arq-album-upload-modal .arq-album-upload-header small { color: #7a7a7d !important; font: 700 10px/1 "Manrope", sans-serif !important; letter-spacing: .18em !important; }
.arq-album-upload-modal .arq-album-upload-header strong { color: #0f0f10 !important; font: 700 18px/1.1 "Syne", "Manrope", sans-serif !important; }
.arq-album-upload-modal .arq-album-upload-close { width: 36px !important; height: 36px !important; border: 1px solid #d6d6d1 !important; border-radius: 50% !important; background: #fff !important; color: #0f0f10 !important; font-size: 20px !important; box-shadow: none !important; }
.arq-album-upload-modal .arq-album-upload-close:hover, .arq-album-upload-modal .arq-album-upload-close:focus-visible { background: #0f0f10 !important; color: #fff !important; border-color: #0f0f10 !important; }
.arq-album-upload-modal .arq-album-upload-frame { background: #f3f3f1 !important; }

/* rótulo "álbum" acima do título: sem coração, uma etiqueta discreta */
:root body .gallery-site.tb-site.tb-site .photo-browser-title > div:first-child > p {
  display: inline-flex !important; align-items: center !important; gap: 10px !important; margin: 0 0 12px !important; padding: 0 !important;
  border: 0 !important; background: none !important; color: var(--tb-accent) !important;
  font: 700 11px/1 var(--tb-display) !important; letter-spacing: .22em !important; text-transform: lowercase !important; opacity: 1 !important;
}
:root body .gallery-site.tb-site.tb-site .photo-browser-title > div:first-child > p::before {
  content: "" !important; display: block !important; width: 26px !important; height: 2px !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 2px !important; background: var(--tb-accent) !important; -webkit-mask: none !important; mask: none !important;
  transform: none !important; opacity: 1 !important;
}
:root body .gallery-site.tb-site.tb-site .photo-browser-title > div:first-child > p::after { content: none !important; display: none !important; }

/* ================= últimos álbuns: capa inteira "cinema" ================= */
:root body .gallery-site.tb-site.tb-site .tb-albums { gap: 16px !important; padding: 5px; }
.tb-cine {
  position: relative; display: block; aspect-ratio: 3 / 4.4; overflow: hidden; border-radius: 6px; background: #0d1c24;
  outline: 1.5px solid rgba(242, 236, 220, .28); outline-offset: 4px; text-decoration: none !important; color: inherit;
  transition: outline-color .3s;
}
.tb-cine:hover, .tb-cine:focus-visible { outline-color: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .tb-cine > img, .tb-cine > .tb-empty-cover {
  position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important;
  object-fit: cover; border: 0 !important; border-radius: 0 !important; filter: saturate(.85);
  transition: transform .7s var(--tb-ease), filter .4s;
}
.tb-cine:hover > img { transform: scale(1.05); filter: saturate(1.05); }
.tb-cine::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(7,21,29,.55) 0%, rgba(7,21,29,0) 22%, rgba(7,21,29,0) 45%, rgba(7,21,29,.92) 100%); }
.tb-cine-cat {
  position: absolute; z-index: 1; top: 11px; left: 11px; right: 11px; display: flex; align-items: center; gap: 7px;
  font: 700 9px/1.2 var(--tb-text); letter-spacing: .18em; text-transform: uppercase; color: var(--tb-cream);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tb-cine-cat::before { content: ""; flex: none; width: 14px; height: 1.5px; background: var(--tb-accent); }
.tb-cine-bot { position: absolute; z-index: 1; left: 11px; right: 11px; bottom: 11px; display: block; }
:root body .gallery-site.tb-site.tb-site .tb-cine h3 {
  margin: 0 0 7px !important; font: 700 13.5px/1.18 var(--tb-display) !important; letter-spacing: -.01em !important; color: #fff !important;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.tb-cine-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding-top: 7px; border-top: 1px solid rgba(242,236,220,.25); font: 600 10px/1 var(--tb-text); color: rgba(242,236,220,.75); white-space: nowrap; }
.tb-cine-meta b { font: 700 11px/1 var(--tb-display); letter-spacing: -.01em; color: var(--tb-accent); }
@media (max-width: 560px) { :root body .gallery-site.tb-site.tb-site .tb-cine h3 { font-size: 13px !important; } }

/* throwback: mesma moldura dos "últimos álbuns" (linha fina afastada da foto) */
:root body .gallery-site.tb-site.tb-site .tb-tb {
  border: 0 !important; border-radius: 6px !important; overflow: hidden !important; box-shadow: none !important;
  outline: 1.5px solid rgba(242, 236, 220, .28) !important; outline-offset: 4px !important; transition: outline-color .3s !important;
}
:root body .gallery-site.tb-site.tb-site .tb-tb:hover, :root body .gallery-site.tb-site.tb-site .tb-tb:focus-visible { outline-color: var(--tb-accent) !important; border: 0 !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-tb figure, :root body .gallery-site.tb-site.tb-site .tb-tb img { border: 0 !important; border-radius: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-tb-strip { padding-top: 8px !important; padding-bottom: 12px !important; gap: 16px !important; }

/* throwback do mesmo tamanho dos "últimos álbuns" (mesma largura e altura) */
:root body .gallery-site.tb-site.tb-site .tb-tb { --w: calc((min(100vw - var(--tb-gutter) * 2, var(--tb-max)) - 10px - 80px) / 6); flex: 0 0 var(--w) !important; max-width: var(--w) !important; }
:root body .gallery-site.tb-site.tb-site .tb-tb figure { aspect-ratio: 3 / 4.4 !important; }
:root body .gallery-site.tb-site.tb-site .tb-tb-strip { padding-left: calc(var(--pad) + 5px) !important; padding-right: calc(var(--pad) + 5px) !important; scroll-padding-inline: calc(var(--pad) + 5px) !important; }
@media (max-width: 1024px) { :root body .gallery-site.tb-site.tb-site .tb-tb { --w: calc((min(100vw - var(--tb-gutter) * 2, var(--tb-max)) - 10px - 32px) / 3); } }
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .tb-tb { --w: calc((min(100vw - var(--tb-gutter) * 2, var(--tb-max)) - 10px - 16px) / 2); } }

/* banner novo (imagem única): brilho passa pelo logo "bieber updates" */
:root body .gallery-site.tb-site.tb-site .tb-logo-shine {
  left: 34.4% !important; top: 61.905% !important; width: 33% !important; aspect-ratio: 660 / 300 !important;
  -webkit-mask: url(images/tudo/logo-bu.png) 0 0 / 100% 100% no-repeat !important; mask: url(images/tudo/logo-bu.png) 0 0 / 100% 100% no-repeat !important;
}

/* logo novo por cima do banner (posição exata: x 689, y 657 em 2000×1050), nítido e animado */
:root body .gallery-site.tb-site.tb-site .tb-hero-art > img.tb-logo-layer {
  position: absolute; inset: auto; left: 34.45%; top: 62.571%; width: 32.3% !important; height: auto !important; aspect-ratio: 646 / 285;
  z-index: 5; max-width: none !important; border: 0 !important; border-radius: 0 !important; pointer-events: none;
  -webkit-mask: none !important; mask: none !important; filter: drop-shadow(0 6px 24px rgba(0, 0, 0, .35));
  animation: tb-logo-in 1.3s .45s cubic-bezier(.22, .61, .36, 1) both;
}
@keyframes tb-logo-in { from { opacity: 0; transform: translateY(18px) scale(.96); filter: blur(6px) drop-shadow(0 6px 24px rgba(0,0,0,.35)); } to { opacity: 1; transform: none; filter: blur(0) drop-shadow(0 6px 24px rgba(0,0,0,.35)); } }
@keyframes tb-logo-float { from { transform: translateY(0); } to { transform: translateY(-6px); } }
.tb-hero.is-offscreen .tb-logo-layer { animation-play-state: paused; }
:root body .gallery-site.tb-site.tb-site .tb-logo-shine {
  z-index: 6 !important; left: 34.45% !important; top: 62.571% !important; width: 32.3% !important; aspect-ratio: 646 / 285 !important;
  -webkit-mask: url(images/tudo/logo.png) 0 0 / 100% 100% no-repeat !important; mask: url(images/tudo/logo.png) 0 0 / 100% 100% no-repeat !important;
}
@media (prefers-reduced-motion: reduce) { :root body .gallery-site.tb-site.tb-site .tb-hero-art > img.tb-logo-layer { animation: none !important; } }

/* logo por cima: sem animação própria — acompanha o fundo exatamente (nada de logo duplo);
   só o feixe de luz passa por ele */
:root body .gallery-site.tb-site.tb-site .tb-hero-art > img.tb-logo-layer {
  transform-origin: 48.14% -64.74% !important;
  animation: tb-bg-in 1.6s cubic-bezier(.22, .61, .36, 1) both !important;
  filter: none !important;
}

/* trilha (início › categoria › ano › álbum): uma setinha só, visível, em azul */
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 4px 0 !important; font-size: 0 !important; }
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb > a { display: inline-flex !important; align-items: center !important; font: 600 12px/1.5 var(--tb-text) !important; }
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb > a::before { content: none !important; display: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb > a + a::before {
  content: "›" !important; display: inline-block !important; margin: 0 10px !important; padding: 0 !important; background: none !important;
  color: var(--tb-accent) !important; font: 700 15px/1 var(--tb-text) !important; opacity: 1 !important; -webkit-mask: none !important; mask: none !important;
}
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb > strong { font: 600 12px/1.5 var(--tb-text) !important; margin-left: 10px; }

/* ================= fotos do álbum: mesmo estilo "cinema" dos últimos álbuns ================= */
:root body .gallery-site.tb-site.tb-site .thumbnail-grid { gap: 16px !important; padding: 5px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card {
  position: relative !important; aspect-ratio: 3 / 4.4; padding: 0 !important; overflow: hidden !important;
  border: 0 !important; border-radius: 6px !important; background: #0d1c24 !important; box-shadow: none !important;
  outline: 1.5px solid rgba(242, 236, 220, .28) !important; outline-offset: 4px !important;
  transform: none !important; transition: outline-color .3s !important;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card:hover { outline-color: var(--tb-accent) !important; border: 0 !important; transform: none !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-image { position: absolute !important; inset: 0 !important; display: block !important; height: auto !important; aspect-ratio: auto !important; border: 0 !important; border-radius: 0 !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-image img {
  width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; border: 0 !important; border-radius: 0 !important;
  filter: saturate(.85); transition: transform .7s var(--tb-ease), filter .4s !important;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card:hover .thumbnail-image img { transform: scale(1.05) !important; filter: saturate(1.05); }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-image::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(7,21,29,.35) 0%, rgba(7,21,29,0) 20%, rgba(7,21,29,0) 58%, rgba(7,21,29,.9) 100%); }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-image > span { display: none !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-meta-wrap {
  position: absolute !important; left: 11px !important; right: 11px !important; bottom: 11px !important; z-index: 2; margin: 0 !important; padding: 0 !important;
  background: none !important; border: 0 !important; pointer-events: none;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-meta {
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important;
  padding: 7px 0 0 !important; margin: 0 !important; border: 0 !important; border-top: 1px solid rgba(242,236,220,.25) !important; background: none !important;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-sequence { order: 1; color: rgba(242,236,220,.75) !important; font: 600 10px/1 var(--tb-text) !important; letter-spacing: 0 !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-views {
  order: 2; position: static !important; transform: none !important; display: inline-flex !important; align-items: center !important; gap: 4px !important;
  margin: 0 0 0 auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
  color: var(--tb-accent) !important; font: 700 11px/1 var(--tb-display) !important; letter-spacing: -.01em !important; text-transform: none !important;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-views svg { width: 12px !important; height: 12px !important; color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-views :where(b, small) { color: inherit !important; font: inherit !important; letter-spacing: inherit !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-heart {
  position: absolute !important; top: calc(-1 * (100% + 1000px)); /* reposicionado abaixo */
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-meta-wrap { position: static !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-meta { position: absolute !important; left: 11px !important; right: 11px !important; bottom: 11px !important; z-index: 2; pointer-events: none; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-heart {
  position: absolute !important; top: 9px !important; right: 9px !important; bottom: auto !important; left: auto !important; z-index: 3; pointer-events: auto;
  display: grid !important; place-items: center !important; width: 28px !important; height: 28px !important; margin: 0 !important; padding: 0 !important;
  border: 1px solid rgba(242,236,220,.35) !important; border-radius: 50% !important; background: rgba(7,21,29,.55) !important; color: var(--tb-cream) !important;
  opacity: 0; transition: opacity .25s, background .2s, color .2s !important;
}
:root body .gallery-site.tb-site.tb-site .thumbnail-card:hover .thumbnail-heart, :root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-heart:focus-visible,
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-heart:is(.is-saved, .saved, [aria-pressed="true"]) { opacity: 1; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-heart:hover { background: var(--tb-accent) !important; color: #07151d !important; border-color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-heart svg { width: 13px !important; height: 13px !important; }
@media (hover: none) { :root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-heart { opacity: 1; } }
/* ferramentas de admin continuam por cima */
.tb-cover-actions { bottom: 40px !important; }
.tb-pick { z-index: 4 !important; }
body.tb-selecting .thumbnail-heart { display: none !important; }
/* ajuste: legenda embaixo pelo flex do cartão (o coração fica preso ao cartão, no alto) */
:root body .gallery-site.tb-site.tb-site .thumbnail-card { display: flex !important; flex-direction: column !important; justify-content: flex-end !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-meta-wrap { position: static !important; z-index: 2 !important; width: auto !important; margin: auto 0 0 !important; padding: 0 11px 11px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-card .thumbnail-meta { position: static !important; width: auto !important; left: auto !important; right: auto !important; bottom: auto !important; }

/* ================= página do ano (lista de álbuns): cartões "cinema" ================= */
:root body .gallery-site.tb-site.tb-site .month-browser-title > div:first-child > p {
  display: inline-flex !important; align-items: center !important; gap: 10px !important; margin: 0 0 10px !important;
  color: var(--tb-accent) !important; font: 700 11px/1 var(--tb-display) !important; letter-spacing: .2em !important; text-transform: lowercase !important;
}
:root body .gallery-site.tb-site.tb-site .month-browser-title > div:first-child > p::before { content: "" !important; display: block !important; width: 26px; height: 2px; border-radius: 2px; background: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .month-browser-title > div:first-child > span { display: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-gallery-slot:has(> .browser-album-grid) { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid, :root body .gallery-site.tb-site.tb-site .browser-album-grid.is-list {
  display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 16px !important; padding: 5px !important; margin: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
@media (max-width: 1024px) { :root body .gallery-site.tb-site.tb-site .browser-album-grid, :root body .gallery-site.tb-site.tb-site .browser-album-grid.is-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .browser-album-grid, :root body .gallery-site.tb-site.tb-site .browser-album-grid.is-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a {
  position: relative !important; display: block !important; aspect-ratio: 3 / 4.4 !important; min-height: 0 !important; height: auto !important; padding: 0 !important; margin: 0 !important;
  overflow: hidden !important; border: 0 !important; border-radius: 6px !important; background: #0d1c24 !important; box-shadow: none !important;
  outline: 1.5px solid rgba(242, 236, 220, .28) !important; outline-offset: 4px !important; transform: none !important; transition: outline-color .3s !important;
  grid-template-columns: none !important; text-decoration: none !important;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a:hover { outline-color: var(--tb-accent) !important; border: 0 !important; transform: none !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > span { position: absolute !important; inset: 0 !important; display: block !important; width: auto !important; height: auto !important; aspect-ratio: auto !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; overflow: hidden !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > span img {
  width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; border: 0 !important; border-radius: 0 !important;
  filter: saturate(.85) !important; transition: transform .7s var(--tb-ease), filter .4s !important;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a:hover > span img { transform: scale(1.05) !important; filter: saturate(1.05) !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > span::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(7,21,29,.55) 0%, rgba(7,21,29,0) 22%, rgba(7,21,29,0) 45%, rgba(7,21,29,.92) 100%); }
/* contagem de fotos: embaixo à direita, azul, mesma fonte do título, com a linha fina */
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > span > i {
  position: absolute !important; z-index: 2; left: 11px !important; right: 11px !important; bottom: 11px !important; top: auto !important;
  display: block !important; padding: 7px 0 0 !important; margin: 0 !important; border: 0 !important; border-top: 1px solid rgba(242,236,220,.25) !important;
  border-radius: 0 !important; background: none !important; box-shadow: none !important; text-align: right !important;
  color: var(--tb-accent) !important; font: 700 11px/1 var(--tb-display) !important; font-style: normal !important; letter-spacing: -.01em !important; text-transform: none !important;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div {
  position: absolute !important; inset: 0 !important; z-index: 3; display: flex !important; flex-direction: column !important;
  min-height: 0 !important; padding: 11px 11px 32px !important; margin: 0 !important; background: none !important; border: 0 !important; pointer-events: none;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div small {
  display: flex !important; align-items: center !important; gap: 7px !important; margin: 0 !important; color: var(--tb-cream) !important;
  font: 700 9px/1.2 var(--tb-text) !important; letter-spacing: .18em !important; text-transform: uppercase !important; white-space: nowrap; overflow: hidden;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div small::before { content: ""; flex: none; width: 14px; height: 1.5px; background: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div strong {
  margin: auto 0 7px !important; color: #fff !important; font: 700 13.5px/1.18 var(--tb-display) !important; letter-spacing: -.01em !important;
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div em {
  position: absolute !important; left: 11px !important; bottom: 11px !important; display: inline-flex !important; align-items: center !important; gap: 5px !important; margin: 0 !important;
  color: rgba(242,236,220,.75) !important; font: 600 10px/1 var(--tb-text) !important; font-style: normal !important; letter-spacing: 0 !important; text-transform: lowercase !important;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div em svg { width: 12px !important; height: 12px !important; transition: transform .3s; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a:hover > div em svg { transform: translateX(3px); }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > :where(div, span) { align-self: stretch !important; justify-self: stretch !important; height: auto !important; width: auto !important; }

/* ================= página da categoria (escolher o ano) ================= */
:root body .gallery-site.tb-site.tb-site .tb-year-cover { display: none; }
:root body .gallery-site.tb-site.tb-site .tb-cats:has(.tb-catpage-head) > .tb-block-head { display: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats:has(.tb-catpage-head) .category-list { border: 0 !important; background: none !important; }
.tb-catpage-head { padding: 6px 0 20px; margin: 0 0 22px; border-bottom: 1.5px solid var(--tb-line); }
.tb-catpage-head p { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--tb-accent); font: 700 11px/1 var(--tb-display); letter-spacing: .2em; text-transform: lowercase; }
.tb-catpage-head p::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .tb-catpage-head h2 { margin: 0 0 8px !important; color: var(--tb-cream) !important; font: 700 clamp(28px, 3.4vw, 40px)/1.05 var(--tb-display) !important; letter-spacing: -.02em !important; text-transform: none !important; }
.tb-catpage-head small { color: var(--tb-muted); font: 600 12px/1 var(--tb-text); }
:root body .gallery-site.tb-site.tb-site .tb-choose-year { margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-choose-year span { color: var(--tb-cream) !important; font: 700 16px/1 var(--tb-display) !important; letter-spacing: 0 !important; text-transform: none !important; opacity: 1 !important; }
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 16px !important; padding: 5px !important; }
@media (max-width: 1024px) { :root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons a {
  position: relative !important; display: block !important; aspect-ratio: 3 / 4.4 !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
  overflow: hidden !important; border: 0 !important; border-radius: 6px !important; background: #0d1c24 !important; box-shadow: none !important;
  outline: 1.5px solid rgba(242,236,220,.28) !important; outline-offset: 4px !important; transform: none !important; transition: outline-color .3s !important; text-decoration: none !important;
}
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons a:hover { outline-color: var(--tb-accent) !important; transform: none !important; }
:root body .gallery-site.tb-site.tb-site .category-direct-years .tb-year-cover {
  display: block; position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover;
  border: 0 !important; border-radius: 0 !important; filter: saturate(.85); transition: transform .7s var(--tb-ease), filter .4s;
}
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons a:hover .tb-year-cover { transform: scale(1.05); filter: saturate(1.05); }
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons a::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(7,21,29,0) 35%, rgba(7,21,29,.92) 100%); }
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons strong {
  position: absolute !important; z-index: 2; left: 11px; right: 11px; bottom: 36px; color: var(--tb-cream) !important; font: 800 clamp(26px, 2.6vw, 34px)/1 var(--tb-display) !important; letter-spacing: -.03em !important;
}
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons small {
  position: absolute !important; z-index: 2; left: 11px; right: 11px; bottom: 11px; padding-top: 7px; border-top: 1px solid rgba(242,236,220,.25);
  color: var(--tb-accent) !important; font: 700 11px/1 var(--tb-display) !important; letter-spacing: -.01em !important;
}
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons span {
  position: absolute !important; z-index: 2; top: 10px; right: 10px; display: grid !important; place-items: center; width: 28px; height: 28px; margin: 0 !important;
  border: 1px solid rgba(242,236,220,.35); border-radius: 50%; background: rgba(7,21,29,.5) !important; color: var(--tb-cream) !important; transition: background .2s, color .2s;
}
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons a:hover span { background: var(--tb-accent) !important; color: #07151d !important; border-color: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons span svg { width: 14px !important; height: 14px !important; }
:root body .gallery-site.tb-site.tb-site .tb-cats:has(.tb-catpage-head) .archive-statline { display: none !important; }

/* ================= página do ano: lista de álbuns (linhas organizadas) ================= */
:root body .gallery-site.tb-site.tb-site .browser-album-grid, :root body .gallery-site.tb-site.tb-site .browser-album-grid.is-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 28px !important; padding: 0 !important; border-top: 1.5px solid var(--tb-line) !important;
}
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .browser-album-grid, :root body .gallery-site.tb-site.tb-site .browser-album-grid.is-list { grid-template-columns: 1fr !important; } }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a {
  display: grid !important; grid-template-columns: 76px minmax(0, 1fr) !important; align-items: center !important; gap: 18px !important;
  aspect-ratio: auto !important; padding: 14px 6px !important; overflow: visible !important;
  border: 0 !important; border-bottom: 1px solid var(--tb-line) !important; border-radius: 0 !important; background: none !important; outline: 0 !important;
  transition: background .25s !important;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a:hover { background: rgba(242,236,220,.04) !important; outline: 0 !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > span {
  position: relative !important; inset: auto !important; display: block !important; width: 76px !important; aspect-ratio: 3 / 4 !important; overflow: hidden !important;
  border-radius: 5px !important; outline: 1.5px solid rgba(242,236,220,.28); outline-offset: 3px; transition: outline-color .3s;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a:hover > span { outline-color: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > span::after { display: none !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > span > i { display: none !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div {
  position: relative !important; inset: auto !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center !important;
  gap: 6px 16px !important; padding: 0 !important; pointer-events: auto;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div small { grid-column: 1; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div strong { grid-column: 1; margin: 0 !important; font-size: 15px !important; -webkit-line-clamp: 2; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div em {
  position: static !important; grid-column: 2; grid-row: 1 / span 3; display: grid !important; place-items: center !important; width: 34px; height: 34px;
  border: 1px solid var(--tb-line); border-radius: 50%; font-size: 0 !important; color: var(--tb-cream) !important; transition: background .2s, color .2s, border-color .2s;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a:hover > div em { background: var(--tb-accent); border-color: var(--tb-accent); color: #07151d !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div em svg { width: 15px !important; height: 15px !important; transform: none !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div .tb-row-count { grid-column: 1; color: var(--tb-accent); font: 700 11.5px/1 var(--tb-display); letter-spacing: -.01em; }
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons strong { font-size: 24px !important; white-space: nowrap; }
:root body .gallery-site.tb-site.tb-site .category-direct-years .category-year-buttons small { font-size: 10.5px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root body .gallery-site.tb-site.tb-site .tb-cats:has(.tb-catpage-head) { margin-top: 0 !important; padding-top: 0 !important; }
/* setas da lista de álbuns: centralizadas na linha, ícone no meio do círculo */
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a { padding-right: 14px !important; }
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div em {
  align-self: center !important; justify-self: end !important; width: 36px !important; height: 36px !important; padding: 0 !important; line-height: 0 !important; flex: none;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div em svg {
  display: block !important; width: 16px !important; height: 16px !important; margin: 0 !important; position: static !important; vertical-align: 0 !important; top: auto !important; left: auto !important;
}
:root body .gallery-site.tb-site.tb-site .browser-album-grid > a > div em { display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0 !important; gap: 0 !important; }

/* páginas internas: faixa do banner encaixada sob o menu, sem cantos arredondados nem emenda */
:root body .gallery-site.tb-site.tb-site .tb-top:not(.is-over) { border-bottom: 0 !important; background: linear-gradient(180deg, rgba(7,21,29,.78), rgba(7,21,29,.45)) !important; }
:root body .gallery-site.tb-site.tb-site .tb-band { margin-top: -75px !important; height: clamp(230px, 24vw, 340px) !important; border: 0 !important; border-radius: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-band img { border: 0 !important; border-radius: 0 !important; outline: 0 !important; box-shadow: none !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
:root body .gallery-site.tb-site.tb-site .tb-band::before { content: ""; position: absolute; inset: 0 0 auto; height: 110px; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(7,21,29,.55), transparent); }
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .tb-band { margin-top: -62px !important; height: 190px !important; } }

/* páginas internas: o mesmo banner da capa, menor; menu por cima igual à capa */
.tb-hero-wrap.is-mini { height: min(40vw, 560px) !important; min-height: 280px !important; margin-bottom: 8px; }
.tb-hero-wrap.is-mini .tb-hero .tb-bg, .tb-hero-wrap.is-mini .tb-hero-art > img.tb-logo-layer { animation: none !important; }
@media (max-width: 760px) { .tb-hero-wrap.is-mini { height: 62vw !important; min-height: 240px !important; } .tb-hero-wrap.is-mini .tb-hero-art { width: max(100cqw * 1.25, 100cqh * 1.9048) !important; } }
.tb-hero-wrap.is-mini { height: min(42vw, 640px) !important; }
.tb-hero-wrap.is-mini .tb-hero-art { top: auto !important; bottom: 0 !important; transform: translate(-50%, 9%) !important; }
.tb-hero-wrap.is-mini .tb-hero .tb-bg, .tb-hero-wrap.is-mini .tb-hero-art > img.tb-logo-layer { transform: none !important; opacity: 1 !important; filter: none !important; }
.tb-hero-wrap.is-mini .tb-hero .tb-bg { -webkit-mask-image: linear-gradient(180deg, #000 80%, transparent 99%) !important; mask-image: linear-gradient(180deg, #000 80%, transparent 99%) !important; }
.tb-hero-wrap.is-mini .tb-hero-art > img.tb-logo-layer { filter: drop-shadow(0 4px 18px rgba(0,0,0,.35)) !important; }
.tb-hero-wrap.is-mini { overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 82%, transparent 100%); mask-image: linear-gradient(180deg, #000 82%, transparent 100%); }
.tb-hero-wrap.is-mini { -webkit-mask-image: linear-gradient(180deg, #000 93%, transparent 100%) !important; mask-image: linear-gradient(180deg, #000 93%, transparent 100%) !important; }
.tb-hero-wrap.is-mini .tb-hero-art { transform: translate(-50%, 6%) !important; }

/* banner das páginas internas: bem menor, imagem inteira no centro e laterais em blur */
.tb-hero-wrap.is-mini { height: clamp(260px, 26vw, 380px) !important; min-height: 0 !important; overflow: hidden !important; }
.tb-hero-wrap.is-mini::before {
  content: ""; position: absolute; inset: -40px; z-index: 0; pointer-events: none;
  background: url(images/tudo/bg-bu.webp) center 40% / cover no-repeat; filter: blur(28px) saturate(1.1) brightness(.8); transform: scale(1.08);
}
.tb-hero-wrap.is-mini .tb-hero { position: relative; z-index: 1; height: 100%; }
.tb-hero-wrap.is-mini .tb-hero-art {
  top: 50% !important; bottom: auto !important; width: calc(100cqh * 1.9048) !important; transform: translate(-50%, -50%) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}
.tb-hero-wrap.is-mini .tb-hero .tb-bg { -webkit-mask-image: none !important; mask-image: none !important; }
@media (max-width: 760px) { .tb-hero-wrap.is-mini { height: 52vw !important; } .tb-hero-wrap.is-mini .tb-hero-art { width: calc(100cqh * 1.9048) !important; } }
.tb-hero-wrap.is-mini { -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%) !important; mask-image: linear-gradient(180deg, #000 72%, transparent 100%) !important; }
.tb-hero-wrap.is-mini { height: clamp(320px, 34vw, 520px) !important; }
@media (max-width: 760px) { .tb-hero-wrap.is-mini { height: 62vw !important; } }

/* laterais: continuação da própria foto (a borda da imagem espelhada e esticada), quase sem blur */
.tb-hero-wrap.is-mini::before { display: none !important; }
.tb-hero-wrap.is-mini .tb-side {
  position: absolute; top: 0; bottom: 0; z-index: 0; pointer-events: none;
  width: calc(50% - 100cqh * .9524 + 4px);
  background: url(images/tudo/bg-bu.webp) no-repeat; background-size: calc((50cqw - 100cqh * .9524) / .16) 100%;
  transform: scaleX(-1); filter: blur(2.5px) saturate(1.05);
}
.tb-hero-wrap.is-mini .tb-side-l { left: 0; background-position: left center; }
.tb-hero-wrap.is-mini .tb-side-r { right: 0; background-position: right center; }
.tb-hero-wrap.is-mini .tb-hero-art { z-index: 1;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%) !important; mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%) !important; }
/* laterais: usa uma faixa de dentro da foto (sem a borda escura/clara do filme) e esconde a emenda */
.tb-hero-wrap.is-mini .tb-side { --s: calc((50cqw - 100cqh * .9524) / .14); background-size: var(--s) 100%; width: calc(50% - 100cqh * .9524 + 40px); filter: blur(3px) saturate(1.05) brightness(.92); }
.tb-hero-wrap.is-mini .tb-side-l { background-position: calc(var(--s) * -.05) center; }
.tb-hero-wrap.is-mini .tb-side-r { background-position: calc(100% + var(--s) * .05) center; }
.tb-hero-wrap.is-mini .tb-hero-art { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%) !important; mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%) !important; }
/* sem neve nas páginas internas */
.tb-hero-wrap.is-mini .tb-snow { display: none !important; }
.tb-hero-wrap.is-mini .tb-hero-art { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 84%, transparent 99%) !important; mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 84%, transparent 99%) !important; }
.tb-hero-wrap.is-mini .tb-side-r { width: calc(50% - 100cqh * .9524 + 170px) !important; background-position: calc(100% + var(--s) * .12) center !important; }
.tb-hero-wrap.is-mini .tb-side-r { --s: calc((50cqw - 100cqh * .9524 + 170px) / .13) !important; background-size: var(--s) 100% !important; background-position: calc(100% + var(--s) * .1) center !important; }
/* lado esquerdo: mesma receita do direito (mais sobreposição, amostra de dentro da foto, fade maior) */
.tb-hero-wrap.is-mini .tb-side-l { --s: calc((50cqw - 100cqh * .9524 + 170px) / .13) !important; width: calc(50% - 100cqh * .9524 + 170px) !important; background-size: var(--s) 100% !important; background-position: calc(var(--s) * -.1) center !important; }
.tb-hero-wrap.is-mini .tb-hero-art { -webkit-mask-image: linear-gradient(90deg, transparent 1%, #000 16%, #000 84%, transparent 99%) !important; mask-image: linear-gradient(90deg, transparent 1%, #000 16%, #000 84%, transparent 99%) !important; }
/* esconde a borda de filme no topo/base da foto */
.tb-hero-wrap.is-mini .tb-hero-art { width: calc(100cqh * 1.9048 * 1.08) !important; }
.tb-hero-wrap.is-mini .tb-side { top: -4% !important; bottom: -4% !important; }
.tb-hero-wrap.is-mini .tb-hero-art { transform: translate(-50%, -54%) !important; }
.tb-hero-wrap.is-mini { -webkit-mask-image: linear-gradient(180deg, #000 84%, transparent 100%) !important; mask-image: linear-gradient(180deg, #000 84%, transparent 100%) !important; }

/* ================= página da foto: arrumação do layout atual ================= */
.tb-photo-title { margin: 0 0 14px; }
.tb-photo-title p { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--tb-accent); font: 700 11px/1 var(--tb-display); letter-spacing: .2em; text-transform: lowercase; }
.tb-photo-title p::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .tb-photo-title h1 { margin: 0 !important; max-width: 820px; color: #fdfce6 !important; font: 700 clamp(20px, 2.2vw, 28px)/1.2 var(--tb-display) !important; letter-spacing: -.01em !important; text-transform: none !important; }
/* barra de cima */
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar { padding: 0 0 16px !important; margin: 0 0 26px !important; border-bottom: 1.5px solid var(--tb-line) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-pos { color: #d3dde1 !important; font: 600 13px/1 var(--tb-text) !important; letter-spacing: .02em !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-pos b { color: #fdfce6; font: 800 15px/1 var(--tb-display); }
:root body .gallery-site.tb-site.tb-site .cpg-photo-back { color: #fdfce6 !important; background: rgba(7,21,29,.55) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(a, button) {
  display: inline-grid !important; place-items: center !important; width: 40px !important; height: 40px !important; padding: 0 !important;
  border: 1px solid rgba(253,252,230,.3) !important; border-radius: 50% !important; background: rgba(7,21,29,.55) !important; color: #fdfce6 !important; box-shadow: none !important;
  transition: background .2s, color .2s, border-color .2s !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(a, button):hover { background: #fdfce6 !important; color: #07151d !important; border-color: #fdfce6 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right img { width: 17px !important; height: 17px !important; border: 0 !important; filter: brightness(0) invert(1) !important; opacity: .95 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(a, button):hover img { filter: brightness(0) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right > span:not(:last-child) { margin-right: 4px; }
/* foto: moldura fina afastada, igual aos cartões */
:root body .gallery-site.tb-site.tb-site .cpg-photo-stage img {
  border: 0 !important; border-radius: 6px !important; outline: 1.5px solid rgba(253,252,230,.3) !important; outline-offset: 6px !important;
  box-shadow: 0 30px 70px -25px rgba(0,0,0,.75) !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-stage-nav { background: rgba(7,21,29,.55) !important; color: #fdfce6 !important; border-color: rgba(253,252,230,.3) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-stage-nav:hover { background: #fdfce6 !important; color: #07151d !important; }
/* faixa de baixo: sem caixa escura; miniaturas como cartões e ações em pílulas */
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip {
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 20px !important; flex-wrap: wrap;
  margin-top: 34px !important; padding: 22px 0 0 !important; background: none !important; border: 0 !important; border-top: 1.5px solid var(--tb-line) !important; border-radius: 0 !important; box-shadow: none !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink img {
  width: 58px !important; height: 80px !important; object-fit: cover !important; border: 0 !important; border-radius: 5px !important;
  outline: 1.5px solid rgba(253,252,230,.25) !important; outline-offset: 3px !important; opacity: .6; transition: opacity .2s, outline-color .2s !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink:hover img { opacity: 1; outline-color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip :where(.prev_strip, .next_strip) img { filter: brightness(0) invert(1) !important; opacity: .9 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip :where(.prev_strip, .next_strip) a { display: inline-grid !important; place-items: center !important; width: 38px !important; height: 38px !important; border-radius: 50% !important; border: 1px solid rgba(253,252,230,.3) !important; background: rgba(7,21,29,.55) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta { display: flex !important; align-items: center !important; gap: 8px !important; padding: 0 !important; border: 0 !important; margin: 0 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta::before { display: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-current-views { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-right: 8px !important; color: #d3dde1 !important; font: 600 13px/1 var(--tb-text) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-current-views b { color: #fdfce6 !important; font: 800 14px/1 var(--tb-display) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-current-views small { color: inherit !important; font: inherit !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta :where(.cpg-current-heart, .tb-dl) {
  position: static !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; width: auto !important; height: 40px !important; padding: 0 16px !important; opacity: 1 !important;
  border: 1px solid rgba(253,252,230,.3) !important; border-radius: 999px !important; background: rgba(7,21,29,.55) !important; color: #fdfce6 !important;
  font: 700 13px/1 var(--tb-display) !important; text-decoration: none !important; transition: background .2s, color .2s !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta .tb-dl { background: var(--tb-accent) !important; border-color: var(--tb-accent) !important; color: #07151d !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta :where(.cpg-current-heart, .tb-dl):hover { background: #fdfce6 !important; color: #07151d !important; border-color: #fdfce6 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta :where(.cpg-current-heart, .tb-dl) svg { width: 16px !important; height: 16px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(#pic_info_button, #slideshow_button) { border: 0 !important; background: none !important; width: auto !important; height: auto !important; padding: 0 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #pic_info_button img, :root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #slideshow_button img { filter: brightness(0) invert(1) !important; -webkit-filter: brightness(0) invert(1) !important; border-radius: 0 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #pic_info_button a:hover img, :root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right #slideshow_button a:hover img { filter: brightness(0) !important; -webkit-filter: brightness(0) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta :where(.cpg-current-heart, .tb-dl) span { color: inherit !important; -webkit-text-fill-color: currentColor !important; font: inherit !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip { justify-content: center !important; gap: 28px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table { margin: 0 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip { flex-direction: column !important; align-items: center !important; gap: 18px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table td { padding: 0 6px !important; vertical-align: middle !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip #film { width: auto !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .tape td { padding: 0 5px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink { width: auto !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip img.strip_image { border: 0 !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > .cpg-photo-meta { position: static !important; inset: auto !important; transform: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table { position: static !important; }
/* números da página da foto na fonte do texto (Manrope) */
:root body .gallery-site.tb-site.tb-site .cpg-photo-pos b,
:root body .gallery-site.tb-site.tb-site .cpg-current-views b { font: 700 13px/1 var(--tb-text) !important; letter-spacing: 0 !important; color: #fdfce6 !important; }
/* baixar: mesmo estilo do favoritar, ícone visível */
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta .tb-dl { background: rgba(7,21,29,.55) !important; border-color: rgba(253,252,230,.3) !important; color: #fdfce6 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta .tb-dl:hover { background: #fdfce6 !important; color: #07151d !important; border-color: #fdfce6 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta :where(.tb-dl, .cpg-current-heart) svg,
:root body .gallery-site.tb-site.tb-site .cpg-photo-meta :where(.tb-dl, .cpg-current-heart) svg * { stroke: currentColor !important; fill: none !important; opacity: 1 !important; color: inherit !important; }
/* página da foto: título mais discreto; a trilha não repete o nome do álbum */
:root body .gallery-site.tb-site.tb-site .archive-breadcrumb:has(~ .tb-photo-title) > a:last-child,
.cpg-gallery-slot:has(.tb-photo-title) .archive-breadcrumb > a:last-child { display: none !important; }
.tb-photo-title { margin: 4px 0 18px !important; }
.tb-photo-title p { display: none !important; }
:root body .gallery-site.tb-site.tb-site .tb-photo-title h1 { font: 600 clamp(17px, 1.6vw, 21px)/1.3 var(--tb-display) !important; max-width: 760px; }
/* miniaturas centralizadas embaixo da foto; ações numa linha abaixo */
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip { height: auto !important; min-height: 0 !important; max-height: none !important; flex-wrap: nowrap !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table { margin: 0 auto !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > .cpg-photo-meta { width: 100% !important; justify-content: center !important; align-self: center !important; padding: 0 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .prev_strip:has(a[style*="hidden"]) { display: none !important; }
/* setas da fileira ficam fora do bloco, pra as miniaturas ficarem centradas com a foto */
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table { position: relative !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .next_strip { position: absolute !important; right: -52px; top: 50%; transform: translateY(-50%); padding: 0 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .prev_strip { position: absolute !important; left: -52px; top: 50%; transform: translateY(-50%); padding: 0 !important; display: block !important; }
/* últimos álbuns no fim da página da foto */
.tb-more-albums { margin: 40px 0 10px; }
.tb-more-albums .tb-block { padding-top: 0 !important; margin-top: 0 !important; }
:root body .gallery-site.tb-site.tb-site.cpg-page-displayimage .archive-content > .footer, :root body .gallery-site.tb-site.tb-site .cpg-gallery-slot:has(.cpg-photo-bar) ~ .footer { opacity: .5; }
/* página da foto: fim da página compacto */
:root body .gallery-site.tb-site.tb-site .cpg-gallery-slot:has(.cpg-photo-bar) #comments:empty,
:root body .gallery-site.tb-site.tb-site .cpg-gallery-slot:has(.cpg-photo-bar) #comments { margin: 0 !important; padding: 0 !important; border: 0 !important; min-height: 0 !important; height: auto !important; }
:root body .gallery-site.tb-site.tb-site .cpg-gallery-slot:has(.cpg-photo-bar) > .footer { display: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip { padding-bottom: 0 !important; }
.tb-more-albums { margin: 48px 0 0 !important; padding-top: 34px; border-top: 1.5px solid var(--tb-line); }
.tb-more-albums .tb-block { margin: 0 !important; }
:root body .gallery-site.tb-site.tb-site:has(.tb-more-albums) .tb-foot { margin-top: 56px !important; }
:root body .gallery-site.tb-site.tb-site .tb-more-albums { margin: 36px 0 0 !important; padding-top: 28px !important; }
:root body .gallery-site.tb-site.tb-site .tb-more-albums > section.tb-block { margin: 0 !important; padding: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-more-albums .tb-albums { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; }
:root body .gallery-site.tb-site.tb-site .archive-content:has(.tb-more-albums) { padding-bottom: 20px !important; }
:root body .gallery-site.tb-site.tb-site:has(.tb-more-albums) .tb-foot { margin-top: 40px !important; }
/* faixa de baixo da foto numa linha só: miniaturas no centro, ações à direita */
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip {
  display: grid !important; grid-template-columns: 1fr auto 1fr !important; align-items: center !important; gap: 16px !important;
  margin-top: 22px !important; padding: 16px 0 0 !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table { grid-column: 2; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > .cpg-photo-meta { grid-column: 3; width: auto !important; justify-content: flex-end !important; justify-self: end !important; }
:root body .gallery-site.tb-site.tb-site .tb-more-albums { margin-top: 22px !important; padding-top: 22px !important; }
@media (max-width: 900px) {
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip { grid-template-columns: 1fr !important; justify-items: center; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip > :where(table, .cpg-photo-meta) { grid-column: 1; justify-self: center !important; }
}
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > .cpg-photo-meta { padding-left: 60px !important; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > .tb-photo-views { grid-column: 1; grid-row: 1; justify-self: start; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table { grid-row: 1; }
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > .cpg-photo-meta { grid-row: 1; padding-left: 0 !important; }
:root body .gallery-site.tb-site.tb-site .tb-photo-views .cpg-current-views { margin: 0 !important; }
@media (max-width: 900px) { :root body .gallery-site.tb-site.tb-site .cpg-filmstrip > * { grid-row: auto !important; justify-self: center !important; } }
#categorias { scroll-margin-top: 90px; }
html { scroll-behavior: smooth; }

/* ================= mais vistas (ranking) ================= */
:root body .gallery-site.tb-site.tb-site .ranking-page { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-heading {
  padding: 0 0 18px !important; margin: 0 0 8px !important; background: none !important; border: 0 !important; border-bottom: 1.5px solid var(--tb-line) !important;
  border-radius: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-copy { display: grid !important; grid-template-columns: 1fr auto; align-items: end; gap: 8px 20px; padding: 0 !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-copy > p {
  grid-column: 1 / -1; display: inline-flex !important; align-items: center; gap: 10px; margin: 0 !important;
  color: var(--tb-accent) !important; font: 700 11px/1 var(--tb-display) !important; letter-spacing: .2em !important; text-transform: lowercase !important;
}
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-copy > p::before { content: "" !important; display: block !important; width: 26px; height: 2px; border-radius: 2px; background: var(--tb-accent); -webkit-mask: none !important; mask: none !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-copy > h1 { grid-column: 1; margin: 0 !important; color: #fdfce6 !important; font: 700 clamp(26px, 3vw, 36px)/1.1 var(--tb-display) !important; letter-spacing: -.02em !important; text-transform: lowercase !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-copy > span { grid-column: 1; color: #b9c8ce !important; font: 500 13px/1.4 var(--tb-text) !important; font-style: normal !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .ranking-controls { grid-column: 2; grid-row: 2 / span 2; display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
:root body .gallery-site.tb-site.tb-site .ranking-period { display: inline-flex !important; gap: 4px; padding: 4px !important; border: 1px solid rgba(253,252,230,.25) !important; border-radius: 999px !important; background: rgba(7,21,29,.45) !important; }
:root body .gallery-site.tb-site.tb-site .ranking-period a, :root body .gallery-site.tb-site.tb-site .ranking-page .public-index-back {
  display: inline-flex !important; align-items: center; height: 34px; padding: 0 16px !important; border: 0 !important; border-radius: 999px !important; background: none !important;
  color: #fdfce6 !important; font: 700 12.5px/1 var(--tb-display) !important; letter-spacing: 0 !important; text-transform: lowercase !important; text-decoration: none !important; box-shadow: none !important;
}
:root body .gallery-site.tb-site.tb-site .ranking-period a::after { display: none !important; }
:root body .gallery-site.tb-site.tb-site .ranking-period a.active { background: #fdfce6 !important; color: #07151d !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-back { height: 42px; border: 1px solid rgba(253,252,230,.25) !important; background: rgba(7,21,29,.45) !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-back:hover, :root body .gallery-site.tb-site.tb-site .ranking-period a:not(.active):hover { background: rgba(253,252,230,.12) !important; }

:root body .gallery-site.tb-site.tb-site .ranking-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 28px !important; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; }
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .ranking-list { grid-template-columns: 1fr !important; } }
:root body .gallery-site.tb-site.tb-site .ranking-list > a {
  position: relative; display: grid !important; grid-template-columns: 44px 64px minmax(0, 1fr) 36px !important; align-items: center !important; gap: 16px !important;
  min-height: 0 !important; padding: 14px 6px !important; margin: 0 !important; background: none !important; border: 0 !important; border-bottom: 1px solid var(--tb-line) !important;
  border-radius: 0 !important; box-shadow: none !important; transform: none !important; text-decoration: none !important; transition: background .2s !important;
}
:root body .gallery-site.tb-site.tb-site .ranking-list > a:hover { background: rgba(253,252,230,.04) !important; }
:root body .gallery-site.tb-site.tb-site .ranking-position { color: #fdfce6 !important; font: 800 22px/1 var(--tb-display) !important; letter-spacing: -.03em !important; opacity: 1 !important; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a:nth-child(-n+3) .ranking-position { color: var(--tb-accent) !important; }
:root body .gallery-site.tb-site.tb-site .ranking-thumb { display: block !important; width: 64px !important; aspect-ratio: 3 / 4; overflow: hidden !important; border: 0 !important; border-radius: 5px !important; outline: 1.5px solid rgba(253,252,230,.28); outline-offset: 3px; transform: none !important; background: #0d1c24; transition: outline-color .3s; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a:hover .ranking-thumb { outline-color: var(--tb-accent); }
:root body .gallery-site.tb-site.tb-site .ranking-thumb img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; border: 0 !important; border-radius: 0 !important; transform: none !important; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a > span:not(.ranking-thumb) { display: grid !important; gap: 6px; min-width: 0; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a b { color: #fdfce6 !important; font: 700 14px/1.3 var(--tb-display) !important; letter-spacing: -.01em !important; text-transform: none !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a small { color: var(--tb-accent) !important; font: 700 11.5px/1 var(--tb-display) !important; letter-spacing: -.01em !important; text-transform: lowercase !important; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a :where(em, i) { display: none !important; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a > svg {
  box-sizing: border-box; width: 36px !important; height: 36px !important; padding: 9px; border: 1px solid var(--tb-line); border-radius: 50%; color: #fdfce6 !important; stroke: currentColor;
  transition: background .2s, color .2s, border-color .2s;
}
:root body .gallery-site.tb-site.tb-site .ranking-list > a:hover > svg { background: var(--tb-accent); border-color: var(--tb-accent); color: #07151d !important; }
:root body .gallery-site.tb-site.tb-site .ranking-page .archive-pagination { margin-top: 24px !important; }
@media (max-width: 760px) { :root body .gallery-site.tb-site.tb-site .ranking-page .public-index-copy { grid-template-columns: 1fr; } :root body .gallery-site.tb-site.tb-site .ranking-page .ranking-controls { grid-column: 1; grid-row: auto; flex-wrap: wrap; } }
:root body .gallery-site.tb-site.tb-site .ranking-position { font: 700 20px/1 var(--tb-text) !important; letter-spacing: 0 !important; }
:root body .gallery-site.tb-site.tb-site .ranking-period a::before { display: none !important; content: none !important; }
:root body .gallery-site.tb-site.tb-site .ranking-list > a small { font: 600 12px/1 var(--tb-text) !important; }
/* paginação em botões */
:root body .gallery-site.tb-site.tb-site .archive-pagination { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; flex-wrap: wrap; padding: 18px 0 0 !important; border: 0 !important; border-top: 1.5px solid var(--tb-line) !important; background: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination .cpg-tabs-count { color: #b9c8ce !important; font: 500 13px/1 var(--tb-text) !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination > span:not(.cpg-tabs-count) { display: contents !important; font-size: 0 !important; border: 0 !important; background: none !important; padding: 0 !important; }
.tb-pages { display: inline-flex; gap: 6px; }
:root body .gallery-site.tb-site.tb-site .tb-pages a {
  display: inline-grid !important; place-items: center !important; min-width: 40px; height: 40px; padding: 0 12px !important; border: 1px solid rgba(253,252,230,.28) !important; border-radius: 999px !important;
  background: rgba(7,21,29,.45) !important; color: #fdfce6 !important; font: 700 14px/1 var(--tb-text) !important; text-decoration: none !important; transition: background .2s, color .2s;
}
:root body .gallery-site.tb-site.tb-site .tb-pages a:hover { background: rgba(253,252,230,.12) !important; }
:root body .gallery-site.tb-site.tb-site .tb-pages a.is-on { background: #fdfce6 !important; color: #07151d !important; border-color: #fdfce6 !important; }
/* ranking: estrela azul no lugar do coração */
:root body .gallery-site.tb-site.tb-site .ranking-page .public-index-copy > p::before {
  width: 14px !important; height: 14px !important; border-radius: 0 !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2336c1da' d='M12 1.5l2.9 7.1 7.6.5-5.9 4.8 1.9 7.4L12 17.2l-6.5 4.1 1.9-7.4L1.5 9.1l7.6-.5z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* miniaturas do álbum: mais respiro entre as fotos */
:root body .gallery-site.tb-site.tb-site .thumbnail-grid { gap: 26px 22px !important; padding: 6px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-grid[data-arq-size="small"] { gap: 20px 16px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-grid[data-arq-size="small"] .thumbnail-meta { font-size: 9px !important; }
:root body .gallery-site.tb-site.tb-site .thumbnail-grid[data-arq-size="small"] .thumbnail-sequence { font-size: 9px !important; }
/* paginação: lista de páginas do Coppermine (com … e seta) em botões redondos, centralizada */
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination { flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; gap: 6px !important; text-align: center; }
:root body .gallery-site.tb-site.tb-site .archive-pagination .cpg-tabs-count { flex: 0 0 100% !important; margin: 0 0 8px !important; text-align: center !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination:has(> b.active) .tb-pages { display: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination > :where(a, b) {
  display: inline-grid !important; place-items: center !important; min-width: 40px; height: 40px; padding: 0 12px !important; margin: 0 !important;
  border: 1px solid rgba(253,252,230,.28) !important; border-radius: 999px !important; background: rgba(7,21,29,.45) !important;
  color: #fdfce6 !important; font: 700 14px/1 var(--tb-text) !important; letter-spacing: 0 !important; text-decoration: none !important; box-shadow: none !important;
}
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination > a:hover { background: rgba(253,252,230,.12) !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination > b.active { background: #fdfce6 !important; color: #07151d !important; border-color: #fdfce6 !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination > b.disabled { border: 0 !important; background: none !important; min-width: 20px; padding: 0 !important; color: #b9c8ce !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination > a img { width: 14px !important; height: 14px !important; filter: brightness(0) invert(1) !important; border: 0 !important; }
/* seta de próxima página visível */
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination > a:has(img) img { display: none !important; }
:root body .gallery-site.tb-site.tb-site .archive-pagination.archive-pagination > a:has(img)::after { content: "\203A"; font: 700 18px/1 var(--tb-text); color: #fdfce6; }

/* grão só no fundo: fica atrás do conteúdo, nunca por cima das fotos */
.tb-grain { z-index: -1 !important; }

/* página da foto: todos os botões redondos iguais, hover limpo e dica em português */
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn {
  position: relative !important; display: inline-grid !important; place-items: center !important; width: 40px !important; height: 40px !important; min-width: 40px !important; padding: 0 !important; margin: 0 !important;
  border: 1px solid rgba(253,252,230,.3) !important; border-radius: 50% !important; background: rgba(7,21,29,.55) !important; color: #fdfce6 !important;
  font-size: 0 !important; line-height: 0 !important; text-decoration: none !important; box-shadow: none !important; overflow: visible !important;
  transition: background .18s, border-color .18s, color .18s, transform .18s !important;
}
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn:hover, :root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn:focus-visible { background: #fdfce6 !important; border-color: #fdfce6 !important; color: #07151d !important; transform: translateY(-1px); outline: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn :where(span) { display: contents !important; font-size: 0 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn img { width: 17px !important; height: 17px !important; border: 0 !important; margin: 0 !important; filter: brightness(0) invert(1) !important; -webkit-filter: brightness(0) invert(1) !important; opacity: .95 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn:hover img, :root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn:focus-visible img { filter: brightness(0) !important; -webkit-filter: brightness(0) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn svg { width: 17px !important; height: 17px !important; stroke: currentColor !important; fill: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn[data-tb-tip]::after {
  content: attr(data-tb-tip); position: absolute; top: calc(100% + 9px); left: 50%; z-index: 40; transform: translate(-50%, -4px);
  padding: 7px 11px; border-radius: 8px; background: #fdfce6; color: #07151d; font: 700 11.5px/1 var(--tb-text); letter-spacing: 0; white-space: nowrap;
  box-shadow: 0 8px 22px -8px rgba(0,0,0,.55); opacity: 0; pointer-events: none; transition: opacity .15s, transform .15s;
}
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn[data-tb-tip]:hover::after, :root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn[data-tb-tip]:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn.is-danger:hover { background: #e5605a !important; border-color: #e5605a !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn.is-danger:hover img { filter: brightness(0) invert(1) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(li, ul, .buttonlist, .cpg-admin-strip, #pic_info_button, #slideshow_button) { background: none !important; border: 0 !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(#pic_info_button, #slideshow_button) a.tb-pbtn { background: rgba(7,21,29,.55) !important; border-color: rgba(253,252,230,.3) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(#pic_info_button, #slideshow_button) a.tb-pbtn:hover { background: #fdfce6 !important; border-color: #fdfce6 !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right .tb-pbtn[data-tb-tip]::after { text-transform: none !important; }
/* botões da foto: mesmo visual para todos (inclusive info e apresentação) */
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(#pic_info_button, #slideshow_button) { display: contents !important; }
:root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn { display: inline-grid !important; place-items: center !important; width: 40px !important; height: 40px !important; background: rgba(7,21,29,.55) !important; border: 1px solid rgba(253,252,230,.3) !important; color: #fdfce6 !important; }
:root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn:hover, :root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn:focus-visible { background: #fdfce6 !important; border-color: #fdfce6 !important; color: #07151d !important; }
:root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn.is-danger:hover { background: #e5605a !important; border-color: #e5605a !important; color: #fff !important; }
:root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn > img { display: block !important; width: 17px !important; height: 17px !important; margin: 0 !important; vertical-align: 0 !important; position: static !important; filter: brightness(0) invert(1) !important; }
:root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn:hover > img, :root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn:focus-visible > img { filter: brightness(0) !important; }
:root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn.is-danger:hover > img { filter: brightness(0) invert(1) !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(.buttonlist ul) { display: flex !important; gap: 6px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
:root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right :where(.buttonlist li) { display: block !important; margin: 0 !important; padding: 0 !important; line-height: 0 !important; }

/* ids para vencer as regras antigas */
:root body .gallery-site.tb-site.tb-site :is(#tbx, .cpg-photo-bar-right) a.tb-pbtn.tb-pbtn[data-tb-tip]::after { text-transform: none !important; }
/* faixa de baixo da foto em telas menores: empilha (miniaturas, depois vistas + botões) */
@media (max-width: 1180px) {
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 16px !important; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip > * { grid-column: auto !important; grid-row: auto !important; justify-self: auto !important; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip > .tb-photo-views { order: 2; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip > .cpg-photo-meta { order: 3; padding: 0 !important; justify-content: center !important; flex-wrap: wrap; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip > table { order: 1; max-width: calc(100% - 100px); }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip #film { max-width: 100% !important; overflow: hidden !important; }
}
@media (max-width: 600px) {
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip .thumbLink img { width: 46px !important; height: 64px !important; }
  :root body .gallery-site.tb-site.tb-site .cpg-photo-bar-right { flex-wrap: wrap !important; justify-content: center !important; gap: 6px !important; }
}
@media (max-width: 1180px) {
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip { display: grid !important; grid-template-columns: auto auto !important; justify-content: center !important; align-items: center !important; column-gap: 14px !important; row-gap: 16px !important; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip > table { grid-column: 1 / -1 !important; grid-row: 1 !important; justify-self: center !important; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip > .tb-photo-views { grid-column: 1 !important; grid-row: 2 !important; }
  :root body .gallery-site.tb-site.tb-site .cpg-filmstrip.cpg-filmstrip > .cpg-photo-meta { grid-column: 2 !important; grid-row: 2 !important; }
}
/* página do ano: duas colunas, mas a ordem desce a primeira coluna inteira e continua na segunda */
:root body .gallery-site.tb-site.tb-site.tb-site .browser-album-grid.is-list.is-list { display: block !important; column-count: 2; column-gap: 28px; }
:root body .gallery-site.tb-site.tb-site.tb-site .browser-album-grid.is-list.is-list > * { break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid; }
@media (max-width: 760px) {
  :root body .gallery-site.tb-site.tb-site.tb-site .browser-album-grid.is-list.is-list { column-count: 1; }
}
/* throwback: a faixa fica dentro da coluna do site (não vaza até a borda da tela) */
:root body .gallery-site.tb-site.tb-site.tb-site .tb-tb-strip { --pad: 0px; width: auto !important; margin-left: -5px !important; margin-right: -5px !important; padding-left: 5px !important; padding-right: 5px !important; scroll-padding-inline: 5px !important; }
/* lápis para renomear o álbum (ao lado do "+ Fotos") */
:root body .gallery-site .photo-browser-tools .tb-rename {
  display: inline-grid; place-items: center; width: 35px; height: 35px; margin: 0; padding: 0;
  border: 1.5px solid rgba(242, 236, 220, .32); border-radius: 999px; background: transparent; color: #f2ecdc;
  cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
:root body .gallery-site .photo-browser-tools .tb-rename:hover,
:root body .gallery-site .photo-browser-tools .tb-rename.is-on { background: #f2ecdc; border-color: #f2ecdc; color: #07151d; }
:root body .gallery-site .photo-browser-tools .tb-rename.is-busy { opacity: .5; cursor: progress; }
:root body .gallery-site .photo-browser-title h1.tb-title-editing {
  outline: none; border-radius: 10px; padding: 2px 10px; margin-left: -10px;
  background: rgba(242, 236, 220, .08); box-shadow: inset 0 0 0 1.5px rgba(242, 236, 220, .45); cursor: text;
}
/* capas e miniaturas: enquadra mais para cima, onde normalmente fica o rosto */
:root body .gallery-site :is(.tb-cine, .tb-tb, .tb-pop, .category-thumb, .category-year-buttons, .browser-album-grid, .thumbnail-grid, .updated-albums-grid, .popular-grid) img { object-position: 50% 18% !important; }
/* foto inteira na página da foto: a moldura acompanha a foto, sem cortar a altura */
:root body .gallery-site :is(#tbx, .cpg-photo-stage).cpg-photo-stage { height: auto !important; min-height: 0 !important; max-height: none !important; }
:root body .gallery-site :is(#tbx, .cpg-photo-stage).cpg-photo-stage > a { height: auto !important; max-height: none !important; }
:root body .gallery-site :is(#tbx, .cpg-photo-stage).cpg-photo-stage img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: min(80vh, 900px) !important; object-fit: contain !important; }
/* página da foto: toda foto (em pé ou deitada) com a mesma altura de 700px, sem espaço sobrando e sem cortar */
:root body .gallery-site :is(#tbx, .cpg-photo-stage).cpg-photo-stage { box-sizing: border-box !important; height: auto !important; min-height: 0 !important; padding: 30px !important; display: grid !important; place-items: center !important; }
:root body .gallery-site :is(#tbx, .cpg-photo-stage).cpg-photo-stage img { height: 700px !important; width: auto !important; max-height: none !important; max-width: 100% !important; object-fit: contain !important; }
@media (max-width: 700px) {
  :root body .gallery-site :is(#tbx, .cpg-photo-stage).cpg-photo-stage { padding: 15px !important; }
  :root body .gallery-site :is(#tbx, .cpg-photo-stage).cpg-photo-stage img { height: auto !important; max-height: 70vh !important; }
}
/* mover álbum (ao lado do lápis) */
:root body .gallery-site .photo-browser-tools .tb-move {
  display: inline-grid; place-items: center; width: 35px; height: 35px; margin: 0; padding: 0;
  border: 1.5px solid rgba(242, 236, 220, .32); border-radius: 999px; background: transparent; color: #f2ecdc;
  cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
:root body .gallery-site .photo-browser-tools .tb-move:hover,
:root body .gallery-site .photo-browser-tools .tb-move.is-on { background: #f2ecdc; border-color: #f2ecdc; color: #07151d; }
:root body .gallery-site .photo-browser-tools .tb-move.is-busy { opacity: .5; cursor: progress; }
.tb-move-pop {
  position: absolute; z-index: 9999; width: 300px; box-sizing: border-box; padding: 16px;
  border: 1px solid rgba(253, 252, 230, .22); border-radius: 16px; background: #0b2230; color: #fdfce6;
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .8); font: 500 13px/1.3 "Manrope", system-ui, sans-serif;
}
.tb-move-pop .tb-move-title { margin: 0 0 12px; font: 700 15px/1.2 "Syne", "Manrope", sans-serif; color: #fdfce6; }
.tb-move-pop label { display: flex; flex-direction: column; gap: 5px; margin: 0 0 10px; }
.tb-move-pop label[hidden] { display: none; }
.tb-move-pop label span { color: rgba(253, 252, 230, .65); font-size: 12px; }
.tb-move-pop select, .tb-move-pop input {
  width: 100%; height: 36px; box-sizing: border-box; padding: 0 10px; border: 1px solid rgba(253, 252, 230, .25); border-radius: 9px;
  background: #07151d; color: #fdfce6; font: 500 13.5px/1 "Manrope", system-ui, sans-serif; outline: none;
}
.tb-move-pop select:focus, .tb-move-pop input:focus { border-color: #fdfce6; }
.tb-move-pop .tb-move-acoes { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.tb-move-pop .tb-move-acoes button {
  height: 34px; padding: 0 14px; border-radius: 999px; border: 1.5px solid rgba(253, 252, 230, .3); background: transparent; color: #fdfce6;
  font: 700 12.5px/1 "Syne", "Manrope", sans-serif; cursor: pointer;
}
.tb-move-pop .tb-move-acoes .tb-move-ok { background: #fdfce6; border-color: #fdfce6; color: #07151d; }
.tb-move-pop .tb-move-acoes button:disabled { opacity: .55; cursor: progress; }
/* celular: a cor que o navegador usa em volta da página (barra de status em cima,
   barra do Safari embaixo e o "puxar" da rolagem) acompanha o azul-petróleo do fundo */
html:has(.tb-site) { background: #2a5864 !important; }
/* atalhos do admin: + novo álbum (página do ano) e + novo ano (categorias) */
:root body .gallery-site .browser-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
:root body .gallery-site .browser-actions .tb-add-album {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px; margin: 0;
  border: 1.5px solid #fdfce6; border-radius: 999px; background: #fdfce6; color: #07151d;
  font: 700 14px/1 "Syne", "Manrope", sans-serif; cursor: pointer; transition: opacity .2s;
}
:root body .gallery-site .browser-actions .tb-add-album span { font-size: 18px; line-height: 1; }
:root body .gallery-site .browser-actions .tb-add-album:hover { opacity: .88; }
:root body .gallery-site .category-year-buttons .tb-add-year {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; min-height: 100%;
  padding: 16px 22px; margin: 0; border: 1.5px dashed rgba(253, 252, 230, .45); border-radius: 8px;
  background: rgba(7, 21, 29, .25); color: #fdfce6; cursor: pointer; text-align: left; transition: border-color .2s, background .2s;
}
:root body .gallery-site .category-year-buttons .tb-add-year strong { font: 800 26px/1 "Syne", "Manrope", sans-serif; }
:root body .gallery-site .category-year-buttons .tb-add-year small { font: 500 13px/1.2 "Manrope", sans-serif; color: rgba(253, 252, 230, .75); }
:root body .gallery-site .category-year-buttons .tb-add-year:hover { border-color: #fdfce6; background: rgba(7, 21, 29, .45); }
:root body .gallery-site .category-copy .tb-add-year.is-inline {
  display: inline-flex; align-items: center; gap: 6px; width: auto; margin: 8px 0 0; padding: 6px 12px;
  border: 1px dashed rgba(253, 252, 230, .45); border-radius: 999px; background: transparent; color: #fdfce6;
  font: 600 12.5px/1 "Manrope", sans-serif; cursor: pointer;
}
:root body .gallery-site .category-copy .tb-add-year.is-inline:hover { border-color: #fdfce6; }
.tb-atalho-pop form { margin: 0; }
.tb-atalho-pop .tb-atalho-dica { display: block; margin: -4px 0 10px; color: rgba(253, 252, 230, .6); font: 500 11.5px/1.4 "Manrope", sans-serif; }
@media (max-width: 700px) {
  :root body .gallery-site .browser-actions .tb-add-album { height: 40px; padding: 0 16px; font-size: 13px; }
}

/* celular: a imagem de fundo continua por baixo da barra de status e da barra
   do Safari (em vez de uma cor lisa) — a camada fixa passa um pouco das bordas */
:root body .tb-page-bg { top: -140px !important; bottom: -140px !important; left: 0 !important; right: 0 !important; }
:root body .tb-grain { top: -140px !important; bottom: -140px !important; }
/* (reforço) botões lado a lado e "+ novo álbum" preenchido, vencendo os estilos antigos */
:root body .gallery-site.tb-site.tb-site .month-browser-title .browser-actions { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; justify-content: flex-end !important; gap: 10px !important; }
:root body .gallery-site.tb-site.tb-site .month-browser-title .browser-actions .tb-add-album { background: #fdfce6 !important; color: #07151d !important; border: 1.5px solid #fdfce6 !important; height: 38px !important; padding: 0 18px !important; border-radius: 999px !important; font: 700 13.5px/1 "Syne", "Manrope", sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .month-browser-title .browser-actions .tb-add-album:hover { opacity: .88; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons .tb-add-year { background: rgba(7, 21, 29, .25) !important; border: 1.5px dashed rgba(253, 252, 230, .45) !important; color: #fdfce6 !important; border-radius: 8px !important; box-shadow: none !important; }
:root body .gallery-site.tb-site.tb-site .category-year-buttons .tb-add-year:hover { border-color: #fdfce6 !important; background: rgba(7, 21, 29, .45) !important; }
:root body .gallery-site.tb-site.tb-site .category-copy .tb-add-year.is-inline { background: transparent !important; border: 1px dashed rgba(253, 252, 230, .45) !important; color: #fdfce6 !important; border-radius: 999px !important; box-shadow: none !important; letter-spacing: 0 !important; text-transform: none !important; }
:root body .gallery-site.tb-site.tb-site .category-copy .tb-add-year.is-inline { align-self: flex-start !important; width: max-content !important; max-width: 100% !important; height: auto !important; padding: 7px 14px !important; font: 600 12.5px/1 "Manrope", sans-serif !important; }
/* bolinha do tamanho das miniaturas (só no celular) e sem o botão de idioma */
:root body .gallery-site .tb-size-dot { display: none; }
@media (max-width: 700px) {
  :root body .gallery-site.tb-site.tb-site .photo-browser-tools .thumbnail-size-switch { display: none !important; }
  :root body .gallery-site.tb-site.tb-site .photo-browser-tools .tb-size-dot {
    display: inline-grid !important; place-items: center; width: 35px; height: 35px; margin: 0; padding: 0;
    border: 1.5px solid rgba(242, 236, 220, .32); border-radius: 999px; background: transparent; color: #f2ecdc; cursor: pointer;
  }
  :root body .gallery-site.tb-site.tb-site .photo-browser-tools .tb-size-dot:active { background: #f2ecdc; color: #07151d; }
}
:root body .gallery-site .jb-lang { display: none !important; }
/* capa do álbum/categoria no celular: botões sempre visíveis, largos e fáceis de tocar */
@media (hover: none), (max-width: 700px) {
  .thumbnail-card .tb-cover-actions { opacity: 1 !important; transform: none !important; pointer-events: auto !important; flex-direction: column; gap: 5px; left: 7px; right: 7px; bottom: 40px !important; }
  .thumbnail-card .tb-cover-actions button { flex: none; width: 100%; height: 28px; padding: 0 6px; border-radius: 999px; font-size: 0 !important; line-height: 28px; white-space: nowrap; overflow: hidden; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
  .thumbnail-card .tb-cover-actions button::after { content: "★ álbum"; font: 700 10.5px/28px var(--tb-display); letter-spacing: 0; }
  .thumbnail-card .tb-cover-actions button + button::after { content: "★ categoria"; }
  .thumbnail-card .tb-cover-actions button.is-done::after { content: "✓ álbum"; }
  .thumbnail-card .tb-cover-actions button + button.is-done::after { content: "✓ categoria"; }
  .thumbnail-card .tb-cover-actions button.is-done::before { content: none !important; }
  .thumbnail-card .tb-cover-actions button.is-done::before { content: "✓ "; font: 700 10.5px/28px var(--tb-display); }
}

/* página do ano: grade de 2 colunas preenchida coluna a coluna (sem column-count, que fazia os cartões pularem de coluna no hover) */
:root body .gallery-site.tb-site.tb-site.tb-site .browser-album-grid.is-list.is-list { display: grid !important; column-count: auto !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-rows: repeat(var(--tb-rows, 1), auto) !important; grid-auto-flow: column !important; column-gap: 28px !important; align-content: start !important; }
@media (max-width: 760px) {
  :root body .gallery-site.tb-site.tb-site.tb-site .browser-album-grid.is-list.is-list { grid-template-columns: 1fr !important; grid-template-rows: none !important; grid-auto-flow: row !important; }
}

/* === Banner das páginas internas: dissolve no fundo sem divisória (2026-10-03) === */
.tb-hero-wrap.is-mini{--tb-fade:clamp(48px,11vw,190px);padding-bottom:var(--tb-fade)!important;margin-bottom:calc(var(--tb-fade) * -1)!important;box-sizing:content-box!important;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--tb-fade) * 1.9),rgba(0,0,0,.94) calc(100% - var(--tb-fade) * 1.6),rgba(0,0,0,.8) calc(100% - var(--tb-fade) * 1.3),rgba(0,0,0,.6) calc(100% - var(--tb-fade) * 1.0),rgba(0,0,0,.38) calc(100% - var(--tb-fade) * .7),rgba(0,0,0,.18) calc(100% - var(--tb-fade) * .4),rgba(0,0,0,.05) calc(100% - var(--tb-fade) * .15),transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--tb-fade) * 1.9),rgba(0,0,0,.94) calc(100% - var(--tb-fade) * 1.6),rgba(0,0,0,.8) calc(100% - var(--tb-fade) * 1.3),rgba(0,0,0,.6) calc(100% - var(--tb-fade) * 1.0),rgba(0,0,0,.38) calc(100% - var(--tb-fade) * .7),rgba(0,0,0,.18) calc(100% - var(--tb-fade) * .4),rgba(0,0,0,.05) calc(100% - var(--tb-fade) * .15),transparent 100%)!important}
.tb-hero-wrap.is-mini a,.tb-hero-wrap.is-mini button{pointer-events:auto}
.tb-hero-wrap.is-mini .tb-hero .tb-bg{-webkit-mask-image:linear-gradient(to bottom,#000 60%,rgba(0,0,0,.86) 68%,rgba(0,0,0,.64) 76%,rgba(0,0,0,.4) 84%,rgba(0,0,0,.18) 92%,rgba(0,0,0,.05) 97%,transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 60%,rgba(0,0,0,.86) 68%,rgba(0,0,0,.64) 76%,rgba(0,0,0,.4) 84%,rgba(0,0,0,.18) 92%,rgba(0,0,0,.05) 97%,transparent 100%)!important}
.tb-hero-wrap.is-mini .tb-hero .tb-side{-webkit-mask-image:linear-gradient(to bottom,#000 56%,rgba(0,0,0,.86) 64%,rgba(0,0,0,.64) 72%,rgba(0,0,0,.4) 80%,rgba(0,0,0,.18) 88%,rgba(0,0,0,.05) 93%,transparent 96%)!important;mask-image:linear-gradient(to bottom,#000 56%,rgba(0,0,0,.86) 64%,rgba(0,0,0,.64) 72%,rgba(0,0,0,.4) 80%,rgba(0,0,0,.18) 88%,rgba(0,0,0,.05) 93%,transparent 96%)!important}
.tb-hero-wrap.is-mini + *{position:relative;z-index:2}


/* === Fim do álbum: contagem, crédito e "últimos álbuns" sem linhas empilhadas (2026-10-03) === */
:root body .gallery-site.tb-site.tb-site.cpg-page-thumbnails .cpg-gallery-slot > .footer{padding-top:4px!important;font-size:11px!important}
:root body .gallery-site.tb-site.tb-site.cpg-page-thumbnails .tb-more-albums{border-top:0!important;margin-top:52px!important;padding-top:0!important}
:root body .gallery-site.tb-site.tb-site.cpg-page-thumbnails .tb-more-albums .tb-block-head{margin-bottom:18px!important}


/* === Tira de miniaturas da página da foto no celular/tablet: sem as setas laterais, centralizada (2026-10-05) === */
@media (max-width: 900px){
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .prev_strip,:root body .gallery-site.tb-site.tb-site .cpg-filmstrip .next_strip{display:none!important}
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip > table{width:auto!important;max-width:100%!important;margin:0 auto!important}
:root body .gallery-site.tb-site.tb-site .cpg-filmstrip #film{max-width:100%!important;margin:0 auto!important}
}


/* === Ícones do X e do Instagram ao lado do menu (2026-10-05) === */
.tb-social{display:inline-flex;align-items:center;gap:6px;margin-left:-20px;vertical-align:middle}
:root body .gallery-site.tb-site.tb-site .tb-social a{display:inline-grid!important;place-items:center;width:30px;height:30px;padding:0!important;margin:0!important;border:0!important;border-radius:50%;color:inherit;opacity:.9;transition:opacity .15s,transform .15s}
:root body .gallery-site.tb-site.tb-site .tb-social a::before,:root body .gallery-site.tb-site.tb-site .tb-social a::after{content:none!important;display:none!important}
:root body .gallery-site.tb-site.tb-site .tb-social a:hover{opacity:1;transform:translateY(-1px)}
:root body .gallery-site.tb-site.tb-site .tb-mobile-menu .tb-social{display:flex!important;align-items:center;gap:10px;margin:6px 6px 0!important;padding:12px 8px 6px!important;border-top:1px solid rgba(255,255,255,.14)}
:root body .gallery-site.tb-site.tb-site .tb-mobile-menu .tb-social::before{content:"siga";margin-right:auto;font-size:12px;letter-spacing:0;color:rgba(255,255,255,.6)}
:root body .gallery-site.tb-site.tb-site .tb-mobile-menu .tb-social a{width:38px!important;height:38px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;color:#f7f6f4!important;opacity:1!important;background:rgba(255,255,255,.05)}


/* === Menu do celular: mais estreito e translúcido, deixando a foto aparecer (2026-10-05) === */
:root body .gallery-site.tb-site.tb-site .tb-mobile-menu{width:min(248px,calc(100vw - 24px))!important;left:12px!important;right:auto!important;background:linear-gradient(165deg,rgba(8,22,30,.88) 0%,rgba(9,27,36,.76) 55%,rgba(12,34,45,.66) 100%)!important;-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);border:1px solid rgba(255,255,255,.16)!important;border-radius:16px!important;box-shadow:0 18px 40px rgba(0,0,0,.35)!important}
:root body .gallery-site.tb-site.tb-site .tb-mobile-menu > a[aria-current]{background:rgba(255,255,255,.12)!important}
