/* Modèles de carte professionnelle Chauffeur.cd.
   Le balisage est identique pour tous les modèles (partials/card-hero) : seuls ces styles changent.
   .cd--standard n'est volontairement pas stylé ici : il conserve la présentation historique.
   Règle commune (22/10/2026) : aucun trait ou filet orange décoratif sur les cadres de contenu.
   L'orange est réservé aux actions, aux états actifs et aux éléments de marque (bandeau, logo). */
.cd [aria-disabled=true]{cursor:default}
.cd button:disabled{cursor:default;opacity:.7}
.cd:not(.cd--standard) .cd-hero{--pad:36px;position:relative;overflow:hidden;padding:var(--pad)}
.cd:not(.cd--standard) .cd-name,.cd p.cd-name{font-size:clamp(26px,3.6vw,40px);font-weight:800;line-height:1.15;margin:4px 0 6px;letter-spacing:-.5px}
.cd-brandbar{display:flex;align-items:center;gap:10px;margin:calc(-1*var(--pad)) calc(-1*var(--pad)) 26px;padding:12px var(--pad);font-weight:800;font-size:16px}
.cd-brandbar img{width:30px;height:28px;object-fit:contain;background:#fff;border-radius:7px;padding:2px}
.cd-brandbar b{color:#F28C28}
.cd-brandbar em{margin-left:auto;font-style:normal;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700}
.cd-vehicle{display:none}

/* Classique : orange, anthracite et blanc */
.cd--classique .cd-hero{border:0;box-shadow:0 18px 40px -28px rgba(37,42,46,.55)}
.cd--classique .cd-brandbar{background:#252A2E;color:#fff;border-bottom:5px solid #F28C28}
.cd--classique .cd-brandbar em{color:#F6B26B}
.cd--classique .avatar{border:4px solid #F28C28;border-radius:20px}
.cd--classique .eyebrow{color:#9A5410}
.cd--classique .badge{background:#FFF0DF;color:#6F3D0E}
.cd--classique .badge.verified{background:#E5F2E9;color:#1F6240}
/* Cadres structurés : contour gris fin et uniforme, titres séparés du contenu par un filet neutre. */
.cd--classique .panel:not(.cd-hero){border-color:#E3E6E8;border-radius:16px;box-shadow:0 1px 2px rgba(37,42,46,.05)}
.cd--classique .panel:not(.cd-hero) h2{padding-bottom:12px;border-bottom:1px solid #EEF0F1}

/* Prestige : sombre et élégant */
.cd--prestige{background:#16191C;color:#E9ECEE;border-radius:24px;padding:16px}
.cd--prestige .panel{background:#1F2427;border-color:transparent;color:#E9ECEE}
/* Séparation par les surfaces et l'espacement ; un seul cadre souligné d'un contour orange fin : la carte à conserver. */
.cd--prestige .panel:not(.cd-hero){padding:34px}
.cd--prestige .share{background:transparent;border-color:rgba(242,140,40,.5)}
.cd--prestige .cd-hero{background:radial-gradient(120% 140% at 100% 0,#3B3127 0,#1F2427 48%,#16191C 100%);border-color:#3A3229}
.cd--prestige .cd-brandbar{color:#fff;border-bottom:1px solid rgba(242,140,40,.35)}
.cd--prestige .cd-brandbar em{color:#F6B26B}
.cd--prestige .cd-name,.cd--prestige h2{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:0}
.cd--prestige .eyebrow{color:#F2B36F;letter-spacing:4px}
.cd--prestige .lead{color:#fff}
.cd--prestige .avatar{border-radius:50%;box-shadow:0 0 0 3px #1F2427,0 0 0 5px #F28C28}
.cd--prestige .initials{background:#2B3135;color:#F6B26B}
.cd--prestige .badge{background:transparent;border:1px solid #4A5258;color:#E9ECEE}
.cd--prestige .badge.verified{background:rgba(47,107,72,.2);border-color:#2F6B48;color:#A6E2BC}
.cd--prestige .button.secondary,.cd--prestige button.secondary{background:transparent;color:#fff;border-color:#5A636A}
.cd--prestige .button.secondary:hover,.cd--prestige button.secondary:hover{background:#2A3034}
.cd--prestige a:not(.button){color:#F6B26B}
.cd--prestige small,.cd--prestige .muted{color:#AAB4BA}
.cd--prestige .plate{border-color:#E9ECEE}
.cd--prestige .notice{background:#1E3A2A;color:#C3EBD2}
.cd--prestige .demo{color:#F6B26B}

/* Épuré : sobre et minimaliste */
/* Sans contour : la typographie et les espaces séparent les contenus. */
.cd--epure .panel{border-color:transparent;border-radius:16px;box-shadow:none}
.cd--epure .panel:not(.cd-hero){padding:36px}
.cd--epure>.grid{gap:28px}
.cd--epure .cd-brandbar{justify-content:center;color:#5B6870;font-size:14px;font-weight:700;border-bottom:1px solid #ECEFF1;margin-bottom:30px}
.cd--epure .cd-brandbar img{width:22px;height:20px;padding:0}
.cd--epure .cd-brandbar em{margin-left:0;color:#8A959B}
.cd--epure .cd-brandbar em::before{content:"·";margin-right:10px}
.cd--epure .cd-hero .identity{flex-direction:column;text-align:center}
.cd--epure .cd-hero .tags,.cd--epure .cd-hero .actions{justify-content:center}
.cd--epure .cd-hero .avatar{width:120px;height:120px;border-radius:50%}
.cd--epure .eyebrow{color:#7A868D;letter-spacing:3px;font-weight:600}
.cd--epure .lead{color:#4C5961}
.cd--epure .badge{background:#fff;border:1px solid #E3E7E9;font-weight:500}
.cd--epure .badge.verified{border-color:#BFDCC8}
.cd--epure .actions .button:not(.secondary){background:#252A2E;color:#fff}
.cd--epure .actions .button:not(.secondary):hover{background:#111416}
.cd--epure h2{font-size:21px;font-weight:700}

/* Dynamique : taxis, moto-taxis et tricycles */
.cd--dynamique .cd-hero{background:repeating-linear-gradient(135deg,rgba(255,255,255,.09) 0 14px,transparent 14px 28px),#F28C28;border:0;color:#252A2E;min-height:300px}
.cd--dynamique .cd-brandbar{display:inline-flex;margin:0 0 22px;padding:6px 14px 6px 6px;border-radius:99px;background:#252A2E;color:#fff;font-size:14px}
.cd--dynamique .cd-brandbar em{margin-left:8px;color:#F6B26B}
.cd--dynamique .cd-vehicle{display:block;position:absolute;right:20px;bottom:16px;width:min(320px,34%);height:auto;pointer-events:none}
.cd--dynamique .cd-hero>*:not(.cd-vehicle){position:relative;z-index:1}
.cd--dynamique .cd-name{text-transform:uppercase;font-weight:900;letter-spacing:-.5px}
.cd--dynamique .eyebrow{color:#252A2E}
.cd--dynamique .lead{font-weight:700}
.cd--dynamique .avatar{border:4px solid #252A2E;border-radius:16px}
.cd--dynamique .initials{background:#252A2E;color:#F28C28}
.cd--dynamique .cd-hero .badge{background:#252A2E;color:#fff}
.cd--dynamique .cd-hero .badge.verified{background:#fff;color:#1F6240}
.cd--dynamique .cd-hero .button:not(.secondary){background:#252A2E;color:#fff}
.cd--dynamique .cd-hero .button:not(.secondary):hover{background:#111416}
.cd--dynamique .cd-hero .secondary{background:#fff;color:#252A2E}
.cd--dynamique .cd-hero .notice{background:#fff;color:#245B33}
/* Cadres sans contour, légèrement surélevés ; l'expressivité est portée par l'en-tête et le bloc QR anthracite. */
.cd--dynamique .panel:not(.cd-hero){border:0;border-radius:20px;box-shadow:0 12px 32px -22px rgba(37,42,46,.45)}
.cd--dynamique .share{background:#252A2E;color:#fff}
.cd--dynamique .share h2{color:#fff}
.cd--dynamique .share a:not(.button){color:#F6B26B}
.cd--dynamique .share .muted{color:#C9D0D4}
.cd--dynamique .share .qr{width:176px;height:176px;padding:8px;border-radius:14px;background:#fff}
.cd--dynamique h2{text-transform:uppercase;font-size:20px;font-weight:900;letter-spacing:.5px}
@media(min-width:901px){.cd--dynamique .cd-hero .identity,.cd--dynamique .cd-hero .tags{max-width:calc(100% - min(340px,36%))}}

@media(max-width:800px){
  .cd:not(.cd--standard) .cd-hero{--pad:20px}
  .cd--prestige{padding:8px;border-radius:18px}
  .cd--prestige .panel:not(.cd-hero),.cd--epure .panel:not(.cd-hero){padding:22px}
  .cd--epure>.grid{gap:18px}
  .cd-brandbar em{display:none}
  .cd--dynamique .cd-hero{min-height:0}
  .cd--dynamique .cd-vehicle{top:12px;right:10px;bottom:auto;width:118px}
}

/* Bandeau d'aperçu privé */
.cd-preview-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:0 0 18px;padding:16px 20px;border-radius:14px;background:#FFF0DF;border:1px solid #F3C48F}
.cd-preview-bar span{display:block;font-size:15px;color:#5B4A36}
.cd-preview-bar .actions{margin:0}
.cd-preview-bar form{margin:0}
.cd-preview-bar form>button{margin:0}

/* Galerie dans « Ma carte professionnelle » */
.cdg-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin:0;padding:0;border:0}
.cdg-list legend{margin-bottom:10px;font-size:17px}
.cdg-option{position:relative;display:flex;flex-direction:column;gap:8px;margin:0;padding:10px;border:2px solid #E6E1DA;border-radius:16px;background:#fff;font-weight:400;cursor:pointer}
.cdg-option input{position:absolute;width:1px;height:1px;opacity:0}
.cdg-option:has(input:checked){border-color:#F28C28;box-shadow:0 0 0 3px rgba(242,140,40,.22)}
.cdg-option:has(input:focus-visible){outline:3px solid #B15A0C;outline-offset:2px}
.cdg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.cdg-meta b{font-size:16px}
.cdg-meta em{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;background:#E5F2E9;color:#1F6240}
.cdg-meta small{flex-basis:100%;margin:0;font-size:13.5px;line-height:1.4}
.cdg-thumb{display:flex;flex-direction:column;justify-content:flex-end;height:118px;padding:10px;border-radius:12px;overflow:hidden;border:1px solid #DCE2E5;background:#fff;color:#252A2E}
.cdg-mini{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:center}
.cdg-mini .avatar{width:40px;height:40px;border-radius:10px;font-size:14px}
.cdg-mini-text{display:flex;flex-direction:column;min-width:0;font-size:12px;line-height:1.3}
.cdg-mini-text b,.cdg-mini-text span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cdg-mini-bar{grid-column:1/-1;display:flex;gap:6px}
.cdg-mini-bar i{display:block;height:12px;flex:1;border-radius:6px;background:#F28C28}
.cdg-mini-bar i+i{background:#E9ECEE}
.cdg-thumb.cd--classique{border-top:16px solid #252A2E;box-shadow:inset 0 4px 0 #F28C28}
.cdg-thumb.cd--classique .avatar{border:2px solid #F28C28}
.cdg-thumb.cd--prestige{background:radial-gradient(120% 140% at 100% 0,#3B3127 0,#1F2427 50%,#16191C 100%);color:#fff;border-color:#16191C;padding:10px}
.cdg-thumb.cd--prestige .avatar{border-radius:50%;box-shadow:0 0 0 2px #F28C28}
.cdg-thumb.cd--prestige .cdg-mini-bar i+i{background:transparent;border:1px solid #5A636A}
.cdg-thumb.cd--epure{justify-content:center}
.cdg-thumb.cd--epure .cdg-mini{grid-template-columns:1fr;justify-items:center;text-align:center}
.cdg-thumb.cd--epure .avatar{border-radius:50%}
.cdg-thumb.cd--epure .cdg-mini-bar{width:100%}
.cdg-thumb.cd--epure .cdg-mini-bar i{background:#252A2E}
.cdg-thumb.cd--dynamique{background:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 8px,transparent 8px 16px),#F28C28;border-color:#F28C28}
.cdg-thumb.cd--dynamique .avatar{border:2px solid #252A2E}
.cdg-thumb.cd--dynamique .cdg-mini-text b{text-transform:uppercase;font-weight:900}
.cdg-thumb.cd--dynamique .cdg-mini-bar i{background:#252A2E}
.cdg-thumb.cd--dynamique .cdg-mini-bar i+i{background:#fff}
.cdg-hint{margin:0 0 12px;color:#5B6870;font-size:15px}
.cdg-preview{padding:12px;border:1px dashed #D7D0C6;border-radius:22px;background:#F5F6F7}
.cdg-preview[hidden]{display:none}
.cdg-preview .cd-hero{margin:0}
.cdg-preview .identity p{margin:0}
@media(max-width:600px){.cdg-list{grid-template-columns:1fr 1fr}.cdg-preview{padding:6px}}
