/* Bijouterie Degeye — Formulaire de contact */
.bdcf-form-wrap{
  --bdcf-bg:#ffffff;
  --bdcf-bg-soft:#faf7f3;
  --bdcf-bg-warm:#f3ede5;
  --bdcf-ink:#1c1814;
  --bdcf-ink-soft:#3a342e;
  --bdcf-ink-mute:#7a6f63;
  --bdcf-line:#e8e0d4;
  --bdcf-accent:#8b7d72;
  --bdcf-accent-deep:#6b5f55;
  --bdcf-accent-faded:#d8cfc4;
  --bdcf-error:#c0392b;
  --bdcf-r-sm:8px;
  --bdcf-r-md:14px;
  --bdcf-r-full:999px;
  --bdcf-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --bdcf-sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --bdcf-gradient-accent:linear-gradient(90deg,#8b7d72,#6b5f55);
  font-family:var(--bdcf-sans);
  color:var(--bdcf-ink);
  max-width:760px;
  margin:0 auto;
}

/* Critical: [hidden] must hide */
.bdcf-form-wrap [hidden]{display:none !important}

.bdcf-form{
  background:var(--bdcf-bg);
  border:1px solid var(--bdcf-line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(28,24,20,.06);
}

/* Header */
.bdcf-form-header{padding:28px 40px 22px;border-bottom:1px solid var(--bdcf-line)}
.bdcf-form-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bdcf-accent-deep);font-weight:500;display:inline-flex;align-items:center;gap:12px;margin-bottom:10px}
.bdcf-form-eyebrow::before{content:'';width:24px;height:1px;background:var(--bdcf-accent)}
.bdcf-form-header h3{margin:0 0 8px;font-family:var(--bdcf-serif);font-size:28px;font-weight:500;color:var(--bdcf-ink);letter-spacing:-.005em;line-height:1.1}
.bdcf-form-tagline{margin:0;font-size:13.5px;color:var(--bdcf-ink-mute);line-height:1.55}
.bdcf-accent{font-style:italic;color:var(--bdcf-accent-deep)}

/* Progress */
.bdcf-form-progress{padding:24px 40px;background:var(--bdcf-bg);border-bottom:1px solid var(--bdcf-line)}
.bdcf-progress-track{height:4px;background:var(--bdcf-line);border-radius:var(--bdcf-r-full);overflow:hidden;margin-bottom:14px}
.bdcf-progress-fill{height:100%;background:var(--bdcf-gradient-accent);border-radius:var(--bdcf-r-full);transition:width .5s cubic-bezier(.4,0,.2,1)}
.bdcf-progress-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.bdcf-progress-step{color:var(--bdcf-ink-mute);font-weight:500;letter-spacing:.04em}
.bdcf-progress-step strong{color:var(--bdcf-ink);font-weight:600}
.bdcf-progress-percent{color:var(--bdcf-accent-deep);font-weight:600;font-family:var(--bdcf-serif);font-style:italic;font-size:14px}

/* Body */
.bdcf-form-body{padding:32px 40px;min-height:320px}
.bdcf-form-step{display:none;animation:bdcf-slideIn .4s cubic-bezier(.4,0,.2,1)}
.bdcf-form-step.is-active{display:block}
@keyframes bdcf-slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

.bdcf-step-title{margin:0 0 8px;font-family:var(--bdcf-serif);font-size:24px;font-weight:600;color:var(--bdcf-ink);letter-spacing:.005em;line-height:1.2}
.bdcf-step-subtitle{margin:0 0 28px;font-size:14px;color:var(--bdcf-ink-mute);line-height:1.55}

/* Choices (étape 1) */
.bdcf-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.bdcf-choice{position:relative;cursor:pointer;background:var(--bdcf-bg);border:1.5px solid var(--bdcf-line);border-radius:var(--bdcf-r-md);padding:20px;display:flex;align-items:flex-start;gap:16px;transition:all .25s ease}
.bdcf-choice:hover{border-color:var(--bdcf-accent-faded);transform:translateY(-1px)}
.bdcf-choice input{position:absolute;opacity:0;pointer-events:none}
.bdcf-choice:has(input:checked){border-color:var(--bdcf-accent);background:var(--bdcf-bg-warm);box-shadow:0 4px 16px rgba(139,125,114,.12)}
.bdcf-choice.is-invalid{border-color:var(--bdcf-error)}
.bdcf-choice-content{flex:1;min-width:0;text-align:left}
.bdcf-choice-content strong{display:block;font-family:var(--bdcf-serif);font-size:17px;color:var(--bdcf-ink);font-weight:600;margin-bottom:3px;letter-spacing:.005em;line-height:1.2}
.bdcf-choice-content p{margin:0;font-size:12.5px;color:var(--bdcf-ink-mute);line-height:1.45}

/* Sub-questions (étape 2) */
.bdcf-sub-questions{display:none}
.bdcf-sub-questions.is-active{display:block}
.bdcf-sub-questions h4{margin:0 0 14px;font-family:var(--bdcf-serif);font-size:16px;font-weight:600;color:var(--bdcf-ink);letter-spacing:.005em}
.bdcf-sub-questions h4:not(:first-child){margin-top:28px}

/* Tag pills */
.bdcf-tag-options{display:flex;flex-wrap:wrap;gap:8px}
.bdcf-tag-option{position:relative;cursor:pointer}
.bdcf-tag-option input{position:absolute;opacity:0;pointer-events:none}
.bdcf-tag-option span{display:inline-block;padding:9px 18px;border:1.5px solid var(--bdcf-line);border-radius:var(--bdcf-r-full);font-size:13px;font-weight:500;color:var(--bdcf-ink-soft);background:var(--bdcf-bg);transition:all .25s ease;letter-spacing:.02em}
.bdcf-tag-option:hover span{border-color:var(--bdcf-accent-faded);color:var(--bdcf-ink)}
.bdcf-tag-option input:checked + span{background:var(--bdcf-accent);color:var(--bdcf-bg);border-color:var(--bdcf-accent)}

/* Range slider (budget) */
.bdcf-range-wrap{margin-top:8px}
.bdcf-range-display{font-family:var(--bdcf-serif);font-size:32px;font-weight:500;font-style:italic;color:var(--bdcf-accent-deep);text-align:center;margin-bottom:8px;letter-spacing:-.005em}
.bdcf-range-display .bdcf-currency{font-size:18px;color:var(--bdcf-ink-mute);margin-right:6px;font-style:normal;font-family:var(--bdcf-sans)}
.bdcf-range-input{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:var(--bdcf-line);border-radius:var(--bdcf-r-full);outline:none;cursor:pointer;margin:0}
.bdcf-range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:var(--bdcf-accent);border:3px solid var(--bdcf-bg);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(139,125,114,.3);transition:transform .2s ease}
.bdcf-range-input::-webkit-slider-thumb:hover{transform:scale(1.1)}
.bdcf-range-input::-moz-range-thumb{width:24px;height:24px;background:var(--bdcf-accent);border:3px solid var(--bdcf-bg);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(139,125,114,.3)}
.bdcf-range-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--bdcf-ink-mute);letter-spacing:.04em}
.bdcf-range-help{margin-top:12px;font-size:12.5px;color:var(--bdcf-ink-mute);line-height:1.5;background:var(--bdcf-bg);padding:10px 14px;border-radius:var(--bdcf-r-sm);border:1px dashed var(--bdcf-line)}
.bdcf-range-help strong{color:var(--bdcf-ink);font-weight:600}

/* Fields (étape 4) */
.bdcf-field-group{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.bdcf-field-full{grid-column:1/-1}
.bdcf-field{position:relative;margin-bottom:14px}
.bdcf-field-label{display:block;font-size:12px;font-weight:600;color:var(--bdcf-ink-soft);margin-bottom:6px;letter-spacing:.04em}
.bdcf-req{color:var(--bdcf-accent-deep);margin-left:2px}
.bdcf-field-input{width:100%;padding:13px 16px;font-size:14px;font-family:var(--bdcf-sans);color:var(--bdcf-ink);background:var(--bdcf-bg);border:1.5px solid var(--bdcf-line);border-radius:var(--bdcf-r-md);transition:all .25s ease;outline:none;box-sizing:border-box}
.bdcf-field-input:focus{border-color:var(--bdcf-accent);box-shadow:0 0 0 3px rgba(139,125,114,.12)}
.bdcf-field-input.is-invalid{border-color:var(--bdcf-error)}
.bdcf-field-input::placeholder{color:var(--bdcf-ink-mute);opacity:.7}
textarea.bdcf-field-input{resize:vertical;min-height:100px;line-height:1.55}
.bdcf-field-error{display:none;font-size:11.5px;color:var(--bdcf-error);margin-top:5px;font-weight:500}
.bdcf-field-input.is-invalid + .bdcf-field-error{display:block}

/* Checkbox row (RGPD) */
.bdcf-checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:12.5px;color:var(--bdcf-ink-soft);line-height:1.55;cursor:pointer;position:relative;margin-top:6px}
.bdcf-checkbox-row input{position:absolute;opacity:0;pointer-events:none}
.bdcf-checkbox-mark{flex-shrink:0;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--bdcf-line);background:var(--bdcf-bg);display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .25s ease;position:relative}
.bdcf-checkbox-row:hover .bdcf-checkbox-mark{border-color:var(--bdcf-accent-faded)}
.bdcf-checkbox-row input:checked + .bdcf-checkbox-mark{background:var(--bdcf-accent);border-color:var(--bdcf-accent)}
.bdcf-checkbox-row input:checked + .bdcf-checkbox-mark::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.bdcf-checkbox-row.is-invalid .bdcf-checkbox-mark{border-color:var(--bdcf-error)}
.bdcf-checkbox-row a{color:var(--bdcf-accent-deep);text-decoration:underline}

/* Honeypot */
.bdcf-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Step error */
.bdcf-step-error{margin-top:16px;padding:11px 16px;background:#fdecea;border:1px solid #f5c6c0;border-radius:8px;color:#a02622;font-size:13px;line-height:1.5}

/* Footer */
.bdcf-form-footer{padding:20px 40px;background:var(--bdcf-bg-soft);border-top:1px solid var(--bdcf-line);display:flex;justify-content:space-between;align-items:center;gap:12px}
.bdcf-form-wrap .bdcf-btn-step{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;font-size:13.5px;font-weight:500;border-radius:var(--bdcf-r-full);font-family:var(--bdcf-sans);cursor:pointer;transition:all .3s ease;letter-spacing:.02em;border:none;white-space:nowrap;line-height:1.2;-webkit-appearance:none;appearance:none;text-align:center;text-decoration:none;box-shadow:none}
.bdcf-form-wrap .bdcf-btn-back{background:transparent !important;background-color:transparent !important;background-image:none !important;color:var(--bdcf-ink-mute) !important;border:1.5px solid var(--bdcf-line) !important}
.bdcf-form-wrap .bdcf-btn-back:hover:not(:disabled),
.bdcf-form-wrap .bdcf-btn-back:focus:not(:disabled){color:var(--bdcf-ink) !important;border-color:var(--bdcf-accent-faded) !important;background:var(--bdcf-bg) !important;background-color:var(--bdcf-bg) !important;background-image:none !important;box-shadow:none !important}
.bdcf-form-wrap .bdcf-btn-back:disabled{opacity:0;pointer-events:none;visibility:hidden}
.bdcf-form-wrap .bdcf-btn-next{background:var(--bdcf-accent) !important;background-color:var(--bdcf-accent) !important;background-image:none !important;color:var(--bdcf-bg) !important;border:none !important}
.bdcf-form-wrap .bdcf-btn-next:hover:not(:disabled),
.bdcf-form-wrap .bdcf-btn-next:focus:not(:disabled){background:var(--bdcf-accent-deep) !important;background-color:var(--bdcf-accent-deep) !important;background-image:none !important;color:var(--bdcf-bg) !important;transform:translateY(-1px);box-shadow:0 8px 20px rgba(139,125,114,.3) !important}
.bdcf-form-wrap .bdcf-btn-next:disabled{opacity:.4;cursor:not-allowed}
.bdcf-form-wrap .bdcf-btn-next.is-submit{background:var(--bdcf-ink) !important;background-color:var(--bdcf-ink) !important;background-image:none !important}
.bdcf-form-wrap .bdcf-btn-next.is-submit:hover:not(:disabled),
.bdcf-form-wrap .bdcf-btn-next.is-submit:focus:not(:disabled){background:var(--bdcf-accent-deep) !important;background-color:var(--bdcf-accent-deep) !important;background-image:none !important}

/* Success */
.bdcf-form-success{padding:64px 40px;text-align:center;animation:bdcf-fadeUp .5s ease}
@keyframes bdcf-fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.bdcf-success-icon{width:80px;height:80px;border-radius:50%;background:var(--bdcf-accent);color:var(--bdcf-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:40px;line-height:1;font-weight:600;box-shadow:0 12px 32px rgba(139,125,114,.3)}
.bdcf-form-success h3{margin:0 0 14px;font-family:var(--bdcf-serif);font-size:32px;font-weight:500;color:var(--bdcf-ink);letter-spacing:-.005em}
.bdcf-form-success p{margin:0 auto 28px;font-size:15px;color:var(--bdcf-ink-soft);line-height:1.65;max-width:440px}
.bdcf-reminder{margin:24px auto 0;padding:18px 24px;background:var(--bdcf-bg-warm);border-radius:var(--bdcf-r-md);font-size:13px;color:var(--bdcf-ink-soft);max-width:420px;border:1px dashed var(--bdcf-accent-faded);text-align:left}
.bdcf-reminder strong{color:var(--bdcf-ink);display:block;margin-bottom:4px;font-family:var(--bdcf-serif);font-style:italic;font-size:15px;font-weight:600}

/* Tablette */
@media(max-width:768px){
  .bdcf-form-header{padding:24px 28px 20px}
  .bdcf-form-header h3{font-size:24px}
  .bdcf-form-progress{padding:20px 28px}
  .bdcf-form-body{padding:28px 28px;min-height:280px}
  .bdcf-step-title{font-size:21px}
  .bdcf-step-subtitle{margin-bottom:24px}
  .bdcf-form-footer{padding:18px 28px}
}

/* Mobile */
@media(max-width:540px){
  .bdcf-form-header{padding:20px 22px 16px}
  .bdcf-form-header h3{font-size:21px}
  .bdcf-form-progress{padding:16px 22px}
  .bdcf-form-body{padding:24px 22px;min-height:240px}
  .bdcf-step-title{font-size:19px}
  .bdcf-step-subtitle{font-size:13px;margin-bottom:20px}
  .bdcf-choices{grid-template-columns:1fr;gap:10px}
  .bdcf-choice{padding:16px}
  .bdcf-choice-content strong{font-size:15.5px}
  .bdcf-field-group{grid-template-columns:1fr}
  .bdcf-form-footer{padding:16px 22px}
  .bdcf-btn-step{padding:11px 20px;font-size:12.5px}
  .bdcf-tag-option span{padding:8px 14px;font-size:12.5px}
  .bdcf-form-success{padding:48px 24px}
  .bdcf-form-success h3{font-size:26px}
  .bdcf-success-icon{width:64px;height:64px;font-size:32px}
}

@media(max-width:380px){
  .bdcf-btn-step{padding:10px 16px;font-size:12px}
}
