/* ── Brand ────────────────────────────────────────────────────── */
.brand-logo {
    font-family: 'Lobster', cursive;
    color: #ff6600;
    letter-spacing: -0.01em;
    line-height: 1;
}
.brand-logo-white {
    font-family: 'Lobster', cursive;
    color: #fff8f0;
    letter-spacing: -0.01em;
    line-height: 1;
}

/* ── Material Symbols ─────────────────────────────────────────── */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.material-symbols-outlined.filled {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ── Utilitários ──────────────────────────────────────────────── */
.tonal-shift-bg {
    background: linear-gradient(to top, #fff8f0 0%, #fdf3df 100%);
}

.glass-search {
    background: rgba(255, 248, 240, 0.8);
    backdrop-filter: blur(12px);
}

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

/* ── Body ─────────────────────────────────────────────────────── */
body {
    min-height: 100dvh;
}

/* ── Safe area (iOS notch) ────────────────────────────────────── */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .safe-bottom {
        padding-bottom: calc(env(safe-area-inset-bottom) + 1.5rem);
    }
}

/* ── Form inputs override (tailwind/forms plugin) ─────────────── */
input[type="text"],
input[type="email"],
input[type="password"] {
    border-radius: 9999px;
    border-color: #e3bfb1;
    background-color: #ffffff;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-right: 1.25rem;
    padding-left: 1.25rem;
    font-size: 0.875rem;
    width: 100%;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
    border-color: #a33e00;
    box-shadow: 0 0 0 3px rgba(163, 62, 0, 0.12);
}
/* search inputs with icon — padding-left é controlado pela classe Tailwind pl-* */
input.has-icon {
    padding-left: 2.75rem;
}

select {
    border-radius: 9999px;
    border-color: #e3bfb1;
    background-color: #ffffff;
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
    width: 100%;
}
select:focus {
    border-color: #a33e00;
    box-shadow: 0 0 0 3px rgba(163, 62, 0, 0.12);
    outline: none;
}

/* ── Culinary sun gradient (botão auth) ───────────────────────── */
.bg-culinary-sun {
    background: linear-gradient(135deg, #a33e00 0%, #ff6600 100%);
}

/* ── Auth inputs (páginas de login/cadastro) ──────────────────── */
.auth-input {
    border-radius: 1rem !important;
    background-color: #ffffff !important;
    border: 1.5px solid #e3bfb1 !important;
    box-shadow: none !important;
    padding: 1rem 1rem 1rem 3rem !important;
    width: 100%;
    font-size: 0.875rem;
    color: #1f1b0f;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}
.auth-input:focus {
    border-color: #ff6600 !important;
    box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.12) !important;
}
.auth-input::placeholder {
    color: #8e7164;
}
