/* ==========================================================================
   GRÁFICA RÁPIDA IGUASSU — Catálogo Oficial & Orçamento Online
   Design: Versão Clean White • Fotos em Destaque • Banner Rotativo
   ========================================================================== */

:root {
  --bg-body: #FFFFFF;
  --bg-card: #FFFFFF;
  --bg-card-subtle: #F8FAFC;
  --bg-input: #FFFFFF;

  --border: #E2E8F0;
  --border-subtle: #F1F5F9;
  --border-focus: #DC2626;

  --text-main: #0F172A;
  --text-muted: #475569;
  --text-dim: #94A3B8;

  /* Vermelho Gráfico Oficial da Logo (Gráfica Rápida Iguassu) */
  --primary: #DC2626;
  --primary-hover: #B91C1C;
  --primary-light: #FEF2F2;
  --primary-border: #FECACA;

  /* Cores CMYK Oficiais de Impressão */
  --cmyk-c: #00A3E0;
  --cmyk-m: #E5007D;
  --cmyk-y: #EAB308;
  --cmyk-k: #0F172A;

  --emerald: #059669;
  --emerald-hover: #047857;
  --emerald-light: #ECFDF5;
  --emerald-border: #A7F3D0;

  --whatsapp: #16A34A;
  --whatsapp-hover: #15803D;
  --whatsapp-light: #F0FDF4;

  --amber: #D97706;
  --amber-light: #FFFBEB;

  --font: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --mono: 'JetBrains Mono', monospace;

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 28px rgba(0, 0, 0, 0.08);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body.catalog-body {
  background: var(--bg-body);
  color: var(--text-main);
  font-family: var(--font);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button {
  cursor: pointer;
  font-family: inherit;
  border: none;
  background: none;
}

/* ═══════════════════════════════════════
   1. TOP BAR & NAVEGAÇÃO
   ═══════════════════════════════════════ */
.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #0B0F17;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  transition: all 0.25s ease;
}

.topbar-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0.65rem 1.5rem;
  display: flex;
  align-items: center;
  min-height: 66px;
  gap: 1.25rem;
}

.topbar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 800;
  font-size: 1.12rem;
  white-space: nowrap;
  flex-shrink: 0;
  color: #FFFFFF;
}

.topbar-logo-img {
  height: 44px;
  width: auto;
  max-width: 170px;
  object-fit: contain;
  display: block;
  transition: transform 0.2s var(--ease);
}

.topbar-brand:hover .topbar-logo-img {
  transform: scale(1.02);
}

/* Linhas CMY no contorno inferior da barra do topo */
.topbar-cmy-strip {
  display: flex;
  height: 3.5px;
  width: 100%;
  flex-shrink: 0;
}

.topbar-cmy-strip .cmy-segment {
  flex: 1;
  height: 100%;
}

.topbar-cmy-strip .cmy-c { background: var(--cmyk-c); }
.topbar-cmy-strip .cmy-m { background: var(--cmyk-m); }
.topbar-cmy-strip .cmy-y { background: var(--cmyk-y); }

/* Busca Instantânea na Topbar */
.topbar-search {
  flex: 1;
  max-width: 580px;
  position: relative;
  display: flex;
  align-items: center;
}

.topbar-search-icon {
  position: absolute;
  left: 0.95rem;
  color: #94A3B8;
  pointer-events: none;
  display: flex;
  align-items: center;
}

.topbar-search input {
  width: 100%;
  height: 42px;
  padding: 0 1rem 0 2.6rem;
  border-radius: var(--r-md);
  background: #1E293B;
  border: 1px solid #334155;
  color: #F8FAFC;
  font-size: 0.88rem;
  font-family: inherit;
  outline: none;
  transition: all 0.2s ease;
}

.topbar-search input:focus {
  background: #0F172A;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.25);
}

.topbar-search input::placeholder {
  color: #94A3B8;
}

/* Dropdown de Autocomplete */
.search-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  z-index: 150;
  max-height: 420px;
  overflow-y: auto;
}

.search-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.65rem 0.9rem;
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  transition: background 0.15s ease;
  text-decoration: none;
  color: inherit;
}

.search-dropdown-item:last-child {
  border-bottom: none;
}

.search-dropdown-item:hover {
  background: var(--bg-card-subtle);
}

.search-dropdown-thumb {
  width: 44px;
  height: 44px;
  border-radius: var(--r-sm);
  object-fit: contain;
  background: #FFFFFF;
  border: 1px solid var(--border);
  flex-shrink: 0;
  padding: 2px;
}

.search-dropdown-info {
  flex: 1;
  min-width: 0;
}

.search-dropdown-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-main);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-dropdown-cat {
  font-size: 0.72rem;
  color: var(--text-muted);
}

.search-dropdown-price {
  font-family: var(--mono);
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--emerald);
  white-space: nowrap;
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
}

/* Botão Carrinho */
.topbar-cart-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.52rem 0.95rem;
  border-radius: var(--r-md);
  background: #1E293B;
  border: 1px solid #334155;
  color: #F8FAFC;
  font-weight: 600;
  font-size: 0.85rem;
  transition: all 0.2s ease;
}

.topbar-cart-btn:hover {
  background: #334155;
  border-color: #475569;
}

.cart-icon {
  display: flex;
  align-items: center;
  color: #CBD5E1;
}

.cart-badge {
  background: var(--primary);
  color: #FFFFFF;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  min-width: 18px;
  text-align: center;
}

/* Botão WhatsApp Topbar */
.topbar-wa {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.52rem 1.1rem;
  border-radius: var(--r-md);
  background: var(--whatsapp);
  border: 1px solid var(--whatsapp);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.85rem;
  transition: all 0.2s ease;
}

.topbar-wa:hover {
  background: var(--whatsapp-hover);
  border-color: var(--whatsapp-hover);
  transform: translateY(-1px);
}

.mobile-toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-md);
  border: 1px solid #334155;
  color: #FFFFFF;
  background: #1E293B;
}

.mobile-toggle svg {
  width: 20px;
  height: 20px;
}

/* ═══════════════════════════════════════
   2. BREADCRUMB
   ═══════════════════════════════════════ */
.breadcrumb-bar {
  background: #FFFFFF;
  border-bottom: 1px solid var(--border);
  padding: 0.65rem 0;
}

.breadcrumb-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: var(--text-muted);
  overflow-x: auto;
  white-space: nowrap;
}

.breadcrumb-inner a {
  color: var(--text-muted);
  transition: color 0.15s ease;
  font-weight: 500;
}

.breadcrumb-inner a:hover {
  color: var(--primary);
}

.breadcrumb-inner .sep {
  color: var(--text-dim);
  font-size: 0.9rem;
}

.breadcrumb-inner .current {
  color: var(--text-main);
  font-weight: 700;
}

/* ═══════════════════════════════════════
   3. BANNER ROTATIVO SUPERIOR (HERO CAROUSEL)
   ═══════════════════════════════════════ */
.hero-carousel {
  position: relative;
  max-width: 1440px;
  margin: 1rem auto 1.5rem;
  height: 380px;
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  background: #FFFFFF;
}

.carousel-track {
  width: 100%;
  height: 100%;
  position: relative;
}

.carousel-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s var(--ease);
}

.carousel-slide.active {
  opacity: 1;
  pointer-events: auto;
}

.carousel-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 48%, rgba(255, 255, 255, 0.5) 75%, rgba(255, 255, 255, 0.2) 100%);
}

.carousel-slide-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  align-items: center;
  padding: 2.5rem 3.5rem;
  gap: 2rem;
}

.carousel-slide-text {
  max-width: 580px;
}

.carousel-badge {
  display: inline-block;
  background: var(--primary-light);
  color: var(--primary);
  border: 1px solid var(--primary-border);
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.75rem;
}

.carousel-title {
  font-size: 2.15rem;
  font-weight: 900;
  color: var(--text-main);
  line-height: 1.18;
  letter-spacing: -0.025em;
  margin-bottom: 0.65rem;
}

.carousel-desc {
  font-size: 0.95rem;
  color: var(--text-muted);
  line-height: 1.55;
  margin-bottom: 1.4rem;
}

.carousel-slide-footer {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.carousel-price {
  font-family: var(--mono);
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--emerald);
  background: var(--emerald-light);
  border: 1px solid var(--emerald-border);
  padding: 0.45rem 0.95rem;
  border-radius: var(--r-sm);
}

.carousel-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--primary);
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 700;
  padding: 0.65rem 1.4rem;
  border-radius: var(--r-md);
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.28);
  transition: all 0.2s ease;
}

.carousel-btn:hover {
  background: var(--primary-hover);
  transform: translateX(3px);
  box-shadow: 0 6px 18px rgba(220, 38, 38, 0.35);
}

.carousel-slide-image {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.carousel-slide-image img {
  max-height: 290px;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.12));
  transition: transform 0.5s var(--ease);
}

.carousel-slide:hover .carousel-slide-image img {
  transform: scale(1.05);
}

/* Banner de Arte Pronta / Imagem Completa (1440x380) */
.carousel-slide-fullimage {
  background: #0B0F17;
}

.carousel-full-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
}

.carousel-full-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.carousel-full-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s var(--ease, ease);
}

.carousel-slide-fullimage:hover .carousel-full-img {
  transform: scale(1.02);
}

/* Setas de Navegação */
.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--border);
  color: var(--text-main);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 10;
  cursor: pointer;
  transition: all 0.2s ease;
}

.carousel-prev {
  left: 1.25rem;
}

.carousel-next {
  right: 1.25rem;
}

.carousel-arrow:hover {
  background: #FFFFFF;
  color: var(--primary);
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

/* Indicadores / Dots */
.carousel-dots {
  position: absolute;
  bottom: 1.25rem;
  left: 3.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  z-index: 10;
}

.carousel-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #CBD5E1;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.carousel-dot.active {
  width: 28px;
  background: var(--primary);
}

/* ═══════════════════════════════════════
   4. TRUST BAR & FILTROS DE CATEGORIA
   ═══════════════════════════════════════ */
.home-trust-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem;
  max-width: 1440px;
  margin: 0 auto 1.5rem;
}

.home-trust-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  background: #FFFFFF;
  border: 1px solid var(--border);
  padding: 0.75rem 1rem;
  border-radius: var(--r-md);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-muted);
  box-shadow: var(--shadow-sm);
}

.home-trust-item svg {
  color: var(--primary);
  flex-shrink: 0;
}

/* Abas de Filtros */
.category-filter-tabs {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 0.5rem 0 1.25rem;
  max-width: 1440px;
  margin: 0 auto;
  scrollbar-width: none;
}

.category-filter-tabs::-webkit-scrollbar {
  display: none;
}

.filter-tab-btn {
  padding: 0.55rem 1.15rem;
  border-radius: var(--r-md);
  background: #FFFFFF;
  border: 1px solid var(--border);
  color: var(--text-muted);
  font-weight: 600;
  font-size: 0.85rem;
  white-space: nowrap;
  box-shadow: var(--shadow-sm);
  transition: all 0.2s ease;
}

.filter-tab-btn:hover {
  background: var(--bg-card-subtle);
  color: var(--text-main);
  border-color: #CBD5E1;
}

.filter-tab-btn.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #FFFFFF;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.25);
}

/* ═══════════════════════════════════════
   5. GRIDS DE PRODUTOS & CARDS EM BRANCO (FOTOS DESTACADAS)
   ═══════════════════════════════════════ */
.page {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0.5rem 1.5rem 4rem;
}

.cat-group {
  margin-bottom: 3.5rem;
  transition: opacity 0.25s ease;
}

.cat-group.fade-in {
  animation: fadeInGroup 0.28s ease-in-out forwards;
}

@keyframes fadeInGroup {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cat-group-header {
  margin-bottom: 1.25rem;
}

.cat-group-header h2 {
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text-main);
}

.cat-group-header p {
  font-size: 0.88rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
}

.cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
}

/* Card de Produto / Categoria — Padrão Luminoso, Alto Contraste & Destaque Visual */
.cat-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.04);
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  position: relative;
  text-decoration: none;
}

.cat-card:hover {
  transform: translateY(-6px);
  border-color: #DC2626;
  box-shadow: 0 20px 36px -6px rgba(220, 38, 38, 0.16), 0 8px 16px rgba(15, 23, 42, 0.06);
}

/* Área Nobre da Foto do Produto (Palco de Luz Ultra-Clean) */
.cat-card-img-wrap {
  height: 190px;
  background: radial-gradient(circle at 50% 50%, #FFFFFF 65%, #F8FAFC 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  border-bottom: 1px solid #EDF2F7;
  position: relative;
  overflow: hidden;
}

.cat-card-img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  filter: drop-shadow(0 6px 12px rgba(15, 23, 42, 0.08));
}

.cat-card:hover .cat-card-img {
  transform: scale(1.08);
  filter: drop-shadow(0 10px 18px rgba(15, 23, 42, 0.12));
}

.cat-card-placeholder {
  font-weight: 900;
  font-size: 1.8rem;
  color: #CBD5E1;
}

/* Corpo Informativo do Card */
.cat-card-info {
  padding: 1.15rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  background: #FFFFFF;
}

.cat-card-name {
  font-size: 1.02rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.35;
  margin-bottom: 0.85rem;
  min-height: 2.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  letter-spacing: -0.015em;
  transition: color 0.15s ease;
}

.cat-card:hover .cat-card-name {
  color: #DC2626;
}

.cat-card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: auto;
  padding-bottom: 0.85rem;
  gap: 0.5rem;
}

.cat-card-price-col {
  display: flex;
  flex-direction: column;
}

.cat-card-price-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}

.cat-card-price-val {
  font-family: var(--mono);
  font-size: 1.12rem;
  font-weight: 800;
  color: #059669;
  line-height: 1.1;
}

/* Badge de Quantidade / Modelos com Cores Vivas */
.cat-card-count {
  font-size: 0.72rem;
  color: #1E40AF;
  font-weight: 700;
  background: #EFF6FF;
  padding: 0.28rem 0.65rem;
  border-radius: 6px;
  border: 1px solid #DBEAFE;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

/* Botão Oficial Chamativo de Ação */
.cat-card-btn-wrap {
  margin-top: auto;
}

.cat-card-btn-action {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 9px;
  font-size: 0.82rem;
  font-weight: 800;
  border: 1px solid #DC2626;
  background: #DC2626;
  color: #FFFFFF;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 6px rgba(220, 38, 38, 0.22);
}

.cat-card-btn-action svg {
  transition: transform 0.2s ease;
}

.cat-card:hover .cat-card-btn-action {
  background: #B91C1C;
  border-color: #B91C1C;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
  transform: translateY(-1px);
}

.cat-card:hover .cat-card-btn-action svg {
  transform: translateX(4px);
}

/* ═══════════════════════════════════════
   6. CONFIGURADOR TÉCNICO INTERATIVO (WHITE THEME)
   ═══════════════════════════════════════ */
.configurator-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 2.25rem;
  align-items: start;
  margin-top: 1.25rem;
}

/* Coluna de Mídia (Parte 1 - Esquerda) */
.conf-media-col {
  position: sticky;
  top: 90px;
}

.conf-main-image-wrap {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.conf-main-image {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.conf-zoom-btn {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: #FFFFFF;
  border: 1px solid var(--border);
  color: var(--text-main);
  font-size: 0.78rem;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.2s ease;
}

.conf-zoom-btn:hover {
  background: var(--bg-card-subtle);
  border-color: #CBD5E1;
}

.conf-thumbnails {
  display: flex;
  gap: 0.6rem;
  margin-top: 0.85rem;
  overflow-x: auto;
  padding-bottom: 0.4rem;
}

.conf-thumb-btn {
  width: 64px;
  height: 64px;
  border-radius: var(--r-md);
  border: 2px solid var(--border);
  overflow: hidden;
  background: #FFFFFF;
  flex-shrink: 0;
  padding: 4px;
  transition: all 0.2s ease;
}

.conf-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.conf-thumb-btn.active {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}

/* Box de Gabaritos Técnicos & Fechamento de Arte */
.conf-gabaritos-box {
  margin-top: 1.25rem;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.conf-gabaritos-info {
  background: #F8FAFC;
  border-left: 4px solid var(--primary, #2563EB);
}

.conf-gabaritos-header {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
  color: #0F172A;
}

.conf-gabaritos-header svg {
  color: var(--primary, #2563EB);
  flex-shrink: 0;
  margin-top: 2px;
}

.conf-gabaritos-header-texts {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.conf-gabaritos-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -0.01em;
}

.conf-gabaritos-subtitle {
  font-size: 0.76rem;
  color: #64748B;
  font-weight: 500;
  line-height: 1.35;
}

.conf-gabaritos-hint {
  margin: 0;
  font-size: 0.8rem;
  color: #475569;
  line-height: 1.45;
}

.conf-gabaritos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.6rem;
}

.gabarito-btn {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.75rem;
  border-radius: 8px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #1E293B;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 600;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.gabarito-btn:hover {
  background: #FFFFFF;
  border-color: #CBD5E1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.gabarito-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 3px 6px;
  border-radius: 5px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.5px;
  line-height: 1;
  flex-shrink: 0;
}

/* Badges coloridos por software gráfico */
.badge-ai {
  background: #FFF7ED;
  color: #C2410C;
  border: 1px solid #FFEDD5;
}
.gabarito-btn:hover .badge-ai {
  background: #EA580C;
  color: #FFFFFF;
}

.badge-cdr {
  background: #F0FDF4;
  color: #15803D;
  border: 1px solid #DCFCE7;
}
.gabarito-btn:hover .badge-cdr {
  background: #16A34A;
  color: #FFFFFF;
}

.badge-psd {
  background: #F0F9FF;
  color: #0369A1;
  border: 1px solid #E0F2FE;
}
.gabarito-btn:hover .badge-psd {
  background: #0284C7;
  color: #FFFFFF;
}

.badge-pdf {
  background: #FEF2F2;
  color: #B91C1C;
  border: 1px solid #FEE2E2;
}
.gabarito-btn:hover .badge-pdf {
  background: #DC2626;
  color: #FFFFFF;
}

.badge-rar {
  background: #FAF5FF;
  color: #7E22CE;
  border: 1px solid #F3E8FF;
}
.gabarito-btn:hover .badge-rar {
  background: #9333EA;
  color: #FFFFFF;
}

.badge-xls {
  background: #ECFDF5;
  color: #047857;
  border: 1px solid #D1FAE5;
}
.gabarito-btn:hover .badge-xls {
  background: #059669;
  color: #FFFFFF;
}

.badge-generic {
  background: #F1F5F9;
  color: #475569;
  border: 1px solid #E2E8F0;
}
.gabarito-btn:hover .badge-generic {
  background: #475569;
  color: #FFFFFF;
}

.gabarito-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.gabarito-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1E293B;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gabarito-sub {
  font-size: 0.68rem;
  color: #64748B;
  font-weight: 500;
}

.gabarito-dl-icon {
  color: #94A3B8;
  flex-shrink: 0;
  transition: transform 0.2s ease, color 0.2s ease;
}

.gabarito-btn:hover .gabarito-dl-icon {
  color: var(--primary, #2563EB);
  transform: translateY(1px);
}

/* Coluna de Configuração e Fechamento (Parte 2 - Direita) */
.conf-form-col,
.conf-main-col {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.conf-header-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.4rem;
}

.conf-badge-pill {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: var(--primary-light);
  color: var(--primary);
  border: 1px solid var(--primary-border);
}

.conf-badge-prazo {
  background: var(--emerald-light);
  color: var(--emerald);
  border-color: var(--emerald-border);
}

.conf-title {
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--text-main);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

/* Barra de Preço Imediato no Topo (Visível sem scroll) */
.conf-quick-price-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1.15rem;
  background: #F8FAFC;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  margin-top: 0.75rem;
  border-left: 4px solid var(--emerald);
}

.conf-quick-price-info {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
}

.conf-quick-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-muted);
}

.conf-quick-val {
  font-family: var(--mono);
  font-size: 1.45rem;
  font-weight: 900;
  color: var(--emerald);
}

.conf-quick-cond {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-muted);
}

/* Cards de Seções (Especificações e Tiragens) */
.conf-section-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 1.25rem 1.4rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.conf-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.85rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid var(--border-subtle);
}

.conf-section-title {
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--text-main);
}

.conf-section-subtitle {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--text-muted);
}

/* Grade 2-Colunas Compacta de Especificações */
.conf-specs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.85rem 1rem;
}

/* Divisores Visuais de Seção (Personalize vs Características Inclusas) */
.conf-specs-subdivider {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.85rem;
  background: #F1F5F9;
  border-radius: var(--r-md);
  margin: 0.25rem 0 0.15rem;
  border-left: 3px solid var(--primary);
}

.conf-specs-subdivider.conf-subdivider-spaced {
  margin-top: 0.75rem;
  border-left-color: #64748B;
  background: #F8FAFC;
}

.conf-subdivider-title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--text-main);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.conf-subdivider-title svg {
  color: var(--primary);
  flex-shrink: 0;
}

.conf-subdivider-spaced .conf-subdivider-title svg {
  color: #64748B;
}

.conf-subdivider-pill {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--primary);
  background: #FEE2E2;
  padding: 0.18rem 0.55rem;
  border-radius: var(--r-full);
}

.conf-subdivider-pill.conf-pill-muted {
  color: #475569;
  background: #E2E8F0;
}

/* Card Individual de Cada Campo de Especificação */
.conf-field-group {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.85rem 1rem;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

.conf-field-group:hover {
  border-color: #CBD5E1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.conf-field-group.conf-field-interactive {
  border-color: #CBD5E1;
  background: #FFFFFF;
}

.conf-field-group.conf-field-interactive:hover {
  border-color: #94A3B8;
}

.conf-field-group.conf-field-static {
  background: #F8FAFC;
  border-color: #E2E8F0;
}

.conf-field-wide {
  grid-column: 1 / -1;
}

.conf-field-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.conf-field-label-left {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--text-main);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.conf-field-icon {
  display: inline-flex;
  align-items: center;
  color: #64748B;
}

.conf-field-interactive .conf-field-icon {
  color: var(--primary);
}

.conf-field-badge {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: var(--r-sm);
  white-space: nowrap;
}

.conf-badge-select {
  color: var(--primary);
  background: var(--primary-light);
}

.conf-badge-fixed {
  color: #047857;
  background: #D1FAE5;
}

.conf-field-hint {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--primary);
}

.conf-chips-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.conf-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.8rem;
  border-radius: var(--r-md);
  background: #FFFFFF;
  border: 1px solid var(--border);
  color: var(--text-main);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.conf-chip:hover {
  border-color: #94A3B8;
  background: #F8FAFC;
  transform: translateY(-1px);
}

.conf-chip.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #FFFFFF;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
}

.conf-chip-active-dot {
  font-size: 0.75rem;
  font-weight: 900;
  margin-right: 0.15rem;
}

/* Chips Estáticos / Especificações Fixas Inclusas */
.conf-chip.conf-chip-static,
.conf-field-static .conf-chip.active {
  background: #FFFFFF;
  border: 1px solid #CBD5E1;
  color: #334155;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
  cursor: default;
  pointer-events: none;
}

.conf-chip.conf-chip-static:hover,
.conf-field-static .conf-chip.active:hover {
  background: #FFFFFF;
  border-color: #CBD5E1;
  transform: none;
}

.conf-chip-check-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #10B981;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 900;
  margin-right: 0.25rem;
  flex-shrink: 0;
}

/* Para acabamento incluso ou textos longos */
.conf-field-wide .conf-chip {
  text-align: left;
  line-height: 1.45;
  white-space: normal;
  max-width: 100%;
}

/* Tiragens / Quantidades */
.tiragens-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.65rem;
}

.tiragem-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: 0.85rem 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  text-align: center;
}

.tiragem-card:hover {
  border-color: #CBD5E1;
  transform: translateY(-2px);
}

.tiragem-card.active {
  background: var(--primary-light);
  border-color: var(--primary);
  box-shadow: 0 0 0 1px var(--primary);
}

.tiragem-tag-recommended {
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--emerald);
  color: #FFFFFF;
  font-size: 0.65rem;
  font-weight: 800;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  white-space: nowrap;
}

.tiragem-qty {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text-main);
}

.tiragem-price {
  font-family: var(--mono);
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--emerald);
  margin: 0.35rem 0 0.15rem;
}

.tiragem-unit {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* Acabamentos Opcionais */
.conf-options-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.conf-option-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-radius: var(--r-md);
  background: #FFFFFF;
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.conf-option-card:hover {
  border-color: #CBD5E1;
  background: var(--bg-card-subtle);
}

.conf-option-card.active {
  background: var(--primary-light);
  border-color: var(--primary);
}

.conf-option-left {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.conf-option-name {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-main);
}

.conf-option-right {
  font-family: var(--mono);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--emerald);
}

/* Card de Resumo & Fechamento (Integrado no final da Parte 2) */
.conf-summary-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 1.6rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.conf-summary-header-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: #FEF2F2;
  color: var(--primary);
  border: 1px solid #FECACA;
  margin-bottom: 0.75rem;
}

.conf-summary-price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: 0.4rem;
}

.conf-summary-label {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-muted);
}

.conf-summary-price {
  font-family: var(--mono);
  font-size: 2rem;
  font-weight: 900;
  color: var(--emerald);
}

.conf-summary-installments {
  font-size: 0.82rem;
  color: var(--text-muted);
  text-align: right;
  margin-bottom: 1.15rem;
}

.conf-summary-details {
  border-top: 1px solid var(--border);
  padding: 0.95rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.conf-summary-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.84rem;
  color: var(--text-muted);
}

.conf-summary-detail-row strong {
  color: var(--text-main);
}

.conf-actions-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0.75rem;
  margin-top: 1rem;
}

.btn-whatsapp-order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--whatsapp);
  color: #FFFFFF;
  font-weight: 800;
  font-size: 0.9rem;
  padding: 0.85rem 1rem;
  border-radius: var(--r-md);
  box-shadow: 0 4px 14px rgba(22, 163, 74, 0.28);
  transition: all 0.2s ease;
  width: 100%;
}

.btn-whatsapp-order:hover {
  background: var(--whatsapp-hover);
  transform: translateY(-1px);
}

.btn-add-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--primary);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 0.75rem 1rem;
  border-radius: var(--r-md);
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.25);
  transition: all 0.2s ease;
  width: 100%;
}

.btn-add-cart:hover {
  background: var(--primary-hover);
  transform: translateY(-1px);
}

.conf-guarantee-note {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  color: var(--text-muted);
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-subtle);
  line-height: 1.35;
}

.conf-guarantee-note svg {
  color: var(--emerald);
  flex-shrink: 0;
}

/* ═══════════════════════════════════════
   7. GAVETA DO CARRINHO (CART DRAWER)
   ═══════════════════════════════════════ */
.cart-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(4px);
  z-index: 200;
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 440px;
  max-width: 100vw;
  background: #FFFFFF;
  border-left: 1px solid var(--border);
  box-shadow: -10px 0 35px rgba(0, 0, 0, 0.12);
  z-index: 210;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.35s var(--ease);
}

.cart-drawer.open {
  transform: translateX(0);
}

.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border);
}

.cart-title-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.cart-title-icon svg {
  color: var(--primary);
}

.cart-title-row h2 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--text-main);
}

.cart-close-btn {
  width: 34px;
  height: 34px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  border: 1px solid var(--border);
  transition: all 0.15s ease;
}

.cart-close-btn:hover {
  background: var(--bg-card-subtle);
  color: var(--text-main);
}

.cart-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.cart-item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.cart-item-thumb {
  width: 58px;
  height: 58px;
  object-fit: contain;
  background: var(--bg-card-subtle);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  flex-shrink: 0;
  padding: 4px;
}

.cart-item-info {
  flex: 1;
  min-width: 0;
}

.cart-item-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text-main);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cart-item-specs {
  font-size: 0.74rem;
  color: var(--text-muted);
  margin: 0.2rem 0 0.35rem;
  line-height: 1.35;
}

.cart-item-price {
  font-family: var(--mono);
  font-weight: 800;
  font-size: 0.9rem;
  color: var(--emerald);
}

.cart-item-remove {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-dim);
  border-radius: var(--r-sm);
  transition: all 0.15s ease;
}

.cart-item-remove:hover {
  color: #DC2626;
  background: #FEF2F2;
}

.cart-footer {
  padding: 1.25rem 1.5rem;
  border-top: 1px solid var(--border);
  background: #FFFFFF;
}

.cart-total-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.cart-total-row strong {
  font-family: var(--mono);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--emerald);
}

.cart-note {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
  line-height: 1.4;
}

.cart-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.btn-checkout-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--whatsapp);
  color: #FFFFFF;
  font-weight: 800;
  font-size: 0.92rem;
  padding: 0.85rem;
  border-radius: var(--r-md);
  box-shadow: 0 4px 14px rgba(22, 163, 74, 0.28);
  transition: all 0.2s ease;
}

.btn-checkout-whatsapp:hover {
  background: var(--whatsapp-hover);
}

.btn-clear-cart {
  padding: 0.5rem;
  font-size: 0.78rem;
  color: var(--text-muted);
  text-align: center;
  transition: color 0.15s ease;
}

.btn-clear-cart:hover {
  color: #DC2626;
}

/* ═══════════════════════════════════════
   8. LIGHTBOX / ZOOM MODAL
   ═══════════════════════════════════════ */
.lightbox-modal {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(8px);
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.lightbox-image {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  background: #FFFFFF;
  border-radius: var(--r-lg);
  padding: 1rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.lightbox-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.lightbox-close:hover {
  background: rgba(255, 255, 255, 0.35);
  transform: scale(1.08);
}

/* ═══════════════════════════════════════
   9. NOTIFICAÇÕES (TOAST)
   ═══════════════════════════════════════ */
.toast-container {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 400;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.toast {
  background: #0F172A;
  color: #FFFFFF;
  padding: 0.75rem 1.25rem;
  border-radius: var(--r-md);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  font-size: 0.85rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  animation: slideInUp 0.3s var(--ease);
}

@keyframes slideInUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* ═══════════════════════════════════════
   10. BOTÃO FLUTUANTE WHATSAPP & BACK TO TOP
   ═══════════════════════════════════════ */
.wa-float {
  position: fixed;
  bottom: 2rem;
  left: 2rem;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #25D366;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
  z-index: 90;
  transition: all 0.25s var(--ease);
}

.wa-float:hover {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.5);
}

.wa-float svg {
  width: 30px;
  height: 30px;
}

.back-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid var(--border);
  color: var(--text-main);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  z-index: 90;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
}

.back-top.show {
  opacity: 1;
  pointer-events: auto;
}

.back-top:hover {
  background: var(--bg-card-subtle);
  transform: translateY(-2px);
}

/* ═══════════════════════════════════════
   11. FOOTER INSTITUCIONAL EM 4 ETAPAS CMYK
   ═══════════════════════════════════════ */
.site-foot {
  background: #0B0F17;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0 0 2.5rem;
  margin-top: 4rem;
  position: relative;
}

/* Faixa Cromática CMYK Superior */
.footer-cmyk-strip {
  display: flex;
  height: 4px;
  width: 100%;
}

.cmyk-segment {
  flex: 1;
  height: 100%;
}

.cmyk-segment.cmyk-c { background: var(--cmyk-c); }
.cmyk-segment.cmyk-m { background: var(--cmyk-m); }
.cmyk-segment.cmyk-y { background: var(--cmyk-y); }
.cmyk-segment.cmyk-k { background: var(--cmyk-k); }

.footer-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 3rem 1.5rem 0;
}

.footer-cmyk-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cmyk-card {
  border-radius: var(--r-xl);
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
  position: relative;
  overflow: hidden;
  border: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.cmyk-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
}

/* 1. Card Ciano (C) */
.cmyk-card-c {
  background: var(--cmyk-c);
  color: #FFFFFF;
}

.cmyk-card-c .cmyk-title,
.cmyk-card-c strong,
.cmyk-card-c .footer-cnpj,
.cmyk-card-c .footer-address,
.cmyk-card-c .footer-cep {
  color: #FFFFFF;
}

.cmyk-card-c .footer-address svg {
  color: #FFFFFF;
}

.cmyk-card-c .footer-cep {
  color: rgba(255, 255, 255, 0.9);
}

.footer-logo-badge {
  background: #FFFFFF;
  padding: 0.5rem 0.85rem;
  border-radius: var(--r-md);
  width: fit-content;
  margin-bottom: 0.85rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: inline-block;
}

.footer-logo-badge .footer-logo-img {
  height: 36px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
  margin-bottom: 0;
  display: block;
}

/* 2. Card Magenta (M) */
.cmyk-card-m {
  background: var(--cmyk-m);
  color: #FFFFFF;
}

.cmyk-card-m .cmyk-title,
.cmyk-card-m strong,
.cmyk-card-m .footer-hours,
.cmyk-card-m .footer-delivery {
  color: #FFFFFF;
}

.cmyk-card-m .footer-delivery {
  color: rgba(255, 255, 255, 0.9);
}

.cmyk-card-m .footer-whatsapp-link {
  background: #FFFFFF;
  color: #16A34A;
  border: none;
  font-weight: 800;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
  padding: 0.6rem 1rem;
}

.cmyk-card-m .footer-whatsapp-link:hover {
  background: #F0FDF4;
  transform: scale(1.02);
}

/* 3. Card Amarelo (Y) */
.cmyk-card-y {
  background: var(--cmyk-y);
  color: #0F172A;
}

.cmyk-card-y .cmyk-title,
.cmyk-card-y strong {
  color: #0F172A;
}

.cmyk-card-y .footer-feature {
  color: #1E293B;
}

.cmyk-card-y .footer-feature::before {
  color: #0F172A;
}

/* 4. Card Preto / Key (K) */
.cmyk-card-k {
  background: var(--cmyk-k);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #F8FAFC;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
}

.cmyk-card-k .cmyk-title,
.cmyk-card-k strong {
  color: #FFFFFF;
}

.cmyk-card-k .footer-feature {
  color: #E2E8F0;
}

.cmyk-card-k .footer-feature::before {
  color: #38BDF8;
}

.cmyk-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  flex-grow: 1;
}

.cmyk-title {
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: -0.01em;
  margin-bottom: 0.35rem;
}

.footer-cnpj {
  font-size: 0.85rem;
  color: var(--text-main);
  font-weight: 600;
}

.footer-address {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: var(--text-muted);
  line-height: 1.45;
  margin-top: 0.25rem;
}

.footer-address svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--text-dim);
}

.footer-cep {
  font-size: 0.8rem;
  color: var(--text-dim);
}

.footer-whatsapp-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--whatsapp);
  background: var(--whatsapp-light);
  border: 1px solid rgba(22, 163, 74, 0.25);
  padding: 0.5rem 0.85rem;
  border-radius: var(--r-md);
  text-decoration: none;
  width: fit-content;
  margin-bottom: 0.35rem;
  transition: all 0.2s var(--ease);
}

.footer-whatsapp-link:hover {
  background: #DCFCE7;
  transform: scale(1.02);
}

.footer-hours, .footer-delivery, .footer-feature {
  font-size: 0.82rem;
  color: var(--text-muted);
  line-height: 1.5;
}

.footer-feature {
  position: relative;
  padding-left: 0.9rem;
}

.footer-feature::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--text-dim);
}

.footer-bottom {
  padding: 1.5rem 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.82rem;
  color: #94A3B8;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.footer-cmyk-dots {
  display: flex;
  align-items: center;
  gap: 6px;
}

.footer-cmyk-dots span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}

.footer-cmyk-dots .dot-c { background: var(--cmyk-c); }
.footer-cmyk-dots .dot-m { background: var(--cmyk-m); }
.footer-cmyk-dots .dot-y { background: var(--cmyk-y); }
.footer-cmyk-dots .dot-k { 
  background: #0B0F17; 
  border: 1.5px solid rgba(255, 255, 255, 0.75);
}

/* Loading State */
.loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  text-align: center;
  gap: 1rem;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 3px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Mobile Search Overlay */
.mobile-search-overlay {
  position: fixed;
  inset: 0;
  background: #FFFFFF;
  z-index: 500;
  padding: 1.5rem;
  display: none;
  flex-direction: column;
  gap: 1rem;
}

.mobile-search-overlay.open {
  display: flex;
}

.mobile-search-close {
  align-self: flex-end;
  color: var(--text-main);
}

.mobile-search-overlay input {
  width: 100%;
  padding: 0.85rem 1rem;
  border-radius: var(--r-md);
  border: 1px solid var(--border);
  font-size: 1rem;
  outline: none;
}

.mobile-search-results {
  flex: 1;
  overflow-y: auto;
}

/* ═══════════════════════════════════════
   12. RESPONSIVIDADE
   ═══════════════════════════════════════ */
@media (max-width: 1024px) {
  .configurator-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .conf-media-col {
    position: static;
  }

  .conf-actions-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .conf-specs-grid {
    grid-template-columns: 1fr;
  }

  .footer-cmyk-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

@media (max-width: 768px) {
  .topbar-search {
    display: none;
  }

  .mobile-toggle {
    display: flex;
  }

  .hero-carousel {
    height: auto;
    min-height: 460px;
  }

  .carousel-slide[style*="--bg-mobile"] {
    background-image: var(--bg-mobile) !important;
  }

  .carousel-slide-inner {
    grid-template-columns: 1fr;
    padding: 2rem clamp(2.75rem, 8vw, 3.5rem) 3.5rem;
    text-align: center;
  }

  .carousel-slide-text {
    max-width: 100%;
  }

  .carousel-title {
    font-size: 1.6rem;
  }

  .carousel-slide-footer {
    justify-content: center;
  }

  .carousel-slide-image {
    display: none;
  }

  .carousel-dots {
    left: 50%;
    transform: translateX(-50%);
  }

  .carousel-prev {
    left: 0.5rem;
  }

  .carousel-next {
    right: 0.5rem;
  }

  .cat-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.85rem;
  }

  .cat-card-img-wrap {
    height: 140px;
    padding: 0.75rem;
  }

  .cat-card-name {
    font-size: 0.88rem;
    min-height: 2.4rem;
  }

  .cat-card-price-val {
    font-size: 0.95rem;
  }

  .conf-actions-row {
    grid-template-columns: 1fr;
  }

  .footer-cmyk-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

/* Correções de usabilidade: relatório do teste operacional */
[hidden] { display:none !important; }
.conf-option-card { cursor:pointer; min-height:48px; }
.area-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; width:100%; }
.area-fields label { display:flex; flex-direction:column; gap:.5rem; font-weight:600; }
.area-fields input { width:100%; padding:.7rem; border:1px solid #94a3b8; border-radius:8px; background:white; color:#0f172a; }
.area-error { color:#b91c1c; grid-column:1/-1; }
.footer-legal { display:flex; flex-wrap:wrap; gap:1.5rem; padding:1.5rem 0; }
.footer-legal a { color:#f9a8d4; }
.footer-whatsapp-link { background:#c21875 !important; color:white !important; }
.footer-logo-badge { background:transparent !important; box-shadow:none !important; padding:0 !important; }
.footer-logo-img { width:240px !important; max-width:100%; height:auto !important; }
.carousel-content { padding-left:clamp(24px,4vw,60px) !important; }
.cat-group { animation:category-enter .25s ease-out; }
@keyframes category-enter { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
@media(prefers-reduced-motion:reduce) { .cat-group { animation:none; } }
#section-direct-catalog .cat-card, #section-direct-catalog .product-card { background:#fff; color:#0f172a; }
.saved-quote-text { white-space:normal; padding:1.5rem; }
.quote-preview-item { display:flex; gap:1rem; padding:1rem; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; color:#0f172a; }
.quote-preview-item img, .order-thumbnail { width:88px; height:88px; object-fit:contain; border-radius:8px; }
.quote-preview-item:hover { border-color:#c21875; }
.quote-preview-item dl { display:grid; grid-template-columns:auto 1fr; gap:.5rem 1rem; }

.order-item-count{margin:0 0 .8rem;padding:.4rem 0;font-weight:600}.quote-preview-item{margin-bottom:.75rem;transition:border-color .2s,box-shadow .2s}.quote-preview-item:hover{box-shadow:0 3px 12px #0000000a}.quote-preview-item dd{margin:0}.quote-preview-item h3{margin-top:0}

.footer-logo-badge .footer-logo-img{max-width:100% !important;width:240px !important}.carousel-slide-inner{padding-left:clamp(24px,3vw,44px);padding-right:clamp(24px,3vw,44px)}.carousel-slide-text{min-width:0}.carousel-slide-image{min-width:0}@media(max-width:768px){.hero-carousel{height:auto;min-height:340px}.carousel-slide-inner{padding:1.5rem;text-align:left}.carousel-slide-text{max-width:100%}}

/* Design das referências: site público, release 20261003-design1. */
:root {
  --primary:#E00020; --primary-hover:#B60016; --primary-light:#FFF0F2;
  --text-main:#071A33; --text-muted:#53617A; --text-dim:#657189;
  --border:#DDE3EB; --r-sm:6px; --r-md:8px; --r-lg:8px;
  --header-height:125px;
}
html { scroll-padding-top:calc(var(--header-height) + 16px); }
body.catalog-body { overflow-x:visible; }
body.modal-open { overflow:hidden; }
.catalog-body :is(button,input,select,a):focus-visible { outline:3px solid #087AA3; outline-offset:3px; }
.catalog-body input,.catalog-body select { font:inherit; }
.skip-link { position:fixed;top:8px;left:16px;transform:translateY(-160%);background:#fff;color:#071A33;padding:12px 18px;z-index:1000;border:2px solid var(--primary); }
.skip-link:focus { transform:none; }
.topbar { background:linear-gradient(100deg,#B60016,#94000F);box-shadow:none;z-index:100; }
.topbar-inner { max-width:1440px;min-height:77px;gap:32px;padding:10px 32px; }
.topbar-brand { min-width:0; }
.topbar-logo-img { width:164px;max-width:164px;height:auto;max-height:55px;object-fit:contain; }
.topbar-search { min-width:0;max-width:none; }
.topbar-search input { background:#fff;color:var(--text-main);border:1px solid #fff;height:44px;border-radius:7px;font-size:13px; }
.topbar-search input:focus { background:#fff;border-color:#fff;box-shadow:0 0 0 3px #ffffff40; }
.topbar-search-icon { color:var(--text-main); }
.topbar-search input::placeholder { color:#66718A; }
.topbar-actions { margin-left:auto;gap:20px;min-width:0;flex-shrink:0; }
.topbar-cart-btn { padding:8px 0;color:#fff;background:none;border:none;box-shadow:none;font-size:12px;gap:10px;white-space:nowrap; }
.topbar-cart-btn:hover { background:#ffffff14; }
.cart-badge { background:#E00020;color:#fff;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px; }
.topbar-wa { background:none;color:#fff;border:0;border-left:1px solid #ffffff40;border-radius:0;padding:0 0 0 22px;font-size:12px;gap:12px; }
.topbar-wa:hover { background:none; }
.topbar-wa svg { width:30px;height:30px;color:#fff; }
.topbar-wa small { display:block;font-size:11px;font-weight:400;margin-top:2px; }
.mobile-toggle { color:white;min-width:40px;min-height:44px; }
.category-navigation { background:#fff;color:var(--text-main);border-bottom:1px solid var(--border); }
.category-navigation-inner { max-width:1440px;margin:auto;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px; }
.category-navigation a { font-size:12px;font-weight:600;white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:9px;border-bottom:2px solid transparent; }
.category-navigation a:hover,.category-navigation a[aria-current] { color:var(--primary);border-bottom-color:var(--primary); }
.category-navigation .nav-all { color:var(--primary);font-weight:800;border-left:1px solid var(--border);padding-left:22px; }
.search-dropdown { background:#fff;color:var(--text-main);border-color:var(--border);box-shadow:0 12px 30px #071a331f; }
.breadcrumb-bar { background:white;border:none; }
.breadcrumb-inner { max-width:1440px;margin:auto;padding:16px 12px 4px;color:var(--text-muted);font-size:13px; }
.page { max-width:1440px;padding:8px 12px 48px;min-width:0; }
.page.page-home { max-width:none;padding:0; }
.eyebrow { display:block;font-size:10px;letter-spacing:.3em;font-weight:500;line-height:1.5; }
.editorial-hero { background:#F3EEEB;overflow:hidden; }
.editorial-hero-inner { max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);align-items:center;min-height:350px;position:relative; }
.editorial-hero-copy { padding:32px 0 32px 50px;position:relative;z-index:1; }
.editorial-hero h1 { color:#080A0E;font-size:clamp(38px,4.1vw,62px);line-height:1.03;font-weight:900;letter-spacing:-.045em;margin:8px 0 16px; }
.editorial-hero-copy p { color:#51545D;font-size:15px;line-height:1.55;max-width:465px;margin-bottom:18px; }
.editorial-hero-media { display:block;align-self:stretch;min-width:0; }
.editorial-hero-media img { width:100%;height:100%;object-fit:cover;object-position:center; }
.primary-link,.contact-band-link { display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--primary);color:#fff;border-radius:6px;padding:13px 28px;font-size:14px;font-weight:800;min-height:46px; }
.primary-link:hover { background:var(--primary-hover); }
.primary-link span { font-size:26px;line-height:16px; }
.home-trust-bar { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1440px;margin:0 auto;padding:18px 40px;border-bottom:1px solid var(--border);gap:0; }
.home-trust-item { min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:16px;border:0;border-right:1px solid var(--border);border-radius:0;box-shadow:none;padding:0 22px;background:transparent; }
.home-trust-item:first-child { padding-left:0; }
.home-trust-item:last-child { border:0; }
.home-trust-item svg { width:32px;height:32px;min-width:32px;color:var(--primary); }
.home-trust-item strong { display:block;font-size:12px;line-height:1.5;color:var(--text-main); }
.home-trust-item small { display:block;font-size:11px;line-height:1.4;color:#657189;margin-top:2px; }
.featured-section { max-width:1440px;margin:auto;padding:24px 12px 20px; }
.section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px; }
.section-heading h2 { font-size:28px;letter-spacing:-.045em;line-height:1.15;margin-top:3px; }
.text-link { color:var(--primary);font-size:12px;font-weight:600;display:inline-flex;gap:12px;align-items:center; }
.home-featured-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }
.catalog-body .cat-card { border:1px solid var(--border);border-radius:6px;box-shadow:none;min-width:0;transition:border-color .2s; }
.catalog-body .cat-card:hover { transform:none;border-color:var(--primary);box-shadow:0 4px 14px #071a330a; }
.catalog-body .cat-card-img-wrap { height:auto;aspect-ratio:5/3;background:#EEEDED;padding:0;border:0; }
.catalog-body .cat-card-img { width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:none; }
.catalog-body .cat-card:hover .cat-card-img { transform:none;filter:none; }
.catalog-body .cat-card-info { padding:12px 18px;gap:4px;min-height:0;flex:1;display:flex;flex-direction:column; }
.catalog-body .cat-card-name { font-size:17px;letter-spacing:-.04em;min-height:0;font-weight:800;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip; }
.cat-card-description { color:var(--text-muted);font-size:12px;line-height:1.5; }
.cat-card-price-line { font-size:11px;color:var(--text-muted);margin-top:2px; }
.cat-card-price-line strong { color:var(--text-main);font-size:12px;white-space:nowrap; }
.catalog-body .cat-card-btn-wrap { margin-top:auto;padding-top:8px; }
.catalog-body .cat-card-btn-action { display:inline-flex;justify-content:space-between;gap:24px;min-height:36px;padding:8px 20px;border-radius:5px;width:auto;background:var(--primary);color:#fff;box-shadow:none;font-size:12px; }
.catalog-body .cat-card:hover .cat-card-btn-action { background:var(--primary-hover);box-shadow:none; }
.image-unavailable { color:var(--text-muted);padding:24px;text-align:center; }
.contact-band { background:linear-gradient(110deg,#B60016,#94000F);color:white;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:40px;align-items:center;padding:24px max(32px,calc((100vw - 1360px)/2)); }
.contact-band h2 { font-size:25px;letter-spacing:-.025em;line-height:1.25;margin-top:4px; }
.contact-band p { font-size:12px;line-height:1.55;border-left:1px solid #ffffff40;padding-left:36px; }
.contact-band-link { font-size:12px;white-space:nowrap; }
.catalog-page-heading { margin:14px 0 24px; }
.catalog-page-heading h1 { font-size:40px;font-weight:900;line-height:1.15;letter-spacing:-.045em; }
.catalog-page-heading>p { font-size:18px;color:var(--text-muted);margin-top:6px; }
.catalog-layout { display:grid;grid-template-columns:236px minmax(0,1fr);gap:22px;align-items:start; }
.catalog-sidebar { border:1px solid var(--border);border-radius:6px;padding:16px 12px;min-width:0; }
.sidebar-header { display:flex;align-items:center;justify-content:space-between;padding:0 5px 12px; }
.sidebar-header h2 { font-size:18px;letter-spacing:-.04em; }
.icon-button { width:36px;height:36px;display:grid;place-items:center;font-size:26px;border-radius:5px; }
#catalog-filter-close { display:none; }
.sidebar-category { display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;min-height:42px;font-size:12px;border-radius:4px; }
.sidebar-category.active { background:var(--primary);color:#fff;font-weight:700; }
.sidebar-category:not(.active):hover { background:var(--primary-light);color:var(--primary); }
.sidebar-categories { max-height:350px;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;margin:4px 0 18px;scrollbar-width:thin; }
.finish-filters { border:none;border-top:1px solid var(--border);padding:20px 7px 0; }
.finish-filters legend { font-size:16px;font-weight:800;float:left;width:100%;margin-bottom:12px; }
.finish-filters label { clear:both;display:flex;align-items:center;gap:10px;font-size:12px;min-height:40px; }
.finish-filters input { width:18px;height:18px;accent-color:var(--primary); }
.sidebar-note { font-size:11px;line-height:1.5;color:var(--text-muted);padding:14px 7px 8px; }
.clear-filters { display:inline-flex;padding:8px 7px;color:var(--primary);font-size:12px;font-weight:600; }
.catalog-results { min-width:0; }
.catalog-toolbar { display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 14px;min-height:42px; }
.catalog-toolbar h2 { font-size:20px;letter-spacing:-.04em; }
.result-count { font-size:11px;color:var(--text-muted); }
.catalog-toolbar-actions { display:flex;align-items:center;gap:10px; }
.catalog-toolbar-actions label { font-size:11px;white-space:nowrap; }
.catalog-toolbar select { padding:9px 12px;min-height:40px;max-width:180px;background:white;border:1px solid var(--border);border-radius:5px;font-size:12px; }
.filter-toggle { display:none; }
.catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.catalog-notice { padding:14px;background:#FFF6DF;border:1px solid #E0C783;font-size:13px;margin-bottom:16px;border-radius:5px; }
.active-filters { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px; }
.active-filters span { font-size:12px;border-radius:4px;background:var(--primary-light);color:var(--primary);padding:6px 10px; }
.empty-results { grid-column:1/-1;padding:30px 0;color:var(--text-muted); }
.consultation-page { padding:40px 0; }
.consultation-page p { color:var(--text-muted);margin:14px 0 22px; }
.catalog-body .configurator-layout { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:36px;margin-top:14px; }
.catalog-body .conf-media-col { min-width:0;position:static; }
.catalog-body .conf-main-image-wrap { padding:0;aspect-ratio:5/3;background:#EEEDED;border:0;box-shadow:none;border-radius:6px; }
.catalog-body .conf-main-image { width:100%;height:100%;object-fit:contain; }
.conf-zoom-btn { background:#ffffffed;color:var(--text-main);bottom:12px;right:12px;min-height:36px; }
.catalog-body .conf-thumbnails { display:flex;gap:12px;margin-top:12px; }
.catalog-body .conf-thumb-btn { width:calc((100% - 36px)/4);height:auto;aspect-ratio:5/3;max-width:180px;background:#EEEDED;padding:0; }
.conf-thumb-btn img { width:100%;height:100%;object-fit:contain; }
.product-description { margin:26px 0 20px; }
.product-description h2 { font-size:24px;font-weight:900;letter-spacing:-.04em; }
.product-description p { color:var(--text-muted);font-size:14px;line-height:1.6;margin-top:8px; }
.product-description .image-disclaimer { font-size:11px; }
.product-benefits { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px;gap:20px; }
.product-benefits>span { display:flex;align-items:center;gap:14px;font-size:12px; }
.product-benefits svg { width:30px;height:30px;color:var(--primary); }
.catalog-body .conf-form-col { min-width:0;gap:0;display:block; }
.catalog-body .conf-title { font-size:38px;line-height:1.1;letter-spacing:-.045em;font-weight:900; }
.conf-subtitle { color:var(--text-muted);font-size:20px;margin-top:5px; }
.conf-header .conf-badge-prazo { display:inline-block;background:none;color:var(--text-muted);border:0;padding:12px 0;font-size:12px; }
.catalog-body .conf-specs-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:14px;border-top:1px solid var(--border);padding-top:17px; }
.catalog-body .conf-field-group { display:grid;grid-template-columns:106px minmax(0,1fr);align-items:center;gap:16px;background:none;border:0;box-shadow:none;padding:0;min-width:0; }
.catalog-body .conf-field-group:hover { border:0;background:none; }
.catalog-body .conf-field-label { font-size:12px;text-transform:none;font-weight:700;color:var(--text-main);display:block; }
.conf-static-value { display:block;padding:8px 12px;min-height:36px;border:1px solid var(--border);border-radius:5px;font-size:12px;line-height:1.5; }
.catalog-body .conf-chips-grid { display:flex;flex-wrap:wrap;gap:8px;min-width:0; }
.catalog-body .conf-chip { border-radius:5px;padding:9px 12px;font-size:12px;min-height:38px;box-shadow:none;background:white;border:1px solid var(--border);flex:1;min-width:0; }
.catalog-body .conf-chip.active { color:var(--primary);background:var(--primary-light);border-color:var(--primary);box-shadow:none; }
.conf-select { width:100%;border:1px solid var(--border);border-radius:5px;background:white;padding:9px 12px;font-size:12px;min-height:40px;color:var(--text-main); }
.conf-quantity-row { display:grid;grid-template-columns:106px minmax(0,1fr);gap:16px;align-items:start;margin-top:18px; }
.conf-quantity-row>.conf-field-label { padding-top:12px; }
.catalog-body .tiragens-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;min-width:0; }
.catalog-body .tiragem-card { min-width:0;background:white;border:1px solid var(--border);box-shadow:none;border-radius:5px;padding:10px 6px;text-align:center;color:var(--text-main); }
.catalog-body .tiragem-card.active { background:var(--primary-light);border-color:var(--primary);color:var(--primary); }
.catalog-body .tiragem-card:hover { transform:none;border-color:var(--primary); }
.tiragem-card .tiragem-qty { font-size:12px;font-weight:700; }
.tiragem-card .tiragem-price { font-size:11px;color:inherit; }
.tiragem-card .tiragem-unit { font-size:10px; }
.tiragem-card .tiragem-tag-recommended { display:none; }
.conf-extra-options { margin-top:18px; }
.conf-extra-options h2 { font-size:13px;margin-bottom:8px; }
.catalog-body .conf-option-card { padding:10px 12px;border-radius:5px;min-width:0;gap:12px; }
.conf-option-name { font-size:12px; }
.conf-option-right { white-space:nowrap;font-size:11px; }
.conf-configuration-note { margin-top:18px;background:var(--primary-light);border-radius:6px;padding:12px 18px;font-size:12px; }
.conf-configuration-note strong { color:var(--primary);font-size:14px; }
.conf-configuration-note p { color:var(--text-muted);font-size:12px;line-height:1.6;margin-top:3px; }
.public-art-container { margin:14px 0; }
.public-art { border:1px dashed #A9B5C7;padding:14px 16px;border-radius:6px; }
.public-art h3,.public-art h2 { font-size:14px; }
.public-art p { font-size:11px;color:var(--text-muted);line-height:1.5; }
.public-art-slot { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:12px;min-width:0; }
.public-art-slot label { font-weight:600;min-width:65px; }
.public-art-slot input { min-width:0;max-width:100%;font-size:11px;flex:1; }
.public-art-slot input::file-selector-button { border:1px solid var(--border);background:white;border-radius:4px;padding:8px 10px;font-family:inherit;color:var(--text-main); }
.public-art-slot a { color:var(--primary);overflow-wrap:anywhere; }
.public-art-slot button { min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:4px; }
.public-art-status { margin-top:8px;font-size:12px;overflow-wrap:anywhere; }
.public-art-status[data-error="true"] { color:#B60016; }
.catalog-body .conf-summary-card { background:white;border:0;box-shadow:none;padding:0;border-radius:0; }
.catalog-body .conf-summary-price-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.catalog-body .conf-summary-label { font-size:12px; }
.catalog-body .conf-summary-price { font-family:var(--font);font-size:26px;line-height:1.3;color:var(--text-main);white-space:nowrap; }
.conf-summary-detail-row { margin-top:8px;font-size:11px; }
.catalog-body .conf-summary-installments { font-size:11px;margin-top:8px;margin-bottom:12px; }
.catalog-body .conf-actions-row { display:flex;flex-direction:column;gap:8px;margin-top:12px; }
.catalog-body .btn-add-cart { background:var(--primary);color:white;border-radius:6px;width:100%;min-height:48px;box-shadow:none;font-size:15px; }
.catalog-body .btn-add-cart:hover { background:var(--primary-hover); }
.catalog-body .btn-whatsapp-order { border:1px solid var(--primary);background:white;color:var(--primary);box-shadow:none;border-radius:5px;font-size:12px;min-height:40px; }
.catalog-body .btn-whatsapp-order:hover { background:var(--primary-light); }
.catalog-body .btn-add-cart:disabled,.catalog-body .btn-whatsapp-order:disabled { opacity:.5;cursor:not-allowed; }
.product-help { background:#F2F5F8;border-radius:6px;padding:14px 18px;margin-top:16px;font-size:12px; }
.product-help p { color:var(--text-muted);font-size:11px;margin-top:4px; }
.product-help a { display:inline-block;margin-top:8px;color:var(--primary);font-weight:600;text-decoration:underline; }
.conf-gabaritos-box { border-radius:6px;padding:14px; }
.cart-drawer { width:min(440px,100vw);z-index:610; }
.cart-drawer:not(.open) { visibility:hidden;pointer-events:none; }
.cart-backdrop { z-index:600; }
.cart-item { min-width:0; }
.cart-item-info { min-width:0; }
.cart-item-specs { overflow-wrap:anywhere; }
.lightbox-modal { z-index:700; }
.mobile-search-overlay { z-index:710; }
.catalog-body .site-foot { background:#F7F8FA;color:var(--text-main);margin-top:0;border:0; }
.footer-inner { max-width:1440px; }
.footer-cmyk-grid { gap:24px; }
.catalog-body .cmyk-card { background:transparent;box-shadow:none;border:0;padding:0;color:var(--text-main);border-radius:0; }
.cmyk-card-body { padding:16px 0; }
.catalog-body .cmyk-title { color:var(--text-main);font-size:13px; }
.catalog-body .footer-address,.catalog-body .footer-cep,.catalog-body .footer-feature,.catalog-body .footer-hours,.catalog-body .footer-delivery,.catalog-body .footer-cnpj { color:var(--text-muted);font-size:11px; }
.catalog-body .footer-whatsapp-link { background:transparent!important;color:var(--primary)!important;box-shadow:none;padding:0;font-size:12px; }
.catalog-body .footer-logo-img { width:160px!important;max-width:100%; }
.footer-bottom { border-top:1px solid var(--border);color:var(--text-muted);font-size:10px; }
.footer-legal { border-top:1px solid var(--border); }
.wa-float { left:auto;right:20px;bottom:20px;width:48px;height:48px;box-shadow:0 3px 16px #0002;z-index:80; }
.back-top { right:22px;bottom:82px;z-index:80; }
@media (max-width:1279px) {
  .topbar-inner { padding:10px 24px;gap:24px; }
  .category-navigation-inner { padding:0 24px;gap:16px;overflow-x:auto;justify-content:flex-start; }
  .category-navigation .nav-all { margin-left:auto; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-trust-bar { padding:18px 24px; }
  .home-trust-item { padding:0 14px;gap:10px; }
  .catalog-body .conf-title { font-size:32px; }
  .catalog-body .configurator-layout { gap:28px; }
}
@media (max-width:1023px) {
  .catalog-body .conf-media-col { display:contents; }
  .catalog-body .conf-main-image-wrap { order:0; }
  .catalog-body .conf-thumbnails { order:1; }
  .catalog-body .conf-form-col { order:2; }
  .catalog-body .product-description { order:3; }
  .catalog-body .conf-gabaritos-box { order:4; }
  .topbar-actions { gap:12px; }
  .topbar-wa { padding-left:12px; }
  .topbar-wa span { display:none; }
  .editorial-hero-copy { padding-left:28px; }
  .editorial-hero h1 { font-size:42px; }
  .editorial-hero-copy p { font-size:13px; }
  .home-trust-bar { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
  .home-trust-item { padding:0!important;border:0; }
  .home-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-band { grid-template-columns:minmax(0,1fr) auto;gap:24px; }
  .contact-band p { display:none; }
  .catalog-layout { grid-template-columns:minmax(0,1fr); }
  .catalog-sidebar { display:none; }
  .catalog-sidebar.open { display:block;position:fixed;inset:0 auto 0 0;width:min(340px,100%);overflow-y:auto;background:white;z-index:650;border-radius:0;padding:22px;box-shadow:0 0 0 100vmax #071a3380; }
  .sidebar-categories { max-height:45vh; }
  #catalog-filter-close { display:grid; }
  .filter-toggle { display:block;padding:9px 14px;background:white;border:1px solid var(--border);border-radius:4px;font-size:12px;min-height:40px; }
  .catalog-body .configurator-layout { grid-template-columns:minmax(0,1fr); }
  .conf-media-col { position:static; }
  .conf-main-image-wrap { max-height:500px; }
  .conf-header { margin-top:26px; }
}
@media (max-width:767px) {
  .topbar-inner { min-height:70px;gap:12px;padding:10px 16px; }
  .topbar-logo-img { width:132px;max-width:132px;height:auto;max-height:43px; }
  .topbar-search { display:none; }
  .topbar-actions { gap:5px;margin-left:auto; }
  .topbar-cart-btn { padding:0 5px;min-height:44px;gap:6px; }
  .cart-label { display:none; }
  .topbar-wa { display:none; }
  .mobile-toggle { display:flex;width:36px;min-width:36px; }
  .category-navigation { display:none; }
  .category-navigation.open { display:block;position:fixed;top:70px;left:0;right:0;bottom:0;overflow-y:auto;background:white;z-index:110; }
  .category-navigation-inner { display:flex;flex-direction:column;align-items:stretch;padding:20px 24px;gap:4px;overflow:visible; }
  .category-navigation a { padding:8px 12px;min-height:48px; }
  .category-navigation .nav-all { margin:8px 0 0;border-left:0;border-top:1px solid var(--border);padding:14px 12px; }
  .page,.featured-section { padding-left:16px;padding-right:16px; }
  .breadcrumb-inner { padding:14px 16px 4px; }
  .editorial-hero-inner { display:flex;flex-direction:column;min-height:0; }
  .editorial-hero-copy { padding:30px 24px 18px;width:100%; }
  .editorial-hero h1 { font-size:clamp(34px,8.6vw,50px); }
  .editorial-hero-copy p { font-size:14px;max-width:520px; }
  .editorial-hero-media { width:100%;height:240px; }
  .editorial-hero-media img { object-fit:cover;object-position:center; }
  .home-trust-bar { padding:20px 16px;gap:20px 12px; }
  .home-trust-item { gap:10px;align-items:flex-start; }
  .home-trust-item svg { width:24px;height:24px;min-width:24px; }
  .home-trust-item strong { font-size:11px; }
  .home-trust-item small { font-size:10px; }
  .section-heading { align-items:center;gap:16px; }
  .section-heading h2 { font-size:25px; }
  .text-link { max-width:95px;font-size:11px; }
  .home-featured-grid,.catalog-grid { gap:12px; }
  .catalog-body .cat-card-info { padding:12px; }
  .catalog-body .cat-card-name { font-size:15px; }
  .cat-card-description { font-size:11px; }
  .catalog-body .cat-card-btn-action { padding:10px 12px;min-height:40px;font-size:11px;gap:12px;max-width:100%; }
  .catalog-page-heading h1 { font-size:30px; }
  .catalog-page-heading>p { font-size:15px; }
  .catalog-toolbar { gap:12px;align-items:flex-start; }
  .catalog-toolbar h2 { font-size:17px; }
  .catalog-toolbar-actions { gap:8px;flex-wrap:wrap;justify-content:flex-end; }
  .catalog-toolbar-actions label { display:none; }
  .catalog-toolbar select { max-width:125px;font-size:11px; }
  .contact-band { grid-template-columns:minmax(0,1fr);padding:24px;gap:16px; }
  .contact-band h2 { font-size:24px; }
  .contact-band-link { justify-self:start; }
  .catalog-body .conf-title { font-size:32px; }
  .conf-subtitle { font-size:17px; }
  .catalog-body .conf-field-group,.conf-quantity-row { grid-template-columns:85px minmax(0,1fr);gap:12px; }
  .catalog-body .conf-chip { font-size:11px;padding:9px 8px;min-height:44px;flex:1 1 80px; }
  .conf-select { font-size:12px;min-height:44px; }
  .conf-static-value { min-height:40px; }
  .product-description h2 { font-size:22px; }
  .product-benefits { gap:12px; }
  .product-benefits>span { gap:8px;font-size:11px; }
  .catalog-body .conf-option-card { align-items:flex-start; }
  .conf-summary-price { font-size:24px!important; }
  .catalog-body .footer-cmyk-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
  .footer-inner { padding:24px 16px 90px; }
  .footer-legal { flex-wrap:wrap;gap:12px; }
  .footer-bottom { flex-direction:column;align-items:flex-start;gap:12px; }
  .hero-carousel { min-height:390px; }
  .carousel-slide-inner { padding:24px 40px 65px!important; }
  .carousel-slide-text { min-width:0; }
  .carousel-arrow { width:28px;height:28px;top:auto;bottom:20px;transform:none; }
  .carousel-prev { left:16px; }
  .carousel-next { right:16px; }
  .carousel-dots { bottom:27px; }
  .carousel-title { font-size:25px; }
  .carousel-btn { font-size:12px;min-height:44px; }
  .wa-float { right:14px;bottom:14px;width:44px;height:44px; }
}
@media (max-width:359px) {
  .topbar-inner { padding:10px 12px;gap:8px; }
  .topbar-logo-img { width:116px;max-width:116px; }
  .home-featured-grid,.catalog-grid { grid-template-columns:minmax(0,1fr); }
  .catalog-toolbar { flex-direction:column;align-items:stretch; }
  .catalog-toolbar-actions { justify-content:flex-start; }
  .catalog-body .conf-field-group,.conf-quantity-row { grid-template-columns:minmax(0,1fr);gap:6px; }
  .catalog-body .footer-cmyk-grid { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .catalog-body * { transition:none!important;animation:none!important; }
}
/* Preserve readable institutional details after changing the footer background. */
.catalog-body .site-foot strong,.catalog-body .site-foot svg { color:inherit!important; }
.catalog-body .site-foot .footer-legal a { color:#53617A; }
.catalog-body .site-foot .footer-legal a:hover { color:var(--primary); }

/* Expanded storefront: product families, curated selections and useful discovery. */
.home-featured-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.featured-section { padding-top:32px;padding-bottom:28px; }
.home-section { max-width:1440px;margin:0 auto;padding:28px 12px; }
.home-collections { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.home-collection { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;overflow:hidden;border-radius:8px;background:#F4F1ED;min-width:0;min-height:280px; }
.home-collection-gift { background:#F6EBEE; }
.home-collection-copy { padding:28px 8px 28px 28px; }
.home-collection .eyebrow { font-size:9px;letter-spacing:.18em; }
.home-collection h2 { font-size:29px;line-height:1.12;letter-spacing:-.04em;margin:10px 0 12px; }
.home-collection p { font-size:13px;color:var(--text-muted);line-height:1.65;margin-bottom:18px; }
.home-collection img { width:100%;height:100%;object-fit:cover; }
.home-collection .text-link { line-height:1.5;gap:12px; }
.home-discovery { padding-top:32px;padding-bottom:36px; }
.section-description { color:var(--text-muted);font-size:14px;line-height:1.6;margin-top:10px;max-width:660px; }
.home-purpose-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px; }
.home-purpose-card { min-width:0;display:grid;grid-template-columns:1fr auto;align-items:start;background:white;border:1px solid var(--border);border-radius:7px;padding:24px;transition:border-color .2s,background .2s; }
.home-purpose-card:hover { border-color:var(--primary);background:#FFF9FA; }
.home-purpose-icon { display:grid;place-items:center;width:42px;height:42px;color:var(--primary);background:var(--primary-light);border-radius:7px; }
.home-purpose-icon svg { width:25px;height:25px; }
.home-purpose-count { color:var(--text-muted);font-size:11px;align-self:center; }
.home-purpose-card h3 { grid-column:1/-1;font-size:20px;letter-spacing:-.035em;line-height:1.3;margin:16px 0 9px; }
.home-purpose-card p { grid-column:1/-1;font-size:12px;color:var(--text-muted);line-height:1.65;min-height:40px; }
.home-purpose-link { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:var(--primary);font-weight:700;font-size:12px;margin-top:18px; }
.home-purpose-link span { font-size:23px;line-height:1; }
.home-order-guide { margin-top:12px;margin-bottom:30px;padding-top:30px;padding-bottom:30px;border-top:1px solid var(--border); }
.home-order-guide h2 { font-size:27px; }
.home-order-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;margin-top:26px; }
.home-order-steps li { display:flex;align-items:flex-start;gap:18px;min-width:0; }
.home-step-number { color:var(--primary);font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.05em; }
.home-order-steps h3 { font-size:15px;margin:0 0 7px; }
.home-order-steps p { color:var(--text-muted);font-size:12px;line-height:1.65; }
@media (max-width:1023px) {
  .home-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-collections { gap:16px; }
  .home-collection { grid-template-columns:minmax(0,1fr); }
  .home-collection-copy { padding:26px 26px 8px; }
  .home-collection img { height:210px;object-fit:contain; }
  .home-purpose-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-order-steps { gap:20px; }
  .home-order-steps li { gap:10px; }
}
@media (max-width:767px) {
  .home-section { padding:22px 16px; }
  .featured-section { padding-top:26px;padding-bottom:18px; }
  .home-featured-grid { gap:14px; }
  .home-collections { grid-template-columns:minmax(0,1fr);gap:16px; }
  .home-collection { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:250px; }
  .home-collection-copy { padding:22px 0 22px 20px; }
  .home-collection h2 { font-size:23px; }
  .home-collection p { font-size:12px;line-height:1.6;margin-bottom:14px; }
  .home-collection .eyebrow { font-size:8px;letter-spacing:.12em; }
  .home-collection .text-link { font-size:11px; }
  .home-collection img { height:100%;object-fit:cover; }
  .home-discovery .section-heading,.home-order-guide .section-heading { align-items:flex-start;flex-direction:column;gap:12px; }
  .section-description { font-size:13px; }
  .home-purpose-grid { gap:12px; }
  .home-purpose-card { padding:16px; }
  .home-purpose-card h3 { font-size:17px; }
  .home-purpose-count { font-size:10px; }
  .home-purpose-icon { width:32px;height:32px; }
  .home-purpose-icon svg { width:21px;height:21px; }
  .home-purpose-card p { font-size:11px;min-height:54px; }
  .home-order-guide { margin-bottom:12px; }
  .home-order-guide h2 { font-size:24px; }
  .home-order-steps { grid-template-columns:minmax(0,1fr);gap:24px; }
  .home-order-steps li { gap:18px; }
}
@media (max-width:359px) {
  .home-featured-grid,.home-purpose-grid { grid-template-columns:minmax(0,1fr); }
  .home-purpose-card p { min-height:0; }
  .home-collection h2 { font-size:21px; }
}
.home-events { display:grid;grid-template-columns:1.2fr 1fr;gap:64px;background:#FFF3F3;border:1px solid #F7D9DD;border-radius:16px;padding:48px; }
.home-events h2 { font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-1.3px;margin:14px 0 20px; }
.home-events-copy>p { max-width:560px;line-height:1.8;color:var(--text-muted);margin-bottom:24px; }
.home-events-picks { display:flex;flex-direction:column;justify-content:center;gap:12px; }
.home-events-picks>a { display:flex;align-items:center;gap:18px;background:white;border:1px solid #F2DDE0;border-radius:10px;padding:22px;color:var(--text-main);transition:border-color .2s,transform .2s; }
.home-events-picks>a:hover { border-color:var(--primary);transform:translateY(-2px); }
.home-event-number { color:var(--primary);font-size:13px;font-weight:800; }
.home-events-picks h3 { font-size:16px;margin:0 0 6px; }
.home-events-picks p { font-size:12px;color:var(--text-muted);margin:0;line-height:1.6; }
.home-events-picks>a>span:last-child { margin-left:auto;color:var(--primary); }
.catalog-body .footer-redesign { background:#111C30;color:#F4F6FA;border-top:4px solid var(--primary); }
.footer-redesign .footer-inner { max-width:1440px;padding:56px 24px 26px;margin:auto; }
.footer-intro { display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:38px;border-bottom:1px solid #334058; }
.footer-redesign .eyebrow { color:#FFADB7; }
.footer-intro h2 { color:white;font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-1px;margin:14px 0 0; }
.footer-contact-cta { display:inline-flex;align-items:center;gap:32px;padding:16px 24px;background:var(--primary);border-radius:8px;font-size:14px;font-weight:700;color:white; }
.footer-contact-cta:hover { background:#CE0024; }
.footer-columns { display:grid;grid-template-columns:1.15fr 1fr 1.15fr 1fr;gap:48px;padding:40px 0; }
.footer-columns>div,.footer-columns>nav { min-width:0; }
.footer-redesign .footer-logo-img { width:200px!important;height:auto!important;object-fit:contain; }
.footer-brand-column>p { margin:18px 0;color:#BAC5D8;font-size:13px;line-height:1.8;max-width:260px; }
.footer-redesign .footer-cnpj { color:#BAC5D8;font-size:12px; }
.footer-local-label { display:inline-block;color:#FFADB7;font-size:12px;border:1px solid #49546A;border-radius:30px;padding:7px 12px; }
.footer-link-column { display:flex;align-items:flex-start;flex-direction:column;gap:13px; }
.footer-link-column h3 { margin:0 0 8px;color:white;font-size:15px;line-height:1.5; }
.footer-link-column>a { color:#CAD3E2;font-size:13px;line-height:1.6; }
.footer-link-column>a:hover,.footer-policy-links a:hover { color:white;text-decoration:underline;text-underline-offset:4px; }
.footer-link-column p,.footer-link-column address { color:#BAC5D8;font-size:13px;line-height:1.8;margin:0;font-style:normal; }
.footer-redesign .footer-phone { color:#FFADB7;font-weight:700; }
.footer-payment { display:flex;flex-direction:column;gap:7px;padding:14px 16px;border:1px solid #394760;border-radius:8px;width:100%;box-sizing:border-box; }
.footer-payment>span { color:#FFADB7;font-size:10px;letter-spacing:1px;font-weight:700; }
.footer-payment strong { font-size:15px;color:white;letter-spacing:.5px; }
.footer-payment small { color:#BAC5D8;font-size:10px;line-height:1.6; }
.footer-link-column .footer-deadline-note { color:#FFADB7;font-size:12px; }
.footer-redesign .footer-bottom { border-color:#334058;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;color:#AEBAD0;padding-top:24px;font-size:11px; }
.footer-policy-links { display:flex;flex-wrap:wrap;gap:22px; }
.footer-policy-links a { color:#CAD3E2;line-height:1.6; }
.event-main { max-width:1440px;padding:0 24px;margin:auto; }
.event-breadcrumb { display:flex;flex-wrap:wrap;gap:12px;padding:24px 0;color:var(--text-muted);font-size:12px; }
.event-breadcrumb a { color:var(--primary); }
.event-hero { display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:64px;padding:24px 0 56px; }
.event-hero h1 { font-size:clamp(30px,3.5vw,48px);line-height:1.15;letter-spacing:-1.7px;margin:20px 0 24px; }
.event-hero-copy>p { font-size:16px;color:var(--text-muted);line-height:1.8;max-width:630px; }
.event-hero-actions { display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px; }
.event-hero-media { background:#F0F1F4;border-radius:16px;overflow:hidden;position:relative; }
.event-hero-media img { display:block;width:100%;height:auto;max-height:480px;object-fit:cover; }
.event-hero-media>span { position:absolute;bottom:20px;left:20px;right:20px;border-radius:7px;padding:13px 16px;font-size:12px;background:#111C30;color:white; }
.event-urgent { display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;padding:32px 36px;background:#FFF3F3;border-left:4px solid var(--primary);border-radius:0 12px 12px 0; }
.event-urgent h2 { margin:12px 0;font-size:25px;letter-spacing:-.7px; }
.event-urgent p { max-width:850px;line-height:1.8;font-size:14px;color:var(--text-muted);margin:0; }
.event-products-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px; }
.event-product-card { display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:white; }
.event-product-card>img,.event-product-symbol { width:100%;height:180px;object-fit:cover; }
.event-product-symbol { display:flex;align-items:center;justify-content:center;background:#F5F6F9;color:#B7C0D0;position:relative; }
.event-product-symbol>span { position:absolute;top:20px;left:22px;font-size:12px;color:var(--primary);font-weight:800; }
.event-product-copy { display:flex;flex-direction:column;flex:1;padding:22px; }
.event-product-copy .eyebrow { font-size:9px;letter-spacing:1.2px; }
.event-product-copy h3 { font-size:18px;line-height:1.35;margin:14px 0 12px; }
.event-product-copy p { font-size:13px;line-height:1.8;color:var(--text-muted);margin:0 0 22px; }
.event-product-copy a { margin-top:auto;font-size:12px; }
.event-planning,.event-local { display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:64px; }
.event-planning h2,.event-local h2 { font-size:32px;line-height:1.3;letter-spacing:-1px;margin:15px 0;max-width:540px; }
.event-planning p,.event-local p { color:var(--text-muted);line-height:1.8;font-size:14px;max-width:610px; }
.event-planning .text-link { margin-top:16px; }
.event-planning ol { list-style:none;counter-reset:eventsteps;margin:0;padding:0; }
.event-planning li { counter-increment:eventsteps;display:grid;grid-template-columns:36px 1fr;column-gap:16px;padding:18px 0;border-bottom:1px solid var(--border); }
.event-planning li::before { content:'0' counter(eventsteps);grid-row:span 2;color:var(--primary);font-size:13px;font-weight:800;padding-top:3px; }
.event-planning li strong { font-size:15px; }
.event-planning li span { color:var(--text-muted);font-size:13px;line-height:1.8;margin-top:5px; }
.event-local { padding:36px;background:#F5F6F9;border-radius:12px;grid-template-columns:1.5fr 1fr; }
.event-location-card { background:white;padding:32px;border:1px solid var(--border);border-radius:10px; }
.event-location-card address { font-style:normal;line-height:1.9;margin:20px 0;color:var(--text-muted);font-size:14px; }
.event-location-card address strong { color:var(--text-main);font-size:20px; }
.event-faq details { border-bottom:1px solid var(--border);padding:20px 0; }
.event-faq summary { cursor:pointer;font-size:16px;font-weight:700;line-height:1.6; }
.event-faq details p { max-width:950px;font-size:14px;line-height:1.8;color:var(--text-muted);margin:14px 0 0; }
.event-final-cta { text-align:center;background:#FFF3F3;border-radius:16px;padding:48px 24px;margin:64px 0; }
.event-final-cta h2 { font-size:32px;letter-spacing:-1px;margin:14px 0;line-height:1.3; }
.event-final-cta p { color:var(--text-muted);line-height:1.8;max-width:600px;margin:0 auto 24px;font-size:14px; }
.event-page .event-search { display:flex;background:white;border-radius:7px; }
.event-page .topbar-wa span { display:block; }
.event-search button { background:transparent;border:0;color:var(--primary);padding:12px;cursor:pointer; }
.event-search input { min-width:0; }
.event-page .sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.event-page #materiais { scroll-margin-top:150px; }
@media(max-width:1100px) {
  .footer-columns { gap:28px;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-events { gap:32px;padding:32px; }
  .event-hero { gap:32px; }
  .event-urgent { grid-template-columns:1fr;gap:20px; }
  .event-urgent>a { justify-self:start; }
  .event-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .event-planning,.event-local { gap:32px; }
}
@media(max-width:767px) {
  .home-events { grid-template-columns:1fr;gap:26px;padding:28px 22px; }
  .home-events h2 { font-size:29px; }
  .home-events-picks>a { padding:18px 16px;gap:12px; }
  .home-events-picks h3 { font-size:15px; }
  .footer-redesign .footer-inner { padding:36px 20px 72px; }
  .footer-intro { flex-direction:column;align-items:flex-start;padding-bottom:28px; }
  .footer-contact-cta { padding:14px 20px; }
  .footer-columns { gap:32px 24px;padding:32px 0; }
  .footer-brand-column { grid-column:1/-1; }
  .footer-brand-column>p { max-width:420px; }
  .footer-columns>div:last-child { grid-column:1/-1; }
  .footer-payment { max-width:290px; }
  .footer-link-column h3 { font-size:14px; }
  .footer-link-column>a,.footer-link-column p,.footer-link-column address { font-size:12px; }
  .footer-redesign .footer-bottom { align-items:flex-start;gap:16px; }
  .footer-policy-links { gap:12px 20px; }
  .event-main { padding:0 16px; }
  .event-hero { grid-template-columns:1fr;gap:24px;padding:16px 0 32px; }
  .event-hero h1 { font-size:34px;letter-spacing:-1px; }
  .event-hero-copy>p { font-size:14px; }
  .event-hero-media img { max-height:320px; }
  .event-hero-actions { gap:20px; }
  .event-urgent { padding:26px 22px; }
  .event-products-grid { gap:14px; }
  .event-product-copy { padding:16px; }
  .event-product-copy h3 { font-size:17px; }
  .event-product-card>img,.event-product-symbol { height:145px; }
  .event-planning,.event-local { grid-template-columns:1fr;gap:20px; }
  .event-planning h2,.event-local h2 { font-size:27px; }
  .event-local { padding:26px 22px; }
  .event-location-card { padding:24px; }
  .event-faq summary { font-size:15px; }
  .event-final-cta { margin:40px 0;padding:36px 22px; }
  .event-final-cta h2 { font-size:28px; }
  .event-page .topbar-inner { flex-wrap:wrap; }
  .event-page .topbar-wa { display:flex;font-size:11px; }
  .event-page .topbar-wa small { font-size:9px; }
  .event-page .topbar-logo-img { width:115px; }
  .event-page .event-search { display:flex;order:3;flex:0 0 100%;width:100%;margin:4px 0 2px; }
  .event-page .event-search input { padding:12px 16px; }
  .event-page #materiais { scroll-margin-top:140px; }
}
@media(max-width:479px) {
  .event-products-grid { grid-template-columns:1fr; }
  .event-product-card { flex-direction:column; }
  .event-product-card>img,.event-product-symbol { flex:none;width:100%;height:auto;min-height:0;aspect-ratio:5/3; }
  .event-product-symbol svg { width:50px;height:50px; }
  .event-product-symbol>span { left:16px; }
  .event-hero h1 { font-size:30px; }
  .event-page .topbar-logo-img { width:104px; }
}
@media(max-width:359px) {
  .footer-columns { grid-template-columns:1fr; }
  .footer-brand-column,.footer-columns>div:last-child { grid-column:auto; }
  .event-page .topbar-wa small { display:none; }
  .event-page .topbar-actions { gap:8px; }
  .event-product-card>img,.event-product-symbol { flex-basis:auto;width:100%; }
}
.event-product-card>img { object-fit:contain;background:#F5F6F9; }
