body, html { overflow-x: hidden; }
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* Thumbnails da galeria */
.thumb {
  width: 64px; height: 64px;
  border: 2px solid transparent;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  background: #f9fafb;
  transition: border-color 0.2s;
}
.thumb img { width: 100%; height: 100%; object-fit: contain; }
.thumb.active { border-color: #1d4ed8; }
.thumb:hover { border-color: #93c5fd; }

/* Cores selecionáveis */
.color-dot {
  width: 32px; height: 32px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid #fff;
  outline: 2px solid transparent;
  transition: outline-color 0.2s, transform 0.1s;
}
.color-dot:hover { transform: scale(1.1); }
.color-dot.active { outline-color: #1d4ed8; }
.color-dot.is-white { border-color: #d1d5db; }

/* Tab content */
.tab-btn.active {
  border-bottom-color: #1d4ed8 !important;
  color: #1d4ed8 !important;
}

/* Toast */
.toast-popup {
  position: fixed; top: 80px; right: 20px;
  background: #16a34a; color: #fff;
  padding: 12px 18px; border-radius: 10px;
  font-size: 13px; font-weight: 600;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  z-index: 9999;
  display: inline-flex; align-items: center; gap: 10px;
  transform: translateY(-20px); opacity: 0;
  transition: all 0.3s;
}
.toast-popup.show { transform: translateY(0); opacity: 1; }

/* Banner cookies animation */
#cookieBanner { transform: translateY(100%); transition: transform 0.3s; }
#cookieBanner.show { transform: translateY(0); }
