/* ==========================================================================
   Boutons
   - .btn-pill  : pilule verte de l'en-tête (« Contact → »).
   - .btn-round : rond de 54 px avec flèche, qui s'étire en pilule au survol.
   ========================================================================== */

/* Pilule verte */
.btn-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 24px;
	border-radius: 40px;
	background: var(--c-green);
	box-shadow: 0 10px 22px rgba(59, 176, 74, .32);
	color: var(--c-white);
	font-family: var(--f-title);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .6px;
	text-transform: uppercase;
}

.btn-pill:hover {
	background: var(--c-green-hover);
	color: var(--c-white);
	transform: translateY(-1px);
}

/* Pilule verte, grande taille (bloc « Un projet en tête ? ») */
.btn-pill--large {
	padding: 16px 32px;
	font-size: 15px;
}

.btn-pill--large:hover {
	transform: none;
}

/* Bouton rond animé : variables par variante */
.btn-round {
	--btn-bg: var(--c-green);
	--btn-label: var(--c-green);
	--btn-shadow: 0 8px 18px rgba(20, 30, 25, .14);
	--btn-shadow-hover: 0 16px 32px rgba(20, 30, 25, .22);

	position: relative;
	display: inline-flex;
	align-items: center;
	padding-right: 0;
	cursor: pointer;
	transition: padding-right .5s var(--ease-swing);
}

.btn-round--dark {
	--btn-bg: var(--c-ink);
	--btn-label: var(--c-ink);
}

.btn-round--on-dark {
	--btn-label: var(--c-green-light);
	--btn-shadow: 0 8px 18px rgba(0, 0, 0, .22);
	--btn-shadow-hover: 0 16px 32px rgba(0, 0, 0, .32);
}

.btn-round--footer {
	--btn-shadow: 0 8px 18px rgba(0, 0, 0, .25);
	--btn-shadow-hover: 0 16px 32px rgba(0, 0, 0, .35);
}

.btn-round__bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 54px;
	height: 54px;
	border-radius: 40px;
	background: var(--btn-bg);
	box-shadow: var(--btn-shadow);
	transition: width .5s var(--ease-swing), box-shadow .5s ease;
}

.btn-round__circle {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 54px;
	height: 54px;
	color: var(--c-white);
}

.btn-round .icon-arrow {
	overflow: visible;
	transform: translateX(-5px);
	transition: transform .45s var(--ease-swing);
}

.btn-round .icon-arrow__shaft {
	transform-box: fill-box;
	transform-origin: right center;
	transform: scaleX(0);
	transition: transform .45s var(--ease-swing);
}

.btn-round__label {
	position: relative;
	z-index: 1;
	margin-left: 16px;
	color: var(--btn-label);
	font-family: var(--f-title);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .6px;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color .4s ease;
}

/* Survol et focus clavier : le rond s'étire, la flèche s'allonge, le texte passe en blanc */
.btn-round:hover,
.btn-round:focus-visible {
	padding-right: 30px;
}

.btn-round:hover .btn-round__bg,
.btn-round:focus-visible .btn-round__bg {
	width: 100%;
	box-shadow: var(--btn-shadow-hover);
}

.btn-round:hover .icon-arrow,
.btn-round:focus-visible .icon-arrow {
	transform: translateX(4px);
}

.btn-round:hover .icon-arrow__shaft,
.btn-round:focus-visible .icon-arrow__shaft {
	transform: scaleX(1);
}

.btn-round:hover .btn-round__label,
.btn-round:focus-visible .btn-round__label {
	color: var(--c-white);
}
