/**
 * Programme-type de représentation (ACI/groupe) — styles (sprint 1, refondu
 * Lot B : parcours unique « Signer et envoyer », fac-similé navigateur et
 * impression SUPPRIMÉS — le document officiel est le PDF mPDF serveur).
 *
 * Zone unique : SAISIE à la charte du site (en-tête ACI + tableau d'œuvres
 * dynamique) + bloc signature électronique, statut d'envoi et « Télécharger
 * ma copie ». Sélecteurs scopés .sacem-pt* (garde-fou typo). Composant
 * auto-contenu (assets plugin).
 */

.sacem-pt {
	padding: 48px 0 72px;
	background: var(--sacem-cream, #faf6f2);
}

/* Largeur de contenu : classe partagée .sacem-container (charte, 1280px),
   comme les pages Déclaration / Attestation. Pas d'override local en écran. */

/* ============================================================
   ZONE SAISIE
   ============================================================ */
.sacem-pt-edit__title { margin: 4px 0 12px; }
.sacem-pt-edit__lede {
	max-width: 70ch;
	color: var(--sacem-ink, #1a0e12);
	margin: 0 0 28px;
}
.sacem-pt-noscript {
	background: #fff3cd;
	border: 1px solid #ffe69c;
	padding: 12px 16px;
	border-radius: 8px;
}

.sacem-pt-fieldset {
	border: 1px solid rgba(107, 31, 124, 0.15);
	border-radius: 14px;
	background: var(--sacem-white, #fff);
	padding: 20px 22px 24px;
	margin: 0 0 22px;
}
.sacem-pt-legend {
	font-weight: 700;
	color: var(--sacem-violet, #6b1f7c);
	padding: 0 8px;
	font-size: 1.05rem;
}

.sacem-pt-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px 20px;
}
.sacem-pt-field { display: flex; flex-direction: column; }
.sacem-pt-field--wide { grid-column: 1 / -1; }
.sacem-pt-field__label {
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--sacem-text, #2e1f24);
	margin-bottom: 6px;
}
.sacem-pt-input {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body, "Outfit", sans-serif);
	font-size: 1rem;
	color: var(--sacem-ink, #1a0e12);
	background: #fff;
	border: 1.5px solid rgba(0, 0, 0, 0.14);
	border-radius: 10px;
	padding: 10px 12px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.sacem-pt-input:focus {
	outline: none;
	border-color: var(--sacem-violet, #6b1f7c);
	box-shadow: 0 0 0 3px rgba(107, 31, 124, 0.12);
}

.sacem-pt-hint {
	margin: 0 0 14px;
	font-size: 0.85rem;
	color: #6b6580;
	font-style: italic;
}

/* ----- Tableau de saisie (dynamique) ----- */
.sacem-pt-table-wrap { overflow-x: auto; }
.sacem-pt-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}
.sacem-pt-table thead th {
	text-align: left;
	font-weight: 600;
	font-size: 0.78rem;
	color: var(--sacem-violet, #6b1f7c);
	padding: 6px 8px;
	border-bottom: 2px solid rgba(107, 31, 124, 0.18);
	vertical-align: bottom;
}
.sacem-pt-table thead small { font-weight: 400; color: #8a8398; }
.sacem-pt-th--num { width: 34px; }
.sacem-pt-th--act { width: 90px; }
.sacem-pt-table td { padding: 4px 6px; vertical-align: middle; }
.sacem-pt-row__num {
	text-align: center;
	color: #8a8398;
	font-size: 0.82rem;
	font-variant-numeric: tabular-nums;
}
.sacem-pt-cell {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body, "Outfit", sans-serif);
	font-size: 0.92rem;
	color: var(--sacem-ink, #1a0e12);
	background: #fff;
	border: 1.5px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	padding: 7px 9px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.sacem-pt-cell:focus {
	outline: none;
	border-color: var(--sacem-violet, #6b1f7c);
	box-shadow: 0 0 0 3px rgba(107, 31, 124, 0.10);
}
.sacem-pt-cell--duree { max-width: 90px; }

.sacem-pt-del {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: 0;
	background: transparent;
	color: #b23b3b;
	cursor: pointer;
	font-size: 0.82rem;
	padding: 4px 6px;
	border-radius: 6px;
}
.sacem-pt-del:hover { background: rgba(178, 59, 59, 0.08); }
.sacem-pt-del__x { font-size: 1.1rem; line-height: 1; }

.sacem-pt-table-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 12px;
}
.sacem-pt-count { font-size: 0.85rem; color: #6b6580; }

/* Bouton « + Ajouter une œuvre » : le modificateur charte --secondary est pensé
 * pour fond SOMBRE (texte blanc + fond translucide au repos) → invisible sur le
 * fond clair du formulaire, lisible seulement au survol. On fixe la couleur
 * charte DÈS LE REPOS (bouton outline violet visible en permanence), :hover =
 * remplissage. Même pattern que la page Déclaration (référence). Sélecteur à 2
 * classes pour primer sur .sacem-btn--secondary quel que soit l'ordre de
 * chargement. Scopé .sacem-pt (garde-fou typo). */
.sacem-pt .sacem-pt-add {
	background: transparent;
	border-color: var(--sacem-violet, #6b1f7c);
	color: var(--sacem-violet, #6b1f7c);
	backdrop-filter: none;
}
.sacem-pt .sacem-pt-add:hover {
	background: var(--sacem-violet, #6b1f7c);
	color: #fff;
}
.sacem-pt .sacem-pt-add:disabled,
.sacem-pt .sacem-pt-add[aria-disabled="true"] {
	background: transparent;
	color: var(--sacem-violet, #6b1f7c);
	opacity: 0.5;
	cursor: not-allowed;
}

/* Actions + mode d'emploi */
.sacem-pt-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 8px 0 20px;
}
/* .sacem-btn pose display:inline-flex, qui écraserait le [hidden] natif. */
.sacem-pt-back__link[hidden] { display: none; }
.sacem-pt-howto {
	background: var(--sacem-white, #fff);
	border: 1px solid rgba(107, 31, 124, 0.15);
	border-radius: 14px;
	padding: 18px 22px;
	margin: 0 0 36px;
}
.sacem-pt-howto__title { margin: 0 0 8px; font-weight: 700; color: var(--sacem-violet, #6b1f7c); }
.sacem-pt-howto__list { margin: 0; padding-left: 20px; line-height: 1.6; }
.sacem-pt-howto__list li { margin-bottom: 4px; }

/* ============================================================
   SIGNATURE ÉLECTRONIQUE + ENVOI (Lot B)
   ============================================================ */
.sacem-pt-consent { margin-top: 14px; }
.sacem-pt-consent__label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--sacem-text, #2e1f24);
	cursor: pointer;
}
.sacem-pt-consent__input {
	margin-top: 3px;
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	accent-color: var(--sacem-violet, #6b1f7c);
}

.sacem-pt-status {
	margin: 16px 0 0;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14.5px;
	line-height: 1.5;
}
.sacem-pt-status--ok {
	background: #eef7ee;
	border: 1px solid #bfdfbf;
	color: #1e5c1e;
}
.sacem-pt-status--err {
	background: #fdf0ef;
	border: 1px solid #f0c4c0;
	color: #8c2b23;
}

/* « Télécharger ma copie » (révélé après envoi réussi) */
.sacem-pt-download {
	margin: 16px 0 0;
	padding: 14px 16px;
	border: 1px dashed rgba(107, 31, 124, 0.35);
	border-radius: 10px;
	background: var(--sacem-white, #fff);
}
.sacem-pt-download .sacem-pt-hint { margin: 10px 0 0; }

/* ============================================================
   RESPONSIVE (écran)
   ============================================================ */
@media (max-width: 880px) {
	.sacem-pt-grid { grid-template-columns: 1fr; }
}


/* Champ auxiliaire du formulaire. */
.sacem-pt-aux {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
