/* Boutons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--ff-ui);font-weight:600;font-size:.96rem;
  padding:14px 22px;border-radius:var(--r-md);
  text-decoration:none;cursor:pointer;border:1.5px solid transparent;
  transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast),border-color var(--t-fast);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);}
.btn svg{width:18px;height:18px;flex-shrink:0;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000);}
.btn-wa{background:var(--wa-green);color:#fff;}
.btn-wa:hover{background:color-mix(in srgb,var(--wa-green) 88%,#000);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--text);}
.btn-ghost:hover{background:var(--text);color:var(--bg);}
.btn-ghost-light{background:transparent;color:var(--text-on-dark);border-color:var(--text-on-dark);}
.btn-ghost-light:hover{background:var(--text-on-dark);color:var(--surface-deep);}
.btn-outline{background:transparent;color:var(--accent);border-color:var(--accent);}
.btn-outline:hover{background:var(--accent);color:#fff;}

/* Chips */
.chip{display:inline-flex;align-items:center;gap:7px;
  padding:6px 12px;border-radius:999px;
  background:color-mix(in srgb,var(--text) 5%,transparent);
  font-size:.85rem;color:var(--text-2);font-family:var(--ff-ui);font-weight:500;}
.chip svg{width:14px;height:14px;color:var(--accent);}
.chip-accent{background:var(--accent-soft);color:var(--accent);}

/* Tag pill (sur photo) */
.tag-pill{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 12px;border-radius:999px;
  background:rgba(255,255,255,.86);color:var(--text);
  font-size:.78rem;font-weight:600;font-family:var(--ff-ui);
  text-transform:uppercase;letter-spacing:.08em;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}

/* Rating badge */
.rating-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--text);font-family:var(--ff-ui);
  text-decoration:none;font-size:.95rem;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  transition:transform var(--t-fast);
}
.rating-badge:hover{transform:translateY(-1px);}
.rating-badge strong{font-weight:700;}
.rating-badge .stars{display:inline-flex;gap:2px;color:#E0A52F;}
.rating-badge .stars svg{width:14px;height:14px;}
.rating-badge .meta{color:var(--text-2);font-size:.82rem;}

/* Form */
.form{display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr;gap:14px;}
@media (min-width:560px){.form-row{grid-template-columns:1fr 1fr;}}
.field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.field label{font-family:var(--ff-ui);font-size:.82rem;font-weight:600;color:var(--text);}
.field input,.field select,.field textarea{
  font-family:var(--ff-ui);font-size:1rem;color:var(--text);
  padding:13px 14px;border-radius:var(--r-md);
  background:var(--surface);border:1.5px solid var(--border);
  width:100%;min-width:0;
  transition:border-color var(--t-fast),background var(--t-fast);
}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--accent);outline:none;background:var(--bg);
}
.field textarea{min-height:120px;resize:vertical;}
.form-help{font-size:.82rem;color:var(--text-mute);}

/* Card row (LAY-4) */
.c-row{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:18px 0;}
.c-row__icon{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);}
.c-row__icon svg{width:24px;height:24px;}

/* Mentions modal */
.ml-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px;}
.ml-overlay{position:absolute;inset:0;background:rgba(15,18,12,.62);}
.ml-box{position:relative;background:var(--bg);border-radius:var(--r-lg);max-width:520px;width:100%;
  padding:32px 26px;max-height:84vh;overflow-y:auto;box-shadow:0 18px 48px rgba(0,0,0,.25);}
.ml-box h2{font-size:1.4rem;margin-bottom:14px;}
.ml-box h3{font-size:.92rem;font-family:var(--ff-ui);text-transform:uppercase;letter-spacing:.12em;
  color:var(--accent);font-weight:700;margin:18px 0 6px;}
.ml-box p{font-size:.92rem;color:var(--text-2);line-height:1.55;}
.ml-close{position:absolute;top:12px;right:12px;width:36px;height:36px;display:grid;place-items:center;
  border-radius:50%;background:color-mix(in srgb,var(--text) 8%,transparent);}
.ml-close:hover{background:color-mix(in srgb,var(--text) 14%,transparent);}
.ml-close svg{width:18px;height:18px;}

/* Lightbox galerie */
.lightbox{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(15,18,12,.92);
  display:flex;align-items:center;justify-content:center;padding:24px;}
.lb-image{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:var(--r-md);box-shadow:0 18px 48px rgba(0,0,0,.40);}
.lb-close,.lb-prev,.lb-next{position:absolute;width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;
  backdrop-filter:blur(6px);}
.lb-close{top:18px;right:18px;}
.lb-prev{left:14px;top:50%;transform:translateY(-50%);}
.lb-next{right:14px;top:50%;transform:translateY(-50%);}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.24);}
.lb-close svg,.lb-prev svg,.lb-next svg{width:22px;height:22px;}

/* Etoiles or */
.stars-row{display:inline-flex;gap:3px;color:#E0A52F;}
.stars-row svg{width:18px;height:18px;}
