/* Champs de carte PayPal dans le panier. */

.sam-pp-carte {
	margin: 1rem 0 0;
	padding: 1.1rem;
	background: #fff;
	border: 1px solid #ded3c0;
	border-radius: 14px;
}

.sam-pp-champ {
	margin: 0 0 0.7rem;
}

.sam-pp-lb {
	display: block;
	margin-bottom: 0.28rem;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #8d9589;
}

/*
 * CONFINEMENT DES CADRES PAYPAL.
 *
 * Zoid — la couche d'affichage de PayPal — injecte un div puis un iframe qui
 * portent leurs propres dimensions en ligne. Sans conteneur positionné ni
 * découpe, ils débordaient de la boîte et recouvraient le libellé voisin puis
 * le bouton de paiement.
 *
 * Le conteneur devient donc la référence de positionnement, et tout ce qu'il
 * contient est forcé à l'occuper exactement. Le padding est retiré : c'est
 * PayPal qui espace le texte à l'intérieur de son propre cadre, via l'option
 * « style » passée à CardFields.
 */
.sam-pp-champ > div {
	position: relative;
	height: 2.7rem;
	padding: 0;
	border: 1px solid #ded3c0;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}

/* Le div intermédiaire de zoid, quel que soit son identifiant. */
.sam-pp-champ > div > * {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

/*
 * Zoid pose des dimensions en ligne sur l'iframe : seule une déclaration
 * prioritaire les remplace. C'est le seul endroit du projet où elle se
 * justifie — on ne maîtrise pas le style d'un cadre tiers autrement.
 */
.sam-pp-champ iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 0;
	border: 0;
}

.sam-pp-duo {
	display: flex;
	gap: 0.7rem;
}

.sam-pp-duo .sam-pp-champ {
	flex: 1;
	min-width: 0;
}

.sam-pp-payer {
	width: 100%;
	margin: 0.4rem 0 0;
	padding: 0.85rem 1rem;
	border: 0;
	border-radius: 11px;
	background: #a28f55;
	color: #fff;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 800;
	cursor: pointer;
	transition: background 0.16s ease;
}

.sam-pp-payer:hover {
	background: #243d32;
}

.sam-pp-payer[disabled] {
	opacity: 0.6;
	cursor: progress;
}

.sam-pp-erreur {
	margin: 0 0 0.7rem;
	padding: 0.6rem 0.8rem;
	border-radius: 9px;
	background: #fdeceb;
	color: #94231c;
	font-size: 0.8rem;
	line-height: 1.45;
}

.sam-pp-note {
	margin: 0.6rem 0 0;
	font-size: 0.7rem;
	line-height: 1.45;
	color: #7a837d;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.sam-pp-payer {
		transition: none;
	}
}
