/* Vitrine comercial: fotos e produtos antes da explicação de compra. */
.intro-inner { grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 48px; padding: 38px 0; min-height: 350px; }
.intro h1 { font-size: clamp(2.35rem, 4.1vw, 3.85rem); max-width: 650px; line-height: 1.06; }
.intro-copy { max-width: 550px; font-size: .94rem; line-height: 1.5; }
.intro-actions { margin-top: 20px; }
.intro-stats { display: flex; gap: 20px; border: 0; background: none; margin-top: 22px; padding: 0; }
.intro-stat { display: flex; align-items: baseline; gap: 6px; min-height: 0; padding: 0; border: 0; background: none; }
.intro-stat strong { font-size: .91rem; }
.intro-stat span { margin: 0; font-size: .73rem; color: #c1cac4; }
.finish-preview { position: relative; display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 140px 140px; gap: 12px; text-decoration: none; color: #fff; }
.finish-preview img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 12px; background: #eee; }
.finish-preview .finish-main { grid-row: 1 / 3; border-radius: 18px 10px 10px 18px; }
.finish-caption { position: absolute; left: 15px; bottom: 15px; display: grid; gap: 4px; padding: 12px 15px; border: 1px solid #ffffff33; border-radius: 10px; background: #1c2422e8; }
.finish-caption small { color: #e1c4ae; font-size: .65rem; letter-spacing: .09em; text-transform: uppercase; }
.finish-caption strong { font-size: .94rem; }
.finish-caption span { font-size: .7rem; color: #ddd; }
.finish-preview:focus-visible { outline: 3px solid #ffb47a; outline-offset: 5px; border-radius: 18px; }
.category-showcase-wrap { width: min(var(--max), calc(100% - 32px)); margin: 28px auto 12px; }
.category-showcase-heading { margin: 0 0 13px; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.category-showcase-heading h2 { margin: 0; font-size: 1.13rem; letter-spacing: -.025em; }
.category-showcase-heading p { margin: 0; font-size: .78rem; color: var(--muted); }
.category-showcase { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.category-tile { display: grid; grid-template-columns: 65px minmax(0, 1fr); gap: 12px; align-items: center; padding: 13px; min-height: 95px; color: var(--ink); text-decoration: none; border: 1px solid #e1e3dc; border-radius: 14px; background: #fff; transition: border-color .16s, transform .16s; }
.category-tile:hover { border-color: var(--orange); transform: translateY(-2px); }
.category-tile img { width: 65px; height: 65px; object-fit: contain; border-radius: 7px; }
.category-tile strong { display: block; font-size: .78rem; line-height: 1.25; }
.category-tile small { display: block; margin-top: 7px; color: var(--orange-dark); font-size: .67rem; font-weight: 750; }
.category-tile:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.category-tile-empty { font-size: 1.3rem; text-align: center; color: #a4aca5; }
.layout { margin-top: 30px; }
.catalog-heading p { max-width: 470px; }
.product-media { aspect-ratio: 1 / 1; background: #fff; }
.product-media img { padding: 18px; }
.product-media .badge { background: #f4f3edf2; color: #5c645e; border: 1px solid #e7e6df; box-shadow: none; backdrop-filter: none; }
.product-body { padding: 16px; min-height: 214px; }
.product-body h2 { -webkit-line-clamp: 3; font-size: .93rem; line-height: 1.33; min-height: 3.9em; }
.product-measure { margin: 6px 0 0; font-size: .71rem; color: #747b76; line-height: 1.35; }
.product-code { font-weight: 500; font-size: .61rem; }
.price-row { padding-top: 14px; }
.price .price-label { margin-bottom: 5px; font-size: .67rem; color: #667168; }
.price strong { font-size: 1.55rem; color: #1e4838; line-height: 1.1; }
.price strong em { margin-left: 4px; font-size: .68rem; font-style: normal; color: #69746d; font-weight: 600; letter-spacing: 0; }
.price .card-installments { font-size: .7rem; line-height: 1.4; color: #505b54; }
.price .stock-status { display: inline-flex; align-items: center; gap: 5px; margin-top: 9px; font-size: .65rem; }
.stock-status.available { color: #26834d; }
.stock-status.available::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.card-actions { margin-top: 14px; }
.btn-detail { min-width: 62px; }
.mobile-cart[hidden] { display: none; }
.purchase-flow-wrap { margin: 32px auto; }
.purchase-flow { box-shadow: none; }
.flow-step { min-height: 100px; }
@media (max-width: 1180px) {
  .category-tile { grid-template-columns: 1fr; gap: 8px; text-align: center; }
  .category-tile img { margin: auto; }
  .intro-inner { gap: 28px; }
}
@media (max-width: 880px) {
  .intro-inner { grid-template-columns: 1.1fr .9fr; gap: 20px; }
  .finish-preview { grid-template-rows: 125px 125px; gap: 8px; }
  .intro h1 { font-size: 2.4rem; }
  .intro-stats { gap: 15px; }
  .intro-stat { flex-wrap: wrap; gap: 2px 6px; }
  .category-showcase { gap: 8px; }
  .category-tile { padding: 12px 8px; }
}
@media (max-width: 620px) {
  .intro-inner { padding: 26px 0 24px; gap: 22px; }
  .intro h1 { font-size: clamp(2.15rem, 8.8vw, 3rem); max-width: 430px; }
  .intro-copy { font-size: .85rem; }
  .intro-stats { gap: 16px; margin-top: 17px; }
  .intro-stat { display: flex; width: auto; min-height: 0; padding: 0; }
  .intro-stat strong { font-size: .83rem; }
  .intro-stat span { font-size: .64rem; }
  .finish-preview { grid-template-columns: 1.2fr 1fr 1fr; grid-template-rows: 150px; gap: 8px; }
  .finish-preview .finish-main { grid-row: auto; border-radius: 10px; }
  .finish-caption { left: 9px; bottom: 9px; padding: 8px 10px; }
  .finish-caption small, .finish-caption span { display: none; }
  .finish-caption strong { font-size: .76rem; }
  .category-showcase-wrap { width: calc(100% - 20px); margin-top: 22px; }
  .category-showcase-heading h2 { font-size: 1rem; }
  .category-showcase-heading p { display: none; }
  .category-showcase { grid-template-columns: repeat(5, 112px); overflow-x: auto; padding: 2px 1px 10px; scroll-snap-type: x proximity; }
  .category-tile { min-width: 0; min-height: 135px; scroll-snap-align: start; padding: 10px 8px; }
  .category-tile img { width: 64px; height: 64px; }
  .category-tile strong { font-size: .69rem; }
  .category-tile small { font-size: .61rem; margin-top: 5px; }
  .layout { margin-top: 22px; }
  .catalog-heading h2 { font-size: 1.4rem; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-card { border-radius: 13px; }
  .product-media { aspect-ratio: 1 / 1; }
  .product-media img { padding: 10px; }
  .product-media .badge { display: none; }
  .product-body { padding: 11px; }
  .product-meta { align-items: baseline; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
  .product-brand { font-size: .56rem; }
  .product-code { font-size: .52rem; }
  .product-body h2 { font-size: .77rem; min-height: 4em; }
  .product-measure { font-size: .63rem; }
  .price .price-label { font-size: .56rem; }
  .price strong { font-size: 1.22rem; }
  .price strong em { font-size: .59rem; margin-left: 2px; }
  .price .card-installments, .price .stock-status { font-size: .58rem; }
  .price-row { padding-top: 11px; }
  .card-actions { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .card-actions .btn { width: 100%; min-height: 39px; font-size: .68rem; }
  .card-actions .btn-detail { min-height: 29px; border: 0; background: none; font-size: .64rem; }
  .product-placeholder span { font-size: .52rem; bottom: 14px; }
  .product-placeholder::before { width: 42px; height: 42px; font-size: 1.4rem; border-radius: 12px; }
  .image-note { font-size: .5rem; }
  .purchase-flow-wrap { margin: 25px auto; }
}
@media (prefers-reduced-motion: reduce) {
  .category-tile, .product-card, .product-media img { transition: none; }
}
