/*
Theme Name: Kraus & Naimer Blocos
Theme URI: https://www.krausnaimer.com.br/
Author: Kraus & Naimer Brasil
Description: Tema de blocos institucional e de catálogo para a Kraus & Naimer Brasil.
Version: 0.1.1
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: krausnaimer
*/

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .18em; }
.wp-site-blocks { overflow: clip; }
.kn-sticky-header { position: sticky; top: 0; z-index: 100; box-shadow: 0 1px 0 rgba(10, 42, 75, .09); }
.kn-eyebrow { letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.kn-card { height: 100%; transition: transform .2s ease, box-shadow .2s ease; }
.kn-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0, 56, 111, .12); }
.kn-icon-badge { display: inline-grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 1rem; background: var(--wp--preset--color--blue-50); color: var(--wp--preset--color--blue-700); font-weight: 800; }
.kn-hero { min-height: clamp(31rem, 68vh, 47rem); }
.kn-hero .wp-block-cover__inner-container { width: 100%; }
.kn-spec-table { width: 100%; border-collapse: collapse; }
.kn-spec-table th, .kn-spec-table td { padding: .85rem 1rem; border-bottom: 1px solid var(--wp--preset--color--gray-200); text-align: left; }
.kn-spec-table th { width: 34%; color: var(--wp--preset--color--blue-900); }
.kn-product-filter { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.kn-product-filter select, .kn-product-filter input { width: 100%; min-height: 3rem; border: 1px solid var(--wp--preset--color--gray-200); border-radius: .55rem; padding: .65rem .8rem; background: #fff; }
.kn-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.kn-product-card { border: 1px solid var(--wp--preset--color--gray-200); border-radius: 1rem; overflow: hidden; background: #fff; }
.kn-product-card__body { padding: 1.25rem; }
.kn-product-card img { aspect-ratio: 4 / 3; width: 100%; object-fit: contain; background: #f7f9fb; }
.kn-hidden { display: none !important; }
@media (max-width: 900px) {
  .kn-product-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kn-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kn-desktop-only { display: none !important; }
}
@media (max-width: 600px) {
  .kn-product-filter, .kn-product-grid { grid-template-columns: 1fr; }
  .kn-hero { min-height: 34rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
