:root {
  --brand: 37 99 235;
  --brand-dark: 29 78 216;
}

html { -webkit-tap-highlight-color: transparent; }
body { font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }

.no-scrollbar { scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

/* Botão de curtir */
.like-btn svg { transition: transform .2s ease, fill .2s ease, stroke .2s ease; }
.like-btn[aria-pressed="true"] svg { fill: #ef4444; stroke: #ef4444; }
.like-btn.pop svg { animation: like-pop .35s ease; }
@keyframes like-pop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }

/* Galeria em tela cheia */
.gallery-fs { position: fixed !important; inset: 0; z-index: 70; border-radius: 0 !important; background: #000; }
.gallery-fs .gallery-track { aspect-ratio: auto !important; height: 100dvh; }
.gallery-fs .gallery-close { display: flex !important; }

/* Skeleton */
.skeleton { background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 37%, #e2e8f0 63%); background-size: 400% 100%; animation: skeleton 1.4s ease infinite; }
@keyframes skeleton { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

/* Drawer de filtros (mobile) */
@media (max-width: 1023px) {
  #filters-panel { position: fixed; inset: 0; z-index: 60; display: none; }
  #filters-panel.open { display: block; }
}

/* Toast */
.toast { animation: toast-in .25s ease; }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* Esconde as setas de input number */
input[type=number].no-spin::-webkit-outer-spin-button,
input[type=number].no-spin::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number].no-spin { -moz-appearance: textfield; }
