/* ==========================================================================
   Guillotin — Pages services (P006-01 Plâtrerie, P006-02 Peinture,
   P006-03-01 ITI, P006-03-02 ITE, P006-04 Muraux, P006-05 Sols,
   P006-06 Ravalement) — T3003 (2026-10-06)

   Feuille partagée scopée `.guillotin-service-page` : chaque section
   top-level Elementor porte la classe de scope + sa classe de bande.
   Sélecteurs composés (spécificité >= 0,2,0) pour surcharger le CSS
   généré par Elementor. Aucun padding n'est réglé côté section Elementor
   (le CSS généré l'emporterait) : tout le rythme vertical vit ici.

   Socle : design/templates/declinaison-pages-2026-10-06.md (tokens,
   grille 1320 / padding 40-26-18, Fraunces/Manrope, contrastes AA
   validés sur la page Isolation le 2026-10-06).
   ========================================================================== */

.guillotin-service-page {
	--blue: #003366;
	--blue-d: #001b36;
	--blue-l: #0a4c8f;
	--green: #4a7c59;
	--gold: #f4b623;
	--gold-d: #c88c10;
	--ink: #0c1620;
	--body: #3a4855;
	--line: #dde6f1;
	--mist: #f2f6fc;
	--display: 'Fraunces', Georgia, serif;
	--ui: 'Manrope', system-ui, sans-serif;
	position: relative;
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	color: var(--ink);
	font-family: var(--ui);
	line-height: 1.6;
	overflow: hidden;
}

.guillotin-service-page *,
.guillotin-service-page *::before,
.guillotin-service-page *::after {
	box-sizing: border-box;
}

.guillotin-service-page img {
	display: block;
	max-width: 100%;
}

.guillotin-service-page a {
	color: inherit;
}

/* --------------------------------------------------------------------------
   Containers Elementor : la section est full-width, le container interne
   porte la grille et la largeur 1320 (padding 40/26/18 via largeurs min()).
   -------------------------------------------------------------------------- */

.guillotin-service-page > .elementor-container {
	width: 100%;
	max-width: none !important;
}

.guillotin-service-page.phero > .elementor-container,
.guillotin-service-page.cta > .elementor-container {
	position: relative;
	z-index: 1;
	width: min(100% - 80px, 1320px);
	max-width: 1320px !important;
	min-height: inherit;
	margin: 0 auto;
}

.guillotin-service-page.intro > .elementor-container,
.guillotin-service-page.two-col > .elementor-container,
.guillotin-service-page.zone > .elementor-container,
.guillotin-service-page.faq-section > .elementor-container {
	display: grid;
	width: min(100% - 80px, 1320px);
	max-width: 1320px !important;
	margin: 0 auto;
}

/* Bande feat : section pleine largeur + colonne .wrap (1320, padding 40),
   feat-grid inner à 100% — géométrie mesurée identique au modèle Isolation
   (cartes à 1240px sous viewport 1440px). */
.guillotin-service-page.sec--feat .wrap {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 40px;
}

.guillotin-service-page .feat-grid,
.guillotin-service-page .feat-grid > .elementor-container {
	width: 100%;
}

.guillotin-service-page .feat-grid > .elementor-container {
	display: grid;
	width: 100%;
	max-width: 1320px !important; /* override du boxed 1140 Elementor (inner) */
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
}

.guillotin-service-page .feat-grid--solo > .elementor-container {
	grid-template-columns: minmax(0, 1fr);
}

.guillotin-service-page.intro > .elementor-container {
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	align-items: start;
	gap: 56px;
}

.guillotin-service-page.two-col > .elementor-container {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 48px;
}

.guillotin-service-page.two-col--solo > .elementor-container {
	grid-template-columns: minmax(0, 1fr);
}

/* Zone : copy + radar décoratif (grille du modèle), ou copy seule. */
.guillotin-service-page.zone > .elementor-container {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: center;
	gap: 78px;
}

.guillotin-service-page.zone--no-radar > .elementor-container {
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
}

.guillotin-service-page.faq-section > .elementor-container {
	grid-template-columns: minmax(0, 1fr);
}

.guillotin-service-page.reassure > .elementor-container {
	display: flex;
	width: min(100% - 80px, 1320px);
	max-width: 1320px !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 44px;
	margin: 0 auto;
}

.guillotin-service-page.intro > .elementor-container > .elementor-column,
.guillotin-service-page.two-col > .elementor-container > .elementor-column,
.guillotin-service-page.zone > .elementor-container > .elementor-column,
.guillotin-service-page.reassure > .elementor-container > .elementor-column,
.guillotin-service-page .feat-grid > .elementor-container > .elementor-column,
.guillotin-service-page.faq-section > .elementor-container > .elementor-column {
	width: auto;
	min-width: 0;
}

/* La section elle-même ne doit pas être en grille : c'est son container. */
.guillotin-service-page.intro,
.guillotin-service-page.two-col,
.guillotin-service-page.zone {
	display: block;
}

/* --------------------------------------------------------------------------
   Hero `.phero` : fullbleed (image de fond Elementor + voile) ou sobre
   marque (sans photo — gates D4/D5/pertinence ITI, aucun substitut).
   -------------------------------------------------------------------------- */

.guillotin-service-page.phero {
	position: relative;
	display: flex;
	min-height: 48vh;
	align-items: flex-end;
	overflow: hidden;
	background: var(--blue-d);
}

.guillotin-service-page.phero::before {
	position: absolute;
	inset: 0;
	background: radial-gradient(700px 300px at 15% 20%, rgb(0 76 143 / 55%), transparent 70%), radial-gradient(600px 320px at 85% 80%, rgb(74 124 89 / 35%), transparent 70%);
	content: '';
	opacity: 0;
	pointer-events: none;
}

.guillotin-service-page.phero--sober::before {
	opacity: .55;
}

.elementor-section.guillotin-photo-hero.phero {
	min-height: 600px;
}

.elementor-section.guillotin-photo-hero.phero h1 {
	max-width: 28ch;
}

@media (max-width: 1160px) {
	.elementor-section.guillotin-photo-hero.phero {
		min-height: 560px;
	}
}

@media (max-width: 680px) {
	.elementor-section.guillotin-photo-hero.phero {
		min-height: 480px;
	}
}

.guillotin-service-page.phero::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgb(0 20 42 / 68%) 0%, rgb(0 38 74 / 50%) 42%, rgb(0 45 88 / 10%) 72%, transparent 100%), linear-gradient(to top, rgb(0 17 36 / 66%), transparent 62%);
	content: '';
	pointer-events: none;
}

.guillotin-service-page.phero--sober::after {
	background: linear-gradient(to top, rgb(0 17 36 / 55%), transparent 55%);
}

.guillotin-service-page.phero .wrap {
	width: 100%;
	max-width: none;
	padding: 0;
}

.guillotin-service-page.phero .wrap > .elementor-widget-wrap {
	min-height: inherit;
	align-content: flex-end;
	padding-top: 48px;
	padding-bottom: 64px;
}

.guillotin-service-page .phero__crumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
	color: rgb(255 255 255 / 78%);
	font-size: 13px;
	font-weight: 700;
}

.guillotin-service-page .phero__crumb a,
.guillotin-service-page .phero__crumb span {
	color: #ffffff;
}

.guillotin-service-page .phero__crumb a:hover {
	color: var(--gold);
}

.guillotin-service-page .phero__crumb i {
	color: var(--gold);
	font-size: 11px;
	font-style: normal;
}

.guillotin-service-page.phero h1 {
	max-width: 16ch;
	margin-top: 14px;
	color: #ffffff;
	font-family: var(--display);
	font-size: 70px;
	font-weight: 600;
	line-height: 1.03;
	text-shadow: 0 3px 22px rgb(0 10 24 / 45%);
}

.guillotin-service-page.phero h1 em {
	color: var(--gold);
	font-style: italic;
}

.guillotin-service-page.phero p:not(.tag) {
	max-width: 56ch;
	margin-top: 18px;
	color: rgb(255 255 255 / 96%);
	font-size: 16.5px;
	text-shadow: 0 2px 14px rgb(0 10 24 / 40%);
}

/* --------------------------------------------------------------------------
   Tag / eyebrow : vert sur clair, or sur fonds sombres.
   -------------------------------------------------------------------------- */

.guillotin-service-page .tag {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--green);
}

.guillotin-service-page .tag::before {
	width: 34px;
	height: 2px;
	background: currentcolor;
	content: '';
}

.guillotin-service-page .tag .elementor-heading-title {
	color: inherit;
	font-family: var(--ui);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.guillotin-service-page.phero .tag,
.guillotin-service-page.zone .tag,
.guillotin-service-page.cta .tag,
.guillotin-service-page .card--dark .tag {
	color: var(--gold);
}

/* --------------------------------------------------------------------------
   Bandes de contenu.
   -------------------------------------------------------------------------- */

.guillotin-service-page.sec {
	position: relative;
	padding: 96px 0;
}

.guillotin-service-page.sec--mist {
	background: var(--mist);
}

.guillotin-service-page.sec h2,
.guillotin-service-page.zone h2,
.guillotin-service-page.cta h2 {
	max-width: 22ch;
	margin-top: 12px;
	color: var(--blue);
	font-family: var(--display);
	font-size: 46px;
	font-weight: 600;
	line-height: 1.08;
}

.elementor-section.guillotin-service-page.sec h2 em {
	color: var(--green);
	font-style: italic;
}

/* Titres blancs systématiques sur contextes sombres, em or imbriqué. */
.elementor-section.guillotin-service-page.phero .elementor-widget-heading h1.elementor-heading-title,
.elementor-section.guillotin-service-page.zone .elementor-widget-heading .elementor-heading-title,
.elementor-section.guillotin-service-page.cta .elementor-widget-heading .elementor-heading-title,
.elementor-section.guillotin-service-page .card--dark .elementor-widget-heading .elementor-heading-title {
	color: #ffffff;
}

.elementor-section.guillotin-service-page .card--dark .elementor-widget-heading.tag .elementor-heading-title,
.elementor-section.guillotin-service-page.zone .elementor-widget-heading.tag .elementor-heading-title,
.elementor-section.guillotin-service-page.cta .elementor-widget-heading.tag .elementor-heading-title {
	color: var(--gold);
}

.elementor-section.guillotin-service-page.phero h1 em,
.elementor-section.guillotin-service-page.zone h2 em,
.elementor-section.guillotin-service-page.cta h2 em,
.elementor-section.guillotin-service-page .card--dark h2 em {
	color: var(--gold);
	font-style: italic;
}

/* --------------------------------------------------------------------------
   Intro 2 colonnes : lead Fraunces + corps.
   -------------------------------------------------------------------------- */

.guillotin-service-page .intro__lead {
	color: var(--blue);
	font-family: var(--display);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.28;
}

/* La typographie propre du widget text-editor (globals du kit) l'emporte
   sur l'héritage de colonne : on force le lead Fraunces de la maquette. */
.guillotin-service-page .intro__lead .elementor-widget-text-editor,
.guillotin-service-page .intro__lead p {
	color: var(--blue);
	font-family: var(--display);
}

.guillotin-service-page .intro__body p {
	margin-bottom: 14px;
	color: var(--body);
	font-size: 15.5px;
}

.guillotin-service-page .intro__body p:last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Feat-grid : cartes média vers les services liés — copie exacte du
   composant `.feat` du modèle Isolation (image absolute + voile + contenu
   en bas). Variante `.feat--sober` sans photo (asset gated) : fond marque.
   -------------------------------------------------------------------------- */

.guillotin-service-page .feat {
	position: relative;
	display: flex;
	min-height: 500px;
	align-items: flex-end;
	overflow: hidden;
	border-radius: 2px;
	box-shadow: 0 30px 60px -30px rgb(0 27 54 / 40%);
}

.guillotin-service-page .feat--sober {
	background: radial-gradient(700px 300px at 15% 20%, rgb(0 76 143 / 55%), transparent 70%), radial-gradient(600px 320px at 85% 80%, rgb(74 124 89 / 35%), transparent 70%), var(--blue-d);
}

.elementor-section.guillotin-service-page .feat.elementor-column > .elementor-widget-wrap {
	position: relative;
	display: flex;
	min-height: inherit;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 34px;
}

.guillotin-service-page .feat::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgb(0 20 42 / 92%), rgb(0 20 42 / 15%) 72%);
	content: '';
	pointer-events: none;
}

.guillotin-service-page .feat-image {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	margin: 0 !important;
}

.guillotin-service-page .feat-image .elementor-widget-container,
.guillotin-service-page .feat-image img {
	width: 100%;
	height: 100%;
}

.guillotin-service-page .feat-image img {
	object-fit: cover;
	filter: saturate(.88) contrast(1.05);
}

.guillotin-service-page .feat .elementor-widget:not(.feat-image) {
	z-index: 2;
	width: 100%;
}

.guillotin-service-page .feat-tag .elementor-heading-title {
	color: var(--gold);
	font-family: var(--ui);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.guillotin-service-page .feat-title .elementor-heading-title {
	margin: 12px 0;
	color: #ffffff;
	font-family: var(--display);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
}

.guillotin-service-page .feat-copy p {
	max-width: 40ch;
	margin-bottom: 18px;
	color: rgb(226 238 250 / 86%);
	font-size: 14.5px;
}

/* --------------------------------------------------------------------------
   Cartes des paires two-col (contenus métier intégraux, ordre source).
   -------------------------------------------------------------------------- */

.guillotin-service-page .card {
	padding: 34px;
	border: 1px solid var(--line);
	border-radius: 2px;
	background: #ffffff;
	box-shadow: 0 24px 50px -34px rgb(0 27 54 / 28%);
}

.guillotin-service-page .card > .elementor-widget-wrap {
	align-content: center;
}

.guillotin-service-page .card p {
	margin-bottom: 14px;
	color: var(--body);
	font-size: 15px;
}

.guillotin-service-page .card p:last-child {
	margin-bottom: 0;
}

/* Carte sombre : titres blancs (règle dédiée plus haut), textes clairs,
   puces or — contrastes du modèle Isolation. */
.guillotin-service-page .card--dark {
	border: 0;
	background: var(--blue-d);
	color: #ffffff;
}

.guillotin-service-page .card--dark p {
	color: rgb(226 238 250 / 82%) !important;
}

.guillotin-service-page .card--dark .check-list li {
	color: #ffffff;
}

.guillotin-service-page .card--dark .check-list li::before {
	background: rgb(244 182 35 / 18%);
	color: var(--gold);
}

.guillotin-service-page .check-list {
	display: grid;
	gap: 16px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.guillotin-service-page .check-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--ink);
	font-size: 15px;
	line-height: 1.55;
}

.guillotin-service-page .check-list li::before {
	width: 22px;
	height: 22px;
	flex: none;
	margin-top: 1px;
	border-radius: 50%;
	background: rgb(74 124 89 / 12%);
	color: var(--green);
	content: '✓';
	font-size: 12px;
	font-weight: 800;
	line-height: 22px;
	text-align: center;
}

/* --------------------------------------------------------------------------
   Zone sombre : section « entreprise locale » (copy) + radar décoratif
   (anneaux/pin/labels — copie exacte du modèle Isolation). Sans rayon
   sourcé : `.zone--no-radar`, copy seule (aucun radar inventé).
   -------------------------------------------------------------------------- */

.guillotin-service-page.zone {
	position: relative;
	overflow: hidden;
	padding: 88px 0;
	background: var(--blue-d);
	color: #ffffff;
}

.guillotin-service-page.zone::before {
	position: absolute;
	inset: 0;
	background: radial-gradient(700px 300px at 15% 20%, rgb(0 76 143 / 55%), transparent 70%), radial-gradient(600px 320px at 85% 80%, rgb(74 124 89 / 35%), transparent 70%);
	content: '';
	opacity: .5;
}

.guillotin-service-page.zone > .elementor-container {
	position: relative;
	z-index: 1;
}

.guillotin-service-page.zone--no-radar .zone__copy {
	max-width: 800px;
}

.guillotin-service-page.zone p {
	margin-bottom: 14px;
	color: rgb(226 238 250 / 84%);
	font-size: 15.5px;
}

.guillotin-service-page.zone p:last-child {
	margin-bottom: 0;
}

.guillotin-service-page.zone .check-list li {
	color: #ffffff;
}

.guillotin-service-page.zone .check-list li::before {
	background: rgb(244 182 35 / 18%);
	color: var(--gold);
}

/* Radar : carte claire quadrillée, anneaux pulsés, pin Cluny, labels
   positionnés (communes citées par la source), badge rayon. */
.guillotin-service-page .radar {
	position: relative;
	display: grid;
	aspect-ratio: 1.28 / 1;
	place-items: center;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 20%);
	background: radial-gradient(circle at 50% 50%, rgb(74 124 89 / 16%), rgb(0 76 143 / 6%) 55%, transparent 72%), #ffffff;
	box-shadow: 0 30px 60px -30px rgb(0 0 0 / 50%);
}

.guillotin-service-page .radar::before {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
	background-size: 46px 46px;
	content: '';
	opacity: .55;
}

.guillotin-service-page .radar .elementor-widget-wrap {
	position: static;
}

.guillotin-service-page .radar__map {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: grid;
	place-items: center;
	margin: 0 !important;
}

.guillotin-service-page .ring {
	position: absolute;
	border: 1px solid rgb(0 51 102 / 22%);
	border-radius: 50%;
	animation: guillotin-service-pulse 4.4s ease-in-out infinite;
}

.guillotin-service-page .ring:nth-of-type(1) { width: 32%; height: 32%; }
.guillotin-service-page .ring:nth-of-type(2) { width: 58%; height: 58%; animation-delay: .5s; }
.guillotin-service-page .ring:nth-of-type(3) { width: 84%; height: 84%; animation-delay: 1s; }

@keyframes guillotin-service-pulse {
	0%, 100% { opacity: .25; transform: scale(.98); }
	50% { opacity: .7; transform: scale(1.02); }
}

.guillotin-service-page .pin {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	gap: 6px;
}

.guillotin-service-page .pin b {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 0 0 8px rgb(244 182 35 / 24%);
}

.guillotin-service-page .pin span {
	color: var(--blue);
	font-family: var(--display);
	font-size: 22px;
}

.guillotin-service-page .radar__label {
	position: absolute;
	z-index: 2;
	padding: 5px 10px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: rgb(255 255 255 / 90%);
	color: var(--blue);
	font-size: 12px;
	font-weight: 700;
}

.guillotin-service-page .radius {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 2;
	padding: 12px 18px;
	background: var(--blue);
	color: #ffffff;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

/* Chips communes : pilules blanches (modèle), uniquement si citées source. */
.guillotin-service-page .chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.guillotin-service-page .chips li {
	padding: 9px 17px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #ffffff;
	color: var(--blue);
	font-size: 13.5px;
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   Reassure : bande or, 3 preuves verbatim source (fort + libellé).
   -------------------------------------------------------------------------- */

.guillotin-service-page.reassure {
	padding: 30px 0;
	background: linear-gradient(135deg, #fbefd2, #f6e2b0);
}

.guillotin-service-page .reassure__i p {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
}

.guillotin-service-page .reassure__i strong {
	color: var(--blue-d);
	font-family: var(--display);
	font-size: 28px;
	font-weight: 600;
}

.guillotin-service-page .reassure__i span {
	color: var(--blue-d);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   CTA final : photo de page non gated en fond (voile du modèle Isolation)
   ou fond sobre marque pour les pages gated (`.cta--sober`).
   -------------------------------------------------------------------------- */

.guillotin-service-page.cta {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgb(244 182 35 / 28%);
	background: var(--blue-d);
	color: #ffffff;
}

.guillotin-service-page.cta::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgb(0 27 54 / 82%) 30%, rgb(0 51 102 / 50%) 62%, rgb(0 51 102 / 8%)), linear-gradient(to bottom, transparent 58%, rgb(0 27 54 / 55%) 84%, var(--blue-d));
	content: '';
	pointer-events: none;
}

.guillotin-service-page.cta--sober::before {
	background: radial-gradient(700px 300px at 15% 20%, rgb(0 76 143 / 55%), transparent 70%), radial-gradient(600px 320px at 85% 80%, rgb(74 124 89 / 35%), transparent 70%);
	opacity: .5;
}

.guillotin-service-page.cta .wrap {
	width: 100%;
	max-width: none;
	padding: 0;
}

.guillotin-service-page.cta .wrap > .elementor-widget-wrap {
	padding-top: 72px;
	padding-bottom: 72px;
}

.guillotin-service-page.cta h2 {
	max-width: 16ch;
	font-size: 51px;
	line-height: 1.05;
}

.guillotin-service-page.cta p {
	max-width: 50ch;
	margin: 16px 0 26px;
	color: rgb(224 236 250 / 84%);
	font-size: 16px;
}

/* --------------------------------------------------------------------------
   Boutons Elementor natifs : pilule or, hover blanc.
   -------------------------------------------------------------------------- */

.elementor-section.guillotin-service-page .elementor-widget-button .elementor-button {
	border: 0;
	border-radius: 2px;
	background: var(--gold);
	color: var(--blue-d);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 12px 20px;
	text-transform: uppercase;
	transition: transform .25s cubic-bezier(.22, .68, .24, 1), background-color .25s cubic-bezier(.22, .68, .24, 1);
}

.elementor-section.guillotin-service-page .elementor-widget-button .elementor-button:hover {
	background: #ffffff;
	transform: translateY(-2px);
}

.elementor-section.guillotin-service-page .elementor-widget-button.btn-link,
.elementor-section.guillotin-service-page .elementor-widget-button.btn-gold {
	display: inline-block;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.elementor-section.guillotin-service-page .btn-gold .elementor-button {
	padding: 19px 38px;
	font-size: 15px;
}

.elementor-section.guillotin-service-page .btn-link {
	margin: 14px 14px 0 0;
}

/* --------------------------------------------------------------------------
   FAQ : accordéon Elementor natif (schema FAQ activé côté widget).
   -------------------------------------------------------------------------- */

.guillotin-service-page .faq {
	width: min(100%, 840px);
	margin: 0 auto;
}

.guillotin-service-page .faq .elementor-accordion-item {
	border: 0;
	border-bottom: 1px solid var(--line);
}

.guillotin-service-page .faq .elementor-tab-title {
	padding: 18px 4px;
	color: var(--blue);
	font-family: var(--display);
	font-size: 17px;
}

.guillotin-service-page .faq .elementor-tab-title .elementor-accordion-icon {
	color: var(--gold-d);
}

.guillotin-service-page .faq .elementor-tab-content {
	padding: 0 4px 16px;
	border: 0;
	color: var(--body);
	font-size: 14px;
}

.guillotin-service-page .faq .elementor-tab-title:focus-visible {
	outline: 2px solid var(--gold-d);
	outline-offset: 3px;
}

.elementor-section.guillotin-service-page .faq .elementor-tab-title.elementor-active,
.elementor-section.guillotin-service-page .faq .elementor-tab-title.elementor-active a {
	color: var(--blue);
}

/* --------------------------------------------------------------------------
   Responsive : 2 paliers uniquement (1160 / 680), comme le socle.
   -------------------------------------------------------------------------- */

@media (max-width: 1160px) {
	.guillotin-service-page.phero > .elementor-container,
	.guillotin-service-page.cta > .elementor-container,
	.guillotin-service-page.intro > .elementor-container,
	.guillotin-service-page.two-col > .elementor-container,
	.guillotin-service-page.zone > .elementor-container,
	.guillotin-service-page.reassure > .elementor-container,
	.guillotin-service-page.faq-section > .elementor-container {
		width: min(100% - 52px, 1320px);
	}

	.guillotin-service-page.sec--feat .wrap {
		padding: 0 26px;
	}

	.guillotin-service-page.phero h1 {
		font-size: 52px;
	}

	.guillotin-service-page.intro > .elementor-container,
	.guillotin-service-page.two-col > .elementor-container,
	.guillotin-service-page.zone > .elementor-container,
	.guillotin-service-page .feat-grid > .elementor-container {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	.guillotin-service-page.zone > .elementor-container {
		align-items: start;
	}
}

@media (max-width: 680px) {
	.guillotin-service-page.phero > .elementor-container,
	.guillotin-service-page.cta > .elementor-container,
	.guillotin-service-page.intro > .elementor-container,
	.guillotin-service-page.two-col > .elementor-container,
	.guillotin-service-page.zone > .elementor-container,
	.guillotin-service-page.reassure > .elementor-container,
	.guillotin-service-page.faq-section > .elementor-container {
		width: min(100% - 36px, 1320px);
	}

	.guillotin-service-page.sec--feat .wrap {
		padding: 0 18px;
	}

	.guillotin-service-page.sec {
		padding: 64px 0;
	}

	.guillotin-service-page.phero {
		min-height: auto;
	}

	.guillotin-service-page .phero__crumb {
		gap: 6px;
		font-size: 12px;
	}

	.guillotin-service-page.phero h1 {
		font-size: 44px;
	}

	.guillotin-service-page.sec h2,
	.guillotin-service-page.zone h2,
	.guillotin-service-page.cta h2 {
		font-size: 35px;
	}

	.guillotin-service-page .intro__lead {
		font-size: 25px;
	}

	.guillotin-service-page .card {
		padding: 26px 22px;
	}

	.guillotin-service-page .feat {
		min-height: 440px;
	}

	.elementor-section.guillotin-service-page .feat.elementor-column > .elementor-widget-wrap {
		padding: 26px 22px;
	}

	.guillotin-service-page .radar {
		aspect-ratio: 1 / 1;
	}

	.guillotin-service-page.reassure > .elementor-container {
		gap: 20px;
	}

	.guillotin-service-page.cta .wrap > .elementor-widget-wrap {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.guillotin-service-page.zone {
		padding: 64px 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.guillotin-service-page *,
	.guillotin-service-page *::before,
	.guillotin-service-page *::after {
		animation: none !important;
		transition: none !important;
	}
}
