:root { --yellow:#ffc400; --dark:#090c0f; --text:#15191c; --muted:#6f767a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter,Arial,sans-serif; color:var(--text); background:#f4f4f1; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.container { width:min(1180px,calc(100% - 40px)); margin:auto; }
.catalog-header { position:sticky; top:0; z-index:20; background:rgba(7,9,11,.97); border-bottom:1px solid rgba(255,255,255,.08); }
.header-inner { min-height:72px; display:flex; align-items:center; gap:24px; }
.catalog-brand { margin-right:auto; }
.catalog-brand img { display:block; width:100px; height:56px; object-fit:cover; border-radius:0; -webkit-mask-image:radial-gradient(ellipse 74% 68% at center,#000 56%,transparent 100%); mask-image:radial-gradient(ellipse 74% 68% at center,#000 56%,transparent 100%); }
.header-link { color:#fff; font-size:13px; font-weight:700; }
.catalog-sketchup { min-height:42px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--yellow); border-radius:8px; color:var(--yellow); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.25px; transition:.2s ease; }
.catalog-sketchup:hover { color:#101315; background:var(--yellow); transform:translateY(-1px); }
.catalog-sketchup span { font-size:16px; }
.catalog-sketchup strong { font-size:14px; }
.header-whatsapp { padding:12px 18px; border-radius:8px; background:var(--yellow); color:#111; font-size:12px; font-weight:800; }
.catalog-hero { padding:72px 0 64px; color:#fff; background:linear-gradient(110deg,rgba(8,11,13,.97),rgba(15,19,22,.9)),url("assets/padrao-tijolos.svg"); }
.catalog-hero span { color:var(--yellow); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1.5px; }
.catalog-hero h1 { margin:12px 0 16px; font-size:clamp(42px,7vw,76px); line-height:.95; letter-spacing:-3px; }
.catalog-hero h1 em { color:var(--yellow); font-style:normal; }
.catalog-hero p { max-width:680px; margin:0; color:#c5c9cb; line-height:1.7; }
.catalog-content { padding:40px 0 80px; }
.filters { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:14px; }
.filters button { padding:11px 16px; border:1px solid #d3d3ce; border-radius:999px; color:#454b4e; background:#fff; cursor:pointer; font-size:12px; font-weight:700; }
.filters button.active { color:#111; background:var(--yellow); border-color:var(--yellow); }
.filters .catalog-sketchup { min-height:39px; margin-left:auto; padding:0 18px; border-radius:999px; color:#111; background:var(--yellow); border-color:var(--yellow); }
.filters .catalog-sketchup:hover { color:#111; background:#ffd43b; }
.catalog-search { width:min(430px,100%); display:block; margin:22px 0 16px; }
.catalog-search span { display:block; margin-bottom:7px; color:#555d61; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.catalog-search input { width:100%; min-height:48px; padding:0 46px 0 16px; border:1px solid #cfcfca; border-radius:10px; color:#15191c; background:#fff; font:inherit; font-size:13px; outline:none; box-shadow:0 6px 20px rgba(10,13,15,.04); }
.catalog-search input:focus { border-color:#d6a500; box-shadow:0 0 0 3px rgba(255,196,0,.2); }
.catalog-count { margin:0 0 22px; color:var(--muted); font-size:12px; }
.models-3d-section { padding:72px 0 88px; color:#fff; background:#0b0e10; }
.models-3d-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.models-3d-heading > div { max-width:650px; }
.models-3d-heading > div > span { color:var(--yellow); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:1.5px; }
.models-3d-heading h2 { margin:10px 0 12px; font-size:clamp(34px,5vw,56px); line-height:1; letter-spacing:-2px; }
.models-3d-heading h2 em { color:var(--yellow); font-style:normal; }
.models-3d-heading p { margin:0; color:#aeb4b7; line-height:1.65; }
.models-3d-search { width:min(340px,100%); }
.models-3d-search span { display:block; margin-bottom:7px; color:#cdd1d3; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.models-3d-search input { width:100%; min-height:47px; padding:0 16px; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:#151a1d; color:#fff; outline:none; }
.models-3d-search input:focus { border-color:var(--yellow); box-shadow:0 0 0 3px rgba(255,196,0,.12); }
.models-3d-count { margin:0 0 18px; color:#8f979b; font-size:11px; }
.models-3d-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.model-3d-card { min-width:0; min-height:155px; padding:20px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:linear-gradient(145deg,#181d20,#111517); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.model-3d-card:hover { transform:translateY(-4px); border-color:rgba(255,196,0,.7); box-shadow:0 16px 38px rgba(0,0,0,.25); }
.model-3d-icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:16px; border:1px solid rgba(255,196,0,.3); border-radius:9px; color:var(--yellow); background:rgba(255,196,0,.08); font-size:19px; font-weight:900; }
.model-3d-card h3 { min-height:34px; margin:0 0 10px; color:#fff; font-size:13px; line-height:1.3; }
.model-3d-meta { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#929a9e; font-size:10px; }
.model-3d-action { color:var(--yellow); font-weight:900; text-transform:uppercase; }
.models-3d-empty { grid-column:1/-1; padding:35px; text-align:center; color:#aeb4b7; border:1px dashed rgba(255,255,255,.15); border-radius:12px; }
.catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.catalog-card { min-width:0; overflow:hidden; border:1px solid #dfdfda; border-radius:12px; background:#fff; box-shadow:0 8px 28px rgba(10,13,15,.06); }
.catalog-card button { display:block; width:100%; padding:0; border:0; background:none; cursor:pointer; text-align:left; }
.catalog-card img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; background:#ddd; }
.card-info { padding:13px 14px 15px; }
.card-info small { color:#a87900; font-size:9px; font-weight:800; text-transform:uppercase; }
.card-info h2 { min-height:36px; margin:6px 0; font-size:14px; line-height:1.3; }
.card-info p { margin:0 0 12px; color:var(--muted); font-size:10px; }
.card-info a { display:flex; align-items:center; justify-content:center; min-height:36px; border-radius:7px; color:#111; background:var(--yellow); font-size:10px; font-weight:800; }
footer { padding:38px 0; color:#fff; background:#080a0c; }
.footer-inner { display:flex; justify-content:space-between; gap:30px; }
.footer-inner div { display:flex; flex-direction:column; gap:7px; }
.footer-inner strong { color:var(--yellow); font-size:22px; }
.footer-inner span,.footer-inner a { color:#aeb3b6; font-size:11px; }
.footer-brand-block a { display:block; }
.footer-brand-logo { display:block; width:174px; height:auto; object-fit:contain; border:0; background:transparent; }
.product-dialog { width:min(760px,calc(100% - 24px)); padding:0; overflow:hidden; border:0; border-radius:16px; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.45); }
.product-dialog::backdrop { background:rgba(0,0,0,.75); backdrop-filter:blur(4px); }
.product-dialog img { display:block; width:100%; max-height:70vh; object-fit:contain; background:#ddd; }
.dialog-close { position:absolute; top:10px; right:10px; width:38px; height:38px; border:0; border-radius:50%; color:#fff; background:rgba(0,0,0,.72); cursor:pointer; font-size:25px; }
.dialog-info { padding:20px; }
.dialog-info h2 { margin:0 0 7px; }
.dialog-info p { color:var(--muted); }
.dialog-info a { display:inline-flex; padding:13px 18px; border-radius:8px; background:var(--yellow); font-size:12px; font-weight:800; }
@media (max-width:900px) { .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:680px) {
  html,body { max-width:100%; overflow-x:hidden; }
  .container { width:calc(100% - 24px); }
  .header-inner { min-height:64px; gap:12px; }
  .catalog-brand img { width:76px; height:46px; }
  .header-link { font-size:10px; }
  .header-whatsapp { padding:10px 11px; font-size:9px; }
  .catalog-hero { padding:48px 0; }
  .catalog-hero h1 { font-size:43px; }
  .catalog-hero p { font-size:12px; }
  .catalog-content { padding:28px 0 52px; }
  .filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; scrollbar-width:none; }
  .filters::-webkit-scrollbar { display:none; }
  .filters button { flex:0 0 auto; padding:9px 12px; font-size:10px; }
  .catalog-search { width:100%; margin:16px 0 13px; }
  .catalog-search input { min-height:46px; font-size:12px; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .card-info { padding:10px; }
  .card-info h2 { min-height:32px; font-size:11px; }
  .card-info p,.card-info a { font-size:9px; }
  .footer-inner { flex-direction:column; }
  .footer-brand-logo { width:148px; }
}

/* Cabecalho compacto do catalogo no celular */
@media (max-width:680px) {
  .header-inner {
    min-height: 76px;
    padding-block: 10px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 14px;
  }

  .catalog-brand {
    width: auto;
    min-width: 0;
    margin-right: 0;
  }

  .catalog-brand img.brand-logo {
    width: 128px;
  }

  .header-whatsapp {
    display: none;
  }

  .header-link {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,196,0,.72);
    border-radius: 8px;
    color: var(--yellow);
    background: rgba(255,196,0,.07);
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
  }
}
@media (max-width:350px) { .catalog-grid { grid-template-columns:1fr; } }

.catalog-brand img {
  width:152px;
  height:58px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
  -webkit-mask-image:none;
  mask-image:none;
}
.catalog-brand { display:inline-flex; flex-direction:column; align-items:flex-start; line-height:1; }
.catalog-brand .brand-word { display:flex; align-items:baseline; white-space:nowrap; font-family:"Arial Black",Impact,sans-serif; font-size:31px; font-weight:900; font-style:italic; line-height:.82; letter-spacing:-2.8px; transform:skewX(-5deg); filter:drop-shadow(1px 2px 0 rgba(0,0,0,.8)); }
.catalog-brand .brand-inove { color:#fff; -webkit-text-stroke:.45px #fff; }
.catalog-brand .brand-3d { margin-left:3px; color:var(--yellow); letter-spacing:-2px; -webkit-text-stroke:1px #7a5c00; text-shadow:1px 1px 0 #fff,2px 2px 0 rgba(0,0,0,.9); }
.catalog-brand .brand-tagline { margin-top:6px; padding-left:2px; color:#fff; font-size:8.5px; font-weight:800; font-style:italic; letter-spacing:-.2px; white-space:nowrap; }
.catalog-brand img { display:none; }
.catalog-brand img.brand-logo { display:block; width:174px; height:auto; object-fit:contain; border:0; border-radius:0; background:transparent; -webkit-mask-image:none; mask-image:none; }
@media (max-width:680px) { .catalog-brand .brand-word { font-size:25px; } .catalog-brand .brand-tagline { font-size:6.7px; } }
@media (max-width:680px) { .catalog-brand img.brand-logo { width:138px; height:auto; } }
@media (max-width:680px) {
  .header-inner { flex-wrap:wrap; gap:10px 12px; padding:12px 0; }
  .catalog-brand { width:calc(100% - 120px); }
  .header-link { order:2; }
  .header-whatsapp { order:3; margin-left:auto; }
  .filters .catalog-sketchup { order:initial; width:100%; min-height:46px; margin:4px 0 0; }
  .models-3d-section { padding:54px 0 64px; }
  .models-3d-heading { align-items:stretch; flex-direction:column; gap:22px; }
  .models-3d-search { width:100%; }
  .models-3d-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .model-3d-card { min-height:145px; padding:16px; }
}
@media (min-width:681px) and (max-width:980px) { .models-3d-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:680px) { .catalog-brand img { width:118px; height:46px; } }

/* Cards escuros com contraste acessível */
.catalog-card {
  color:#f5f6f6;
  background:linear-gradient(145deg,#202529,#171b1e);
  border-color:#343a3e;
  box-shadow:0 10px 30px rgba(8,11,13,.16);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.catalog-card:hover {
  transform:translateY(-4px);
  border-color:rgba(255,196,0,.68);
  box-shadow:0 18px 42px rgba(8,11,13,.28);
}
.catalog-card button { background:#111518; }
.catalog-card img { background:#ececea; }
.card-info small { color:#ffc400; }
.card-info h2 { color:#ffffff; }
.card-info p { color:#c0c6c9; }
.card-info a { color:#111315; background:#ffc400; }
.card-info a:hover { background:#ffd43b; }

/* Refinamento móvel validado visualmente */
@media (max-width:680px) {
  .header-inner {
    min-height: 92px;
    padding-block: 10px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 8px 12px;
  }
  .catalog-brand { grid-column: 1; grid-row: 1 / span 2; width: auto; min-width: 0; }
  .catalog-brand img.brand-logo { width: 132px; height: auto; }
  .header-link { grid-column: 2; grid-row: 1; justify-self: end; font-size: 10px; }
  .header-whatsapp { grid-column: 2; grid-row: 2; justify-self: end; min-height: 38px; display: inline-flex; align-items: center; }
  .catalog-hero { padding-block: 46px 44px; }
  .catalog-hero span { display: inline-block; margin-bottom: 4px; }
  .catalog-hero h1 { margin: 10px 0 18px; line-height: .98; }
  .catalog-hero p { line-height: 1.7; }
  .filters {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
    overflow: visible;
    padding-bottom: 0;
  }
  .filters button {
    width: 100%;
    min-height: 43px;
    padding: 8px 10px;
    white-space: normal;
    line-height: 1.25;
  }
  .filters .catalog-sketchup {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 48px;
    margin: 2px 0 0;
    padding: 9px 15px;
    text-align: center;
    white-space: normal;
    line-height: 1.3;
  }
  .catalog-count { margin-top: 17px; margin-bottom: 18px; }
  .card-info { padding: 12px 11px 13px; }
  .card-info h2 { line-height: 1.35; margin-bottom: 8px; }
  .card-info p { line-height: 1.5; }
}

/* Ajuste final do cabecalho responsivo */
@media (max-width:680px) {
  .header-inner {
    min-height: 76px;
    padding-block: 10px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
  }
  .catalog-brand { width:auto; min-width:0; margin-right:0; }
  .catalog-brand img.brand-logo { width:128px; height:auto; }
  .header-whatsapp { display:none; }
  .header-link {
    order:initial;
    flex:0 0 auto;
    min-height:38px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,196,0,.72);
    border-radius:8px;
    color:var(--yellow);
    background:rgba(255,196,0,.07);
    font-size:10px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
  }
}

/* Fundo geometrico no rodape do catalogo */
footer {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(45deg, rgba(255,196,0,.97) 0 7%, transparent 7% 100%),
    linear-gradient(225deg, rgba(255,196,0,.94) 0 6%, transparent 6% 100%),
    linear-gradient(132deg, #232729 0 30%, #171a1c 30% 63%, #090b0d 63% 100%);
}
footer::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 0 48%,rgba(255,255,255,.025) 48% 67%,transparent 67%);
}
@media (max-width:680px) {
  footer {
    background:
      linear-gradient(45deg, rgba(255,196,0,.97) 0 4%, transparent 4% 100%),
      linear-gradient(225deg, rgba(255,196,0,.94) 0 3%, transparent 3% 100%),
      linear-gradient(132deg, #232729 0 26%, #171a1c 26% 68%, #090b0d 68% 100%);
  }
}

/* Padrao geometrico no header e na hero do catalogo */
.catalog-header {
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(135deg, transparent 0 88%, rgba(255,196,0,.96) 88% 100%),
    linear-gradient(45deg, #111416 0 22%, transparent 22% 100%),
    linear-gradient(132deg, #25292b 0 34%, #181b1d 34% 60%, #090b0d 60% 100%);
  border-bottom:1px solid rgba(255,196,0,.18);
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.catalog-header::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 0 57%,rgba(255,255,255,.035) 57% 72%,transparent 72%);
}
.catalog-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(45deg, rgba(255,196,0,.96) 0 8%, transparent 8% 100%),
    linear-gradient(225deg, rgba(255,196,0,.94) 0 12%, transparent 12% 100%),
    linear-gradient(135deg, #24282a 0 34%, #171a1c 34% 65%, #090b0d 65% 100%);
}
.catalog-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(112deg,transparent 0 44%,rgba(255,255,255,.035) 44% 62%,transparent 62%),
    linear-gradient(25deg,rgba(0,0,0,.18),transparent 45%);
}
.catalog-hero .container { position:relative; z-index:1; }
@media (max-width:680px) {
  .catalog-header {
    background:
      linear-gradient(135deg, transparent 0 94%, rgba(255,196,0,.96) 94% 100%),
      linear-gradient(45deg, #111416 0 28%, transparent 28% 100%),
      linear-gradient(132deg, #25292b 0 44%, #171a1c 44% 72%, #090b0d 72% 100%);
  }
  .catalog-hero {
    background:
      linear-gradient(45deg, rgba(255,196,0,.96) 0 5%, transparent 5% 100%),
      linear-gradient(225deg, rgba(255,196,0,.94) 0 8%, transparent 8% 100%),
      linear-gradient(135deg, #24282a 0 38%, #171a1c 38% 72%, #090b0d 72% 100%);
  }
}

/* Botao Voltar ao inicio padronizado */
.header-link {
  min-height:42px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--yellow);
  border-radius:8px;
  color:#101315;
  background:var(--yellow);
  box-shadow:0 7px 18px rgba(255,196,0,.12);
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.header-link:hover {
  color:#101315;
  background:#ffd43b;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(255,196,0,.2);
}
.header-link:focus-visible {
  outline:3px solid rgba(255,196,0,.3);
  outline-offset:3px;
}
@media (max-width:680px) {
  .header-link {
    min-height:38px;
    padding:0 13px;
    border-color:var(--yellow);
    color:#101315;
    background:var(--yellow);
    font-size:10px;
  }
}

/* Tipografia final do botao de retorno */
.header-link {
  font-family:Inter,Arial,sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18px;
  text-transform:none;
}
@media (max-width:680px) {
  .header-link {
    font-size:10.5px;
    letter-spacing:.12px;
  }
}

/* Fundo escuro do catalogo alinhado ao restante do site */
body { background:#0c0f11; }
.catalog-content {
  color:#f5f6f6;
  background:
    linear-gradient(135deg,rgba(255,196,0,.025) 0 9%,transparent 9% 100%),
    linear-gradient(132deg,#202426 0 27%,#15191b 27% 64%,#0c0f11 64% 100%);
}
.catalog-count { color:#aeb5b8; }
.catalog-card {
  border-color:rgba(255,255,255,.14);
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.catalog-card .card-info { color:#111518; }
.catalog-card .card-info h2 { color:#111; }
.catalog-card .card-info p { color:#30363a; }
@media (max-width:680px) {
  .catalog-content {
    background:linear-gradient(132deg,#202426 0 32%,#15191b 32% 72%,#0c0f11 72% 100%);
  }
}

/* Mascote central no catalogo */
.catalog-header-mascot {
  position:absolute;
  left:50%;
  bottom:-10px;
  z-index:2;
  width:88px;
  height:86px;
  object-fit:contain;
  transform:translateX(-50%);
  pointer-events:none;
  filter:drop-shadow(0 7px 10px rgba(0,0,0,.4));
}
.catalog-footer-mascot {
  width:100%;
  height:136px;
  margin:20px auto -10px;
  display:flex;
  justify-content:center;
  overflow:hidden;
  pointer-events:none;
}
.catalog-footer-mascot img {
  width:150px;
  height:148px;
  object-fit:contain;
  object-position:center top;
  filter:drop-shadow(0 9px 14px rgba(0,0,0,.38));
}
@media (max-width:680px) {
  .catalog-header-mascot { width:61px; height:60px; bottom:-5px; }
  .catalog-footer-mascot { height:112px; margin-top:16px; }
  .catalog-footer-mascot img { width:122px; height:120px; }
}

/* Correcao final do busto no catalogo */
.catalog-header-mascot {
  width:108px;
  height:auto;
  bottom:-19px;
}
.catalog-footer-mascot {
  height:152px;
  margin-top:24px;
}
.catalog-footer-mascot img {
  width:184px;
  height:auto;
}
@media (max-width:680px) {
  .catalog-header-mascot { width:75px; height:auto; bottom:-10px; }
  .catalog-footer-mascot { height:128px; margin-top:18px; }
  .catalog-footer-mascot img { width:154px; height:auto; }
}

/* Mascote totalmente contido no header do catalogo */
.catalog-header-mascot {
  width:auto;
  height:68px;
  max-height:calc(100% - 4px);
  bottom:0;
}
@media (max-width:680px) {
  .catalog-header-mascot {
    width:auto;
    height:58px;
    max-height:calc(100% - 4px);
    bottom:0;
  }
}

/* Layout final do catalogo: marca a esquerda e mascote no canto direito */
.catalog-header .header-inner {
  position:relative;
  width:calc(100% - 24px);
  max-width:none;
  padding-right:78px;
}
.catalog-header-mascot {
  left:auto;
  right:8px;
  bottom:0;
  height:68px;
  max-width:92px;
  object-fit:contain;
  object-position:center bottom;
  transform:none;
}
@media (max-width:680px) {
  .catalog-header .header-inner {
    width:calc(100% - 16px);
    padding-right:66px;
  }
  .catalog-header-mascot { right:4px; height:58px; max-width:80px; }
}

/* Logo do catalogo de volta a margem original */
.catalog-header .header-inner {
  width:min(1180px,calc(100% - 40px));
  max-width:1180px;
}
@media (max-width:680px) {
  .catalog-header .header-inner { width:calc(100% - 24px); }
}

/* Mascote um pouco mais proximo do canto direito */
.catalog-header-mascot { right:0; }
@media (max-width:680px) { .catalog-header-mascot { right:0; } }

/* Mascote alinhado quase ao limite direito da tela */
.catalog-header-mascot {
  right:calc((100vw - min(1180px, calc(100vw - 40px))) / -2 + 36px);
}
@media (max-width:680px) {
  .catalog-header-mascot { right:18px; }
}

/* Movimento suave do mascote no catalogo */
@keyframes mascote-catalogo-movimento {
  0%,100% { transform:translateY(0) rotate(-1deg); }
  50% { transform:translateY(-4px) rotate(1.2deg); }
}
.catalog-header-mascot,
.catalog-footer-mascot img {
  transform-origin:50% 85%;
  animation:mascote-catalogo-movimento 2.8s ease-in-out infinite;
  will-change:transform;
}
.catalog-footer-mascot img { animation-delay:.35s; }
@media (max-width:680px) {
  .catalog-header-mascot,
  .catalog-footer-mascot img { animation-duration:3.2s; }
}
@media (prefers-reduced-motion:reduce) {
  .catalog-header-mascot,
  .catalog-footer-mascot img { animation:none; transform:none; }
}


/* O movimento agora vem dos quadros do WebP animado */
.catalog-header-mascot,
.catalog-footer-mascot img {
  animation:none;
  transform:none;
  will-change:auto;
}


/* Retorno ao mascote original com movimento suave */
.catalog-header-mascot,
.catalog-footer-mascot img {
  animation:mascote-catalogo-movimento 2.8s ease-in-out infinite;
  transform-origin:50% 85%;
  will-change:transform;
}
@media (prefers-reduced-motion:reduce) {
  .catalog-header-mascot,
  .catalog-footer-mascot img { animation:none; transform:none; }
}


/* Mascote estatico; corpo inteiro no rodape do catalogo */
.catalog-header-mascot,
.catalog-footer-mascot img {
  animation:none;
  transform:none;
  will-change:auto;
}
.catalog-footer-mascot {
  height:226px;
  overflow:visible;
  align-items:flex-end;
}
.catalog-footer-mascot img {
  width:auto;
  height:216px;
  object-fit:contain;
}
@media (max-width:680px) {
  .catalog-footer-mascot { height:188px; }
  .catalog-footer-mascot img { width:auto; height:180px; }
}


/* Informacoes ao lado do personagem no rodape do catalogo */
.catalog-footer-with-mascot {
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  align-items:center;
  gap:38px;
}
.catalog-footer-with-mascot .footer-inner {
  width:100%;
  align-items:center;
}
.catalog-footer-with-mascot .catalog-footer-mascot {
  width:220px;
  height:236px;
  margin:0;
  align-items:flex-end;
}
.catalog-footer-with-mascot .catalog-footer-mascot img { height:226px; }

/* Logo maior no rodape do catalogo */
.catalog-footer-with-mascot .footer-brand-logo { width:220px; }
.catalog-footer-credit {
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#8f9699;
  text-align:center;
  font-size:11px;
}
.catalog-footer-credit strong { color:var(--yellow); font-weight:900; letter-spacing:.4px; }
@media (max-width:680px) {
  .catalog-footer-with-mascot { display:block; }
  .catalog-footer-with-mascot .footer-inner { align-items:flex-start; }
  .catalog-footer-with-mascot .catalog-footer-mascot { display:none; }
  .catalog-footer-with-mascot .footer-brand-logo { width:180px; }
  .catalog-footer-credit { margin-top:24px; font-size:10px; }
}

/* Fundo continuo do catalogo, sem blocos de cores */
body,
.catalog-content { background:#111518; }
@media (max-width:680px) {
  .catalog-content { background:#111518; }
}

/* Contraste final dos textos nos cards escuros. */
.catalog-card .card-info small { color:#ffc400; }
.catalog-card .card-info h2 { color:#ffffff; }
.catalog-card .card-info p { color:#c7cdd0; }
.catalog-card .card-info a { color:#111315; background:#ffc400; }
