/* Variáveis - usando as do tema principal quando disponível */

/* Reset rápido para o scope do formulário/lista */
.produto-wrapper,
.produto-wrapper *{box-sizing:border-box}

.produto-wrapper{
  background: var(--bg-card, #ffffff);
  padding: var(--spacing-lg, 18px);
  border-radius: var(--radius-md, 12px);
  box-shadow: var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, 0.05));
}

/* Formulário */
#produto-form{
  background: var(--bg-card, #ffffff);
  border-radius: var(--radius-md, 12px);
  padding: var(--spacing-lg, 20px);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
  margin-bottom: var(--spacing-lg, 20px);
  border: 1px solid var(--gray-200, #e9ecef);
}

#produto-form .form-group{
  margin-bottom: var(--spacing-md, 16px);
}

#produto-form label{
  font-weight: 600;
  font-size: var(--font-size-sm, 0.875rem);
  color: var(--text-primary, #212529);
  display: block;
  margin-bottom: var(--spacing-xs, 4px);
}

#produto-form .form-control{
  border-radius: var(--radius-sm, 8px);
  border: 1px solid var(--gray-300, #dee2e6);
  padding: var(--spacing-sm, 10px) var(--spacing-md, 12px);
  transition: box-shadow var(--transition-fast, 0.15s ease), border-color var(--transition-fast, 0.15s ease);
  width: 100%;
  font-size: var(--font-size-base, 1rem);
}

/* Garantir que o input[type="file"] sempre funcione */
#html-upload,
#html-upload::file-selector-button,
#html-upload::-webkit-file-upload-button {
  pointer-events: auto !important;
  cursor: pointer !important;
}

#produto-form .form-control:focus{
  outline: 0;
  border-color: var(--primary, #0d6efd);
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

/* Botão - já estilizado no theme-main.css, apenas ajustes específicos */
#produto-form .btn-primary{
  background: linear-gradient(135deg, var(--primary, #0d6efd), var(--secondary, #6610f2));
  border: none;
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
  padding: var(--spacing-sm, 10px) var(--spacing-lg, 16px);
  border-radius: var(--radius-sm, 8px);
  font-weight: 600;
  transition: all var(--transition-fast, 0.15s ease);
}

#produto-form .btn-primary:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.12));
}

/* Mensagens */
#produto-message{
  margin-bottom: var(--spacing-sm, 8px);
  min-height: 24px;
}

.produto-msg{
  display: inline-block;
  padding: var(--spacing-sm, 8px) var(--spacing-md, 12px);
  border-radius: var(--radius-sm, 8px);
  font-weight: 600;
  font-size: var(--font-size-sm, 0.875rem);
  box-shadow: var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, 0.05));
  animation: fadeIn var(--transition-base, 0.3s ease);
}

.produto-msg.success{
  background: var(--success-light, #d1e7dd);
  color: var(--success, #198754);
  border: 1px solid rgba(25, 135, 84, 0.2);
}

.produto-msg.error{
  background: var(--danger-light, #f8d7da);
  color: var(--danger, #dc3545);
  border: 1px solid rgba(220, 53, 69, 0.2);
}

.produto-msg.info{
  background: var(--info-light, #cff4fc);
  color: var(--info, #0dcaf0);
  border: 1px solid rgba(13, 202, 240, 0.2);
}

/* Lista de produtos */
#produtos-list .list-group-item{
  border-radius: var(--radius-md, 12px);
  margin-bottom: var(--spacing-sm, 10px);
  background: var(--bg-card, #ffffff);
  transition: transform var(--transition-fast, 0.15s ease), box-shadow var(--transition-fast, 0.15s ease), opacity var(--transition-base, 0.3s ease);
  padding: var(--spacing-md, 14px);
  overflow: hidden;
  border: 1px solid var(--gray-200, #e9ecef);
  display: flex;
  align-items: center;
  gap: var(--spacing-md, 14px);
}

/* thumbnail */
#produtos-list .img-thumbnail{
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--radius-sm, 8px);
  flex-shrink: 0;
}

/* hover/active */
#produtos-list .list-group-item:hover{
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.12));
  border-color: var(--primary, #0d6efd);
}

/* ícones */
.bi{
  font-size: 1.1rem;
  color: var(--text-secondary, #6c757d);
  transition: color var(--transition-fast, 0.15s ease);
}

.col-auto a .bi:hover,
.col-auto button .bi:hover{
  color: var(--primary, #0d6efd);
}

/* animação entrada */
.produto-enter{
  animation: produtoFadeIn var(--transition-base, 0.3s ease) both;
}

@keyframes produtoFadeIn {
  from{
    transform: translateY(-8px);
    opacity: 0;
  }
  to{
    transform: translateY(0);
    opacity: 1;
  }
}

/* responsivo: compacta em telas pequenas */
/* Permite que o input file funcione mesmo quando o formulário tem a classe 'loading' */
#produto-form.loading input[type="file"],
#produto-form.loading input[type="file"]::file-selector-button {
  pointer-events: auto;
  cursor: pointer;
}

@media (max-width: 576px){
  #produto-form{
    padding: var(--spacing-md, 12px);
  }
  
  #produtos-list .img-thumbnail{
    width: 56px;
    height: 56px;
  }
  
  #produtos-list .list-group-item{
    flex-direction: column;
    align-items: flex-start;
    padding: var(--spacing-sm, 10px);
  }
  
  .col-auto .bi{
    font-size: 1rem;
  }
}

/* Category filter buttons */
.category-filter{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: .5rem;
  margin-bottom: 1rem;
}
.category-filter .btn-group{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.category-filter .btn{
  white-space: nowrap;
  border-radius: .5rem;
  padding: .45rem .75rem;
  font-weight: 600;
  min-width: fit-content;
}
.category-filter .btn.btn-outline-primary.active,
.category-filter .btn.btn-outline-primary:active{
  background-color: var(--primary, #0d6efd);
  border-color: var(--primary, #0d6efd);
  color: #fff;
  box-shadow: 0 6px 18px rgba(13,110,253,0.12);
  transform: translateY(-1px);
}
.category-filter .btn:focus{
  box-shadow: 0 0 0 3px rgba(13,110,253,0.12);
  outline: 0;
}
@media (max-width: 576px){
  .category-filter .btn{ padding: .35rem .6rem; font-size: .9rem; }
}

.badge-destaque{
  background: #dc3545;
  color: #fff;
  padding: .25rem .5rem;
  border-radius: .375rem;
  font-weight: 700;
  font-size: .85rem;
  display: inline-block;
}

/* Ajustes para botões na seção de destaques */
.destaques-section .card .btn{
  padding: .2rem .5rem !important;
  font-size: .85rem !important;
  border-radius: .375rem !important;
  min-width: 110px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  height: 36px !important;
  white-space: nowrap !important;
  width: auto !important;
}
.destaques-section .card .btn i{ font-size: .9rem; }
.destaques-section .card .card-title{ font-size: .975rem; margin-bottom: .25rem; }
.destaques-section .card .card-text{ font-size: .82rem; }

@media (max-width: 576px){
  .destaques-section .card .btn{ padding: .18rem .45rem !important; font-size: .8rem !important; min-width: 90px !important; height: 32px !important; }
  .destaques-section .card .card-title{ font-size: .95rem; }
}
