/* ============================================
   CARIOCANDO — Responsive & Utilities
   ============================================ */

/* ── Utilities ── */
.hidden { display: none !important; }
.block { display: block; }
.inline-block { display: inline-block; }
.relative { position: relative; }
.overflow-hidden { overflow: hidden; }
.cursor-pointer { cursor: pointer; }

.rounded { border-radius: var(--radius); }
.rounded-md { border-radius: var(--radius-md); }
.rounded-lg { border-radius: var(--radius-lg); }
.rounded-xl { border-radius: var(--radius-xl); }
.rounded-full { border-radius: var(--radius-full); }

.bg-white { background-color: var(--branco); }
.bg-off-white { background-color: var(--off-white); }
.bg-light { background-color: var(--azul-ceu); }
.bg-dark { background-color: var(--azul-profundo); }

.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow { box-shadow: var(--shadow); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }

.opacity-50 { opacity: 0.5; }
.opacity-70 { opacity: 0.7; }

.p-4 { padding: var(--space-4); }
.p-6 { padding: var(--space-6); }
.p-8 { padding: var(--space-8); }

/* ── Mobile Only ── */
@media (max-width: 768px) {
    .hide-mobile { display: none !important; }
}

/* ── Desktop Only ── */
@media (min-width: 769px) {
    .hide-desktop { display: none !important; }
}

/* ── Tablet Only ── */
@media (min-width: 769px) and (max-width: 1024px) {
    .hide-tablet { display: none !important; }
}
