/* Products: a compact working catalogue within the established Griddy theme. */
#appMain #productsPage [hidden] {display:none!important}
html.griddy-motion #appMain #productsPage.active {animation:none!important}
#appMain #productsPage .internal-hero {min-height:0!important;padding:48px 0 32px!important}
#appMain #productsPage .internal-hero h1 {max-width:24ch;font-size:clamp(1.8rem,3.2vw,2.5rem)!important;line-height:1.2!important}
#appMain #productsPage .internal-hero p {max-width:68ch;font-size:1rem!important;line-height:1.6!important}
/* The section ID takes precedence over the shared theme's :not(#inicio) rule. */
#appMain #productsPage #productCatalogSection {padding:24px 0 56px!important}
#appMain #productsPage .catalog-layout {grid-template-columns:240px minmax(0,1fr)!important;gap:24px!important}
#appMain #productsPage .catalog-intro-wide {display:block!important;grid-column:1/-1;min-width:0;padding:0!important;border-bottom:0!important}
#appMain #productsPage .catalog-search-row {display:flex;align-items:center;gap:12px;min-width:0}
#appMain #productsPage .catalog-search-row .search-box {max-width:none!important}
#appMain #productsPage .catalog-search-help {margin:8px 0 20px!important;font-size:.875rem!important;color:var(--slate);line-height:1.5}
#appMain #productsPage .catalog-guide {margin:0 0 16px!important}
#appMain #productsPage .catalog-guide-content {gap:24px!important}
#appMain #productsPage .catalog-guide .page-heading {font-size:1.5rem!important;line-height:1.3!important}
#appMain #productsPage .catalog-guide .page-copy {font-size:1rem!important;line-height:1.6!important}
#appMain #productsPage .product-guide-grid button {min-height:96px!important;padding:16px!important;transform:none!important}
#appMain #productsPage .product-guide-grid button b {display:block;font-size:1rem!important;line-height:1.4!important}
#appMain #productsPage .product-guide-grid button span {display:block;font-size:.875rem!important;line-height:1.5!important;margin-top:6px}
#appMain #productsPage .product-guide-grid button[aria-pressed="true"] {background:var(--ice)!important;border-color:var(--azure)!important}
#appMain #productsPage .product-scope-switch {display:flex!important;flex-wrap:wrap;gap:8px!important}
#appMain #productsPage .product-scope-switch button {flex:0 1 auto;width:auto!important;min-height:44px;padding:10px 16px;font-size:.875rem!important}
#appMain #productsPage :is(#productSearchClear,.filter-panel-head button,.product-active-filters button) {min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--azure-dark);font-size:.875rem;font-weight:600;line-height:1.4;cursor:pointer}
#appMain #productsPage #productSearchClear {flex:none}
#appMain #productsPage .filter-panel {position:sticky!important;top:88px!important;max-height:calc(100dvh - 112px);overflow:auto;padding:16px!important;scroll-padding:12px}
#appMain #productsPage .filter-groups {display:block!important}
#appMain #productsPage #filterToggle {display:none!important}
#appMain #productsPage .filter-panel-head {display:block}
#appMain #productsPage .filter-panel-head h2 {font-size:1.125rem!important;margin:0 0 8px!important}
#appMain #productsPage .filter-panel-head > div {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
#appMain #productsPage .filter-group {min-width:0;margin:16px 0 0;padding:8px 0 0;border:0;border-top:1px solid var(--line)}
#appMain #productsPage .filter-group legend {padding:0 8px 0 0;font-size:.875rem;font-weight:700;color:var(--ink)}
#appMain #productsPage .filter-group label {display:flex!important;align-items:center;gap:8px;min-height:44px;margin:0!important;padding:6px 0;font-size:.875rem!important;line-height:1.45!important;cursor:pointer}
#appMain #productsPage .filter-group input {width:18px;height:18px;flex:0 0 18px;margin:0}
#appMain #productsPage .product-filter-count {margin-left:auto;color:var(--slate);font-size:.8125rem;font-variant-numeric:tabular-nums}
#appMain #productsPage .catalog-results-head {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px}
#appMain #productsPage .catalog-results-title {font-size:1.25rem!important;line-height:1.4!important;margin:0!important;scroll-margin-top:96px}
#appMain #productsPage .catalog-count {font-size:.875rem!important;color:var(--slate);white-space:normal!important}
#appMain #productsPage .product-active-filters {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
#appMain #productsPage .product-active-filters button {background:var(--ice)}
#appMain #productsPage .product-active-filters button span {padding-left:6px;font-size:1.2rem;line-height:1}
#appMain #productsPage .catalog-network-help {padding:12px 16px;background:var(--ice);border-radius:10px;color:var(--slate);font-size:.875rem!important;line-height:1.5!important;margin:0 0 16px!important}
#appMain #productsPage .document-governance {display:block!important;margin:0 0 20px!important;padding:12px 16px!important}
#appMain #productsPage .document-governance-icon {display:none!important}
#appMain #productsPage .document-governance h3 {font-size:.875rem!important;margin:0 0 4px!important}
#appMain #productsPage .document-governance p {font-size:.875rem!important;line-height:1.55!important;margin:0!important}
#appMain #productsPage .product-comparison-jump {padding:12px 16px!important;margin:0 0 16px!important;font-size:.875rem!important}
#appMain #productsPage .product-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
#appMain #productsPage .product-card-v2 {display:flex!important;flex-direction:column!important;min-height:0!important;padding:0!important;grid-template-columns:none!important;border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden!important;background:var(--card)!important;box-shadow:none!important;transform:none!important}
#appMain #productsPage .product-card-link {display:flex;flex:1;flex-direction:column;min-width:0;text-decoration:none;color:inherit}
#appMain #productsPage .product-card-link:focus-visible {outline-offset:-4px}
#appMain #productsPage .catalog-product-visual {position:relative!important;display:flex!important;flex:none!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:0!important;height:190px!important;padding:34px 20px 28px!important;background:#F3F8FC!important;overflow:hidden!important;box-sizing:border-box}
#appMain #productsPage .catalog-product-visual::before,#appMain #productsPage .catalog-product-visual::after {display:none!important}
#appMain #productsPage .catalog-product-visual img {display:block!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;transform:none!important;filter:none!important}
#appMain #productsPage .product-origin {position:absolute!important;top:10px!important;left:12px!important;right:auto!important;font-size:.75rem!important;line-height:1.4!important;max-width:calc(100% - 24px)}
#appMain #productsPage .catalog-media-note {position:absolute;bottom:8px;left:12px;right:12px;text-align:center;font-size:.75rem;line-height:1.4;color:var(--slate)}
#appMain #productsPage .catalog-no-photo {max-width:20ch;text-align:center;color:var(--slate);font-size:.875rem;line-height:1.6}
#appMain #productsPage .product-body {display:flex!important;flex:1;flex-direction:column;gap:10px;padding:20px!important;min-width:0}
#appMain #productsPage .catalog-product-category {font-size:.8125rem!important;color:var(--slate)!important;line-height:1.5!important;margin:0!important}
#appMain #productsPage .product-body h3 {display:block!important;max-height:none!important;height:auto!important;overflow:visible!important;-webkit-line-clamp:unset!important;font-size:1.125rem!important;line-height:1.4!important;margin:0!important;white-space:normal!important;text-overflow:clip!important;letter-spacing:-.01em!important}
#appMain #productsPage .product-code {display:block!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;font-size:.8125rem!important;line-height:1.55!important;overflow-wrap:anywhere;white-space:normal!important;color:var(--slate)!important}
#appMain #productsPage .catalog-product-application {font-size:1rem!important;line-height:1.6!important;margin:0!important}
#appMain #productsPage .catalog-product-specs {display:grid;gap:8px;list-style:disc;margin:2px 0!important;padding:0 0 0 18px!important;font-size:.875rem;line-height:1.55;color:var(--ink)}
#appMain #productsPage .catalog-product-specs li {padding:0;margin:0;overflow-wrap:break-word}
#appMain #productsPage .product-scope-note {font-size:.75rem!important;line-height:1.5!important;color:var(--slate)!important;margin:0!important}
#appMain #productsPage .catalog-card-action {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:auto;padding-top:12px;font-size:.875rem;font-weight:700;color:var(--azure-dark)}
#appMain #productsPage .catalog-card-comparison {padding:0 20px 12px}
#appMain #productsPage .catalog-card-comparison a {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.4;color:var(--azure-dark);text-underline-offset:3px}
#appMain #productsPage .catalog-more {min-height:44px;margin:24px auto 0!important;font-size:.875rem!important}
#appMain #productsPage .empty-state {text-align:left!important;padding:24px!important}
#appMain #productsPage .empty-state h3 {font-size:1.25rem!important;margin-top:0}
#appMain #productsPage .empty-state p {font-size:1rem!important;line-height:1.6!important}
#appMain #productsPage #productComparisonSection {padding-top:40px!important;border-top:1px solid var(--line)}
#appMain #productsPage #comparacao-hibridos {scroll-margin-top:96px}
#appMain #productsPage .product-comparison-table {min-width:640px}
#appMain #productsPage .product-comparison-table tr > :first-child {position:sticky;left:0;width:180px;z-index:1;background:var(--card)}
#appMain #productsPage .product-comparison-table :is(thead,tfoot) tr > :first-child {background:var(--ice);z-index:2}
#appMain #productsPage .product-comparison-table td {transition:background-color 160ms ease}
#appMain #productsPage .is-differences tr[data-comparison-shared="false"] td {background:#F3F8FC}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  #appMain #productsPage .product-card-v2 {transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease!important}
  #appMain #productsPage .product-card-v2:hover {transform:translateY(-2px)!important;border-color:var(--azure)!important;box-shadow:0 6px 18px #0B1F3A0D!important}
  #appMain #productsPage .catalog-card-action > span {transition:transform 180ms ease}
  #appMain #productsPage .product-card-link:hover .catalog-card-action > span {transform:translateX(2px)}
}
@media(max-width:1100px) {#appMain #productsPage .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px) {
  #appMain #productsPage .catalog-layout {grid-template-columns:minmax(0,1fr)!important}
  #appMain #productsPage .filter-panel {position:static!important;max-height:none;overflow:visible}
  #appMain #productsPage .filter-panel-head {display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
  #appMain #productsPage .filter-panel-head h2 {margin:0!important}
  #appMain #productsPage .filter-panel-head > div {flex:1;justify-content:flex-end}
  #appMain #productsPage #filterToggle {display:block!important}
  #appMain #productsPage .filter-groups {display:none!important}
  #appMain #productsPage .filter-panel.open .filter-groups {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px}
  #appMain #productsPage .catalog-guide-content {grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:700px) {
  #appMain #productsPage .product-comparison-table tr > :first-child {width:150px}
  #appMain #productsPage .product-comparison-table tbody td::before {content:attr(data-model-label);display:block;margin-bottom:6px;color:var(--slate);font-size:.8125rem}
}
@media(max-width:600px) {
  #appMain #productsPage .internal-hero {padding:32px 0 16px!important}
  #appMain #productsPage #productCatalogSection {padding-top:16px!important}
  #appMain #productsPage .catalog-layout {gap:16px!important}
  #appMain #productsPage .catalog-search-row {flex-wrap:wrap}
  #appMain #productsPage .catalog-search-row .search-box {flex-basis:100%}
  #appMain #productsPage .product-grid {grid-template-columns:minmax(0,1fr)!important}
  #appMain #productsPage .filter-panel.open .filter-groups {grid-template-columns:minmax(0,1fr)!important;gap:0}
  #appMain #productsPage .product-scope-switch button {flex:1 1 140px;width:auto!important}
  #appMain #productsPage .product-guide-grid {grid-template-columns:minmax(0,1fr)!important}
  #appMain #productsPage .catalog-product-visual {height:180px!important}
}
@media(prefers-reduced-motion:reduce) {
  #appMain #productsPage,#appMain #productsPage * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
  #appMain #productsPage .product-card-v2:hover,#appMain #productsPage .catalog-card-action > span {transform:none!important}
}
