/* BrazilTopp — refinement of the official September 27 version. */
:root { --paper:#f5f0e7; --ink:#1e1712; --orange:#f5821f; --line:#ddd2c2; }
* { box-sizing:border-box; }
html { scroll-padding-top:104px; }
body { background:var(--paper); }
img { max-width:100%; }
button, a, input, textarea { -webkit-tap-highlight-color:transparent; }
a,button { touch-action:manipulation; }
:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
input,textarea { min-width:0; }
header { box-shadow:0 8px 30px #1e171218; }
header>nav { min-height:88px; }
header>div:last-child { height:3px; }
header nav>a:last-of-type { font-size:13px; }
.brand-logo { max-width:220px; object-fit:contain; }
#inicio { background:radial-gradient(ellipse at 85% 20%, #503524 0, transparent 55%),var(--ink); }
.hero-layout { padding-top:76px; padding-bottom:68px; }
#hero-title { font-size:clamp(44px,5.1vw,72px); line-height:1.07; letter-spacing:-.035em; }
#inicio .hero-layout>div>p:last-of-type { font-family:'DM Sans',sans-serif; font-size:18px; line-height:1.75; max-width:510px; }
.hero-layout>figure { padding:16px 0 16px 16px; }
.hero-layout>figure::before { content:''; position:absolute; inset:0 16px 0 0; border:1px solid #f5821f55; border-radius:24px; }
.hero-layout>figure>div { border-radius:18px; }
.hero-layout>figure img { aspect-ratio:1.2; object-position:50% 55%; }
#inicio>div:last-child { background:#ffffff03; }
#inicio li strong { font-size:23px; }
#inicio li svg { width:40px; height:40px; }
.product-ribbon { background:#e9dece; border:0; border-bottom:1px solid var(--line); padding:17px 0; overflow-x:auto; scrollbar-width:none; }
.product-ribbon-items { animation:none; font-size:11px; letter-spacing:.12em; gap:30px; padding:0 24px; }
.product-ribbon-items>span { margin:0!important; }
.product-ribbon-items>[aria-hidden] { display:none; }
#produtos { padding-top:80px; padding-bottom:88px; }
#produtos>div:first-child { border-bottom:1px solid #c8bbaa; padding-bottom:28px; }
h2 { text-wrap:balance; line-height:1.1!important; letter-spacing:-.03em!important; }
#contagem { border:1px solid var(--line); border-radius:30px; padding:8px 14px; font-size:12px; }
.catalog-tools { min-width:0; }
#filtros { min-width:0; max-width:100%; scrollbar-width:thin; scrollbar-color:#c5b39b transparent; padding:4px 4px 10px; }
#filtros button { border:1px solid var(--line); background:transparent; color:#4a423b; min-height:44px; padding:10px 16px; font-size:13px; }
#filtros button.is-selected { background:var(--ink); color:var(--paper); border-color:var(--ink); }
#filtros button:hover { border-color:var(--ink); }
#busca { border-width:1px; font-size:16px; box-shadow:0 2px 8px #1e171204; }
#grid article { border:1px solid #e5dacb; border-radius:16px; box-shadow:0 3px 16px #1e171205; overflow:hidden; }
#grid article>div:first-child img { aspect-ratio:1.45; }
#grid article>div:first-child>div { height:3px; }
#grid h3 { font-size:27px; line-height:1.1; }
#grid article:hover { transform:translateY(-4px); box-shadow:0 12px 30px #1e171210; }
#grid [data-abrir] { min-height:44px; }
#grid a { min-height:44px; display:inline-flex; align-items:center; }
#personalizados { position:relative; }
#personalizados>div { border-top:1px solid #ffffff12; }
#personalizados ol li { gap:20px; }
#personalizados ol li>span,#personalizados ol li>div>span { font-size:40px; }
#quem-somos li { border:1px solid #e5dacb; border-radius:14px; box-shadow:none; }
#quem-somos img { border-radius:12px; }
#duvidas { border-top:1px solid var(--line); background:#eae0d3; }
#faq button { min-height:64px; text-align:left; }
#cotacao { background:var(--paper); border-radius:18px; box-shadow:0 20px 60px #0002; }
#cotacao input,#cotacao textarea { border:1px solid #cfc1ad; border-radius:8px; font-size:16px; }
#cotacao input[aria-invalid="true"] { border:2px solid #a82f20; }
#formErro { color:#a82f20; }
#itensForm label>span { font-size:13px; min-height:44px; display:inline-flex; align-items:center; }
footer address a { overflow-wrap:anywhere; }
.mobile-actions { display:none; }
#detalhe { width:min(820px,calc(100vw - 32px)); border:0; border-radius:20px; overscroll-behavior:contain; }
#detalhe>div { overscroll-behavior:contain; }
body.dialog-open { overflow:hidden; }
@media(min-width:1024px) and (max-width:1199px) { header nav { gap:16px; } header nav ul { gap:17px; } header nav>a:last-of-type>span { display:none; } .brand-logo { max-width:180px; } }
@media(max-width:1023px) {
 body { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
 header>nav { min-height:74px; padding-top:12px; padding-bottom:12px; }
 .hero-layout { gap:32px; padding-top:42px; padding-bottom:38px; }
 .hero-layout>div { max-width:680px; }
 .hero-layout>figure { max-width:680px; width:100%; margin:auto; padding:10px 0 10px 10px; }
 .hero-layout>figure img { aspect-ratio:1.65; }
 #menuMobile { position:absolute; top:100%; left:0; right:0; background:var(--ink); max-height:calc(100dvh - 160px); overflow-y:auto; box-shadow:0 20px 32px #0004; }
 #menuMobile a { min-height:48px; }
 #menuMobile>ul { padding-top:12px; padding-bottom:16px; }
 .mobile-actions { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:45; gap:10px; padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); background:#f5f0e7f5; backdrop-filter:blur(16px); border-top:1px solid #d8c9b6; box-shadow:0 -4px 24px #1e171208; }
 .mobile-actions a { min-height:48px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:12px; font-size:14px; font-weight:700; }
 .mobile-actions svg { width:21px; height:21px; flex-shrink:0; }
 .mobile-catalog { flex:1; border:1px solid #cdbda7; color:var(--ink); }
 .mobile-quote { flex:1.6; background:var(--orange); color:var(--ink); }
 #detalhe { max-height:calc(100dvh - 24px); }
 #detalhe>div { max-height:calc(100dvh - 24px); }
}
@media(max-width:639px) {
 html { scroll-padding-top:90px; }
 .brand-logo { height:36px; max-width:190px; }
 #hero-title { font-size:clamp(39px,10.1vw,58px); line-height:1.08; }
 #inicio .hero-layout>div>p:first-child { font-size:10px; letter-spacing:.16em; }
 #inicio .hero-layout>div>p:last-of-type { font-size:16px; line-height:1.65; margin-top:20px; }
 .hero-layout>div>div { margin-top:26px; gap:10px; }
 .hero-layout>div>div>a { padding:14px 18px; font-size:14px; justify-content:center; flex:1; white-space:nowrap; }
 .hero-layout>figure img { aspect-ratio:1.28; }
 .hero-layout>figure>div>div:last-child { position:static; padding:10px; background:#17130f; gap:8px; }
 .hero-layout>figure>div>div:last-child>span { font-size:9px; padding:6px 8px; }
 #inicio ul li { gap:10px; padding:18px 16px; align-items:flex-start; }
 #inicio li svg { height:28px; width:28px; }
 #inicio li p { font-size:11px; line-height:1.5; }
 #inicio li strong { font-family:'DM Sans',sans-serif; font-size:14px; margin-bottom:3px; }
 #produtos { padding-top:48px; padding-bottom:48px; }
 h2 { font-size:34px!important; }
 #produtos>div:first-child { gap:16px; }
 #grid { gap:20px; margin-top:22px; }
 #grid article>div:nth-child(2) { padding:22px; }
 #grid article>div:first-child img { aspect-ratio:1.6; }
 #grid h3 { font-size:27px; }
 #grid dl { gap:8px; }
 #grid dd { font-size:20px; overflow-wrap:anywhere; }
 #personalizados>div,#quem-somos,#duvidas>div,#contato>div:last-child { padding-top:48px; padding-bottom:48px; gap:36px; }
 #personalizados ol li { padding-top:24px; padding-bottom:24px; gap:16px; }
 #personalizados ol li h3 { font-size:18px; }
 #personalizados ol li>span,#personalizados ol li>div>span { font-size:32px; }
 #personalizados a[data-wa] { width:100%; padding:16px; justify-content:center; font-size:13px; }
 #quem-somos li { padding:22px; gap:16px; }
 #quem-somos li svg { width:36px; height:36px; }
 #quem-somos>div>div>div { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 #faq button { gap:14px; font-size:16px; }
 #cotacao { padding:22px 18px; gap:20px; }
 #cotacao button[type=submit] { width:100%; padding:16px 10px; font-size:13px; }
 #detalhe { border-radius:16px; }
 #d-nome { font-size:32px; }
 #d-dados>div { padding:0 12px; min-width:0; }
 #d-dados p:last-child { font-size:24px; line-height:1.15; overflow-wrap:anywhere; }
 #d-dados p:first-child { font-size:9px; }
 footer>div:first-child>div { padding-top:40px; padding-bottom:36px; gap:30px; }
 footer>div:last-child>div { padding-top:28px; padding-bottom:28px; text-align:center; }
 footer>div:last-child img { height:72px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } *,*::before,*::after { animation:none!important; transition:none!important; } }

header nav>a:first-child { display:flex; align-items:center; gap:12px; }
.brand-logo { width:64px; height:48px; object-fit:contain; }


@media(max-width:639px) { .brand-logo { width:52px; height:40px; }   header nav>a:first-child { gap:9px; } }
@media(min-width:1024px) and (max-width:1199px) {   .brand-logo { width:48px; height:40px; } }
/* Selected improvements: catalog navigation, compact view and persistent detail actions. */
[hidden] { display:none!important; }
header .brand-logo { width:88px; height:66px; max-width:none; }
.catalog-heading-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.download-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; color:var(--ink); font-size:13px; font-weight:700; border-bottom:1px solid #a78d70; }
.category-browser { display:flex; align-items:center; gap:8px; min-width:0; flex:1; max-width:100%; }
.category-list { min-width:0; flex:1; }
.category-hint { margin-top:3px; font-size:11px; color:#6b5c4b; text-align:right; }
.category-arrow { width:36px; min-width:36px; height:44px; font-size:27px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:#fbf8f3; }
.category-arrow:disabled { opacity:.3; cursor:default; }
#filtros { display:flex; gap:8px; padding:4px 2px 8px; }
#filtros button { white-space:nowrap; border-radius:99px; flex-shrink:0; font-weight:700; }
.catalog-state { position:sticky; top:91px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:18px; padding:12px 0; background:#f5f0ef; background:var(--paper); border-bottom:1px solid var(--line); }
#catalog-active { font-size:12px; font-weight:700; color:#5c4c3d; overflow-wrap:anywhere; }
.catalog-state-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
#clear-catalog,.empty-reset { font-size:12px; text-decoration:underline; min-height:44px; font-weight:600; }
#clear-catalog:disabled { opacity:.4; text-decoration:none; }
.view-switch { display:inline-flex; gap:3px; padding:3px; border:1px solid var(--line); border-radius:12px; background:#ebe2d5; }
.view-switch button { padding:8px 12px; min-height:38px; border-radius:9px; font-size:12px; font-weight:600; }
.view-switch button[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.catalog-notice { margin-top:16px; padding:16px; border:1px solid #b8a084; border-radius:10px; font-size:14px; }
#grid .product-image { display:block; min-width:0; }
#grid .product-image img { width:100%; aspect-ratio:1.6; object-fit:cover; }
#grid .product-info { display:flex; flex-direction:column; flex:1; padding:22px; min-width:0; }
.product-category { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#6b5c4b; }
#grid h3 { margin-top:9px; font:700 27px/1.1 Fraunces,Georgia,serif; }
#grid h3 em { display:block; font-size:21px; color:#685544; margin-top:5px; }
.product-metrics { margin-top:18px; padding-top:16px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; border-top:1px solid var(--line); }
.product-metrics>div { border-left:2px solid var(--orange); padding-left:9px; min-width:0; }
.product-metrics dt { font-size:9px; text-transform:uppercase; letter-spacing:.03em; color:#695744; }
.product-metrics dd { font:700 21px/1.2 Fraunces,Georgia,serif; margin-top:5px; overflow-wrap:anywhere; }
.product-metrics small { font:600 11px/1.3 'DM Sans',sans-serif; }
.product-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:18px; }
.product-actions button { min-height:44px; font-size:14px; font-weight:700; }
.product-actions button>span:last-child { color:#a44b00; padding-left:7px; }
.product-actions a { padding:8px 18px; border:1px solid var(--ink); border-radius:99px; font-size:12px; font-weight:700; }
#grid[data-view=lista] { grid-template-columns:1fr; gap:12px; }
#grid[data-view=lista] article { display:grid; grid-template-columns:160px minmax(0,1fr); }
#grid[data-view=lista] .product-image img { height:100%; aspect-ratio:1; object-fit:cover; }
#grid[data-view=lista] .product-info { padding:18px 22px; }
#grid[data-view=lista] h3 { font-size:24px; }
#grid[data-view=lista] h3 em { font-size:17px; }
#grid[data-view=lista] .product-metrics { display:none; }
#grid[data-view=lista] .product-actions { padding-top:8px; }
#grid[data-view=lista] article:hover { transform:none; }
#d-dados>div { padding:0 24px; }
#d-dados p:first-child { font-size:10px; text-transform:uppercase; color:#d2c0a8; letter-spacing:.08em; }
#d-dados p:last-child { font:700 28px/1.2 Fraunces,Georgia,serif; color:var(--paper); margin-top:5px; }
#d-dados p:last-child span { font:700 12px 'DM Sans',sans-serif; color:var(--orange); }
.detail-actions { position:sticky; bottom:0; flex-shrink:0; padding:14px 24px; background:var(--paper); border-top:1px solid var(--line); box-shadow:0 -5px 20px #1e17120b; z-index:3; }
#d-wa { display:flex; justify-content:center; align-items:center; gap:16px; width:100%; min-height:48px; border-radius:12px; background:var(--orange); color:var(--ink); font-size:14px; font-weight:700; }
.detail-actions>div { display:flex; justify-content:space-between; gap:16px; }
.detail-actions>div>* { display:inline-flex; align-items:center; min-height:40px; font-size:12px; text-decoration:underline; }
.detail-actions+* { padding-bottom:0; }
@media(max-width:1023px) { .catalog-state { top:77px; } }
@media(max-width:639px) {
 header .brand-logo { width:72px; height:54px; }
 header>nav { min-height:78px; }
 html { scroll-padding-top:100px; }
 .catalog-state { top:81px; gap:3px; padding:8px 0; }
 .catalog-state-actions { gap:8px; justify-content:space-between; width:100%; }
 #catalog-active { font-size:11px; }
 .view-switch button { padding:6px 9px; font-size:11px; }
 #clear-catalog { font-size:10px; }
 .category-arrow { min-width:30px; width:30px; }
 .catalog-heading-actions { width:100%; justify-content:space-between; gap:8px; }
 #grid .product-info { padding:20px; }
 #grid h3 { font-size:25px; }
 #grid h3 em { font-size:19px; }
 .product-metrics { margin-top:14px; padding-top:12px; }
 .product-actions { padding-top:12px; }
 #grid[data-view=lista] article { grid-template-columns:96px minmax(0,1fr); }
 #grid[data-view=lista] .product-info { padding:12px; }
 #grid[data-view=lista] .product-category { font-size:8px; letter-spacing:.06em; }
 #grid[data-view=lista] h3 { font-size:20px; line-height:1.12; margin-top:5px; }
 #grid[data-view=lista] h3 em { font-size:14px; }
 #grid[data-view=lista] .product-actions { gap:5px; }
 #grid[data-view=lista] .product-actions button { font-size:11px; }
 #grid[data-view=lista] .product-actions a { font-size:11px; padding:6px 10px; }
 #d-dados>div { padding:0 12px; }
 #d-dados p:last-child { font-size:24px; }
 .detail-actions { padding:10px 16px; }
 #d-wa { font-size:13px; }
}

.catalog-state { top:101px; }
@media(max-width:1023px){.catalog-state{top:93px;}}
@media(max-width:639px){.catalog-state{top:81px;}}

.category-arrow { width:44px; min-width:44px; }
.view-switch button { min-height:44px; }

.catalog-retry { margin-top:12px; min-height:44px; padding:10px 18px; border:1px solid #a78d70; border-radius:10px; font-size:13px; font-weight:700; }

.view-switch button:disabled { opacity:.55; cursor:wait; }

@media(max-width:1023px) { .site-header>nav { padding-top:12px; padding-bottom:12px; } }

/* Expanded catalog: category totals and searchable quote selections. */
#filtros button { display:inline-flex; align-items:center; gap:8px; max-width:100%; }
.cat-name { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.cat-count { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 5px; flex-shrink:0; border-radius:99px; font-size:10px; background:#e5dacb; color:#5f4d3c; }
.is-selected .cat-count { background:#f5f0e72b; color:#f5f0e7; }
.product-metrics { grid-template-columns:repeat(var(--metric-columns,3),minmax(0,1fr)); }
#itensForm { max-height:248px; overflow-y:auto; padding:8px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #d2c2ad; border-radius:10px; }
#itensForm label { min-width:0; }
#itensForm label>span { display:flex; width:100%; border-radius:9px; font-size:12px; }
.quote-item-search { width:100%; margin-top:12px; padding:12px 14px; }
.quote-selected-count { margin-top:8px; font-size:12px; font-weight:600; }
@media(max-width:639px) { #itensForm { grid-template-columns:1fr; } }
/* Catalog and quote improvements, October 2026. */
.download-size{font-size:10px;font-weight:500;color:#6b5c4b;white-space:nowrap}.download-link{gap:10px}
.search-help{font-size:12px;color:#6b5c4b;margin-top:9px;line-height:1.6}
.catalog-sort{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#6b5c4b;min-width:0}
.catalog-sort select{border:1px solid #d2c2ad;background:#fbf8f3;border-radius:10px;padding:10px 26px 10px 10px;min-height:44px;max-width:100%;font:600 12px 'DM Sans',sans-serif;color:var(--ink)}
.catalog-state{border-radius:0 0 12px 12px;gap:8px}.catalog-state-actions{gap:10px}
.quote-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px 18px;border:1px solid #d5b18d;border-radius:12px;background:#f9ead8}
.quote-summary p{font-size:13px}.quote-summary strong,.quote-summary span{display:block}.quote-summary p>span{font-size:11px;color:#6b5c4b;margin-top:3px}.quote-summary a{flex-shrink:0;min-height:44px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-decoration:underline}
.add-to-quote{min-height:44px;border:1px solid #d2c2ad;border-radius:10px;padding:10px 12px;background:#f9f5ee;color:#5d4937;font-size:12px;font-weight:700;text-align:center;line-height:1.4}
.product-add{margin-top:12px;width:100%}.add-to-quote[aria-pressed=true]{background:#e8f0e1;border-color:#91a67a;color:#304526}.add-to-quote:hover{border-color:var(--ink)}
.catalog-more{text-align:center;padding:30px 0 4px}.catalog-more p{font-size:12px;color:#6b5c4b;margin-bottom:12px}.catalog-more button,.search-all{border:1px solid #aa8e70;border-radius:12px;padding:12px 22px;min-height:48px;font-size:13px;font-weight:700;background:#fbf8f3}.search-all{display:block;margin:20px auto 8px}
#itensForm label:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:3px;border-radius:9px}
.quote-item-empty{font-size:12px;line-height:1.6;margin-top:8px}.quote-selected-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.quote-selected-list button{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:44px;border:1px solid #a9b494;background:#e8f0e1;color:#304526;border-radius:9px;padding:8px 12px;text-align:left;font-size:12px;line-height:1.4}.quote-selected-list button span{font-size:21px;flex-shrink:0}
.quote-helper{font-size:12px;line-height:1.6;color:#6b5c4b;grid-column:1/-1}.quote-review{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}.quote-review h3{font:700 22px Georgia,serif;margin-bottom:12px}.quote-review textarea{width:100%;padding:14px;line-height:1.65;resize:vertical}.quote-review>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.quote-review a,.quote-review button{display:flex;justify-content:center;align-items:center;min-height:48px;border:1px solid #aa8e70;padding:12px 18px;border-radius:12px;font-size:13px;font-weight:700}.quote-review a{background:var(--orange);border-color:var(--orange)}#quote-copy-status{font-size:12px;line-height:1.6;margin-top:8px}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-actions>div{grid-column:1/-1}#d-wa{font-size:12px;gap:6px}.detail-actions .add-to-quote{font-size:12px}
@media(max-width:639px){.catalog-state-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%}.catalog-sort{font-size:0;gap:0}.catalog-sort select{width:100%;font-size:11px;padding-left:8px;padding-right:17px}.view-switch button{font-size:10px;padding:6px 8px}#clear-catalog{grid-column:1/-1;text-align:left;min-height:32px;font-size:11px}.catalog-state{padding:9px 0;gap:6px}.quote-summary{padding:12px;gap:10px}.quote-summary p>span{display:none}.quote-summary p{font-size:12px}.quote-summary a{font-size:11px;gap:5px}.product-add{font-size:12px}#grid[data-view=lista] .product-add{font-size:10px;padding:8px}.quote-review>div>*{flex:1}.detail-actions .add-to-quote,#d-wa{font-size:11px;padding:9px}.detail-actions{padding:10px 12px}.search-help{font-size:11px}}
@media(hover:none){#grid article:hover{transform:none;box-shadow:0 3px 16px #1e171205}}

/* Immediate section navigation keeps long catalog pages predictable. */
html{scroll-behavior:auto}
@media(max-width:639px){.catalog-state-actions .view-switch{grid-column:2;grid-row:1}#clear-catalog{grid-row:2}}
