/* ==========================================================================
   Réalisations : page /realisations/ (onglets + cartes) et fiches projet (gabarit « Réalisation »).
   Complète style.css, style-apropos.css et style-offres.css : mêmes conteneurs adw-ap-*.
   Le contenu des blocs adw-rl-* est inséré par realisations.php.
   ========================================================================== */

:root {
	--adw-rl-ico-brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 3.5 11 13'/%3E%3Cpath d='M11 13c-1.6-1.6-4.4-1-5 1.4-.4 1.7-.9 3.6-3 4.1 2.6 2 7.1 1.6 8.6-.9 1-1.6.9-3.2-.6-4.6Z'/%3E%3C/svg%3E");
	--adw-rl-ico-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4.5 6v5.5c0 4.6 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.9 7.5-9.5V6L12 3Z'/%3E%3Cpath d='m8.8 12.2 2.3 2.3 4.2-4.6'/%3E%3C/svg%3E");
	--adw-rl-ico-back: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12H3M9 6l-6 6 6 6'/%3E%3C/svg%3E");
	--adw-rl-ico-out: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
}

/* Bloc sans contenu pour ce projet (section masquée) */
body .elementor .adw-rl-vide {
	display: none !important;
}

/* --------------------------------------------------------------------------
   Captures d'écran : cadre de navigateur et téléphone
   -------------------------------------------------------------------------- */

body .elementor .adw-rl-ecran {
	position: relative;
	display: block;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
	box-shadow: 0 24px 50px rgba(46, 58, 51, 0.16);
}

body .elementor .adw-rl-ecran-barre {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 26px;
	padding: 0 12px;
	border-bottom: 1px solid var(--adw-border);
	background-color: var(--adw-cream);
}

body .elementor .adw-rl-ecran-barre i {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--adw-peach-line);
}

body .elementor .adw-rl-ecran-barre i:first-child {
	background-color: var(--adw-terracotta);
	opacity: 0.55;
}

body .elementor img.adw-rl-ecran-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	aspect-ratio: 16 / 10;
	border-radius: 0;
	object-fit: cover;
	object-position: center top;
}

body .elementor .adw-rl-ecran--mobile {
	border: 5px solid var(--adw-ink);
	border-radius: 18px;
	box-shadow: 0 18px 36px rgba(31, 43, 37, 0.25);
}

body .elementor .adw-rl-ecran--mobile img.adw-rl-ecran-img {
	aspect-ratio: 9 / 19;
}

/* --------------------------------------------------------------------------
   En-têtes (page et fiche projet)
   -------------------------------------------------------------------------- */

body .elementor .adw-rl-hero .adw-ap-title {
	margin-bottom: 16px;
}

body .elementor .adw-rl-hero .adw-ap-lead {
	margin-bottom: 22px;
}

/* Visuel : la capture remplace la photo ; branche et cercle passent derrière */
body .elementor .adw-ap-visual.adw-rl-visual {
	display: flex;
	align-items: center;
	aspect-ratio: auto;
	padding: 28px 18px 44px 30px;
}

body .elementor .adw-ap-visual.adw-rl-visual::before {
	right: -1%;
	bottom: 0;
	width: 30%;
}

body .elementor .adw-ap-visual.adw-rl-visual::after {
	top: 2%;
	left: -4%;
	z-index: -1;
	width: 22%;
	height: 70%;
}

body .elementor .adw-rl-visual .adw-rl-ecran {
	width: 100%;
}

body .elementor .adw-rl-retour {
	margin: 0 0 22px;
	font-family: var(--adw-sans);
	font-size: 12.5px;
	line-height: 1.4;
}

body .elementor .adw-rl-retour a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--adw-muted);
	text-decoration: none;
}

body .elementor .adw-rl-retour a::before {
	content: "";
	width: 15px;
	height: 15px;
	background-color: currentColor;
	-webkit-mask: var(--adw-rl-ico-back) center / contain no-repeat;
	mask: var(--adw-rl-ico-back) center / contain no-repeat;
}

body .elementor .adw-rl-retour a:hover,
body .elementor .adw-rl-retour a:focus-visible {
	color: var(--adw-terracotta);
}

/* Type de projet (« Création / Refonte ») */
body .elementor .adw-rl-type {
	display: inline-block;
	margin: 0 0 18px;
	padding: 6px 12px;
	border: 1px solid var(--adw-terracotta);
	border-radius: var(--adw-radius);
	font-family: var(--adw-sans);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--adw-terracotta);
}

body .elementor .adw-rl-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

body .elementor .adw-rl-tags li {
	margin: 0;
	padding: 6px 12px;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
	font-family: var(--adw-sans);
	font-size: 12px;
	line-height: 1.3;
	color: var(--adw-text);
}

body .elementor .adw-rl-site {
	margin: 0;
	font-family: var(--adw-sans);
	font-size: 13px;
	font-weight: 600;
}

body .elementor .adw-rl-site a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--adw-terracotta);
	text-decoration: none;
}

body .elementor .adw-rl-site a::after {
	content: "";
	width: 14px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask: var(--adw-rl-ico-out) center / contain no-repeat;
	mask: var(--adw-rl-ico-out) center / contain no-repeat;
}

body .elementor .adw-rl-site a:hover,
body .elementor .adw-rl-site a:focus-visible {
	color: var(--adw-terracotta-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Fiche projet : repères
   -------------------------------------------------------------------------- */

body .elementor .adw-ap-section.adw-rl-infos {
	padding-top: 0;
}

body .elementor .adw-rl-infos-liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin: 0;
	padding: 6px 0;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
	list-style: none;
}

body .elementor .adw-rl-info {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 12px;
	row-gap: 3px;
	margin: 0;
	padding: 18px 24px;
	border-left: 1px solid var(--adw-border);
	font-family: var(--adw-sans);
	line-height: 1.45;
}

body .elementor .adw-rl-info:first-child {
	border-left: 0;
}

body .elementor .adw-rl-info::before {
	content: "";
	grid-row: 1 / span 2;
	width: 22px;
	height: 22px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-ap-ico-store) center / contain no-repeat;
	mask: var(--adw-ap-ico-store) center / contain no-repeat;
}

body .elementor .adw-rl-info--type-projet::before {
	-webkit-mask-image: var(--adw-ico-doc);
	mask-image: var(--adw-ico-doc);
}

body .elementor .adw-rl-info--duree::before {
	-webkit-mask-image: var(--adw-ico-clock);
	mask-image: var(--adw-ico-clock);
}

body .elementor .adw-rl-info--resultat-cle::before {
	-webkit-mask-image: var(--adw-ico-trophy);
	mask-image: var(--adw-ico-trophy);
}

body .elementor .adw-rl-info-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--adw-ink);
}

body .elementor .adw-rl-info-valeur {
	font-size: 13px;
	color: var(--adw-text);
}

/* --------------------------------------------------------------------------
   Fiche projet : contexte, solution
   -------------------------------------------------------------------------- */

body .elementor .adw-rl-split {
	margin-bottom: 0;
}

body .elementor .adw-rl-split .adw-ap-text + .adw-ap-text {
	margin-top: 14px;
}

body .elementor .adw-rl-split--seul {
	grid-template-columns: minmax(0, 1fr);
}

body .elementor img.adw-rl-photo {
	display: block;
	width: 100%;
	max-width: 520px;
	height: auto;
	margin: 0 0 0 auto;
	aspect-ratio: 4 / 3;
	border-radius: 34% var(--adw-radius) var(--adw-radius) var(--adw-radius);
	object-fit: cover;
	object-position: center 25%;
}

body .elementor .adw-rl-solution-grille {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	align-items: center;
	gap: 40px 64px;
}

body .elementor .adw-rl-solution-grille--seule {
	grid-template-columns: minmax(0, 1fr);
}

body .elementor .adw-rl-solution-texte {
	min-width: 0;
}

body .elementor .adw-rl-etapes {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

body .elementor .adw-rl-etapes li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 44px;
	margin: 0 0 22px;
	padding: 0 0 0 62px;
	font-family: var(--adw-sans);
}

body .elementor .adw-rl-etapes li:last-child {
	margin-bottom: 0;
}

body .elementor .adw-rl-etapes li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--adw-peach-strong);
}

body .elementor .adw-rl-etapes li::after {
	content: "";
	position: absolute;
	top: 11px;
	left: 11px;
	width: 22px;
	height: 22px;
	background-color: var(--adw-terracotta);
	-webkit-mask: var(--adw-of-ico-search) center / contain no-repeat;
	mask: var(--adw-of-ico-search) center / contain no-repeat;
}

body .elementor .adw-rl-etapes li:nth-child(2)::after {
	-webkit-mask-image: var(--adw-rl-ico-brush);
	mask-image: var(--adw-rl-ico-brush);
}

body .elementor .adw-rl-etapes li:nth-child(3)::after {
	-webkit-mask-image: var(--adw-ap-ico-code);
	mask-image: var(--adw-ap-ico-code);
}

body .elementor .adw-rl-etapes li:nth-child(4)::after {
	-webkit-mask-image: var(--adw-rl-ico-shield);
	mask-image: var(--adw-rl-ico-shield);
}

body .elementor .adw-rl-etapes strong {
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--adw-ink);
}

body .elementor .adw-rl-etapes span {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--adw-text);
}

body .elementor .adw-rl-ecrans {
	position: relative;
	min-width: 0;
	padding: 0 11% 7% 0;
}

body .elementor .adw-rl-ecrans .adw-rl-ecran--ordinateur {
	width: 100%;
}

body .elementor .adw-rl-ecrans .adw-rl-ecran--mobile {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 23%;
}

/* --------------------------------------------------------------------------
   Fiche projet : résultats, témoignage, appel final
   -------------------------------------------------------------------------- */

body .elementor .adw-rl-kpis {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 16px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

body .elementor .adw-rl-kpis li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 26px 20px;
	border-radius: var(--adw-radius);
	background-color: var(--adw-peach);
	text-align: center;
}

body .elementor .adw-rl-kpis strong {
	font-family: var(--adw-serif);
	font-size: clamp(30px, 3vw, 38px);
	font-weight: 400;
	line-height: 1.1;
	color: var(--adw-terracotta);
}

body .elementor .adw-rl-kpis span {
	font-family: var(--adw-sans);
	font-size: 13px;
	line-height: 1.5;
	color: var(--adw-text);
}

body .elementor .adw-ap-section.adw-rl-temoignage {
	padding-top: 40px;
}

body .elementor .adw-rl-avis {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 28px 36px;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
}

body .elementor .adw-rl-avis--sans-photo {
	grid-template-columns: minmax(0, 1fr);
}

body .elementor img.adw-rl-avis-photo {
	display: block;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	object-fit: cover;
}

body .elementor .adw-rl-avis-texte {
	margin: 0;
	padding: 0;
	border: 0;
}

body .elementor .adw-rl-avis-texte p {
	margin: 0;
	font-family: var(--adw-sans);
	font-size: 15px;
	font-style: normal;
	line-height: 1.7;
	color: var(--adw-text);
}

body .elementor .adw-rl-avis-auteur {
	margin: 12px 0 0;
	font-family: var(--adw-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--adw-ink);
}

body .elementor .adw-ap-section.adw-rl-cta {
	padding-top: 56px;
	padding-bottom: 80px;
}

body .elementor .adw-rl-cta-bandeau {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 22px 40px;
	padding: 34px 44px;
	border-radius: var(--adw-radius);
	background-color: var(--adw-peach);
}

body .elementor .adw-rl-cta-texte {
	min-width: 0;
}

body .elementor .adw-rl-cta-question,
body .elementor .adw-rl-cta-phrase {
	margin: 0;
	font-family: var(--adw-serif);
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 400;
	line-height: 1.25;
	color: var(--adw-terracotta);
}

body .elementor .adw-rl-cta-phrase {
	color: var(--adw-ink);
}

body .elementor .adw-rl-cta-bandeau .adw-btn {
	width: auto;
}

body .elementor .adw-rl-btn-vert {
	border: 1px solid var(--adw-green);
	background-color: var(--adw-green);
	color: var(--adw-cream);
}

body .elementor .adw-rl-btn-vert:hover,
body .elementor .adw-rl-btn-vert:focus-visible {
	border-color: var(--adw-ink);
	background-color: var(--adw-ink);
	color: var(--adw-cream);
}

/* --------------------------------------------------------------------------
   Page Réalisations : onglets et cartes
   -------------------------------------------------------------------------- */

body .elementor .adw-ap-section.adw-rl-liste {
	padding-top: 24px;
}

/* Blocs vides d'Elementor qui reçoivent les cartes : sans la marge intérieure par défaut (10 px) */
body .elementor .adw-rl-grille,
body .elementor .adw-rl-selection {
	padding: 0;
}

body .elementor .adw-rl-onglets {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 0 36px;
}

/* <button> : neutralise le thème (couleur, majuscules, retour à la ligne) */
body .elementor button.adw-rl-onglet,
body .elementor button.adw-rl-onglet:hover,
body .elementor button.adw-rl-onglet:focus {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
	box-shadow: none;
	font-family: var(--adw-sans);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	color: var(--adw-ink);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body .elementor button.adw-rl-onglet:hover,
body .elementor button.adw-rl-onglet:focus-visible {
	border-color: var(--adw-green);
}

body .elementor button.adw-rl-onglet:focus-visible {
	outline: 2px solid var(--adw-terracotta);
	outline-offset: 2px;
}

body .elementor button.adw-rl-onglet.is-actif,
body .elementor button.adw-rl-onglet.is-actif:hover,
body .elementor button.adw-rl-onglet.is-actif:focus {
	border-color: var(--adw-green);
	background-color: var(--adw-green);
	color: var(--adw-cream);
}

body .elementor .adw-rl-cartes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body .elementor .adw-rl-carte {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

body .elementor .adw-rl-carte[hidden] {
	display: none;
}

body .elementor .adw-rl-carte:hover {
	box-shadow: 0 18px 40px rgba(46, 58, 51, 0.12);
	transform: translateY(-3px);
}

body .elementor .adw-rl-carte-image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-bottom: 1px solid var(--adw-border);
	background-color: var(--adw-peach);
}

body .elementor img.adw-rl-carte-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	border-radius: 0;
	object-fit: cover;
	object-position: center top;
	transition: transform 0.4s ease;
}

body .elementor .adw-rl-carte:hover img.adw-rl-carte-img {
	transform: scale(1.03);
}

body .elementor .adw-rl-carte-corps {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px 22px 24px;
}

body .elementor .adw-rl-carte-type {
	margin: 0 0 14px;
	padding: 4px 10px;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	font-family: var(--adw-sans);
	font-size: 11.5px;
	line-height: 1.4;
	color: var(--adw-text);
}

body .elementor .adw-rl-carte-titre {
	margin: 0 0 8px;
	font-family: var(--adw-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--adw-ink);
}

body .elementor .adw-rl-carte-titre a {
	color: inherit;
	text-decoration: none;
}

body .elementor .adw-rl-carte-titre a:hover,
body .elementor .adw-rl-carte-titre a:focus-visible {
	color: var(--adw-terracotta);
}

body .elementor .adw-rl-carte-texte {
	margin: 0 0 18px;
	font-family: var(--adw-sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--adw-text);
}

body .elementor .adw-rl-carte-lien,
body .elementor .adw-rl-offre-lien {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font-family: var(--adw-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--adw-terracotta);
	text-decoration: none;
}

body .elementor .adw-rl-carte-lien::after,
body .elementor .adw-rl-offre-lien::after {
	content: "";
	width: 15px;
	height: 15px;
	background-color: currentColor;
	-webkit-mask: var(--adw-ico-arrow) center / contain no-repeat;
	mask: var(--adw-ico-arrow) center / contain no-repeat;
	transition: transform 0.2s ease;
}

body .elementor .adw-rl-carte-lien:hover::after,
body .elementor .adw-rl-carte-lien:focus-visible::after,
body .elementor .adw-rl-offre-lien:hover::after,
body .elementor .adw-rl-offre-lien:focus-visible::after {
	transform: translateX(3px);
}

/* Un seul projet : carte horizontale sur toute la largeur ; deux projets : deux colonnes */
body .elementor .adw-rl-cartes:has(> .adw-rl-carte:only-child) {
	grid-template-columns: minmax(0, 1fr);
}

body .elementor .adw-rl-cartes:has(> .adw-rl-carte:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body .elementor .adw-rl-carte:only-child {
	flex-direction: row;
}

body .elementor .adw-rl-carte:only-child .adw-rl-carte-image {
	flex: 0 0 54%;
	border-right: 1px solid var(--adw-border);
	border-bottom: 0;
}

body .elementor .adw-rl-carte:only-child .adw-rl-carte-corps {
	justify-content: center;
	padding: 32px 40px;
}

body .elementor .adw-rl-carte:only-child .adw-rl-carte-titre {
	font-size: clamp(24px, 2.2vw, 30px);
}

body .elementor .adw-rl-carte:only-child .adw-rl-carte-lien {
	margin-top: 0;
}

body .elementor .adw-rl-aucun {
	margin: 0;
	font-family: var(--adw-sans);
	font-size: 15px;
	text-align: center;
	color: var(--adw-muted);
}

/* Appel final de la page (encadré clair avec photo) */
body .elementor .adw-ap-section.adw-rl-appel {
	padding-top: 72px;
	padding-bottom: 80px;
}

body .elementor .adw-rl-appel-inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: stretch;
	overflow: hidden;
	border-radius: var(--adw-radius);
	background-color: var(--adw-peach);
}

body .elementor .adw-rl-appel-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-width: 0;
	padding: 52px 40px 52px 56px;
}

body .elementor .adw-rl-appel-text .adw-ap-text {
	margin: 0 0 26px;
	font-size: 15px;
}

body .elementor .adw-rl-appel-text .adw-btn {
	width: auto;
}

body .elementor img.adw-rl-appel-img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	max-width: none;
	border-radius: 46% 0 0 0 / 38% 0 0 0;
	object-fit: cover;
	object-position: center;
}

/* --------------------------------------------------------------------------
   Maillage : offres liées (fiche projet), toutes les offres (page Réalisations),
   sélection de réalisations (accueil et pages d'offre)
   -------------------------------------------------------------------------- */

body .elementor .adw-ap-section.adw-rl-offres,
body .elementor .adw-ap-section.adw-rl-offres-toutes {
	padding-top: 72px;
}

body .elementor .adw-rl-offres-head {
	margin-bottom: 28px;
}

body .elementor .adw-rl-offres-liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body .elementor .adw-rl-offre {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	margin: 0;
	padding: 26px 26px 24px;
	border: 1px solid var(--adw-border);
	border-radius: var(--adw-radius);
	background-color: #FFFFFF;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body .elementor .adw-rl-offre:hover {
	border-color: var(--adw-peach-line);
	box-shadow: 0 14px 32px rgba(46, 58, 51, 0.08);
}

body .elementor .adw-rl-offre-prix {
	margin: 0 0 10px;
	font-family: var(--adw-sans);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--adw-terracotta);
}

body .elementor .adw-rl-offre-titre {
	margin: 0 0 10px;
	font-family: var(--adw-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--adw-ink);
}

body .elementor .adw-rl-offre-titre a {
	color: inherit;
	text-decoration: none;
}

body .elementor .adw-rl-offre-titre a:hover,
body .elementor .adw-rl-offre-titre a:focus-visible {
	color: var(--adw-terracotta);
}

body .elementor .adw-rl-offre-texte {
	margin: 0 0 18px;
	font-family: var(--adw-sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--adw-text);
}

/* Une seule offre (fiche projet) : bandeau horizontal */
body .elementor .adw-rl-offres-liste--1 .adw-rl-offre {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 40px;
	padding: 28px 36px;
}

body .elementor .adw-rl-offres-liste--1 .adw-rl-offre > * {
	grid-column: 1;
}

body .elementor .adw-rl-offres-liste--1 .adw-rl-offre-texte {
	max-width: 720px;
	margin-bottom: 0;
}

body .elementor .adw-rl-offres-liste--1 .adw-rl-offre-lien {
	grid-column: 2;
	grid-row: 1 / span 3;
	margin-top: 0;
	white-space: nowrap;
}

/* Sélection de réalisations : masquée tant qu'aucun projet n'est publié */
body .elementor .adw-rl-selection-section:has(.adw-rl-selection.adw-rl-vide) {
	display: none;
}

body .elementor .adw-rl-selection-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px 40px;
	margin: 0 0 34px;
	padding: 0;
}

body .elementor .adw-rl-selection-text {
	max-width: 720px;
	min-width: 0;
	padding: 0;
}

body .elementor .adw-rl-selection-text .adw-ap-h2 {
	margin-bottom: 12px;
}

body .elementor .adw-rl-selection-text .adw-ap-text {
	margin: 0;
}

body .elementor .adw-rl-selection-head .adw-btn {
	flex: none;
	width: auto;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	body .elementor .adw-rl-solution-grille,
	body .elementor .adw-rl-appel-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	body .elementor .adw-rl-ecrans {
		max-width: 620px;
	}

	body .elementor .adw-rl-cartes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body .elementor img.adw-rl-photo {
		margin: 0;
	}

	body .elementor img.adw-rl-appel-img {
		height: 280px;
		min-height: 0;
		border-radius: 0;
	}

	body .elementor .adw-rl-appel-text {
		padding: 44px 40px;
	}
}

@media (max-width: 767px) {
	body .elementor .adw-ap-visual.adw-rl-visual {
		padding: 10px 10px 26px 0;
	}

	body .elementor .adw-rl-infos-liste {
		grid-template-columns: minmax(0, 1fr);
		padding: 4px 0;
	}

	body .elementor .adw-rl-info {
		padding: 14px 20px;
		border-top: 1px solid var(--adw-border);
		border-left: 0;
	}

	body .elementor .adw-rl-info:first-child {
		border-top: 0;
	}

	body .elementor .adw-rl-cartes,
	body .elementor .adw-rl-cartes:has(> .adw-rl-carte:nth-child(2):last-child) {
		grid-template-columns: minmax(0, 1fr);
	}

	body .elementor .adw-rl-carte:only-child {
		flex-direction: column;
	}

	body .elementor .adw-rl-carte:only-child .adw-rl-carte-image {
		flex: none;
		border-right: 0;
		border-bottom: 1px solid var(--adw-border);
	}

	body .elementor .adw-rl-carte:only-child .adw-rl-carte-corps {
		padding: 20px 22px 24px;
	}

	body .elementor .adw-rl-onglets {
		justify-content: flex-start;
	}

	body .elementor .adw-rl-avis {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 24px 22px;
	}

	body .elementor .adw-rl-cta-bandeau {
		padding: 28px 24px;
	}

	body .elementor .adw-rl-cta-bandeau .adw-btn {
		width: 100%;
	}

	body .elementor .adw-rl-appel-text {
		padding: 36px 24px;
	}

	body .elementor .adw-ap-section.adw-rl-cta,
	body .elementor .adw-ap-section.adw-rl-appel {
		padding-bottom: 56px;
	}

	body .elementor .adw-ap-section.adw-rl-offres,
	body .elementor .adw-ap-section.adw-rl-offres-toutes {
		padding-top: 56px;
	}

	body .elementor .adw-rl-offres-liste--1 .adw-rl-offre {
		display: flex;
		padding: 24px 22px;
	}

	body .elementor .adw-rl-offres-liste--1 .adw-rl-offre-texte {
		margin-bottom: 16px;
	}

	body .elementor .adw-rl-selection-head .adw-btn {
		width: 100%;
	}
}
