/* Fidélité Core — carte de fidélité (aperçu de l'éditeur ET carte du client).
   Toutes les tailles sont en cqw (largeur de la carte) : la carte garde les
   mêmes proportions quelle que soit sa taille d'affichage. */
.fc-cd{--cd-bg:#b3261e;--cd-bg2:#7f1d17;--cd-text:#fff;--cd-accent:#fff;--cd-font:"Familjen Grotesk",Arial,sans-serif;
	position:relative;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;
	width:100%;aspect-ratio:1.586/1;padding:5.5% 6%;border-radius:18px;overflow:hidden;
	background:var(--cd-bg);color:var(--cd-text);font-family:"Instrument Sans",system-ui,sans-serif;line-height:1.2;
	container-type:inline-size;box-shadow:0 12px 30px -14px rgba(0,0,0,.45);text-align:left}
.fc-cd *{box-sizing:border-box}
.fc-cd--degrade{background:linear-gradient(135deg,var(--cd-bg),var(--cd-bg2))}
.fc-cd--sombre{background:linear-gradient(160deg,var(--cd-bg),var(--cd-bg2))}
.fc-cd--minimal{border:1px solid rgba(0,0,0,.14)}

.fc-cd__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}
.fc-cd__head,.fc-cd__main{position:relative}
.fc-cd__head{display:flex;align-items:center;gap:3.5cqw}
.fc-cd__logo{flex:none;width:11cqw;height:11cqw;border-radius:2.5cqw;object-fit:cover;background:#fff;margin:0;padding:0;border:0;box-shadow:none}
.fc-cd__titles{min-width:0}
.fc-cd__title{font-family:var(--cd-font);font-weight:700;font-size:16px;font-size:6.4cqw;letter-spacing:-.01em;line-height:1.1;color:var(--cd-text);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-cd__sub{font-size:11px;font-size:3.4cqw;opacity:.78;color:var(--cd-text);margin-top:.6cqw}

.fc-cd__main{display:flex;align-items:flex-end;justify-content:space-between;gap:4cqw}
.fc-cd__left{flex:1;min-width:0;display:flex;flex-direction:column;gap:2.2cqw}
.fc-cd__name{font-weight:600;font-size:12px;font-size:4cqw;color:var(--cd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-cd__stamps{display:grid;grid-template-columns:repeat(var(--cd-cols,5),1fr);gap:1.2cqw;max-width:62cqw}
.fc-cd__stamp{display:block;width:100%;height:auto}
.fc-cd__points{font-size:12px;font-size:4cqw;color:var(--cd-text);display:flex;align-items:baseline;gap:1.4cqw}
.fc-cd__points b{font-family:var(--cd-font);font-size:32px;font-size:12cqw;line-height:1;font-weight:700;color:var(--cd-accent)}
.fc-cd__code{font-size:10px;font-size:3cqw;color:var(--cd-text);opacity:.9;display:flex;align-items:baseline;gap:1.6cqw}
.fc-cd__code b{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:13px;font-size:4cqw;letter-spacing:.12em;font-weight:700}
.fc-cd__qr{flex:none;width:25cqw;height:25cqw;background:#fff;border-radius:2.5cqw;padding:1.6cqw;display:block}
.fc-cd__qr img,.fc-cd__qr svg{display:block;width:100%;height:100%;object-fit:contain;margin:0;border:0}

.fc-cd__fg{position:absolute;height:auto;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;margin:0;border:0;max-width:none}
.fc-cd--live .fc-cd__fg{pointer-events:auto;cursor:grab;touch-action:none}
.fc-cd--live .fc-cd__fg:active{cursor:grabbing}

/* Vignettes : version allégée (pas de code ni de QR). */
.fc-cd--compact{border-radius:12px;padding:6%}
.fc-cd--compact .fc-cd__qr,.fc-cd--compact .fc-cd__code{display:none}
.fc-cd--compact .fc-cd__stamps{max-width:100%}
.fc-cd--thumb{box-shadow:none}

/* Carte affichée à un client : centrée, largeur limitée. */
.fc-card-wrap .fc-cd{max-width:420px;margin-left:auto;margin-right:auto}

/* ---- Modèles Ticket / Nuit / Photo (ajoutés ; les autres modèles sont inchangés) ---- */
.fc-cd__shade{display:none}
.fc-cd--ticket{background:linear-gradient(180deg,var(--cd-bg),var(--cd-bg2));box-shadow:none;
	/* Encoches : vrais trous ronds en haut et en bas de la ligne de découpe (le fond de la page se voit à travers). */
	-webkit-mask-image:radial-gradient(ellipse 3.2% 5.1% at 66% 0,transparent 97%,#000 100%),radial-gradient(ellipse 3.2% 5.1% at 66% 100%,transparent 97%,#000 100%);
	mask-image:radial-gradient(ellipse 3.2% 5.1% at 66% 0,transparent 97%,#000 100%),radial-gradient(ellipse 3.2% 5.1% at 66% 100%,transparent 97%,#000 100%);
	-webkit-mask-composite:source-in;mask-composite:intersect}
/* Ligne de pré-découpage en pointillés (fait partie du modèle). */
.fc-cd--ticket .fc-cd__head{padding-right:38cqw}
.fc-cd--ticket .fc-cd__stamps{max-width:54cqw}
.fc-cd--nuit{background:radial-gradient(120% 90% at 100% 0%,rgba(62,230,193,.2) 0%,transparent 55%),linear-gradient(160deg,var(--cd-bg),var(--cd-bg2))}
.fc-cd--nuit{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--cd-accent) 20%,transparent) 0%,transparent 55%),linear-gradient(160deg,var(--cd-bg),var(--cd-bg2))}
.fc-cd--nuit .fc-cd__title{font-size:8cqw;letter-spacing:.02em}
.fc-cd--photo .fc-cd__shade{display:block;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
	background:repeating-linear-gradient(45deg,rgba(255,255,255,.16) 0,rgba(255,255,255,.16) .6cqw,transparent .6cqw,transparent 4.1cqw),linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.6))}
.fc-cd--compact.fc-cd--ticket .fc-cd__head{padding-right:0}
