/*
 * public-light.css — FICHIER GENERE, NE PAS MODIFIER A LA MAIN.
 *
 * C'est public.css, dans le meme ordre, prive des seules regles dont
 * TOUS les selecteurs exigent un ancetre .krdv-pro-space ou
 * .krdv-customer-space. Ces regles ne peuvent correspondre a rien sur
 * une page publique : les retirer ne change aucun pixel.
 *
 * Les pages qui affichent un espace recoivent public.css INCHANGE.
 * Voir frontend_assets() et /tmp/split_css.py pour la regeneration.
 */

.krdv-market,
.krdv-booking-form,
.krdv-onboarding,
.krdv-pro-space,
.krdv-customer-space {
  --krdv-navy: #0B2A4A;
  --krdv-turquoise: #12A79A;
  --krdv-coral-brand: #F2694B;
  --krdv-leaf-brand: #2e9a6e;
  --krdv-gold-brand: #d4a537;
  --krdv-ink: #0f1a33;
  --krdv-muted: #5a6680;
  --krdv-paper: #ffffff;
  --krdv-line: #d7e3ef;
  --krdv-lagoon: #1FB6C9;
  --krdv-coral: #F2694B;
  /* CONTRASTE DU CORAIL — MEME DECISION QUE DANS LES ESPACES PRO ET
     CLIENT. #F2694B ne porte du texte blanc qu'a 3,04:1 (seuil AA :
     4,5:1) et tombe a 2,74:1 quand il sert d'encre sur sa propre teinte
     a 10 %. La teinte de marque est conservee — elle est dans le logo,
     dans les degrades et dans les pastilles de carte, ou elle reste
     au-dessus du seuil de 3:1 des elements graphiques. Les deux roles
     ou elle echouait recoivent une declinaison :
       --krdv-coral-cta : #CE4526, 4,66:1 — fonds a texte blanc.
       --krdv-coral-ink : #B8380F, 5,82:1 sur blanc, 5,23:1 sur teinte. */
  --krdv-coral-cta: #CE4526;
  --krdv-coral-cta-hover: #B8380F;
  --krdv-coral-ink: #B8380F;
  --krdv-sun: #d4a537;
  color: var(--krdv-ink);
  font-family: inherit;
}
.krdv-booking-page-head {
  margin-bottom: 20px;
}
.krdv-booking-page-copy {
  display: grid;
  gap: 10px;
  max-width: 72ch;
}
.krdv-booking-page-copy h1 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.02;
}
.krdv-booking-page-copy p:last-child {
  margin: 0;
  color: #66748f;
  font-size: 1.02rem;
  line-height: 1.75;
}
.krdv-booking-layout {
  align-items: start;
  gap: 24px;
}
.krdv-booking-form {
  padding: 28px;
  border-radius: 28px;
  border: 1px solid rgba(19, 38, 77, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 255, 0.95));
  box-shadow: 0 20px 48px rgba(13, 27, 61, 0.06);
}
.krdv-booking-summary-card {
  position: sticky;
  top: 108px;
  padding: 22px;
  border-radius: 28px;
  border: 1px solid rgba(19, 38, 77, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 255, 0.96));
  box-shadow: 0 18px 46px rgba(13, 27, 61, 0.08);
}
.krdv-booking-summary-card [data-krdv-summary-service-image] {
  aspect-ratio: 16 / 10;
  border-radius: 20px;
  object-fit: cover;
}
@media (max-width: 860px) {
.krdv-booking-summary-card {
    position: static;
  }
}
.krdv-account-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.krdv-account-layout-auth {
  align-items: stretch;
}
.krdv-signup-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.krdv-signup-choice-card {
  position: relative;
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 22px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255, 110, 74, 0.08), transparent 26%);
  box-shadow: 0 20px 55px rgba(13, 27, 61, 0.1);
  overflow: hidden;
  isolation: isolate;
}
.krdv-signup-choice-card::before {
  position: absolute;
  inset: 0;
  background: url("../images/zayactu-surface.png") center/cover no-repeat;
  opacity: 0.07;
  content: "";
  z-index: -2;
}
.krdv-signup-choice-card::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(248, 251, 255, 0.92));
  content: "";
  z-index: -1;
}
.krdv-signup-choice-card h3,
.krdv-signup-choice-card p {
  margin: 0;
}
.krdv-signup-choice-card h3 {
  color: var(--krdv-ink);
  font-size: clamp(1.24rem, 1.8vw, 1.68rem);
  line-height: 1.12;
}
.krdv-signup-choice-card p {
  color: var(--krdv-muted);
  font-size: 0.96rem;
  line-height: 1.62;
}
.krdv-signup-choice-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.krdv-signup-choice-list li {
  position: relative;
  padding-left: 18px;
  color: var(--krdv-ink);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.42;
}
.krdv-signup-choice-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--krdv-coral-brand), var(--krdv-turquoise));
}
.krdv-signup-choice-card .krdv-provider-action.is-primary,
.krdv-signup-choice-card .krdv-provider-action.is-primary:link,
.krdv-signup-choice-card .krdv-provider-action.is-primary:visited {
  display: inline-flex;
  width: 100%;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  border: 1px solid #102650 !important;
  border-radius: 16px;
  background: #102650 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 0.98rem;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.16);
}
.krdv-signup-choice-card .krdv-provider-action.is-primary:hover,
.krdv-signup-choice-card .krdv-provider-action.is-primary:focus-visible {
  border-color: #0b1d40 !important;
  background: #0b1d40 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 22px 38px rgba(11, 29, 64, 0.22);
}
.krdv-signup-form-shell {
  display: grid;
  gap: 12px;
}
/* Bouton "Aller à l'espace pro" du bandeau de bascule client/pro
   (mon-compte/?kb_account=client) — jamais couvert par une règle
   spécifique jusqu'ici, contrairement à tous les autres contextes
   ".is-primary" ci-dessus, qui nécessitent chacun leur propre override.
   Sans elle, le bouton restait sans fond ni couleur de texte visibles. */
.krdv-account-space-switcher__actions .krdv-provider-action.is-primary,
.krdv-account-space-switcher__actions .krdv-provider-action.is-primary:link,
.krdv-account-space-switcher__actions .krdv-provider-action.is-primary:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border: 1px solid #102650 !important;
  border-radius: 999px;
  background: #102650 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 800;
  text-decoration: none;
}
.krdv-account-space-switcher__actions .krdv-provider-action.is-primary:hover,
.krdv-account-space-switcher__actions .krdv-provider-action.is-primary:focus-visible {
  background: #0b1d40 !important;
  border-color: #0b1d40 !important;
}
.krdv-account-space-switcher__actions .krdv-provider-action:not(.is-primary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border: 1px solid #d9e2e8;
  border-radius: 999px;
  background: #ffffff;
  color: #102650;
  font-weight: 700;
  text-decoration: none;
}
.krdv-account-space-switcher__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.krdv-service-field-disabled {
  opacity: 0.6;
}
.krdv-service-field-disabled input,
.krdv-service-field-disabled select,
.krdv-service-field-disabled textarea {
  background: #eef3f9 !important;
  color: #7b879d !important;
  cursor: not-allowed;
}
.krdv-form-timezone-note {
  margin: 8px 0 0;
  color: var(--krdv-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}
.krdv-signup-hub-hero,
.krdv-signup-form-intro--pro {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 20px 22px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background:
    linear-gradient(135deg, rgba(8, 21, 52, 0.94), rgba(10, 28, 66, 0.88)),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.18), transparent 34%),
    radial-gradient(circle at bottom left, rgba(29, 149, 172, 0.18), transparent 38%);
  box-shadow: 0 24px 60px rgba(13, 27, 61, 0.16);
  overflow: hidden;
  isolation: isolate;
}
.krdv-signup-hub-hero::before,
.krdv-signup-form-intro--pro::before {
  position: absolute;
  inset: 0;
  background: url("../images/zayactu-surface.png") center/cover no-repeat;
  opacity: 0.16;
  content: "";
  z-index: -2;
}
.krdv-signup-hub-hero::after,
.krdv-signup-form-intro--pro::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(8, 21, 52, 0.9), rgba(10, 28, 66, 0.82)),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.14), transparent 34%),
    radial-gradient(circle at bottom left, rgba(29, 149, 172, 0.14), transparent 38%);
  content: "";
  z-index: -1;
}
.krdv-signup-hub-hero h2,
.krdv-signup-form-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.18rem, 1.45vw, 1.55rem);
  line-height: 1.14;
  max-width: 22ch;
}
.krdv-signup-hub-hero p:last-child,
.krdv-signup-form-copy p:last-child {
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.96rem;
  line-height: 1.62;
  max-width: 58ch;
}
.krdv-signup-form-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-signup-highlight-chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.krdv-signup-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.krdv-signup-benefit-grid article,
.krdv-signup-steps article {
  display: grid;
  gap: 8px;
  padding: 15px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
}
.krdv-signup-benefit-grid strong,
.krdv-signup-steps strong {
  color: #fff;
  font-size: 0.98rem;
  line-height: 1.35;
}
.krdv-signup-benefit-grid p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.65;
}
.krdv-signup-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.krdv-signup-steps span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, var(--krdv-coral-brand), var(--krdv-turquoise));
  color: #fff;
  font-weight: 900;
}
.krdv-signup-section-head {
  display: grid;
  gap: 6px;
  margin: 10px 0 10px;
}
.krdv-signup-section-head p {
  margin: 0;
  color: var(--krdv-turquoise);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-signup-section-head h3 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
  line-height: 1.2;
  max-width: 46ch;
}
.krdv-pricing-summary--signup {
  margin-top: 10px;
}
.krdv-plan-choice-layout {
  display: grid;
  gap: 18px;
  align-items: start;
}
.krdv-pricing-grid--plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.krdv-plan-choice {
  display: block;
  cursor: pointer;
}
.krdv-plan-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.krdv-plan-choice-shell {
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(13, 27, 61, 0.06);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.krdv-plan-choice.is-selected .krdv-plan-choice-shell,
.krdv-plan-choice input:checked + .krdv-plan-choice-shell {
  border-color: rgba(29, 149, 172, 0.28);
  background: #eef8fd;
  box-shadow: 0 18px 34px rgba(13, 27, 61, 0.1);
  transform: translateY(-1px);
}
.krdv-plan-choice.is-selected .krdv-plan-choice-top strong,
.krdv-plan-choice input:checked + .krdv-plan-choice-shell .krdv-plan-choice-top strong {
  background: #1d95ac;
  color: #ffffff;
}
.krdv-plan-choice.is-selected .krdv-plan-choice-note,
.krdv-plan-choice input:checked + .krdv-plan-choice-shell .krdv-plan-choice-note {
  color: #0d1b3d;
}
.krdv-plan-choice-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.krdv-plan-choice-label-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.krdv-plan-choice-top strong {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.08);
  color: var(--krdv-turquoise);
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 900;
}
.krdv-plan-choice-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 110, 74, 0.12);
  color: #ff6e4a;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.krdv-plan-choice-top strong {
  color: var(--krdv-ink);
  font-size: 0.9rem;
}
.krdv-plan-choice-top em {
  color: var(--krdv-turquoise);
  font-size: 0.95rem;
  font-style: normal;
  font-weight: 900;
}
.krdv-plan-choice-copy {
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-plan-selected-summary {
  display: grid;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 24px;
  background: #f9fcff;
  box-shadow: 0 16px 34px rgba(13, 27, 61, 0.06);
}
.krdv-plan-selected-summary-head {
  display: grid;
  gap: 10px;
}
.krdv-plan-selected-kicker {
  color: var(--krdv-muted);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-plan-selected-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.krdv-plan-selected-name,
.krdv-plan-selected-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.krdv-plan-selected-name {
  background: rgba(29, 149, 172, 0.1);
  color: var(--krdv-turquoise);
}
.krdv-plan-selected-badge {
  background: rgba(255, 110, 74, 0.12);
  color: var(--krdv-coral-ink);
}
.krdv-plan-selected-price {
  display: grid;
  gap: 8px;
}
.krdv-plan-selected-price strong {
  color: var(--krdv-ink);
  font-size: 1.8rem;
  line-height: 1;
}
.krdv-plan-selected-price span {
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-plan-selected-checklist,
.krdv-plan-selected-next ol {
  margin: 0;
  padding-left: 18px;
}
.krdv-plan-selected-checklist {
  display: grid;
  gap: 8px;
  color: var(--krdv-ink);
  font-weight: 700;
}
.krdv-plan-selected-next {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(29, 149, 172, 0.06);
}
.krdv-plan-selected-next > span {
  color: var(--krdv-ink);
  font-size: 0.88rem;
  font-weight: 900;
}
.krdv-plan-selected-next ol {
  display: grid;
  gap: 8px;
  color: var(--krdv-muted);
}
.krdv-plan-selected-footer {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid rgba(13, 27, 61, 0.08);
  color: var(--krdv-ink);
  font-weight: 800;
  line-height: 1.55;
}
.krdv-plan-choice-points {
  display: grid;
  gap: 8px;
}
.krdv-plan-choice-points span,
.krdv-plan-choice-note {
  color: var(--krdv-ink);
  font-size: 0.94rem;
  line-height: 1.55;
}
.krdv-plan-choice-points span::before {
  content: "•";
  display: inline-block;
  margin-right: 8px;
  color: var(--krdv-turquoise);
  font-weight: 900;
}
.krdv-plan-choice-note {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid rgba(13, 27, 61, 0.08);
  font-weight: 700;
}
.krdv-signup-acceptance {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
}
.krdv-signup-acceptance input {
  margin: 2px 0 0;
}
.krdv-signup-acceptance span {
  color: var(--krdv-ink);
  font-size: 0.95rem;
  line-height: 1.6;
}
.krdv-signup-submit-shell {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}
.krdv-signup-submit-shell p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
  max-width: 72ch;
}
.krdv-signup-success-plan {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 4px 0 6px;
  padding: 12px 14px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 16px;
  background: rgba(248, 251, 255, 0.92);
}
.krdv-signup-success-plan-label {
  color: var(--krdv-muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.krdv-signup-success-plan strong,
.krdv-signup-success-plan span:last-child {
  color: var(--krdv-ink);
  font-weight: 900;
}
.krdv-signup-waiting-shell {
  display: grid;
  justify-items: center;
  margin: 18px 0 8px;
}
.krdv-signup-success-banner--waiting {
  width: min(100%, 840px);
  padding: clamp(24px, 3vw, 36px);
  border-radius: 28px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background:
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 1));
  box-shadow: 0 24px 50px rgba(13, 27, 61, 0.08);
}
.krdv-signup-success-banner--waiting h2 {
  margin-bottom: 12px;
}
.krdv-signup-success-banner--waiting > p {
  max-width: 62ch;
}
.krdv-signup-waiting-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 8px 0 4px;
}
.krdv-signup-waiting-step {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(255, 255, 255, 0.92);
}
.krdv-signup-waiting-step strong {
  color: var(--krdv-ink);
  font-size: 0.98rem;
}
.krdv-signup-waiting-step span {
  color: var(--krdv-muted);
  line-height: 1.65;
  font-size: 0.94rem;
}
@media (max-width: 900px) {
.krdv-signup-waiting-steps {
    grid-template-columns: 1fr;
  }
}
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action,
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action:link,
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action:visited {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  padding: 0 20px;
  text-decoration: none;
}
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action.is-primary,
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action.is-primary:link,
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action.is-primary:visited {
  border: 1px solid #102650 !important;
  background: #102650 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 16px 30px rgba(16, 38, 80, 0.18);
}
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action.is-primary *,
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action.is-primary span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action.is-primary:hover,
.krdv-signup-success-banner .krdv-account-actions .krdv-provider-action.is-primary:focus-visible {
  border-color: #0b1d40 !important;
  background: #0b1d40 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 20px 36px rgba(11, 29, 64, 0.22);
}
.krdv-collaborators-editor {
  display: grid;
  gap: 16px;
  margin-top: 8px;
}
.krdv-collaborators-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.krdv-collaborators-editor-head p,
.krdv-collaborator-row-head p,
.krdv-collaborator-help {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-collaborator-rows {
  display: grid;
  gap: 16px;
}
.krdv-collaborator-row {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}
.krdv-collaborator-accordion {
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(255, 255, 255, 0.78);
}
.krdv-collaborator-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  padding: 12px 14px;
}
.krdv-collaborator-accordion summary::-webkit-details-marker {
  display: none;
}
.krdv-collaborator-accordion summary span {
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-collaborator-accordion > *:not(summary) {
  padding: 0 14px 14px;
}
.krdv-collaborator-row-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}
.krdv-collaborator-row-head strong,
.krdv-collaborator-services > strong,
.krdv-collaborator-hours > strong {
  display: block;
  margin-bottom: 4px;
  color: var(--krdv-ink);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-collaborator-row-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.krdv-collaborators-editor-head .button,
.krdv-collaborators-editor-head .button:link,
.krdv-collaborators-editor-head .button:visited,
.krdv-collaborators-editor-head [data-krdv-collaborator-add] {
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid #102650 !important;
  background: linear-gradient(180deg, #16315f, #0d2148) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
  font-weight: 800;
}
.krdv-collaborators-editor-head .button:hover,
.krdv-collaborators-editor-head .button:focus,
.krdv-collaborators-editor-head [data-krdv-collaborator-add]:hover,
.krdv-collaborators-editor-head [data-krdv-collaborator-add]:focus {
  border-color: #1d4c90 !important;
  background: linear-gradient(180deg, #1b3b73, #102650) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-collaborator-service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.krdv-collaborator-service-grid .krdv-admin-check {
  flex: 1 1 220px;
  min-height: 48px;
}
.krdv-daily-hours {
  display: grid;
  gap: 14px;
}
.krdv-daily-hours-day {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(13, 27, 61, 0.05);
}
.krdv-daily-hours-day.is-closed {
  background: rgba(248, 251, 255, 0.72);
}
.krdv-daily-hours-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.krdv-daily-hours-day-toggle {
  align-self: flex-start;
}
.krdv-daily-hours-day-toggle span {
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.krdv-daily-hours-day-meta {
  display: grid;
  justify-items: end;
  gap: 4px;
  text-align: right;
}
.krdv-daily-hours-state {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.12);
  color: var(--krdv-turquoise);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.krdv-daily-hours-day.is-closed .krdv-daily-hours-state {
  background: rgba(13, 27, 61, 0.08);
  color: var(--krdv-muted);
}
.krdv-daily-hours-day-meta small {
  color: var(--krdv-muted);
  font-size: 0.8rem;
  line-height: 1.45;
}
.krdv-daily-hours-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}
.krdv-collaborator-hours .krdv-daily-hours {
  margin-top: 10px;
}
.krdv-daily-hours-grid input[type="time"],
.krdv-collaborator-day-grid input[type="time"] {
  min-height: 52px;
  line-height: 1.2;
  padding-block: 0;
}
.krdv-daily-hours-grid input[type="time"]::-webkit-date-and-time-value,
.krdv-collaborator-day-grid input[type="time"]::-webkit-date-and-time-value {
  text-align: left;
}
.krdv-collaborator-day-card {
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(255, 255, 255, 0.96);
}
.krdv-collaborator-day-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
  padding: 12px 14px;
}
.krdv-collaborator-day-summary::-webkit-details-marker {
  display: none;
}
.krdv-collaborator-day-title {
  display: grid;
  gap: 4px;
}
.krdv-collaborator-day-title strong {
  color: var(--krdv-ink);
  font-size: 0.92rem;
  font-weight: 800;
}
.krdv-collaborator-day-title small {
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.krdv-collaborator-day-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.12);
  color: var(--krdv-turquoise);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.krdv-collaborator-day-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  padding: 0 14px 14px;
}
.krdv-daily-hours-day .krdv-inline-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.krdv-form-section {
  display: grid;
  gap: 8px;
  padding: 18px 20px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 12px 28px rgba(13, 27, 61, 0.04);
}
.krdv-form-section h4 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: 1.08rem;
  line-height: 1.28;
}
.krdv-form-section p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-verification-status-card {
  display: grid;
  gap: 8px;
  padding: 18px 20px;
  border: 1px solid rgba(29, 149, 172, 0.16);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(224, 248, 252, 0.95), rgba(248, 251, 255, 0.98));
  box-shadow: 0 12px 28px rgba(13, 27, 61, 0.05);
}
.krdv-verification-status-card strong {
  color: var(--krdv-ink);
  font-size: 1.06rem;
  font-weight: 900;
}
.krdv-verification-status-card p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.6;
}
@media (max-width: 720px) {
.krdv-daily-hours-day {
    padding: 14px;
  }
.krdv-daily-hours-day-head {
    align-items: flex-start;
    flex-direction: column;
  }
.krdv-daily-hours-day-meta {
    justify-items: start;
    text-align: left;
  }
.krdv-daily-hours-grid {
    grid-template-columns: 1fr;
  }
}
.krdv-auth-form {
  display: grid;
  gap: 14px;
}
.krdv-auth-note {
  margin: 0;
  color: var(--krdv-muted);
  font-size: 0.9rem;
  line-height: 1.6;
}
.krdv-account-shell,
.krdv-account-overview-grid,
.krdv-account-history,
.krdv-account-booking-stack,
.krdv-account-side-panels,
.krdv-account-settings-grid,
.krdv-account-details-form {
  display: grid;
  gap: 18px;
}
.krdv-tab-panel[hidden] {
  display: none !important;
}
.krdv-tab-panel.is-visible {
  display: block !important;
}
.krdv-dashboard-grid.krdv-tab-panel.is-visible,
.krdv-dashboard-grid-bookings.krdv-tab-panel.is-visible,
.krdv-dashboard-grid-payments.krdv-tab-panel.is-visible,
.krdv-dashboard-grid-profile.krdv-tab-panel.is-visible,
.krdv-account-overview-grid.krdv-tab-panel.is-visible,
.krdv-account-settings-grid.krdv-tab-panel.is-visible,
.krdv-account-details-form.krdv-tab-panel.is-visible {
  display: grid !important;
}
.krdv-account-hero {
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  padding: 28px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  overflow: hidden;
  position: relative;
}
.krdv-account-hero--branded {
  background:
    linear-gradient(135deg, rgba(8, 21, 52, 0.94), rgba(11, 31, 70, 0.9)),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.18), transparent 35%),
    radial-gradient(circle at bottom left, rgba(29, 149, 172, 0.16), transparent 36%),
    var(--krdv-account-surface) center/cover no-repeat;
  border-color: rgba(29, 149, 172, 0.2);
  box-shadow: 0 26px 60px rgba(13, 27, 61, 0.18);
}
.krdv-account-hero--branded::before {
  position: absolute;
  inset: 0;
  background: url("../images/zayactu-surface.png") center/cover no-repeat;
  opacity: 0.08;
  content: "";
  z-index: -1;
  pointer-events: none;
}
.krdv-account-hero--branded .krdv-account-identity-copy h2,
.krdv-account-hero--branded .krdv-account-identity-copy span,
.krdv-account-hero--branded .krdv-account-identity-copy small {
  color: #fff;
}
.krdv-account-hero--branded .krdv-account-avatar {
  border: 2px solid rgba(255, 255, 255, 0.18);
}
.krdv-account-brandmark {
  grid-column: 1 / -1;
}
.krdv-account-brandmark img {
  width: clamp(132px, 18vw, 178px);
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}
.krdv-account-identity {
  display: flex;
  align-items: center;
  gap: 16px;
}
.krdv-account-avatar {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, rgba(13, 27, 61, 0.96), rgba(29, 149, 172, 0.95));
  color: #fff;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  box-shadow: 0 14px 34px rgba(13, 27, 61, 0.18);
}
.krdv-account-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}
.krdv-account-identity-copy {
  display: grid;
  gap: 4px;
}
.krdv-account-identity-copy small {
  max-width: 56ch;
  color: rgba(90, 102, 128, 0.95);
  font-size: 0.92rem;
  line-height: 1.7;
}
.krdv-account-kicker,
.krdv-account-section-title {
  margin: 0;
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-account-kicker {
  color: var(--krdv-turquoise);
}
.krdv-account-identity-copy h2 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: clamp(2rem, 2.6vw, 2.6rem);
  line-height: 1.02;
}
.krdv-account-identity-copy span {
  color: var(--krdv-muted);
  font-size: 1rem;
}
.krdv-account-hero-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 10px;
  align-content: start;
}
.krdv-account-hero-links a {
  min-height: 62px;
  display: grid;
  gap: 2px;
  align-content: center;
  padding: 10px 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #fff;
  color: var(--krdv-ink);
  text-decoration: none;
  font-weight: 700;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.krdv-account-hero-links a.is-active {
  border-color: rgba(29, 149, 172, 0.28);
  box-shadow: 0 16px 34px rgba(13, 27, 61, 0.09);
}
.krdv-account-hero-links a span,
.krdv-account-hero-links a small {
  display: block;
}
.krdv-account-hero-links a small {
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.4;
}
.krdv-account-hero-links a span {
  font-size: 0.97rem;
}
.krdv-account-hero-links a:hover,
.krdv-account-hero-links a:focus-visible {
  border-color: rgba(29, 149, 172, 0.24);
  box-shadow: 0 18px 36px rgba(13, 27, 61, 0.08);
  transform: translateY(-1px);
}
.krdv-account-hero-links > .krdv-tour-launch {
  min-height: 62px;
  width: 100%;
  padding: 10px 16px;
  border-radius: 20px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}
.krdv-account-mobile-tour-launch .krdv-tour-launch {
  width: 100%;
}
.krdv-account-details-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, #ffffff, #f9fbff);
  box-shadow: 0 18px 44px rgba(13, 27, 61, 0.06);
}
.krdv-account-details-form > label,
.krdv-account-details-form > .krdv-form-wide {
  display: grid;
  gap: 8px;
}
.krdv-account-details-form > label > span,
.krdv-account-details-form > .krdv-form-wide > span {
  color: var(--krdv-ink);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-account-details-form input,
.krdv-account-details-form textarea,
.krdv-account-details-form select {
  min-height: 54px;
  width: 100%;
  border: 1px solid rgba(13, 27, 61, 0.12);
  background: #fff;
  color: var(--krdv-ink);
  font: inherit;
  font-size: 1rem;
  padding: 0 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}
.krdv-account-details-form textarea {
  min-height: 118px;
  padding: 14px 16px;
  resize: vertical;
}
.krdv-account-details-form input:focus,
.krdv-account-details-form textarea:focus,
.krdv-account-details-form select:focus {
  border-color: rgba(29, 149, 172, 0.34);
  box-shadow: 0 0 0 4px rgba(29, 149, 172, 0.12);
  outline: none;
}
.krdv-account-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.krdv-account-side-card p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-account-section-text {
  margin: 0 0 14px;
  color: var(--krdv-muted);
  font-size: 0.98rem;
  line-height: 1.75;
  max-width: 72ch;
}
.krdv-account-overview-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.78fr);
}
.krdv-account-history-panel {
  gap: 18px;
}
.krdv-account-booking-stack {
  gap: 14px;
}
.krdv-account-section-title.is-soft {
  color: rgba(90, 102, 128, 0.82);
}
.krdv-relatives-editor {
  display: grid;
  gap: 14px;
  margin-top: 10px;
}
.krdv-relatives-rows {
  display: grid;
  gap: 14px;
}
.krdv-relative-row {
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  padding: 14px;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(13, 27, 61, 0.05);
}
.krdv-relative-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.krdv-relative-consent {
  grid-column: 1 / -1;
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  min-height: auto !important;
}
.krdv-relative-consent input {
  width: auto;
  min-height: 0;
  margin-top: 3px;
}
.krdv-account-avatar-field {
  border: 1px dashed rgba(29, 149, 172, 0.28);
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(236, 244, 255, 0.96));
  border-radius: 18px;
  padding: 14px;
}
.krdv-account-avatar-field input[type="file"] {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 14px;
  background: #fff;
  padding: 10px 12px;
}
.krdv-account-booking {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 148px;
  gap: 22px;
  align-items: stretch;
  border: 1px solid rgba(13, 27, 61, 0.07);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 255, 0.98)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 38%);
  padding: 22px;
  border-radius: 26px;
  box-shadow: 0 18px 34px rgba(13, 27, 61, 0.06);
}
.krdv-account-booking strong,
.krdv-account-booking p,
.krdv-account-booking span,
.krdv-account-booking small {
  display: block;
}
.krdv-account-booking p,
.krdv-account-booking span {
  margin: 4px 0 0;
  color: var(--krdv-muted);
}
.krdv-account-booking-body,
.krdv-account-booking-date,
.krdv-account-booking-actions,
.krdv-account-provider-line {
  display: grid;
  gap: 10px;
}
.krdv-account-booking-body {
  align-content: start;
  gap: 12px;
}
.krdv-account-booking-policy {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 16px;
  background: rgba(248, 251, 255, 0.9);
}
.krdv-account-booking-policy strong,
.krdv-account-booking-policy p {
  margin: 0;
}
.krdv-account-booking-policy strong {
  color: var(--krdv-ink);
  font-size: 0.85rem;
}
.krdv-account-booking-policy p {
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-account-provider-line {
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.krdv-account-provider-line img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}
.krdv-account-provider-line span {
  margin: 0;
  color: var(--krdv-ink);
  font-weight: 800;
}
.krdv-account-booking-date {
  align-content: center;
  justify-items: center;
  padding-left: 22px;
  border-left: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(242, 247, 255, 0.92));
  border-radius: 20px;
}
.krdv-account-booking-date span,
.krdv-account-booking-date small {
  margin: 0;
  color: var(--krdv-ink);
}
.krdv-account-booking-date strong {
  font-size: clamp(2.6rem, 4vw, 3.8rem);
  line-height: 0.9;
}
.krdv-account-booking-date small {
  font-size: 1rem;
}
.krdv-account-booking-manage {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 4px;
}
.krdv-account-booking-manage-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 14px 30px rgba(13, 27, 61, 0.05);
}
.krdv-account-booking-manage-card strong,
.krdv-account-booking-manage-card small {
  margin: 0;
}
.krdv-account-booking-manage-card strong {
  color: var(--krdv-ink);
  font-size: 1rem;
}
.krdv-account-booking-manage-card small {
  color: var(--krdv-muted);
  line-height: 1.55;
}
.krdv-account-booking.is-compact {
  grid-template-columns: minmax(0, 1fr) 128px;
  gap: 16px;
  padding: 16px 18px;
  border-radius: 20px;
}
.krdv-account-booking.is-compact .krdv-account-booking-body {
  gap: 8px;
}
.krdv-account-booking.is-compact .krdv-account-provider-line {
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
}
.krdv-account-booking.is-compact .krdv-account-provider-line img {
  width: 34px;
  height: 34px;
}
.krdv-account-booking.is-compact .krdv-account-booking-date {
  padding: 12px 0 12px 16px;
  border-radius: 16px;
}
.krdv-account-booking.is-compact .krdv-account-booking-date strong {
  font-size: clamp(2.1rem, 3.2vw, 2.8rem);
}
.krdv-account-booking.is-compact .krdv-account-booking-date small,
.krdv-account-booking.is-compact .krdv-account-booking-date span {
  font-size: 0.94rem;
}
.krdv-account-booking.is-compact .krdv-provider-action {
  min-height: 40px;
  padding-inline: 14px;
  font-size: 0.92rem;
}
.krdv-booking-thread {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  margin-top: 6px;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 14px 32px rgba(13, 27, 61, 0.05);
}
.krdv-booking-thread-head {
  display: grid;
  gap: 4px;
}
.krdv-booking-thread-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.1);
  color: var(--krdv-teal);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-booking-thread-head strong,
.krdv-booking-thread-head span {
  margin: 0;
}
.krdv-booking-thread-head strong {
  color: var(--krdv-ink);
  font-size: 0.95rem;
}
.krdv-booking-thread-head span {
  color: var(--krdv-muted);
  font-size: 0.92rem;
  line-height: 1.55;
}
.krdv-booking-thread-list {
  display: grid;
  gap: 10px;
}
.krdv-booking-thread-item {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}
.krdv-booking-thread-item.is-customer {
  background: rgba(233, 247, 250, 0.9);
}
.krdv-booking-thread-item.is-professional {
  background: rgba(244, 247, 255, 0.94);
}
.krdv-booking-thread-item.is-empty {
  background: rgba(248, 251, 255, 0.9);
}
.krdv-booking-thread-item p {
  margin: 0;
  color: var(--krdv-ink);
  line-height: 1.65;
}
.krdv-booking-thread-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}
.krdv-booking-thread-meta strong,
.krdv-booking-thread-meta span,
.krdv-booking-thread-meta time {
  margin: 0;
}
.krdv-booking-thread-meta strong {
  color: var(--krdv-ink);
  font-size: 0.94rem;
}
.krdv-booking-thread-meta span,
.krdv-booking-thread-meta time {
  color: var(--krdv-muted);
  font-size: 0.82rem;
}
.krdv-booking-thread-form {
  display: grid;
  gap: 10px;
}
.krdv-booking-thread-form label {
  display: block;
}
.krdv-booking-thread-form textarea {
  width: 100%;
  min-height: 102px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.12);
  background: rgba(255, 255, 255, 0.96);
  padding: 14px 16px;
  resize: vertical;
  font: inherit;
  color: var(--krdv-ink);
  box-shadow: inset 0 1px 2px rgba(13, 27, 61, 0.04);
}
.krdv-booking-thread-actions {
  display: flex;
  justify-content: flex-end;
}
.krdv-booking-status-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.88rem;
  font-weight: 800;
  width: fit-content;
  letter-spacing: 0.03em;
}
.krdv-booking-status-chip.is-confirmed {
  border-color: rgba(110, 218, 169, 0.22);
  background: rgba(110, 218, 169, 0.16);
  color: #2e9a6e;
}
.krdv-booking-status-chip.is-completed {
  border-color: rgba(13, 27, 61, 0.08);
  background: rgba(13, 27, 61, 0.05);
  color: rgba(13, 27, 61, 0.62);
}
.krdv-booking-status-chip.is-neutral {
  border-color: rgba(13, 27, 61, 0.08);
  background: rgba(13, 27, 61, 0.05);
  color: var(--krdv-muted);
}
.krdv-account-booking-empty {
  grid-template-columns: 1fr;
}
.krdv-account-booking-empty .krdv-account-booking-actions {
  justify-items: start;
}
.krdv-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.krdv-inline-pill,
.krdv-admin-static-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(29, 149, 172, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.96)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.1), transparent 40%);
  color: rgba(13, 27, 61, 0.86);
  font-size: 0.9rem;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(13, 27, 61, 0.04);
}
.krdv-admin-static-pill {
  min-height: 42px;
}
.krdv-invoice-list {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}
.krdv-invoice-card {
  display: grid;
  gap: 14px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  padding: 16px;
}
.krdv-invoice-card-top {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.krdv-invoice-card-top img {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  object-fit: cover;
}
.krdv-invoice-card-top strong,
.krdv-invoice-card-top span {
  display: block;
}
.krdv-invoice-card-top span,
.krdv-invoice-card-meta span,
.krdv-invoice-card-empty span {
  color: var(--krdv-muted);
}
.krdv-invoice-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.krdv-invoice-card-meta span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  background: rgba(13, 27, 61, 0.05);
  font-size: 0.92rem;
  font-weight: 700;
}
.krdv-invoice-card-actions {
  display: flex;
  justify-content: flex-start;
}
.krdv-invoice-card-empty {
  gap: 8px;
}
.krdv-loyalty-card {
  display: grid;
  gap: 12px;
}
.krdv-loyalty-card strong {
  color: var(--krdv-ink);
  font-size: clamp(2rem, 3vw, 2.6rem);
  line-height: 1;
}
.krdv-loyalty-card span,
.krdv-loyalty-card small,
.krdv-promo-list p {
  color: var(--krdv-muted);
  margin: 0;
}
.krdv-gift-card-list {
  display: grid;
  gap: 12px;
}
.krdv-gift-card-item {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
}
.krdv-gift-card-item strong,
.krdv-gift-card-item span,
.krdv-gift-card-item small {
  margin: 0;
}
.krdv-gift-card-item span {
  color: var(--krdv-ink);
  font-weight: 800;
}
.krdv-gift-card-item small {
  color: var(--krdv-muted);
  line-height: 1.55;
}
.krdv-gift-card-amounts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.krdv-gift-card-public {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(238, 246, 255, 0.94));
}
.krdv-gift-card-public-head {
  display: grid;
  gap: 8px;
}
.krdv-gift-card-public-head h2,
.krdv-gift-card-public-head p {
  margin: 0;
}
.krdv-gift-card-public-head p {
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-gift-card-public-body {
  display: grid;
  gap: 14px;
}
.krdv-special-offer-list {
  display: grid;
  gap: 12px;
}
.krdv-special-offer-card {
  position: relative;
}
.krdv-special-offer-card.is-gated {
  background: linear-gradient(180deg, rgba(245, 249, 255, 0.98), rgba(255, 255, 255, 0.98));
}
.krdv-special-offer-card .krdv-special-offer-details {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-special-offer-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.krdv-special-offer-meta small {
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-special-offers-public .krdv-special-offer-card {
  gap: 10px;
}
.krdv-public-loyalty-program .krdv-public-loyalty-card {
  display: grid;
  gap: 10px;
}
.krdv-public-loyalty-program .krdv-provider-actions {
  margin-top: 4px;
}
.krdv-provider-actions-gift {
  gap: 10px;
}
.krdv-gift-card-purchase-form {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
}
.krdv-gift-card-purchase-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.krdv-gift-card-purchase-grid label {
  display: grid;
  gap: 6px;
}
.krdv-gift-card-purchase-grid span {
  color: var(--krdv-muted);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.krdv-gift-card-purchase-grid input,
.krdv-gift-card-purchase-grid select,
.krdv-gift-card-purchase-grid textarea {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(13, 27, 61, 0.12);
  padding: 12px 14px;
  font: inherit;
  color: var(--krdv-ink);
  background: #fff;
}
.krdv-gift-card-purchase-wide {
  grid-column: 1 / -1;
}
.krdv-gift-card-purchase-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.krdv-gift-card-purchase-actions small {
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-gift-card-orders {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.krdv-gift-card-order-list {
  display: grid;
  gap: 12px;
}
.krdv-gift-card-order-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
}
.krdv-gift-card-order-card p,
.krdv-gift-card-order-card small {
  margin: 0;
}
.krdv-gift-card-order-card small {
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-gift-card-order-head,
.krdv-gift-card-order-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 12px;
  align-items: center;
}
.krdv-gift-card-order-meta {
  color: var(--krdv-muted);
  font-size: 0.92rem;
}
.krdv-account-review-list {
  display: grid;
  gap: 12px;
}
.krdv-account-review-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
}
.krdv-account-review-card > p,
.krdv-account-review-card > small,
.krdv-account-review-card > span {
  margin: 0;
}
.krdv-account-review-card > span {
  color: var(--krdv-ink);
  font-weight: 800;
}
.krdv-account-review-card > p {
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-account-review-card-empty p {
  margin: 0;
}
.krdv-account-review-card.is-prompt {
  background: rgba(240, 247, 255, 0.98);
}
.krdv-account-review-rating {
  display: block;
  color: var(--krdv-gold-brand);
  letter-spacing: 0.12em;
  font-size: 0.92rem;
}
.krdv-account-review-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.krdv-account-review-actions small {
  color: var(--krdv-muted);
}
.krdv-account-review-prompt {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.krdv-loyalty-bar {
  height: 10px;
  overflow: hidden;
  background: rgba(13, 27, 61, 0.08);
}
.krdv-loyalty-bar span {
  display: block;
  height: 100%;
  background: #f47d53 !important;
  background-image: none !important;
}
.krdv-promo-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-promo-list--compact {
  margin-bottom: 4px;
}
.krdv-promo-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 253, 0.94));
  color: rgba(13, 27, 61, 0.78);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(13, 27, 61, 0.04);
}
.krdv-inline-help {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(19, 161, 182, 0.12);
  color: #13849d;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: none;
  cursor: help;
}
.krdv-inline-help::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  width: min(280px, calc(100vw - 32px));
  padding: 10px 12px;
  border-radius: 14px;
  background: #102650;
  color: #ffffff;
  font-size: 0.79rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: 0 14px 28px rgba(16, 38, 80, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 20;
}
.krdv-inline-help:hover::after,
.krdv-inline-help:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}
.krdv-image-guidance-note {
  display: block;
  margin-top: 8px;
  color: rgba(13, 27, 61, 0.68);
  font-size: 0.8rem;
  line-height: 1.5;
}
.krdv-image-guidance-note strong {
  color: #102650;
}
.krdv-image-guidance-card {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border: 1px solid rgba(29, 149, 172, 0.18);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(242, 251, 253, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: 0 16px 34px rgba(16, 38, 80, 0.06);
}
.krdv-image-guidance-card-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(19, 161, 182, 0.1);
  color: #13849d;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-image-guidance-card p {
  margin: 0;
  color: rgba(13, 27, 61, 0.78);
}
.krdv-image-guidance-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: #102650;
}
.krdv-image-guidance-card li {
  line-height: 1.5;
}
.krdv-waitlist-form {
  margin-top: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, rgba(247, 250, 255, 0.98), rgba(255, 255, 255, 0.98));
}
/* ------------------------------------------------------------------ *
 * Liste d'attente : panneau repliable sous le moteur de réservation.
 *
 * Sur la fiche professionnelle il reste discret par défaut — la
 * réservation directe doit rester le geste principal — puis se déplie
 * de lui-même quand le moteur ne renvoie aucun créneau. La classe
 * `is-suggested` marque ce moment sans clignoter ni sur-jouer.
 * ------------------------------------------------------------------ */
.krdv-waitlist-panel {
  margin-top: 20px;
}
.krdv-waitlist-panel .krdv-waitlist-form {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.krdv-waitlist-details {
  border: 1px solid rgba(13, 27, 61, 0.1);
  border-radius: 22px;
  overflow: hidden;
  background: #ffffff;
}
.krdv-waitlist-summary {
  display: grid;
  gap: 4px;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(180deg, rgba(247, 250, 255, 0.98), rgba(255, 255, 255, 0.98));
}
/* Safari garde son triangle par défaut sans ce sélecteur. */
.krdv-waitlist-summary::-webkit-details-marker {
  display: none;
}
.krdv-waitlist-summary:focus-visible {
  outline: 2px solid #0B7268;
  outline-offset: -2px;
}
/* Le turquoise de marque (#12A79A) ne donne que 2,91:1 sur ce fond clair :
   sous le seuil de 4,5:1 pour un texte de 11-12 px. On garde la teinte en
   l'assombrissant (#0B7268 → 5,64:1) plutôt que de changer de couleur. */
.krdv-waitlist-summary-kicker {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0B7268;
}
.krdv-waitlist-summary-title {
  font-weight: 700;
  line-height: 1.45;
  color: var(--krdv-ink, #0f1a33);
}
.krdv-waitlist-intro {
  margin: 0 0 4px;
  grid-column: 1 / -1;
  color: var(--krdv-muted, #5a6680);
  line-height: 1.6;
}
.krdv-waitlist-panel.is-suggested .krdv-waitlist-details {
  border-color: rgba(11, 114, 104, 0.5);
  box-shadow: 0 8px 26px rgba(11, 114, 104, 0.12);
}
.krdv-waitlist-panel.is-suggested .krdv-waitlist-summary {
  background: linear-gradient(180deg, rgba(233, 250, 248, 0.98), rgba(255, 255, 255, 0.98));
}
.krdv-plan-upgrade-card {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(240, 121, 78, 0.18);
  border-radius: 22px;
  background: rgba(255, 247, 242, 0.96);
}
.krdv-plan-upgrade-copy {
  display: grid;
  gap: 6px;
}
.krdv-plan-upgrade-copy p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-plan-upgrade-points {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.krdv-plan-upgrade-points li {
  position: relative;
  padding-left: 18px;
  color: var(--krdv-ink);
  font-weight: 700;
}
.krdv-plan-upgrade-points li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #f0794e;
  transform: translateY(-50%);
}
.krdv-plan-upgrade-form {
  margin: 0;
}
.krdv-account-full {
  grid-column: 1 / -1;
}
.krdv-searchbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) repeat(4, minmax(150px, 0.68fr)) 160px;
  gap: 10px;
  margin: 0 0 20px;
  padding: 12px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 251, 0.96));
  box-shadow: 0 18px 50px rgba(13, 27, 61, 0.1);
}
.krdv-searchbar label,
.krdv-booking-form label,
.krdv-join-form label,
.krdv-login-shell label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-searchbar input:not([type="checkbox"]),
.krdv-searchbar select,
.krdv-booking-form input:not([type="checkbox"]),
.krdv-booking-form select,
.krdv-booking-form textarea,
.krdv-join-form input:not([type="checkbox"]),
.krdv-join-form select,
.krdv-join-form textarea,
.krdv-login-shell input[type="text"],
.krdv-login-shell input[type="password"] {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 14px;
  background: #f8fbff;
  color: var(--krdv-ink);
  font: inherit;
  font-size: 1rem;
  letter-spacing: 0;
  padding: 10px 12px;
}
.krdv-searchbar select:disabled {
  cursor: not-allowed;
  opacity: 0.7;
  background: #eef3f8;
  color: var(--krdv-muted);
}
.krdv-searchbar button {
  min-height: 46px;
  align-self: end;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--krdv-coral-brand), #ff835f);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  padding: 0 18px;
}
.krdv-ai-search {
  display: grid;
  grid-template-columns: minmax(320px, 0.88fr) minmax(0, 1.12fr);
  gap: 16px;
  margin: 0 0 22px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96)),
    radial-gradient(circle at bottom right, rgba(29, 149, 172, 0.05), transparent 26%);
  box-shadow: 0 18px 44px rgba(13, 27, 61, 0.05);
  padding: 18px;
}
.krdv-ai-search-copy,
.krdv-ai-search-panel,
.krdv-ai-search-controls,
.krdv-ai-search-prompts,
.krdv-ai-search-response {
  display: grid;
  gap: 10px;
}
.krdv-ai-search-copy,
.krdv-ai-search-panel {
  padding: 14px;
  border: 1px solid rgba(13, 27, 61, 0.06);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.9);
}
.krdv-ai-search-copy h2,
.krdv-ai-search-response strong {
  margin: 0;
  color: var(--krdv-ink);
  font-size: 1.52rem;
  line-height: 1.14;
}
.krdv-ai-search-copy p:not(.eyebrow),
.krdv-ai-search-response p,
.krdv-ai-result span {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-ai-search-prompts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.krdv-ai-search-prompts button,
.krdv-ai-result {
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #fbfdff);
  color: var(--krdv-ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
  padding: 10px 12px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.krdv-ai-search-prompts button:hover,
.krdv-ai-search-prompts button:focus-visible,
.krdv-ai-result:hover,
.krdv-ai-result:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(29, 149, 172, 0.26);
  box-shadow: 0 14px 28px rgba(13, 27, 61, 0.08);
}
.krdv-ai-search-controls {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px;
}
.krdv-ai-search-controls input {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 16px;
  background: #ffffff;
  color: var(--krdv-ink);
  font: inherit;
  padding: 12px 14px;
}
.krdv-ai-search-controls button {
  min-height: 52px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--krdv-navy), var(--krdv-turquoise));
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  padding: 0 20px;
  white-space: nowrap;
}
.krdv-ai-search-panel {
  align-content: start;
}
.krdv-ai-search-response {
  padding: 14px 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.92), rgba(255, 255, 255, 0.98));
}
.krdv-ai-results {
  display: grid;
  gap: 10px;
}
.krdv-ai-result {
  display: grid;
  gap: 4px;
}
.krdv-provider-switcher {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 16px;
}
.krdv-provider-switcher label {
  display: grid;
  gap: 8px;
  min-width: 320px;
}
.krdv-provider-switcher span {
  color: var(--krdv-muted);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-provider-switcher select {
  min-height: 50px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 16px;
  background: #fff;
  color: var(--krdv-ink);
  font: inherit;
  padding: 0 14px;
}
.krdv-provider-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.krdv-provider-card {
  overflow: hidden;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 0;
  background: linear-gradient(180deg, #ffffff, #f9fcff);
  box-shadow: 0 16px 42px rgba(13, 27, 61, 0.08);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}
.krdv-provider-card:hover,
.krdv-provider-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(29, 149, 172, 0.22);
  box-shadow: 0 24px 48px rgba(13, 27, 61, 0.12);
}
.krdv-provider-card[hidden] {
  display: none;
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary {
  background: linear-gradient(135deg, var(--krdv-navy), var(--krdv-turquoise));
  border-color: transparent;
  color: #fff;
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary:hover,
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary:focus-visible {
  box-shadow: 0 18px 34px rgba(13, 27, 61, 0.14);
  transform: translateY(-1px);
}
.krdv-payment-modal[hidden] {
  display: none;
}
.krdv-payment-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.krdv-payment-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 16, 38, 0.64);
  backdrop-filter: blur(8px);
}
.krdv-payment-modal-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  margin: 16px auto;
  overflow: auto;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: 0 30px 80px rgba(7, 16, 38, 0.28);
  padding: 24px;
}
.krdv-payment-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(13, 27, 61, 0.08);
  color: var(--krdv-ink);
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1;
}
.krdv-payment-modal-shell {
  display: grid;
  gap: 16px;
}
.krdv-payment-modal-mount {
  min-height: 240px;
}
.krdv-payment-modal-fallback {
  display: grid;
  gap: 14px;
  justify-items: start;
  border: 1px dashed rgba(13, 27, 61, 0.14);
  border-radius: 20px;
  background: rgba(248, 251, 255, 0.92);
  padding: 18px;
}
body.krdv-payment-modal-open {
  overflow: hidden;
}
.krdv-provider-media {
  display: grid;
  min-height: 178px;
  place-items: center;
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.18), rgba(255, 110, 74, 0.18) 52%, rgba(212, 165, 55, 0.24));
  color: var(--krdv-lagoon);
  font-size: 4rem;
  font-weight: 900;
  text-decoration: none;
}
.krdv-provider-media img {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
}
.krdv-provider-body {
  display: grid;
  gap: 12px;
  padding: 18px;
}
.krdv-provider-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.krdv-provider-top h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.2;
}
.krdv-provider-top a {
  color: inherit;
  text-decoration: none;
}
.krdv-provider-top p {
  margin: 4px 0 0;
  color: var(--krdv-muted);
  font-size: 0.9rem;
  line-height: 1.35;
}
.krdv-provider-meta {
  margin: 0;
  color: var(--krdv-muted);
  font-size: 0.88rem;
}
.krdv-provider-location {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-left: 3px solid rgba(29, 149, 172, 0.18);
  background: rgba(29, 149, 172, 0.06);
}
.krdv-provider-location-text,
.krdv-provider-travel {
  margin: 0;
  font-size: 0.9rem;
}
.krdv-provider-location-text {
  color: var(--krdv-ink);
  font-weight: 700;
}
.krdv-provider-travel {
  color: var(--krdv-muted);
}
.krdv-provider-map-link {
  color: var(--krdv-turquoise);
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}
.krdv-rating {
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--krdv-coral-cta);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  padding: 6px 9px;
}
.krdv-rating-wrap {
  display: grid;
  justify-items: end;
  gap: 4px;
}
.krdv-rating-wrap small {
  color: var(--krdv-muted);
  font-size: 0.76rem;
  font-weight: 800;
}
.krdv-verified {
  width: max-content;
  border-radius: 999px;
  background: rgba(46, 154, 110, 0.12);
  color: var(--krdv-leaf-brand);
  font-size: 0.76rem;
  font-weight: 900;
  padding: 6px 9px;
}
.krdv-service-list {
  display: grid;
  gap: 8px;
}
.krdv-service-list a {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--krdv-line);
  color: var(--krdv-ink);
  padding-top: 8px;
  text-decoration: none;
}
.krdv-service-copy {
  display: grid;
  gap: 4px;
}
.krdv-service-inline-meta {
  color: var(--krdv-muted);
  font-size: 0.76rem;
  line-height: 1.35;
}
.krdv-service-context-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
}
.krdv-service-context-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.krdv-service-context-badge.is-package {
  background: rgba(244, 125, 83, 0.12);
  color: var(--krdv-coral-ink);
}
.krdv-service-context-badge.is-delivery {
  background: rgba(29, 149, 172, 0.12);
  color: var(--krdv-turquoise);
}
.krdv-provider-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.krdv-provider-actions-favorite {
  margin: 0 0 18px;
}
.krdv-provider-actions-favorite .krdv-account-inline-form {
  margin-top: 0;
}
/* Masque l'en-tête du thème dans l'espace professionnel (#karibook-pro-dashboard,
   appartenant à l'extension karibook-pro-dashboard) — même traitement que
   l'espace client, appliqué ici car ce fichier CSS est chargé sur tout le
   site, y compris sur /mon-espace-pro/, sans dépendre du thème. */
body:has(#karibook-pro-dashboard) .site-header,
body:has(#karibook-pro-dashboard) .site-header.is-scrolled,
body:has(#karibook-pro-dashboard) .kb-header,
body:has(#karibook-pro-dashboard) .site-topbar,
body:has(#karibook-pro-dashboard) .krdv-breadcrumb {
  display: none !important;
}
body:has(#karibook-pro-dashboard) .site-main,
body:has(#karibook-pro-dashboard) .site-content,
body:has(#karibook-pro-dashboard) .content-area,
body:has(#karibook-pro-dashboard) .entry-content,
body:has(#karibook-pro-dashboard) #kb-main-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body:has(#karibook-pro-dashboard) .entry-title,
body:has(#karibook-pro-dashboard) .page-title,
body:has(#karibook-pro-dashboard) .wp-block-post-title {
  display: none !important;
}
.krdv-provider-action {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(13, 27, 61, 0.07);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 254, 0.94));
  color: rgba(13, 27, 61, 0.84);
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.01em;
  padding: 0 16px;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
  box-shadow: 0 8px 18px rgba(13, 27, 61, 0.04);
}
.krdv-provider-action:hover,
.krdv-provider-action:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(29, 149, 172, 0.18);
  box-shadow: 0 12px 24px rgba(13, 27, 61, 0.07);
}
.krdv-provider-action.is-primary {
  border-color: var(--krdv-coral-cta);
  background: var(--krdv-coral-cta);
  color: #fff;
}
.krdv-pending-actions .krdv-provider-action.is-primary,
.krdv-pending-actions .krdv-provider-action.is-primary:link,
.krdv-pending-actions .krdv-provider-action.is-primary:visited {
  background: #102650 !important;
  background-image: none !important;
  border-color: #102650 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 16px 28px rgba(16, 38, 80, 0.16) !important;
}
.krdv-pending-actions .krdv-provider-action.is-primary *,
.krdv-pending-actions .krdv-provider-action.is-primary span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-pending-actions .krdv-provider-action.is-primary:hover,
.krdv-pending-actions .krdv-provider-action.is-primary:focus-visible {
  background: #16315f !important;
  background-image: none !important;
  border-color: #16315f !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-relative-add {
  min-width: 190px;
}
.krdv-password-field {
  position: relative;
  display: block;
}
.krdv-password-field > input[type="password"],
.krdv-password-field > input[type="text"] {
  padding-right: 96px !important;
}
.krdv-password-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(16, 38, 80, 0.14);
  border-radius: 12px;
  background: #102650;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}
.krdv-password-toggle:hover,
.krdv-password-toggle:focus-visible {
  border-color: #102650;
  background: #0d2146;
}
@media (max-width: 640px) {
.krdv-password-field > input[type="password"],
  .krdv-password-field > input[type="text"] {
    padding-right: 72px !important;
  }
.krdv-password-toggle {
    right: 8px;
    min-height: 26px;
    padding: 0 8px;
    border-radius: 10px;
    font-size: 0.72rem;
    line-height: 1;
  }
}
.krdv-notification-log-shell {
  display: grid;
  gap: 12px;
  margin-top: 8px;
}
.krdv-notification-log {
  display: grid;
  gap: 10px;
}
.krdv-notification-log-item {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: rgba(248, 251, 255, 0.88);
}
.krdv-notification-log-copy {
  display: grid;
  gap: 5px;
}
.krdv-notification-log-copy strong {
  color: var(--krdv-ink);
  font-size: 0.95rem;
}
.krdv-notification-log-empty {
  padding: 14px 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: rgba(248, 251, 255, 0.88);
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-notification-log-copy p,
.krdv-notification-log-copy time {
  margin: 0;
  color: var(--krdv-muted);
}
.krdv-notification-log-copy time {
  font-size: 0.82rem;
}
.krdv-notification-log-item a {
  color: var(--krdv-turquoise);
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}
.krdv-notification-log-empty {
  padding: 14px 16px;
  border: 1px dashed rgba(13, 27, 61, 0.12);
  border-radius: 18px;
  color: var(--krdv-muted);
  background: rgba(248, 251, 255, 0.72);
}
.krdv-provider-action.is-facebook,
.krdv-provider-action.is-linkedin,
.krdv-provider-action.is-instagram,
.krdv-provider-action.is-whatsapp,
.krdv-provider-action.is-threads {
  border-color: transparent;
  color: #fff;
}
.krdv-provider-action.is-facebook {
  background: linear-gradient(135deg, #2f85ff, #1877f2);
}
.krdv-provider-action.is-linkedin {
  background: linear-gradient(135deg, #1980e6, #0a66c2);
}
.krdv-provider-action.is-instagram {
  background: linear-gradient(135deg, #d94f92, #ff8a5f);
}
.krdv-provider-action.is-whatsapp {
  background: linear-gradient(135deg, #19a15f, #24bf72);
  color: #fff;
}
.krdv-provider-action.is-threads {
  background: linear-gradient(135deg, #2a2f39, #141821);
  color: #fff;
}
.krdv-provider-action.is-tiktok {
  border-color: transparent;
  background: linear-gradient(135deg, #121212, #2b2b2b);
  color: #fff;
}
.krdv-provider-action-icon {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
}
.krdv-provider-action-icon img,
.krdv-provider-action-icon > svg {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.krdv-provider-action-text {
  display: inline-block;
  line-height: 1;
}
.krdv-service-list strong {
  color: var(--krdv-coral-ink);
}
.krdv-booking-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f8fbff);
  padding: 16px;
  box-shadow: 0 18px 50px rgba(13, 27, 61, 0.1);
}
.krdv-booking-auth-gate {
  display: grid;
  gap: 18px;
  padding: 26px;
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action {
  min-width: 220px;
  text-decoration: none !important;
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary {
  background-color: #1d95ac !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--krdv-navy), var(--krdv-turquoise)) !important;
  color: #fff !important;
  box-shadow: 0 18px 40px rgba(13, 27, 61, 0.14);
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary,
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary span {
  color: #ffffff !important;
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  background-color: #1d95ac !important;
  background: linear-gradient(135deg, #0d1b3d 0%, #1d95ac 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary:hover,
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary:focus-visible {
  filter: brightness(1.03);
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action:not(.is-primary) {
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  color: var(--krdv-ink) !important;
}
.krdv-booking-auth-gate .krdv-account-actions > .krdv-provider-action:first-child {
  background-color: #1d95ac !important;
  background-image: linear-gradient(135deg, #0d1b3d 0%, #1d95ac 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: transparent !important;
  opacity: 1 !important;
}
.krdv-booking-auth-signup,
.krdv-booking-auth-signup:visited,
.krdv-booking-auth-signup:hover,
.krdv-booking-auth-signup:focus-visible {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border: 1px solid transparent !important;
  border-radius: 16px !important;
  background: #0d1b3d !important;
  background-color: #0d1b3d !important;
  background-image: linear-gradient(135deg, #0d1b3d 0%, #1d95ac 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: 0 16px 36px rgba(13, 27, 61, 0.16), 0 10px 26px rgba(29, 149, 172, 0.14) !important;
}
.krdv-booking-auth-signup-label,
.krdv-booking-auth-signup-label:visited,
.krdv-booking-auth-signup-label:hover,
.krdv-booking-auth-signup-label:focus-visible {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  border: 1px solid transparent !important;
  background: #0d1b3d !important;
  background-color: #0d1b3d !important;
  background-image: linear-gradient(135deg, #0d1b3d 0%, #1d95ac 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: 0 16px 36px rgba(13, 27, 61, 0.16), 0 10px 26px rgba(29, 149, 172, 0.14) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
.krdv-booking-auth-signup,
.krdv-booking-auth-signup:link,
.krdv-booking-auth-signup:visited,
.krdv-booking-auth-signup:hover,
.krdv-booking-auth-signup:focus-visible,
.krdv-booking-auth-gate .krdv-account-actions .krdv-booking-auth-signup,
.krdv-booking-auth-gate .krdv-account-actions > .krdv-booking-auth-signup:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  border: 1px solid #0d1b3d !important;
  background: #0d1b3d !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: 0 16px 30px rgba(13, 27, 61, 0.18) !important;
}
.krdv-booking-auth-signup:hover,
.krdv-booking-auth-signup:focus-visible,
.krdv-booking-auth-gate .krdv-account-actions .krdv-booking-auth-signup:hover,
.krdv-booking-auth-gate .krdv-account-actions .krdv-booking-auth-signup:focus-visible,
.krdv-booking-auth-gate .krdv-account-actions > .krdv-booking-auth-signup:first-child:hover,
.krdv-booking-auth-gate .krdv-account-actions > .krdv-booking-auth-signup:first-child:focus-visible {
  border-color: #102650 !important;
  background: #102650 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-booking-auth-copy {
  display: grid;
  gap: 10px;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-booking-auth-copy strong {
  color: var(--krdv-ink);
  font-size: 1.05rem;
}
.krdv-booking-payment-feedback,
.krdv-booking-payment-summary {
  display: grid;
  gap: 8px;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(14, 28, 61, 0.05);
  border: 1px solid rgba(22, 45, 96, 0.08);
}
.krdv-booking-payment-feedback.is-warning {
  background: rgba(255, 133, 92, 0.12);
  border-color: rgba(255, 133, 92, 0.28);
}
.krdv-booking-payment-feedback.is-success {
  background: rgba(41, 167, 191, 0.12);
  border-color: rgba(41, 167, 191, 0.25);
}
.krdv-booking-delivery-summary {
  background: rgba(35, 182, 212, 0.1);
  border-color: rgba(35, 182, 212, 0.22);
}
.krdv-booking-payment-feedback strong,
.krdv-booking-payment-summary strong {
  color: var(--krdv-ink);
  font-size: 1.05rem;
}
.krdv-booking-payment-feedback p,
.krdv-booking-payment-summary p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-booking-payment-summary-label {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.74rem;
  font-weight: 800;
  color: var(--krdv-brand);
}
.krdv-form-wide,
.krdv-booking-form button,
.krdv-provider-review-form button,
.krdv-contact-form button,
.krdv-form-status {
  grid-column: 1 / -1;
}
.krdv-booking-form button,
.krdv-provider-review-form button,
.krdv-contact-form button {
  min-height: 48px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--krdv-navy), var(--krdv-turquoise));
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}
.krdv-booking-transport-box {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(240, 249, 253, 0.92), rgba(255, 255, 255, 0.98));
}
.krdv-booking-transport-head {
  display: grid;
  gap: 6px;
}
.krdv-booking-transport-head p {
  margin: 0;
  color: var(--krdv-lagoon);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-booking-transport-head h3 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: 1.02rem;
  line-height: 1.4;
}
.krdv-booking-transport-provider-note {
  display: grid;
  gap: 4px;
}
.krdv-booking-transport-provider-note small {
  color: var(--krdv-muted);
  font-size: 0.84rem;
  line-height: 1.5;
}
.krdv-booking-transport-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.krdv-booking-transport-meta {
  display: grid;
  gap: 4px;
  margin-top: 8px;
}
.krdv-booking-transport-meta small {
  color: var(--krdv-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}
.krdv-booking-transport-quote {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(16, 38, 80, 0.1);
  background: rgba(255, 255, 255, 0.88);
}
.krdv-booking-transport-quote strong {
  color: var(--krdv-ink);
  font-size: 1.05rem;
}
.krdv-booking-transport-quote p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-booking-transport-quote-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.krdv-booking-transport-quote-meta small {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(209, 241, 245, 0.55);
  color: var(--krdv-ink);
  font-size: 0.82rem;
  font-weight: 700;
}
.krdv-transport-rules-table {
  display: grid;
  gap: 10px;
}
.krdv-transport-zones-table {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.krdv-transport-rules-head,
.krdv-transport-rules-row {
  display: grid;
  grid-template-columns: 1.1fr 1.2fr 1.2fr 0.7fr 0.7fr 0.7fr 0.7fr;
  gap: 10px;
  align-items: center;
}
.krdv-transport-rules-head span {
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.krdv-transport-zones-head,
.krdv-transport-zones-row {
  display: grid;
  grid-template-columns: 1fr 1.8fr 0.7fr 0.6fr;
  gap: 10px;
  align-items: center;
}
.krdv-transport-zones-head span {
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.krdv-transport-rules-body {
  display: grid;
  gap: 10px;
}
.krdv-transport-zones-body {
  display: grid;
  gap: 10px;
}
.krdv-transport-rules-row {
  padding: 12px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
}
.krdv-transport-zones-row {
  padding: 12px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
}
.krdv-transport-rules-row input[type="text"],
.krdv-transport-rules-row input[type="number"] {
  width: 100%;
}
.krdv-transport-zones-row input[type="text"],
.krdv-transport-zones-row input[type="number"] {
  width: 100%;
}
.krdv-transport-rules-row .krdv-admin-check {
  justify-content: flex-start;
}
.krdv-form-status {
  min-height: 22px;
  margin: 0;
  color: var(--krdv-lagoon);
  font-weight: 800;
}
.krdv-categories,
.krdv-service-catalog,
.krdv-dashboard-services,
.krdv-dashboard-metrics,
.krdv-payout-grid,
.krdv-locations {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.krdv-category-card,
.krdv-service-card,
.krdv-dashboard-metrics article,
.krdv-payout-grid article,
.krdv-location-card {
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 0;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: 0 16px 42px rgba(13, 27, 61, 0.08);
}
.krdv-dashboard-metrics {
  align-items: stretch;
}
.krdv-dashboard-metrics article {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 134px;
  margin: 0 !important;
}
.krdv-category-card {
  display: grid;
  gap: 6px;
  min-height: 122px;
  align-content: end;
  padding: 16px;
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.12), rgba(255, 110, 74, 0.12), rgba(212, 165, 55, 0.18));
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}
.krdv-category-card:hover,
.krdv-category-card:focus-visible,
.krdv-location-card:hover,
.krdv-location-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(29, 149, 172, 0.22);
  box-shadow: 0 22px 44px rgba(13, 27, 61, 0.1);
}
.krdv-category-card strong,
.krdv-service-card h3,
.krdv-dashboard-metrics strong,
.krdv-payout-grid strong {
  font-size: 1.05rem;
  line-height: 1.2;
}
.krdv-category-card span,
.krdv-service-card p,
.krdv-service-card span,
.krdv-dashboard-metrics span,
.krdv-payout-grid span {
  color: var(--krdv-muted);
}
.krdv-category-picker {
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98));
  box-shadow: 0 16px 38px rgba(13, 27, 61, 0.06);
  overflow: hidden;
}
.krdv-category-picker summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}
.krdv-category-picker summary::-webkit-details-marker {
  display: none;
}
.krdv-category-picker summary::after {
  content: "+";
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.1);
  color: var(--krdv-turquoise);
  font-size: 1rem;
  font-weight: 900;
  flex: 0 0 auto;
}
.krdv-category-picker[open] summary::after {
  content: "−";
}
.krdv-category-picker-head {
  display: grid;
  gap: 4px;
}
.krdv-category-picker-head strong {
  color: var(--krdv-ink);
  font-size: 0.96rem;
  font-weight: 900;
}
.krdv-category-picker-head small {
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 700;
}
.krdv-category-picker-body {
  display: grid;
  gap: 16px;
  padding: 0 18px 18px;
  border-top: 1px solid rgba(13, 27, 61, 0.06);
}
.krdv-category-picker-guidance {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(29, 149, 172, 0.08), rgba(255, 255, 255, 0.9));
  border: 1px solid rgba(29, 149, 172, 0.12);
}
.krdv-category-picker-guidance strong {
  color: var(--krdv-ink);
  font-size: 0.92rem;
  font-weight: 900;
}
.krdv-category-picker-guidance p {
  margin: 0;
  color: var(--krdv-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}
.krdv-category-picker-group {
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
}
.krdv-category-picker-group-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.krdv-category-picker-group-head::-webkit-details-marker {
  display: none;
}
.krdv-category-picker-group-head::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-left: auto;
  border-radius: 999px;
  background: rgba(16, 38, 80, 0.08);
  color: #102650;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}
.krdv-category-picker-group[open] .krdv-category-picker-group-head::after {
  content: "\2212";
}
.krdv-category-picker-group-title {
  color: var(--krdv-ink);
  font-size: 0.92rem;
  font-weight: 900;
}
.krdv-category-picker-group-count {
  color: var(--krdv-muted);
  font-size: 0.76rem;
  font-weight: 800;
}
.krdv-category-picker-group-body {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 16px 16px;
}
.krdv-chip-check-category {
  min-height: 42px;
}
.krdv-chip-check-category input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.krdv-chip-check-category span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(13, 27, 61, 0.1);
  border-radius: 999px;
  background: #ffffff;
  color: var(--krdv-ink);
  font-size: 0.88rem;
  font-weight: 800;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.krdv-chip-check-category input:checked + span {
  border-color: rgba(29, 149, 172, 0.22);
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.12), rgba(29, 149, 172, 0.2));
  color: var(--krdv-teal);
  box-shadow: 0 10px 20px rgba(13, 27, 61, 0.06);
}
.krdv-account-actions--compact {
  margin-top: 10px;
}
.krdv-payment-action-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.krdv-payment-action-form {
  margin: 0;
}
.krdv-payment-help {
  margin: 14px 0 0;
  color: var(--krdv-muted);
  font-size: 0.94rem;
  line-height: 1.65;
}
.krdv-service-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}
.krdv-service-card p {
  margin: 0 0 6px;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.krdv-service-card small {
  display: block;
  margin: 8px 0 0;
  color: var(--krdv-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}
.krdv-service-card h3 {
  margin: 0;
}
.krdv-service-card strong {
  color: var(--krdv-coral-ink);
  font-size: 1.25rem;
}
.krdv-service-card em {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 8px 0 0;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(244, 125, 83, 0.12);
  color: var(--krdv-coral-ink);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-location-card {
  display: grid;
  gap: 12px;
  min-height: 150px;
  padding: 16px;
  text-decoration: none;
}
.krdv-location-card strong {
  font-size: 1.15rem;
}
.krdv-location-cities {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.krdv-location-cities span {
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.12);
  color: var(--krdv-turquoise);
  font-size: 0.84rem;
  font-weight: 800;
  padding: 7px 11px;
}
.krdv-onboarding,
.krdv-pro-panel {
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(13, 27, 61, 0.08);
  padding: 18px;
  overflow: visible;
}
.krdv-settings-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(248, 251, 255, 0.95);
  border-radius: 20px;
}
.krdv-settings-accordion {
  padding: 0;
  overflow: hidden;
}
.krdv-settings-accordion summary {
  display: flex;
  align-items: start;
  gap: 16px;
  padding: 18px;
  cursor: pointer;
  list-style: none;
}
.krdv-settings-accordion summary::-webkit-details-marker {
  display: none;
}
.krdv-settings-accordion summary::after {
  content: "\203A";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-left: auto;
  border-radius: 999px;
  background: rgba(13, 27, 61, 0.05);
  color: rgba(13, 27, 61, 0.78);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1;
  transform: rotate(90deg);
  transition: transform 180ms ease, background-color 180ms ease;
}
.krdv-settings-accordion[open] summary::after {
  transform: rotate(-90deg);
}
.krdv-settings-accordion-head {
  display: grid;
  gap: 8px;
  max-width: calc(100% - 46px);
}
.krdv-settings-title-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 248, 253, 0.92));
  color: var(--krdv-ink);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow: 0 8px 18px rgba(13, 27, 61, 0.05);
}
.krdv-settings-accordion-head small {
  color: rgba(82, 98, 128, 0.92);
  font-size: 0.88rem;
  line-height: 1.6;
}
.krdv-settings-accordion-body {
  display: grid;
  gap: 12px;
  padding: 0 18px 18px;
}
.krdv-settings-card--essential {
  border-top: 3px solid rgba(29, 149, 172, 0.3);
}
.krdv-settings-card--growth {
  border-top: 3px solid rgba(212, 165, 55, 0.34);
}
#krdv-pro-profile-panel .krdv-pro-panel-head h3,
#krdv-pro-profile .krdv-pro-panel-head h3 {
  max-width: none !important;
  width: 100%;
}
.krdv-pro-nav [data-krdv-nav-tile],
[data-krdv-sortable-overview] > [data-krdv-overview-block] {
  cursor: grab;
}
.krdv-pro-nav [data-krdv-nav-tile].is-dragging,
[data-krdv-sortable-overview] > [data-krdv-overview-block].is-dragging {
  opacity: 0.64;
  cursor: grabbing;
}
[data-krdv-sortable-overview] > [data-krdv-overview-block] {
  position: relative;
}
[data-krdv-sortable-overview] > [data-krdv-overview-block]::before {
  content: none;
  position: absolute;
  top: 10px;
  right: 14px;
}
.krdv-sortable-handle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: start;
  min-height: 32px;
  margin-bottom: 12px;
  padding: 0 12px;
  border: 1px dashed rgba(16, 38, 80, 0.14);
  border-radius: 999px;
  background: rgba(239, 244, 252, 0.96);
  color: #6d7895;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  cursor: grab;
}
.krdv-sortable-handle svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}
[data-krdv-sortable-overview] > [data-krdv-overview-block] > .krdv-sortable-handle {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 6;
  margin: 0;
  min-height: 30px;
  padding: 0 10px;
  opacity: 0.78;
}
[data-krdv-sortable-overview] > [data-krdv-overview-block] > .krdv-sortable-handle span {
  display: none;
}
[data-krdv-sortable-overview] > [data-krdv-overview-block]:hover > .krdv-sortable-handle,
[data-krdv-sortable-overview] > [data-krdv-overview-block]:focus-within > .krdv-sortable-handle {
  opacity: 1;
}
.krdv-sortable-handle--nav {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0;
  min-height: 28px;
  padding: 0 10px;
  font-size: 0.7rem;
}
.krdv-sortable-handle:active,
.krdv-sortable-handle--nav:active {
  cursor: grabbing;
}
.krdv-visual-guidance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.krdv-pro-profile-hero-logo {
  position: relative;
  overflow: hidden;
}
.krdv-pro-profile-hero-edit {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(13, 27, 61, 0.82);
  color: #ffffff;
  font-size: 0.84rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(13, 27, 61, 0.18);
}
.krdv-service-card-thumb[href],
.krdv-gallery-thumb[href] {
  display: block;
  cursor: zoom-in;
}
.krdv-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100001;
  background: rgba(8, 21, 44, 0.88);
  display: grid;
  place-items: center;
  padding: 24px;
}
body.krdv-lightbox-open {
  overflow: hidden;
}
.krdv-lightbox[hidden] {
  display: none !important;
}
.krdv-lightbox-figure {
  margin: 0;
  width: min(92vw, 1080px);
  max-height: 84vh;
  display: grid;
  place-items: center;
}
.krdv-lightbox-figure img {
  max-width: 100%;
  max-height: 84vh;
  border-radius: 24px;
  box-shadow: 0 28px 52px rgba(0, 0, 0, 0.32);
}
.krdv-lightbox-close,
.krdv-lightbox-nav {
  position: absolute;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}
.krdv-lightbox-close {
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  font-size: 1.8rem;
  line-height: 1;
}
.krdv-lightbox-nav {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  font-size: 2rem;
  line-height: 1;
}
.krdv-lightbox-nav.is-prev {
  left: 18px;
}
.krdv-lightbox-nav.is-next {
  right: 18px;
}
.krdv-settings-card--advanced {
  border-top: 3px solid rgba(13, 27, 61, 0.18);
}
.krdv-inline-check {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  min-height: auto !important;
  padding: 4px 0;
}
.krdv-inline-check input {
  width: auto !important;
  min-height: 0 !important;
  margin: 4px 0 0;
  flex: 0 0 auto;
}
.krdv-inline-check span {
  display: block;
  line-height: 1.55;
}
/* Le fil d'Ariane n'avait ni largeur maximale ni marge intérieure : son
   premier lien commençait au pixel 0, collé au bord de la fenêtre, alors
   que le contenu juste en dessous est centré. On lui donne la même
   gouttière et la même largeur que les pages du plugin, pour que les deux
   partagent enfin le même bord gauche. */
.krdv-breadcrumb {
  margin: 0 0 6px;
  padding-inline: clamp(16px, 4vw, 32px);
}
.krdv-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.krdv-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--krdv-muted);
  font-size: 0.86rem;
  font-weight: 700;
}
.krdv-breadcrumb li:not(:last-child)::after {
  content: "›";
  color: rgba(13, 27, 61, 0.34);
}
.krdv-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
.krdv-breadcrumb span[aria-current="page"] {
  color: var(--krdv-ink);
}
.krdv-pro-nav {
  position: sticky;
  top: 92px;
  z-index: 8;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
}
.krdv-pro-nav a {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 66px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(248, 251, 255, 0.95);
  color: var(--krdv-ink);
  font-size: 0.92rem;
  font-weight: 800;
  padding: 10px 14px;
  border-radius: 20px;
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.krdv-pro-nav a:hover,
.krdv-pro-nav a:focus-visible {
  border-color: rgba(29, 149, 172, 0.3);
  color: var(--krdv-turquoise);
  transform: translateY(-1px);
}
.krdv-pro-nav a small {
  color: var(--krdv-muted);
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
}
.krdv-pro-nav a .krdv-tab-badge {
  transition: background-color 0.18s ease, color 0.18s ease;
}
.krdv-pro-nav a.is-active {
  border-color: rgba(29, 149, 172, 0.18);
  background: linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow: 0 12px 26px rgba(13, 27, 61, 0.06);
}
.krdv-pro-nav a.is-active .krdv-tab-badge {
  background: rgba(255, 110, 74, 0.12);
  color: #ff6e4a;
}
.krdv-pro-nav a.is-active small {
  color: var(--krdv-ink);
}
.krdv-tab-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  width: fit-content;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.12);
  color: var(--krdv-turquoise);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-pro-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto;
  gap: 18px;
  align-items: end;
  padding: 24px 0 8px;
}
.krdv-pro-shell-copy p {
  margin: 0 0 8px;
  color: var(--krdv-turquoise);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-pro-shell-copy h2 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: clamp(1.2rem, 1.65vw, 1.52rem);
  line-height: 1.14;
  max-width: 34ch;
}
.krdv-pro-shell-brandline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.krdv-finance-visual {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}
.krdv-finance-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.krdv-finance-stat-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 168px;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(13, 27, 61, 0.06);
}
.krdv-finance-stat-label {
  color: var(--krdv-muted);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-finance-stat-card strong {
  color: var(--krdv-ink);
  font-size: clamp(1.2rem, 1.5vw, 1.5rem);
  line-height: 1.05;
}
.krdv-finance-stat-card small {
  color: var(--krdv-muted);
  line-height: 1.55;
}
.krdv-finance-stat-meter {
  display: flex;
  align-items: center;
  height: 8px;
  margin-top: auto;
  border-radius: 999px;
  background: rgba(16, 38, 80, 0.08);
  overflow: hidden;
}
.krdv-finance-stat-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1d95ac;
}
.krdv-finance-summary-note {
  padding: 15px 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: rgba(248, 251, 255, 0.88);
}
.krdv-finance-summary-note p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-pro-shell-brand,
.krdv-pro-shell-provider {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.krdv-pro-shell-brand span,
.krdv-pro-shell-provider-name {
  color: var(--krdv-ink);
  font-size: 0.96rem;
  font-weight: 800;
}
.krdv-pro-shell-brand img {
  height: 30px;
  width: auto;
  display: block;
}
.krdv-pro-shell-provider-logo {
  width: 78px;
  height: 78px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  display: grid;
  place-items: center;
  box-shadow: 0 16px 34px rgba(13, 27, 61, 0.12);
}
.krdv-pro-shell-provider-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.krdv-pro-shell-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.krdv-pro-shell-actions .krdv-provider-action.is-primary,
.krdv-pro-shell-actions .krdv-provider-action.is-primary:link,
.krdv-pro-shell-actions .krdv-provider-action.is-primary:visited {
  background: linear-gradient(180deg, #102650, #0b1f46) !important;
  border-color: #102650 !important;
  color: #ffffff !important;
  box-shadow: 0 16px 28px rgba(16, 38, 80, 0.16);
}
.krdv-pro-shell-actions .krdv-provider-action.is-primary:hover,
.krdv-pro-shell-actions .krdv-provider-action.is-primary:focus-visible {
  background: linear-gradient(180deg, #0f234d, #091937) !important;
  border-color: #0f234d !important;
  color: #ffffff !important;
  box-shadow: 0 18px 32px rgba(16, 38, 80, 0.2);
}
.krdv-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 18px;
}
.krdv-dashboard-grid-profile {
  align-items: start;
}
.krdv-pro-profile-hero {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  border-radius: 22px;
}
.krdv-pro-profile-hero-logo {
  width: 112px;
  height: 112px;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f7fbff;
  box-shadow: 0 18px 34px rgba(13, 27, 61, 0.1);
}
.krdv-pro-profile-hero-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.krdv-pro-profile-hero-copy {
  display: grid;
  gap: 10px;
}
.krdv-pro-profile-hero-copy h4 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: clamp(1.4rem, 2vw, 2rem);
  line-height: 1.02;
}
.krdv-pro-profile-hero-copy p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
  max-width: 60ch;
}
.krdv-pro-profile-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-pro-profile-hero-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(13, 27, 61, 0.06);
  color: var(--krdv-ink);
  font-size: 0.8rem;
  font-weight: 800;
}
.krdv-pro-form-window {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(13, 27, 61, 0.05);
}
.krdv-pro-form-window-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}
.krdv-pro-form-window-head p {
  margin: 0 0 6px;
  color: var(--krdv-turquoise);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-pro-form-window-head h4 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: 1.1rem;
  line-height: 1.28;
  max-width: 40ch;
}
.krdv-pro-form-window-body {
  display: grid;
  gap: 16px;
}
.krdv-advanced-toggle {
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 18px 34px rgba(13, 27, 61, 0.05);
  overflow: hidden;
}
.krdv-advanced-toggle summary {
  display: flex;
  align-items: start;
  gap: 16px;
  list-style: none;
  cursor: pointer;
  padding: 18px 20px;
}
.krdv-advanced-toggle summary::-webkit-details-marker {
  display: none;
}
.krdv-advanced-toggle summary::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: auto;
  border-radius: 999px;
  border: 1px solid rgba(13, 27, 61, 0.12);
  background: rgba(255, 255, 255, 0.92);
  color: var(--krdv-navy);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
}
.krdv-advanced-toggle[open] summary::after {
  content: "\2212";
}
.krdv-advanced-toggle-copy {
  display: grid;
  gap: 6px;
  max-width: calc(100% - 52px);
}
.krdv-advanced-toggle-copy strong {
  color: var(--krdv-ink);
  font-size: 1.02rem;
  line-height: 1.3;
}
.krdv-advanced-toggle-copy small {
  color: var(--krdv-muted);
  font-size: 0.92rem;
  line-height: 1.58;
}
.krdv-advanced-toggle-body {
  display: grid;
  gap: 16px;
  padding: 0 20px 20px;
}
.krdv-advanced-toggle--section {
  border-radius: 26px;
}
.krdv-advanced-toggle--section summary {
  padding: 20px 22px;
}
.krdv-advanced-toggle--section .krdv-advanced-toggle-body {
  padding: 0 22px 22px;
}
.krdv-advanced-stack {
  display: grid;
  gap: 16px;
}
.krdv-pro-panel-head {
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
  padding: 18px 20px;
  border: 1px solid rgba(13, 27, 61, 0.07);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 254, 0.94));
  border-radius: 20px;
  box-shadow: 0 16px 34px rgba(13, 27, 61, 0.045);
}
.krdv-pro-panel-head p {
  margin: 0;
  color: rgba(29, 149, 172, 0.92);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.krdv-pro-panel-head h3 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: clamp(1.04rem, 1.55vw, 1.34rem);
  line-height: 1.26;
  max-width: 38ch;
}
.krdv-panel-guidance {
  display: grid;
  gap: 10px;
  margin: -2px 0 16px;
  padding: 15px 17px;
  border: 1px solid rgba(13, 27, 61, 0.07);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(249, 251, 255, 0.93));
  box-shadow: 0 12px 26px rgba(13, 27, 61, 0.035);
}
.krdv-panel-guidance p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.65;
  max-width: 76ch;
}
.krdv-panel-tier {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.krdv-panel-tier--essential {
  border-color: rgba(29, 149, 172, 0.16);
  background: rgba(29, 149, 172, 0.1);
  color: var(--krdv-turquoise);
}
.krdv-panel-tier--growth {
  border-color: rgba(212, 165, 55, 0.16);
  background: rgba(212, 165, 55, 0.12);
  color: #9d7613;
}
.krdv-panel-tier--advanced {
  border-color: rgba(13, 27, 61, 0.09);
  background: rgba(13, 27, 61, 0.06);
  color: rgba(13, 27, 61, 0.78);
}
.krdv-dashboard-grid-bookings {
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
}
.krdv-dashboard-grid-business,
.krdv-dashboard-grid-operations {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.krdv-business-overview-grid,
.krdv-operations-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.krdv-business-overview-grid article,
.krdv-growth-list article,
.krdv-operations-cards article {
  display: grid;
  gap: 6px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(248, 251, 255, 0.9);
  padding: 16px;
  border-radius: 18px;
}
.krdv-pending-card {
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, #fff, #f8fbff);
}
.krdv-pending-card > strong {
  color: var(--krdv-ink);
  font-size: clamp(1.2rem, 2vw, 1.7rem);
}
.krdv-pending-card > p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
  max-width: 70ch;
}
.krdv-pending-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.krdv-pending-summary article,
.krdv-pending-next {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(248, 251, 255, 0.9);
}
.krdv-pending-summary span,
.krdv-pending-next-title {
  margin: 0;
  color: var(--krdv-turquoise);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-pending-summary strong {
  color: var(--krdv-ink);
  font-size: 1rem;
  line-height: 1.4;
}
.krdv-pending-next ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-business-overview-grid span,
.krdv-growth-list strong,
.krdv-operations-cards span {
  color: var(--krdv-muted);
  font-size: 0.86rem;
  font-weight: 800;
}
.krdv-business-overview-grid strong,
.krdv-operations-cards strong {
  color: var(--krdv-ink);
  font-size: 1.4rem;
  line-height: 1;
}
.krdv-inline-pill.is-ready {
  border-color: rgba(58, 170, 116, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 252, 246, 0.98)),
    radial-gradient(circle at top right, rgba(58, 170, 116, 0.12), transparent 40%);
  color: rgba(24, 99, 62, 0.92);
}
.krdv-inline-pill.is-pending {
  border-color: rgba(244, 125, 83, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 243, 0.98)),
    radial-gradient(circle at top right, rgba(244, 125, 83, 0.12), transparent 40%);
  color: rgba(143, 72, 44, 0.94);
}
.krdv-inline-pill.is-warning {
  border-color: rgba(227, 160, 66, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 239, 0.98)),
    radial-gradient(circle at top right, rgba(227, 160, 66, 0.16), transparent 40%);
  color: rgba(123, 79, 17, 0.96);
}
.krdv-launchpad-status-grid article small {
  display: flex;
  margin-top: 6px;
}
.krdv-pending-note {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 252, 255, 0.96));
}
.krdv-pending-note strong {
  color: var(--krdv-ink);
  font-size: 0.92rem;
}
.krdv-pending-note p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-launchpad-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.krdv-launchpad-checklist article {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: rgba(248, 251, 255, 0.92);
}
.krdv-launchpad-checklist strong {
  color: var(--krdv-ink);
  font-size: 1rem;
  line-height: 1.35;
}
.krdv-launchpad-checklist p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-business-overview-grid small,
.krdv-growth-list span {
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-growth-list {
  display: grid;
  gap: 12px;
}
.krdv-operations-cards-finance strong {
  color: var(--krdv-turquoise);
}
.krdv-provider-booking-list {
  display: grid;
  gap: 12px;
}
.krdv-provider-booking-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(248, 251, 255, 0.92);
  padding: 16px;
  border-radius: 18px;
}
.krdv-provider-booking-card.is-empty {
  grid-template-columns: 1fr;
}
.krdv-provider-booking-main {
  display: grid;
  gap: 6px;
}
.krdv-provider-booking-main strong {
  color: var(--krdv-ink);
  font-size: 1.06rem;
}
.krdv-provider-booking-main p,
.krdv-provider-booking-main small {
  margin: 0;
  color: var(--krdv-muted);
}
.krdv-provider-booking-meta {
  display: grid;
  align-content: start;
  justify-items: end;
  gap: 8px;
}
.krdv-provider-booking-meta a {
  color: var(--krdv-turquoise);
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
}
.krdv-provider-booking-card .krdv-booking-thread {
  margin-top: 0;
}
.krdv-provider-booking-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.krdv-provider-booking-card-waitlist.is-status-new {
  border-color: rgba(36, 202, 255, 0.24);
}
.krdv-provider-booking-card-waitlist.is-status-contacted {
  border-color: rgba(24, 158, 103, 0.2);
}
.krdv-provider-booking-card-waitlist.is-status-closed {
  border-color: rgba(13, 27, 61, 0.12);
  opacity: 0.92;
}
.krdv-provider-waitlist-notes {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--krdv-ink);
  line-height: 1.55;
}
.krdv-provider-waitlist-meta,
.krdv-provider-waitlist-actions {
  display: grid;
  gap: 8px;
}
.krdv-provider-waitlist-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.krdv-provider-waitlist-links a {
  color: var(--krdv-turquoise);
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
}
.krdv-provider-waitlist-actions form {
  margin: 0;
}
.krdv-provider-waitlist-actions .krdv-provider-action {
  width: 100%;
  justify-content: center;
}
.krdv-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.krdv-form-grid label,
.krdv-join-form label {
  min-width: 0;
}
.krdv-form-wide {
  grid-column: 1 / -1;
}
.krdv-join-form button,
.krdv-login-shell input[type="submit"] {
  min-height: 48px;
  border: 0;
  border-radius: 14px;
  background: var(--krdv-navy);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  margin-top: 14px;
  padding: 0 18px;
}
.krdv-join-form textarea,
.krdv-admin-grid textarea,
.krdv-join-form select[multiple] {
  width: 100%;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 14px;
  background: #f8fbff;
  color: var(--krdv-ink);
  font: inherit;
  padding: 10px 12px;
}
.krdv-join-form input,
.krdv-join-form select,
.krdv-join-form textarea {
  box-sizing: border-box;
  max-width: 100%;
}
.krdv-join-form small {
  color: var(--krdv-muted);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.krdv-join-form .krdv-siret-helper {
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  border-radius: 14px;
  padding: 14px 16px;
}
.krdv-join-form .krdv-siret-helper p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-input-locked {
  background: linear-gradient(180deg, #eef3f8, #e8eef6) !important;
  color: rgba(15, 26, 51, 0.72) !important;
  border-color: rgba(13, 27, 61, 0.08) !important;
  cursor: not-allowed;
}
.krdv-join-form .krdv-siret-helper[data-state="success"] {
  border-color: rgba(46, 154, 110, 0.34);
  background: rgba(46, 154, 110, 0.08);
}
.krdv-join-form .krdv-siret-helper[data-state="warning"] {
  border-color: rgba(212, 165, 55, 0.42);
  background: rgba(212, 165, 55, 0.1);
}
.krdv-join-form .krdv-siret-helper[data-state="error"] {
  border-color: rgba(255, 110, 74, 0.34);
  background: rgba(255, 110, 74, 0.08);
}
.krdv-join-form .krdv-siret-helper[data-state="loading"] {
  border-color: rgba(29, 149, 172, 0.34);
  background: rgba(29, 149, 172, 0.08);
}
.krdv-auth-panel {
  position: relative;
  overflow: hidden;
}
.krdv-auth-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 251, 255, 0.98)),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(29, 149, 172, 0.08), transparent 30%);
  pointer-events: none;
}
.krdv-auth-panel > * {
  position: relative;
  z-index: 1;
}
.krdv-account-privacy-flags {
  display: grid;
  gap: 10px;
}
.krdv-settings-card > .krdv-panel-tier,
.krdv-account-side-card > .krdv-panel-tier {
  margin-bottom: 10px;
}
.krdv-pro-payments-help {
  gap: 10px;
}
.krdv-pro-payments-help p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-pro-payments-help ul {
  margin: 0;
  padding-left: 18px;
  color: var(--krdv-muted);
  display: grid;
  gap: 6px;
}
.krdv-check-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.krdv-chip-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(29, 149, 172, 0.14);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.08), rgba(255, 110, 74, 0.06));
  color: var(--krdv-ink);
  font-size: 0.9rem;
  font-weight: 700;
  padding: 8px 12px;
}
.krdv-chip-check input {
  margin: 0;
}
.krdv-inline-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.krdv-form-grid > *,
.krdv-dashboard-grid > *,
.krdv-provider-grid > *,
.krdv-searchbar > * {
  min-width: 0;
}
.krdv-dashboard-metrics article,
.krdv-payout-grid article {
  display: grid;
  gap: 8px;
  min-height: 106px;
  align-content: end;
  padding: 16px;
  border-radius: 18px;
}
.krdv-dashboard-grid-payments {
  grid-template-columns: minmax(0, 0.95fr) minmax(340px, 1.05fr);
  align-items: start;
}
.krdv-dashboard-grid-payments .krdv-payment-action-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.krdv-dashboard-grid-payments .krdv-payment-action-form {
  margin: 0;
}
.krdv-dashboard-grid-payments .krdv-payment-action-form .krdv-provider-action {
  width: 100%;
}
.krdv-payment-help {
  margin: 14px 0 0;
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-pro-list p {
  margin: 0 0 10px;
  color: var(--krdv-muted);
}
.krdv-pro-list ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.krdv-pro-list li {
  border-top: 1px solid var(--krdv-line);
  padding-top: 8px;
}
.krdv-login-shell {
  display: grid;
  gap: 10px;
}
.page-slug-connexion .krdv-pro-panel.krdv-auth-panel,
.page-slug-connexion .krdv-account-layout-auth .krdv-auth-panel {
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 18px 42px rgba(13, 27, 61, 0.08);
}
.page-slug-connexion .krdv-pro-panel-head p {
  display: none;
}
.page-slug-connexion .krdv-pro-panel-head h3 {
  font-size: clamp(1.65rem, 2.8vw, 2.3rem);
  line-height: 1.08;
}
.krdv-login-shell label {
  display: grid;
  gap: 6px;
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-inline-link {
  color: var(--krdv-lagoon);
  font-weight: 900;
  text-decoration: none;
}
.krdv-auth-remember {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  grid-column: 1 / -1;
  color: var(--krdv-ink) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.krdv-auth-remember input {
  margin: 0;
  width: 18px;
  height: 18px;
  min-height: 18px;
  flex: 0 0 18px;
  accent-color: var(--krdv-turquoise);
  border-radius: 4px;
  cursor: pointer;
}
.krdv-auth-remember span {
  display: inline-flex;
  align-items: center;
  line-height: 1.45;
}
.krdv-forgot-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: var(--krdv-turquoise);
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
}
.krdv-forgot-link:hover,
.krdv-forgot-link:focus-visible {
  color: var(--krdv-navy);
}
.krdv-auth-form .krdv-form-grid input,
.krdv-auth-form .krdv-form-grid textarea,
.krdv-auth-form .krdv-form-grid select {
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(13, 27, 61, 0.1);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  padding: 12px 14px;
}
.krdv-auth-form .krdv-form-grid textarea {
  min-height: 110px;
}
.krdv-auth-form .krdv-form-grid input:focus,
.krdv-auth-form .krdv-form-grid textarea:focus,
.krdv-auth-form .krdv-form-grid select:focus {
  outline: none;
  border-color: rgba(29, 149, 172, 0.38);
  box-shadow: 0 0 0 4px rgba(29, 149, 172, 0.12);
}
.krdv-notices {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}
.krdv-notice {
  border-radius: 8px;
  font-weight: 800;
  padding: 12px 14px;
}
.krdv-notice-success {
  background: rgba(46, 154, 110, 0.12);
  color: #2e6f48;
}
.krdv-notice-error {
  background: rgba(255, 110, 74, 0.12);
  color: #a33a2f;
}
.krdv-notice-info {
  background: rgba(29, 149, 172, 0.1);
  color: #00616b;
}
.krdv-account-inline-form {
  margin-top: 8px;
}
.krdv-account-inline-form label {
  display: grid;
  gap: 4px;
}
.krdv-account-inline-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(13, 27, 61, 0.12);
  border-radius: 12px;
  background: #fff;
  color: var(--krdv-ink);
  padding: 10px 12px;
  resize: vertical;
}
.krdv-account-inline-form--reschedule {
  display: grid;
  gap: 8px;
  width: 100%;
}
.krdv-account-inline-form--reschedule label {
  display: grid;
  gap: 4px;
  width: 100%;
}
.krdv-account-inline-form--reschedule label span {
  margin: 0;
  color: var(--krdv-muted);
  font-size: 0.82rem;
  font-weight: 700;
}
.krdv-account-inline-form--reschedule input {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(13, 27, 61, 0.12);
  border-radius: 12px;
  background: #fff;
  color: var(--krdv-ink);
  padding: 10px 12px;
}
.krdv-account-inline-form--reschedule select,
.krdv-account-inline-form select {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(13, 27, 61, 0.12);
  border-radius: 12px;
  background: #fff;
  color: var(--krdv-ink);
  padding: 10px 12px;
}
.krdv-booking-cutoff-note {
  display: block;
  margin-top: 8px;
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.krdv-admin-grid label {
  display: grid;
  gap: 6px;
}
.krdv-admin-grid textarea {
  min-height: 110px;
}
.krdv-admin-wide {
  grid-column: 1 / -1;
}
.krdv-admin-check {
  align-items: center;
  display: flex !important;
  flex-direction: row;
  gap: 8px;
}
@media (max-width: 900px) {
.krdv-signup-choice-grid,
  .krdv-signup-benefit-grid,
  .krdv-signup-steps,
  .krdv-plan-choice-layout,
  .krdv-pricing-grid--plans,
  .krdv-pending-summary,
  .krdv-searchbar,
  .krdv-provider-grid,
  .krdv-categories,
  .krdv-service-catalog,
  .krdv-dashboard-services,
  .krdv-dashboard-metrics,
  .krdv-payout-grid,
  .krdv-locations,
  .krdv-dashboard-grid {
    grid-template-columns: 1fr;
  }
.krdv-business-overview-grid,
  .krdv-operations-cards {
    grid-template-columns: 1fr;
  }
.krdv-pro-shell {
    grid-template-columns: 1fr;
    align-items: start;
  }
.krdv-pro-profile-hero,
  .krdv-collaborator-day-grid {
    grid-template-columns: 1fr;
  }
.krdv-pro-shell-actions,
  .krdv-provider-booking-meta {
    justify-content: flex-start;
    justify-items: start;
  }
.krdv-signup-hub-hero h2,
  .krdv-signup-form-copy h2 {
    max-width: none;
  }
}
@media (max-width: 760px) {
.page-slug-connexion .content-page {
    padding-inline: 16px;
  }
.page-slug-connexion .section-head {
    margin-bottom: 18px;
  }
.page-slug-connexion .section-head h1 {
    font-size: clamp(2rem, 8vw, 2.6rem);
    line-height: 1.02;
  }
.krdv-account-layout-auth {
    grid-template-columns: 1fr;
    gap: 16px;
  }
.krdv-auth-form .krdv-form-grid {
    grid-template-columns: 1fr;
  }
.krdv-auth-form .krdv-account-actions {
    grid-template-columns: 1fr;
  }
.krdv-auth-form .krdv-account-actions .krdv-provider-action,
  .krdv-auth-form .krdv-account-actions button,
  .krdv-auth-form button {
    width: 100%;
  }
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action.is-primary,
  .krdv-booking-auth-gate .krdv-account-actions button {
    background: #102650;
    color: #fff;
    border-color: #102650;
    box-shadow: 0 16px 36px rgba(13, 27, 61, 0.16);
  }
}
@media (max-width: 640px) {
.krdv-booking-form,
  .krdv-form-grid,
  .krdv-booking-transport-grid,
  .krdv-inline-fields,
  .krdv-admin-grid,
  .krdv-transport-rules-head,
  .krdv-transport-rules-row,
  .krdv-transport-zones-head,
  .krdv-transport-zones-row {
    grid-template-columns: 1fr;
  }
.krdv-account-details-form,
  .krdv-relative-grid,
  .krdv-finance-summary-grid {
    grid-template-columns: 1fr;
  }
.krdv-pro-nav {
    position: static;
    top: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 2px 0 4px;
    border: 0;
    background: transparent;
    backdrop-filter: none;
    overflow: visible;
    scroll-snap-type: none;
  }
.krdv-pro-nav a {
    min-height: 0;
    padding: 10px 12px;
    border-radius: 16px;
    box-shadow: 0 10px 22px rgba(13, 27, 61, 0.06);
  }
.krdv-pro-nav a small {
    font-size: 0.72rem;
    line-height: 1.3;
  }
.krdv-pro-space,
  .krdv-tab-panel,
  .krdv-dashboard-grid,
  .krdv-dashboard-grid-business,
  .krdv-dashboard-grid-operations,
  .krdv-dashboard-grid-bookings,
  .krdv-dashboard-grid-profile {
    min-width: 0;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
.krdv-tab-panel[hidden] {
    display: none !important;
  }
.krdv-pro-panel,
  .krdv-pro-form-window,
  .krdv-settings-card,
  .krdv-pending-card,
  .krdv-pro-profile-hero {
    padding: 14px;
    border-radius: 18px;
    overflow: visible;
    box-shadow: 0 12px 28px rgba(13, 27, 61, 0.07);
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
.krdv-pro-panel-head {
    padding: 14px;
    border-radius: 18px;
    box-shadow: 0 10px 22px rgba(13, 27, 61, 0.05);
  }
.krdv-pro-shell {
    padding: 6px 0 0;
    gap: 14px;
    width: 100%;
    max-width: 100%;
  }
.krdv-pro-shell-brandline {
    gap: 12px;
    margin-bottom: 12px;
    align-items: center;
  }
.krdv-pro-shell-brand,
  .krdv-pro-shell-provider {
    gap: 12px;
  }
.krdv-pro-shell-brand img {
    height: 24px;
  }
.krdv-pro-shell-provider-logo {
    width: 54px;
    height: 54px;
    border-radius: 16px;
  }
.krdv-pro-shell-provider-name {
    font-size: 0.9rem;
  }
.krdv-pro-shell-copy p {
    font-size: 0.74rem;
    letter-spacing: 0.06em;
  }
.krdv-pro-shell-copy h2 {
    font-size: 1.02rem;
    line-height: 1.22;
    max-width: none;
  }
.krdv-dashboard-metrics,
  .krdv-business-overview-grid,
  .krdv-operations-cards,
  .krdv-payout-grid,
  .krdv-dashboard-grid-payments,
  .krdv-locations,
  .krdv-collaborator-rows,
  .krdv-finance-summary-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
.krdv-dashboard-metrics article,
  .krdv-business-overview-grid article,
  .krdv-operations-cards article,
  .krdv-payout-grid article,
  .krdv-finance-stat-card {
    min-width: 0;
  }
.krdv-provider-booking-card {
    grid-template-columns: 1fr;
  }
.krdv-pro-space[data-krdv-tabs],
  .krdv-account-shell[data-krdv-tabs],
  .krdv-dashboard-grid-bookings,
  .krdv-dashboard-grid-business,
  .krdv-dashboard-grid-operations,
  .krdv-account-overview-grid,
  .krdv-account-settings-grid,
  .krdv-account-details-form {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
}
.krdv-directory {
  display: grid;
  gap: 24px;
}
.krdv-directory-hero {
  display: grid;
  gap: 12px;
  padding: 18px 0 8px;
  position: relative;
}
.krdv-directory-hero::before {
  position: absolute;
  inset: 0 auto auto 0;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(29, 149, 172, 0.12), transparent 68%);
  content: "";
  pointer-events: none;
}
.krdv-directory-hero h1 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: clamp(1.72rem, 3vw, 2.85rem);
  line-height: 1.02;
}
.krdv-directory-hero p:last-child {
  max-width: 62ch;
  margin: 0;
  color: var(--krdv-muted);
  font-size: 1rem;
  line-height: 1.75;
}
.krdv-directory-search {
  display: grid;
  grid-template-columns: 0.88fr 1.08fr 0.88fr 0.72fr 0.84fr 1.02fr 1.06fr 176px;
  gap: 0;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(29, 149, 172, 0.07), transparent 20%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98));
  box-shadow: 0 22px 56px rgba(13, 27, 61, 0.08);
  overflow: hidden;
}
.krdv-directory-search label {
  display: grid;
  gap: 8px;
  align-content: center;
  min-height: 96px;
  min-width: 0;
  padding: 20px 22px;
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-directory-city-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
}
.krdv-directory-search label + label {
  border-left: 1px solid rgba(13, 27, 61, 0.08);
}
.krdv-directory-search input,
.krdv-directory-search select {
  min-height: 0;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--krdv-ink);
  font-size: 1rem;
  font-weight: 600;
}
.krdv-directory-search-submit {
  min-height: 96px;
  width: 100%;
  border: 0;
  background: linear-gradient(135deg, var(--krdv-coral-brand), #ff8a61);
  color: #fff;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}
.krdv-directory-locate {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid rgba(13, 27, 61, 0.1);
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff, #f5f9fd);
  color: var(--krdv-ink);
  font-size: 0.84rem;
  font-weight: 800;
  white-space: nowrap;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    background-color 180ms ease;
}
.krdv-directory-locate-icon {
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  color: var(--krdv-turquoise);
  font-size: 1rem;
}
.krdv-directory-locate.is-active {
  border-color: rgba(29, 149, 172, 0.26);
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.12), rgba(29, 149, 172, 0.22));
  color: var(--krdv-turquoise);
  box-shadow: 0 10px 22px rgba(29, 149, 172, 0.12);
}
.krdv-directory-locate:hover,
.krdv-directory-locate:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(29, 149, 172, 0.2);
  box-shadow: 0 10px 18px rgba(13, 27, 61, 0.08);
}
.krdv-directory-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}
.krdv-directory-head strong {
  display: block;
  color: var(--krdv-ink);
  font-size: 1.16rem;
  font-weight: 900;
}
.krdv-directory-head p {
  margin: 7px 0 0;
  color: var(--krdv-muted);
}
.krdv-directory-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: -6px;
}
.krdv-directory-quick-filter {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 999px;
  background: #fff;
  color: var(--krdv-ink);
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}
.krdv-directory-quick-filter:hover,
.krdv-directory-quick-filter:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(29, 149, 172, 0.2);
  box-shadow: 0 10px 18px rgba(13, 27, 61, 0.08);
}
.krdv-directory-quick-filter.is-active {
  border-color: rgba(29, 149, 172, 0.22);
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.12), rgba(29, 149, 172, 0.18));
  color: var(--krdv-teal);
}
.krdv-directory-switch {
  display: inline-flex;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(255, 255, 255, 0.9);
  padding: 4px;
}
.krdv-directory-head-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.krdv-directory-plan-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 20px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--krdv-ink);
  font: inherit;
  font-size: 0.95rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 16px 36px rgba(13, 27, 61, 0.08);
}
.krdv-directory-plan-trigger svg {
  width: 20px;
  height: 20px;
  color: #b3b9c8;
}
.krdv-directory-switch button {
  border: 0;
  background: transparent;
  color: #61708a;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 800;
  padding: 10px 18px;
}
.krdv-directory-switch .is-active {
  background: var(--krdv-navy);
  color: #fff;
}
.krdv-directory-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(360px, 0.82fr);
  gap: 24px;
  align-items: start;
}
.krdv-directory-grid.is-map-view {
  grid-template-columns: 1fr;
}
.krdv-directory-grid.is-grid-view {
  grid-template-columns: 1fr;
}
.krdv-directory-grid.is-map-view .krdv-directory-list {
  display: none;
}
.krdv-directory-grid.is-grid-view .krdv-directory-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.krdv-directory-grid.is-grid-view .krdv-directory-map-panel {
  display: none;
}
.krdv-directory-grid.is-map-view .krdv-directory-map-panel {
  position: static;
}
.krdv-directory-grid.is-map-view .krdv-directory-map {
  min-height: 760px;
}
.krdv-directory-list {
  display: grid;
  gap: 18px;
}
.krdv-provider-row {
  display: grid;
  grid-template-columns: minmax(248px, 300px) minmax(0, 1fr);
  gap: 0;
  padding: 0;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.06), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 255, 0.98));
  box-shadow: 0 18px 44px rgba(13, 27, 61, 0.08);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.krdv-directory-grid.is-grid-view .krdv-provider-row {
  grid-template-columns: 1fr;
  height: 100%;
}
.krdv-directory-grid.is-grid-view .krdv-provider-row-top h3 {
  font-size: 1.45rem;
}
.krdv-directory-grid.is-grid-view .krdv-provider-row-meta {
  gap: 8px;
}
.krdv-directory-grid.is-grid-view .krdv-provider-row-highlight {
  padding: 16px;
}
.krdv-directory-grid.is-grid-view .krdv-provider-actions {
  margin-top: auto;
}
.krdv-directory-grid.is-grid-view .krdv-provider-row-media {
  aspect-ratio: 4 / 3;
  height: auto;
}
.krdv-provider-row:hover,
.krdv-provider-row.is-selected {
  border-color: rgba(29, 149, 172, 0.28);
  box-shadow: 0 24px 52px rgba(13, 27, 61, 0.12);
  transform: translateY(-2px);
}
.krdv-provider-row-media {
  display: block;
  aspect-ratio: auto;
  height: 100%;
  min-height: 0;
  background: #ffffff;
  overflow: hidden;
}
.krdv-provider-row-media img,
.krdv-provider-row-media span {
  width: 100%;
  height: 100%;
}
.krdv-provider-row-media img {
  object-fit: contain;
  object-position: center;
  padding: 12px;
}
/* Image par défaut Karibook : affichée en cover car c'est une image de fond */
.krdv-provider-row-media img.krdv-provider-media-default {
  object-fit: cover;
  padding: 0;
}
.krdv-provider-row-media span {
  display: grid;
  place-items: center;
  color: var(--krdv-turquoise);
  font-size: 4rem;
  font-weight: 900;
}
.krdv-provider-row-body {
  display: grid;
  gap: 16px;
  align-content: start;
  padding: 22px;
}
.krdv-provider-row-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.krdv-provider-row-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.krdv-provider-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.1);
  color: var(--krdv-turquoise);
  font-size: 0.74rem;
  font-weight: 900;
}
.krdv-provider-badge-category {
  background: rgba(29, 149, 172, 0.1);
  color: var(--krdv-turquoise);
}
.krdv-provider-badge-verified {
  width: 28px;
  min-width: 28px;
  justify-content: center;
  padding: 0;
  border-radius: 999px;
  background: #1d9bf0;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(29, 155, 240, 0.28);
}
.krdv-provider-badge-verified svg {
  width: 15px;
  height: 15px;
}
.krdv-provider-badge-gold {
  background: rgba(212, 165, 55, 0.14);
  color: #9a7223;
}
.krdv-provider-badge-city {
  background: rgba(13, 27, 61, 0.06);
  color: #5f7088;
}
.krdv-provider-badge-region {
  background: rgba(212, 165, 55, 0.14);
  color: #8d671c;
}
.krdv-provider-badge-delivery {
  background: rgba(255, 110, 74, 0.14);
  color: #d95f34;
}
.krdv-provider-row-top h3 {
  margin: 0;
  font-size: 1.52rem;
  line-height: 1.08;
}
.krdv-provider-row-top h3 a {
  color: inherit;
  text-decoration: none;
}
.krdv-provider-row-summary {
  margin: 10px 0 0;
  color: #5f7088;
  font-size: 0.94rem;
  line-height: 1.68;
}
.krdv-provider-row-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-provider-row-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  background: #f4f8fc;
  color: #60708a;
  font-size: 0.84rem;
  font-weight: 800;
}
.krdv-provider-row-address {
  margin: -4px 0 0;
  color: #697894;
  font-size: 0.92rem;
  line-height: 1.58;
}
.krdv-provider-service-preview {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 254, 0.98));
}
.krdv-provider-service-preview strong {
  color: var(--krdv-ink);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-provider-service-preview-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-provider-service-preview-list span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(13, 27, 61, 0.08);
  color: #4f5e79;
  font-size: 0.83rem;
  font-weight: 800;
}
.krdv-provider-service-preview-list .is-more {
  background: rgba(29, 149, 172, 0.1);
  border-color: rgba(29, 149, 172, 0.14);
  color: var(--krdv-teal);
}
.krdv-provider-row-highlight {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.1), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(29, 149, 172, 0.14);
}
.krdv-provider-row-highlight.is-muted {
  background: linear-gradient(135deg, rgba(212, 165, 55, 0.1), rgba(255, 255, 255, 0.98));
  border-color: rgba(212, 165, 55, 0.18);
}
.krdv-provider-row-highlight small {
  display: block;
  margin-bottom: 6px;
  color: var(--krdv-muted);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-provider-row-highlight strong {
  color: var(--krdv-ink);
  font-size: 1rem;
}
.krdv-provider-book {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  background: var(--krdv-navy);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 900;
  text-decoration: none;
}
.krdv-provider-cta-group {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-provider-book.is-gift,
.krdv-provider-action.is-gift,
.krdv-provider-book.is-gift:link,
.krdv-provider-book.is-gift:visited,
.krdv-provider-action.is-gift:link,
.krdv-provider-action.is-gift:visited {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
}
.krdv-provider-book.is-gift .krdv-provider-action-icon,
.krdv-provider-book.is-gift .krdv-provider-action-text,
.krdv-provider-action.is-gift .krdv-provider-action-icon,
.krdv-provider-action.is-gift .krdv-provider-action-text,
.krdv-provider-book.is-gift *,
.krdv-provider-action.is-gift * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-book.is-gift .krdv-provider-action-icon {
  width: 18px;
  height: 18px;
}
.krdv-provider-book.is-gift .krdv-provider-action-icon svg {
  width: 18px;
  height: 18px;
}
.krdv-provider-book.is-gift:hover,
.krdv-provider-book.is-gift:focus-visible,
.krdv-provider-action.is-gift:hover,
.krdv-provider-action.is-gift:focus-visible {
  background: #1b3b73 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #1d4c90 !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-provider-slots {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-provider-slots button {
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #fff;
  color: var(--krdv-ink);
  min-height: 42px;
  padding: 0 16px;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 800;
}
.krdv-provider-services-mini .krdv-service-list a,
.krdv-provider-services-mini a {
  border-top: 1px solid var(--krdv-line);
  padding-top: 8px;
}
.krdv-provider-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary,
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary:link,
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary:visited {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
}
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary *,
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary .krdv-provider-action-icon,
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary .krdv-provider-action-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary:hover,
.krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary:focus-visible {
  background: #1b3b73 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #1d4c90 !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-directory .krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary,
.krdv-directory .krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary:link,
.krdv-directory .krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #102650 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #102650 !important;
}
.krdv-directory .krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary *,
.krdv-directory .krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary .krdv-provider-action-icon,
.krdv-directory .krdv-provider-row .krdv-provider-actions > .krdv-provider-action.is-primary .krdv-provider-action-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-account-side-card--notifications .krdv-account-actions .krdv-provider-action.is-primary,
.krdv-account-side-card--notifications .krdv-account-actions .krdv-provider-action.is-primary:link,
.krdv-account-side-card--notifications .krdv-account-actions .krdv-provider-action.is-primary:visited,
.krdv-account-side-card--notifications .krdv-account-actions button[data-krdv-notification-trigger] {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
}
.krdv-account-side-card--notifications .krdv-account-actions .krdv-provider-action.is-primary *,
.krdv-account-side-card--notifications .krdv-account-actions button[data-krdv-notification-trigger] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-account-side-card--notifications .krdv-account-actions .krdv-provider-action.is-primary:hover,
.krdv-account-side-card--notifications .krdv-account-actions .krdv-provider-action.is-primary:focus-visible,
.krdv-account-side-card--notifications .krdv-account-actions button[data-krdv-notification-trigger]:hover,
.krdv-account-side-card--notifications .krdv-account-actions button[data-krdv-notification-trigger]:focus-visible {
  background: #1b3b73 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #1d4c90 !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-notification-feedback {
  margin: 12px 0 0;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(224, 247, 250, 0.6);
  color: #405072;
  font-size: 0.96rem;
  line-height: 1.55;
}
.krdv-notification-feedback[data-state="success"] {
  background: rgba(213, 244, 222, 0.72);
  color: #1f5c3a;
}
.krdv-notification-feedback[data-state="warning"] {
  background: rgba(255, 245, 214, 0.9);
  color: #7a5413;
}
.krdv-notification-feedback[data-state="error"] {
  background: rgba(255, 231, 231, 0.9);
  color: #8a2d2d;
}
.krdv-directory-map-panel {
  position: sticky;
  top: 104px;
}
.krdv-directory-map-card {
  overflow: hidden;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 48px rgba(13, 27, 61, 0.08);
}
.krdv-directory-map-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(13, 27, 61, 0.08);
}
.krdv-directory-map-toolbar strong {
  font-size: 1.05rem;
}
.krdv-directory-map-toolbar span {
  color: var(--krdv-muted);
  font-size: 0.82rem;
}
.krdv-directory-map {
  position: relative;
  min-height: 620px;
  background: #edf3f8;
}
.krdv-directory-map .leaflet-control-zoom a {
  color: var(--krdv-navy);
}
.krdv-real-map-pin {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
}
.krdv-real-map-pin span {
  display: block;
  width: 20px;
  height: 20px;
  border: 3px solid #fff;
  background: var(--krdv-turquoise);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(13, 27, 61, 0.18);
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
.krdv-real-map-pin.is-active span {
  background: var(--krdv-coral-brand);
  transform: scale(1.18);
  box-shadow: 0 14px 28px rgba(255, 110, 74, 0.24);
}
.krdv-directory-map-focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-top: 1px solid rgba(13, 27, 61, 0.08);
}
.krdv-directory-map-focus small {
  display: block;
  color: var(--krdv-muted);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-directory-map-focus strong {
  display: block;
  margin-top: 6px;
  color: var(--krdv-ink);
  font-size: 1rem;
}
.krdv-directory-map-focus span {
  display: block;
  margin-top: 4px;
  color: #5f7088;
  font-size: 0.88rem;
}
.krdv-directory-map-focus a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  background: var(--krdv-navy);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  text-decoration: none;
}
.krdv-directory-plan-shell {
  position: fixed;
  inset: 0;
  z-index: 9999;
}
body.krdv-plan-open {
  overflow: hidden;
}
.krdv-directory-plan-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 21, 45, 0.42);
  backdrop-filter: blur(8px);
}
.krdv-directory-plan-window {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.8fr);
  width: calc(100vw - 24px);
  max-width: 1440px;
  height: calc(100vh - 24px);
  margin: 12px auto;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(13, 27, 61, 0.22);
}
.krdv-directory-plan-map-panel {
  position: relative;
  min-width: 0;
  background: #e9f1f7;
}
.krdv-directory-plan-back {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 5;
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--krdv-navy);
  box-shadow: 0 18px 40px rgba(13, 27, 61, 0.18);
  cursor: pointer;
}
.krdv-directory-plan-close {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 5;
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--krdv-navy);
  box-shadow: 0 18px 40px rgba(13, 27, 61, 0.18);
  cursor: pointer;
}
.krdv-directory-plan-back svg {
  width: 24px;
  height: 24px;
}
.krdv-directory-plan-close svg {
  width: 22px;
  height: 22px;
}
.krdv-directory-plan-map {
  width: 100%;
  height: 100%;
  min-height: 640px;
}
.krdv-directory-plan-sidebar {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
  min-height: 0;
  padding: 26px;
  overflow: auto;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(245, 249, 253, 0.98));
}
.krdv-directory-plan-sidebar-head,
.krdv-directory-plan-results-head {
  display: grid;
  gap: 6px;
}
.krdv-directory-plan-sidebar-head small {
  color: var(--krdv-turquoise);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-directory-plan-sidebar-head h2,
.krdv-directory-plan-sidebar-head p,
.krdv-directory-plan-results-head strong,
.krdv-directory-plan-results-head span {
  margin: 0;
}
.krdv-directory-plan-sidebar-head h2 {
  font-size: 1.7rem;
  line-height: 1.04;
}
.krdv-directory-plan-sidebar-head p,
.krdv-directory-plan-results-head span {
  color: #60708a;
  line-height: 1.55;
}
.krdv-directory-plan-territories {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-directory-plan-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #4a5a74;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 800;
  cursor: pointer;
}
.krdv-directory-plan-chip strong {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(13, 27, 61, 0.08);
  color: var(--krdv-navy);
  font-size: 0.78rem;
}
.krdv-directory-plan-chip.is-active {
  border-color: rgba(19, 161, 182, 0.2);
  background: rgba(224, 247, 250, 0.7);
  color: var(--krdv-navy);
}
.krdv-directory-plan-chip.is-active strong {
  background: var(--krdv-navy);
  color: #ffffff;
}
.krdv-directory-plan-results {
  display: grid;
  gap: 16px;
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
  overscroll-behavior: contain;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card {
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(13, 27, 61, 0.06);
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card.is-selected {
  border-color: rgba(29, 149, 172, 0.32);
  box-shadow: 0 18px 36px rgba(13, 27, 61, 0.1);
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-media {
  aspect-ratio: 16 / 9;
  min-height: 220px;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-body {
  display: grid;
  gap: 14px;
  padding: 18px 18px 20px;
  background: #ffffff;
  border-top: 1px solid rgba(13, 27, 61, 0.06);
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-top {
  align-items: flex-start;
  gap: 14px;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-badges {
  gap: 8px;
  margin-bottom: 10px;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-badges > :nth-child(n + 5) {
  display: none;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-badge {
  min-height: 30px;
  padding: 0 12px;
  font-size: 0.76rem;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-badge-verified {
  width: 30px;
  min-width: 30px;
  padding: 0;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-top h3 {
  font-size: 1.24rem;
  line-height: 1.14;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-summary {
  margin-top: 8px;
  font-size: 0.92rem;
  line-height: 1.45;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-rating-wrap {
  min-width: 58px;
  align-items: flex-end;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-meta {
  display: grid;
  gap: 6px;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-meta span {
  min-height: 0;
  padding: 0;
  background: transparent;
  color: #60708a;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-meta span:first-child,
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-meta span:last-child {
  display: none;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-highlight {
  padding: 0;
  border: 0;
  background: transparent;
  gap: 12px;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-highlight strong {
  font-size: 0.98rem;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-book {
  min-height: 44px;
  padding: 0 16px;
  font-size: 0.82rem;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-highlight small {
  margin-bottom: 4px;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-cta-group {
  width: 100%;
  justify-content: flex-start;
}
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-slots,
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-actions {
  display: none;
}
@media (max-width: 640px) {
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-media {
    min-height: 180px;
  }
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-body {
    padding: 16px 16px 18px;
  }
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-top h3 {
    font-size: 1.1rem;
  }
.krdv-directory-plan-results .krdv-provider-row.is-plan-card .krdv-provider-row-highlight {
    align-items: flex-start;
  }
}
.krdv-directory-plan-marker {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
}
.krdv-directory-plan-marker span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 3px solid #ffffff;
  background: rgba(49, 52, 58, 0.82);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(13, 27, 61, 0.22);
}
.krdv-directory-plan-marker.is-active span {
  background: var(--krdv-coral-brand);
}
.krdv-directory-plan-marker--city span {
  background: rgba(19, 161, 182, 0.9);
}
@media (max-width: 1200px) {
.krdv-directory-search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.krdv-directory-search button {
    min-height: 76px;
    grid-column: 1 / -1;
  }
.krdv-directory-grid {
    grid-template-columns: 1fr;
  }
.krdv-directory-grid.is-grid-view .krdv-directory-list {
    grid-template-columns: 1fr;
  }
.krdv-directory-map-panel {
    position: static;
  }
.krdv-directory-map {
    min-height: 420px;
  }
.krdv-directory-plan-window {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(360px, 46vh) minmax(0, 1fr);
    width: calc(100vw - 18px);
    height: calc(100dvh - 18px);
  }
.krdv-directory-plan-map {
    min-height: 420px;
  }
}
@media (max-width: 900px) {
.krdv-account-layout {
    grid-template-columns: 1fr;
  }
.krdv-signup-choice-grid {
    grid-template-columns: 1fr;
  }
.krdv-account-hero,
  .krdv-account-overview-grid,
  .krdv-account-settings-grid {
    grid-template-columns: 1fr;
  }
.krdv-account-hero-links {
    grid-template-columns: 1fr;
  }
.krdv-pro-shell,
  .krdv-dashboard-grid,
  .krdv-dashboard-grid-business,
  .krdv-dashboard-grid-operations,
  .krdv-dashboard-grid-bookings {
    grid-template-columns: 1fr;
  }
.krdv-pro-shell-brandline {
    align-items: flex-start;
  }
.krdv-relative-grid {
    grid-template-columns: 1fr;
  }
.krdv-directory-head {
    flex-direction: column;
    align-items: stretch;
  }
.krdv-directory-head-actions {
    justify-content: space-between;
  }
.krdv-provider-row {
    grid-template-columns: 1fr;
  }
.krdv-provider-row-media {
    aspect-ratio: 16 / 10;
    height: auto;
    min-height: 220px;
  }
}
@media (min-width: 768px) and (max-width: 1180px) {
.krdv-signup-choice-grid,
  .krdv-signup-benefit-grid,
  .krdv-signup-steps,
  .krdv-plan-choice-layout,
  .krdv-pricing-grid--plans,
  .krdv-pending-summary,
  .krdv-dashboard-grid,
  .krdv-dashboard-grid-business,
  .krdv-dashboard-grid-operations,
  .krdv-dashboard-grid-bookings,
  .krdv-dashboard-services,
  .krdv-dashboard-metrics,
  .krdv-payout-grid,
  .krdv-relative-grid,
  .krdv-locations,
  .krdv-provider-grid,
  .krdv-service-catalog,
  .krdv-categories {
    grid-template-columns: 1fr !important;
  }
.krdv-signup-form-shell,
  .krdv-signup-choice-card,
  .krdv-signup-hub-hero,
  .krdv-signup-form-intro--pro,
  .krdv-pro-shell,
  .krdv-account-layout,
  .krdv-account-hero,
  .krdv-account-overview-grid,
  .krdv-account-settings-grid,
  .krdv-pro-profile-hero,
  .krdv-collaborator-day-grid,
  .krdv-provider-row,
  .krdv-business-overview-grid,
  .krdv-operations-cards {
    grid-template-columns: 1fr !important;
    min-width: 0;
  }
.krdv-signup-choice-card,
  .krdv-signup-benefit-grid article,
  .krdv-signup-steps article,
  .krdv-account-booking,
  .krdv-account-side-card,
  .krdv-provider-row,
  .krdv-service-card--dashboard {
    min-width: 0;
    width: 100%;
  }
.krdv-signup-hub-hero h2,
  .krdv-signup-form-copy h2,
  .krdv-signup-section-head h3,
  .krdv-pro-shell h2,
  .krdv-account-identity-copy h2 {
    max-width: none;
    white-space: normal;
    text-wrap: balance;
  }
.krdv-account-hero-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.krdv-provider-row-media {
    min-height: 260px;
  }
}
@media (max-width: 640px) {
.krdv-pro-space,
  .krdv-account-shell,
  .krdv-tab-panel,
  .krdv-dashboard-grid,
  .krdv-dashboard-grid-bookings,
  .krdv-dashboard-grid-business,
  .krdv-dashboard-grid-operations,
  .krdv-dashboard-grid-profile,
  .krdv-account-overview-grid,
  .krdv-account-settings-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }
.krdv-pro-space > *,
  .krdv-account-shell > *,
  .krdv-tab-panel > *,
  .krdv-dashboard-grid > *,
  .krdv-dashboard-grid-bookings > *,
  .krdv-dashboard-grid-business > *,
  .krdv-dashboard-grid-operations > *,
  .krdv-dashboard-grid-profile > * {
    min-width: 0;
    max-width: 100%;
  }
.krdv-pro-nav {
    grid-auto-columns: minmax(150px, 78vw);
    padding-inline: 8px;
    margin-inline: -2px;
  }
.krdv-pro-nav a {
    padding: 10px 12px;
  }
.krdv-pro-panel,
  .krdv-pro-form-window,
  .krdv-settings-card,
  .krdv-pending-card,
  .krdv-brand-kit-panel,
  .krdv-account-side-card,
  .krdv-account-booking,
  .krdv-invoice-card,
  .krdv-loyalty-card,
  .krdv-loyalty-offer-card {
    width: 100%;
    max-width: 100%;
    margin: 0;
    transform: none;
  }
.krdv-pro-panel-head,
  .krdv-pending-card > strong,
  .krdv-account-hero {
    max-width: 100%;
  }
.krdv-pro-shell-actions {
    width: 100%;
    justify-content: stretch;
  }
.krdv-pro-shell-actions > * {
    flex: 1 1 100%;
  }
.krdv-account-booking {
    grid-template-columns: 1fr;
  }
.krdv-account-booking-date {
    border-left: 0;
    border-top: 1px solid rgba(13, 27, 61, 0.08);
    padding: 14px 0 0;
    justify-items: start;
  }
.krdv-account-hero {
    padding: 22px;
  }
.krdv-account-brandmark img {
    width: min(148px, 42vw);
    height: auto;
  }
.krdv-account-identity {
    align-items: flex-start;
    flex-direction: column;
  }
.krdv-account-avatar {
    width: 70px;
    height: 70px;
    font-size: 1.2rem;
  }
.krdv-business-overview-grid,
  .krdv-operations-cards {
    grid-template-columns: 1fr;
  }
.krdv-directory-search {
    grid-template-columns: 1fr;
  }
.krdv-directory-city-controls {
    grid-template-columns: 1fr;
  }
.krdv-directory-search label,
  .krdv-directory-search-submit {
    min-height: 74px;
  }
.krdv-directory-search label + label {
    border-left: 0;
    border-top: 1px solid rgba(13, 27, 61, 0.08);
  }
.krdv-provider-row {
    padding: 0;
  }
.krdv-provider-row-top,
  .krdv-provider-row-highlight,
  .krdv-directory-map-focus {
    flex-direction: column;
    align-items: flex-start;
  }
.krdv-provider-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
.krdv-provider-book,
  .krdv-provider-actions a,
  .krdv-directory-map-focus a {
    width: 100%;
  }
.krdv-directory-map {
    min-height: 320px;
  }
.krdv-directory-plan-window {
    width: calc(100vw - 10px);
    height: calc(100dvh - 10px);
    margin: 5px auto;
    border-radius: 22px;
  }
.krdv-directory-plan-back,
  .krdv-directory-plan-close {
    top: 14px;
    width: 50px;
    height: 50px;
  }
.krdv-directory-plan-back {
    left: 14px;
  }
.krdv-directory-plan-close {
    right: 14px;
  }
.krdv-directory-plan-sidebar {
    padding: 18px;
  }
.krdv-directory-plan-sidebar-head h2 {
    font-size: 1.3rem;
  }
.krdv-directory-plan-map {
    min-height: 300px;
  }
}
.krdv-provider-amenities,
.krdv-provider-reviews,
.krdv-contact-form-shell {
  display: grid;
  gap: 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #fff;
  box-shadow: 0 16px 42px rgba(13, 27, 61, 0.06);
  padding: 22px;
}
.krdv-provider-amenities h2,
.krdv-provider-reviews h2,
.krdv-contact-form-shell h2 {
  margin: 0;
  color: var(--krdv-navy);
}
.krdv-provider-amenities-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-provider-amenity {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  color: var(--krdv-ink);
  font-size: 0.94rem;
  font-weight: 700;
  padding: 0 14px;
}
.krdv-provider-reviews-head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.krdv-provider-rating-summary {
  display: grid;
  justify-items: end;
  gap: 4px;
}
.krdv-provider-rating-summary strong {
  color: var(--krdv-navy);
  font-size: 1.8rem;
  font-weight: 900;
}
.krdv-provider-rating-summary span {
  color: var(--krdv-muted);
  font-size: 0.92rem;
  font-weight: 700;
}
.krdv-provider-rating-summary small {
  color: var(--krdv-teal);
  font-size: 0.82rem;
  font-weight: 800;
}
.krdv-review-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.krdv-review-summary-card {
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  padding: 14px;
}
.krdv-review-summary-card span {
  display: block;
  color: var(--krdv-muted);
  font-size: 0.82rem;
  font-weight: 700;
}
.krdv-review-summary-card strong {
  display: block;
  margin-top: 6px;
  color: var(--krdv-navy);
  font-size: 1.12rem;
}
.krdv-provider-review-form,
.krdv-contact-form {
  display: grid;
  gap: 14px;
}
.krdv-review-grid,
.krdv-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.krdv-provider-review-form label,
.krdv-contact-form label {
  display: grid;
  gap: 6px;
  color: var(--krdv-muted);
  font-size: 0.85rem;
  font-weight: 700;
}
.krdv-provider-review-form input,
.krdv-provider-review-form select,
.krdv-provider-review-form textarea,
.krdv-contact-form input,
.krdv-contact-form textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  color: var(--krdv-ink);
  font: inherit;
  padding: 12px 14px;
}
.krdv-provider-review-form textarea,
.krdv-contact-form textarea {
  min-height: 120px;
  resize: vertical;
}
.krdv-review-grid-wide,
.krdv-form-wide {
  grid-column: 1 / -1;
}
.krdv-provider-review-list {
  display: grid;
  gap: 14px;
}
.krdv-provider-review {
  border-top: 1px solid rgba(13, 27, 61, 0.08);
  padding-top: 14px;
}
.krdv-provider-review strong,
.krdv-provider-review span {
  display: block;
}
.krdv-provider-review span {
  margin-top: 6px;
  color: var(--krdv-gold-brand);
  letter-spacing: 0.1em;
}
.krdv-provider-review p {
  margin: 10px 0 0;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-provider-review-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.krdv-review-verified {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.12);
  color: var(--krdv-teal);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.krdv-review-criteria {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.krdv-review-helper {
  padding: 12px 14px;
  border: 1px dashed rgba(29, 149, 172, 0.3);
  background: rgba(29, 149, 172, 0.06);
  color: var(--krdv-muted);
}
.krdv-before-after-shell {
  display: grid;
  gap: 16px;
  margin-top: 16px;
  padding: 20px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 20px 40px rgba(13, 27, 61, 0.05);
}
.krdv-before-after-head {
  display: grid;
  gap: 6px;
}
.krdv-before-after-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 110, 74, 0.1);
  color: var(--krdv-coral-ink);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-before-after-head h2 {
  margin: 0;
}
.krdv-before-after-head p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.6;
}
.krdv-before-after-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.krdv-before-after-card {
  margin: 0;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #f8fbff;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 14px 28px rgba(13, 27, 61, 0.06);
}
.krdv-before-after-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.krdv-before-after-card figcaption {
  padding: 12px 14px;
  color: var(--krdv-navy);
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
@media (max-width: 700px) {
.krdv-review-summary-grid,
  .krdv-before-after-grid,
  .krdv-review-grid,
  .krdv-gift-card-purchase-grid,
  .krdv-form-grid {
    grid-template-columns: 1fr;
  }
.krdv-advanced-toggle summary {
    padding: 16px;
    gap: 12px;
  }
.krdv-advanced-toggle-body,
  .krdv-before-after-shell,
  .krdv-kit-shell {
    padding: 16px;
  }
.krdv-ai-search,
  .krdv-ai-search-prompts,
  .krdv-ai-search-controls {
    grid-template-columns: 1fr;
  }
}
.krdv-brand-kit-panel {
  margin-top: 24px;
}
.krdv-kit-shell {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
  gap: 24px;
  align-items: start;
  padding: 24px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 24px 42px rgba(13, 27, 61, 0.06);
}
.krdv-kit-intro {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-kit-bullets {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.krdv-kit-bullets li {
  position: relative;
  padding-left: 18px;
  color: var(--krdv-ink);
}
.krdv-kit-bullets li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--krdv-coral);
  box-shadow: 0 0 0 4px rgba(255, 110, 74, 0.16);
}
.krdv-kit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  align-items: center;
}
.krdv-kit-actions [data-krdv-kit-share] {
  border-color: rgba(13, 27, 61, 0.12) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #102650 !important;
}
.krdv-kit-actions .button,
.krdv-kit-actions .button:link,
.krdv-kit-actions .button:visited {
  min-height: 42px;
  border: 1px solid #5d6578 !important;
  background: #5d6578 !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.krdv-kit-actions .button:hover,
.krdv-kit-actions .button:focus-visible {
  border-color: #4a5264 !important;
  background: #4a5264 !important;
  background-image: none !important;
  color: #ffffff !important;
}
.krdv-story-preview {
  display: grid;
  justify-items: center;
}
.krdv-story-canvas {
  position: relative;
  width: min(360px, 100%);
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(5, 13, 29, 0.08), rgba(5, 13, 29, 0.12)),
    var(--krdv-story-reference),
    linear-gradient(180deg, #07142d 0%, #0d1b3d 52%, #102750 100%);
  background-size: cover;
  background-position: center;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 50px rgba(13, 27, 61, 0.2);
  padding: 18px 24px 14px;
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: start;
  gap: 10px;
}
.krdv-story-canvas::before {
  content: none;
}
.krdv-story-backdrop,
.krdv-story-noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.krdv-story-backdrop {
  background: linear-gradient(180deg, rgba(7, 20, 45, 0.28) 0%, rgba(7, 20, 45, 0.16) 30%, rgba(7, 20, 45, 0.54) 100%);
}
.krdv-story-noise {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.03), transparent 34%),
    radial-gradient(circle at bottom right, rgba(212, 165, 55, 0.1), transparent 28%);
}
.krdv-story-provider-card,
.krdv-story-qr-card,
.krdv-story-footer {
  position: relative;
  z-index: 1;
}
.krdv-story-provider-copy h4,
.krdv-story-provider-copy h4,
.krdv-story-qr-copy h4 {
  display: block;
}
.krdv-story-provider-copy p,
.krdv-story-provider-copy p,
.krdv-story-provider-meta span,
.krdv-story-qr-copy p,
.krdv-story-qr-copy span {
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}
.krdv-story-provider-card {
  display: grid;
  gap: 8px;
  align-content: start;
  padding-top: 122px;
}
.krdv-story-provider-head {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.krdv-story-provider-logo {
  width: 78px;
  height: 78px;
  border-radius: 20px;
  background: rgba(9, 24, 54, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: grid;
  place-items: center;
  overflow: hidden;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}
.krdv-story-provider-logo img {
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  object-fit: contain;
}
.krdv-story-provider-logo span {
  font-size: 38px;
  font-weight: 800;
  color: #0d1b3d;
}
.krdv-story-provider-copy .eyebrow,
.krdv-story-qr-copy .eyebrow {
  display: block;
  min-height: 0;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  letter-spacing: normal;
}
.krdv-story-provider-copy .eyebrow span,
.krdv-story-qr-copy .eyebrow span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 0;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.52);
  background: rgba(255, 255, 255, 0.96);
  color: #117f97;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  box-shadow:
    0 10px 24px rgba(7, 20, 45, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}
.krdv-story-provider-copy .eyebrow-location span {
  color: #13849d;
}
.krdv-story-qr-copy .eyebrow-action span {
  color: #18a1b6;
  background: linear-gradient(180deg, rgba(245, 254, 255, 0.98), rgba(229, 248, 252, 0.96));
}
.krdv-story-provider-copy h4 {
  margin: 0;
  font-size: 19px;
  line-height: 1.05;
}
.krdv-story-provider-copy p,
.krdv-story-qr-copy p {
  margin: 6px 0 0;
  font-size: 10px;
}
.krdv-story-qr-card {
  display: grid;
  gap: 7px;
  padding: 10px 10px 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.98));
  color: #0d1b3d;
  border: 1px solid rgba(13, 27, 61, 0.08);
  box-shadow: 0 14px 28px rgba(13, 27, 61, 0.1);
}
.krdv-story-accent {
  display: flex;
  gap: 8px;
}
.krdv-story-accent span {
  display: block;
  height: 5px;
  flex: 1 1 0;
}
.krdv-story-accent .is-coral {
  background: #ff6e4a;
}
.krdv-story-accent .is-turquoise {
  background: #1d95ac;
}
.krdv-story-accent .is-gold {
  background: #d4a537;
}
.krdv-story-qr-box {
  display: grid;
  place-items: center;
  background: #ffffff;
  padding: 6px;
  border: 1px solid rgba(13, 27, 61, 0.08);
}
.krdv-story-qr canvas,
.krdv-story-qr img {
  display: block;
  width: min(132px, 100%);
  height: auto;
}
.krdv-story-qr-copy h4 {
  margin: 0;
  font-size: 15px;
  line-height: 1.12;
}
.krdv-story-qr-copy p,
.krdv-story-qr-copy span {
  color: #42516f;
  font-size: 9.5px;
}
.krdv-story-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: auto;
  padding-top: 2px;
}
.krdv-story-site-link {
  color: rgba(255, 255, 255, 0.88);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.krdv-story-socials {
  display: flex;
  gap: 10px;
  align-items: center;
}
.krdv-story-social {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.24);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 12px 20px rgba(4, 12, 26, 0.22);
  display: grid;
  place-items: center;
}
.krdv-story-social img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.krdv-provider-qr-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.85fr);
  gap: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background:
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff, #f8fbff);
  padding: 18px;
  box-shadow: 0 16px 32px rgba(13, 27, 61, 0.07);
}
.krdv-kit-shell-public {
  position: relative;
}
.krdv-story-preview-hidden {
  position: absolute;
  left: -9999px;
  top: 0;
  width: 360px;
  opacity: 0;
  pointer-events: none;
}
.krdv-provider-qr-copy {
  display: grid;
  gap: 14px;
  align-content: start;
}
.krdv-provider-qr-copy .eyebrow {
  margin: 0;
  color: #1d95ac;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.krdv-provider-qr-copy > p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.65;
}
.krdv-provider-qr-brand {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}
.krdv-provider-qr-logo {
  width: 78px;
  height: 78px;
  background: #ffffff;
  border: 1px solid rgba(13, 27, 61, 0.08);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.krdv-provider-qr-logo img {
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  object-fit: contain;
}
.krdv-provider-qr-logo span {
  color: #0d1b3d;
  font-size: 30px;
  font-weight: 900;
}
.krdv-provider-qr-brand strong,
.krdv-provider-qr-brand span {
  display: block;
}
.krdv-provider-qr-brand strong {
  color: #0d1b3d;
  font-size: 1.35rem;
}
.krdv-provider-qr-brand span {
  margin-top: 4px;
  color: #60708d;
}
.krdv-provider-qr-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}
.krdv-provider-qr-socials {
  display: flex;
  gap: 10px;
}
.krdv-provider-qr-social {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(13, 27, 61, 0.1);
  background: #ffffff;
  display: grid;
  place-items: center;
}
.krdv-provider-qr-social img,
.krdv-provider-qr-social svg {
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.krdv-provider-qr-panel {
  display: grid;
  gap: 12px;
  align-content: center;
  justify-items: center;
  background:
    radial-gradient(circle at top, rgba(255, 110, 74, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(13, 27, 61, 0.05), rgba(13, 27, 61, 0.015));
  padding: 18px;
}
.krdv-provider-qr-box {
  width: 100%;
  background: #ffffff;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  overflow: visible; /* était "hidden" → coupait le QR canvas sur mobile */
  min-height: 240px;  /* évite l'effondrement si QRCode.js charge tard */
}
.krdv-provider-qr canvas,
.krdv-provider-qr img {
  display: block;
  width: min(220px, 100%); /* légèrement agrandi : 188→220 pour meilleure lisibilité */
  max-width: 100%;
  height: auto !important;
}
/* Message affiché si QRCode.js n'est pas encore chargé */
.krdv-provider-qr:empty::after {
  content: attr(data-krdv-qr-fallback, 'Chargement du QR…');
  display: block;
  padding: 24px;
  color: #8090aa;
  font-size: 13px;
  text-align: center;
}
@media (max-width: 900px) {
.krdv-kit-shell {
    grid-template-columns: 1fr;
  }
.krdv-provider-qr-card {
    grid-template-columns: 1fr;
  }
}
/* Premium softening pass */
.krdv-signup-choice-card::before {
  opacity: 0.14;
}
.krdv-signup-choice-card::after {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 251, 255, 0.86)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 30%);
}
.krdv-signup-hub-hero::before,
.krdv-signup-form-intro--pro::before {
  opacity: 0.24;
}
.krdv-signup-hub-hero::after,
.krdv-signup-form-intro--pro::after {
  background:
    linear-gradient(135deg, rgba(8, 21, 52, 0.82), rgba(10, 28, 66, 0.76)),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.18), transparent 34%),
    radial-gradient(circle at bottom left, rgba(29, 149, 172, 0.18), transparent 38%);
}
.krdv-signup-hub-hero,
.krdv-signup-form-intro--pro,
.krdv-signup-choice-card,
.krdv-signup-benefit-grid article,
.krdv-signup-steps article,
.krdv-pro-form-window,
.krdv-pro-panel-head,
.krdv-pending-card,
.krdv-collaborator-row,
.krdv-collaborator-accordion,
.krdv-collaborator-day-card {
  border-radius: 24px;
}
.krdv-signup-highlight-chip,
.krdv-signup-form-window-head p,
.krdv-pro-panel-head p,
.krdv-provider-qr-copy .eyebrow {
  display: inline-flex;
  justify-self: start;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  letter-spacing: 0.12em;
}
.krdv-signup-form-window-head p,
.krdv-pro-panel-head p {
  width: fit-content;
  margin: 0 0 8px;
  border: 1px solid rgba(29, 149, 172, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 255, 0.92)),
    radial-gradient(circle at left center, rgba(29, 149, 172, 0.1), transparent 56%);
  box-shadow:
    0 10px 24px rgba(13, 27, 61, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
}
.krdv-signup-form-window-head h4,
.krdv-pro-panel-head h3 {
  max-width: 28ch;
  line-height: 1.16;
}
.krdv-dashboard-grid {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.92fr);
  gap: 22px;
}
.krdv-dashboard-grid-profile .krdv-pro-panel:first-child .krdv-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}
.krdv-dashboard-grid-profile .krdv-pro-panel:first-child .krdv-form-wide {
  grid-column: 1 / -1;
}
.krdv-pro-form-window,
.krdv-pending-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.96)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 32%);
  box-shadow:
    0 20px 44px rgba(13, 27, 61, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.krdv-pro-panel-head {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.96)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.1), transparent 28%);
  box-shadow:
    0 16px 36px rgba(13, 27, 61, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}
.krdv-pro-profile-hero {
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 250, 255, 0.96)),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.08), transparent 32%);
  box-shadow: 0 18px 42px rgba(13, 27, 61, 0.08);
}
.krdv-collaborator-rows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.krdv-collaborator-row {
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.96)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 32%);
  box-shadow:
    0 18px 40px rgba(13, 27, 61, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.krdv-collaborator-accordion {
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 251, 255, 0.92));
}
.krdv-collaborator-accordion summary {
  min-height: 58px;
  padding: 14px 16px;
}
.krdv-collaborator-day-card {
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}
.krdv-collaborator-day-summary {
  min-height: 60px;
  padding: 14px 16px;
}
.krdv-collaborator-day-grid {
  padding: 0 16px 16px;
}
.krdv-auth-card,
.krdv-account-card,
.krdv-account-panel,
.krdv-dashboard-tab-panel {
  border-radius: 24px;
}
.krdv-service-card-thumb {
  width: 100%;
  height: 132px;
  margin-bottom: 12px;
  overflow: hidden;
  border-radius: 18px;
  background: #f2f7fb;
}
.krdv-service-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Warmth + premium pass */
.krdv-market,
.krdv-booking-form,
.krdv-onboarding,
.krdv-pro-space,
.krdv-customer-space {
  background:
    radial-gradient(circle at top left, rgba(29, 149, 172, 0.05), transparent 24%),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.05), transparent 22%),
    linear-gradient(180deg, rgba(251, 253, 255, 0.96), rgba(247, 251, 255, 0.96));
}
.krdv-auth-card,
.krdv-account-card,
.krdv-account-panel,
.krdv-dashboard-tab-panel,
.krdv-pro-panel,
.krdv-settings-card,
.krdv-pending-card,
.krdv-brand-kit-panel,
.krdv-account-side-card,
.krdv-invoice-card,
.krdv-loyalty-card,
.krdv-loyalty-offer-card,
.krdv-collaborator-day-card,
.krdv-provider-row,
.krdv-directory-map-card,
.krdv-story-provider-card,
.krdv-story-qr-card,
.krdv-provider-qr-card,
.krdv-provider-qr-panel {
  border-radius: 24px;
  border-color: rgba(29, 149, 172, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 252, 255, 0.96)),
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255, 110, 74, 0.08), transparent 24%);
  box-shadow: 0 22px 52px rgba(13, 27, 61, 0.08);
}
.krdv-auth-card:hover,
.krdv-account-card:hover,
.krdv-provider-row:hover,
.krdv-directory-map-card:hover {
  box-shadow: 0 28px 62px rgba(13, 27, 61, 0.12);
}
.krdv-section-pill,
.krdv-dashboard-pill,
.krdv-provider-badge,
.krdv-story-provider-badge,
.krdv-account-badge {
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(29, 149, 172, 0.08);
}
.krdv-provider-badge-category,
.krdv-story-provider-badge {
  background: linear-gradient(135deg, rgba(29, 149, 172, 0.14), rgba(212, 165, 55, 0.14));
  color: #176d7f;
}
.krdv-provider-badge-city,
.krdv-provider-badge-region {
  background: linear-gradient(135deg, rgba(255, 110, 74, 0.1), rgba(255, 255, 255, 0.9));
}
.krdv-auth-card .krdv-submit,
.krdv-booking-submit,
.krdv-story-action,
.krdv-provider-qr-panel .krdv-button,
.krdv-account-button,
.krdv-pro-nav button.is-active,
.krdv-pro-nav a.is-active {
  box-shadow: 0 18px 36px rgba(27, 105, 140, 0.14), 0 16px 30px rgba(255, 110, 74, 0.16);
}
.krdv-auth-card input,
.krdv-auth-card select,
.krdv-auth-card textarea,
.krdv-booking-form input,
.krdv-booking-form select,
.krdv-booking-form textarea,
.krdv-pro-space input,
.krdv-pro-space select,
.krdv-pro-space textarea,
.krdv-customer-space input,
.krdv-customer-space select,
.krdv-customer-space textarea {
  border-radius: 16px;
  border-color: rgba(29, 149, 172, 0.14);
  background: linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.krdv-directory-hero,
.krdv-account-hero,
.krdv-pro-profile-hero,
.krdv-signup-hub-hero,
.krdv-signup-form-intro--pro {
  box-shadow: 0 28px 64px rgba(13, 27, 61, 0.16);
}
.krdv-directory-hero h1,
.krdv-account-hero h1,
.krdv-pro-profile-hero h1,
.krdv-signup-hub-hero h2,
.krdv-signup-form-copy h2 {
  text-wrap: balance;
}
.krdv-provider-row {
  position: relative;
  overflow: hidden;
}
.krdv-provider-row::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(255, 110, 74, 0.8), rgba(29, 149, 172, 0.8), rgba(212, 165, 55, 0.8));
  opacity: 0.85;
}
.krdv-story-provider-card,
.krdv-story-qr-card {
  overflow: hidden;
}
.krdv-story-provider-card::before,
.krdv-story-qr-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255, 110, 74, 0.08), transparent 24%);
  pointer-events: none;
}
/* Keep the generated story visual dark and readable; do not apply the white card pass here. */
.krdv-story-provider-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}
.krdv-story-provider-card::before {
  content: none !important;
}
.krdv-story-provider-copy .eyebrow span {
  background: rgba(255, 255, 255, 0.96);
  color: #13849d;
  border-color: rgba(255, 255, 255, 0.52);
  box-shadow:
    0 10px 24px rgba(7, 20, 45, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}
.krdv-story-provider-copy h4,
.krdv-story-provider-copy p {
  text-shadow: 0 8px 20px rgba(7, 20, 45, 0.28);
}
@media (max-width: 1100px) {
.krdv-collaborator-rows {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
.krdv-pro-space[data-krdv-tabs],
  .krdv-account-shell[data-krdv-tabs] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    padding-inline: 12px;
  }
.krdv-tab-panel[hidden] {
    display: none !important;
  }
.krdv-tab-panel,
  .krdv-dashboard-grid,
  .krdv-dashboard-grid-bookings,
  .krdv-dashboard-grid-launchpad,
  .krdv-dashboard-grid-business,
  .krdv-dashboard-grid-operations,
  .krdv-dashboard-grid-profile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
  }
.krdv-tab-panel > *,
  .krdv-dashboard-grid > *,
  .krdv-dashboard-grid-launchpad > *,
  .krdv-dashboard-grid-bookings > *,
  .krdv-dashboard-grid-business > *,
  .krdv-dashboard-grid-operations > *,
  .krdv-dashboard-grid-profile > * {
    margin-bottom: 0;
    min-width: 0;
  }
.krdv-launchpad-checklist {
    grid-template-columns: 1fr;
  }
.krdv-pro-nav {
    position: static;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
    padding: 0 0 4px;
    overflow-x: auto;
    scrollbar-width: none;
  }
.krdv-pro-nav::-webkit-scrollbar {
    display: none;
  }
.krdv-pro-nav a {
    flex: 1 1 calc(50% - 10px);
    min-width: 150px;
    min-height: auto;
    padding: 12px 14px;
  }
.krdv-pro-nav a small {
    white-space: normal;
  }
.krdv-dashboard-metrics {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
.krdv-pro-shell {
    padding-top: 0;
  }
.krdv-pro-shell-brandline,
  .krdv-pro-shell-provider,
  .krdv-pro-shell-brand {
    align-items: center;
  }
.krdv-pro-shell-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
.krdv-pro-shell-actions > * {
    width: 100%;
  }
.krdv-business-overview-grid,
  .krdv-growth-list,
  .krdv-operations-cards,
  .krdv-payout-grid,
  .krdv-finance-summary-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
.krdv-panel-guidance {
    padding: 12px 13px;
    border-radius: 16px;
  }
.krdv-pro-space[data-krdv-tabs],
  .krdv-account-shell[data-krdv-tabs] {
    padding-inline: 10px;
  }
.krdv-pro-nav {
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
  }
.krdv-pro-nav a {
    min-width: 0;
    flex-basis: 100%;
  }
.krdv-dashboard-metrics {
    grid-template-columns: 1fr;
  }
}
/* Flat premium reset */
.krdv-market,
.krdv-booking-form,
.krdv-onboarding,
.krdv-pro-space,
.krdv-customer-space,
.krdv-auth-panel,
.krdv-ai-search-panel,
.krdv-directory-map-panel {
  background: #f7fbff !important;
  background-image: none !important;
}
.krdv-auth-card,
.krdv-account-card,
.krdv-account-panel,
.krdv-dashboard-tab-panel,
.krdv-pro-panel,
.krdv-settings-card,
.krdv-pending-card,
.krdv-brand-kit-panel,
.krdv-account-side-card,
.krdv-invoice-card,
.krdv-loyalty-card,
.krdv-loyalty-offer-card,
.krdv-collaborator-day-card,
.krdv-provider-row,
.krdv-directory-map-card,
.krdv-story-provider-card,
.krdv-story-qr-card,
.krdv-provider-qr-card,
.krdv-provider-qr-panel,
.krdv-provider-booking-card,
.krdv-operations-cards article,
.krdv-contact-form,
.krdv-support-modal-panel {
  background: #ffffff !important;
  background-image: none !important;
}
.krdv-auth-panel::before,
.krdv-signup-choice-card::before,
.krdv-signup-choice-card::after,
.krdv-story-provider-card::before,
.krdv-story-qr-card::before {
  display: none !important;
  content: none !important;
}
.krdv-section-pill,
.krdv-dashboard-pill,
.krdv-provider-badge,
.krdv-story-provider-badge,
.krdv-account-badge,
.krdv-category-badge,
.krdv-provider-badge-category,
.krdv-provider-badge-city,
.krdv-provider-badge-region {
  background-image: none !important;
  box-shadow: none !important;
}
.krdv-provider-badge-category,
.krdv-story-provider-badge,
.krdv-section-pill,
.krdv-dashboard-pill,
.krdv-account-badge {
  background: rgba(29, 149, 172, 0.1) !important;
  color: #176d7f !important;
}
.krdv-provider-badge-city,
.krdv-provider-badge-region {
  background: #f3f7fb !important;
}
.krdv-auth-card .krdv-submit,
.krdv-booking-submit,
.krdv-story-action,
.krdv-provider-qr-panel .krdv-button,
.krdv-account-button,
.krdv-pro-nav button.is-active,
.krdv-pro-nav a.is-active,
.krdv-booking-form button,
.krdv-provider-review-form button,
.krdv-contact-form button,
.krdv-join-form button,
.krdv-booking-auth-gate .krdv-account-actions a:first-child,
.krdv-booking-auth-gate .krdv-account-actions button:first-child {
  background: #0d1b3d !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: #0d1b3d !important;
  box-shadow: 0 16px 34px rgba(13, 27, 61, 0.12) !important;
}
.krdv-honeypot-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.kb-support-captcha label {
  display: grid;
  gap: 8px;
}
.kb-support-captcha small {
  color: #66728f;
  font-size: 0.92rem;
  line-height: 1.45;
}
.krdv-booking-auth-gate .krdv-account-actions a:first-child span,
.krdv-booking-auth-gate .krdv-account-actions button:first-child span {
  color: #ffffff !important;
}
/* Solid CTA reset */
.krdv-auth-card .krdv-submit,
.krdv-booking-submit,
.krdv-provider-qr-panel .krdv-button,
.krdv-account-button,
.krdv-pro-nav button.is-active,
.krdv-pro-nav a.is-active,
.krdv-booking-form button,
.krdv-provider-review-form button,
.krdv-contact-form button,
.krdv-join-form button,
.krdv-login-shell input[type="submit"],
.krdv-directory-search-submit,
.krdv-ai-search-controls button,
.krdv-searchbar button,
.krdv-booking-auth-signup,
.krdv-booking-auth-signup:link,
.krdv-booking-auth-signup:visited,
.krdv-booking-auth-gate .krdv-account-actions a:first-child,
.krdv-booking-auth-gate .krdv-account-actions button:first-child {
  color: #ffffff !important;
  background: #102650 !important;
  background-image: none !important;
  border-color: #102650 !important;
  box-shadow: 0 16px 30px rgba(16, 38, 80, 0.2) !important;
}
.krdv-booking-auth-signup:hover,
.krdv-booking-auth-signup:focus-visible,
.krdv-booking-auth-gate .krdv-account-actions a:first-child,
.krdv-booking-auth-gate .krdv-account-actions button:first-child {
  color: #ffffff !important;
  background: #102650 !important;
  background-image: none !important;
  border-color: #102650 !important;
  box-shadow: 0 16px 30px rgba(16, 38, 80, 0.2) !important;
}
.krdv-booking-auth-gate .krdv-account-actions a:first-child:hover,
.krdv-booking-auth-gate .krdv-account-actions button:first-child:hover,
.krdv-booking-auth-gate .krdv-account-actions a:first-child:focus-visible,
.krdv-booking-auth-gate .krdv-account-actions button:first-child:focus-visible {
  color: #ffffff !important;
  background: #0c1d3f !important;
  background-image: none !important;
  border-color: #0c1d3f !important;
}
/* Mockup-aligned first pass: booking flow */
.krdv-booking-page-head {
  margin: 0 0 24px;
}
.krdv-booking-page-copy {
  display: grid;
  gap: 10px;
  max-width: 72ch;
}
.krdv-booking-page-copy h1 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.02;
}
.krdv-booking-page-copy p:last-child {
  margin: 0;
  color: var(--krdv-muted);
  font-size: 1rem;
  line-height: 1.72;
}
.krdv-booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.78fr);
  gap: 24px;
  align-items: start;
  margin: 0 0 24px;
}
.krdv-booking-layout .krdv-booking-form {
  grid-template-columns: 1fr;
  gap: 18px;
  padding: 28px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 251, 255, 0.98) 100%);
  box-shadow: 0 24px 56px rgba(13, 27, 61, 0.08);
}
.krdv-booking-layout .krdv-booking-form label {
  gap: 8px;
}
.krdv-booking-layout .krdv-booking-form label > span {
  color: var(--krdv-ink);
  font-size: 0.92rem;
  font-weight: 800;
}
.krdv-booking-layout .krdv-booking-form input:not([type="checkbox"]),
.krdv-booking-layout .krdv-booking-form select,
.krdv-booking-layout .krdv-booking-form textarea {
  min-height: 56px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.krdv-booking-layout .krdv-booking-form textarea {
  min-height: 124px;
  padding-block: 16px;
}
.krdv-booking-layout .krdv-booking-form button {
  min-height: 58px;
  border-radius: 18px;
  background: linear-gradient(135deg, #ff6e4a 0%, #ff8758 100%);
  box-shadow: 0 18px 36px rgba(255, 110, 74, 0.24);
}
.krdv-booking-summary-card {
  position: sticky;
  top: 26px;
  display: grid;
  gap: 20px;
  padding: 24px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 251, 255, 0.98) 100%);
  box-shadow: 0 24px 56px rgba(13, 27, 61, 0.08);
}
.krdv-booking-summary-head {
  display: grid;
  gap: 8px;
}
.krdv-booking-service-products-shell {
  display: grid;
  gap: 18px;
  margin: 0 0 28px;
}
.krdv-booking-service-products-panel[hidden] {
  display: none !important;
}
.krdv-booking-summary-kicker {
  margin: 0;
  color: var(--krdv-turquoise);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.krdv-booking-summary-head h2 {
  margin: 0;
  color: var(--krdv-ink);
  font-size: 1.28rem;
  line-height: 1.12;
}
.krdv-booking-summary-service {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}
.krdv-booking-summary-service-media {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 22px;
  background: rgba(239, 245, 252, 0.92);
}
.krdv-booking-summary-service-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.krdv-booking-summary-service-copy {
  display: grid;
  gap: 6px;
}
.krdv-booking-summary-service-copy strong {
  color: var(--krdv-ink);
  font-size: 1rem;
  line-height: 1.3;
}
.krdv-booking-summary-service-copy span {
  color: var(--krdv-muted);
  font-size: 0.94rem;
}
.krdv-booking-summary-meta {
  display: grid;
  gap: 14px;
  margin: 0;
}
.krdv-booking-summary-meta > div {
  display: grid;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(13, 27, 61, 0.08);
}
.krdv-booking-summary-meta > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.krdv-booking-summary-meta dt {
  color: var(--krdv-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.krdv-booking-summary-meta dd {
  margin: 0;
  color: var(--krdv-ink);
  font-size: 0.98rem;
  font-weight: 700;
}
.krdv-booking-summary-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-top: 8px;
  color: var(--krdv-ink);
}
.krdv-booking-summary-total span {
  font-size: 0.92rem;
  font-weight: 800;
}
.krdv-booking-summary-total strong {
  font-size: 1.72rem;
  line-height: 1;
}
.krdv-booking-summary-trust {
  display: grid;
  gap: 12px;
}
.krdv-booking-summary-trust article {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(239, 247, 251, 0.92);
  border: 1px solid rgba(29, 149, 172, 0.12);
}
.krdv-booking-summary-trust strong {
  color: var(--krdv-ink);
  font-size: 0.96rem;
}
.krdv-booking-summary-trust span {
  color: var(--krdv-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}
@media (max-width: 1100px) {
.krdv-booking-layout {
    grid-template-columns: 1fr;
  }
.krdv-booking-summary-card {
    position: static;
  }
}
@media (max-width: 720px) {
.krdv-booking-page-copy h1 {
    font-size: clamp(1.72rem, 8vw, 2.3rem);
  }
.krdv-booking-layout .krdv-booking-form,
  .krdv-booking-summary-card {
    padding: 20px;
    border-radius: 24px;
  }
.krdv-booking-summary-service {
    grid-template-columns: 76px minmax(0, 1fr);
  }
}
.krdv-auth-card .krdv-submit:hover,
.krdv-booking-submit:hover,
.krdv-provider-qr-panel .krdv-button:hover,
.krdv-account-button:hover,
.krdv-pro-nav button.is-active:hover,
.krdv-pro-nav a.is-active:hover,
.krdv-booking-form button:hover,
.krdv-provider-review-form button:hover,
.krdv-contact-form button:hover,
.krdv-join-form button:hover,
.krdv-login-shell input[type="submit"]:hover,
.krdv-directory-search-submit:hover,
.krdv-ai-search-controls button:hover,
.krdv-searchbar button:hover {
  background: #0c1d3f !important;
  border-color: #0c1d3f !important;
}
.krdv-auth-card input,
.krdv-auth-card select,
.krdv-auth-card textarea,
.krdv-booking-form input,
.krdv-booking-form select,
.krdv-booking-form textarea,
.krdv-pro-space input,
.krdv-pro-space select,
.krdv-pro-space textarea,
.krdv-customer-space input,
.krdv-customer-space select,
.krdv-customer-space textarea {
  background: #ffffff !important;
  background-image: none !important;
}
.krdv-story-provider-card,
.krdv-story-qr-card,
.krdv-provider-qr-card,
.krdv-provider-qr-panel {
  box-shadow: 0 18px 40px rgba(13, 27, 61, 0.08) !important;
}
/* Final lock for the generated story visual: keep the validated dark version. */
.krdv-story-canvas {
  background:
    linear-gradient(180deg, rgba(7, 20, 45, 0.18), rgba(7, 20, 45, 0.22)),
    var(--krdv-story-reference),
    linear-gradient(180deg, #07142d 0%, #0d1b3d 52%, #102750 100%) !important;
  background-size: cover !important;
  background-position: center !important;
  color: #ffffff !important;
}
.krdv-story-provider-card {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-top: 122px !important;
  gap: 8px !important;
}
.krdv-story-provider-card::before {
  display: none !important;
  content: none !important;
}
.krdv-story-provider-head {
  grid-template-columns: 78px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}
.krdv-story-provider-logo {
  width: 78px !important;
  height: 78px !important;
  border-radius: 20px !important;
  background: rgba(9, 24, 54, 0.74) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22) !important;
}
.krdv-story-provider-copy {
  display: grid !important;
  gap: 6px !important;
  align-content: center !important;
}
.krdv-story-provider-copy .eyebrow {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.krdv-story-provider-copy .eyebrow span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.52) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #13849d !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 24px rgba(7, 20, 45, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}
.krdv-story-provider-copy h4 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 19px !important;
  line-height: 1.05 !important;
  text-shadow: 0 8px 20px rgba(7, 20, 45, 0.28) !important;
}
.krdv-story-provider-copy p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 10px !important;
  line-height: 1.55 !important;
  text-shadow: 0 8px 20px rgba(7, 20, 45, 0.28) !important;
}
.krdv-story-qr-card {
  display: grid !important;
  gap: 7px !important;
  padding: 10px 10px 9px !important;
  border: 1px solid rgba(13, 27, 61, 0.08) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  background-image: none !important;
  color: #0d1b3d !important;
  box-shadow: 0 14px 28px rgba(13, 27, 61, 0.1) !important;
}
.krdv-story-qr-card::before {
  display: none !important;
  content: none !important;
}
.krdv-story-qr-copy .eyebrow {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.krdv-story-qr-copy .eyebrow span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(180, 225, 234, 0.88) !important;
  background: #edf9fc !important;
  color: #18a1b6 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.krdv-story-qr-copy h4 {
  margin: 0 !important;
  color: #0d1b3d !important;
  font-size: 15px !important;
  line-height: 1.12 !important;
}
.krdv-story-qr-copy p,
.krdv-story-qr-copy span {
  color: #42516f !important;
  font-size: 9.5px !important;
}
.krdv-story-site-link {
  color: rgba(255, 255, 255, 0.88) !important;
}
.krdv-provider-action,
.krdv-provider-action:link,
.krdv-provider-action:visited {
  background: #ffffff !important;
  background-image: none !important;
  color: #102650 !important;
  -webkit-text-fill-color: #102650 !important;
}
.krdv-provider-action *,
.krdv-provider-action .krdv-provider-action-icon,
.krdv-provider-action .krdv-provider-action-text {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
/*
 * LE BOUTON PRIMAIRE ETAIT INVISIBLE : BLANC SUR BLANC.
 *
 * Trente-six declarations de cette feuille etaient ecrites ainsi :
 *
 *     background: linear-gradient(180deg, #16315f, #0d2148) !important;
 *     background-image: none !important;
 *
 * `background` est une propriete raccourcie : elle pose l'image de fond.
 * La ligne suivante l'effaçait aussitot. Et comme un raccourci qui ne
 * mentionne pas de couleur remet la couleur de fond a sa valeur initiale
 * — transparent —, il ne restait rien : un fond transparent, un texte
 * blanc force en `!important`, donc un bouton illisible sur une carte
 * blanche. C'est ce que l'on voyait sur « Creer mon compte client » de la
 * fiche professionnelle, quand on n'est pas connecte.
 *
 * Sept blocs `!important` successifs avaient tente de repeindre ce bouton
 * sans jamais voir que les deux lignes s'annulaient ; chaque nouvelle
 * tentative reproduisait la meme paire.
 *
 * La reparation garde l'intention — un aplat plutot qu'un degrade — en
 * posant la premiere teinte du degrade comme couleur unie. Les deux
 * lignes disent desormais la meme chose.
 */
.krdv-provider-action.is-primary,
.krdv-provider-action.is-primary:link,
.krdv-provider-action.is-primary:visited {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
}
.krdv-provider-action.is-primary *,
.krdv-provider-action.is-primary .krdv-provider-action-icon,
.krdv-provider-action.is-primary .krdv-provider-action-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-action.is-primary:hover,
.krdv-provider-action.is-primary:focus-visible {
  background: #1b3b73 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #1d4c90 !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-provider-action--profile,
.krdv-provider-action--profile:link,
.krdv-provider-action--profile:visited,
.krdv-provider-action--payments,
.krdv-provider-action--payments:link,
.krdv-provider-action--payments:visited {
  background: #16315f !important;
  background-image: none !important;
  border-color: #102650 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
}
.krdv-provider-action--profile *,
.krdv-provider-action--payments *,
.krdv-provider-action--profile .krdv-provider-action-icon,
.krdv-provider-action--profile .krdv-provider-action-text,
.krdv-provider-action--payments .krdv-provider-action-icon,
.krdv-provider-action--payments .krdv-provider-action-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-action.is-facebook,
.krdv-provider-action.is-facebook:link,
.krdv-provider-action.is-facebook:visited,
.krdv-provider-action.is-linkedin,
.krdv-provider-action.is-linkedin:link,
.krdv-provider-action.is-linkedin:visited,
.krdv-provider-action.is-instagram,
.krdv-provider-action.is-instagram:link,
.krdv-provider-action.is-instagram:visited,
.krdv-provider-action.is-whatsapp,
.krdv-provider-action.is-whatsapp:link,
.krdv-provider-action.is-whatsapp:visited,
.krdv-provider-action.is-threads,
.krdv-provider-action.is-threads:link,
.krdv-provider-action.is-threads:visited,
.krdv-provider-action.is-tiktok,
.krdv-provider-action.is-tiktok:link,
.krdv-provider-action.is-tiktok:visited {
  min-width: 146px;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(13, 27, 61, 0.12) !important;
}
.krdv-provider-action.is-facebook,
.krdv-provider-action.is-facebook:link,
.krdv-provider-action.is-facebook:visited {
  background: linear-gradient(135deg, #2f85ff 0%, #1877f2 100%) !important;
}
.krdv-provider-action.is-linkedin,
.krdv-provider-action.is-linkedin:link,
.krdv-provider-action.is-linkedin:visited {
  background: linear-gradient(135deg, #1980e6 0%, #0a66c2 100%) !important;
}
.krdv-provider-action.is-instagram,
.krdv-provider-action.is-instagram:link,
.krdv-provider-action.is-instagram:visited {
  background: linear-gradient(135deg, #d6498e 0%, #ff7a59 100%) !important;
}
.krdv-provider-action.is-whatsapp,
.krdv-provider-action.is-whatsapp:link,
.krdv-provider-action.is-whatsapp:visited {
  background: linear-gradient(135deg, #179a5b 0%, #27c16f 100%) !important;
}
.krdv-provider-action.is-threads,
.krdv-provider-action.is-threads:link,
.krdv-provider-action.is-threads:visited {
  background: linear-gradient(135deg, #2a2f39 0%, #141821 100%) !important;
}
.krdv-provider-action.is-tiktok,
.krdv-provider-action.is-tiktok:link,
.krdv-provider-action.is-tiktok:visited {
  background: linear-gradient(135deg, #111111 0%, #2d2d2d 100%) !important;
}
.krdv-provider-action.is-facebook .krdv-provider-action-icon,
.krdv-provider-action.is-linkedin .krdv-provider-action-icon,
.krdv-provider-action.is-instagram .krdv-provider-action-icon,
.krdv-provider-action.is-whatsapp .krdv-provider-action-icon,
.krdv-provider-action.is-threads .krdv-provider-action-icon,
.krdv-provider-action.is-tiktok .krdv-provider-action-icon {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
}
.krdv-provider-action.is-facebook .krdv-provider-action-icon img,
.krdv-provider-action.is-linkedin .krdv-provider-action-icon img,
.krdv-provider-action.is-instagram .krdv-provider-action-icon img,
.krdv-provider-action.is-whatsapp .krdv-provider-action-icon img,
.krdv-provider-action.is-threads .krdv-provider-action-icon img,
.krdv-provider-action.is-tiktok .krdv-provider-action-icon img {
  width: 16px;
  height: 16px;
}
.krdv-provider-action.is-facebook .krdv-provider-action-text,
.krdv-provider-action.is-linkedin .krdv-provider-action-text,
.krdv-provider-action.is-instagram .krdv-provider-action-text,
.krdv-provider-action.is-whatsapp .krdv-provider-action-text,
.krdv-provider-action.is-threads .krdv-provider-action-text,
.krdv-provider-action.is-tiktok .krdv-provider-action-text {
  font-size: 0.9rem;
  letter-spacing: 0.01em;
}
.krdv-provider-action.is-gift,
.krdv-provider-action.is-gift:link,
.krdv-provider-action.is-gift:visited {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
}
.krdv-provider-action.is-gift *,
.krdv-provider-action.is-gift .krdv-provider-action-icon,
.krdv-provider-action.is-gift .krdv-provider-action-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-action.is-gift:hover,
.krdv-provider-action.is-gift:focus-visible {
  background: #1b3b73 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #1d4c90 !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-provider-action.is-facebook:hover,
.krdv-provider-action.is-facebook:focus-visible,
.krdv-provider-action.is-instagram:hover,
.krdv-provider-action.is-instagram:focus-visible,
.krdv-provider-action.is-whatsapp:hover,
.krdv-provider-action.is-whatsapp:focus-visible,
.krdv-provider-action.is-threads:hover,
.krdv-provider-action.is-threads:focus-visible,
.krdv-provider-action.is-tiktok:hover,
.krdv-provider-action.is-tiktok:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(13, 27, 61, 0.16) !important;
}
.krdv-provider-action.is-primary,
.krdv-provider-action.is-primary:link,
.krdv-provider-action.is-primary:visited,
.krdv-relative-add,
.krdv-relative-add:link,
.krdv-relative-add:visited,
.krdv-account-actions .krdv-provider-action.is-primary,
.krdv-account-actions .krdv-provider-action.is-primary:link,
.krdv-account-actions .krdv-provider-action.is-primary:visited {
  background: #102650 !important;
  background-image: none !important;
  border-color: #102650 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(16, 38, 80, 0.18);
}
.krdv-provider-action.is-primary:hover,
.krdv-provider-action.is-primary:focus-visible,
.krdv-relative-add:hover,
.krdv-relative-add:focus-visible,
.krdv-account-actions .krdv-provider-action.is-primary:hover,
.krdv-account-actions .krdv-provider-action.is-primary:focus-visible {
  background: linear-gradient(180deg, #0f234d, #0b1c3c) !important;
  border-color: #0f234d !important;
  color: #ffffff !important;
  box-shadow: 0 16px 30px rgba(16, 38, 80, 0.22);
}
/* Mon compte: unify button design and restore contrast */
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action:link,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action:visited,
body.page-slug-mon-compte .krdv-account-shell button,
body.page-slug-mon-compte .krdv-account-shell input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(16, 38, 80, 0.16);
  background: #ffffff !important;
  background-image: none !important;
  color: #223456 !important;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow:
    0 10px 22px rgba(13, 27, 61, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action:hover,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action:focus-visible,
body.page-slug-mon-compte .krdv-account-shell button:hover,
body.page-slug-mon-compte .krdv-account-shell button:focus-visible,
body.page-slug-mon-compte .krdv-account-shell input[type="submit"]:hover,
body.page-slug-mon-compte .krdv-account-shell input[type="submit"]:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(29, 149, 172, 0.22);
  box-shadow:
    0 14px 28px rgba(13, 27, 61, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary:link,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary:visited,
body.page-slug-mon-compte .krdv-account-shell .krdv-booking-thread-actions button[type="submit"],
body.page-slug-mon-compte .krdv-account-shell > .krdv-account-actions button[type="submit"] {
  border-color: #102650 !important;
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.2);
}
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary:hover,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary:focus-visible,
body.page-slug-mon-compte .krdv-account-shell .krdv-booking-thread-actions button[type="submit"]:hover,
body.page-slug-mon-compte .krdv-account-shell .krdv-booking-thread-actions button[type="submit"]:focus-visible,
body.page-slug-mon-compte .krdv-account-shell > .krdv-account-actions button[type="submit"]:hover,
body.page-slug-mon-compte .krdv-account-shell > .krdv-account-actions button[type="submit"]:focus-visible {
  border-color: #0c1d3f !important;
  background: linear-gradient(180deg, #102854, #091a37) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 32px rgba(16, 38, 80, 0.24);
}
body.page-slug-mon-compte .krdv-account-shell .krdv-account-booking-date .krdv-provider-action,
body.page-slug-mon-compte .krdv-account-shell .krdv-account-booking-actions .krdv-provider-action {
  width: 100%;
}
body.page-slug-mon-compte .krdv-account-shell .krdv-account-inline-form button {
  border-color: rgba(255, 110, 74, 0.22) !important;
  background: linear-gradient(180deg, #ffffff, #fff7f4) !important;
  color: #b85037 !important;
}
body.page-slug-mon-compte .krdv-account-shell .krdv-account-inline-form button:hover,
body.page-slug-mon-compte .krdv-account-shell .krdv-account-inline-form button:focus-visible {
  border-color: rgba(255, 110, 74, 0.3) !important;
  background: linear-gradient(180deg, #fff8f5, #ffefe8) !important;
  color: #a2442d !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action:link,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action:visited,
.krdv-account-shell[data-krdv-tabs="customer-account"] button,
.krdv-account-shell[data-krdv-tabs="customer-account"] input[type="submit"] {
  background: #ffffff !important;
  background-image: none !important;
  color: #223456 !important;
  border: 1px solid rgba(16, 38, 80, 0.16) !important;
  box-shadow:
    0 10px 22px rgba(13, 27, 61, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action *,
.krdv-account-shell[data-krdv-tabs="customer-account"] button *,
.krdv-account-shell[data-krdv-tabs="customer-account"] input[type="submit"] * {
  color: inherit !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary:link,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary:visited,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action.is-primary,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions .krdv-provider-action.is-primary,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions button[type="submit"] {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.2) !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action.is-primary *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions .krdv-provider-action.is-primary * {
  color: #ffffff !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-inline-form button,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action:not(.is-primary) {
  background: #ffffff !important;
  background-image: none !important;
  color: #b85037 !important;
  border-color: rgba(255, 110, 74, 0.22) !important;
}
body.page-slug-mon-compte .krdv-account-shell .krdv-relative-add,
body.page-slug-mon-compte .krdv-account-shell .krdv-relative-add:link,
body.page-slug-mon-compte .krdv-account-shell .krdv-relative-add:visited,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary:link,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary:visited,
body.page-slug-mon-compte .krdv-account-shell .krdv-account-booking-date .krdv-provider-action,
body.page-slug-mon-compte .krdv-account-shell .krdv-booking-thread-actions button[type="submit"],
body.page-slug-mon-compte .krdv-account-shell .krdv-account-actions button[type="submit"] {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.2) !important;
}
body.page-slug-mon-compte .krdv-account-shell .krdv-relative-add *,
body.page-slug-mon-compte .krdv-account-shell .krdv-provider-action.is-primary *,
body.page-slug-mon-compte .krdv-account-shell .krdv-account-booking-date .krdv-provider-action *,
body.page-slug-mon-compte .krdv-account-shell .krdv-booking-thread-actions button[type="submit"] *,
body.page-slug-mon-compte .krdv-account-shell .krdv-account-actions button[type="submit"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.page-slug-mon-compte .krdv-account-shell .krdv-account-review-actions .krdv-provider-action:not(.is-primary),
body.page-slug-mon-compte .krdv-account-shell .krdv-account-inline-form button:not(.is-primary),
body.page-slug-mon-compte .krdv-account-shell .krdv-account-actions .krdv-provider-action:not(.is-primary) {
  background: #ffffff !important;
  background-image: none !important;
  color: #223456 !important;
  -webkit-text-fill-color: #223456 !important;
  border-color: rgba(16, 38, 80, 0.16) !important;
}
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action:link,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action:visited {
  background: #ffffff !important;
  background-image: none !important;
  color: #223456 !important;
  -webkit-text-fill-color: #223456 !important;
  border-color: rgba(16, 38, 80, 0.16) !important;
}
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action *,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-book * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action.is-primary,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action.is-primary:link,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action.is-primary:visited,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-book,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-book:link,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-book:visited {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #102650 !important;
}
body.page-slug-professionnels .krdv-provider-row .krdv-provider-action.is-primary *,
body.page-slug-professionnels .krdv-provider-row .krdv-provider-book * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* Premium audit pass: unify dashboard quality and stop clipped cards */
.krdv-pro-panel,
.krdv-settings-card,
.krdv-pro-form-window,
.krdv-account-side-card,
.krdv-pending-card,
.krdv-loyalty-card,
.krdv-loyalty-offer-card,
.krdv-provider-booking-card,
.krdv-pro-profile-hero {
  border-radius: 24px !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 16px 38px rgba(13, 27, 61, 0.08) !important;
  overflow: visible !important;
}
.krdv-pro-panel-head {
  border-radius: 22px !important;
  background: #f8fbff !important;
  background-image: none !important;
  box-shadow: 0 12px 28px rgba(13, 27, 61, 0.05) !important;
}
.krdv-pro-nav a {
  border-radius: 20px !important;
}
.krdv-pro-nav a.is-active {
  background: linear-gradient(180deg, #ffffff, #fbfdff) !important;
  border-color: rgba(29, 149, 172, 0.18) !important;
  box-shadow: 0 12px 26px rgba(13, 27, 61, 0.06) !important;
  color: var(--krdv-ink) !important;
}
.krdv-pro-nav a.is-active .krdv-tab-badge {
  background: rgba(255, 110, 74, 0.12) !important;
  color: #ff6e4a !important;
}
.krdv-pro-nav a.is-active small {
  color: var(--krdv-ink) !important;
}
.krdv-join-form input,
.krdv-join-form select,
.krdv-join-form textarea,
.krdv-form-grid input,
.krdv-form-grid select,
.krdv-form-grid textarea {
  box-sizing: border-box !important;
  max-width: 100% !important;
}
.krdv-inline-check {
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 4px 0 !important;
}
.krdv-inline-check input {
  margin-top: 4px !important;
  flex: 0 0 auto !important;
}
.krdv-inline-check span {
  display: block !important;
  line-height: 1.55 !important;
}
.krdv-dashboard-grid-payments {
  grid-template-columns: minmax(0, 0.95fr) minmax(340px, 1.05fr) !important;
  align-items: start !important;
}
.krdv-dashboard-grid-payments .krdv-payment-action-stack {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.krdv-dashboard-grid-payments .krdv-payment-action-form {
  margin: 0 !important;
}
.krdv-dashboard-grid-payments .krdv-payment-action-form .krdv-provider-action {
  width: 100% !important;
}
.krdv-dashboard-metrics article,
.krdv-business-overview-grid article,
.krdv-growth-list article,
.krdv-operations-cards article,
.krdv-payout-grid article,
.krdv-finance-stat-card {
  border-radius: 18px !important;
}
@media (max-width: 900px) {
.krdv-dashboard-grid-payments {
    grid-template-columns: 1fr !important;
  }
}
/* Final stability pass: stop clipped dashboard cards and tab labels */
.krdv-pro-nav,
.krdv-account-nav,
.krdv-account-hero-links {
  align-items: stretch !important;
  overflow: visible !important;
}
.krdv-pro-nav a,
.krdv-account-nav a,
.krdv-account-hero-links a,
.krdv-account-nav button,
.krdv-pro-nav button {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 8px !important;
  min-height: 92px !important;
  padding: 18px 20px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  line-height: 1.2 !important;
}
.krdv-pro-nav a .krdv-tab-badge,
.krdv-account-nav a .krdv-tab-badge,
.krdv-account-hero-links a .krdv-tab-badge,
.krdv-account-nav button .krdv-tab-badge,
.krdv-pro-nav button .krdv-tab-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 6px 14px !important;
  margin: 0 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}
.krdv-pro-nav a > span:not(.krdv-tab-badge),
.krdv-account-nav a > span:not(.krdv-tab-badge),
.krdv-account-hero-links a > span:not(.krdv-tab-badge),
.krdv-account-nav button > span:not(.krdv-tab-badge),
.krdv-pro-nav button > span:not(.krdv-tab-badge) {
  display: block !important;
  margin: 0 !important;
  line-height: 1.15 !important;
}
.krdv-pro-nav a small,
.krdv-account-nav a small,
.krdv-account-hero-links a small,
.krdv-account-nav button small,
.krdv-pro-nav button small {
  display: block !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}
.krdv-pro-panel,
.krdv-settings-card,
.krdv-account-card,
.krdv-account-panel,
.krdv-provider-booking-card,
.krdv-business-overview-grid article,
.krdv-growth-list article,
.krdv-operations-cards article,
.krdv-payout-grid article,
.krdv-finance-stat-card {
  overflow: visible !important;
}
.krdv-form-grid,
.krdv-pro-form-window-body,
.krdv-dashboard-grid,
.krdv-dashboard-grid-profile,
.krdv-dashboard-grid-payments,
.krdv-dashboard-grid-bookings,
.krdv-dashboard-grid-business,
.krdv-dashboard-grid-operations {
  align-items: start !important;
}
@media (min-width: 1024px) {
.krdv-pro-space[data-krdv-tabs],
  .krdv-account-shell[data-krdv-tabs] {
    gap: 22px !important;
  }
.krdv-pro-nav {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }
.krdv-pro-nav > :last-child:nth-child(7) {
    grid-column: span 2;
  }
.krdv-dashboard-grid-bookings {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
.krdv-dashboard-grid-profile {
    grid-template-columns: 1fr !important;
  }
.krdv-account-overview-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr) !important;
    align-items: start !important;
  }
.krdv-account-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }
.krdv-account-settings-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
.krdv-pro-nav a,
  .krdv-account-nav a,
  .krdv-account-hero-links a,
  .krdv-account-nav button,
  .krdv-pro-nav button {
    min-height: 82px !important;
    padding: 16px !important;
  }
}
/* Checkbox reset: stop large field styles from clipping native checkboxes. */
.krdv-pro-space input[type="checkbox"],
.krdv-customer-space input[type="checkbox"],
.krdv-join-form input[type="checkbox"],
.krdv-form-grid input[type="checkbox"],
.krdv-admin-check input[type="checkbox"],
.krdv-inline-check input[type="checkbox"],
.krdv-auth-remember input[type="checkbox"],
.krdv-chip-check input[type="checkbox"],
.krdv-relative-consent input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
  appearance: auto !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  border-radius: 4px !important;
  border: 1px solid rgba(13, 27, 61, 0.22) !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  display: inline-block !important;
  flex: 0 0 18px !important;
  vertical-align: top !important;
  transform: none !important;
}
.krdv-inline-check,
.krdv-admin-check,
.krdv-auth-remember,
.krdv-chip-check,
.krdv-relative-consent {
  align-items: flex-start !important;
}
.krdv-inline-check span,
.krdv-admin-check span,
.krdv-auth-remember span,
.krdv-chip-check span,
.krdv-relative-consent span {
  padding-top: 0 !important;
}
/* Mobile finish pass: cleaner account/pro dashboards without changing the design language. */
@media (max-width: 900px) {
  .krdv-pro-space[data-krdv-tabs],
  .krdv-account-shell[data-krdv-tabs] {
    padding-inline: 14px !important;
    gap: 18px !important;
  }

  .krdv-account-hero,
  .krdv-pro-shell,
  .krdv-pro-panel,
  .krdv-settings-card,
  .krdv-account-card,
  .krdv-account-panel,
  .krdv-account-side-card,
  .krdv-account-booking,
  .krdv-invoice-card,
  .krdv-loyalty-card,
  .krdv-loyalty-offer-card,
  .krdv-provider-booking-card,
  .krdv-brand-kit-panel,
  .krdv-pending-card {
    border-radius: 22px !important;
  }

  .krdv-account-hero,
  .krdv-pro-panel,
  .krdv-settings-card,
  .krdv-account-card,
  .krdv-account-panel,
  .krdv-account-side-card,
  .krdv-account-booking,
  .krdv-invoice-card,
  .krdv-loyalty-card,
  .krdv-loyalty-offer-card,
  .krdv-provider-booking-card,
  .krdv-brand-kit-panel,
  .krdv-pending-card {
    padding: 18px !important;
  }

  .krdv-account-hero-links,
  .krdv-pro-nav {
    gap: 10px !important;
  }

  .krdv-account-hero-links a,
  .krdv-pro-nav a,
  .krdv-account-nav a,
  .krdv-account-nav button,
  .krdv-pro-nav button {
    min-height: 88px !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .krdv-account-identity-copy h2,
  .krdv-pro-shell-copy h1 {
    font-size: clamp(2rem, 6vw, 2.6rem) !important;
    line-height: 0.98 !important;
  }

  .krdv-account-section-title,
  .krdv-pro-panel-head h2,
  .krdv-settings-card h3 {
    font-size: clamp(1.25rem, 4.8vw, 1.65rem) !important;
    line-height: 1.05 !important;
  }

  .krdv-account-actions,
  .krdv-pro-shell-actions,
  .krdv-provider-action-row {
    gap: 10px !important;
  }

  .krdv-account-button,
  .krdv-provider-action,
  .krdv-pro-space button,
  .krdv-customer-space button,
  .krdv-pro-space input[type="submit"],
  .krdv-customer-space input[type="submit"] {
    min-height: 48px !important;
    border-radius: 16px !important;
    padding: 0 16px !important;
  }
}
@media (max-width: 640px) {
.krdv-pro-space[data-krdv-tabs],
  .krdv-account-shell[data-krdv-tabs] {
    padding-inline: 12px !important;
    gap: 16px !important;
  }
.krdv-account-hero,
  .krdv-pro-shell,
  .krdv-pro-panel,
  .krdv-settings-card,
  .krdv-account-card,
  .krdv-account-panel,
  .krdv-account-side-card,
  .krdv-account-booking,
  .krdv-invoice-card,
  .krdv-loyalty-card,
  .krdv-loyalty-offer-card,
  .krdv-provider-booking-card,
  .krdv-brand-kit-panel,
  .krdv-pending-card {
    padding: 16px !important;
    border-radius: 20px !important;
  }
.krdv-account-hero-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    overflow: visible !important;
  }
.krdv-account-hero-links a,
  .krdv-account-nav a,
  .krdv-account-nav button,
  .krdv-pro-nav button {
    min-height: 82px !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }
.krdv-account-hero-links a small,
  .krdv-account-nav a small {
    font-size: 0.88rem !important;
    line-height: 1.3 !important;
  }
.krdv-pro-nav {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    z-index: 65 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(78px, 1fr) !important;
    gap: 8px !important;
    padding: 10px !important;
    border: 1px solid rgba(91, 121, 176, 0.2) !important;
    border-radius: 24px !important;
    background: rgba(7, 20, 39, 0.94) !important;
    box-shadow: 0 20px 42px rgba(4, 10, 23, 0.36) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
  }
.krdv-pro-nav::-webkit-scrollbar {
    display: none !important;
  }
.krdv-pro-nav a {
    min-height: 64px !important;
    padding: 8px 10px 10px !important;
    border-radius: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    text-align: center !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    color: rgba(236, 243, 255, 0.76) !important;
    scroll-snap-align: start !important;
  }
.krdv-pro-nav a .krdv-tab-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    color: #dfe8fb !important;
  }
.krdv-pro-nav a .krdv-tab-icon svg {
    width: 18px !important;
    height: 18px !important;
  }
.krdv-pro-nav a .krdv-tab-badge {
    min-height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 0.71rem !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-transform: none !important;
    text-align: center !important;
  }
.krdv-pro-nav a small {
    display: none !important;
  }
.krdv-pro-nav a.is-active {
    background: rgba(29, 208, 219, 0.12) !important;
    border-color: rgba(46, 208, 219, 0.34) !important;
    color: #ffffff !important;
  }
.krdv-pro-nav a.is-active .krdv-tab-icon,
  .krdv-pro-nav a.is-active .krdv-tab-badge {
    color: #2ed0db !important;
  }
.krdv-account-hero {
    padding-top: 18px !important;
  }
.krdv-account-identity {
    gap: 12px !important;
  }
.krdv-account-avatar {
    width: 64px !important;
    height: 64px !important;
  }
.krdv-account-booking,
  .krdv-provider-booking-card {
    gap: 14px !important;
  }
.krdv-account-booking-date {
    padding-top: 12px !important;
  }
.krdv-form-grid,
  .krdv-account-details-form,
  .krdv-pro-form-window-body {
    gap: 14px !important;
  }
}
@media (max-width: 480px) {
.krdv-pro-space[data-krdv-tabs],
  .krdv-account-shell[data-krdv-tabs] {
    padding-inline: 10px !important;
  }
.krdv-account-hero-links {
    grid-template-columns: 1fr !important;
  }
.krdv-account-hero-links a,
  .krdv-account-nav a,
  .krdv-account-nav button,
  .krdv-pro-nav button {
    min-height: 78px !important;
    padding: 13px 14px !important;
  }
.krdv-account-identity-copy h2,
  .krdv-pro-shell-copy h1 {
    font-size: clamp(1.8rem, 9vw, 2.2rem) !important;
  }
.krdv-pro-nav {
    left: 8px !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
    grid-auto-columns: minmax(70px, 1fr) !important;
    gap: 6px !important;
    padding: 8px !important;
    border-radius: 20px !important;
  }
.krdv-pro-nav a {
    min-height: 58px !important;
    padding: 8px 8px 9px !important;
    border-radius: 16px !important;
  }
.krdv-pro-nav a .krdv-tab-icon {
    width: 18px !important;
    height: 18px !important;
  }
.krdv-pro-nav a .krdv-tab-icon svg {
    width: 16px !important;
    height: 16px !important;
  }
.krdv-pro-nav a .krdv-tab-badge {
    font-size: 0.66rem !important;
  }
}
.krdv-accounting-window {
  margin: 0 0 22px;
  padding: 22px;
  border: 1px solid rgba(147, 168, 204, 0.28);
  border-radius: 24px;
  background: #fbfdff;
  box-shadow: 0 18px 40px rgba(13, 27, 61, 0.06);
}
.krdv-accounting-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.krdv-accounting-head h4 {
  margin: 10px 0 0;
  font-size: 1.18rem;
  line-height: 1.35;
  color: #102144;
}
.krdv-accounting-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.krdv-accounting-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
/* Final readability lock for public QR card */
.krdv-provider-qr-card {
  border-radius: 28px !important;
}
.krdv-provider-qr-copy > p,
.krdv-provider-qr-brand span,
.krdv-provider-qr-panel p,
.krdv-provider-qr-panel span {
  color: #4c5d7a !important;
}
.krdv-provider-qr-brand strong,
.krdv-provider-qr-copy .eyebrow,
.krdv-provider-qr-panel strong {
  color: #0d1b3d !important;
}
.krdv-provider-qr-copy > p {
  font-size: 1rem !important;
  line-height: 1.68 !important;
}
.krdv-provider-qr-panel {
  border-radius: 22px !important;
}
.krdv-provider-qr-box {
  border-radius: 20px !important;
}
/* Final responsive lock for pro/customer spaces */
.krdv-pro-nav-more-toggle,
.krdv-pro-nav-more-sheet {
  display: none;
}
.krdv-pro-nav-more-toggle,
.krdv-pro-nav-more-sheet button {
  font: inherit;
}
@media (min-width: 1024px) {
.krdv-market,
  .krdv-pro-space,
  .krdv-customer-space,
  .krdv-account-shell {
    width: 100% !important;
    max-width: none !important;
  }
.krdv-pro-nav {
    position: sticky !important;
    top: 92px !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 8 !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
  }
.krdv-pro-nav > .krdv-pro-nav-extra:last-of-type {
    grid-column: span 2;
  }
.krdv-pro-nav a,
  .krdv-pro-nav button {
    min-width: 0 !important;
    min-height: 108px !important;
    padding: 18px 18px 16px !important;
    border-radius: 24px !important;
    align-content: start !important;
    justify-content: start !important;
    text-align: left !important;
  }
.krdv-pro-nav a .krdv-tab-icon {
    width: 24px !important;
    height: 24px !important;
  }
.krdv-pro-nav a .krdv-tab-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
.krdv-pro-nav a .krdv-tab-badge {
    white-space: nowrap !important;
    font-size: 0.76rem !important;
  }
.krdv-pro-nav a small {
    display: block !important;
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }
}
@media (max-width: 767px) {
.krdv-pro-nav [data-krdv-nav-tile] {
    position: relative !important;
    overflow: hidden !important;
  }
.krdv-pro-nav {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    z-index: 70 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto !important;
    gap: 6px !important;
    padding: 8px !important;
    border: 1px solid rgba(91, 121, 176, 0.18) !important;
    border-radius: 24px !important;
    background: rgba(7, 20, 39, 0.96) !important;
    box-shadow: 0 18px 38px rgba(4, 10, 23, 0.34) !important;
    backdrop-filter: blur(18px) saturate(150%) !important;
    overflow: visible !important;
  }
.krdv-pro-nav > a,
  .krdv-pro-nav > button {
    min-width: 0 !important;
  }
.krdv-pro-nav > .krdv-pro-nav-extra {
    display: none !important;
  }
.krdv-pro-nav a,
  .krdv-pro-nav button {
    min-height: 62px !important;
    padding: 8px 6px 9px !important;
    border-radius: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 4px !important;
  }
.krdv-pro-nav a .krdv-tab-badge,
  .krdv-pro-nav button .krdv-tab-badge {
    min-height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 0.64rem !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    white-space: normal !important;
  }
.krdv-pro-nav a small,
  .krdv-pro-nav button small {
    display: none !important;
  }
.krdv-pro-nav .krdv-tab-icon {
    width: 18px !important;
    height: 18px !important;
  }
.krdv-pro-nav .krdv-tab-icon svg {
    width: 16px !important;
    height: 16px !important;
  }
.krdv-pro-nav .krdv-sortable-handle--nav,
  .krdv-pro-nav [data-krdv-drag-handle="nav"] {
    display: none !important;
  }
.krdv-pro-nav-more-toggle {
    display: grid !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(236, 243, 255, 0.8) !important;
  }
.krdv-pro-nav-more-toggle.is-active,
  .krdv-pro-nav-more-toggle.is-open {
    background: rgba(29, 208, 219, 0.12) !important;
    border-color: rgba(46, 208, 219, 0.3) !important;
    color: #2ed0db !important;
  }
.krdv-pro-nav-more-sheet {
    position: absolute !important;
    right: 0 !important;
    bottom: calc(100% + 10px) !important;
    width: min(240px, calc(100vw - 20px)) !important;
    padding: 12px !important;
    border: 1px solid rgba(91, 121, 176, 0.18) !important;
    border-radius: 20px !important;
    background: rgba(7, 20, 39, 0.98) !important;
    box-shadow: 0 18px 36px rgba(4, 10, 23, 0.34) !important;
  }
.krdv-pro-nav-more-sheet.is-open {
    display: block !important;
  }
.krdv-pro-nav-more-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    margin-left: auto !important;
    margin-bottom: 8px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
  }
.krdv-pro-nav-more-list {
    display: grid !important;
    gap: 8px !important;
  }
.krdv-pro-nav-more-list button {
    display: grid !important;
    gap: 4px !important;
    width: 100% !important;
    min-height: 72px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(91, 121, 176, 0.16) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: #f4f7ff !important;
    text-align: left !important;
  }
.krdv-pro-nav-more-list button .krdv-tab-badge {
    display: inline-flex !important;
    width: fit-content !important;
    padding: 0 10px !important;
    background: rgba(29, 208, 219, 0.12) !important;
    color: #2ed0db !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }
.krdv-pro-nav-more-list button small {
    display: block !important;
    color: rgba(236, 243, 255, 0.74) !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
  }
.krdv-pro-nav-more-list button.is-active {
    border-color: rgba(46, 208, 219, 0.3) !important;
    background: rgba(29, 208, 219, 0.09) !important;
  }
}
.krdv-accounting-grid article {
  padding: 16px 18px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(147, 168, 204, 0.22);
}
.krdv-accounting-grid span {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6f7f9d;
}
.krdv-accounting-grid strong {
  display: block;
  margin-top: 8px;
  font-size: 1.45rem;
  color: #102144;
}
.krdv-accounting-import-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 0;
}
.krdv-accounting-advanced {
  margin-bottom: 18px;
}
.krdv-accounting-import-form label span {
  display: block;
  margin-bottom: 8px;
  font-size: 0.92rem;
  font-weight: 700;
  color: #102144;
}
.krdv-accounting-table-wrap {
  overflow: auto;
  border: 1px solid rgba(147, 168, 204, 0.22);
  border-radius: 18px;
  background: #ffffff;
}
.krdv-accounting-table {
  width: 100%;
  border-collapse: collapse;
}
.krdv-accounting-table th,
.krdv-accounting-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(228, 234, 244, 0.92);
  text-align: left;
  vertical-align: top;
}
.krdv-accounting-table th {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6f7f9d;
  background: #f7faff;
}
.krdv-accounting-table td {
  font-size: 0.96rem;
  color: #102144;
}
.krdv-accounting-table td strong,
.krdv-accounting-table td small {
  display: block;
}
.krdv-accounting-table td small {
  margin-top: 5px;
  color: #6f7f9d;
}
.krdv-accounting-empty {
  text-align: center !important;
  color: #6f7f9d !important;
}
@media (max-width: 900px) {
.krdv-accounting-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
.krdv-accounting-window {
    padding: 18px;
    border-radius: 22px;
  }
.krdv-accounting-head,
  .krdv-accounting-import-form {
    grid-template-columns: 1fr;
    display: grid;
  }
.krdv-accounting-actions {
    justify-content: stretch;
  }
.krdv-accounting-actions .krdv-provider-action,
  .krdv-accounting-import-form .krdv-provider-action {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 480px) {
.krdv-accounting-grid {
    grid-template-columns: 1fr;
  }
}
/* Premium dashboard pass: make the overview feel like a real product dashboard. */
#krdv-pro-overview .krdv-dashboard-grid-business,
#krdv-pro-overview .krdv-dashboard-grid-operations {
  gap: 18px !important;
}
#krdv-pro-overview .krdv-pro-panel {
  background: #071427 !important;
  border: 1px solid rgba(94, 126, 182, 0.22) !important;
  box-shadow: 0 24px 48px rgba(4, 10, 23, 0.42) !important;
  color: #f5f8ff !important;
}
#krdv-pro-overview .krdv-pro-panel-head {
  background: #0c1b34 !important;
  border: 1px solid rgba(86, 117, 174, 0.22) !important;
  box-shadow: none !important;
}
#krdv-pro-overview .krdv-pro-panel-head p {
  color: #2ed0db !important;
}
#krdv-pro-overview .krdv-pro-panel-head h3 {
  color: #f8fbff !important;
  max-width: 28ch !important;
}
#krdv-pro-overview .krdv-business-overview-grid,
#krdv-pro-overview .krdv-operations-cards {
  gap: 14px !important;
}
#krdv-pro-overview .krdv-business-overview-grid article,
#krdv-pro-overview .krdv-growth-list article,
#krdv-pro-overview .krdv-operations-cards article,
#krdv-pro-overview .krdv-finance-stat-card {
  position: relative !important;
  padding: 18px !important;
  border: 1px solid rgba(89, 120, 178, 0.18) !important;
  background: #0d1e39 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02) !important;
}
#krdv-pro-overview .krdv-business-overview-grid article::after,
#krdv-pro-overview .krdv-growth-list article::after,
#krdv-pro-overview .krdv-operations-cards article::after,
#krdv-pro-overview .krdv-finance-stat-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015) !important;
}
#krdv-pro-overview .krdv-business-overview-grid article:first-child {
  grid-column: 1 / -1 !important;
  padding: 22px !important;
  background: #10264a !important;
}
#krdv-pro-overview .krdv-business-overview-grid span,
#krdv-pro-overview .krdv-growth-list strong,
#krdv-pro-overview .krdv-operations-cards span,
#krdv-pro-overview .krdv-finance-stat-label {
  color: #9ca9c5 !important;
}
#krdv-pro-overview .krdv-business-overview-grid strong,
#krdv-pro-overview .krdv-operations-cards strong,
#krdv-pro-overview .krdv-finance-stat-card strong {
  color: #f7fbff !important;
  font-size: clamp(1.5rem, 2.4vw, 1.95rem) !important;
  line-height: 1 !important;
}
#krdv-pro-overview .krdv-business-overview-grid article:first-child strong {
  color: #ffffff !important;
  font-size: clamp(2.1rem, 4vw, 2.8rem) !important;
}
#krdv-pro-overview .krdv-business-overview-grid small,
#krdv-pro-overview .krdv-growth-list span,
#krdv-pro-overview .krdv-finance-stat-card small,
#krdv-pro-overview .krdv-finance-summary-note p {
  color: #b3bfd8 !important;
}
#krdv-pro-overview .krdv-growth-list {
  gap: 14px !important;
}
#krdv-pro-overview .krdv-growth-list article {
  gap: 8px !important;
  padding-left: 20px !important;
}
#krdv-pro-overview .krdv-growth-list article::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 3px !important;
  border-radius: 999px !important;
  background: #22cad9 !important;
}
#krdv-pro-overview .krdv-operations-cards article strong {
  color: #2ed0db !important;
}
#krdv-pro-overview .krdv-operations-cards article:nth-child(2) strong,
#krdv-pro-overview .krdv-operations-cards article:nth-child(4) strong {
  color: #ffffff !important;
}
#krdv-pro-overview .krdv-finance-visual--summary {
  margin-top: 16px !important;
  padding: 16px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(89, 120, 178, 0.18) !important;
  background: #0a1830 !important;
}
#krdv-pro-overview .krdv-finance-summary-grid {
  gap: 14px !important;
}
#krdv-pro-overview .krdv-finance-stat-meter {
  background: rgba(255, 255, 255, 0.08) !important;
}
#krdv-pro-overview .krdv-finance-stat-meter i {
  background: #24ccd9 !important;
}
#krdv-pro-overview .krdv-finance-summary-note {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(89, 120, 178, 0.18) !important;
}
@media (max-width: 900px) {
#krdv-pro-overview .krdv-dashboard-grid-business,
  #krdv-pro-overview .krdv-dashboard-grid-operations {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 640px) {
#krdv-pro-overview {
    gap: 16px !important;
  }
#krdv-pro-overview .krdv-pro-panel {
    padding: 14px !important;
    border-radius: 22px !important;
  }
#krdv-pro-overview .krdv-pro-panel-head {
    padding: 14px 15px !important;
    border-radius: 18px !important;
  }
#krdv-pro-overview .krdv-pro-panel-head h3 {
    font-size: 1.12rem !important;
    line-height: 1.2 !important;
    max-width: none !important;
  }
#krdv-pro-overview .krdv-business-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
#krdv-pro-overview .krdv-business-overview-grid article,
  #krdv-pro-overview .krdv-growth-list article,
  #krdv-pro-overview .krdv-operations-cards article,
  #krdv-pro-overview .krdv-finance-stat-card {
    padding: 16px !important;
    border-radius: 18px !important;
  }
#krdv-pro-overview .krdv-business-overview-grid article:first-child {
    padding: 18px !important;
  }
#krdv-pro-overview .krdv-business-overview-grid article:first-child strong {
    font-size: 2rem !important;
  }
#krdv-pro-overview .krdv-business-overview-grid strong,
  #krdv-pro-overview .krdv-operations-cards strong,
  #krdv-pro-overview .krdv-finance-stat-card strong {
    font-size: 1.55rem !important;
  }
#krdv-pro-overview .krdv-business-overview-grid small,
  #krdv-pro-overview .krdv-growth-list span,
  #krdv-pro-overview .krdv-finance-stat-card small {
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
  }
#krdv-pro-overview .krdv-growth-list article::before {
    top: 16px !important;
    bottom: 16px !important;
  }
#krdv-pro-overview .krdv-finance-visual--summary {
    padding: 14px !important;
    border-radius: 18px !important;
  }
}
@media (max-width: 480px) {
#krdv-pro-overview .krdv-business-overview-grid {
    grid-template-columns: 1fr !important;
  }
#krdv-pro-overview .krdv-business-overview-grid article:first-child {
    grid-column: auto !important;
  }
}
/* Final device lock: login/mobile dashboard */
.krdv-password-field {
  width: 100%;
}
.krdv-password-field > input[type="password"],
.krdv-password-field > input[type="text"] {
  width: 100%;
  padding-right: 78px !important;
}
.krdv-password-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  transform: translateY(-50%) !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 54px !important;
  max-width: 72px !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  z-index: 2 !important;
  box-shadow: 0 8px 18px rgba(13, 27, 61, 0.12) !important;
}
/* Stable pro dashboard layout: one top navigation, one visible panel, viewport breakout. */
.krdv-dashboard-breakout {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}
@media (min-width: 1024px) {
.kb-dashboard-page.page-slug-mon-espace-pro .krdv-dashboard-breakout,
  body.page-slug-mon-espace-pro .krdv-dashboard-breakout {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
  }
.krdv-provider-switcher {
    margin: 0 0 22px !important;
  }
.krdv-provider-switcher label {
    min-width: min(420px, 100%) !important;
  }
.krdv-provider-switcher select {
    min-height: 56px !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(13, 27, 61, 0.06) !important;
  }
#krdv-pro-overview.krdv-pro-shell {
    padding: 12px 0 4px !important;
    gap: 24px !important;
  }
.krdv-pro-shell-actions {
    align-items: center !important;
  }
.krdv-dashboard-metrics {
    gap: 18px !important;
  }
.krdv-dashboard-metrics article {
    border-radius: 22px !important;
    padding: 20px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
.krdv-dashboard-breakout {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding-inline: 0 !important;
  }
}
@media (max-width: 767px) {
.krdv-dashboard-breakout {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding-inline: 0 !important;
  }
.krdv-provider-switcher {
    display: none !important;
  }
}
.krdv-story-backdrop {
  background: linear-gradient(180deg, rgba(7, 20, 45, 0.16) 0%, rgba(7, 20, 45, 0.08) 28%, rgba(7, 20, 45, 0.32) 100%) !important;
}
.krdv-story-noise {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.02), transparent 34%),
    radial-gradient(circle at bottom right, rgba(62, 173, 212, 0.12), transparent 28%),
    radial-gradient(circle at top left, rgba(106, 170, 228, 0.08), transparent 24%) !important;
}
.krdv-story-qr-card {
  background: linear-gradient(180deg, rgba(252, 254, 255, 0.98), rgba(239, 247, 255, 0.95)) !important;
  border-color: rgba(103, 147, 187, 0.18) !important;
  box-shadow: 0 18px 34px rgba(13, 27, 61, 0.12) !important;
}
.krdv-story-qr-copy {
  display: grid !important;
  gap: 6px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(246, 251, 255, 0.96), rgba(233, 242, 250, 0.92)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 10px 24px rgba(13, 27, 61, 0.08) !important;
}
.krdv-story-qr-copy h4 {
  color: #102650 !important;
}
.krdv-story-qr-copy p,
.krdv-story-qr-copy span {
  color: #4f6281 !important;
}
.krdv-story-footer {
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(7, 20, 39, 0.52), rgba(7, 20, 39, 0.72)) !important;
  box-shadow: 0 12px 28px rgba(4, 10, 23, 0.16) !important;
  backdrop-filter: blur(10px) !important;
}
.krdv-story-site-link {
  color: #ffffff !important;
}
.krdv-story-social {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}
/* Final button contrast pass: keep resting states readable across the site */
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok),
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok):link,
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok):visited {
  background: #ffffff !important;
  background-image: none !important;
  color: #223456 !important;
  -webkit-text-fill-color: #223456 !important;
  border-color: rgba(16, 38, 80, 0.16) !important;
  box-shadow:
    0 10px 22px rgba(13, 27, 61, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
}
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok) *,
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok):link *,
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok):visited * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
.krdv-provider-action .krdv-provider-action-text,
.krdv-provider-action:link .krdv-provider-action-text,
.krdv-provider-action:visited .krdv-provider-action-text,
.krdv-provider-book,
.krdv-provider-slots button {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok):hover,
.krdv-provider-action:not(.is-primary):not(.is-facebook):not(.is-instagram):not(.is-whatsapp):not(.is-threads):not(.is-tiktok):focus-visible {
  background: #f8fbff !important;
  background-image: none !important;
  color: #182949 !important;
  -webkit-text-fill-color: #182949 !important;
  border-color: rgba(29, 149, 172, 0.22) !important;
}
/* Mon compte: strong contrast for the key action buttons */
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-actions .krdv-provider-action.is-primary,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions .krdv-provider-action,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions button[type="submit"],
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions .krdv-provider-action.is-primary,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions button[type="submit"] {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.2) !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-actions .krdv-provider-action.is-primary *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions .krdv-provider-action *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions button[type="submit"] *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions .krdv-provider-action.is-primary *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions button[type="submit"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action .krdv-provider-action-text,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-actions .krdv-provider-action.is-primary .krdv-provider-action-text,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions .krdv-provider-action .krdv-provider-action-text,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions button[type="submit"] .krdv-provider-action-text,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions .krdv-provider-action.is-primary .krdv-provider-action-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-tour-launch,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-tour-launch *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-empty .krdv-provider-action.is-primary,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-empty .krdv-provider-action.is-primary * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-row .krdv-provider-action,
.krdv-provider-row .krdv-provider-action:link,
.krdv-provider-row .krdv-provider-action:visited,
.krdv-provider-row .krdv-provider-action .krdv-provider-action-text {
  color: #223456 !important;
  -webkit-text-fill-color: #223456 !important;
}
.krdv-provider-row .krdv-provider-action.is-primary,
.krdv-provider-row .krdv-provider-action.is-primary:link,
.krdv-provider-row .krdv-provider-action.is-primary:visited,
.krdv-provider-row .krdv-provider-action.is-primary .krdv-provider-action-text,
.krdv-provider-row .krdv-provider-action.is-instagram .krdv-provider-action-text,
.krdv-provider-row .krdv-provider-action.is-whatsapp .krdv-provider-action-text,
.krdv-provider-row .krdv-provider-action.is-tiktok .krdv-provider-action-text,
.krdv-provider-book,
.krdv-provider-book:link,
.krdv-provider-book:visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-row .krdv-provider-action.is-primary,
.krdv-provider-row .krdv-provider-action.is-primary:link,
.krdv-provider-row .krdv-provider-action.is-primary:visited {
  background: #16315f !important;
  background-image: none !important;
  border: 1px solid #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
}
.krdv-provider-row .krdv-provider-action.is-primary:hover,
.krdv-provider-row .krdv-provider-action.is-primary:focus-visible {
  background: #1b3b73 !important;
  background-image: none !important;
  border-color: #1d4c90 !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-date .krdv-provider-action:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-actions .krdv-provider-action.is-primary:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-booking-actions .krdv-provider-action.is-primary:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions .krdv-provider-action:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions .krdv-provider-action:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions button[type="submit"]:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-booking-thread-actions button[type="submit"]:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions .krdv-provider-action.is-primary:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions .krdv-provider-action.is-primary:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions button[type="submit"]:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-account-actions button[type="submit"]:focus-visible {
  background: #102854 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #0c1d3f !important;
  box-shadow: 0 16px 32px rgba(16, 38, 80, 0.24) !important;
}
@media (max-width: 700px) {
.krdv-booking-thread {
    gap: 10px;
    padding: 14px;
  }
.krdv-settings-accordion summary,
  .krdv-settings-accordion-body {
    padding-left: 16px;
    padding-right: 16px;
  }
.krdv-kit-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
.krdv-kit-actions .button {
    width: 100%;
    justify-content: center;
  }
.krdv-booking-thread-item {
    padding: 12px;
    border-radius: 16px;
  }
.krdv-booking-thread-meta {
    gap: 6px 8px;
  }
.krdv-booking-thread-form textarea {
    min-height: 92px;
    padding: 13px 14px;
  }
.krdv-booking-thread-actions {
    justify-content: stretch;
  }
.krdv-booking-thread-actions .krdv-provider-action {
    width: 100%;
    justify-content: center;
  }
}
.krdv-tour-launch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(13, 27, 61, 0.12);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.98));
  color: var(--krdv-ink);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}
.krdv-tour-launch:hover,
.krdv-tour-launch:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(29, 149, 172, 0.26);
  box-shadow: 0 16px 30px rgba(13, 27, 61, 0.12);
  color: var(--krdv-navy);
}
.krdv-tour-launch--inline {
  min-height: 42px;
  padding: 0 14px;
}
.krdv-account-mobile-tour-launch {
  display: none;
}
.krdv-tour-open {
  /* Le défilement reste possible : le masque suit la page (écouteur de
     scroll) et chaque étape amène son élément au centre de l'écran. */
  scroll-behavior: smooth;
}
/* Le voile lui-même est transparent : ce sont les quatre panneaux qui
   assombrissent et floutent, en laissant un trou net sur l'élément
   commenté. Voir le commentaire de placeTourMask() dans public.js. */
.krdv-tour-overlay {
  /* Le voile est ajouté à <body>, hors des conteneurs qui déclarent les
     variables de marque (.krdv-customer-space, .krdv-pro-space...). On les
     redéclare ici, sinon la carte d'explication perd ses couleurs. */
  --krdv-navy: #0B2A4A;
  --krdv-turquoise: #12A79A;
  --krdv-ink: #0f1a33;
  --krdv-muted: #5a6680;

  position: fixed;
  inset: 0;
  /* Au-dessus de l'élément mis en avant (z-index 100001) : la carte
     d'explication doit rester lisible même si l'élément commenté est plus
     haut que l'écran et déborde du trou. */
  z-index: 100002;
  background: transparent;
  pointer-events: none;
}
.krdv-tour-mask {
  position: fixed;
  background: rgba(8, 21, 44, 0.46);
  pointer-events: auto;
  cursor: pointer;
}
/* Repli sans backdrop-filter (anciens Firefox) : les panneaux restent
   simplement assombris, la visite fonctionne à l'identique sans le flou. */
@supports ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .krdv-tour-mask {
    background: rgba(8, 21, 44, 0.32);
    -webkit-backdrop-filter: blur(5px) saturate(0.85);
    backdrop-filter: blur(5px) saturate(0.85);
  }
}
.krdv-tour-spotlight {
  position: fixed;
  z-index: 1;
  border-radius: 24px;
  box-shadow:
    0 0 0 2px rgba(29, 149, 172, 0.85),
    0 0 0 6px rgba(129, 208, 233, 0.22),
    0 18px 40px rgba(8, 21, 44, 0.24);
  pointer-events: none;
  transition:
    top 220ms ease,
    left 220ms ease,
    width 220ms ease,
    height 220ms ease;
}
.krdv-tour-spotlight-label {
  position: fixed;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  max-width: min(220px, calc(100vw - 24px));
  padding: 0 12px;
  border-radius: 999px;
  background: #102650;
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 14px 26px rgba(8, 21, 44, 0.24);
  pointer-events: none;
}
.krdv-tour-card {
  position: fixed;
  z-index: 3;
  /* Le voile ne capte pas les clics : la carte doit les récupérer
     explicitement, sinon ses boutons ne répondent plus. */
  pointer-events: auto;
  display: grid;
  gap: 12px;
  padding: 20px;
  max-height: calc(100vh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 250, 254, 0.98));
  box-shadow: 0 28px 60px rgba(8, 21, 44, 0.22);
}
.krdv-tour-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(29, 149, 172, 0.1);
  color: var(--krdv-turquoise);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.krdv-tour-title {
  color: var(--krdv-ink);
  font-size: 1.28rem;
  line-height: 1.16;
}
.krdv-tour-body,
.krdv-tour-count {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.58;
}
.krdv-tour-count {
  font-size: 0.88rem;
  font-weight: 700;
}
.krdv-tour-track {
  height: 4px;
  border-radius: 999px;
  background: rgba(13, 27, 61, 0.1);
  overflow: hidden;
}
.krdv-tour-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--krdv-turquoise), #81d0e9);
  transition: width 240ms ease;
}
.krdv-tour-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.krdv-tour-actions-main {
  display: flex;
  align-items: center;
  gap: 10px;
}
.krdv-tour-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease,
    color 180ms ease,
    border-color 180ms ease;
}
.krdv-tour-button.is-primary {
  border: 1px solid #102650;
  background: #102650;
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(16, 38, 80, 0.18);
}
.krdv-tour-button.is-primary:hover,
.krdv-tour-button.is-primary:focus-visible {
  transform: translateY(-1px);
  background: #0c1d3f;
  border-color: #0c1d3f;
}
.krdv-tour-button.is-secondary,
.krdv-tour-button.is-ghost {
  border: 1px solid rgba(13, 27, 61, 0.12);
  background: rgba(255, 255, 255, 0.96);
  color: var(--krdv-ink);
}
.krdv-tour-button.is-secondary:hover,
.krdv-tour-button.is-secondary:focus-visible,
.krdv-tour-button.is-ghost:hover,
.krdv-tour-button.is-ghost:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(29, 149, 172, 0.26);
  color: var(--krdv-navy);
}
.is-krdv-tour-target {
  position: relative;
  z-index: 100001;
  box-shadow:
    0 0 0 3px rgba(255, 255, 255, 0.72),
    0 0 0 7px rgba(129, 208, 233, 0.28),
    0 18px 36px rgba(8, 21, 44, 0.18);
  border-radius: 24px;
}
.is-krdv-tour-target,
.is-krdv-tour-target * {
  filter: none !important;
  backdrop-filter: none !important;
}
.krdv-dashboard-grid-analytics {
  display: grid;
  gap: 24px;
}
.krdv-business-overview-grid-detailed {
  margin-bottom: 18px;
}
.krdv-detailed-stats-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}
.krdv-detailed-stats-card,
.krdv-client-file-card {
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(16, 38, 80, 0.08);
}
.krdv-detailed-stats-card {
  padding: 22px 24px;
}
.krdv-detailed-stats-card h4,
.krdv-client-file-history h4 {
  margin: 0 0 14px;
  color: #102650;
  font-size: 1.05rem;
}
.krdv-detailed-ranking {
  display: grid;
  gap: 12px;
}
.krdv-detailed-ranking-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(244, 248, 255, 0.98) 0%, rgba(236, 244, 255, 0.92) 100%);
}
.krdv-detailed-ranking-row strong,
.krdv-detailed-ranking-row span {
  color: #102650;
}
.krdv-detailed-ranking-row small {
  display: block;
  margin-top: 4px;
  color: #6d7895;
}
.krdv-client-file-filters,
.krdv-client-file-editor {
  display: grid;
  gap: 18px;
}
.krdv-client-file-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.krdv-client-file-stats article {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 248, 255, 0.94) 100%);
  box-shadow: 0 14px 34px rgba(16, 38, 80, 0.06);
}
.krdv-client-file-stats span {
  color: #6d7895;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-client-file-stats strong {
  color: #102650;
  font-size: 1.35rem;
  line-height: 1.05;
}
.krdv-client-file-toolbar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(180px, 1fr));
  gap: 14px;
}
.krdv-client-filter-field {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(245, 249, 255, 0.95) 100%);
  box-shadow: 0 14px 34px rgba(16, 38, 80, 0.05);
}
.krdv-client-filter-field span {
  color: #102650;
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.krdv-client-filter-field small {
  color: #6d7895;
  font-size: 0.84rem;
  line-height: 1.45;
}
.krdv-client-filter-field input,
.krdv-client-filter-field select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(16, 38, 80, 0.12);
  border-radius: 16px;
  background: #fff;
  color: #102650;
  font: inherit;
  font-size: 0.98rem;
  padding: 0 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.krdv-client-filter-field input:focus,
.krdv-client-filter-field select:focus {
  border-color: rgba(29, 149, 172, 0.34);
  box-shadow: 0 0 0 4px rgba(29, 149, 172, 0.12);
  outline: none;
}
.krdv-client-filter-field--search {
  background:
    radial-gradient(circle at top right, rgba(29, 149, 172, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(245, 249, 255, 0.95) 100%);
}
.krdv-account-actions--client-file {
  align-items: stretch;
  gap: 10px;
}
.krdv-account-actions--client-file > button[type="submit"],
.krdv-account-actions--client-file > a {
  min-height: 48px;
}
.krdv-client-file-list {
  gap: 18px;
}
.krdv-client-file-card summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 22px;
}
.krdv-client-file-card summary::-webkit-details-marker {
  display: none;
}
.krdv-client-file-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}
.krdv-client-file-avatar {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(229, 244, 250, 0.95) 0%, rgba(243, 248, 255, 0.92) 100%);
  border: 1px solid rgba(64, 181, 214, 0.18);
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #102650;
  font-weight: 800;
}
.krdv-client-file-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.krdv-client-file-copy strong {
  display: block;
  color: #102650;
  font-size: 1.1rem;
}
.krdv-client-file-copy small {
  display: block;
  margin-top: 5px;
  color: #6d7895;
}
.krdv-client-file-metrics {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.krdv-client-file-body {
  padding: 0 22px 22px;
  display: grid;
  gap: 18px;
}
.krdv-client-file-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.krdv-client-file-overview article {
  border-radius: 18px;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(244, 248, 255, 0.96) 0%, rgba(236, 244, 255, 0.9) 100%);
}
.krdv-client-file-overview span {
  display: block;
  color: #6d7895;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-client-file-overview strong {
  display: block;
  margin-top: 8px;
  color: #102650;
  font-size: 1rem;
}
.krdv-client-file-history .krdv-accounting-table-wrap {
  margin-top: 10px;
}
@media (max-width: 767px) {
.krdv-account-hero-links .krdv-tour-launch--inline {
    display: none !important;
  }
.krdv-account-mobile-tour-launch {
    display: flex;
    justify-content: flex-start;
    margin-top: 12px;
  }
.krdv-account-mobile-tour-launch .krdv-tour-launch {
    min-height: 40px;
    padding: 0 14px;
    font-size: 0.88rem;
  }
.krdv-tour-card {
    gap: 10px;
    padding: 16px;
    border-radius: 20px;
    max-height: calc(100vh - 24px);
  }
.krdv-tour-title {
    font-size: 1.14rem;
  }
.krdv-tour-spotlight-label {
    min-height: 30px;
    max-width: calc(100vw - 32px);
    font-size: 0.72rem;
  }
.krdv-tour-actions {
    align-items: stretch;
    flex-direction: column;
  }
.krdv-tour-actions-main {
    width: 100%;
    justify-content: space-between;
  }
.krdv-tour-button {
    flex: 1 1 auto;
  }
.krdv-detailed-stats-split,
  .krdv-client-file-overview,
  .krdv-client-file-stats,
  .krdv-client-file-toolbar-grid,
  .krdv-mission-grid,
  .krdv-trust-grid {
    grid-template-columns: 1fr;
  }
.krdv-client-file-summary {
    grid-template-columns: 1fr;
  }
.krdv-client-file-metrics {
    justify-content: flex-start;
  }
#krdv-pro-overview-panel .krdv-dashboard-grid-missions,
  #krdv-pro-overview-panel .krdv-dashboard-grid-missions > .krdv-pro-panel,
  #krdv-pro-overview-panel .krdv-mission-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
  }
#krdv-pro-overview-panel .krdv-mission-grid {
    gap: 12px !important;
    grid-auto-rows: auto !important;
  }
#krdv-pro-overview-panel .krdv-mission-card {
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px !important;
    border-radius: 22px !important;
  }
#krdv-pro-overview-panel .krdv-mission-card .krdv-provider-action,
  #krdv-pro-overview-panel .krdv-mission-card .krdv-provider-action:link,
  #krdv-pro-overview-panel .krdv-mission-card .krdv-provider-action:visited {
    width: 100% !important;
    min-width: 0 !important;
  }
.krdv-account-actions--trust .krdv-provider-action,
  .krdv-account-actions--booking-empty .krdv-provider-action {
    width: 100%;
    justify-content: center;
  }
}
#krdv-pro-overview-panel {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#krdv-pro-overview-panel > * {
  margin: 0;
}
#krdv-pro-overview {
  order: 1;
}
#krdv-pro-overview-panel > .krdv-dashboard-metrics {
  order: 2;
}
#krdv-pro-overview-panel > .krdv-dashboard-grid-missions {
  order: 3;
}
#krdv-pro-overview-panel > .krdv-dashboard-grid-trust-shell {
  order: 4;
}
#krdv-pro-overview-panel > .krdv-dashboard-grid-launchpad {
  order: 5;
}
#krdv-pro-overview-panel > .krdv-dashboard-grid-business {
  order: 6;
}
#krdv-pro-overview-panel > .krdv-dashboard-grid-operations {
  order: 7;
}
#krdv-pro-overview-panel > .krdv-dashboard-grid-analytics-teaser {
  order: 8;
}
@media (max-width: 980px) {
.krdv-visual-guidance-grid {
    grid-template-columns: 1fr;
  }
[data-krdv-sortable-overview] > [data-krdv-overview-block]::before {
    display: none;
  }
.krdv-client-file-toolbar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.krdv-mission-grid,
  .krdv-trust-grid {
    grid-template-columns: 1fr;
  }
.krdv-payments-readiness {
    padding: 16px;
  }
}
.krdv-dashboard-grid-missions .krdv-pro-panel,
.krdv-dashboard-grid-trust-shell .krdv-account-side-card--notifications {
  min-height: 0;
}
.krdv-dashboard-grid-trust-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.krdv-dashboard-grid-trust-shell > .krdv-account-side-card--notifications {
  height: 100%;
}
.krdv-mission-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
  grid-auto-rows: 1fr;
}
.krdv-mission-card {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 18px 18px 20px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 255, 0.94) 100%);
  box-shadow: 0 14px 32px rgba(16, 38, 80, 0.05);
}
.krdv-mission-card-head {
  display: grid;
  gap: 8px;
}
.krdv-mission-card-head strong {
  color: var(--krdv-ink);
  font-size: 1.08rem;
  line-height: 1.2;
}
.krdv-mission-card p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.55;
}
.krdv-mission-card .krdv-provider-action,
.krdv-mission-card .krdv-provider-action:link,
.krdv-mission-card .krdv-provider-action:visited {
  width: 100%;
  min-height: 48px;
  text-decoration: none;
}
.krdv-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
  grid-auto-rows: 1fr;
}
.krdv-payments-readiness {
  display: grid;
  gap: 16px;
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(246, 250, 255, 0.95) 100%);
  box-shadow: 0 14px 32px rgba(16, 38, 80, 0.05);
}
.krdv-payments-readiness-head {
  display: grid;
  gap: 8px;
}
.krdv-payments-readiness-head strong {
  color: var(--krdv-ink);
  font-size: 1.02rem;
  line-height: 1.45;
}
.krdv-trust-card {
  display: grid;
  gap: 8px;
  padding: 18px 18px 20px;
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 249, 255, 0.94) 100%);
}
.krdv-trust-card span:first-child {
  color: #6d7895;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.krdv-trust-card strong {
  color: var(--krdv-ink);
  font-size: 1.05rem;
  line-height: 1.2;
}
.krdv-trust-card small {
  color: var(--krdv-muted);
  line-height: 1.5;
}
.krdv-account-actions--trust,
.krdv-account-actions--booking-empty {
  margin-top: 14px;
  align-items: stretch;
  gap: 10px;
}
.krdv-account-actions--trust .krdv-provider-action,
.krdv-account-actions--trust .krdv-provider-action:link,
.krdv-account-actions--trust .krdv-provider-action:visited,
.krdv-account-actions--booking-empty .krdv-provider-action,
.krdv-account-actions--booking-empty .krdv-provider-action:link,
.krdv-account-actions--booking-empty .krdv-provider-action:visited {
  min-height: 48px;
  text-decoration: none;
  flex: 1 1 220px;
  justify-content: center;
}
.krdv-report-shell,
.krdv-settlement-shell,
.krdv-settlement-history {
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(246, 249, 255, 0.96) 100%);
  box-shadow: 0 18px 42px rgba(16, 38, 80, 0.07);
}
.krdv-gallery-current-preview {
  display: grid;
  gap: 10px;
}
.krdv-gallery-current-preview > span {
  color: #102650;
  font-size: 0.92rem;
  font-weight: 800;
}
.krdv-pro-calendar-window .krdv-account-actions {
  align-items: center;
}
.krdv-pro-calendar-window input[readonly] {
  background: linear-gradient(180deg, #f3f7fc, #edf3fa);
  color: #526280;
}
@media (min-width: 1024px) {
.krdv-dashboard-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(16, 38, 80, 0.08);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 255, 0.96) 100%);
    box-shadow: 0 18px 42px rgba(16, 38, 80, 0.07);
  }
.krdv-dashboard-metrics article {
    border: 0 !important;
    border-right: 1px solid rgba(16, 38, 80, 0.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
.krdv-dashboard-metrics article:last-child {
    border-right: 0 !important;
  }
}
.krdv-report-shell,
.krdv-settlement-shell {
  margin-bottom: 18px;
  padding: 22px 24px;
}
.krdv-report-head,
.krdv-settlement-history-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.krdv-report-head strong,
.krdv-settlement-history-head h4 {
  display: block;
  color: #102650;
  font-size: 1.1rem;
  font-weight: 800;
}
.krdv-report-head small {
  display: block;
  margin-top: 6px;
  color: #6d7895;
  line-height: 1.65;
}
.krdv-report-nav,
.krdv-settlement-tabs,
.krdv-settlement-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-report-nav-chip,
.krdv-settlement-tab,
.krdv-settlement-switch span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 999px;
  background: rgba(239, 244, 252, 0.92);
  border: 1px solid rgba(16, 38, 80, 0.08);
  color: #6d7895;
  font-size: 0.86rem;
  font-weight: 700;
}
.krdv-report-nav-chip.is-active,
.krdv-settlement-tab.is-active,
.krdv-settlement-switch .is-active {
  background: #ffffff;
  color: #102650;
  box-shadow: 0 8px 20px rgba(16, 38, 80, 0.08);
}
.krdv-report-grid,
.krdv-settlement-topgrid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
  gap: 20px;
}
.krdv-report-chart,
.krdv-settlement-card {
  border: 1px solid rgba(16, 38, 80, 0.08);
  border-radius: 24px;
  background: #fff;
  padding: 22px;
}
.krdv-report-chart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.krdv-report-chart-head h4,
.krdv-settlement-card h4 {
  margin: 0;
  color: #102650;
  font-size: 1.02rem;
}
.krdv-report-chart-head span,
.krdv-settlement-card p,
.krdv-settlement-meta span {
  color: #6d7895;
}
.krdv-report-bars {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}
.krdv-report-bar-card {
  border-radius: 20px;
  padding: 16px 14px;
  background: linear-gradient(180deg, rgba(243, 248, 255, 0.95) 0%, rgba(235, 244, 255, 0.9) 100%);
  display: grid;
  gap: 8px;
}
.krdv-report-bar-card.is-current {
  background: linear-gradient(180deg, rgba(233, 248, 240, 0.98) 0%, rgba(243, 252, 247, 0.95) 100%);
}
.krdv-report-bar-visual {
  height: 144px;
  display: flex;
  align-items: flex-end;
}
.krdv-report-bar-visual i {
  display: block;
  width: 100%;
  border-radius: 16px 16px 6px 6px;
  background: linear-gradient(180deg, rgba(88, 196, 120, 0.92) 0%, rgba(68, 177, 102, 0.98) 100%);
  min-height: 16px;
}
.krdv-report-bar-card strong,
.krdv-report-bar-card span,
.krdv-report-sidecards article strong,
.krdv-settlement-card strong {
  color: #102650;
}
.krdv-report-bar-card span,
.krdv-report-bar-card small,
.krdv-report-sidecards article small {
  color: #6d7895;
}
.krdv-report-sidecards {
  display: grid;
  gap: 14px;
}
.krdv-report-sidecards article {
  border-radius: 22px;
  padding: 18px;
  background: #fff;
  border: 1px solid rgba(16, 38, 80, 0.08);
  box-shadow: 0 14px 34px rgba(16, 38, 80, 0.06);
}
.krdv-report-sidecards span,
.krdv-settlement-card h4 {
  display: block;
}
.krdv-settlement-card strong {
  display: block;
  margin-top: 8px;
  font-size: 2rem;
}
.krdv-settlement-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.krdv-settlement-actions span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 14px;
  background: rgba(243, 239, 255, 0.92);
  color: #6b5ea8;
  font-size: 0.8rem;
  font-weight: 700;
}
.krdv-settlement-meta {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}
.krdv-settlement-history {
  margin-top: 18px;
  padding: 22px 24px;
}
.krdv-status-chip-inline {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(239, 244, 252, 0.92);
  color: #5e6b89;
  font-size: 0.78rem;
  font-weight: 800;
}
@media (max-width: 980px) {
.krdv-report-grid,
  .krdv-settlement-topgrid {
    grid-template-columns: 1fr;
  }
.krdv-report-bars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
.krdv-report-shell,
  .krdv-settlement-shell,
  .krdv-settlement-history {
    padding: 18px;
    border-radius: 24px;
  }
.krdv-report-head,
  .krdv-settlement-history-head {
    flex-direction: column;
  }
.krdv-report-bars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.krdv-period-comparison-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.krdv-period-comparison-card {
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(14,33,76,.08);
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 18px 34px rgba(12,28,66,.06);
}
.krdv-period-comparison-card span {
  display:block;
  color:#66728f;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.krdv-period-comparison-card strong {
  display:block;
  margin-top:10px;
  color:#0d1b3d;
  font-size:1.45rem;
  line-height:1.1;
}
.krdv-period-comparison-card small {
  display:block;
  margin-top:8px;
  color:#697691;
  line-height:1.55;
}
.krdv-promo-chip--segment {
  background:#e8f6fb;
  color:#0c6d84;
}
.krdv-account-side-card--growth {
  margin-top:22px;
}
.krdv-detailed-ranking-row span small {
  display:block;
  margin-top:4px;
  color:#6e7894;
  font-size:.78rem;
  font-weight:700;
}
@media (max-width: 980px) {
.krdv-period-comparison-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 640px) {
.krdv-period-comparison-grid {
    grid-template-columns:1fr;
  }
}
.krdv-provider-action--help,
.krdv-provider-action--help:link,
.krdv-provider-action--help:visited {
  background: linear-gradient(180deg, #16315f, #0d2148) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.2) !important;
}
.krdv-provider-action--help:hover,
.krdv-provider-action--help:focus-visible {
  background: linear-gradient(180deg, #1b3b73, #102650) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-account-actions .krdv-provider-action--help,
.krdv-account-actions .krdv-provider-action--help:link,
.krdv-account-actions .krdv-provider-action--help:visited,
.krdv-provider-action.is-primary.krdv-provider-action--help,
.krdv-provider-action.is-primary.krdv-provider-action--help:link,
.krdv-provider-action.is-primary.krdv-provider-action--help:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid #102650 !important;
  border-radius: 999px;
  background: linear-gradient(180deg, #16315f, #0d2148) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.2) !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.krdv-account-actions .krdv-provider-action--help *,
.krdv-provider-action.is-primary.krdv-provider-action--help * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-account-actions .krdv-provider-action--help:hover,
.krdv-account-actions .krdv-provider-action--help:focus-visible,
.krdv-provider-action.is-primary.krdv-provider-action--help:hover,
.krdv-provider-action.is-primary.krdv-provider-action--help:focus-visible {
  border-color: #1d4c90 !important;
  background: linear-gradient(180deg, #1b3b73, #102650) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-provider-action--catalog-save,
.krdv-provider-action--catalog-save:link,
.krdv-provider-action--catalog-save:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid #102650 !important;
  border-radius: 999px;
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.2) !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.krdv-provider-action--catalog-save * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-provider-action--catalog-save:hover,
.krdv-provider-action--catalog-save:focus-visible {
  border-color: #1d4c90 !important;
  background: #1b3b73 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
  transform: translateY(-2px);
}
.krdv-dashboard-services--cards {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.krdv-dashboard-services--accordion {
  display: grid;
  gap: 12px;
}
.krdv-service-accordion {
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98));
  box-shadow: 0 18px 42px rgba(11, 30, 66, 0.08);
  overflow: hidden;
}
.krdv-service-accordion summary {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 18px 22px;
  cursor: pointer;
}
.krdv-service-accordion summary::-webkit-details-marker {
  display: none;
}
.krdv-service-accordion summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(32, 171, 216, 0.12);
  color: #127da0;
  font-weight: 800;
  font-size: 1.1rem;
}
.krdv-service-accordion[open] summary::after {
  content: "−";
}
.krdv-service-accordion summary {
  position: relative;
  padding-right: 58px;
}
.krdv-service-accordion-main,
.krdv-service-accordion-side {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.krdv-service-accordion-kicker {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7895;
}
.krdv-service-accordion-main strong {
  font-size: 1.15rem;
  line-height: 1.2;
  color: #102650;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.krdv-service-accordion-side {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10px;
  text-align: left;
}
.krdv-service-accordion-side em {
  font-style: normal;
  font-size: 1.05rem;
  font-weight: 800;
  color: #ff7a59;
}
.krdv-service-accordion-side small {
  margin: 0;
  font-size: 0.85rem;
  color: #6b7895;
  white-space: nowrap;
}
.krdv-service-accordion-body {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  padding: 0 22px 18px;
  border-top: 1px solid rgba(13, 27, 61, 0.08);
}
.krdv-service-card-thumb--accordion {
  width: 92px;
  height: 116px;
  margin-top: 14px;
  border-radius: 18px;
}
.krdv-service-accordion-content {
  display: grid;
  gap: 10px;
  padding-top: 14px;
  min-width: 0;
}
.krdv-service-accordion-content p {
  margin: 0;
  color: #55627f;
  line-height: 1.65;
}
.krdv-service-card--dashboard {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  padding: 18px;
  border-radius: 24px;
}
.krdv-service-card--dashboard .krdv-service-card-thumb {
  width: 110px;
  height: 132px;
  margin: 0;
  border-radius: 20px;
}
.krdv-service-card-body {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.krdv-service-card-topline,
.krdv-service-card-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.krdv-service-card-topline {
  justify-content: space-between;
}
.krdv-service-card--dashboard h3 {
  font-size: 1.45rem;
  line-height: 1.08;
}
.krdv-service-card--dashboard small {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.65;
}
.krdv-service-card-meta span,
.krdv-service-card-meta .krdv-provider-badge,
.krdv-service-card-meta em {
  min-height: 32px;
}
.krdv-services-editor,
.krdv-services-editor--front {
  display: grid;
  gap: 18px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(13, 27, 61, 0.08);
}
.krdv-services-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.krdv-services-editor-head p {
  margin: 0;
  color: var(--krdv-muted);
  line-height: 1.7;
}
.krdv-services-editor-head .button,
.krdv-services-editor-head .button:link,
.krdv-services-editor-head .button:visited,
.krdv-service-row-actions .button-link-delete {
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid #102650 !important;
  background: linear-gradient(180deg, #16315f, #0d2148) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
  font-weight: 800;
}
.krdv-services-editor-head .button:hover,
.krdv-services-editor-head .button:focus-visible,
.krdv-service-row-actions .button-link-delete:hover,
.krdv-service-row-actions .button-link-delete:focus-visible {
  border-color: #1d4c90 !important;
  background: linear-gradient(180deg, #1b3b73, #102650) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-services-editor + .krdv-account-actions .krdv-provider-action,
.krdv-services-editor + .krdv-account-actions .krdv-provider-action:link,
.krdv-services-editor + .krdv-account-actions .krdv-provider-action:visited,
.krdv-provider-action--catalog-save,
.krdv-provider-action--catalog-save:link,
.krdv-provider-action--catalog-save:visited,
.krdv-provider-action--help,
.krdv-provider-action--help:link,
.krdv-provider-action--help:visited,
.krdv-provider-action--featured-request,
.krdv-provider-action--featured-request:link,
.krdv-provider-action--featured-request:visited,
.krdv-provider-action--collaborator-remove,
.krdv-provider-action--collaborator-remove:link,
.krdv-provider-action--collaborator-remove:visited,
.krdv-collaborators-editor .button-link-delete,
.krdv-collaborators-editor .button-link-delete:link,
.krdv-collaborators-editor .button-link-delete:visited,
.krdv-join-form .krdv-account-actions > button[type="submit"],
.krdv-join-form .krdv-account-actions > button[type="submit"]:link,
.krdv-join-form .krdv-account-actions > button[type="submit"]:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid #102650 !important;
  border-radius: 999px;
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
  text-decoration: none !important;
  white-space: nowrap;
  font-weight: 800;
}
.krdv-services-editor + .krdv-account-actions .krdv-provider-action *,
.krdv-provider-action--catalog-save *,
.krdv-provider-action--help *,
.krdv-provider-action--featured-request *,
.krdv-provider-action--collaborator-remove *,
.krdv-collaborators-editor .button-link-delete *,
.krdv-join-form .krdv-account-actions > button[type="submit"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-services-editor + .krdv-account-actions .krdv-provider-action:hover,
.krdv-services-editor + .krdv-account-actions .krdv-provider-action:focus-visible,
.krdv-provider-action--catalog-save:hover,
.krdv-provider-action--catalog-save:focus-visible,
.krdv-provider-action--help:hover,
.krdv-provider-action--help:focus-visible,
.krdv-provider-action--featured-request:hover,
.krdv-provider-action--featured-request:focus-visible,
.krdv-provider-action--collaborator-remove:hover,
.krdv-provider-action--collaborator-remove:focus-visible,
.krdv-collaborators-editor .button-link-delete:hover,
.krdv-collaborators-editor .button-link-delete:focus-visible,
.krdv-join-form .krdv-account-actions > button[type="submit"]:hover,
.krdv-join-form .krdv-account-actions > button[type="submit"]:focus-visible {
  border-color: #1d4c90 !important;
  background: #1b3b73 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
  transform: translateY(-2px);
}
.krdv-services-rows {
  display: grid;
  gap: 16px;
}
.krdv-service-row {
  padding: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.96));
  box-shadow: 0 14px 32px rgba(13, 27, 61, 0.05);
}
.krdv-service-row-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.krdv-service-row-grid label {
  display: grid;
  gap: 8px;
}
.krdv-service-row-grid label small {
  color: var(--krdv-muted);
  font-size: 0.8rem;
  line-height: 1.5;
}
.krdv-service-row-wide {
  grid-column: 1 / -1;
}
.krdv-service-row-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
.krdv-pro-panel-head--desktop-inline h3,
.krdv-pro-form-window-head--desktop-inline h4 {
  max-width: none;
}
.krdv-dashboard-grid-analytics .krdv-report-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 18px;
}
.krdv-report-recent-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-content: start;
}
.krdv-report-recent-card {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(244, 248, 252, 0.98));
}
.krdv-report-recent-card.is-current {
  background: linear-gradient(180deg, rgba(234, 248, 243, 0.98), rgba(245, 252, 248, 0.98));
  border-color: rgba(76, 190, 123, 0.22);
}
.krdv-report-recent-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.krdv-report-recent-card-top strong {
  font-size: 1rem;
  line-height: 1.2;
  color: #102650;
}
.krdv-report-recent-card-top span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(239, 244, 252, 0.92);
  font-size: 0.82rem;
  font-weight: 800;
  color: #5d6a87;
  white-space: nowrap;
}
.krdv-report-recent-meter {
  position: relative;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(213, 225, 242, 0.72);
}
.krdv-report-recent-meter i {
  display: block;
  height: 100%;
  min-width: 6%;
  border-radius: inherit;
  background: linear-gradient(90deg, #31acc3, #6fd0c5);
}
.krdv-report-recent-card small {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #6a7692;
}
.krdv-report-sidecards article {
  min-height: 132px;
}
.krdv-report-sidecards article strong {
  font-size: 2rem;
  line-height: 1;
}
.krdv-report-sidecards article small {
  font-size: 0.9rem;
  line-height: 1.5;
}
.krdv-report-chart {
  min-width: 0;
  overflow: hidden;
}
.krdv-report-chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.krdv-report-chart-head h4,
.krdv-report-chart-head span {
  min-width: 0;
}
.krdv-report-chart-head span {
  text-align: right;
}
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  min-width: 0;
}
.krdv-dashboard-grid-analytics .krdv-report-head {
  margin-bottom: 14px;
}
.krdv-dashboard-grid-analytics .krdv-report-head > div:first-child {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.krdv-dashboard-grid-analytics .krdv-report-nav {
  justify-content: flex-end;
  align-items: flex-start;
}
.krdv-dashboard-grid-analytics .krdv-report-nav-chip {
  min-height: 40px;
  padding-inline: 16px;
}
.krdv-report-nav a.krdv-report-nav-chip,
.krdv-report-nav a.krdv-report-nav-chip:link,
.krdv-report-nav a.krdv-report-nav-chip:visited {
  text-decoration: none;
}
.krdv-dashboard-grid-analytics-teaser {
  margin-top: 0 !important;
}
.krdv-dashboard-grid-analytics-teaser .krdv-pro-panel {
  min-height: 0;
  height: 100%;
}
#krdv-pro-overview.krdv-pro-shell {
  gap: 14px !important;
}
#krdv-pro-overview .krdv-dashboard-grid-bookings,
#krdv-pro-overview .krdv-dashboard-grid-analytics-teaser,
#krdv-pro-overview .krdv-dashboard-grid-business,
#krdv-pro-overview .krdv-dashboard-grid-operations {
  margin-top: 0 !important;
}
#krdv-pro-overview .krdv-dashboard-grid-bookings > .krdv-pro-panel,
#krdv-pro-overview .krdv-dashboard-grid-analytics-teaser > .krdv-pro-panel {
  align-self: start;
}
#krdv-pro-loyalty-panel .krdv-pro-panel-head--desktop-inline h3 {
  display: none !important;
}
.krdv-account-actions--analytics-teaser {
  margin-top: 10px;
  align-items: stretch;
  gap: 10px;
}
.krdv-account-actions--analytics-teaser .krdv-provider-action,
.krdv-account-actions--analytics-teaser .krdv-provider-action:link,
.krdv-account-actions--analytics-teaser .krdv-provider-action:visited {
  min-height: 52px;
  padding-inline: 22px;
  text-decoration: none;
  flex: 1 1 220px;
  justify-content: center;
}
.krdv-account-actions--analytics-teaser .krdv-provider-action--help,
.krdv-account-actions--analytics-teaser .krdv-provider-action--help:link,
.krdv-account-actions--analytics-teaser .krdv-provider-action--help:visited,
.krdv-account-actions--analytics-teaser .krdv-provider-action--help *,
.krdv-account-actions--analytics-teaser .krdv-provider-action--help span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
@media (min-width: 1100px) {
.krdv-pro-panel-head--desktop-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
  }
.krdv-pro-panel-head--desktop-inline p {
    margin: 0;
    flex: 0 0 auto;
  }
.krdv-pro-panel-head--desktop-inline h3 {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(1.35rem, 1.45vw, 1.9rem);
    line-height: 1.08;
  }
.krdv-pro-form-window-head--desktop-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
  }
.krdv-pro-form-window-head--desktop-inline h4 {
    white-space: nowrap;
    font-size: 1.02rem;
  }
#krdv-pro-loyalty-panel .krdv-pro-panel-head--desktop-inline {
    display: block;
  }
.krdv-dashboard-grid-analytics .krdv-report-shell {
    padding: 26px 28px;
  }
.krdv-dashboard-grid-analytics .krdv-report-chart {
    width: 100%;
    max-width: 100%;
  }
.krdv-dashboard-grid-analytics .krdv-report-bars {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: end;
  }
.krdv-dashboard-grid-analytics .krdv-report-bar-card {
    min-width: 0;
    padding-inline: 12px;
  }
.krdv-dashboard-grid-analytics .krdv-report-sidecards article {
    min-height: 118px;
    padding: 22px 24px;
  }
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
  }
#krdv-pro-overview .krdv-dashboard-grid-business,
  #krdv-pro-overview .krdv-dashboard-grid-operations,
  #krdv-pro-overview .krdv-dashboard-grid-analytics-teaser {
    gap: 10px !important;
    margin-top: 0 !important;
  }
#krdv-pro-overview .krdv-dashboard-grid-business,
  #krdv-pro-overview .krdv-dashboard-grid-operations {
    align-items: stretch !important;
  }
#krdv-pro-overview .krdv-dashboard-grid-business > .krdv-pro-panel,
  #krdv-pro-overview .krdv-dashboard-grid-operations > .krdv-pro-panel {
    height: 100%;
  }
.krdv-dashboard-grid-analytics-teaser .krdv-operations-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
.krdv-service-card--dashboard,
  .krdv-service-row-grid,
  .krdv-report-grid {
    grid-template-columns: 1fr;
  }
.krdv-account-booking-manage {
    grid-template-columns: 1fr;
  }
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.krdv-report-recent-list {
    grid-template-columns: 1fr;
  }
.krdv-dashboard-grid-analytics .krdv-report-head {
    display: grid;
    gap: 12px;
  }
.krdv-dashboard-grid-analytics .krdv-report-nav {
    justify-content: flex-start;
  }
.krdv-report-chart-head {
    display: grid;
    gap: 8px;
  }
.krdv-report-chart-head span {
    text-align: left;
  }
.krdv-service-card--dashboard .krdv-service-card-thumb {
    width: 100%;
    height: 160px;
  }
.krdv-service-accordion summary,
  .krdv-service-accordion-body {
    grid-template-columns: 1fr;
  }
.krdv-service-accordion-side {
    justify-items: start;
    text-align: left;
  }
.krdv-service-card-thumb--accordion {
    width: 100%;
    height: 180px;
  }
}
@media (max-width: 640px) {
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
    grid-template-columns: 1fr;
  }
.krdv-account-actions--analytics-teaser .krdv-provider-action {
    width: 100%;
    justify-content: center;
  }
}
@media (min-width: 1100px) {
.krdv-dashboard-grid-analytics > .krdv-pro-panel {
    min-width: 0;
  }
.krdv-dashboard-grid-analytics .krdv-report-shell {
    overflow: hidden;
  }
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
    margin-top: 2px;
    width: 100%;
  }
}
/* Final provider workspace polish */
.krdv-pro-nav {
  align-items: stretch;
}
.krdv-pro-nav > a,
.krdv-pro-nav > button {
  min-width: 0;
  height: 100%;
}
.krdv-pro-nav a .krdv-tab-badge,
.krdv-pro-nav button .krdv-tab-badge {
  display: flex;
  max-width: 100%;
  width: 100%;
  justify-content: center;
  text-align: center;
  white-space: normal;
  line-height: 1.18;
  padding-inline: 14px;
}
.krdv-pro-nav a small,
.krdv-pro-nav button small {
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: initial;
  line-height: 1.25;
}
#krdv-pro-overview.krdv-pro-shell,
#krdv-pro-overview-panel {
  gap: 12px !important;
}
#krdv-pro-overview-panel {
  gap: 20px !important;
}
.krdv-dashboard-metrics,
.krdv-client-file-stats {
  gap: 0 !important;
}
.krdv-dashboard-metrics > article,
.krdv-client-file-stats > article {
  min-width: 0;
}
#krdv-pro-overview .krdv-dashboard-grid-launchpad,
#krdv-pro-overview-panel > .krdv-dashboard-grid-trust-shell,
#krdv-pro-overview .krdv-dashboard-grid-business,
#krdv-pro-overview .krdv-dashboard-grid-operations,
#krdv-pro-overview .krdv-dashboard-grid-analytics-teaser,
#krdv-pro-overview .krdv-dashboard-grid-bookings {
  margin-top: 0 !important;
}
#krdv-pro-overview .krdv-dashboard-grid-launchpad > .krdv-pro-panel,
#krdv-pro-overview-panel > .krdv-dashboard-grid-trust-shell > .krdv-account-side-card--notifications,
#krdv-pro-overview .krdv-dashboard-grid-business > .krdv-pro-panel,
#krdv-pro-overview .krdv-dashboard-grid-operations > .krdv-pro-panel,
#krdv-pro-overview .krdv-dashboard-grid-analytics-teaser > .krdv-pro-panel,
#krdv-pro-overview .krdv-dashboard-grid-bookings > .krdv-pro-panel {
  margin-top: 0 !important;
  height: 100%;
}
.krdv-dashboard-grid,
.krdv-dashboard-grid > *,
.krdv-dashboard-metrics,
.krdv-dashboard-metrics > article,
.krdv-mission-card,
.krdv-trust-card,
.krdv-payout-grid,
.krdv-payout-grid > article,
.krdv-operations-cards-finance,
.krdv-operations-cards-finance > article {
  min-width: 0;
}
.krdv-dashboard-grid,
.krdv-dashboard-metrics,
.krdv-payout-grid,
.krdv-operations-cards-finance {
  align-items: stretch;
}
.krdv-dashboard-metrics article,
.krdv-mission-card,
.krdv-trust-card,
.krdv-payout-grid article,
.krdv-operations-cards-finance article,
.krdv-payment-action-form {
  height: 100%;
}
.krdv-payment-action-stack {
  align-items: stretch;
}
.krdv-payment-action-form {
  display: flex;
}
.krdv-payment-action-form .krdv-provider-action,
.krdv-payment-action-form .krdv-provider-action:link,
.krdv-payment-action-form .krdv-provider-action:visited {
  width: 100%;
}
.krdv-account-actions--analytics-teaser .krdv-provider-action.is-primary,
.krdv-account-actions--analytics-teaser .krdv-provider-action.is-primary:link,
.krdv-account-actions--analytics-teaser .krdv-provider-action.is-primary:visited {
  background: #102650 !important;
  background-image: none !important;
  border-color: #102650 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-account-actions--analytics-teaser .krdv-provider-action,
.krdv-account-actions--analytics-teaser .krdv-provider-action:link,
.krdv-account-actions--analytics-teaser .krdv-provider-action:visited {
  min-height: 48px;
  padding-inline: 18px;
  text-decoration: none;
}
#krdv-pro-profile-panel .krdv-pro-panel-head,
#krdv-pro-profile .krdv-pro-panel-head {
  display: grid;
  gap: 10px;
}
#krdv-pro-profile-panel .krdv-pro-panel-head h3,
#krdv-pro-profile .krdv-pro-panel-head h3 {
  width: 100%;
  max-width: none !important;
}
.krdv-client-file-toolbar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(190px, 1fr));
  gap: 12px;
  align-items: end;
}
.krdv-client-file-toolbar-grid > label {
  min-width: 0;
}
.krdv-client-file-toolbar-grid > label > span {
  display: block;
  margin-bottom: 8px;
  color: var(--krdv-ink);
  font-weight: 800;
}
.krdv-client-file-toolbar-grid input[type="text"],
.krdv-client-file-toolbar-grid select {
  min-height: 48px;
  border-radius: 16px;
  padding-inline: 16px;
}
.krdv-client-file-filters {
  display: grid;
  gap: 14px;
}
.krdv-client-filter-field {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 18px;
  background: rgba(248, 251, 255, 0.92);
}
.krdv-client-filter-field--search {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 249, 253, 0.95));
}
.krdv-client-filter-field--search input[type="text"] {
  width: 100%;
  min-width: 0;
}
.krdv-client-filter-field small {
  color: var(--krdv-muted);
  line-height: 1.45;
}
.krdv-account-actions--client-file,
.krdv-client-file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-account-actions--client-file button,
.krdv-account-actions--client-file .krdv-provider-action,
.krdv-account-actions--client-file .krdv-provider-action:link,
.krdv-account-actions--client-file .krdv-provider-action:visited,
.krdv-client-file-actions .krdv-provider-action,
.krdv-client-file-actions .krdv-provider-action:link,
.krdv-client-file-actions .krdv-provider-action:visited {
  min-height: 48px;
  padding-inline: 18px;
  text-decoration: none;
}
.krdv-account-actions--client-file button {
  border-radius: 16px;
  background: #102650;
  color: #fff;
  font-weight: 800;
}
.krdv-image-guidance-note,
.krdv-image-guidance-card {
  margin-top: 10px;
}
.krdv-dashboard-grid-analytics .krdv-report-shell {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 0.94) 100%);
  border: 1px solid rgba(16, 38, 80, 0.08);
  box-shadow: 0 18px 46px rgba(16, 38, 80, 0.07);
}
.krdv-dashboard-grid-analytics .krdv-report-head {
  align-items: start;
  gap: 18px;
}
.krdv-dashboard-grid-analytics .krdv-report-head > div:first-child {
  gap: 8px;
}
.krdv-dashboard-grid-analytics .krdv-report-head small {
  max-width: 56ch;
  line-height: 1.6;
}
.krdv-dashboard-grid-analytics .krdv-report-nav {
  gap: 8px;
}
/* Final CTA lock: one source of truth for the real business buttons */
.krdv-pro-space .krdv-provider-action,
.krdv-pro-space .krdv-provider-action:link,
.krdv-pro-space .krdv-provider-action:visited,
.krdv-pro-space .krdv-provider-book,
.krdv-pro-space .krdv-provider-book:link,
.krdv-pro-space .krdv-provider-book:visited,
.krdv-pro-space button[type="submit"],
.krdv-pro-space input[type="submit"],
.krdv-pro-space .button.button-primary,
.krdv-pro-space .button.button-secondary,
.krdv-pro-space .button-link-delete,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary:link,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary:visited,
.krdv-account-shell[data-krdv-tabs="customer-account"] button[type="submit"],
.krdv-account-shell[data-krdv-tabs="customer-account"] input[type="submit"],
.krdv-directory .krdv-provider-row .krdv-provider-action,
.krdv-directory .krdv-provider-row .krdv-provider-action:link,
.krdv-directory .krdv-provider-row .krdv-provider-action:visited,
.krdv-directory .krdv-provider-row .krdv-provider-book,
.krdv-directory .krdv-provider-row .krdv-provider-book:link,
.krdv-directory .krdv-provider-row .krdv-provider-book:visited,
.krdv-account-review-actions .krdv-provider-action,
.krdv-account-review-actions .krdv-provider-action:link,
.krdv-account-review-actions .krdv-provider-action:visited,
.krdv-payment-action-form .krdv-provider-action,
.krdv-payment-action-form .krdv-provider-action:link,
.krdv-payment-action-form .krdv-provider-action:visited,
.krdv-service-row-actions .button-link-delete.krdv-provider-action,
.krdv-service-row-actions .button-link-delete.krdv-provider-action:link,
.krdv-service-row-actions .button-link-delete.krdv-provider-action:visited {
  background: #102650 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #102650 !important;
  box-shadow: 0 14px 30px rgba(16, 38, 80, 0.18) !important;
  text-shadow: none !important;
}
.krdv-pro-space .krdv-provider-action *,
.krdv-pro-space .krdv-provider-book *,
.krdv-pro-space button[type="submit"] *,
.krdv-pro-space input[type="submit"] *,
.krdv-pro-space .button.button-primary *,
.krdv-pro-space .button.button-secondary *,
.krdv-pro-space .button-link-delete *,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary *,
.krdv-account-shell[data-krdv-tabs="customer-account"] button[type="submit"] *,
.krdv-account-shell[data-krdv-tabs="customer-account"] input[type="submit"] *,
.krdv-directory .krdv-provider-row .krdv-provider-action *,
.krdv-directory .krdv-provider-row .krdv-provider-book *,
.krdv-account-review-actions .krdv-provider-action *,
.krdv-payment-action-form .krdv-provider-action *,
.krdv-service-row-actions .button-link-delete.krdv-provider-action * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.krdv-pro-space .krdv-provider-action:hover,
.krdv-pro-space .krdv-provider-action:focus-visible,
.krdv-pro-space .krdv-provider-book:hover,
.krdv-pro-space .krdv-provider-book:focus-visible,
.krdv-pro-space button[type="submit"]:hover,
.krdv-pro-space button[type="submit"]:focus-visible,
.krdv-pro-space input[type="submit"]:hover,
.krdv-pro-space input[type="submit"]:focus-visible,
.krdv-pro-space .button.button-primary:hover,
.krdv-pro-space .button.button-primary:focus-visible,
.krdv-pro-space .button.button-secondary:hover,
.krdv-pro-space .button.button-secondary:focus-visible,
.krdv-pro-space .button-link-delete:hover,
.krdv-pro-space .button-link-delete:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] .krdv-provider-action.is-primary:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] button[type="submit"]:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] button[type="submit"]:focus-visible,
.krdv-account-shell[data-krdv-tabs="customer-account"] input[type="submit"]:hover,
.krdv-account-shell[data-krdv-tabs="customer-account"] input[type="submit"]:focus-visible,
.krdv-directory .krdv-provider-row .krdv-provider-action:hover,
.krdv-directory .krdv-provider-row .krdv-provider-action:focus-visible,
.krdv-directory .krdv-provider-row .krdv-provider-book:hover,
.krdv-directory .krdv-provider-row .krdv-provider-book:focus-visible,
.krdv-account-review-actions .krdv-provider-action:hover,
.krdv-account-review-actions .krdv-provider-action:focus-visible,
.krdv-payment-action-form .krdv-provider-action:hover,
.krdv-payment-action-form .krdv-provider-action:focus-visible,
.krdv-service-row-actions .button-link-delete.krdv-provider-action:hover,
.krdv-service-row-actions .button-link-delete.krdv-provider-action:focus-visible {
  background: #16315f !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #16315f !important;
  box-shadow: 0 18px 34px rgba(16, 38, 80, 0.24) !important;
}
.krdv-dashboard-grid-analytics .krdv-report-nav-chip {
  min-height: 42px;
  padding-inline: 18px;
  background: rgba(239, 244, 252, 0.9);
  border-color: rgba(16, 38, 80, 0.08);
}
.krdv-dashboard-grid-analytics .krdv-report-grid {
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.92fr);
  gap: 16px;
}
.krdv-dashboard-grid-analytics .krdv-report-chart {
  padding: 24px 22px;
  border-radius: 26px;
  min-height: 0;
  background:
    linear-gradient(180deg, rgba(252, 254, 255, 0.98) 0%, rgba(244, 249, 255, 0.94) 100%);
}
.krdv-dashboard-grid-analytics .krdv-report-chart-head {
  margin-bottom: 18px;
}
.krdv-dashboard-grid-analytics .krdv-report-chart-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(239, 244, 252, 0.88);
  color: #7380a1;
  font-size: 0.84rem;
  font-weight: 700;
}
.krdv-dashboard-grid-analytics .krdv-report-bars {
  gap: 10px;
}
.krdv-dashboard-grid-analytics .krdv-report-bar-card {
  padding: 12px 10px 14px;
  border: 1px solid rgba(16, 38, 80, 0.05);
  background: linear-gradient(180deg, rgba(245, 249, 255, 0.96) 0%, rgba(237, 244, 252, 0.92) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.krdv-dashboard-grid-analytics .krdv-report-bar-card.is-current {
  border-color: rgba(52, 147, 196, 0.18);
  background: linear-gradient(180deg, rgba(243, 251, 255, 0.98) 0%, rgba(235, 246, 252, 0.96) 100%);
}
.krdv-dashboard-grid-analytics .krdv-report-bar-visual {
  height: 114px;
  align-items: flex-end;
  padding: 14px 8px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(235, 243, 252, 0.95) 0%, rgba(244, 248, 255, 0.98) 100%);
}
.krdv-dashboard-grid-analytics .krdv-report-bar-visual i {
  width: 82%;
  margin-inline: auto;
  min-height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(61, 174, 200, 0.88) 0%, rgba(92, 202, 186, 0.92) 100%);
  box-shadow: 0 4px 10px rgba(71, 175, 192, 0.14);
}
.krdv-dashboard-grid-analytics .krdv-report-bar-card strong {
  font-size: 0.92rem;
  white-space: normal;
  line-height: 1.2;
}
.krdv-dashboard-grid-analytics .krdv-report-bar-card span {
  font-size: 0.76rem;
  line-height: 1.35;
}
.krdv-dashboard-grid-analytics .krdv-report-bar-card small {
  font-size: 0.72rem;
  line-height: 1.35;
}
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
  gap: 12px;
}
.krdv-dashboard-grid-analytics .krdv-report-sidecards article {
  min-height: 112px;
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(16, 38, 80, 0.06);
  box-shadow: 0 10px 28px rgba(16, 38, 80, 0.05);
}
.krdv-dashboard-grid-analytics .krdv-report-sidecards article span {
  margin-bottom: 10px;
  color: #4f5c7d;
  font-weight: 700;
}
.krdv-dashboard-grid-analytics .krdv-report-sidecards article strong {
  font-size: 1.9rem;
}
.krdv-dashboard-grid-analytics .krdv-report-sidecards article small {
  color: #6d7895;
}
@media (min-width: 1100px) {
.krdv-pro-nav {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0 !important;
  }
.krdv-dashboard-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
.krdv-client-file-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
.krdv-client-file-toolbar-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
.krdv-client-filter-field {
    min-height: 172px;
    align-content: start;
  }
.krdv-client-filter-field--search {
    grid-column: 1 / -1;
    min-height: 0;
  }
.krdv-dashboard-grid-analytics .krdv-report-shell {
    padding: 24px;
  }
.krdv-dashboard-grid-analytics .krdv-report-head {
    grid-template-columns: minmax(0, 1fr);
  }
.krdv-dashboard-grid-analytics .krdv-report-nav {
    justify-content: flex-start;
  }
.krdv-dashboard-grid-analytics .krdv-report-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
.krdv-dashboard-grid-analytics .krdv-report-chart {
    width: 100%;
  }
.krdv-dashboard-grid-analytics .krdv-report-bars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
  }
#krdv-pro-loyalty-panel .krdv-pro-panel-head h3 {
    width: 100%;
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
}
#krdv-pro-loyalty-panel .krdv-pro-panel-head h3,
#krdv-pro-loyalty-panel .krdv-pro-panel-head--desktop-inline h3 {
  width: 100%;
  max-width: none;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
@media (max-width: 1099px) {
.krdv-client-file-toolbar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.krdv-dashboard-grid-analytics .krdv-report-grid {
    grid-template-columns: 1fr;
  }
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
.krdv-sortable-handle,
  .krdv-sortable-handle--nav,
  [data-krdv-drag-handle],
  [data-krdv-drag-handle="nav"],
  [data-krdv-drag-handle="overview"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }
.krdv-client-file-toolbar-grid {
    grid-template-columns: 1fr;
  }
.krdv-dashboard-grid-analytics .krdv-report-head {
    gap: 14px;
  }
.krdv-dashboard-grid-analytics .krdv-report-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
.krdv-dashboard-grid-analytics .krdv-report-nav-chip {
    justify-content: center;
    width: 100%;
  }
.krdv-dashboard-grid-analytics .krdv-report-chart {
    padding: 18px 16px;
  }
.krdv-dashboard-grid-analytics .krdv-report-bars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
.krdv-dashboard-grid-analytics .krdv-report-bar-visual {
    height: 112px;
  }
.krdv-dashboard-grid-analytics .krdv-report-sidecards {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1200px) {
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-shell {
    padding: 26px 30px;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-grid {
    grid-template-columns: 1fr !important;
    gap: 22px;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-chart {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-chart-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 16px;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bars {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 18px;
    width: 100%;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bar-card {
    position: relative;
    padding: 18px 18px 20px;
    gap: 10px;
    border-radius: 22px;
    border: 1px solid rgba(16, 38, 80, 0.06);
    background: linear-gradient(180deg, rgba(249, 252, 255, 0.98) 0%, rgba(243, 248, 253, 0.95) 100%);
    box-shadow: 0 12px 28px rgba(16, 38, 80, 0.05);
    text-align: left;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bar-card::before {
    content: "";
    display: block;
    width: 72px;
    height: 8px;
    margin-bottom: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(61, 174, 200, 0.92) 0%, rgba(92, 202, 186, 0.96) 100%);
    box-shadow: 0 6px 14px rgba(71, 175, 192, 0.16);
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-sidecards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bar-card.is-current {
    border-color: rgba(52, 147, 196, 0.14);
    background: linear-gradient(180deg, rgba(243, 251, 255, 0.99) 0%, rgba(237, 247, 252, 0.97) 100%);
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bar-visual {
    display: none;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bar-card strong {
    font-size: 1.12rem;
    line-height: 1.2;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bar-card span {
    font-size: 0.84rem;
    color: #5f6f8d;
  }
#krdv-pro-payments-panel .krdv-dashboard-grid-analytics .krdv-report-bar-card small {
    font-size: 0.8rem;
    color: #6f7d98;
    line-height: 1.45;
  }
}
/* Pro mockup pass: align the professional dashboard with the new board-style layouts. */
.krdv-dashboard-breakout {
  max-width: 1680px;
  margin: 0 auto;
  padding: 24px clamp(18px, 2vw, 34px) 54px;
}
@media (max-width: 1099px) {
.krdv-dashboard-breakout {
    padding-inline: 16px;
  }
}
@media (max-width: 767px) {
.krdv-dashboard-breakout {
    padding: 16px 14px 36px;
  }
}
/* Final desktop stabilization for the professional back-office:
   horizontal business sections on top, full-width panels below. */
@media (min-width: 1200px) {
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-breakout,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-breakout {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px;
    max-width: 1680px;
    padding-inline: 28px;
    align-items: start;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav {
    position: static !important;
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
    padding: 0;
    margin: 0;
    overflow: visible;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav-provider-card,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav-provider-card {
    display: none !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > .krdv-pro-nav-extra-mobile,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > .krdv-pro-nav-extra-mobile {
    display: none !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > a,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > .krdv-pro-nav-extra,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > button,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > a,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > .krdv-pro-nav-extra,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > button {
    display: grid !important;
    min-width: 0;
    min-height: 158px;
    height: 100%;
    grid-template-rows: auto auto 1fr;
    align-content: start;
    justify-items: start;
    text-align: left;
    padding: 18px 18px 20px;
    border-radius: 24px;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-bookings,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-offers,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-customers,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-reviews,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-messages,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-help,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-logout,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-bookings,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-offers,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-customers,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-reviews,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-messages,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-help,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-logout {
    display: none !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-overview { order: 1; }
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-establishment { order: 2; }
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-services { order: 3; }
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-planning { order: 4; }
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-billing { order: 5; }
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-communication { order: 6; }
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-loyalty { order: 7; }
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-overview { order: 1; }
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-establishment { order: 2; }
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-services { order: 3; }
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-planning { order: 4; }
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-billing { order: 5; }
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-communication { order: 6; }
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-nav-item-loyalty { order: 7; }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav .krdv-tab-badge,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav .krdv-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    font-size: 0.98rem;
    line-height: 1.1;
    white-space: normal;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > a small,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > .krdv-pro-nav-extra small,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > button small,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > a small,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > .krdv-pro-nav-extra small,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-nav > button small {
    display: block;
    margin-top: 10px;
    line-height: 1.42;
    font-size: 1rem;
    white-space: normal;
    overflow: visible;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-sortable-handle,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-drag-handle],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-sortable-handle,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-drag-handle] {
    display: none !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
    width: 100%;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview] > [data-krdv-overview-block],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview] > [data-krdv-overview-block] {
    width: 100%;
    min-width: 0;
    margin: 0;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="hero"],
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="metrics"],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="hero"],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="metrics"] {
    grid-column: 1 / -1;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview] > [data-krdv-overview-block]::before,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview] > [data-krdv-overview-block]::before {
    display: none !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-missions,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-trust-shell,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-launchpad,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-business,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-operations,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-analytics-teaser,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-insights,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-missions,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-trust-shell,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-launchpad,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-business,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-operations,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-analytics-teaser,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-insights {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-insights > .krdv-pro-panel,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-grid-insights > .krdv-pro-panel {
    width: 100%;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-mission-grid,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-mission-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-trust-grid,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-launchpad-status-grid,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-launchpad-checklist,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-business-overview-grid,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-operations-cards,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-finance-summary-grid,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-trust-grid,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-launchpad-status-grid,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-launchpad-checklist,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-business-overview-grid,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-operations-cards,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-finance-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-top-services,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-mini-feed,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-top-services,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-mini-feed {
    display: grid;
    gap: 14px;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-metrics,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-dashboard-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-shell,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] .krdv-pro-shell {
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
    gap: 26px;
    align-items: start;
  }
}
/* Hard reset for desktop pro overview:
   1) top categories full width
   2) hero below
   3) related windows in two columns */
@media (min-width: 1200px) {
  html.krdv-desktop-device .krdv-dashboard-breakout,
  body.page-slug-mon-espace-pro .krdv-dashboard-breakout {
    display: block !important;
    width: 100% !important;
    max-width: 1680px !important;
    margin: 0 auto !important;
    padding: 24px 28px 56px !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-pro-nav,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-pro-nav {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-active,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-visible,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-active,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-visible {
    display: block !important;
    width: 100% !important;
    clear: both !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-active > #krdv-pro-overview,
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-visible > #krdv-pro-overview,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-active > #krdv-pro-overview,
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-visible > #krdv-pro-overview {
    margin-bottom: 24px !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-active[data-krdv-sortable-overview],
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-visible[data-krdv-sortable-overview],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-active[data-krdv-sortable-overview],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] > .krdv-tab-panel.is-visible[data-krdv-sortable-overview] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="hero"],
  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="metrics"],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="hero"],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-overview-block="metrics"] {
    grid-column: 1 / -1 !important;
  }

  html.krdv-desktop-device .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview] > [data-krdv-overview-block],
  body.page-slug-mon-espace-pro .krdv-pro-space[data-krdv-tabs="pro-dashboard"] [data-krdv-sortable-overview] > [data-krdv-overview-block] {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}
.actions-rapides-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}
.action-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 172px;
  padding: 24px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.action-card h4 {
  margin: 14px 0 10px;
  color: #0b1f3a;
  font-size: 1.12rem;
  line-height: 1.3;
}
.action-card p {
  margin: 0 0 18px;
  color: #5f6f8b;
  line-height: 1.6;
}
.action-card .krdv-provider-action,
.action-card button.krdv-provider-action {
  margin-top: auto;
}
.krdv-client-file-create {
  margin: 0 0 24px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid #d8e4f0;
  background: linear-gradient(180deg, rgba(244, 249, 253, 0.96), #ffffff);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}
.krdv-client-file-create .krdv-account-actions {
  margin-top: 18px;
}
@media (max-width: 767px) {
.actions-rapides-grid {
    grid-template-columns: 1fr;
  }
.action-card {
    min-height: 0;
    padding: 20px;
  }
.krdv-client-file-create {
    padding: 20px;
  }
}
/* Final auth + story capture reliability */
.krdv-story-canvas {
  isolation: isolate;
  background: linear-gradient(180deg, #07142d 0%, #0d1b3d 52%, #102750 100%) !important;
}
.krdv-story-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.krdv-story-layer-reference {
  z-index: 0;
}
.krdv-story-layer-hero {
  inset: 18px 18px auto auto;
  width: 45%;
  height: 44%;
  border-radius: 28px 28px 32px 32px;
  box-shadow: 0 24px 38px rgba(4, 12, 26, 0.26);
  object-fit: cover;
  object-position: center;
  z-index: 0;
}
.krdv-story-backdrop {
  z-index: 1;
}
.krdv-story-noise {
  z-index: 2;
}
.krdv-story-provider-card,
.krdv-story-qr-card,
.krdv-story-footer {
  z-index: 3;
}
/* LA PAGE DE CONNEXION N'AVAIT AUCUNE LARGEUR MAXIMALE.
   `margin: 0 auto` ne centre rien tant qu'il n'y a rien à centrer : le
   cadre occupait les 1 920 px de l'écran, bord à bord. Ses coins arrondis
   de 38 px tombaient donc hors champ — on ne voyait plus une carte posée
   sur la page, mais un bandeau collé aux deux bords — et la colonne de
   droite atteignait 1 498 px, ce qui donnait un champ « Email » de 658 px
   de large. Un formulaire de connexion à deux champs n'a pas besoin de la
   moitié d'un écran ; au-delà de ~400 px, le champ ne se lit plus comme un
   champ. */
.krdv-auth-shell-v2 {
  display: grid;
  gap: 26px;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: clamp(20px, 3vw, 44px) clamp(16px, 4vw, 32px) clamp(32px, 5vw, 64px);
}
.krdv-auth-status-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 22px 24px;
  border-radius: 28px;
  border: 1px solid rgba(18, 42, 79, 0.08);
  background: linear-gradient(145deg, rgba(248, 252, 255, 0.98), rgba(255, 255, 255, 0.94));
  box-shadow: 0 24px 55px rgba(13, 27, 61, 0.08);
}
.krdv-auth-status-banner::before {
  content: "";
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: linear-gradient(135deg, #1cc7b7, #13849d);
  box-shadow: 0 18px 30px rgba(29, 149, 172, 0.2);
}
.krdv-auth-status-kicker,
.krdv-auth-kicker {
  margin: 0 0 8px;
  color: #17889f;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.krdv-auth-status-banner h2,
.krdv-auth-main-head h1,
.krdv-auth-aside-copy h2 {
  margin: 0;
  color: #0d1b3d;
}
.krdv-auth-status-banner p,
.krdv-auth-main-head p,
.krdv-auth-aside-copy p {
  margin: 8px 0 0;
  color: #51627f;
  line-height: 1.7;
}
.krdv-auth-frame {
  display: grid;
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  min-height: 760px;
  overflow: hidden;
  border-radius: 38px;
  background:
    radial-gradient(circle at top left, rgba(35, 214, 193, 0.18), transparent 38%),
    linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(18, 42, 79, 0.08);
  box-shadow: 0 36px 80px rgba(13, 27, 61, 0.12);
}
.krdv-auth-aside {
  position: relative;
  display: grid;
  align-content: start;
  gap: 28px;
  padding: 40px 34px 34px;
  background:
    radial-gradient(circle at top left, rgba(29, 149, 172, 0.22), transparent 32%),
    linear-gradient(180deg, #081b35 0%, #0d1f3f 100%);
  color: #ffffff;
}
.krdv-auth-aside::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.03), transparent 45%),
    radial-gradient(circle at bottom left, rgba(212, 165, 55, 0.16), transparent 26%);
  pointer-events: none;
}
.krdv-auth-aside > * {
  position: relative;
  z-index: 1;
}
/* LE PANNEAU DE GAUCHE, REMIS D'APLOMB.
   Le logo faisait 240 px de large dans une colonne de 380 : il écrasait
   tout le reste, et le titre, réglé sur 2,9 rem avec un interligne de
   1,02, se cassait en six lignes serrees. Les quatre avantages, eux,
   tombaient sous la ligne de flottaison — on n'en voyait qu'une icône.
   On redonne à chaque bloc une taille proportionnee a la colonne. */
.krdv-auth-brandmark {
  display: inline-block;
  justify-self: start;
  line-height: 0;
  border-radius: 10px;
  transition: opacity .15s ease;
}
.krdv-auth-brandmark:hover { opacity: .88; }
.krdv-auth-brandmark:focus-visible {
  outline: 2px solid rgba(255, 255, 255, .8);
  outline-offset: 4px;
}
.krdv-auth-brandmark img {
  width: 100%;
  height: auto;
  display: block;
}
.krdv-auth-aside-copy h2 {
  font-size: clamp(1.55rem, 1.15rem + .95vw, 2.05rem);
  line-height: 1.14;
  letter-spacing: -0.012em;
  text-wrap: balance;
  color: #ffffff;
}
.krdv-auth-aside-copy p,
.krdv-auth-benefits article div,
.krdv-auth-benefits article small {
  color: rgba(255, 255, 255, 0.82);
}
.krdv-auth-benefits {
  display: grid;
  gap: 12px;
}
.krdv-auth-benefits article {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
}
.krdv-auth-benefits article strong,
.krdv-auth-benefits article div {
  font-size: .945rem;
  line-height: 1.35;
  font-weight: 600;
}
.krdv-auth-benefit-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(27, 203, 188, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: grid;
  place-items: center;
  color: #ccfff8;
}
.krdv-auth-benefit-icon svg {
  width: 22px;
  height: 22px;
}
.krdv-auth-visual {
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.24);
}
.krdv-auth-visual img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}
.krdv-auth-main {
  display: grid;
  align-content: start;
  gap: 24px;
  padding: 44px clamp(24px, 4vw, 54px);
  /* Une colonne de saisie, pas une nappe. 660 px laisse deux champs de
     ~300 px côte à côte — la bonne largeur pour « Prénom » et « Nom » —
     et garde le titre sur trois lignes lisibles. */
  justify-items: start;
}
.krdv-auth-main > * {
  width: 100%;
  max-width: 660px;
}
.krdv-auth-main-head h1 {
  font-size: clamp(1.9rem, 1.35rem + 1.7vw, 2.8rem);
  line-height: 1.08;
  text-wrap: balance;
}
.krdv-auth-tabs {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  border-radius: 22px;
  background: rgba(13, 27, 61, 0.05);
}
.krdv-auth-tab {
  min-height: 54px;
  padding: 0 20px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: #0d1b3d;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
}
.krdv-auth-tab.is-active {
  background: #ffffff;
  box-shadow: 0 14px 28px rgba(13, 27, 61, 0.08);
  color: #17889f;
}
.krdv-auth-panels {
  display: grid;
}
.krdv-auth-panel {
  display: none;
}
.krdv-auth-panel.is-active {
  display: block;
}
.krdv-auth-shell-v2[data-default-tab="password"] .krdv-auth-panel-password,
.krdv-auth-shell-v2[data-default-tab="password"] .krdv-auth-panel[data-krdv-auth-panel="password"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.krdv-auth-shell-v2[data-default-tab="password"] .krdv-auth-panel-password .krdv-auth-form-v2,
.krdv-auth-shell-v2[data-default-tab="password"] .krdv-auth-panel[data-krdv-auth-panel="password"] .krdv-auth-form-v2 {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.krdv-auth-form-v2 {
  display: grid;
  gap: 18px;
  padding: 28px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(18, 42, 79, 0.08);
  box-shadow: 0 24px 55px rgba(13, 27, 61, 0.08);
}
.krdv-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.krdv-auth-grid label,
.krdv-auth-honeypot label {
  display: grid;
  gap: 8px;
}
.krdv-auth-grid label.krdv-auth-field-wide {
  grid-column: 1 / -1;
}
/* CHAMP REFUSÉ — le désigner, pas seulement le dire.
   Le bandeau annonçait « remplir tous les champs obligatoires » sans
   montrer lequel. La couleur ne porte pas seule l'information : le champ
   change de bordure ET reçoit un motif écrit dessous, lu par les lecteurs
   d'écran via aria-describedby. */
.krdv-auth-form-v2 input.krdv-auth-field-invalid,
.krdv-auth-form-v2 select.krdv-auth-field-invalid {
  border-color: #c2371f;
  background: #fdf3f1;
  box-shadow: 0 0 0 3px rgba(194, 55, 31, 0.12);
}
.krdv-auth-form-v2 input.krdv-auth-field-invalid:focus,
.krdv-auth-form-v2 select.krdv-auth-field-invalid:focus {
  border-color: #a32b16;
  box-shadow: 0 0 0 3px rgba(194, 55, 31, 0.22);
}
.krdv-auth-field-error {
  display: block;
  margin-top: 6px;
  color: #a32b16;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.4;
}
.krdv-auth-grid label:has(.krdv-auth-field-invalid) > span {
  color: #a32b16;
}
.krdv-auth-grid span,
.krdv-auth-honeypot span,
.krdv-auth-account-type legend {
  color: #0d1b3d;
  font-weight: 800;
}
.krdv-auth-form-v2 input,
.krdv-auth-form-v2 select {
  min-height: 56px;
  border-radius: 18px;
  border: 1px solid rgba(13, 27, 61, 0.12);
  background: #ffffff;
  padding: 0 18px;
  color: #0d1b3d;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.krdv-auth-form-v2 input:focus,
.krdv-auth-form-v2 select:focus {
  border-color: rgba(29, 149, 172, 0.46);
  outline: none;
  box-shadow: 0 0 0 4px rgba(29, 149, 172, 0.12);
}
.krdv-auth-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.krdv-auth-inline a,
.krdv-auth-legal a {
  color: #17889f;
  font-weight: 700;
}
.krdv-auth-check,
.krdv-auth-legal {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.krdv-auth-check input,
.krdv-auth-legal input,
.krdv-auth-choice input {
  min-height: 0;
  margin-top: 3px;
}
.krdv-auth-account-type {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: rgba(248, 251, 255, 0.92);
}
.krdv-auth-choice {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  background: #ffffff;
}
.krdv-auth-choice strong {
  display: block;
  color: #0d1b3d;
  font-size: 1rem;
}
.krdv-auth-choice small,
.krdv-auth-legal span,
.krdv-auth-check span {
  color: #51627f;
  line-height: 1.65;
}
.krdv-auth-submit {
  min-height: 58px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #ff6a3c, #ff824e);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  box-shadow: 0 18px 34px rgba(255, 106, 60, 0.24);
}
.krdv-auth-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.krdv-onboarding-mail {
  display: grid;
  gap: 30px;
  width: min(94vw, 1380px);
  margin: 0 auto;
}
.krdv-onboarding-mail__topbar,
.krdv-onboarding-mail__hero,
.krdv-onboarding-mail__steps,
.krdv-onboarding-mail__offer-grid,
.krdv-onboarding-mail__cta,
.krdv-onboarding-mail__help {
  border-radius: 28px;
}
.krdv-onboarding-mail__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 28px;
  background:
    radial-gradient(circle at top right, rgba(56, 214, 196, 0.16), transparent 22%),
    linear-gradient(135deg, #061d35 0%, #08233f 100%);
  color: #ffffff;
  box-shadow: 0 24px 56px rgba(6, 29, 53, 0.22);
}
.krdv-onboarding-mail__brand img {
  width: 206px;
  max-width: 100%;
  height: auto;
  display: block;
}
.krdv-onboarding-mail__brand-surface {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 10px 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.07));
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 14px 30px rgba(2, 11, 27, 0.2);
}
.krdv-onboarding-mail__progress {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.krdv-onboarding-mail__progress-copy {
  display: grid;
  gap: 2px;
}
.krdv-onboarding-mail__progress-copy small {
  color: rgba(236, 243, 250, 0.72);
  font-size: 0.72rem;
  letter-spacing: 0.03em;
}
.krdv-onboarding-mail__progress-bars {
  display: flex;
  align-items: center;
  gap: 12px;
}
.krdv-onboarding-mail__progress-bars span {
  width: 42px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
}
.krdv-onboarding-mail__progress-bars span.is-active {
  background: #38d6c4;
  box-shadow: 0 0 0 4px rgba(56, 214, 196, 0.14);
}
.krdv-onboarding-mail__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 28px;
  padding: 38px;
  background:
    radial-gradient(circle at top left, rgba(56, 214, 196, 0.15), transparent 36%),
    radial-gradient(circle at bottom right, rgba(24, 169, 160, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  box-shadow: 0 26px 64px rgba(13, 27, 61, 0.1);
}
.krdv-onboarding-mail__copy {
  display: grid;
  align-content: start;
  gap: 20px;
}
.krdv-onboarding-mail__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(56, 214, 196, 0.14);
  color: #17889f;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}
.krdv-onboarding-mail__badge svg {
  width: 18px;
  height: 18px;
}
.krdv-onboarding-mail__copy h1 {
  margin: 0;
  color: #061d35;
  font-size: clamp(2.2rem, 4vw, 4.3rem);
  line-height: 0.97;
  letter-spacing: -0.045em;
}
.krdv-onboarding-mail__copy h1 span {
  color: #18a9a0;
}
.krdv-onboarding-mail__copy > p {
  margin: 0;
  color: #526280;
  font-size: 1.08rem;
  line-height: 1.7;
  max-width: 60ch;
}
.krdv-onboarding-mail__assurance {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-onboarding-mail__assurance span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(6, 29, 53, 0.04);
  border: 1px solid rgba(13, 27, 61, 0.08);
  color: #1d3557;
  font-size: 0.92rem;
  font-weight: 800;
}
.krdv-onboarding-mail__assurance span svg {
  width: 18px;
  height: 18px;
  color: #18a9a0;
}
.krdv-onboarding-mail__mail-card {
  display: grid;
  gap: 14px;
  padding: 28px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(13, 27, 61, 0.08);
  box-shadow: 0 22px 50px rgba(13, 27, 61, 0.08);
  position: relative;
  overflow: hidden;
}
.krdv-onboarding-mail__mail-card::after {
  content: "";
  position: absolute;
  inset: auto -40px -60px auto;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 214, 196, 0.12), transparent 70%);
  pointer-events: none;
}
.krdv-onboarding-mail__mail-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 22px;
  background: rgba(56, 214, 196, 0.12);
  color: #18a9a0;
}
.krdv-onboarding-mail__mail-icon svg {
  width: 30px;
  height: 30px;
}
.krdv-onboarding-mail__mail-card strong {
  color: #061d35;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.1;
  word-break: break-word;
}
.krdv-onboarding-mail__mail-address.is-muted {
  font-size: clamp(1.1rem, 1.7vw, 1.4rem);
  line-height: 1.35;
  color: #274564;
}
.krdv-onboarding-mail__mail-copy,
.krdv-onboarding-mail__mail-note {
  margin: 0;
  color: #526280;
  line-height: 1.7;
}
.krdv-onboarding-mail__mail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.krdv-onboarding-mail__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 16px;
  border: 1px solid rgba(13, 27, 61, 0.12);
  background: #ffffff;
  color: #061d35;
  font-weight: 800;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.krdv-onboarding-mail__inline-form {
  margin: 0;
}
.krdv-onboarding-mail__chip.is-button {
  cursor: pointer;
}
.krdv-onboarding-mail__chip:hover,
.krdv-onboarding-mail__chip:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(24, 169, 160, 0.26);
  box-shadow: 0 12px 24px rgba(13, 27, 61, 0.08);
}
.krdv-onboarding-mail__visual {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(56, 214, 196, 0.18), transparent 28%),
    linear-gradient(180deg, #071a31 0%, #0a2643 100%);
}
.krdv-onboarding-mail__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.krdv-onboarding-mail__visual-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(6, 29, 53, 0.08), rgba(6, 29, 53, 0.4)),
    radial-gradient(circle at bottom left, rgba(56, 214, 196, 0.14), transparent 32%),
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.08), transparent 20%);
  pointer-events: none;
}
.krdv-onboarding-mail__floating {
  position: absolute;
  z-index: 2;
  right: 22px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 4px;
  min-width: 248px;
  padding: 18px 18px 18px 16px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 42px rgba(13, 27, 61, 0.16);
  backdrop-filter: blur(10px);
}
.krdv-onboarding-mail__floating-icon {
  display: grid;
  place-items: center;
  grid-row: 1 / span 2;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(56, 214, 196, 0.12);
  color: #18a9a0;
}
.krdv-onboarding-mail__floating-icon svg {
  width: 22px;
  height: 22px;
}
.krdv-onboarding-mail__floating strong {
  color: #061d35;
  align-self: end;
}
.krdv-onboarding-mail__floating span {
  color: #526280;
  align-self: start;
}
.krdv-onboarding-mail__floating--top {
  top: 40px;
}
.krdv-onboarding-mail__floating--middle {
  top: 186px;
}
.krdv-onboarding-mail__floating--bottom {
  bottom: 40px;
}
.krdv-onboarding-mail__steps,
.krdv-onboarding-mail__offer-card,
.krdv-onboarding-mail__help {
  background: #ffffff;
  border: 1px solid rgba(13, 27, 61, 0.08);
  box-shadow: 0 20px 50px rgba(13, 27, 61, 0.06);
}
.krdv-onboarding-mail__steps {
  padding: 30px;
}
.krdv-onboarding-mail__steps h2 {
  margin: 0 0 20px;
  color: #061d35;
  font-size: clamp(1.4rem, 2vw, 2rem);
}
.krdv-onboarding-mail__steps-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  position: relative;
}
.krdv-onboarding-mail__steps-grid article {
  display: grid;
  gap: 12px;
  padding: 22px 16px 12px;
  text-align: center;
  position: relative;
}
.krdv-onboarding-mail__steps-grid article span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0 auto;
  border-radius: 999px;
  background: #18a9a0;
  color: #ffffff;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(24, 169, 160, 0.18);
}
.krdv-onboarding-mail__step-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 0 auto;
  border-radius: 18px;
  background: rgba(56, 214, 196, 0.12);
  color: #18a9a0;
  font-style: normal;
}
.krdv-onboarding-mail__step-icon svg {
  width: 24px;
  height: 24px;
}
.krdv-onboarding-mail__steps-grid article strong {
  color: #061d35;
}
.krdv-onboarding-mail__steps-grid article p {
  margin: 0;
  color: #526280;
  line-height: 1.65;
}
.krdv-onboarding-mail__offer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.krdv-onboarding-mail__offer-card {
  display: grid;
  gap: 18px;
  padding: 30px;
}
.krdv-onboarding-mail__offer-card.is-dark {
  background: #061d35;
  color: #ffffff;
}
.krdv-onboarding-mail__offer-card.is-dark h3,
.krdv-onboarding-mail__offer-card.is-dark li,
.krdv-onboarding-mail__offer-card.is-dark p {
  color: #ffffff;
}
.krdv-onboarding-mail__offer-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(56, 214, 196, 0.15);
  color: #38d6c4;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}
.krdv-onboarding-mail__offer-card h3 {
  margin: 0;
  font-size: clamp(1.45rem, 2vw, 2rem);
}
.krdv-onboarding-mail__offer-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.krdv-onboarding-mail__offer-card li::before {
  content: "•";
  margin-right: 10px;
  color: #38d6c4;
}
.krdv-onboarding-mail__outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: fit-content;
  padding: 0 18px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: inherit;
  font-weight: 800;
  text-decoration: none;
}
.krdv-onboarding-mail__trust-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.krdv-onboarding-mail__trust-grid article {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-height: 110px;
  padding: 16px 14px;
  border-radius: 22px;
  background: #f6f9fc;
  border: 1px solid rgba(13, 27, 61, 0.06);
  text-align: center;
}
.krdv-onboarding-mail__trust-grid i {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(56, 214, 196, 0.14);
  color: #18a9a0;
  font-style: normal;
}
.krdv-onboarding-mail__trust-grid i svg {
  width: 22px;
  height: 22px;
}
.krdv-onboarding-mail__trust-grid strong {
  color: #061d35;
  font-weight: 800;
}
.krdv-onboarding-mail__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 28px 32px;
  background:
    radial-gradient(circle at left center, rgba(56, 214, 196, 0.12), transparent 20%),
    linear-gradient(135deg, #061d35 0%, #08233f 100%);
  color: #ffffff;
  box-shadow: 0 24px 56px rgba(6, 29, 53, 0.16);
}
.krdv-onboarding-mail__cta h2,
.krdv-onboarding-mail__cta p,
.krdv-onboarding-mail__cta small {
  margin: 0;
}
.krdv-onboarding-mail__cta p,
.krdv-onboarding-mail__cta small {
  color: rgba(236, 243, 250, 0.84);
}
.krdv-onboarding-mail__cta-button,
.krdv-onboarding-mail__help-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 24px;
  border-radius: 18px;
  font-weight: 800;
  text-decoration: none;
}
.krdv-onboarding-mail__cta-button {
  background: linear-gradient(135deg, #ff6a3c, #ff824e);
  color: #ffffff;
  box-shadow: 0 18px 36px rgba(255, 106, 60, 0.24);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.krdv-onboarding-mail__cta-button:hover,
.krdv-onboarding-mail__cta-button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 22px 42px rgba(255, 106, 60, 0.28);
}
.krdv-onboarding-mail__help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 24px 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 252, 0.96));
}
.krdv-onboarding-mail__help h3,
.krdv-onboarding-mail__help p {
  margin: 0;
}
.krdv-onboarding-mail__help p {
  color: #526280;
  line-height: 1.7;
}
.krdv-onboarding-mail__help-button {
  border: 1px solid rgba(13, 27, 61, 0.12);
  color: #061d35;
  background: #ffffff;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.krdv-onboarding-mail__help-button:hover,
.krdv-onboarding-mail__help-button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(24, 169, 160, 0.24);
  box-shadow: 0 12px 24px rgba(13, 27, 61, 0.08);
}
@media (max-width: 980px) {
.krdv-auth-frame {
    grid-template-columns: 1fr;
  }
.krdv-auth-main {
    padding-top: 28px;
  }
.krdv-auth-visual {
    order: 3;
  }
.krdv-onboarding-mail__hero,
  .krdv-onboarding-mail__offer-grid,
  .krdv-onboarding-mail__cta,
  .krdv-onboarding-mail__help {
    grid-template-columns: 1fr;
  }
.krdv-onboarding-mail__steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
.krdv-auth-status-banner,
  .krdv-auth-grid,
  .krdv-auth-tabs {
    grid-template-columns: 1fr;
  }
.krdv-auth-form-v2 {
    padding: 22px 18px;
    border-radius: 24px;
  }
.krdv-auth-main {
    padding: 24px 14px;
  }
.krdv-auth-aside {
    padding: 28px 18px 22px;
  }
.krdv-auth-inline {
    align-items: flex-start;
  }
.krdv-auth-submit,
  .krdv-auth-tabs,
  .krdv-auth-tab {
    width: 100%;
  }
.krdv-onboarding-mail {
    width: min(100vw - 18px, 100%);
    gap: 18px;
  }
.krdv-onboarding-mail__topbar,
  .krdv-onboarding-mail__hero,
  .krdv-onboarding-mail__steps,
  .krdv-onboarding-mail__offer-card,
  .krdv-onboarding-mail__cta,
  .krdv-onboarding-mail__help {
    padding: 18px;
    border-radius: 22px;
  }
.krdv-onboarding-mail__topbar {
    align-items: flex-start;
    flex-direction: column;
  }
.krdv-onboarding-mail__progress {
    width: 100%;
    justify-content: space-between;
  }
.krdv-onboarding-mail__progress-bars {
    width: 100%;
    justify-content: flex-end;
  }
.krdv-onboarding-mail__visual {
    min-height: 320px;
  }
.krdv-onboarding-mail__brand-surface {
    min-height: 58px;
    padding: 8px 14px;
  }
.krdv-onboarding-mail__brand img {
    width: 180px;
  }
.krdv-onboarding-mail__floating {
    position: static;
    grid-template-columns: 40px minmax(0, 1fr);
    min-width: 0;
  }
.krdv-onboarding-mail__floating-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }
.krdv-onboarding-mail__steps-grid,
  .krdv-onboarding-mail__trust-grid {
    grid-template-columns: 1fr;
  }
.krdv-onboarding-mail__assurance {
    display: grid;
    grid-template-columns: 1fr;
  }
.krdv-onboarding-mail__mail-actions,
  .krdv-onboarding-mail__cta-button,
  .krdv-onboarding-mail__help-button,
  .krdv-onboarding-mail__chip,
  .krdv-onboarding-mail__inline-form {
    width: 100%;
  }
.krdv-onboarding-mail__inline-form .krdv-onboarding-mail__chip {
    width: 100%;
  }
}
.krdv-booking-layout.is-embedded {
  margin: 0;
  align-items: start;
}
.krdv-booking-form.is-embedded {
  padding: 24px;
  border-radius: 24px;
}
.krdv-booking-auth-gate.is-embedded {
  margin: 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 255, 0.98));
  box-shadow: 0 18px 42px rgba(13, 27, 61, 0.06);
}
.krdv-booking-auth-gate.is-embedded .krdv-account-actions {
  gap: 12px;
}
@media (max-width: 720px) {
.krdv-booking-form.is-embedded,
  .krdv-booking-auth-gate.is-embedded {
    padding: 20px;
  }
}
.krdv-story-canvas--premium,
.krdv-story-canvas--premium *,
.krdv-story-canvas--premium *::before,
.krdv-story-canvas--premium *::after {
  box-sizing: border-box;
}
.krdv-story-canvas--premium {
  width: min(420px, 100%);
  aspect-ratio: 1080 / 1920;
  padding: 0;
  display: block;
  background:
    linear-gradient(180deg, rgba(5, 13, 29, 0.14), rgba(5, 13, 29, 0.28)),
    var(--krdv-story-reference),
    linear-gradient(180deg, #07142d 0%, #0d1b3d 58%, #102750 100%) !important;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 28px 65px rgba(13, 27, 61, 0.32);
  overflow: hidden;
}
.krdv-story-canvas--premium .krdv-story-layer-reference,
.krdv-story-canvas--premium .krdv-story-layer-hero {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  box-shadow: none;
  object-fit: cover;
  object-position: center;
}
.krdv-story-canvas--premium .krdv-story-backdrop {
  background:
    linear-gradient(180deg, rgba(4, 10, 24, 0.18) 0%, rgba(4, 10, 24, 0.3) 28%, rgba(4, 10, 24, 0.55) 100%),
    linear-gradient(90deg, rgba(7, 20, 45, 0.18) 0%, rgba(7, 20, 45, 0.04) 38%, rgba(7, 20, 45, 0.28) 100%);
}
.krdv-story-canvas--premium .krdv-story-noise {
  background:
    radial-gradient(circle at top left, rgba(28, 199, 183, 0.12), transparent 24%),
    radial-gradient(circle at top right, rgba(255, 110, 74, 0.12), transparent 26%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.015), transparent 34%);
}
.krdv-story-canvas--premium .krdv-story-brand-bar,
.krdv-story-canvas--premium .krdv-story-provider-card,
.krdv-story-canvas--premium .krdv-story-qr-card,
.krdv-story-canvas--premium .krdv-story-footer {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 4;
}
.krdv-story-canvas--premium .krdv-story-brand-bar {
  top: 0;
  min-height: 220px;
  padding: 78px 84px 24px;
  display: grid;
  justify-items: center;
  align-content: start;
}
.krdv-story-canvas--premium .krdv-story-brand-mark {
  width: 320px;
  max-width: 100%;
  min-height: 80px;
  display: grid;
  place-items: center;
}
.krdv-story-canvas--premium .krdv-story-brand-mark img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(3, 10, 26, 0.3));
}
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 220px;
  min-height: 286px;
  padding: 0 84px;
  display: grid;
  align-content: start;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.krdv-story-canvas--premium .krdv-story-provider-head--centered {
  display: grid;
  justify-items: center;
  gap: 22px;
}
.krdv-story-canvas--premium .krdv-story-provider-logo {
  width: 132px;
  height: 132px;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 20px 44px rgba(7, 20, 45, 0.26);
}
.krdv-story-canvas--premium .krdv-story-provider-logo img {
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  object-fit: contain;
}
.krdv-story-canvas--premium .krdv-story-provider-copy--centered {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow {
  margin: 0 0 14px;
  text-align: center;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow span {
  padding: 12px 24px;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: 0.12em;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  max-width: 860px;
  margin: 0 auto;
  color: #ffffff;
  text-align: center;
  font-size: clamp(40px, 5.7vw, 68px);
  line-height: 1.04;
  font-weight: 900;
  letter-spacing: -0.03em;
  overflow-wrap: break-word;
  text-wrap: balance;
  text-shadow: 0 16px 38px rgba(4, 10, 24, 0.42);
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  max-width: 760px;
  margin: 16px auto 0;
  color: rgba(255, 255, 255, 0.92);
  text-align: center;
  font-size: 22px;
  line-height: 1.34;
  text-shadow: 0 12px 24px rgba(4, 10, 24, 0.28);
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 548px;
  min-height: 596px;
  width: min(82%, 792px);
  left: 50%;
  transform: translateX(-50%);
  padding: 42px 46px 44px;
  border-radius: 44px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(247, 250, 255, 0.985));
  border: 1px solid rgba(13, 27, 61, 0.1);
  box-shadow: 0 28px 56px rgba(8, 20, 44, 0.2);
  color: #0d1b3d;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 32px;
}
.krdv-story-canvas--premium .krdv-story-qr-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  width: min(560px, 100%);
  aspect-ratio: 1 / 1;
  padding: 26px;
  border-radius: 32px;
  background: #ffffff;
  border: 1px solid rgba(13, 27, 61, 0.08);
  box-shadow: 0 18px 34px rgba(13, 27, 61, 0.08);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.krdv-story-canvas--premium .krdv-story-qr {
  width: 100%;
  display: grid;
  place-items: center;
}
.krdv-story-canvas--premium .krdv-story-qr canvas,
.krdv-story-canvas--premium .krdv-story-qr img {
  display: block;
  width: min(508px, 100%);
  max-width: 100%;
  height: auto !important;
  margin: 0 auto;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  width: 100%;
  max-width: 680px;
  text-align: center;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow {
  margin: 0 0 18px;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow span {
  padding: 13px 28px;
  border-radius: 999px;
  border: 1px solid rgba(28, 199, 183, 0.28);
  background: #ffffff;
  color: #1694a8;
  font-size: 14px;
  letter-spacing: 0.16em;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  margin: 0;
  color: #102650;
  font-size: clamp(40px, 5vw, 56px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.krdv-story-canvas--premium .krdv-story-qr-copy p {
  margin: 16px auto 0;
  max-width: 580px;
  color: #51627f;
  font-size: 21px;
  line-height: 1.44;
}
.krdv-story-canvas--premium .krdv-story-qr-copy span:not(.eyebrow span) {
  display: inline-block;
  margin-top: 18px;
  color: #102650;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: lowercase;
}
.krdv-story-canvas--premium .krdv-story-footer {
  top: 1504px;
  min-height: 416px;
  padding: 0 88px 80px;
  display: grid;
  align-content: end;
  justify-items: center;
  gap: 22px;
}
.krdv-story-canvas--premium .krdv-story-site-link {
  color: rgba(255, 255, 255, 0.96);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  text-shadow: 0 14px 24px rgba(4, 10, 24, 0.24);
}
.krdv-story-canvas--premium .krdv-story-socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
}
.krdv-story-canvas--premium .krdv-story-social {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 34px rgba(4, 10, 24, 0.18);
}
.krdv-story-canvas--premium .krdv-story-social img {
  width: 34px;
  height: 34px;
}
/* Karibook premium QR sheet generator - full redesign */
.krdv-story-theme-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
}
.krdv-story-theme-picker button {
  appearance: none;
  border: 1px solid rgba(8, 29, 58, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: #081d3a;
  cursor: pointer;
  font-weight: 800;
  padding: 9px 13px;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.krdv-story-theme-picker button:hover,
.krdv-story-theme-picker button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(0, 180, 216, 0.52);
}
.krdv-story-theme-picker button.is-active {
  background: #081d3a;
  border-color: #081d3a;
  color: #ffffff;
}
.krdv-story-canvas--premium {
  isolation: isolate;
  background:
    radial-gradient(circle at 18% 14%, rgba(0, 180, 216, 0.28), transparent 26%),
    radial-gradient(circle at 82% 8%, rgba(255, 107, 53, 0.18), transparent 22%),
    radial-gradient(circle at 50% 78%, rgba(0, 180, 216, 0.2), transparent 30%),
    linear-gradient(155deg, #081d3a 0%, #06172f 48%, #092b4d 76%, #00b4d8 135%) !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 34px 90px rgba(8, 29, 58, 0.38);
}
.krdv-story-canvas--premium[data-krdv-story-theme="tropical"] {
  background:
    radial-gradient(circle at 15% 12%, rgba(0, 180, 216, 0.42), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(0, 227, 167, 0.24), transparent 24%),
    radial-gradient(circle at 16% 92%, rgba(255, 107, 53, 0.18), transparent 20%),
    linear-gradient(150deg, #06172f 0%, #073b54 54%, #00b4d8 150%) !important;
}
.krdv-story-canvas--premium[data-krdv-story-theme="gold"] {
  background:
    radial-gradient(circle at 82% 12%, rgba(242, 201, 76, 0.28), transparent 25%),
    radial-gradient(circle at 16% 18%, rgba(255, 107, 53, 0.18), transparent 22%),
    linear-gradient(155deg, #030812 0%, #081d3a 54%, #12110a 100%) !important;
}
.krdv-story-canvas--premium[data-krdv-story-theme="minimal"] {
  background:
    radial-gradient(circle at 18% 12%, rgba(0, 180, 216, 0.18), transparent 28%),
    radial-gradient(circle at 88% 74%, rgba(255, 107, 53, 0.1), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 100%) !important;
}
.krdv-story-canvas--premium .krdv-story-layer-reference,
.krdv-story-canvas--premium .krdv-story-layer-hero {
  display: none !important;
}
.krdv-story-canvas--premium .krdv-story-backdrop {
  background:
    linear-gradient(180deg, rgba(8, 29, 58, 0.06), rgba(8, 29, 58, 0.34)),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 34px);
}
.krdv-story-canvas--premium .krdv-story-backdrop::before,
.krdv-story-canvas--premium .krdv-story-backdrop::after {
  content: "";
  position: absolute;
  width: 300px;
  height: 560px;
  opacity: 0.18;
  pointer-events: none;
  background:
    radial-gradient(ellipse at center, transparent 0 42%, rgba(0, 180, 216, 0.9) 43% 45%, transparent 46%),
    radial-gradient(ellipse at center, transparent 0 52%, rgba(255, 255, 255, 0.55) 53% 55%, transparent 56%);
  filter: blur(0.2px);
}
.krdv-story-canvas--premium .krdv-story-backdrop::before {
  top: 24px;
  left: -150px;
  transform: rotate(-22deg);
}
.krdv-story-canvas--premium .krdv-story-backdrop::after {
  top: 60px;
  right: -160px;
  transform: rotate(24deg);
}
.krdv-story-canvas--premium .krdv-story-noise {
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.18), transparent 1.5px),
    radial-gradient(circle at 68% 34%, rgba(0, 180, 216, 0.2), transparent 1.5px),
    radial-gradient(circle at 28% 64%, rgba(255, 107, 53, 0.16), transparent 1.5px);
  background-size: 120px 120px, 170px 170px, 210px 210px;
  opacity: 0.9;
}
.krdv-story-canvas--premium .krdv-story-brand-bar {
  top: 0;
  min-height: 190px;
  padding: 74px 78px 20px;
}
.krdv-story-canvas--premium .krdv-story-brand-mark {
  width: 260px;
  min-height: 58px;
}
.krdv-story-canvas--premium .krdv-story-brand-mark img {
  max-height: 78px;
}
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 210px;
  min-height: 330px;
  padding: 0 78px;
}
.krdv-story-canvas--premium .krdv-story-provider-head--centered {
  gap: 22px;
}
.krdv-story-canvas--premium .krdv-story-provider-logo {
  width: 150px;
  height: 150px;
  border-radius: 40px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.76);
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28);
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow span {
  border: 1px solid rgba(0, 180, 216, 0.35);
  background: rgba(0, 180, 216, 0.14);
  color: #9bf2ff;
  font-size: 15px;
  letter-spacing: 0.17em;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  font-size: clamp(52px, 6.4vw, 82px);
  line-height: 0.98;
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  max-width: 720px;
  margin-top: 18px;
  font-size: 26px;
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 615px;
  width: min(84%, 820px);
  min-height: 700px;
  padding: 48px 52px 44px;
  border-radius: 54px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.28);
  gap: 34px;
}
.krdv-story-canvas--premium .krdv-story-qr-card::after {
  content: "";
  position: absolute;
  top: 26px;
  left: 52px;
  right: 52px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff6b35 0 31%, #00b4d8 31% 68%, #f2c94c 68% 100%);
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  width: min(600px, 100%);
  padding: 30px;
  border-radius: 38px;
}
.krdv-story-canvas--premium .krdv-story-qr canvas,
.krdv-story-canvas--premium .krdv-story-qr img {
  width: min(540px, 100%);
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow span {
  background: rgba(0, 180, 216, 0.1);
  color: #008aa8;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  color: #081d3a;
  font-size: clamp(46px, 5.5vw, 62px);
}
.krdv-story-canvas--premium .krdv-story-qr-copy p {
  color: #4d5f78;
  font-size: 23px;
}
.krdv-story-canvas--premium .krdv-story-footer {
  top: 1510px;
  min-height: 410px;
  padding: 0 88px 82px;
}
.krdv-story-canvas--premium .krdv-story-social {
  background: rgba(255, 255, 255, 0.18);
}
.krdv-story-canvas--premium[data-krdv-story-theme="minimal"] .krdv-story-professional-name,
.krdv-story-canvas--premium[data-krdv-story-theme="minimal"] .krdv-story-site-link {
  color: #081d3a;
  text-shadow: none;
}
.krdv-story-canvas--premium[data-krdv-story-theme="minimal"] .krdv-story-professional-subtitle {
  color: #52647f;
  text-shadow: none;
}
.krdv-story-canvas--premium[data-krdv-story-theme="minimal"] .krdv-story-provider-copy .eyebrow span {
  background: rgba(0, 180, 216, 0.1);
  color: #007e99;
}
/* Final Story layout lock: copy target visual exactly, using relative coordinates. */
/* Le decor photographique est reintroduit sous les halos : cette regle,
   posee en !important, ecrasait la declaration d'origine qui, elle, le
   portait. La valeur de repli `none` est indispensable — sans elle, une
   variable absente invaliderait de nouveau tout le raccourci. */
.krdv-story-canvas--premium {
  overflow: hidden !important;
  background:
    radial-gradient(circle at 47% 98%, rgba(255, 107, 53, 0.42), transparent 2.8%),
    radial-gradient(circle at 42% 97%, rgba(255, 194, 95, 0.36), transparent 9%),
    radial-gradient(circle at 15% 6%, rgba(0, 180, 216, 0.18), transparent 26%),
    radial-gradient(circle at 89% 4%, rgba(255, 107, 53, 0.16), transparent 24%),
    var(--krdv-story-reference, none) center / cover no-repeat,
    linear-gradient(180deg, #041226 0%, #071b35 46%, #061529 100%) !important;
}
.krdv-story-canvas--premium .krdv-story-backdrop {
  background:
    radial-gradient(ellipse at -4% 7%, rgba(0, 180, 216, 0.42), transparent 17%),
    radial-gradient(ellipse at 104% 6%, rgba(255, 107, 53, 0.34), transparent 16%),
    radial-gradient(ellipse at 50% 98%, rgba(255, 120, 45, 0.4), transparent 18%),
    linear-gradient(180deg, rgba(8, 29, 58, 0.02), rgba(0, 0, 0, 0.2)) !important;
}
.krdv-story-canvas--premium .krdv-story-backdrop::before,
.krdv-story-canvas--premium .krdv-story-backdrop::after {
  width: 44%;
  height: 34%;
  opacity: 0.42;
  background:
    linear-gradient(32deg, transparent 0 44%, rgba(0, 180, 216, 0.5) 44.5% 46%, transparent 46.5%),
    linear-gradient(-18deg, transparent 0 52%, rgba(255, 107, 53, 0.42) 52.5% 54%, transparent 54.5%),
    linear-gradient(68deg, transparent 0 60%, rgba(255,255,255,0.22) 60.5% 61.5%, transparent 62%);
  filter: blur(0.2px);
}
.krdv-story-canvas--premium .krdv-story-backdrop::before {
  top: -7%;
  left: -23%;
  transform: rotate(-18deg);
}
.krdv-story-canvas--premium .krdv-story-backdrop::after {
  top: -6%;
  right: -21%;
  transform: rotate(20deg) scaleX(-1);
}
.krdv-story-canvas--premium .krdv-story-noise {
  background:
    radial-gradient(circle at 51% 95%, rgba(255, 184, 70, 0.8), transparent 0.5%),
    radial-gradient(circle at 57% 94.7%, rgba(255, 107, 53, 0.45), transparent 0.55%),
    radial-gradient(circle at 63% 95.2%, rgba(0, 180, 216, 0.5), transparent 0.45%),
    linear-gradient(90deg, transparent 0 43%, rgba(255, 107, 53, 0.7) 43% 50%, rgba(255, 194, 95, 0.75) 50% 57%, transparent 57% 100%);
  background-size: 100% 100%;
  opacity: 0.75;
}
.krdv-story-canvas--premium .krdv-story-brand-bar {
  top: 4% !important;
  left: 0 !important;
  width: 100% !important;
  min-height: 7% !important;
  padding: 0 11% !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-brand-mark {
  width: 48% !important;
  min-height: 0 !important;
  justify-items: start !important;
}
.krdv-story-canvas--premium .krdv-story-brand-mark img {
  width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.28));
}
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 16.8% !important;
  left: 0 !important;
  width: 100% !important;
  min-height: 16% !important;
  padding: 0 8.5% !important;
  display: block !important;
}
.krdv-story-canvas--premium .krdv-story-provider-head--centered {
  display: grid !important;
  grid-template-columns: 25% minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 5% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-logo {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 18% !important;
  background: rgba(8, 29, 58, 0.52) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.34) !important;
}
.krdv-story-canvas--premium .krdv-story-provider-logo img {
  width: 78% !important;
  height: 78% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy--centered {
  text-align: left !important;
  max-width: none !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow {
  position: absolute !important;
  top: -58% !important;
  left: 8.5% !important;
  width: 83% !important;
  margin: 0 !important;
  text-align: center !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow span {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #3ee9ff !important;
  font-size: clamp(7px, 1.8vw, 16px) !important;
  font-weight: 900 !important;
  letter-spacing: 0.22em !important;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  margin: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
  font-size: clamp(24px, 7.2vw, 62px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  text-shadow: 0 14px 28px rgba(0, 0, 0, 0.38) !important;
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  margin: 4% 0 0 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  text-align: left !important;
  font-size: clamp(10px, 2.8vw, 24px) !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 34.7% !important;
  left: 8.5% !important;
  width: 83% !important;
  min-height: 42% !important;
  transform: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: block !important;
  color: #ffffff !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card::before {
  content: none !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card::after {
  top: 4.5% !important;
  left: 7% !important;
  right: 7% !important;
  height: 2.2% !important;
  z-index: 3 !important;
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  width: 100% !important;
  aspect-ratio: 1.08 / 1 !important;
  padding: 9% 10% 7% !important;
  border-radius: 5.8% !important;
  background: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.86) !important;
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.34) !important;
  display: grid !important;
  place-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-qr,
.krdv-story-canvas--premium .krdv-story-qr canvas,
.krdv-story-canvas--premium .krdv-story-qr img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  margin-top: 8% !important;
  max-width: none !important;
  text-align: left !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow {
  margin: 0 0 3.5% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow span {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #29e5ff !important;
  font-size: clamp(7px, 1.8vw, 15px) !important;
  letter-spacing: 0.22em !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  color: #ffffff !important;
  font-size: clamp(20px, 6.3vw, 54px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  text-align: left !important;
  text-shadow: 0 12px 28px rgba(0, 0, 0, 0.35) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy p {
  margin: 4% 0 0 !important;
  max-width: none !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: clamp(9px, 2.35vw, 20px) !important;
  line-height: 1.32 !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy span:not(.eyebrow span) {
  margin-top: 6% !important;
  color: #2de7ff !important;
  font-size: clamp(10px, 2.55vw, 22px) !important;
  letter-spacing: 0 !important;
  text-transform: lowercase !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  top: auto !important;
  bottom: 4.8% !important;
  left: 0 !important;
  width: 100% !important;
  min-height: 6% !important;
  padding: 0 !important;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
}
.krdv-story-canvas--premium .krdv-story-site-link {
  display: none !important;
}
.krdv-story-canvas--premium .krdv-story-socials {
  gap: clamp(10px, 4vw, 34px) !important;
}
.krdv-story-canvas--premium .krdv-story-social {
  width: clamp(28px, 10vw, 76px) !important;
  height: clamp(28px, 10vw, 76px) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
.krdv-story-canvas--premium .krdv-story-social img {
  width: 54% !important;
  height: 54% !important;
  object-fit: contain !important;
}
/* Final typography and spacing stabilizer: sizes follow the Story width, not the browser viewport. */
.krdv-story-canvas--premium {
  container-type: inline-size !important;
}
.krdv-story-canvas--premium .krdv-story-brand-bar {
  top: 3.8% !important;
}
.krdv-story-canvas--premium .krdv-story-brand-mark {
  width: 43% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 16.2% !important;
  min-height: 15.2% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-head--centered {
  grid-template-columns: 24% minmax(0, 1fr) !important;
  gap: 5.2% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow {
  top: -54% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow span,
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow span {
  font-size: clamp(7px, 3.1cqw, 15px) !important;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  display: -webkit-box !important;
  max-height: 2.08em !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  font-size: clamp(24px, 11.4cqw, 46px) !important;
  line-height: 1.04 !important;
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  display: -webkit-box !important;
  max-height: 2.6em !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  font-size: clamp(10px, 4.2cqw, 18px) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 33.8% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  aspect-ratio: 1.08 / 1 !important;
  padding: 8.5% 10% 7.4% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  margin-top: 7.2% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  font-size: clamp(20px, 10.4cqw, 42px) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy p {
  max-width: 92% !important;
  font-size: clamp(9px, 3.4cqw, 16px) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy span:not(.eyebrow span) {
  font-size: clamp(10px, 3.8cqw, 17px) !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  bottom: 3.8% !important;
}
.krdv-story-canvas--premium .krdv-story-social {
  width: clamp(30px, 12.5cqw, 58px) !important;
  height: clamp(30px, 12.5cqw, 58px) !important;
}
/* Story visual final polish: mirror the premium reference layout. */
.krdv-story-canvas--premium .krdv-story-brand-bar {
  top: 3.2% !important;
  left: 0 !important;
  width: 100% !important;
  padding-left: 10.5% !important;
}
.krdv-story-canvas--premium .krdv-story-brand-mark {
  width: 37.5% !important;
  max-width: 37.5% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 15.1% !important;
  left: 0 !important;
  width: 100% !important;
  min-height: 14.6% !important;
  padding: 0 8.6% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.krdv-story-canvas--premium .krdv-story-provider-head--centered {
  grid-template-columns: 22.5% minmax(0, 1fr) !important;
  gap: 5.3% !important;
  align-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-provider-logo {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  border-radius: 22% !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow {
  position: absolute !important;
  top: -49% !important;
  left: 0 !important;
  margin: 0 !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow span {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #29e5ff !important;
  font-size: clamp(6px, 2.2cqw, 12px) !important;
  letter-spacing: 0.24em !important;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  max-height: 2.08em !important;
  font-size: clamp(21px, 9.35cqw, 40px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  margin-top: 2.2% !important;
  font-size: clamp(8px, 3.15cqw, 14px) !important;
  line-height: 1.2 !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 31.8% !important;
  left: 8.5% !important;
  width: 83% !important;
  min-height: auto !important;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card::before {
  display: none !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card::after {
  top: 3.1% !important;
  left: 8.2% !important;
  right: 8.2% !important;
  height: 2.3% !important;
  border-radius: 999px !important;
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1.08 / 1 !important;
  padding: 7.8% 9.5% 6.8% !important;
  border-radius: 5.3% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  margin-top: 5.8% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  text-align: left !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow {
  margin: 0 0 2.7% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow span {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #29e5ff !important;
  font-size: clamp(6px, 2.35cqw, 12px) !important;
  letter-spacing: 0.24em !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  color: #ffffff !important;
  font-size: clamp(18px, 8.15cqw, 35px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy p {
  max-width: 88% !important;
  margin-top: 2.8% !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: clamp(7px, 2.6cqw, 13px) !important;
  line-height: 1.34 !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy span:not(.eyebrow span) {
  display: inline-block !important;
  margin-top: 4.6% !important;
  color: #2de7ff !important;
  font-size: clamp(8px, 2.95cqw, 14px) !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  bottom: 3.1% !important;
  min-height: 5.8% !important;
}
.krdv-story-canvas--premium .krdv-story-socials {
  gap: clamp(9px, 4.2cqw, 20px) !important;
}
.krdv-story-canvas--premium .krdv-story-social {
  width: clamp(28px, 10.2cqw, 48px) !important;
  height: clamp(28px, 10.2cqw, 48px) !important;
}
/* Story visual compact reference pass: preserve the CTA and footer breathing room. */
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 14.7% !important;
  min-height: 13.8% !important;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  font-size: clamp(20px, 8.7cqw, 38px) !important;
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  max-width: 92% !important;
  font-size: clamp(7px, 2.85cqw, 13px) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 30.4% !important;
  left: 11.2% !important;
  width: 77.6% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card::after {
  top: 3.4% !important;
  left: 8.6% !important;
  right: 8.6% !important;
  height: 2.5% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  aspect-ratio: 1.07 / 1 !important;
  padding: 8.3% 9.7% 7.3% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  margin-top: 4.8% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow {
  margin-bottom: 2.3% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  font-size: clamp(17px, 7.6cqw, 32px) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy p {
  max-width: 93% !important;
  margin-top: 2.2% !important;
  font-size: clamp(6px, 2.25cqw, 12px) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy span:not(.eyebrow span) {
  margin-top: 3.1% !important;
  font-size: clamp(7px, 2.55cqw, 13px) !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  bottom: 2.7% !important;
  min-height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.krdv-story-canvas--premium .krdv-story-social {
  width: clamp(25px, 9.2cqw, 43px) !important;
  height: clamp(25px, 9.2cqw, 43px) !important;
}
/* Story QR final nudge: slightly smaller QR and perfectly centered standalone card. */
.krdv-story-canvas--premium .krdv-story-qr-card {
  left: 13.5% !important;
  width: 73% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  padding: 8.8% 10.2% 7.8% !important;
}
.krdv-provider-qr-panel {
  display: grid !important;
  place-items: center !important;
}
.krdv-provider-qr-box,
.krdv-provider-qr,
.krdv-provider-qr canvas,
.krdv-provider-qr img {
  margin-inline: auto !important;
}
.krdv-provider-qr-box,
.krdv-provider-qr {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}
.krdv-provider-qr canvas,
.krdv-provider-qr img {
  display: block !important;
  max-width: 100% !important;
}
/* Story harmony pass: centered brand, safer QR stripe, consistent social icons. */
.krdv-story-canvas--premium .krdv-story-brand-bar {
  top: 3.15% !important;
  padding-left: 0 !important;
  display: grid !important;
  place-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-brand-mark {
  width: 43% !important;
  max-width: 43% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card::after {
  top: 4.8% !important;
  left: 9.8% !important;
  right: 9.8% !important;
  height: 2.2% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  padding: 11.4% 10.8% 8.1% !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  left: 0 !important;
  right: 0 !important;
  bottom: 2.6% !important;
  width: 100% !important;
  display: grid !important;
  place-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-socials,
.krdv-provider-qr-socials {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.krdv-story-canvas--premium .krdv-story-socials {
  gap: clamp(10px, 4.5cqw, 22px) !important;
}
.krdv-provider-qr-socials {
  gap: 10px !important;
}
.krdv-story-canvas--premium .krdv-story-social,
.krdv-provider-qr-social {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 14px 26px rgba(0, 0, 0, 0.22) !important;
}
.krdv-provider-qr-social {
  width: 38px !important;
  height: 38px !important;
  background: #ffffff !important;
  border-color: #dbe7f3 !important;
  box-shadow: 0 10px 24px rgba(8, 29, 58, 0.1) !important;
}
/* Les quatre logos sont maintenant des <svg> écrits dans la page (voir
   provider_social_asset() dans karayib-rdv-core.php). Le rustine qui
   masquait l'image de Facebook pour redessiner un « f » en CSS n'a plus
   lieu d'être : elle superposerait une lettre au vrai logo. */
.krdv-story-canvas--premium .krdv-story-social img,
.krdv-story-canvas--premium .krdv-story-social svg,
.krdv-provider-qr-social img,
.krdv-provider-qr-social svg {
  display: block !important;
  width: 56% !important;
  height: 56% !important;
  object-fit: contain !important;
  margin: 0 !important;
}
/* Story presentation final cleanup: one QR only, premium CTA label, centered socials. */
.krdv-kit-shell-preview .krdv-provider-qr-panel {
  display: none !important;
}
.krdv-kit-shell-preview {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
}
.krdv-kit-shell-preview .krdv-story-preview {
  width: min(100%, 420px) !important;
  margin-inline: auto !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  text-align: center !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow {
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 3.2% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy .eyebrow span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: clamp(18px, 5.2cqw, 26px) !important;
  padding: 0.15em 0.95em !important;
  border-radius: 999px !important;
  background: rgba(0, 180, 216, 0.14) !important;
  border: 1px solid rgba(0, 180, 216, 0.34) !important;
  color: #74f4ff !important;
  letter-spacing: 0.2em !important;
  box-shadow: 0 10px 24px rgba(0, 180, 216, 0.12) !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4,
.krdv-story-canvas--premium .krdv-story-qr-copy p,
.krdv-story-canvas--premium .krdv-story-qr-copy span:not(.eyebrow span) {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy p {
  max-width: 92% !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  bottom: 2.9% !important;
}
.krdv-story-canvas--premium .krdv-story-socials {
  width: auto !important;
  min-width: 54% !important;
  max-width: 78% !important;
  margin-inline: auto !important;
}
/* Story footer separation: keep the website readable above the social row. */
.krdv-story-canvas--premium .krdv-story-qr-copy span:not(.eyebrow span) {
  display: block !important;
  width: fit-content !important;
  margin-top: 4.4% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0.35em 0.9em !important;
  border-radius: 999px !important;
  background: rgba(0, 180, 216, 0.12) !important;
  border: 1px solid rgba(0, 180, 216, 0.2) !important;
  color: #7ff6ff !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  bottom: 1.2% !important;
  min-height: 8.6% !important;
  align-content: end !important;
  padding-bottom: 1.3% !important;
}
.krdv-story-canvas--premium .krdv-story-socials {
  min-width: 62% !important;
  max-width: 70% !important;
  gap: clamp(12px, 5cqw, 24px) !important;
}
.krdv-story-canvas--premium .krdv-story-social {
  width: clamp(24px, 8.6cqw, 40px) !important;
  height: clamp(24px, 8.6cqw, 40px) !important;
}
/* Story print-safe pass: no social row, no clipped title/subtitle. */
.krdv-story-canvas--premium .krdv-story-socials,
.krdv-story-canvas--premium .krdv-story-social {
  display: none !important;
}
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 13.2% !important;
  min-height: 18.5% !important;
  padding-inline: 8.4% !important;
  overflow: visible !important;
}
.krdv-story-canvas--premium .krdv-story-provider-head--centered {
  grid-template-columns: 21.5% minmax(0, 1fr) !important;
  gap: 5% !important;
  align-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  font-size: clamp(18px, 7.75cqw, 34px) !important;
  line-height: 1.05 !important;
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  margin-top: 2.8% !important;
  font-size: clamp(7px, 2.65cqw, 12px) !important;
  line-height: 1.25 !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 34% !important;
  left: 13% !important;
  width: 74% !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  margin-top: 5.2% !important;
}
.krdv-story-canvas--premium .krdv-story-footer {
  display: none !important;
}
@media (prefers-reduced-motion: reduce) {
.krdv-tour-spotlight,
  .krdv-tour-track > span {
    transition: none;
  }
}
/* =========================================================================
   KIT QR — sélecteur d'aperçu (QR code / Story)
   =========================================================================
   Le panneau n'affiche qu'un seul visuel à la fois. Auparavant, « Générer
   ma fiche » sortait la story de sa position hors écran sans jamais l'y
   remettre : le QR autonome et celui de la story cohabitaient alors sur
   la même page. La règle ci-dessous garantit l'exclusivité même si le
   script ne se charge pas.
   ========================================================================= */
.krdv-kit-viewswitch {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(13, 27, 61, 0.06);
}
.krdv-kit-viewswitch button {
  padding: 7px 16px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5a6680;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    background 160ms ease,
    color 160ms ease;
}
.krdv-kit-viewswitch button:hover { color: #0B2A4A; }
.krdv-kit-viewswitch button.is-active {
  background: #ffffff;
  color: #0B2A4A;
  box-shadow: 0 6px 16px rgba(13, 27, 61, 0.1);
}
.krdv-provider-qr-panel[data-krdv-kit-view="story"] .krdv-provider-qr-box { display: none; }
.krdv-provider-qr-caption {
  margin: 12px 0 0;
  font-size: 0.82rem;
  color: #5a6680;
  text-align: center;
}
/* =========================================================================
   INSCRIPTION PROFESSIONNELLE — correctifs de lisibilité
   =========================================================================
   1. La règle générique « .krdv-join-form label » met en capitales, en 0.78rem
      et en graisse 800 tout ce qu'elle touche. Elle vise les intitulés courts
      des champs (« Nom de l'établissement »), mais elle s'applique aussi aux
      <label> qui enveloppent une carte entière : la carte d'offre et les
      pastilles de catégories. Résultat, trois lignes de description et cinq
      arguments s'affichaient en MAJUSCULES — illisible sur cette longueur.
      On rend leur casse normale à ces deux cas.
   2. .krdv-pricing-summary-head n'avait aucune règle : son <strong> et son
      <span> se suivaient dans le flux, d'où « …présence professionnellePour
      le lancement, tous les professionnels… » collé en une seule phrase.
   ========================================================================= */
.krdv-join-form label.krdv-plan-choice,
.krdv-join-form label.krdv-chip-check,
.krdv-join-form label.krdv-inline-check,
.krdv-join-form label.krdv-admin-check,
.krdv-join-form label.krdv-signup-acceptance {
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--krdv-ink);
}
.krdv-join-form label.krdv-plan-choice .krdv-plan-choice-copy,
.krdv-join-form label.krdv-plan-choice .krdv-plan-choice-points span,
.krdv-join-form label.krdv-plan-choice .krdv-plan-choice-note {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 500;
}
.krdv-join-form label.krdv-plan-choice .krdv-plan-choice-note { font-weight: 700; }
.krdv-pricing-summary-head {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
}
.krdv-pricing-summary-head strong {
  color: var(--krdv-navy, #0B2A4A);
  font-size: 1.05rem;
  line-height: 1.35;
}
.krdv-pricing-summary-head span {
  color: var(--krdv-muted, #5a6680);
  font-size: 0.92rem;
  line-height: 1.55;
}
/* Le conteneur vide qu'on laisse en place pour les notices : sans contenu, il
   ajoutait une gouttière de grille avant le formulaire. */
.krdv-signup-form-shell:empty { display: none; }
/* Deux colonnes seulement quand il y a réellement une grille de choix à
   afficher à côté du récapitulatif. Avec une offre unique, la grille n'est
   pas rendue : une deuxième colonne laisserait la moitié de la largeur vide
   à droite du récapitulatif. */
@media (min-width: 1080px) {
  .krdv-plan-choice-layout:has(.krdv-pricing-grid--plans) {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  }
}
/* Offre unique : le récapitulatif occupe toute la largeur. Sa liste de
   points passe alors sur plusieurs colonnes, sinon cinq puces s'étirent en
   une colonne étroite au milieu d'un grand vide. */
.krdv-plan-choice-layout:not(:has(.krdv-pricing-grid--plans)) .krdv-plan-selected-summary {
  grid-column: 1 / -1;
}
@media (min-width: 860px) {
.krdv-plan-choice-layout:not(:has(.krdv-pricing-grid--plans)) .krdv-plan-selected-checklist {
    display: grid;
    /* Trois colonnes au maximum : au-delà, les intitulés les plus longs
       passent à la ligne alors que leurs voisins tiennent sur une seule. */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 10px 32px;
  }
.krdv-plan-choice-layout:not(:has(.krdv-pricing-grid--plans)) .krdv-plan-selected-next ol {
    columns: 2;
    column-gap: 32px;
  }
.krdv-plan-choice-layout:not(:has(.krdv-pricing-grid--plans)) .krdv-plan-selected-next li {
    break-inside: avoid;
  }
}
/* Bloc de champ non-<label> : même présentation que les intitulés de champs,
   utilisé là où le contenu embarque déjà ses propres <label> (sélecteur de
   catégories), car imbriquer des <label> est invalide. */
.krdv-field-block {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.krdv-field-block-label {
  color: var(--krdv-muted, #5a6680);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* =========================================================================
   PAGE DE CONNEXION / INSCRIPTION — lisibilité du panneau sombre
   =========================================================================
   MESURE (identique en mobile et en 1440 px) :
     couleur du titre .. rgb(11, 42, 74)
     fond du panneau ... rgb(13, 31, 63)
     contraste ......... 1,12:1   (le minimum lisible est de 4,5:1)

   Le titre « Un seul compte pour réserver… » était donc pratiquement
   invisible : bleu nuit sur bleu nuit. Cette feuille déclare bien
   « color: #ffffff » sur ce titre, mais le thème charge après elle une règle
   « .karibook-beta h2 { color: var(--kb-navy) }
» de spécificité identique
   (0,1,1) : à égalité, c'est la dernière déclarée qui gagne. On repasse donc
   par une spécificité supérieure, sans !important — le panneau est sombre,
   son texte doit être clair, ce n'est pas négociable selon le thème actif.
   ========================================================================= */
.krdv-auth-aside .krdv-auth-aside-copy h2,
.krdv-auth-aside .krdv-auth-aside-copy h3 {
  color: #ffffff;
}
.krdv-auth-aside .krdv-auth-kicker {
  color: #7fd4e8;
}
.krdv-auth-aside .krdv-auth-aside-copy p,
.krdv-auth-aside .krdv-auth-benefits article strong,
.krdv-auth-aside .krdv-auth-benefits article div,
.krdv-auth-aside .krdv-auth-benefits article small {
  color: rgba(255, 255, 255, 0.88);
}
/* =========================================================================
   PAGE DE CONNEXION — taille du logo
   =========================================================================
   Le logo occupait 240 px de large dans une colonne de 380, et sur un écran
   de 390 px il prenait 62 % de la largeur : on ouvrait la page sur un logo,
   pas sur un moyen de se connecter. C'est ici — et nulle part ailleurs —
   qu'il est dimensionné : deux règles concurrentes sur la même balise, c'est
   la dernière qui gagne, et on finit par corriger celle qui ne s'applique
   pas. Le fichier n'est plus carré (logo complet, fond transparent) : on
   contraint donc la largeur et on laisse la hauteur suivre.
   ========================================================================= */
.krdv-auth-brandmark {
  width: clamp(104px, 16vw, 168px);
}
.krdv-auth-brandmark img {
  width: 100%;
  height: auto;
}
@media (max-width: 900px) {
.krdv-auth-brandmark { width: 124px; }
/* Sur mobile, le panneau de présentation passe après le formulaire : on
     vient sur cette page pour se connecter, pas pour lire les arguments. */
  .krdv-auth-frame { display: flex; flex-direction: column; }
.krdv-auth-main { order: 1; }
.krdv-auth-aside { order: 2; }
.krdv-auth-aside-copy h2 { font-size: clamp(1.4rem, 5.4vw, 1.9rem); }
}
/* Réponse publique du professionnel sous un avis client. */
.krdv-review-answer {
  margin-top: 12px;
  padding: 12px 14px;
  background: #F3F7F7;
  border-left: 3px solid #2AB0A8;
  border-radius: 0 8px 8px 0;
}
.krdv-review-answer strong {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #147F79;
  margin-bottom: 5px;
}
.krdv-review-answer p { margin: 0; font-size: 14px; line-height: 1.55; color: #33454F; }
/* Bloc expliquant pourquoi le formulaire d'avis n'est pas proposé.
   Le bouton porte sa propre couleur de fond : `.krdv-provider-action.is-primary`
   ne reçoit un fond que dans certains conteneurs précis (carte d'inscription,
   espace client…). Hors de ceux-là, il hérite d'un texte blanc sur fond
   transparent — donc invisible. Plutôt que d'ajouter ce bloc à la liste des
   exceptions, on lui donne son propre style. */
.krdv-review-gate {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
  padding: 16px 18px; margin: 16px 0 24px;
  background: #F6F9FA;
  border: 1px dashed #D8E2E5;
  border-radius: 12px;
  color: #33454F; font-size: 14.5px; line-height: 1.55;
}
.krdv-review-gate p { margin: 0; flex: 1 1 240px; }
/* `!important` à contrecœur : cette feuille contient une quarantaine de règles
   `!important` concurrentes sur `.krdv-provider-action`, empilées au fil des
   passes de contraste. Sans lui, ce bouton hérite d'un texte blanc sans aucun
   fond — invisible sur le bloc clair. Le corriger proprement demanderait de
   reprendre toute la cascade de ce composant, ce qui n'est pas le sujet ici :
   on ne laisse pas un bouton illisible en attendant. */
.krdv-review-gate .krdv-provider-action.is-primary,
.krdv-review-gate .krdv-provider-action.is-primary:link,
.krdv-review-gate .krdv-provider-action.is-primary:visited {
  flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 20px;
  background: #102650 !important;
  background-image: none !important;
  border: 1px solid #102650 !important;
  border-radius: 999px;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF;
  font-weight: 800; font-size: 14px; text-decoration: none;
}
.krdv-review-gate .krdv-provider-action.is-primary:hover,
.krdv-review-gate .krdv-provider-action.is-primary:focus-visible {
  background: #0B1E3A !important;
  background-image: none !important;
  border-color: #0B1E3A !important;
  color: #FFFFFF !important;
}
/* ------------------------------------------------------------------ *
 * RÉSERVATION SANS COMPTE
 *
 * Le lien de repli sous les boutons de compte, l'encart explicatif en
 * tête du formulaire invité, et la case de consentement. Le traitement
 * est délibérément sobre : réserver avec un compte reste la meilleure
 * option pour le client, ce chemin ne doit pas la concurrencer
 * visuellement.
 * ------------------------------------------------------------------ */
.krdv-booking-auth-guest {
  display: grid;
  gap: 4px;
  margin: 14px 0 0;
}
.krdv-booking-auth-guest a {
  font-weight: 700;
  color: #0B7268;
}
.krdv-booking-auth-guest span {
  font-size: 0.85rem;
  line-height: 1.55;
  color: var(--krdv-muted, #5a6680);
}
.krdv-booking-guest-note {
  display: grid;
  gap: 6px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(11, 114, 104, 0.25);
  border-radius: 16px;
  background: #F2FAF9;
}
.krdv-booking-guest-note strong { color: #0B2A4A; }
.krdv-booking-guest-note p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--krdv-muted, #5a6680);
}
.krdv-booking-guest-note a {
  font-weight: 700;
  color: #0B7268;
}
.krdv-booking-guest-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 12px;
  font-size: 0.88rem;
  line-height: 1.55;
}
/* La case garde une cible de 20 px : un consentement doit rester
   cochable au doigt, pas seulement à la souris. */
.krdv-booking-guest-consent input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  flex: 0 0 auto;
}
/* Mention de non-assujettissement sous le total d'une facture. C'est une
   mention légale : discrète, mais jamais absente quand elle s'applique. */
.krdv-invoice-vat-mention {
  margin: 8px 0 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--krdv-muted, #5a6680);
  font-style: italic;
}
/* =========================================================================
   INSCRIPTION PROFESSIONNELLE — INTERTITRES
   =========================================================================
   Le formulaire était une grille continue de treize champs. Deux
   intertitres le coupent en deux questions distinctes — « quel est votre
   établissement ? » puis « quel compte créez-vous ? » — ce qui donne au
   candidat une idée de la longueur restante. Un formulaire qu'on peut
   jauger d'un coup d'œil s'abandonne moins.
   ========================================================================= */

.krdv-signup-group {
  margin: 8px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(11, 42, 74, .10);
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #62727B;
}
.krdv-form-grid > .krdv-signup-group:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
/* =========================================================================
   KIT QR — UN SEUL VISUEL A LA FOIS
   =========================================================================
   Le panneau propose deux vues, « QR code » et « Story ». La regle qui
   masque le QR autonome en vue Story existait bien :

     .krdv-provider-qr-panel[data-krdv-kit-view="story"] .krdv-provider-qr-box { display: none; }
mais une regle anterieure declarait `display: grid !important` sur
   .krdv-provider-qr-box. Un !important l'emporte quel que soit l'ordre :
   le QR autonome restait donc affiche, juste au-dessus de celui contenu
   dans la story — d'ou deux QR codes colles l'un a l'autre, et la legende
   « Scannez pour ouvrir votre fiche publique » sous le mauvais visuel.

   On rend la bascule autoritaire. La story, elle, n'est jamais mise en
   display:none quand elle est inactive : elle est deplacee hors ecran
   (.krdv-story-preview-hidden), parce que html2canvas a besoin qu'elle
   reste rendue pour produire le PNG a telecharger.
   ========================================================================= */
.krdv-provider-qr-panel[data-krdv-kit-view="story"] .krdv-provider-qr-box {
  display: none !important;
}
.krdv-provider-qr-panel[data-krdv-kit-view="qr"] .krdv-story-preview:not(.krdv-story-preview-hidden) {
  display: none !important;
}
/* =========================================================================
   APERÇU STORY — DEUX DÉFAUTS MESURÉS EN PRODUCTION
   =========================================================================
   1. L'aperçu s'effondrait à 2 × 4 px dès qu'on l'affichait.

      .krdv-provider-qr-panel est en `place-items: center !important` : ses
      enfants se dimensionnent donc sur leur contenu, sans largeur définie.
      Le canvas demandait `width: min(360px, 100%)` — un pourcentage calculé
      sur une largeur indéfinie, qui s'effondre. Tant que l'aperçu restait
      caché il gardait sa taille, parce que .krdv-story-preview-hidden fixe
      `width: 360px` ; en l'affichant, cette largeur disparaissait. Le visuel
      n'a donc jamais pu s'afficher dans cet onglet — d'où l'impression qu'il
      n'y avait que des QR codes.

      On donne une largeur définie à l'aperçu visible. Les unités `cqw` du
      gabarit (le canvas porte `container-type: inline-size`) se calculent
      alors correctement et toute la composition suit l'échelle.

   2. Le logo du bandeau recouvrait le nom de l'établissement.

      Le gabarit attend un logo horizontal ; l'icône du site est carrée et
      occupait 198 px de haut sur 360 de large. C'est corrigé côté PHP
      (story_brand_logo_asset), mais on plafonne aussi la hauteur ici : quel
      que soit le format du fichier choisi, le bandeau garde sa hauteur et
      ne peut plus déborder sur le bloc suivant.
   ========================================================================= */
.krdv-provider-qr-panel .krdv-story-preview:not(.krdv-story-preview-hidden) {
  width: 360px !important;
  max-width: 100% !important;
  justify-self: center !important;
}
.krdv-provider-qr-panel .krdv-story-preview:not(.krdv-story-preview-hidden) .krdv-story-canvas {
  width: 100% !important;
  max-width: 360px !important;
}
.krdv-story-canvas--premium .krdv-story-brand-mark {
  width: auto !important;
  max-width: 60% !important;
}
.krdv-story-canvas--premium .krdv-story-brand-mark img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 13cqw !important;
  object-fit: contain !important;
}
/* =========================================================================
   GEOMETRIE FINALE DU VISUEL STORY
   =========================================================================
   Trois defauts constates sur le visuel genere, tous de meme origine : la
   composition avait ete decrite en pixels absolus (top: 220px, top: 548px,
   min-height: 596px, padding: 78px 84px) alors que le cadre, lui, mesure
   360 px de large a l'ecran et 1080 px a l'export. Un bloc pose a 548 px du
   haut se retrouve donc aux quatre cinquiemes d'un cadre de 640 px au lieu
   du tiers prevu : les blocs se chevauchaient, et le dernier passait sous
   le bord inferieur.

   Ici tout est exprime en pourcentage de la hauteur du cadre (pour les
   positions) et en cqw (pour les tailles de texte, l'unite qui suit la
   largeur du cadre et non celle de la fenetre). La composition est donc la
   meme a l'ecran et sur le fichier exporte, quelle que soit la taille
   d'affichage.

   Reperes du fond fourni : le mot-symbole KARIBOOK occupe le haut du cadre
   jusqu'a 17,6 % de la hauteur. Rien n'est pose au-dessus de 19 %.
   ========================================================================= */
.krdv-story-canvas--premium .krdv-story-brand-bar {
  display: none !important;
}
.krdv-story-canvas--premium .krdv-story-provider-card {
  top: 19% !important;
  bottom: auto !important;
  min-height: 0 !important;
  padding: 0 9cqw !important;
  display: grid !important;
  align-content: start !important;
}
.krdv-story-canvas--premium .krdv-story-provider-head,
.krdv-story-canvas--premium .krdv-story-provider-head--centered {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  gap: 2.6cqw !important;
}
.krdv-story-canvas--premium .krdv-story-provider-logo {
  /* Logo et nom un cran plus grands : sur un ecran de telephone tenu a
     bout de bras, c'est l'etablissement qu'on doit reconnaitre en premier. */
  width: 14cqw !important;
  height: 14cqw !important;
  min-height: 0 !important;
  border-radius: 4cqw !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  box-shadow: 0 3cqw 6cqw rgba(4, 10, 24, 0.3) !important;
}
.krdv-story-canvas--premium .krdv-story-provider-logo img {
  width: calc(100% - 2cqw) !important;
  height: calc(100% - 2cqw) !important;
  object-fit: contain !important;
}
.krdv-story-canvas--premium .krdv-story-provider-logo span {
  font-size: 6cqw !important;
  font-weight: 900 !important;
  color: #0d1b3d !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy--centered {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  justify-items: center !important;
  gap: 0 !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow {
  position: static !important;
  top: auto !important;
  margin: 0 0 2.4cqw !important;
}
.krdv-story-canvas--premium .krdv-story-provider-copy .eyebrow span {
  max-width: 84cqw !important;
  padding: 1.2cqw 3cqw !important;
  font-size: 2.9cqw !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  color: #0d6f80 !important;
}
.krdv-story-canvas--premium .krdv-story-professional-name {
  max-width: 100% !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  font-size: 8.2cqw !important;
  line-height: 1.04 !important;
  max-height: 2.12em !important;
}
.krdv-story-canvas--premium .krdv-story-professional-subtitle {
  max-width: 100% !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  overflow: hidden !important;
  margin: 2.2cqw 0 0 !important;
  font-size: 3.3cqw !important;
  line-height: 1.35 !important;
  max-height: 2.7em !important;
}
/* Le cadre blanc. Sa hauteur n'est plus imposee : elle decoule du QR et de
   la consigne, ce qui garantit qu'il se termine au-dessus du pied. */
.krdv-story-canvas--premium .krdv-story-qr-card {
  top: 44.5% !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 62cqw !important;
  min-height: 0 !important;
  padding: 4.2cqw !important;
  gap: 3.4cqw !important;
  border-radius: 6cqw !important;
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
}
.krdv-story-canvas--premium .krdv-story-qr-box {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  padding: 3cqw !important;
  border-radius: 4cqw !important;
  display: grid !important;
  place-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-qr {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-qr canvas,
.krdv-story-canvas--premium .krdv-story-qr img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
}
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  margin: 0 !important;
  font-size: 4.4cqw !important;
  line-height: 1.12 !important;
}
/* Le filet tricolore etait pose a 13 px du haut du cadre et 22 px de ses
   bords : a cette hauteur le cadre n'est encore que ses angles arrondis, si
   bien que le filet paraissait flotter au-dessus, plus large que lui. On le
   redescend sous la consigne, ou il se lit comme une signature de marque. */
.krdv-story-canvas--premium .krdv-story-qr-card::after {
  inset: auto auto 2.6cqw 50% !important;
  transform: translateX(-50%) !important;
  width: 22% !important;
  height: 1.1cqw !important;
  border-radius: 999px !important;
}
.krdv-story-canvas--premium .krdv-story-qr-card {
  padding-bottom: 7.4cqw !important;
}
/* Le pied avait fini en display:none dans une couche precedente : le
   visuel sortait donc sans adresse ni reseaux, alors que c'est ce qui rend
   la story utile une fois imprimee ou repartagee. On le remet, dimensionne
   pour tenir sous le cadre blanc. */
.krdv-story-canvas--premium .krdv-story-footer {
  display: grid !important;
  top: auto !important;
  bottom: 2.4% !important;
  min-height: 0 !important;
  padding: 0 9cqw !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  justify-content: center !important;
  align-content: end !important;
  gap: 2.2cqw !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
}
.krdv-story-canvas--premium .krdv-story-site-link {
  display: block !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 3cqw !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
.krdv-story-canvas--premium .krdv-story-socials {
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  justify-content: center !important;
  gap: 3cqw !important;
}
.krdv-story-canvas--premium .krdv-story-social {
  width: 7cqw !important;
  height: 7cqw !important;
  display: grid !important;
  place-items: center !important;
}
.krdv-story-canvas--premium .krdv-story-social svg,
.krdv-story-canvas--premium .krdv-story-social img {
  width: 54% !important;
  height: 54% !important;
}
/* =========================================================================
   CADRE DU QR : TROIS CORRECTIONS
   =========================================================================
   1. Le cadre blanc avait disparu. Une couche precedente mettait
      .krdv-story-qr-card en background transparent : il ne restait que le
      carre blanc du QR, pose seul sur le fond photographique, sans le
      cartouche qui devait l'entourer avec sa consigne. Le QR paraissait
      alors flotter de travers alors qu'il est, a la mesure, centre au
      pixel pres. On rend son fond au cadre.

   2. Equilibre vertical. Le cadre allait de 44,5 % a 85,6 % : 9 % de vide
      au-dessus, 4 % en dessous. Il remonte pour repartir l'espace.

   3. Le QR autonome sortait etire. Un canvas dont on fixe la largeur ET la
      hauteur separement ne conserve pas ses proportions : le code sortait
      deux fois plus haut que large, donc illisible par un telephone. On
      impose le carre.
   ========================================================================= */
.krdv-story-canvas--premium .krdv-story-qr-card {
  /* Ancre BASSE. Tant que ce cadre partait du haut, la hauteur du bloc
     d'identite decidait de tout : un nom d'etablissement passant sur deux
     lignes venait le recouvrir. Ancre au-dessus du pied, il ne bouge plus
     et c'est l'espace libre au-dessus qui absorbe la difference. */
  top: auto !important;
  bottom: 11.5% !important;
  background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
  background-image: linear-gradient(180deg, #ffffff, #f7fbff) !important;
  border: 1px solid rgba(13, 27, 61, 0.1) !important;
  box-shadow: 0 6cqw 12cqw rgba(8, 20, 44, 0.28) !important;
  color: #0d1b3d !important;
}
/* La boite du QR n'a plus besoin de son propre cadre : elle est
   maintenant DANS le cartouche blanc, et deux cadres blancs emboites se
   lisaient comme une erreur de rendu. */
.krdv-story-canvas--premium .krdv-story-qr-box {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 2cqw !important;
  /* Le QR occupe 90 % de la largeur du cartouche plutot que sa totalite :
     cela rend au bloc d'identite quelques points de hauteur, de quoi loger
     un nom d'etablissement sur deux lignes sans que rien ne se chevauche. */
  width: 90% !important;
  margin-inline: auto !important;
}
/* La consigne heritait du blanc du canvas : blanc sur le cartouche blanc,
   donc invisible. */
.krdv-story-canvas--premium .krdv-story-qr-copy,
.krdv-story-canvas--premium .krdv-story-qr-copy h4 {
  color: #0d1b3d !important;
  text-shadow: none !important;
}
.krdv-provider-qr canvas,
.krdv-provider-qr img,
.krdv-story-qr canvas,
.krdv-story-qr img {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: contain !important;
  margin-inline: auto !important;
}
/* =========================================================================
   CONNEXION GOOGLE / APPLE
   =========================================================================
   Deux boutons de meme poids visuel, poses AVANT le formulaire e-mail :
   c'est le chemin le plus court, il doit se voir en premier. Le trait « ou »
   les separe du formulaire sans ajouter de titre.
   ========================================================================= */
.krdv-social-login {
  display: grid;
  gap: 10px;
  margin: 0 0 22px;
}
.krdv-social-login__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 999px;
  border: 1.5px solid var(--krdv-line, #d7e3ef);
  background: #ffffff;
  color: #1f2430;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
.krdv-social-login__btn:hover {
  border-color: #9fb3c8;
  transform: translateY(-1px);
}
.krdv-social-login__btn--apple {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}
.krdv-social-login__btn--apple:hover {
  background: #1a1a1a;
  border-color: #1a1a1a;
}
.krdv-social-login__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: none;
}
.krdv-social-login__mark svg { width: 18px; height: 18px; display: block; }
.krdv-social-login__sep {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 6px 0 0;
  color: #5a6680;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.krdv-social-login__sep::before,
.krdv-social-login__sep::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--krdv-line, #d7e3ef);
}
.krdv-social-login__erreur {
  margin: 0 0 16px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(181, 52, 61, 0.28);
  background: rgba(211, 63, 73, 0.08);
  color: #B5343D;
  font-size: 0.9rem;
  font-weight: 600;
}
/* =========================================================================
   FORMULAIRE DE CONTACT PUBLIC
   =========================================================================
   Le formulaire n'avait aucun habillage propre : il heritait des regles
   generiques de `.krdv-form-grid` et se presentait comme une suite de
   champs poses a nu sur la page. Sur une page ou l'on demande a quelqu'un
   d'ecrire un vrai message, c'est le bloc qui porte la confiance : il
   devient une carte.
   ========================================================================= */

.krdv-contact-form-shell {
  /*
   * LES VARIABLES DE MARQUE SONT REDECLAREES ICI, ET C'EST INDISPENSABLE.
   *
   * Elles ne sont definies que sur cinq conteneurs — .krdv-market,
   * .krdv-booking-form, .krdv-onboarding, .krdv-pro-space et
   * .krdv-customer-space — dont la coquille du formulaire de contact ne
   * fait pas partie. Une variable absente rend TOUTE la declaration qui
   * l'utilise invalide : `border: 1.5px solid var(--krdv-line)` ne
   * produisait pas une bordure d'une autre couleur, il ne produisait
   * AUCUNE bordure, et les champs apparaissaient comme des rectangles
   * blancs sans contour. Le meme piege est deja documente plus haut pour
   * .krdv-tour-overlay.
   */
  --krdv-navy: #0B2A4A;
  --krdv-turquoise: #12A79A;
  --krdv-ink: #0f1a33;
  --krdv-muted: #5a6680;
  --krdv-line: #d7e3ef;

  max-width: 720px;
  margin-inline: auto;
}
.krdv-contact-form {
  display: grid;
  gap: 18px;
  margin-top: 18px;
  padding: 28px;
  border: 1px solid var(--krdv-line);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(11, 26, 54, .08);
}
.krdv-contact-form .krdv-form-grid { gap: 16px; }
.krdv-contact-form label {
  display: grid;
  gap: 6px;
}
.krdv-contact-form label > span {
  font-size: .84rem;
  font-weight: 700;
  color: var(--krdv-navy);
}
.krdv-contact-form input[type="text"],
.krdv-contact-form input[type="email"],
.krdv-contact-form input[type="number"],
.krdv-contact-form textarea {
  /* `box-sizing` explicite : ce balisage est fourni par l'extension et ne
     peut pas supposer que le theme actif a pose une remise a zero. Sans
     lui, la marge interieure s'ajoute a la largeur et les champs debordent
     de leur colonne. */
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1.5px solid #C9D8E6;
  border-radius: 14px;
  background: #ffffff;
  color: #0f1a33;
  font: inherit;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.krdv-contact-form textarea {
  min-height: 150px;
  resize: vertical;
  line-height: 1.6;
}
.krdv-contact-form input:focus-visible,
.krdv-contact-form textarea:focus-visible {
  outline: none;
  border-color: #12A79A;
  box-shadow: 0 0 0 4px rgba(18, 167, 154, .16);
}
/* La question anti-robot attend un seul nombre : un champ pleine largeur
   laisserait croire qu'on attend une phrase.

   `!important` est ici la seule ecriture qui fonctionne, et non un
   raccourci : une regle plus haut pose `max-width: 100% !important` sur
   tous les champs de `.krdv-form-grid`. Une declaration ordinaire, meme
   plus specifique et plus tardive, ne peut pas battre un `!important`. */
.krdv-contact-form input[type="number"] { max-width: 160px !important; }
/*
 * ON NE REDEFINIT PAS LA COULEUR DU BOUTON.
 *
 * Une regle plus haut dans cette feuille verrouille en `!important` la
 * couleur de tous les boutons primaires du site sur le bleu nuit. Peindre
 * celui-ci en corail donnerait soit un bouton qui ne ressemble a aucun
 * autre, soit — c'est ce qui se passait — une declaration ecrasee et un
 * code qui ment sur ce qu'il fait. On ne regle donc ici que la taille et
 * la place, et le bouton reste identique a tous les boutons primaires.
 */
.krdv-contact-form button {
  justify-self: start;
  min-height: 50px;
  padding: 0 28px;
  border-radius: 14px;
  font-weight: 800;
  cursor: pointer;
}
@media (max-width: 620px) {
.krdv-contact-form { padding: 20px; }
.krdv-contact-form .krdv-form-grid { grid-template-columns: minmax(0, 1fr); }
.krdv-contact-form button { justify-self: stretch; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
.krdv-contact-form input,
  .krdv-contact-form textarea,
  .krdv-contact-form button { transition: none; }
}
/* =========================================================================
   BLOC « COMPTE REQUIS » DE LA RESERVATION
   =========================================================================
   Il occupait tout le haut de la colonne de reservation : un badge, un
   titre de quatre lignes dans un encadre teinte, un paragraphe de quatre
   lignes, puis deux boutons empiles. Au moment ou quelqu'un veut prendre
   rendez-vous, c'est beaucoup de lecture pour une seule idee. Le contenu
   ne change pas ; sa forme, oui.
   ========================================================================= */

.krdv-booking-auth-gate .krdv-pro-panel-head h3 {
  font-size: 1.15rem;
  line-height: 1.25;
  margin: 4px 0 0;
}
/* Trois benefices, coches. Un pave se saute, une liste se parcourt. */
.krdv-booking-auth-benefits {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 9px;
}
.krdv-booking-auth-benefits li {
  position: relative;
  padding-left: 26px;
  font-size: .9rem;
  line-height: 1.45;
  color: #3B4A58;
}
/* La coche est dessinee en CSS : deux bords d'un carre vide, pivotes. Pas
   d'image a charger, et elle suit la couleur du texte si le theme change. */
.krdv-booking-auth-benefits li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 6px;
  width: 12px;
  height: 7px;
  border-left: 2px solid #0B7268;
  border-bottom: 2px solid #0B7268;
  transform: rotate(-45deg);
}
.krdv-booking-auth-note {
  margin: 12px 0 0;
  font-size: .82rem;
  line-height: 1.5;
  color: #5A6B7C;
}
/* Les deux boutons sur une ligne quand la colonne le permet, empiles
   sinon. `min-width` etait fixe a 220 px par une regle plus haut, ce qui
   les forçait a passer a la ligne meme quand la place existait. */
.krdv-booking-auth-gate .krdv-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.krdv-booking-auth-gate .krdv-account-actions .krdv-provider-action {
  flex: 1 1 190px;
  min-width: 0 !important;
  justify-content: center;
  text-align: center;
}
/* =========================================================================
   PAGE « CONFIRMEZ VOTRE E-MAIL » — LISIBILITÉ
   =========================================================================
   Onze textes de cette page ne passaient pas le seuil de contraste, dont
   trois illisibles pour de bon :

     « Prêt à commencer ? »      1,09 — bleu nuit sur bleu nuit
     « Accéder à la connexion »  2,36 — turquoise sur orange, souligné
     « Voir les fonctionnalités » 2,93 — turquoise sur bleu nuit

   La cause est toujours la même, et elle est déjà documentée plus haut
   pour le panneau de connexion : les règles du THÈME (« .karibook-beta h2 »,
   « .karibook-beta a ») ont la même spécificité que celles de l'extension
   (0,1,1), sa feuille est chargée APRÈS, donc à égalité c'est elle qui
   gagne. Un titre posé sur un fond sombre repassait ainsi en bleu nuit, et
   un bouton reprenait la couleur et le soulignement d'un lien de texte.

   On repasse donc par une spécificité supérieure (0,2,1) en préfixant par
   le conteneur. Pas de !important : la spécificité suffit et reste
   surchargeable.
   ========================================================================= */

/* --- Surfaces sombres : le texte y est clair, sans discussion ----------- */
.krdv-onboarding-mail .krdv-onboarding-mail__cta h2,
.krdv-onboarding-mail .krdv-onboarding-mail__offer-card.is-dark h3 {
  color: #ffffff;
}
.krdv-onboarding-mail .krdv-onboarding-mail__cta p,
.krdv-onboarding-mail .krdv-onboarding-mail__cta small,
.krdv-onboarding-mail .krdv-onboarding-mail__offer-card.is-dark li {
  color: rgba(236, 243, 250, 0.86);
}
/* --- Un bouton n'est pas un lien de texte ------------------------------- */
/* Le dégradé d'origine (#ff6a3c → #ff824e) ne donne que 2,45 de contraste
   sous du blanc : le libellé du bouton principal était plus pâle que son
   fond. On reprend le corail ACCESSIBLE déjà défini par le thème pour ses
   propres boutons pleins — #CE4526 (4,66) et #B8380F (5,82) — donc la même
   teinte perçue, sans le défaut. */
.krdv-onboarding-mail a.krdv-onboarding-mail__cta-button,
.krdv-onboarding-mail a.krdv-onboarding-mail__cta-button:hover,
.krdv-onboarding-mail a.krdv-onboarding-mail__cta-button:focus-visible {
  background: linear-gradient(135deg, #CE4526, #B8380F);
  color: #ffffff;
  text-decoration: none;
}
.krdv-onboarding-mail a.krdv-onboarding-mail__outline,
.krdv-onboarding-mail a.krdv-onboarding-mail__outline:hover,
.krdv-onboarding-mail a.krdv-onboarding-mail__outline:focus-visible {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
}
.krdv-onboarding-mail a.krdv-onboarding-mail__help-button,
.krdv-onboarding-mail a.krdv-onboarding-mail__help-button:hover,
.krdv-onboarding-mail a.krdv-onboarding-mail__help-button:focus-visible,
.krdv-onboarding-mail .krdv-onboarding-mail__chip,
.krdv-onboarding-mail .krdv-onboarding-mail__chip:hover,
.krdv-onboarding-mail .krdv-onboarding-mail__chip:focus-visible {
  text-decoration: none;
}
/* --- Le turquoise de marque est trop clair pour porter du texte --------- */
/* #18A9A0 sur blanc ne donne que 2,75 : il sert d'aplat, pas d'encre. La
   variante foncée #0B7268 passe le seuil sans changer la teinte perçue. */
.krdv-onboarding-mail .krdv-onboarding-mail__copy h1 span {
  color: #0B7268;
}
.krdv-onboarding-mail .krdv-onboarding-mail__steps-grid article > span {
  background: #0B7268;
  color: #ffffff;
}
/* Une étape franchie se distingue de l'étape en cours : la barre pleine et
   discrète dit « c'est fait », la barre vive dit « vous êtes ici ». Sans
   cette nuance, quatre segments identiques ne racontent rien. */
.krdv-onboarding-mail .krdv-onboarding-mail__progress-bars span.is-done {
  background: rgba(56, 214, 196, 0.55);
}
.krdv-onboarding-mail .krdv-onboarding-mail__trust-note {
  margin: 18px 0 0;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #51627f;
}
.krdv-onboarding-mail .krdv-onboarding-mail__trust-note a {
  color: #0B7268;
  font-weight: 700;
}
/* =========================================================================
   « VÉRIFIEZ VOTRE BOÎTE MAIL » — ÉCRAN D'ATTENTE DE CONFIRMATION
   =========================================================================
   Une colonne, une carte. Cet écran n'a qu'une consigne à faire passer, et
   tout ce qui n'y concourt pas lui prend de la place. Les couleurs sont
   celles du site, dans leurs variantes qui passent le contraste : le
   turquoise clair de marque sert d'aplat, jamais d'encre.
   ========================================================================= */

.krdv-verif {
  --kv-encre: #0B2A4A;
  --kv-encre-douce: #51627F;
  --kv-encre-pale: #7C8FA6;
  --kv-fond: #F3F7FA;
  --kv-carte: #FFFFFF;
  --kv-bord: #E1E9EF;
  --kv-accent: #0B7268;
  --kv-accent-pale: #E7F3F1;

  display: block;
  padding: clamp(20px, 4vw, 40px) clamp(16px, 4vw, 24px) clamp(24px, 3vw, 40px);
  color: var(--kv-encre);
}
/* NEUTRALISATION DE LA TYPOGRAPHIE DE CONTENU DU THÈME.
   Ces écrans sont posés dans `.kb-content`, où le thème habille tout
   paragraphe et toute liste comme du texte d'article : `.kb-content ol`
   ajoutait 16 px sous la liste et 22 px de retrait à gauche, `.kb-content
   li` 6 px entre les puces, `.kb-content p` 24 px sous chaque paragraphe.
   D'où le grand vide sous la dernière ligne de l'encart, et des écarts
   partout un peu plus larges que voulu. Ce sont des règles à (0,1,1),
   chargées APRÈS celles du plugin : à égalité elles gagnaient. Tout ce
   bloc est donc écrit à (0,2,x) — c'est la raison du préfixe répété. */
.krdv-verif .krdv-verif__shell p,
.krdv-verif .krdv-verif__shell ol,
.krdv-verif .krdv-verif__shell ul,
.krdv-verif .krdv-verif__shell li {
  margin: 0;
  padding: 0;
}
.krdv-verif .krdv-verif__shell {
  width: 100%;
  max-width: 620px;
  margin-inline: auto;
  display: grid;
  gap: clamp(20px, 3vw, 28px);
}
/* --- En-tête : la marque, et où l'on en est ----------------------------- */

.krdv-verif .krdv-verif__head {
  display: grid;
  justify-items: center;
  gap: 22px;
}
.krdv-verif .krdv-verif__brand img {
  width: 150px;
  height: auto;
  display: block;
}
.krdv-verif .krdv-verif__steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.krdv-verif .krdv-verif__steps li {
  position: relative;
  flex: 1 1 0;
  display: grid;
  justify-items: center;
  gap: 7px;
  text-align: center;
  font-size: 0.78rem;
  color: var(--kv-encre-pale);
}
/* Le trait de liaison part du centre d'une pastille vers la suivante. Il
   est tracé en ::before pour ne pas dépasser sur les bords de la barre. */
.krdv-verif .krdv-verif__steps li:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 13px;
  right: 50%;
  left: -50%;
  height: 2px;
  background: var(--kv-bord);
}
.krdv-verif .krdv-verif__steps li.is-done::before,
.krdv-verif .krdv-verif__steps li.is-current::before {
  background: var(--kv-accent);
}
.krdv-verif .krdv-verif__step-dot {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--kv-carte);
  border: 2px solid var(--kv-bord);
  color: var(--kv-encre-pale);
  font-size: 0.8rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.krdv-verif .krdv-verif__steps li.is-done .krdv-verif__step-dot {
  background: var(--kv-accent);
  border-color: var(--kv-accent);
  color: #ffffff;
}
/* L'étape en cours se distingue de l'étape franchie par la FORME autant
   que par la couleur — un anneau, pas seulement une teinte. */
.krdv-verif .krdv-verif__steps li.is-current .krdv-verif__step-dot {
  background: var(--kv-carte);
  border-color: var(--kv-accent);
  color: var(--kv-accent);
  box-shadow: 0 0 0 4px var(--kv-accent-pale);
}
.krdv-verif .krdv-verif__steps li.is-current .krdv-verif__step-label {
  color: var(--kv-accent);
  font-weight: 800;
}
.krdv-verif .krdv-verif__steps li.is-done .krdv-verif__step-label { color: var(--kv-encre-douce); }
/* --- La carte : le cœur de l'écran -------------------------------------- */

.krdv-verif .krdv-verif__card {
  background: var(--kv-carte);
  border: 1px solid var(--kv-bord);
  border-radius: 24px;
  padding: clamp(28px, 5vw, 40px) clamp(20px, 4vw, 36px);
  text-align: center;
  box-shadow: 0 1px 2px rgba(11, 42, 74, .04), 0 20px 48px -28px rgba(11, 42, 74, .35);
}
.krdv-verif .krdv-verif__icon {
  display: inline-grid;
  place-items: center;
  width: 60px;
  height: 60px;
  margin-bottom: 18px;
  border-radius: 20px;
  background: var(--kv-accent-pale);
  color: var(--kv-accent);
}
.krdv-verif .krdv-verif__card .krdv-verif__title {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 1.2rem + 1.1vw, 1.95rem);
  line-height: 1.18;
  color: var(--kv-encre);
  text-wrap: balance;
}
.krdv-verif p.krdv-verif__lead {
  margin: 0;
  color: var(--kv-encre-douce);
  line-height: 1.6;
}
/* L'adresse, en évidence : la première cause d'un e-mail jamais reçu est
   une faute de frappe, et le visiteur ne peut la repérer que s'il la lit
   sans effort. */
.krdv-verif p.krdv-verif__address {
  margin: 10px auto 0;
  padding: 11px 18px;
  max-width: 100%;
  display: inline-block;
  border-radius: 12px;
  background: var(--kv-fond);
  border: 1px solid var(--kv-bord);
  color: var(--kv-encre);
  font-size: 1.03rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.krdv-verif p.krdv-verif__hint {
  margin: 16px 0 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--kv-encre-pale);
}
.krdv-verif .krdv-verif__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}
/* Spécificité (0,3,1), et ce n'est pas de la coquetterie : le thème pose
   « .kb-content a:not(.wp-block-button__link) { text-decoration: underline }
»
   à (0,2,1), et ces écrans vivent dans .kb-content. À (0,2,0) la règle du
   plugin perdait, et les deux boutons s'affichaient soulignés en turquoise,
   comme des liens de texte. On ne dépend pas du thème pour que les boutons
   du plugin ressemblent à des boutons. */
.krdv-verif .krdv-verif__actions a.krdv-verif__button,
.krdv-verif .krdv-verif__actions a.krdv-verif__button:hover,
.krdv-verif .krdv-verif__actions a.krdv-verif__button:focus-visible {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 14px;
  border: 1.5px solid var(--kv-bord);
  background: var(--kv-carte);
  color: var(--kv-encre);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
.krdv-verif .krdv-verif__actions a.krdv-verif__button:hover {
  border-color: var(--kv-accent);
  background: var(--kv-accent-pale);
  color: var(--kv-accent);
}
.krdv-verif .krdv-verif__actions a.krdv-verif__button:active { transform: translateY(1px); }
.krdv-verif .krdv-verif__actions a.krdv-verif__button:focus-visible {
  outline: 2px solid var(--kv-accent);
  outline-offset: 2px;
}
.krdv-verif .krdv-verif__button-icon { opacity: .55; flex: none; }
/* Renvoyer l'e-mail est une issue de secours, pas l'action principale :
   elle se présente comme une phrase, pas comme un bouton concurrent. */
.krdv-verif .krdv-verif__resend {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  margin: 22px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--kv-bord);
  font-size: 0.9rem;
  color: var(--kv-encre-pale);
}
.krdv-verif .krdv-verif__resend button {
  padding: 0;
  border: 0;
  background: none;
  color: var(--kv-accent);
  font-size: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  min-height: 0;
  box-shadow: none;
}
.krdv-verif .krdv-verif__resend button:hover { color: var(--kv-encre); }
.krdv-verif .krdv-verif__resend button:focus-visible {
  outline: 2px solid var(--kv-accent);
  outline-offset: 3px;
  border-radius: 4px;
}
/* --- La suite du parcours ----------------------------------------------- */

.krdv-verif .krdv-verif__next {
  background: var(--kv-carte);
  border: 1px solid var(--kv-bord);
  border-radius: 20px;
  padding: clamp(20px, 4vw, 26px) clamp(18px, 4vw, 28px);
}
.krdv-verif .krdv-verif__next h2 {
  margin: 0 0 16px;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--kv-encre-pale);
}
.krdv-verif .krdv-verif__next ol {
  counter-reset: kv;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}
.krdv-verif .krdv-verif__next li {
  counter-increment: kv;
  position: relative;
  padding-left: 38px;
  margin: 0;
}
.krdv-verif .krdv-verif__next li::before {
  content: counter(kv);
  position: absolute;
  left: 0;
  top: 1px;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  background: var(--kv-fond);
  color: var(--kv-encre-douce);
  display: grid;
  place-items: center;
  font-size: 0.78rem;
  font-weight: 800;
}
.krdv-verif .krdv-verif__next strong {
  display: block;
  color: var(--kv-encre);
  font-size: 0.97rem;
  line-height: 1.35;
}
.krdv-verif .krdv-verif__next span {
  display: block;
  margin-top: 2px;
  color: var(--kv-encre-douce);
  font-size: 0.9rem;
  line-height: 1.5;
}
/* --- Pied de page : un bloc, pas des lignes qui s'égrènent --------------- */
/* Trois phrases posées sous la dernière carte laissaient la page se
   terminer en pointillé. Le pied reprend donc la forme des blocs au-dessus
   — même largeur, même rayon, même bordure — et sépare ce qui est un
   rappel (l'offre) de ce qui est une action (écrire, se connecter). */

.krdv-verif .krdv-verif__foot {
  background: var(--kv-carte);
  border: 1px solid var(--kv-bord);
  border-radius: 20px;
  padding: clamp(16px, 3vw, 22px) clamp(16px, 3vw, 24px);
  display: grid;
  gap: 16px;
  font-size: 0.9rem;
  color: var(--kv-encre-douce);
}
.krdv-verif p.krdv-verif__plan {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--kv-bord);
}
.krdv-verif .krdv-verif__plan-label {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--kv-encre-pale);
}
.krdv-verif .krdv-verif__plan-value {
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
}
.krdv-verif .krdv-verif__plan-value strong { color: var(--kv-encre); font-size: 0.97rem; }
.krdv-verif .krdv-verif__foot-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.krdv-verif .krdv-verif__foot-links a.krdv-verif__foot-link,
.krdv-verif .krdv-verif__foot-links a.krdv-verif__foot-link:hover {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 13px;
  border-radius: 13px;
  background: var(--kv-fond);
  color: var(--kv-encre);
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease;
}
.krdv-verif .krdv-verif__foot-links a.krdv-verif__foot-link:hover {
  background: var(--kv-accent-pale);
}
.krdv-verif .krdv-verif__foot-icon {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--kv-carte);
  border: 1px solid var(--kv-bord);
  color: var(--kv-accent);
}
.krdv-verif .krdv-verif__foot-link strong {
  display: block;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--kv-encre-douce);
}
.krdv-verif .krdv-verif__foot-link em {
  display: block;
  margin-top: 1px;
  font-style: normal;
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--kv-accent);
}
.krdv-verif .krdv-verif__foot-links a.krdv-verif__foot-link:focus-visible {
  outline: 2px solid var(--kv-accent);
  outline-offset: 2px;
}
@media (max-width: 480px) {
.krdv-verif .krdv-verif__steps li { font-size: 0.7rem; }
.krdv-verif .krdv-verif__foot-links { grid-template-columns: minmax(0, 1fr); }
.krdv-verif .krdv-verif__actions { flex-direction: column; }
.krdv-verif .krdv-verif__actions a.krdv-verif__button { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
.krdv-verif .krdv-verif__actions a.krdv-verif__button { transition: none; }
.krdv-verif .krdv-verif__actions a.krdv-verif__button:active { transform: none; }
}
