:root {
  --zak-radius-control: 12px;
  --zak-radius-card: 16px;
  --zak-radius-panel: 22px;
  --zak-radius-pill: 999px;
  --zak-shadow-soft: 0 10px 28px rgba(13,27,42,.07);
  --zak-shadow-hover: 0 15px 34px rgba(13,27,42,.12);
  --zak-motion: cubic-bezier(.2,.7,.2,1);
}

:where(a, button, input, select, textarea, [role="button"]):focus-visible {
  outline: 3px solid rgba(201,168,76,.38);
  outline-offset: 3px;
}

.nav-cta,
.nav-mobile-cta,
.btn-primary,
.btn-outline,
.btn-reset,
.quote-estimate-cta,
.quote-fab,
.refresh-button,
.thread-status-toggle,
.reply-form button,
.question-chat-toggle,
.question-chat-login-actions button,
.question-chat-send {
  border-radius: var(--zak-radius-pill);
  transition-timing-function: var(--zak-motion);
}

.service-card,
.trust-badge,
.contact-panel,
.contact-side-card,
.quote-type-card,
.quote-option,
.quote-estimate,
.quote-modal,
.devis-calc-card,
.devis-note-banner,
.auth-panel,
.chat-inbox,
.admin-chat-thread {
  border-radius: var(--zak-radius-card);
}

.contact-panel,
.auth-panel,
.chat-inbox,
.admin-chat-thread,
.devis-calc-card {
  box-shadow: var(--zak-shadow-soft);
}

.trust-badge,
.quote-type-card,
.quote-option {
  box-shadow: 0 3px 12px rgba(13,27,42,.035);
  transition-timing-function: var(--zak-motion);
}

.form-group input,
.form-group select,
.form-group textarea,
.reply-form textarea,
.question-chat-compose textarea,
.inbox-filter {
  border-radius: var(--zak-radius-control);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.reply-form textarea:focus,
.question-chat-compose textarea:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,168,76,.15);
}

.checkbox-box,
.quote-option-box {
  border-radius: 6px;
}

#form-success { border-radius: var(--zak-radius-card); }
.quote-modal-close { border-radius: var(--zak-radius-pill); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nav-cta,
  .nav-mobile-cta,
  .btn-primary,
  .btn-outline,
  .btn-reset,
  .quote-estimate-cta,
  .quote-fab,
  .refresh-button,
  .thread-status-toggle,
  .reply-form button,
  .question-chat-toggle,
  .question-chat-login-actions button,
  .question-chat-send,
  .service-card,
  .trust-badge,
  .quote-type-card,
  .quote-option {
    transition: none !important;
  }
}