/*
 * Theme Graphite — MaBelleCave
 * Overrides DaisyUI pour le theme Graphite
 *
 * Palette :
 *   Page      : #C8C3BC (gris ardoise chaud)
 *   Cards     : #F6F5F3 (blanc casse)
 *   Topbar    : #D6D2CC
 *   Sidebar   : #2A2028 (aubergine sombre)
 *   Primary   : #8B3040 (bordeaux vif)
 *   Accent    : #D4AF37 (or)
 *   Texte     : #2C2622 (brun fonce)
 *   Texte 2   : #5A5450 (gris chaud)
 *   Muted     : #6E6862
 *
 * Font : Manrope (Google Fonts)
 */

/* ============================================
   Typographie globale
   ============================================ */
:root {
  font-family: 'Manrope', sans-serif;
}

/* ============================================
   Badges couleurs de vin (fideles a la DB couleurs_vin)
   ============================================ */
.badge-rouge {
  background-color: #C62828;
  color: #fff;
}

.badge-blanc {
  background-color: #F7E7CE;
  color: #6B4E1F;
  border: 1px solid #E8D5B0;
}

.badge-rose {
  background-color: #FFB6C1;
  color: #8B2252;
  border: 1px solid #F0A0AC;
}

.badge-petillant {
  background-color: #FFE4B5;
  color: #7A5A00;
  border: 1px solid #EED49A;
}

.badge-moelleux {
  background-color: #FFD700;
  color: #5C4300;
  border: 1px solid #E8C400;
}

/* ============================================
   Fix: DaisyUI .modal { display: grid } override
   dialog:not([open]) { display: none }
   ============================================ */
dialog.modal:not([open]) {
    display: none !important;
}
dialog.modal .modal-backdrop {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: transparent;
}

/* ============================================
   Overrides DaisyUI — Couleurs Graphite
   ============================================ */

/* Boutons */
.btn.btn-primary {
    background-color: #8B3040;
    border-color: #8B3040;
    color: #fff;
}
.btn.btn-primary:hover, .btn.btn-primary:focus {
    background-color: #6E2030;
    border-color: #6E2030;
    color: #fff;
}
.btn.btn-outline {
    background-color: transparent;
    border-color: currentColor;
    color: var(--text-primary, #2C2622);
}
.btn.btn-outline:hover {
    background-color: rgba(139, 48, 64, 0.08);
    color: #8B3040;
}
.btn.btn-secondary {
    background-color: #5A5450;
    border-color: #5A5450;
    color: #fff;
}
.btn.btn-ghost {
    background-color: transparent;
    border-color: transparent;
    color: var(--text-secondary, #5A5450);
}
.btn.btn-ghost:hover {
    background-color: rgba(0, 0, 0, 0.05);
    color: var(--text-primary, #2C2622);
}
.btn.btn-error {
    background-color: #ef4444;
    border-color: #ef4444;
    color: #fff;
}
.btn.btn-success {
    background-color: #27ae60;
    border-color: #27ae60;
    color: #fff;
}
.btn.btn-success:hover {
    background-color: #219a52;
    border-color: #219a52;
    color: #fff;
}
.btn.btn-warning {
    background-color: #F39C12;
    border-color: #F39C12;
    color: #fff;
}
.btn.btn-info {
    background-color: #3498DB;
    border-color: #3498DB;
    color: #fff;
}
.btn.btn-link {
    color: #8B3040;
    text-decoration: none;
    background-color: transparent;
    border-color: transparent;
}
.btn.btn-link:hover {
    color: #6E2030;
    text-decoration: underline;
}

/* Cards */
.card {
  background-color: var(--card-bg, #F6F5F3);
  border: 1px solid var(--border-color, #D0CAC2);
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Tables */
.table {
  width: 100%;
  border-collapse: collapse;
  color: var(--text-primary, #2C2622);
}
.table th, .table td {
  padding: 0.5rem 0.75rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--border-color, #D0CAC2);
}
.table thead th {
  background: rgba(42, 32, 40, 0.04);
  font-weight: 600;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--text-secondary, #5A5450);
}
.table-zebra tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.02);
}

/* Alerts — couleurs Graphite */
.alert-success {
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}
.alert-error {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}
.alert-warning {
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
}
.alert-info {
  color: #055160;
  background-color: #cff4fc;
  border-color: #b6effb;
}

/* Validation formulaires */
.is-invalid {
  border-color: #ef4444 !important;
}
.invalid-feedback {
  display: none;
  color: #ef4444;
  font-size: 0.8125rem;
  margin-top: 0.25rem;
}
.is-invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-feedback {
  display: block;
}

/* Liens */
a {
  color: #8B3040;
}
a:hover {
  color: #6E2030;
}
.sidebar a, .sidebar a:hover {
  color: inherit;
}

/* ============================================
   Pagination
   ============================================ */
.pagination {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.25rem;
}
.page-item .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  text-decoration: none;
  color: #8B3040;
  background-color: #fff;
  border: 1px solid var(--border-color, #D0CAC2);
  border-radius: 0.375rem;
  font-size: 0.875rem;
  transition: all 0.15s;
}
.page-item .page-link:hover {
  background-color: rgba(139, 48, 64, 0.08);
  color: #6E2030;
}
.page-item.active .page-link {
  background-color: #8B3040;
  border-color: #8B3040;
  color: #fff;
}
.page-item.disabled .page-link {
  color: var(--text-muted, #6E6862);
  pointer-events: none;
  opacity: 0.6;
}

/* ============================================
   Breadcrumb
   ============================================ */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.8125rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  padding: 0 0.5rem;
  color: var(--text-muted, #6E6862);
}
.breadcrumb-item a {
  color: #8B3040;
  text-decoration: none;
}
.breadcrumb-item.active {
  color: var(--text-muted, #6E6862);
}
