/* Conforme Rétractation — Frontend v1.3.0
 * Direction artistique douce : ivoire, encre bleu marine, coins arrondis.
 * Polices 100 % système (RGPD : aucune requête externe).
 * ──────────────────────────────────────────────────────────────────── */

.kzcr-form-container,
.kzcr-account-section,
.kzcr-order-box {
  /* Palette */
  --kzcr-gold:        #00253B;
  --kzcr-gold-light:  #6B8299;
  --kzcr-gold-dark:   #001A29;
  --kzcr-ink:         #00253B;
  --kzcr-ivory:       #fbf8f2;
  --kzcr-paper:       #f4efe3;
  --kzcr-border:      #e8ddc9;
  --kzcr-hairline:    #f0e9d9;
  --kzcr-muted:       #5b6b78;
  --kzcr-text:        #00253B;
  --kzcr-ok:          #3c7a52;
  --kzcr-err:         #b0475f;
  /* Typographies système */
  --kzcr-serif: 'Didot', 'Bodoni MT', 'Playfair Display', 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --kzcr-sans:  -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --kzcr-mono:  ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Consolas, 'Courier New', monospace;
  /* Rayons */
  --kzcr-r-lg: 22px;
  --kzcr-r-md: 14px;
  --kzcr-r-sm: 10px;

  font-family: var(--kzcr-sans);
  color: var(--kzcr-text);
}

/* ── Container ─────────────────────────────────────────────────────── */
.kzcr-form-container {
  max-width: 840px;
  margin: 0 auto;
  font-size: 14px;
}

/* ── Mise en page : bande d'étapes + contenu ─────────────────────────── */
.kzcr-layout {
  display: flex;
  align-items: flex-start;
  gap: 44px;
}

.kzcr-content { flex: 1; min-width: 0; }

@media (max-width: 760px) {
  .kzcr-layout { flex-direction: column; gap: 26px; }
}

/* ── En-tête ───────────────────────────────────────────────────────── */
.kzcr-form-header {
  text-align: center;
  margin-bottom: 36px;
}

.kzcr-form-header__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--kzcr-paper);
  margin-bottom: 18px;
  padding: 9px;
  box-sizing: border-box;
}
.kzcr-form-header__seal svg {
  width: 100%;
  height: 100%;
  display: block;
}

.kzcr-form-header__overline {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--kzcr-gold-dark);
  margin: 0 0 10px;
}

.kzcr-form-header__title {
  font-family: var(--kzcr-serif);
  font-size: clamp(28px, 5vw, 38px);
  font-weight: 500;
  letter-spacing: .5px;
  color: var(--kzcr-ink);
  margin: 0 0 14px;
  line-height: 1.15;
}

.kzcr-form-header__lead {
  max-width: 520px;
  margin: 0 auto;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--kzcr-muted);
}

/* ── Bande d'étapes (verticale, style sommaire) ──────────────────────── */
.kzcr-steps {
  flex: 0 0 200px;
  display: flex;
  flex-direction: column;
}

.kzcr-step {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 5px 0;
}

.kzcr-step__dot {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--kzcr-border);
  background: #fff;
  color: var(--kzcr-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 12px;
  font-family: var(--kzcr-serif);
  font-style: italic;
  transition: background .3s, border-color .3s, color .3s, box-shadow .3s;
  position: relative;
  z-index: 1;
}

.kzcr-step__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.kzcr-step__label {
  font-size: 10px;
  color: var(--kzcr-muted);
  font-weight: 700;
  transition: color .2s;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.kzcr-step__desc {
  font-size: 11.5px;
  color: var(--kzcr-muted);
  opacity: .7;
}

.kzcr-step.is-active .kzcr-step__dot {
  background: var(--kzcr-gold);
  border-color: var(--kzcr-gold);
  color: #fff;
  box-shadow: 0 0 0 5px rgba(176, 141, 87, .14);
}
.kzcr-step.is-active .kzcr-step__label { color: var(--kzcr-ink); }

.kzcr-step.is-done .kzcr-step__dot {
  background: var(--kzcr-paper);
  border-color: var(--kzcr-gold-light);
  color: var(--kzcr-gold-dark);
  font-size: 0;
}
.kzcr-step.is-done .kzcr-step__dot::before {
  content: '✓';
  font-size: 14px;
  font-family: var(--kzcr-sans);
  font-style: normal;
}
.kzcr-step.is-done .kzcr-step__label { color: var(--kzcr-gold-dark); }

.kzcr-step__connector {
  width: 1px;
  height: 20px;
  margin-left: 18px;
  border-left: 1px dashed var(--kzcr-border);
  transition: border-color .3s;
}
.kzcr-step__connector.is-done { border-left-color: var(--kzcr-gold-light); border-left-style: solid; }

@media (max-width: 760px) {
  .kzcr-steps { flex-direction: row; flex: none; justify-content: space-between; }
  .kzcr-step { flex-direction: column; gap: 8px; padding: 0; text-align: center; }
  .kzcr-step__desc { display: none; }
  .kzcr-step__connector {
    width: auto; height: 0; flex: 1;
    margin: 18px 6px 0;
    border-left: none;
    border-top: 1px dashed var(--kzcr-border);
  }
  .kzcr-step__connector.is-done { border-left: none; border-top-color: var(--kzcr-gold-light); border-top-style: solid; }
}

/* ── Panneaux ──────────────────────────────────────────────────────── */
.kzcr-panel {
  background: var(--kzcr-ivory);
  border: 1px solid var(--kzcr-border);
  border-radius: var(--kzcr-r-lg);
  padding: 34px 38px 38px;
  box-shadow: 0 2px 24px rgba(43, 39, 33, .04);
  position: relative;
}

.kzcr-panel--hidden { display: none !important; }
.kzcr-panel:focus { outline: none; }

.kzcr-panel--enter { animation: kzcr-fade-up .45s cubic-bezier(.22,.9,.32,1) both; }
@keyframes kzcr-fade-up {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .kzcr-panel--enter { animation: none; }
}

.kzcr-panel__title {
  font-family: var(--kzcr-serif);
  font-size: 22px;
  font-weight: 500;
  color: var(--kzcr-ink);
  margin: 0 0 8px;
  letter-spacing: .3px;
}

.kzcr-panel__hint {
  font-size: 13px;
  color: var(--kzcr-muted);
  line-height: 1.65;
  margin: 0 0 24px;
}

.kzcr-panel__nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 28px;
}

/* ── Champs ────────────────────────────────────────────────────────── */
.kzcr-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 24px;
}
@media (max-width: 620px) {
  .kzcr-grid-2 { grid-template-columns: 1fr; }
  .kzcr-panel { padding: 26px 20px 30px; }
}

.kzcr-field { margin-bottom: 20px; }
.kzcr-grid-2 .kzcr-field { margin-bottom: 0; }
.kzcr-field--hidden { display: none !important; }

.kzcr-label {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--kzcr-ink);
  margin-bottom: 8px;
}

.kzcr-req { color: var(--kzcr-err); }

.kzcr-optional {
  display: block;
  font-weight: 400;
  letter-spacing: .2px;
  text-transform: none;
  color: var(--kzcr-muted);
  font-size: 11px;
  margin-top: 3px;
}

.kzcr-input {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--kzcr-border);
  border-radius: var(--kzcr-r-sm);
  padding: 12px 16px;
  font-size: 14px;
  font-family: var(--kzcr-sans);
  color: var(--kzcr-text);
  transition: border-color .2s, box-shadow .2s;
  -webkit-appearance: none;
  appearance: none;
}
.kzcr-input:focus {
  outline: none;
  border-color: var(--kzcr-gold);
  box-shadow: 0 0 0 3px rgba(176, 141, 87, .15);
}
.kzcr-input::placeholder { color: #9aa7b2; }

.kzcr-input--mono { font-family: var(--kzcr-mono); letter-spacing: .5px; }

.kzcr-select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a6a3f' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 38px;
}

.kzcr-textarea { resize: vertical; min-height: 80px; }

.kzcr-field-note {
  font-size: 11.5px;
  color: var(--kzcr-muted);
  margin: 7px 0 0;
  line-height: 1.5;
}

/* ── Boutons ───────────────────────────────────────────────────────── */
.kzcr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 14px 28px;
  font-family: var(--kzcr-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s, box-shadow .2s, transform .15s;
  line-height: 1.2;
}

.kzcr-btn--primary {
  background: var(--kzcr-gold);
  color: #fff !important;
  border-color: var(--kzcr-gold);
  box-shadow: 0 4px 14px rgba(176, 141, 87, .28);
}
.kzcr-btn--primary:hover,
.kzcr-btn--primary:focus {
  background: var(--kzcr-gold-dark);
  border-color: var(--kzcr-gold-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(176, 141, 87, .35);
}

.kzcr-btn--ghost {
  background: transparent;
  color: var(--kzcr-ink) !important;
  border-color: var(--kzcr-border);
}
.kzcr-btn--ghost:hover,
.kzcr-btn--ghost:focus {
  border-color: var(--kzcr-gold-light);
  background: #fff;
}

.kzcr-btn--block { width: 100%; }
.kzcr-btn--sm { padding: 10px 18px; font-size: 10px; letter-spacing: 1.4px; }
.kzcr-btn--sm small { font-weight: 400; opacity: .8; letter-spacing: 0; text-transform: none; }
.kzcr-btn[disabled] { opacity: .55; cursor: wait; transform: none; }

.kzcr-spinner {
  display: inline-block;
  width: 13px;
  height: 13px;
  border: 2px solid rgba(255, 255, 255, .35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: kzcr-spin .7s linear infinite;
}
@keyframes kzcr-spin { to { transform: rotate(360deg); } }

/* ── Alertes ───────────────────────────────────────────────────────── */
.kzcr-alert {
  padding: 13px 18px;
  margin-bottom: 18px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: var(--kzcr-r-sm);
}
.kzcr-alert[hidden] { display: none !important; }
.kzcr-alert--error {
  background: #fdf2f4;
  color: var(--kzcr-err);
  border: 1px solid #f2dbe1;
}
.kzcr-alert--success {
  background: #f1f7f3;
  color: var(--kzcr-ok);
  border: 1px solid #dcebe0;
}

/* ── Bandeau commande ──────────────────────────────────────────────── */
.kzcr-order-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--kzcr-paper);
  border-radius: var(--kzcr-r-md);
  padding: 16px 20px;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 26px;
}

.kzcr-order-summary__meta { font-size: 13px; line-height: 1.5; color: var(--kzcr-muted); }
.kzcr-order-summary__meta strong {
  font-family: var(--kzcr-serif);
  font-size: 16px;
  font-weight: 600;
  display: block;
  color: var(--kzcr-ink);
  letter-spacing: .3px;
}

.kzcr-order-summary__days {
  font-weight: 600;
  font-size: 12px;
  color: var(--kzcr-gold-dark);
  background: #fff;
  border-radius: 999px;
  padding: 7px 16px;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: var(--kzcr-mono);
}
.kzcr-order-summary__days.is-urgent {
  color: var(--kzcr-err);
  background: #fdf2f4;
}

/* ── Sélection d'articles ──────────────────────────────────────────── */
.kzcr-items-checklist {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 26px;
}

.kzcr-item-check {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 1px solid var(--kzcr-border);
  border-radius: var(--kzcr-r-md);
  cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s;
  background: #fff;
}
.kzcr-item-check:hover:not(.is-excluded) { border-color: var(--kzcr-gold-light); }

.kzcr-item-check input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 5px;
  accent-color: var(--kzcr-gold-dark);
  cursor: pointer;
  margin: 0;
}

.kzcr-item-check__img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: var(--kzcr-r-sm);
  border: 1px solid var(--kzcr-hairline);
}

.kzcr-item-check__body { flex: 1; min-width: 0; }

.kzcr-item-check__name {
  font-weight: 600;
  font-size: 13.5px;
  color: var(--kzcr-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kzcr-item-check__total {
  font-size: 12px;
  color: var(--kzcr-muted);
  margin-top: 3px;
  font-family: var(--kzcr-mono);
}

.kzcr-item-check__excluded-note {
  font-size: 11px;
  color: var(--kzcr-err);
  margin-top: 3px;
}

.kzcr-item-check.is-selected {
  border-color: var(--kzcr-gold-light);
  background: var(--kzcr-ivory);
  box-shadow: 0 3px 12px rgba(176, 141, 87, .1);
}

.kzcr-item-check.is-excluded { opacity: .5; cursor: default; }

/* ── Récapitulatif ─────────────────────────────────────────────────── */
.kzcr-recap-box {
  background: #fff;
  border: 1px solid var(--kzcr-border);
  border-radius: var(--kzcr-r-md);
  overflow: hidden;
  margin-bottom: 22px;
}

.kzcr-recap-box h4 {
  margin: 0;
  padding: 12px 20px;
  font-family: var(--kzcr-sans);
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--kzcr-gold-dark);
  border-bottom: 1px solid var(--kzcr-hairline);
  background: var(--kzcr-paper);
}

.kzcr-recap-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 12px 20px;
  font-size: 13px;
  border-bottom: 1px solid var(--kzcr-hairline);
}
.kzcr-recap-row:last-child { border-bottom: none; }
.kzcr-recap-row span:first-child { color: var(--kzcr-muted); }
.kzcr-recap-row span:last-child {
  font-weight: 600;
  color: var(--kzcr-ink);
  font-family: var(--kzcr-mono);
  font-size: 12.5px;
  text-align: right;
}

/* ── Consentement ──────────────────────────────────────────────────── */
.kzcr-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--kzcr-paper);
  border-radius: var(--kzcr-r-md);
  padding: 16px 20px;
  cursor: pointer;
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--kzcr-text);
}
.kzcr-consent input {
  flex-shrink: 0;
  margin: 3px 0 0;
  width: 16px;
  height: 16px;
  border-radius: 5px;
  accent-color: var(--kzcr-gold-dark);
}

/* ── Piège anti-robots (invisible) ─────────────────────────────────── */
.kzcr-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ── Succès ────────────────────────────────────────────────────────── */
.kzcr-success { text-align: center; padding: 56px 38px !important; }

.kzcr-success__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--kzcr-paper);
  margin-bottom: 24px;
  animation: kzcr-seal .5s cubic-bezier(.22,.9,.32,1) both;
}
.kzcr-success__seal::before {
  content: '✓';
  font-family: var(--kzcr-sans);
  font-size: 26px;
  font-weight: 700;
  color: var(--kzcr-gold-dark);
  line-height: 1;
}
@keyframes kzcr-seal {
  from { opacity: 0; transform: scale(.75); }
  to   { opacity: 1; transform: scale(1); }
}

.kzcr-success__title {
  font-family: var(--kzcr-serif);
  font-size: 26px;
  font-weight: 500;
  color: var(--kzcr-ink);
  margin: 0 0 12px;
}

.kzcr-success__ref {
  font-size: 13px;
  color: var(--kzcr-muted);
  margin: 0 0 14px;
}
.kzcr-success__ref strong {
  display: inline-block;
  font-family: var(--kzcr-mono);
  font-size: 13px;
  letter-spacing: 1px;
  color: var(--kzcr-ink);
  background: var(--kzcr-paper);
  border-radius: 999px;
  padding: 5px 16px;
  margin-left: 6px;
}

.kzcr-success__text {
  max-width: 460px;
  margin: 0 auto 22px;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--kzcr-muted);
}

.kzcr-success__legal {
  text-align: left;
  background: #fff;
  border: 1px solid var(--kzcr-border);
  border-radius: var(--kzcr-r-md);
  padding: 16px 20px;
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--kzcr-text);
}
.kzcr-success__legal strong {
  display: block;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--kzcr-gold-dark);
  margin-bottom: 6px;
}

/* ── Mon compte ────────────────────────────────────────────────────── */
.kzcr-account-section { max-width: 760px; }

.kzcr-account-section__overline {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--kzcr-gold-dark);
  margin: 0 0 8px;
}

.kzcr-account-section__title {
  font-family: var(--kzcr-serif);
  font-size: 28px;
  font-weight: 500;
  color: var(--kzcr-ink);
  margin: 0 0 12px;
}

.kzcr-account-section__lead {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--kzcr-muted);
  margin: 0 0 24px;
  max-width: 560px;
}

.kzcr-account-empty { color: var(--kzcr-muted); font-style: italic; }

.kzcr-account-orders {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--kzcr-border);
  border-radius: var(--kzcr-r-lg);
  background: var(--kzcr-ivory);
  overflow: hidden;
}

.kzcr-account-order {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 18px 22px;
  border-bottom: 1px solid var(--kzcr-hairline);
  margin: 0;
}
.kzcr-account-order:last-child { border-bottom: none; }

.kzcr-account-order__number {
  font-family: var(--kzcr-serif);
  font-size: 16px;
  font-weight: 600;
  color: var(--kzcr-ink);
}

.kzcr-account-order__meta {
  font-size: 12.5px;
  color: var(--kzcr-muted);
  margin-top: 2px;
}

.kzcr-account-badge {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--kzcr-gold-dark);
  background: var(--kzcr-paper);
  border-radius: 999px;
  padding: 8px 16px;
  white-space: nowrap;
}

.kzcr-account-expired { color: var(--kzcr-muted); font-size: 12px; font-style: italic; }

/* ── Encart commande (view-order) ──────────────────────────────────── */
.kzcr-order-box {
  background: var(--kzcr-ivory);
  border: 1px solid var(--kzcr-border);
  border-radius: var(--kzcr-r-lg);
  padding: 26px 30px;
  margin: 32px 0;
}

.kzcr-order-box__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

.kzcr-order-box__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--kzcr-paper);
  flex-shrink: 0;
}
.kzcr-order-box__mark::before {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid var(--kzcr-gold);
}

.kzcr-order-box__title {
  font-family: var(--kzcr-serif) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--kzcr-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.kzcr-order-box__text {
  font-size: 13px;
  line-height: 1.7;
  color: var(--kzcr-text);
  margin: 0 0 16px;
}
.kzcr-order-box__text--muted { color: var(--kzcr-muted); margin-bottom: 0; }

/* ── Notice checkout ───────────────────────────────────────────────── */
.kzcr-checkout-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--kzcr-paper, #f4efe3);
  border-radius: var(--kzcr-r-md, 14px);
  padding: 14px 18px;
  margin: 0 0 18px;
}
.kzcr-checkout-notice__mark {
  display: inline-flex;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  margin-top: 1px;
}
.kzcr-checkout-notice__mark::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  margin: 5px auto;
  border-radius: 50%;
  border: 2px solid var(--kzcr-gold, #00253B);
}
.kzcr-checkout-notice p {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #4a5a68;
}
.kzcr-checkout-notice a { color: #001A29; text-decoration: underline; }

/* ── Badge produit ─────────────────────────────────────────────────── */
.kzcr-product-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  font-size: 12px;
}
.kzcr-product-badge__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #f4efe3;
  flex-shrink: 0;
}
.kzcr-product-badge__mark::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 2px solid #00253B;
}
.kzcr-product-badge a { color: #4a5a68; text-decoration: underline; }
.kzcr-product-badge a:hover { color: #00253B; }

/* ── Badge flottant ────────────────────────────────────────────────── */
.kzcr-compliance-badge {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--kzcr-gold, #00253B);
  color: #fff !important;
  border-radius: 999px;
  padding: 12px 20px;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(176, 141, 87, .35);
  transition: transform .15s;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.kzcr-compliance-badge span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}
.kzcr-compliance-badge:hover {
  transform: translateY(-2px);
  color: #fff !important;
}

/* ── Notice CGV ────────────────────────────────────────────────────── */
.kzcr-legal-notice p { line-height: 1.75; }
