/* Shared responsive rules: retain content order, brand and technical diagrams. */
:root {
  --page-gutter: clamp(16px, 3.5vw, 48px);
  --header-height: 120px;
  --quick-actions-height: 68px;
}
html {
  scroll-padding-top: calc(var(--header-height) + 16px);
  scroll-padding-bottom: calc(var(--quick-actions-height) + 20px);
  -webkit-text-size-adjust: 100%;
}
.container, .footer-tools {
  width: min(1240px, calc(100% - max(var(--page-gutter), env(safe-area-inset-left)) - max(var(--page-gutter), env(safe-area-inset-right))));
  margin-inline: auto;
}
:where(h1, h2, h3, p, a, li, label, figcaption, address, output) { overflow-wrap: anywhere; }
:where(input, select, textarea, button) { max-width: 100%; min-width: 0; }
:where(input, select, textarea):focus { scroll-margin-block: 20px; }
:where(img, video, iframe) { max-width: 100%; }
:where(.hero-inner, .product-grid, .service-grid, .about-grid, .quote-layout, .faq-layout,
  .founder-feature-grid, .purpose-hero-grid, .purpose-story-grid, .values-heading,
  .closing-grid, .direction-grid, .values-grid, .material-hero-grid, .format-grid,
  .measure-grid, .application-grid, .book-layout, .legacy-layout, .video-layout,
  .story-layout, .tool-layout, .field-grid, .cart-item-fields, .roof-builder,
  .direct-grid, .metric-grid, .admin-filters) > * { min-width: 0; }
.section { padding-block: clamp(48px, 6.8vw, 98px); }
.site-header .header-inner { min-height: clamp(84px, 8.3vw, 120px); }
.site-header .header-inner .brand-real {
  width: clamp(176px, 22vw, 260px);
  height: auto;
  aspect-ratio: 2.5;
  max-width: calc(100vw - 112px);
}
.footer-brand .brand-real { max-width: 100%; }
.footer-top > * { min-width: 0; }
.footer-tools { align-items: center; line-height: 1.6; }
.footer-tools a, .footer-tools button { min-height: 32px; display: inline-flex; align-items: center; text-align: start; }
.utility-inner a { min-height: 40px; line-height: 1.4; }
.utility-inner .cart-count, .quick-actions .cart-count { flex: none; }
.roof-preview { margin: 0; top: calc(var(--header-height) + 20px); }
.table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.catalog-page .table-scroll { max-width: 100%; overflow-x: auto; }
.table-scroll-hint { margin: 16px 0 8px; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.table-scroll:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.file-tag, .button > svg, .text-link > svg { flex: none; }
.swatch-choices { gap: 12px; }
.swatch-choices button { width: 44px; height: 44px; }
.privacy-banner {
  bottom: calc(var(--quick-actions-height) + 16px);
  max-height: calc(100vh - var(--quick-actions-height) - 40px);
  max-height: calc(100dvh - var(--quick-actions-height) - 40px);
  overflow-y: auto;
}
.quick-actions { max-width: calc(100% - 32px); }
.quick-actions a { min-width: 0; }
.quick-actions .contact-link-content { min-width: 0; }
.toast { max-height: calc(100dvh - 40px); overflow-y: auto; }

@media (max-width: 1024px) {
  .menu-toggle {
    display: flex; flex-direction: column; justify-content: center; gap: 7px;
    width: 46px; height: 46px; padding: 11px; background: transparent;
    border: 1px solid #7a929f; cursor: pointer; flex: none; color: white;
  }
  .menu-toggle span { display: block; width: 22px; height: 2px; background: currentColor; }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(4.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
  .site-header .header-inner nav {
    display: none; position: absolute; inset: 100% 0 auto;
    padding: 12px max(var(--page-gutter), env(safe-area-inset-left)) 24px;
    background: var(--navy); color: white; border-bottom: 1px solid #426176;
    max-height: calc(100vh - var(--header-height) - 8px);
    max-height: calc(100dvh - var(--header-height) - 8px);
    overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 12px 18px #081d2d26;
  }
  .site-header .header-inner nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .header-inner nav > a:not(.button) { padding: 14px 4px; min-height: 48px; font-size: 1rem; border-bottom: 1px solid #345164; }
  .header-inner .button-small { margin-top: 18px; font-size: 1rem; min-height: 48px; }
}
@media (max-width: 960px) {
  .quote-layout, .faq-layout, .about-grid, .purpose-hero-grid, .purpose-story-grid,
  .values-heading, .closing-grid, .material-hero-grid, .application-grid {
    grid-template-columns: minmax(0, 1fr); gap: 34px;
  }
  .quote-intro > p:not(.eyebrow), .project-note { max-width: 640px; }
  .founder-feature-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; }
  .purpose-hero-copy > p:not(.eyebrow) { max-width: 640px; }
  .purpose-photo { max-width: 600px; }
  .material-hero-grid > figure { max-width: 680px; }
  .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 760px) {
  .hero-inner, .founder-feature-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-inner { gap: 32px; }
  .hero h1 { font-size: clamp(3.15rem, calc(2.2rem + 5vw), 5rem); }
  .hero-actions { flex-wrap: wrap; }
  .founder-feature-photo { width: min(100%, 320px); max-width: 100%; }
  .purpose-hero h1, .material-hero h1, .catalog-page .material-hero h1,
  .service-detail-page .material-hero h1, .tool-hero h1 {
    font-size: clamp(2.5rem, calc(1.7rem + 4.5vw), 3.8rem);
  }
  .quote-intro h2, .faq-layout h2, .founder-feature-copy h2, .about-copy h2,
  .purpose-closing h2, .service-intro h2, .locations h2 {
    font-size: clamp(2.15rem, calc(1.6rem + 3vw), 3.3rem);
  }
  .product-card h3 { font-size: clamp(2rem, calc(1.5rem + 2.4vw), 2.5rem); }
  .quote-builder-card h3 { font-size: clamp(2rem, calc(1.4rem + 3.2vw), 3rem); }
  .founder-feature-actions { gap: 18px; }
  .quick-actions {
    max-width: none; bottom: 0; inset-inline: 0;
    display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr);
    padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
  .quick-actions a, .quick-actions .quick-list, .quick-actions .quick-quote {
    font-size: clamp(.8125rem, 2.8vw, 1rem); min-height: 56px; padding: 12px 10px; gap: 8px;
  }
  .quick-quote .contact-link-content { display: inline; line-height: 1.35; }
  footer { padding-bottom: calc(var(--quick-actions-height) + 28px); }
  .privacy-banner { left: 16px; width: calc(100% - 32px); bottom: calc(var(--quick-actions-height) + 12px); }
}
@media (max-width: 600px) {
  .utility-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; padding-block: 8px; }
  .utility-inner a:first-child { grid-column: 1 / -1; margin: 0; }
  .utility-inner .admin-only { margin: 0; }
  .form-row, .field-grid, .roof-builder, .roof-overlaps { grid-template-columns: minmax(0, 1fr); }
  .form-row { gap: 0; }
  .tool-panel { padding: 22px 18px; }
  .tool-actions .tool-btn { flex: 1 1 150px; }
  .direct-product { grid-template-columns: 80px minmax(0, 1fr); }
  .direct-product-body { padding: 16px 14px; }
  .direct-product .tool-actions { width: 100%; }
  .catalog-table-panel table:not(.roof-spec-table) { min-width: 34rem; table-layout: auto; }
  .history-block figcaption { flex-wrap: wrap; gap: 16px; }
  .history-block figcaption > p { flex-shrink: 1; }
  .admin-photo { flex-wrap: wrap; gap: 12px; }
  .admin-photo div { flex-basis: calc(100% - 120px); min-width: 0; }
  .metric { padding: 20px 16px; }
}
@media (max-width: 420px) {
  .contact-top { grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 5px; }
  .contact-top > a, .contact-top > a:last-child { grid-column: auto; border: 0; border-top: 1px solid #345164; padding: 7px 0; min-height: 38px; }
  .contact-top > a:first-child { border-top: 0; }
  .contact-top .contact-link-content { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 3px 12px; }
  .contact-top .contact-link-content strong { font-size: .9375rem; }
  .contact-top .contact-link-content > span { font-size: .75rem; }
  .hero-lines > div { grid-template-columns: minmax(0, 1fr); }
  .hero-actions, .founder-feature-actions { flex-direction: column; align-items: flex-start; }
  .quote-builder-options { grid-template-columns: minmax(0, 1fr); }
  .quote-builder-card { padding: 24px 18px; }
  .quote-builder-card .quote-builder-button { padding: 15px 14px; gap: 12px; }
  .quote-contact .contact-phone { font-size: 1.7rem; }
  .footer-brand .brand-real { width: min(230px, 100%); }
}
@media (max-height: 500px) and (max-width: 1024px) {
  .site-header .header-inner { min-height: 64px; padding-block: 4px; }
  .site-header .header-inner .brand-real { width: 156px; aspect-ratio: 3; }
  .roof-preview { position: static; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  .container { width: 100%; }
  .table-scroll { overflow: visible; }
  .table-scroll-hint { display: none; }
  .catalog-table-panel table:not(.roof-spec-table) { min-width: 0; }
}

/* New sections and enlarged text use the same sizing rules as the catalogue. */
:where(.proof-grid,.steel-grid,.steel-home-grid,.steel-home-heading,.market-indicators,
 .market-news,.market-heading,.team-grid,.document-grid,.compare-grid,.performance-grid) > * { min-width:0; }
.proof-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.proof-grid > div { overflow-wrap:anywhere; }
.product-top { flex-wrap:wrap; }
.product-label { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.tool-actions > * { min-width:0; max-width:100%; white-space:normal; }
.tool-actions .tool-link { flex:0 1 auto; }
:where(.button,.tool-btn,.tool-link,.text-link,.market-tag,.steel-stage) { white-space:normal; overflow-wrap:anywhere; }
.button,.tool-btn { text-align:center; line-height:1.4; }
.tool-tabs { max-width:100%; flex-wrap:wrap; }
.tool-tabs > * { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.utility-inner { display:flex; flex-wrap:nowrap; align-items:center; }
.utility-inner > a:first-child { grid-column:auto; }
.buyer-tools { min-width:0; }
.buyer-tools > summary { min-height:44px; }
:where(.steel-home,.market-home,.market-main,.steel-main,.team-main) { min-width:0; }
.market-heading .market-tag { white-space:normal; }
.market-value { overflow-wrap:anywhere; }
.market-widget { min-width:0; }
.market-widget iframe { display:block; width:100%; }
.notice-dialog { max-height:85vh; max-height:85dvh; overscroll-behavior:contain; }
.notice-dialog h2:focus { outline:none; }
.notice-dialog .notice-message { font-size:1rem; }
@media (max-width:960px) {
 .proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .proof-grid > div:nth-child(3) { padding-left:0; border-left:0; }
}
@media (max-width:600px) {
 input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea { font-size:1rem; }
 .utility-inner { gap:12px; }
 .tool-actions { align-items:stretch; }
 .tool-actions .tool-btn { min-height:44px; }
 .tool-actions .tool-link { flex:0 1 auto; min-height:44px; display:inline-flex; align-items:center; }
 .market-heading .button,.steel-closing .button { width:100%; }
 .market-status { max-width:100%; }
 .site-notice-inner { align-items:flex-start; }
 .notice-dialog-content { padding:22px 18px; }
}
@media (max-width:340px) {
 .proof-grid > div { padding-inline:0 12px; }
 .proof-grid > div:nth-child(even) { padding-inline:12px 0; }
 .quick-actions .quick-list,.quick-actions .quick-quote { padding-inline:8px; gap:6px; }
 .quick-actions .contact-icon { width:18px; height:18px; }
}
@media (max-height:500px) and (max-width:1024px) {
 .notice-dialog { max-height:calc(100dvh - 24px); }
 .notice-dialog-content { padding:18px; }
 .notice-dialog-head { margin-bottom:14px; }
 .notice-dialog h2 { margin-bottom:14px; }
 .privacy-banner { max-height:calc(100dvh - var(--quick-actions-height) - 24px); }
}

.notice-close { flex:0 0 auto; white-space:nowrap; }

/* Títulos fluem conforme a largura disponível, sem quebras fixas. */
:where(main h1, main h2) { text-wrap: balance; }
.hero h1 { font-size: clamp(2.35rem, 5vw, 4.8rem); }

#previa-telha .roof-profile-preview { margin-top: .25rem; background: #f8fbfc; border-radius: 5px; }
.roof-preview-jump { display: none; }
@media (max-width: 700px) {
  .roof-preview-jump { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 420px) {
  #produtos .catalog-download { grid-template-columns: auto minmax(0, 1fr); }
  .catalog-download-action { grid-column: 2; }
}

#cfv-material-search, #import-text, #list-file, #previa-telha { scroll-margin-top: 0; }

/* Títulos acompanham a largura de cada coluna. */
:where(h1, h2, h3, h4) { text-wrap: balance; }
.hero h1 { font-size: clamp(2.1rem, 5vw, 4.8rem); }
@media (max-width: 420px) {
  .tool-panel h2 { font-size: clamp(1.65rem, 6.6vw, 2.15rem); }
  .catalog-page .material-hero h1, .tool-hero h1, .purpose-hero h1 {
    font-size: clamp(2rem, 7.6vw, 2.5rem);
  }
}
.guide-material { padding: 1rem; border: 1px solid #c3d9e5; background: #eef6fa; }
.guide-material .tool-note { margin: .5rem 0 0; }
.guide-material-results:not(:empty) { display: grid; gap: .35rem; max-height: 17rem; overflow: auto; margin-top: .5rem; }
.guide-material-option {
  padding: .55rem .7rem;
  min-height: 44px;
  border: 1px solid #c3d9e5;
  background: white;
  color: #153b52;
  text-align: left;
  cursor: pointer;
}
.guide-material-option:is(:hover,:focus-visible) { border-color: #0875a3; background: #e7f3f8; }
.guide-material #guide-material-custom { margin-top: .65rem; }

/* Atalhos visíveis durante a rolagem. */
html { scroll-padding-top: calc(var(--header-height) + var(--utility-height, 0px) + 16px); }
.utility-bar { position: sticky; top: var(--header-height); z-index: 19; }
.utility-bar .utility-inner { display: flex; flex-wrap: wrap; gap: 2px 16px; padding-block: 2px; }
.utility-bar .utility-inner > a:first-child, .utility-bar .buyer-tools > summary { min-height: 44px; }
.roof-preview { top: calc(var(--header-height) + var(--utility-height, 0px) + 20px); }
@media print { .utility-bar { position: static; } }

.hero-catalog-link {
  display: inline-flex; align-items: center; gap: .5rem;
  min-height: 44px; padding: .35rem .85rem; margin-top: .7rem;
  border: 1px solid #11779b; border-radius: 5px; color: #075575;
  font-weight: 650; background: #e9f5fb;
}
.hero-catalog-link:hover { background: #d7ecf8; }
.catalog-highlight {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  gap: clamp(.8rem, 2vw, 1.5rem); padding: clamp(1rem, 3vw, 1.9rem); margin: 0 0 1.6rem;
  background: #0a2b40; color: #fff; border-left: 4px solid #63c6e7; border-radius: 8px;
}
.catalog-highlight > svg { width: 40px; height: 40px; color: #8ad9f0; }
.catalog-highlight h3 { margin: 0; font-family: var(--display); font-size: clamp(1.55rem, 3vw, 2.4rem); line-height: 1.08; }
.catalog-highlight p { margin: .3rem 0 0; color: #d1e6ef; }
.catalog-highlight .catalog-pdf-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px;
  background: #7dd2ec; color: #092a3d; border-radius: 5px; padding: .6rem 1rem; font-weight: 700;
}
.catalog-highlight .catalog-pdf-button:hover { background: #b4e9f8; }
.catalog-highlight .catalog-pdf-button .document-meta { margin: 0; color: inherit; }
footer .footer-utility {
  --footer-button-width: 12.5rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, var(--footer-button-width)));
  grid-auto-rows: 1fr;
  justify-content: center;
  gap: .5rem;
  padding-block: 1.5rem;
}
footer .footer-utility > .folder-options--footer {
  grid-column: span 2;
  gap: inherit;
}
footer .footer-utility a {
  display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .45rem;
  min-height: 4.15rem; padding: .3rem .6rem; border: 1px solid #52798c; border-radius: 7px;
  background: #122f41; color: #e9f6fa; text-decoration: none;
}
footer .footer-utility .pdf-badge,
footer .footer-utility .footer-contact-button > svg:last-child { display: none; }
footer .footer-utility a.footer-document-button { background: #c8ebf6; border-color: #96cfe2; color: #0b3045; }
footer .footer-utility a.footer-document-button:hover { background: #e5f8fc; }
footer .footer-utility a:not(.footer-document-button):hover { background: #1b4055; }
footer .footer-utility strong { display: block; font-weight: 700; line-height: 1.2; }
footer .footer-utility a small {
  display: block;
  color: inherit;
  margin: .22rem 0 0;
  font-size: .75rem;
  line-height: 1.25;
  text-wrap: balance;
}
:is(.hero-catalog-link,.catalog-pdf-button,footer .footer-utility a):focus-visible { outline: 3px solid #5ac9ec; outline-offset: 3px; }
.quote-contact-fields { min-width: 0; border: 1px solid #bdd3e0; padding: 1rem; margin: .25rem 0 .6rem; }
.quote-contact-fields legend { padding-inline: .3rem; color: #163c53; font-weight: 700; }
.quote-contact-fields .tool-note { margin: .35rem 0 .7rem; }
@media (max-width: 840px) {
  footer .footer-utility { grid-template-columns: repeat(2, minmax(0, var(--footer-button-width))); }
}
@media (max-width: 480px) {
  footer .footer-utility > a small { display: none; }
}
@media (max-width: 740px) {
  .catalog-highlight { grid-template-columns: auto minmax(0, 1fr); }
  .catalog-highlight .catalog-pdf-button { grid-column: 1/-1; }
}

/* CTA and individual catalogue photography. */
.product-quote-bubble {
  display: inline-flex; align-items: center; gap: .65rem; min-height: 48px; margin-top: .8rem;
  padding: .7rem 1rem; border-radius: 999px; background: #0876a2; color: #fff;
  font-weight: 700; box-shadow: 0 4px 10px #08283d2a;
}
.product-quote-bubble:hover { background: #065c80; }
.product-quote-bubble:focus-visible { outline: 3px solid #1187b8; outline-offset: 3px; }
.product-quote-bubble svg { flex: none; }
.format-grid .product-family-photo { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; margin-bottom: 1rem; border-radius: 5px; }
.format-grid article[id] { scroll-margin-top: .75rem; }
.material-hero .product-family-photo, .application-grid .product-family-photo { display: block; width: 100%; height: auto; border-radius: 6px; }
.catalog-photo-note { margin-top: .9rem; color: var(--muted); font-size: .85rem; }

.bar-family-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 1050px) {
  .bar-family-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .bar-family-grid { grid-template-columns: minmax(0,1fr); }
}

/* Títulos de seção e chamadas compartilham a mesma margem de conteúdo. */
main h1[style*="--fit-title-size"],
main h2[style*="--fit-title-size"],
footer .footer-signature p[style*="--fit-title-size"] { font-size: var(--fit-title-size); }
.measure-title { white-space: nowrap !important; }
.tool-hero > .container { text-align: center; }
.tool-hero > .container h1 { max-width: none; margin-inline: auto; }
.tool-hero > .container .section-lead { margin-inline: auto; }
footer .footer-signature { text-align: center; }
footer .footer-signature p { max-width: none; margin-inline: auto; text-wrap: balance; }
footer .footer-signature p > span { display: inline; margin: 0; }

.footer-utility .footer-document-button {
  position: relative;
  border-left-width: 4px;
}
footer .footer-utility .footer-document-button {
  background: #e9f5fb;
  border-color: #8ec6dc;
  border-left-color: #56b4d8;
  color: #10364a;
}
footer .footer-utility .footer-document-button:hover { background: #fff; }
.pdf-badge {
  display: inline-block; align-self: center;
  padding: .15rem .32rem; border: 1px solid currentColor; border-radius: 3px;
  font-size: 0.75rem; line-height: 1.1; font-weight: 700; letter-spacing: .04em;
}
footer .footer-utility .footer-contact-button {
  border-radius: 999px; background: #123b51; color: #fff;
  border-color: #74bed9;
}
footer .footer-utility .footer-contact-button:hover { background: #205069; }
footer .footer-utility .footer-contact-button > svg:first-child { color: #8ce0f7; }
footer .footer-utility .footer-contact-button small { color: #cce7f2; }
.cta-chat-icon { display: inline-block; flex: none; vertical-align: -.2em; }
a:not(.button, .tool-btn) > .cta-chat-icon { margin-inline-end: .35em; }

.document-pdf-card { display: flex; flex-direction: column; min-width: 0; }
.document-pdf-card > .eyebrow { display: flex; align-items: center; gap: .55rem; }
.document-pdf-card > .eyebrow svg { flex: none; }
.document-pdf-card > .tool-actions { margin-top: auto; padding-top: 1.2rem; }
.document-pdf-card .document-meta { color: #405c6c; font-size: .875rem !important; }
.document-pdf-card .tool-link, .document-pdf-card .tool-btn { min-height: 44px; }
.document-pdf-card .tool-actions .tool-btn { flex: 0 1 auto; }
.cta-arrow { display: inline-block; flex: none; vertical-align: -.2em; }
.document-pdf-card .tool-link { display: inline-flex; align-items: center; }
.certificate-actions { align-items: stretch; }
.certificate-actions .tool-btn { flex: 0 1 auto; }
.book-layout > .founder-section-heading, .video-layout > .founder-section-heading {
  grid-column: 1 / -1; text-align: center; margin-bottom: 0;
}
.book-layout, .video-layout { row-gap: clamp(1.2rem, 3vw, 2.3rem); }
.book-download-actions { margin-block-start: 1.4rem; }
.book-download-actions .book-download { width: auto; justify-content: center; gap: .6rem; }
.book-download-actions .document-meta { display: block; margin-top: .65rem; }
.sales-public-facts > div { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.sales-public-facts > div > p { margin: 0; }
.sales-public-facts .sales-route-action { display: inline-flex; align-items: center; margin-top: auto; }
.sales-route-contacts { display: flex; flex-wrap: wrap; gap: .45rem; width: 100%; margin-top: auto; }
.sales-route-contacts .tool-link {
  display: inline-flex; align-items: center; min-height: 44px; padding: .35rem .55rem;
  background: #fff; border: 1px solid #acc7d5; border-radius: 4px;
  color: #075777; font-size: .9rem;
}
@media (max-width: 480px) {
  .certificate-actions .tool-btn { width: 100%; }
}

/* Ações do orçamento e referências de produto. */
.tool-actions.quote-direct-actions { gap: .75rem; align-items: stretch; }
.quote-direct-actions .tool-btn { flex: 0 1 auto; }
.quote-direct-actions .cta-chat-icon { flex: none; }
#cfv-product-variants .tool-actions { margin-top: 1rem; }
#cfv-product-variants .cfv-table-scroll {
  max-height: min(28rem, 52vh);
  overflow: auto;
  scrollbar-gutter: stable;
  border: 1px solid #a9c3d2;
  border-radius: 5px;
  margin: .75rem 0 0;
}
#cfv-product-variants .cfv-table-scroll:focus-visible { outline: 2px solid #0875a3; outline-offset: 3px; }
#cfv-product-variants table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
#cfv-product-variants :is(th,td) { min-width: 0; padding: .6rem .7rem; white-space: normal; overflow-wrap: anywhere; }
#cfv-product-variants thead th {
  position: sticky; top: 0; z-index: 1; text-align: left;
  background: #153b51; color: #fff;
}
#cfv-product-variants th:first-child { width: 58%; }
#cfv-product-variants th:nth-child(2) { width: 16%; }
#cfv-product-variants th:last-child { width: 26%; }
#cfv-product-variants tbody th { color: #122d3e; background: transparent; font-weight: 650; text-align: left; }
#cfv-product-variants tbody td { color: #122d3e; }
#cfv-product-variants tbody tr:nth-child(even) { background: #eef4f7; }
#cfv-product-variants td a { display: inline-flex; min-height: 44px; align-items: center; }
@media (max-width: 520px) {
  .tool-actions.quote-direct-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  #cfv-product-variants :is(th,td) { padding: .45rem .4rem; font-size: .82rem; }
  #cfv-product-variants th:first-child { width: 49%; }
  #cfv-product-variants th:nth-child(2) { width: 19%; }
  #cfv-product-variants th:last-child { width: 32%; }
}
@media print {
  #cfv-product-variants .cfv-table-scroll { max-height: none; overflow: visible; }
  #cfv-product-variants thead th { position: static; }
}

/* Botões e grupos de ações mantêm contraste e espaçamento em todas as páginas. */
:root {
  --action-blue: #0a648c;
  --action-blue-deep: #144963;
  --action-blue-hover: #103951;
  --action-gap: .75rem;
  --card-gap: clamp(1rem, 2vw, 1.5rem);
}
body :is(.button, .tool-btn, .product-quote-bubble, .hero-catalog-link),
body :is(.tool-btn.secondary, .button-outline, .catalog-highlight .catalog-pdf-button),
body .tool-actions > .tool-link {
  background: var(--action-blue);
  border-color: var(--action-blue);
  color: #fff;
}
body :is(.tool-btn.secondary, .button-outline),
body .tool-actions > .tool-link { background: var(--action-blue-deep); border-color: var(--action-blue-deep); }
body :is(.button, .tool-btn, .product-quote-bubble, .hero-catalog-link):hover,
body :is(.tool-btn.secondary, .button-outline, .catalog-highlight .catalog-pdf-button):hover,
body .tool-actions > .tool-link:hover {
  background: var(--action-blue-hover);
  border-color: var(--action-blue-hover);
  color: #fff;
}
body :is(.button, .tool-btn, .product-quote-bubble, .hero-catalog-link, .catalog-pdf-button, .tool-actions > .tool-link):focus-visible {
  outline: 2px solid #1686b0;
  outline-offset: 4px;
}
body :is(.button, .tool-btn) .document-meta { color: inherit; }
.tool-actions { gap: var(--action-gap); align-items: stretch; }
.tool-actions > :is(.tool-btn, .tool-link) { min-height: 44px; }
body .tool-actions > .tool-link {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .65rem .9rem; border: 1px solid var(--action-blue-deep); text-align: center; text-decoration: none;
}
.tool-actions > .tool-link:disabled { opacity: .6; cursor: not-allowed; }
footer .footer-utility a.footer-document-button {
  background: #174e69; border-color: #6cabc3; border-left-color: #a3d8e9; color: #fff;
}
footer .footer-utility a.footer-document-button:hover { background: #22617e; color: #fff; }
footer .footer-utility a.footer-contact-button { background: #123b51; color: #fff; }
footer .footer-utility a.footer-contact-button:hover { background: #205069; color: #fff; }
footer .footer-utility a small { color: #e5f4fa; }
footer .footer-utility .pdf-badge { color: #fff; }

.sales-grid { gap: var(--card-gap); }
.sales-grid > .sales-panel { margin-block: 0; }
.guide-segments { margin-top: var(--card-gap); }
.guide-segments > .sales-panel {
  display: flex; flex-direction: column; align-items: flex-start; gap: .65rem;
  padding: clamp(1rem, 2.2vw, 1.65rem);
}
.guide-segments > .sales-panel :is(h3,p) { margin: 0; }
.guide-segments details { width: 100%; margin-block: auto 0; }
.guide-segments details > summary { min-height: 44px; padding-block: .55rem; color: #0b577a; font-weight: 650; }
.guide-segments .tool-btn { text-align: center; }
.tool-actions.tool-shortcuts { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr)); }
@media (max-width: 480px) {
  .tool-actions > :is(.tool-btn, .tool-link) { flex: 0 1 auto; }
  .tool-actions.tool-shortcuts > a { width: 100%; }
}
.quick-actions :is(.quick-list, .quick-products) { background: var(--action-blue-deep); color: #fff; }
.quick-actions :is(.quick-list, .quick-products):hover { background: var(--action-blue-hover); color: #fff; }
.quick-actions .quick-list .cart-count { border: 1px solid #a4cfdf; }

/* Catálogo e busca de medidas */
#produtos .catalog-tools {
  grid-template-columns: minmax(0, 1fr);
  gap: .85rem;
  margin-bottom: 1rem;
  padding: clamp(1rem, 3vw, 1.65rem);
  border-radius: 14px;
  background: #eff7fb;
  border: 1px solid #c8deea;
}
#produtos .catalog-search label { color: #163d55; font-size: 1.125rem; font-weight: 700; }
#produtos .search-field { min-height: 50px; background: #fff; border-radius: 8px; }
#produtos .search-field input { font-size: 1rem; }
.catalog-kind-controls { display: flex; flex-wrap: wrap; gap: .45rem; }
.catalog-kind-controls button, #produtos .filter-buttons button {
  min-height: 44px; padding: .45rem .8rem; border: 1px solid #9ebccf; border-radius: 7px;
  background: #fff; color: #154961; font: inherit; font-weight: 650; cursor: pointer;
}
.catalog-kind-controls button[aria-pressed="true"], #produtos .filter-buttons button[aria-pressed="true"] {
  background: #0b5275; color: #fff; border-color: #0b5275;
}
#produtos .catalog-feedback-row { margin-top: .1rem; }
#produtos .direct-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,15.5rem),1fr)); gap: 1rem; }
#produtos .direct-product {
  display: flex; flex-direction: column; min-width: 0; border-radius: 11px;
  overflow: hidden; border: 1px solid #c8dce7; box-shadow: 0 4px 12px #0b344d0d;
}
#produtos .direct-product .catalog-card-photo { display: block; flex: none; }
#produtos .direct-product img { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 10; object-fit: cover; }
#produtos .direct-product-body { display: flex; flex-direction: column; gap: .45rem; padding: 1rem; flex: 1; min-width: 0; }
#produtos .direct-product h3 { margin: 0; font-size: 1.6rem; }
#produtos .direct-product p { margin: 0 0 .5rem; }
#produtos .direct-product .tool-actions { margin-top: auto; }
#produtos .direct-product .tool-actions a { min-height: 44px; flex: 1 1 auto; }
.catalog-kind {
  align-self: flex-start; font-size: .75rem; font-weight: 750; letter-spacing: .035em;
  background: #e4f2f8; color: #104b6b; padding: .22rem .55rem; border-radius: 6px;
}
.catalog-pagination { display: flex; justify-content: center; margin-top: 1.2rem; }
.material-lookup, #cfv-material-quick {
  background: #eff7fb; border: 1px solid #c6dce8; border-radius: 12px;
  padding: clamp(1rem, 3vw, 1.3rem);
}
.material-lookup input[type="search"], #cfv-material-search { min-height: 50px; border-radius: 8px; background: #fff; }
.material-lookup .tool-note, .cfv-quick-note { margin-top: .55rem; }
.material-matches, .cfv-material-results { max-height: 22rem; overflow-y: auto; padding: .2rem; }
.material-match, .cfv-match { min-height: 48px; }
#cfv-product-variants > .tool-note, #cfv-product-variants > .tool-status { margin-block: .6rem; }
@media (max-width: 520px) {
  #produtos .direct-grid { grid-template-columns: 1fr; }
  #produtos .direct-product { display: grid; grid-template-columns: minmax(0, 31%) minmax(0, 1fr); }
  #produtos .direct-product img { height: 100%; aspect-ratio: auto; }
  #produtos .direct-product-body { padding: .75rem; }
  #produtos .direct-product h3 { font-size: 1.35rem; }
  #produtos .direct-product p { font-size: .875rem; }
}

#material-search-more, #cfv-material-more { margin-top: .7rem; }
.catalog-pagination:has(button[hidden]) { display: none; }
#produtos .catalog-card-photo:focus-visible { outline-offset: -3px; }

/* Fichas e aplicações seguem a mesma ordem de leitura. */
.material-hero-grid, .application-grid {
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
}
.material-hero-grid > figure, .application-grid > figure {
  align-self: start;
  width: 100%;
}
.format-grid .section-shape {
  float: none;
  margin: 0 0 1rem;
}
.format-grid .product-family-photo { clear: both; }

.locator-quick-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin-top: .55rem;
  font-size: .82rem;
  color: #365468;
}
.locator-quick-chips > span {
  font-weight: 600;
  margin-right: .15rem;
}
.locator-chip {
  appearance: none;
  border: 1px solid #b3c7d4;
  background: #f3f8fb;
  color: #0b4a68;
  border-radius: 999px;
  padding: .28rem .68rem;
  min-height: 32px;
  font: inherit;
  font-size: .8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.locator-chip:is(:hover, :focus-visible) {
  background: #075878;
  border-color: #075878;
  color: #fff;
}

.founder-audio-player {
  margin-block: 1rem;
}
.founder-audio-player > p {
  margin-block: 0 .35rem;
  font-weight: 700;
}
.founder-audio-player > audio {
  display: block;
  width: 100%;
  max-width: 460px;
}
#area-cities-lists [hidden] {
  display: none;
}
