html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.field-validation-error {
    color: #ff0000;
}

.close-alert {
    position: absolute;
    right: -10px;
    top: -15px;
    border-radius: 15px;
    width: 30px;
    height: 30px;
}



/* ================================
   GRID PADRÃO (Estoque / Vendas)
================================ */

/* Tabela */
#table-grid {
    border-collapse: separate;
    border-spacing: 0;
    background-color: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

    /* Cabeçalho */
    #table-grid thead th {
        background: linear-gradient(135deg, #0d6efd, #0b5ed7);
        color: #ffffff;
        text-transform: uppercase;
        font-size: 0.8rem;
        letter-spacing: 0.05em;
        border: none;
        padding: 14px;
        text-align: center;
    }

    /* Linhas */
    #table-grid tbody tr {
        transition: background-color 0.2s ease, transform 0.1s ease;
    }

        /* Hover */
        #table-grid tbody tr:hover {
            background-color: #f1f5ff;
            transform: scale(1.002);
        }

    /* Células */
    #table-grid td {
        padding: 14px;
        border-top: 1px solid #e9ecef;
        vertical-align: middle;
        text-align: center;
        font-size: 0.9rem;
    }

        /* Primeira coluna alinhada à esquerda (produto/nome) */
        #table-grid td:first-child,
        #table-grid th:first-child {
            text-align: center;
        }

    /* ================================
   BOTÕES DE AÇÃO
================================ */

    #table-grid .btn-group {
        display: flex;
        gap: 6px;
        justify-content: center;
    }

    #table-grid .btn {
        padding: 6px 10px;
        font-size: 0.8rem;
        border-radius: 6px;
        transition: all 0.2s ease;
    }

        #table-grid .btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
        }

/* ================================
   IMAGEM DO PRODUTO
================================ */

.product-image {
    width: 45px;
    height: 45px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    background-color: #fff;
}

.product-icon {
    font-size: 28px;
    line-height: 45px;
}

/* ================================
   ALERTAS
================================ */

.alert {
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

/* ================================
   TÍTULO DA PÁGINA
================================ */

h1 {
    font-weight: 600;
    margin-bottom: 20px;
    color: #212529;
}


/* ================================
   NAVBAR
================================ */

.navbar {
    padding: 12px 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.navbar-brand {
    font-size: 1rem;
    color: #0d6efd !important;
}

/* Links */
.navbar .nav-link {
    border-radius: 6px;
    padding: 8px 12px;
    font-weight: 500;
    transition: all 0.2s ease;
}

    .navbar .nav-link:hover {
        background-color: #f1f5ff;
        color: #0d6efd !important;
    }

/* Dropdown */
.dropdown-menu {
    border-radius: 10px;
    padding: 6px;
}

.dropdown-item {
    border-radius: 6px;
    padding: 8px 12px;
    transition: all 0.2s ease;
}

    .dropdown-item:hover {
        background-color: #eef3ff;
        color: #0d6efd;
    }

    /* Ícones */
    .nav-link i,
    .dropdown-item i {
        font-size: 1rem;
        vertical-align: middle;
    }

/* ================================
  FIM NAVBAR
================================ */