@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600&display=swap');

:root {
  --vert-foret: #355E3B;
  --or: #B89B5E;
  --ivoire: #F8F6F2;
  --sauge: #A8B8A0;
  --terracotta: #C97C5D;
  --brun: #6B4B3E;
  --lin: #EFE9DF;
  --texte: #2C2C2A;
}

*:not(#zone-widget-mr, #zone-widget-mr *) { box-sizing: border-box; }
body {
  font-family: 'Montserrat', sans-serif;
  background: var(--ivoire);
  color: var(--texte);
  margin: 0;
  padding: 0;
}
h1, h2, h3, .titre-marque {
  font-family: 'Cormorant Garamond', serif;
  color: var(--vert-foret);
  font-weight: 600;
}
a { color: var(--vert-foret); text-decoration: none; }

/* --- Layout admin --- */
.admin-layout { display: flex; min-height: 100vh; }
.admin-nav {
  width: 220px; background: var(--vert-foret); color: var(--ivoire);
  padding: 1.5rem 1rem; flex-shrink: 0;
}
.admin-nav a { color: var(--ivoire); display: block; padding: 8px 10px; border-radius: 6px; font-size: 14px; margin-bottom: 2px; }
.admin-nav a:hover, .admin-nav a.active { background: rgba(255,255,255,0.15); }
.admin-nav .logo { font-family: 'Cormorant Garamond', serif; font-size: 22px; color: var(--or); margin-bottom: 1.5rem; }
.admin-content { flex: 1; padding: 2rem; max-width: 1100px; }

table { width: 100%; border-collapse: collapse; margin: 1rem 0; background: white; }
th, td { padding: 8px 12px; border-bottom: 1px solid var(--lin); text-align: left; font-size: 14px; }
th { background: var(--lin); color: var(--vert-foret); }

form.inline { display: inline; }
input:not(#zone-widget-mr *), select:not(#zone-widget-mr *), textarea:not(#zone-widget-mr *) {
  font-family: 'Montserrat', sans-serif; padding: 6px 10px; border: 1px solid #ccc; border-radius: 6px; font-size: 14px;
}
button, .btn {
  font-family: 'Montserrat', sans-serif; background: var(--vert-foret); color: var(--ivoire);
  border: none; border-radius: 6px; padding: 8px 14px; font-size: 13px; cursor: pointer;
}
button:hover, .btn:hover { background: #294a30; }
.btn-secondaire { background: var(--or); }
.btn-danger { background: var(--terracotta); }

.card { background: white; border-radius: 10px; padding: 1rem 1.25rem; border: 1px solid var(--lin); margin-bottom: 1rem; }
.alerte-stock { color: var(--terracotta); font-weight: 600; }
.badge { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: 11px; background: var(--lin); color: var(--brun); }

/* --- Boutique publique --- */
.boutique-nav-top {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 2rem; background: white; border-bottom: 1px solid var(--lin);
}
.boutique-nav-top .logo-nav { font-family: 'Cormorant Garamond', serif; font-size: 20px; color: var(--vert-foret); font-weight: 600; }
.boutique-nav-top .liens-nav a { margin-left: 20px; font-size: 13px; color: var(--brun); }
.boutique-nav-top .liens-nav a:hover { color: var(--vert-foret); }

.boutique-header { text-align: center; padding: 2rem 1rem 1rem; }
.boutique-header .titre-marque { font-size: 32px; }
.boutique-header .souscritre { font-size: 12px; color: var(--or); letter-spacing: 2px; }
.filtres { text-align: center; margin-bottom: 2rem; }
.filtres a { margin: 0 10px; font-size: 13px; color: var(--brun); }
.filtres a.actif { color: var(--vert-foret); border-bottom: 2px solid var(--or); padding-bottom: 3px; }

.grille-produits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; padding: 0 2rem 3rem; max-width: 1100px; margin: 0 auto; }
.carte-produit { background: white; border-radius: 12px; overflow: hidden; border: 1px solid var(--lin); }
.carte-produit img { width: 100%; height: 180px; object-fit: cover; display: block; background: var(--sauge); }
.carte-produit .contenu { padding: 14px; }
.carte-produit .prix-ligne { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; }

.page-boutique { max-width: 700px; margin: 2rem auto; padding: 0 1.5rem; }
.footer-boutique { text-align: center; padding: 2rem; font-size: 12px; color: var(--brun); }
.footer-boutique a { margin: 0 8px; }