:root {
  --safa-font: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --safa-accent: #002060;          /* bleu brand actif/hover */
  --safa-text-on-accent: #ffffff;  /* texte sur bouton actif */
  --safa-chip-text: #002060;       /* texte bouton au repos */
  --safa-chip-bg: #ffffff;         /* fond bouton au repos */
  --safa-chip-border: #002060;     /* bord bouton au repos */
  --safa-muted: #6b7280;
  --safa-surface: #ffffff;
  --safa-stroke: rgba(0,0,0,.08);
}

.safa-av-hidden { display:none !important; }

.safa-av-wrap {
  font-family: var(--safa-font);
  border: 1px solid var(--safa-stroke);
  border-radius: 18px;
  padding: 18px;
  background: var(--safa-surface);
}

.safa-av-steps { display: grid; gap: 14px; }

.safa-av-step {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease;
  border: 1px solid var(--safa-stroke);
  background: #fff;
  border-radius: 14px;
  padding: 14px;
}
.safa-av-step.is-hidden { opacity: 0; transform: translateY(-6px); pointer-events: none; height: 0; padding: 0; margin: 0; border: 0; overflow: hidden; }
.safa-av-step.is-selected { box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.safa-av-step.bounce { animation: av-bounce .35s; }
@keyframes av-bounce { 0%{transform:scale(.98)} 60%{transform:scale(1.01)} 100%{transform:scale(1)} }

.safa-av-step-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.safa-av-step-count {
  font-size:.74rem; font-weight:700; letter-spacing:.02em;
  color: var(--safa-accent);
  background: rgba(0,32,96,.08);
  border: 1px solid rgba(0,32,96,.18);
  border-radius: 999px; padding: 4px 10px;
}
.safa-av-step-title { margin:0; font-size:1.05rem; font-weight:800; color:#111827; }

.safa-av-options { display:flex; flex-wrap:wrap; gap:10px; }

.safa-av-chip {
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  border: 2px solid var(--safa-chip-border);
  background: var(--safa-chip-bg);
  color: var(--safa-chip-text);
  border-radius: 12px;
  padding: 10px 14px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition: transform .1s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.safa-av-chip:hover,
.safa-av-chip:focus-visible {
  background: var(--safa-accent);
  color: var(--safa-text-on-accent);
  border-color: var(--safa-accent);
  outline: none;
  box-shadow: 0 6px 18px rgba(0,32,96,.18);
  transform: translateY(-1px);
}
.safa-av-chip.active {
  background: var(--safa-accent);
  color: var(--safa-text-on-accent);
  border-color: var(--safa-accent);
  box-shadow: 0 8px 24px rgba(0,32,96,.22);
}
.safa-av-chip .safa-av-check {
  position:absolute; right:6px; top:6px; width:8px; height:8px;
  border-radius:999px; background: var(--safa-text-on-accent);
  opacity:0; transform:scale(.6); transition:opacity .18s, transform .18s;
}
.safa-av-chip.active .safa-av-check { opacity:1; transform:scale(1); }

.safa-av-empty { font-size:.9rem; color: var(--safa-muted); padding:6px 0; }

.safa-av-actions { display:flex; justify-content:flex-end; margin-top:10px; }
.safa-av-reset {
  font-family: var(--safa-font);
  background:#f1f5f9; color:#0f172a;
  border:1px solid #e2e8f0; border-radius:10px;
  padding:8px 12px; font-weight:700; cursor:pointer;
  transition: background .2s ease, transform .1s ease;
}
.safa-av-reset:hover { background:#e2e8f0; transform: translateY(-1px); }

.safa-av-hint { margin-top: 10px; }
.safa-av-cond {
  font-family: var(--safa-font);
  font-size: .85rem;
  line-height: 1.4;
  color: #374151;
  background: #f8fafc;
  border: 1px dashed rgba(0,32,96,.25);
  padding: 10px 12px;
  border-radius: 10px;
}
.safa-av-cond strong { color: var(--safa-accent); }

/* ===== SAFA – Override Woo Add-to-Cart (hard override) ===== */
:root{
  --safa-font: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial;
  --safa-blue: #002060;
  --safa-red: #D73A3A;          /* rouge CTA */
  --safa-red-hover: #B82B2B;
  --safa-red-press: #9E2222;
  --safa-grey: #F1F5F9;         /* disabled bg */
  --safa-grey-border: #E5E7EB;
  --safa-grey-text: #9CA3AF;
}

/* Disposition & font */
.variations_form .woocommerce-variation-add-to-cart{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
  font-family: var(--safa-font) !important;
}

/* ===== Quantité pill alignée ===== */
.variations_form .quantity{
  margin:0 !important;
}
.variations_form .quantity .qty{
  width:76px !important;
  height:48px !important;
  padding:0 12px !important;
  border-radius:14px !important;
  border:1px solid var(--safa-blue) !important;
  background:#fff !important;
  color:#111 !important;
  text-align:center !important;
  font-weight:700 !important;
  font-size:16px !important;
  line-height:48px !important;
  box-shadow:none !important;
}
.variations_form .quantity .qty:focus{
  outline:none !important;
  border-color: var(--safa-blue) !important;
  box-shadow: 0 0 0 4px rgba(0,32,96,.12) !important;
}
/* retire les flèches (Chrome) */
.variations_form .quantity input[type=number]::-webkit-outer-spin-button,
.variations_form .quantity input[type=number]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.variations_form .quantity input[type=number]{ -moz-appearance: textfield; }

/* ===== Bouton Add to Cart rouge ===== */
.variations_form .single_add_to_cart_button,
.variations_form .single_add_to_cart_button.button,
.variations_form .single_add_to_cart_button.button.alt{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:48px !important;
  padding:14px 22px !important;
  border-radius:14px !important;
  border:2px solid var(--safa-red) !important;
  background: var(--safa-red) !important;
  color:#fff !important;
  font-family: var(--safa-font) !important;
  font-weight:700 !important;
  font-size:16px !important;
  letter-spacing:.2px !important;
  text-shadow:none !important;
  box-shadow: 0 10px 24px rgba(215,58,58,.22) !important;
  transform: translateY(0) !important;
}

/* Hover / Active */
.variations_form .single_add_to_cart_button:hover{
  background: var(--safa-red-hover) !important;
  border-color: var(--safa-red-hover) !important;
  box-shadow: 0 12px 28px rgba(184,43,43,.28) !important;
  transform: translateY(-1px) !important;
}
.variations_form .single_add_to_cart_button:active{
  background: var(--safa-red-press) !important;
  border-color: var(--safa-red-press) !important;
  transform: translateY(0) !important;
}

/* Focus accessibilité */
.variations_form .single_add_to_cart_button:focus-visible{
  outline:none !important;
  box-shadow: 0 0 0 4px rgba(215,58,58,.22), 0 10px 24px rgba(215,58,58,.22) !important;
  transform: translateY(-1px) !important;
}

/* État désactivé (variation incomplète) */
.variations_form .single_add_to_cart_button.disabled,
.variations_form .single_add_to_cart_button[disabled],
.variations_form .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{
  background: var(--safa-grey) !important;
  border-color: var(--safa-grey-border) !important;
  color: var(--safa-grey-text) !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
  transform:none !important;
}

/* Mobile: CTA full width */
@media (max-width: 640px){
  .variations_form .woocommerce-variation-add-to-cart{ gap:10px !important; }
  .variations_form .single_add_to_cart_button{ width:100% !important; }
}


.variations_form .single_add_to_cart_button::before{
  content:"";
  display:inline-block; width:18px; height:18px;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 0 24 24"><path d="M7 4h-2l-1 2h2l3.6 7.59-1.35 2.45A2 2 0 0 0 10 19h9v-2h-9l1.1-2h7.45a2 2 0 0 0 1.79-1.11l3.58-7.16A1 1 0 0 0 23 4h-16zM7 20a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"/></svg>') center / contain no-repeat;
  background:#fff;
  margin-right:6px;
}

/* ==== SAFA qty compact vertical - luxe ==== */
:root { --safa-blue: #002060; }

.safa-qty-compact {
  display:inline-flex;
  align-items:center;
  gap:8px;
}

/* Input quantité — taille maître (46px) */
.safa-qty-compact .quantity .qty{
  width:70px !important;
  height:46px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  border:2px solid var(--safa-blue) !important;
  background:#fff !important;
  color:#111 !important;
  text-align:center !important;
  font-weight:700 !important;
  font-size:16px !important;
  line-height:46px !important;
}

/* Colonne fine des boutons: totale = hauteur input */
.safa-qty-vbtns{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:46px;    /* pile deux boutons pour correspondre à l'input */
  gap:0;
}

/* Boutons + / -: FIN, BLEU, TEXTE BLANC, pas de bord, pas de font-weight lourd */
.safa-qty-vbtn{
  width:32px;
  height:22px;               /* 22+22 = 44, small gap; keeps compact visual */
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:var(--safa-blue);
  color:#ffffff;
  border:0;
  font-family:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial;
  font-weight:400;           /* normal, pas lourd */
  font-size:16px;
  line-height:1;
  box-shadow: none;
  cursor:pointer;
  padding:0;
}

/* Hover / active: subtle */
.safa-qty-vbtn:hover{ filter:brightness(.95); transform:none; box-shadow:0 6px 14px rgba(0,32,96,.14); }
.safa-qty-vbtn:active{ transform:translateY(0); }

/* Remove any previous big-pill styles */
.safa-qty-btn, .safa-qty-group { display:none !important; }

.safa-qty-vbtn
{
  margin-left: 0px !important;
}
.safa-qty-vbtns button {
    background: #031f60 !important;
    padding: 0px !important;
    border-radius: 8px !important;
}
