/*
 * Phenix Software — feuille de style du site
 * -------------------------------------------------------------
 * Les couleurs viennent des « Couleurs globales » d'Elementor
 * (Elementor > Réglages du site > Couleurs globales) : modifiez-les
 * là-bas, tout le site suit. Les valeurs après la virgule ne servent
 * que de secours.
 *
 * Toutes les classes commencent par « phx- » et sont posées dans
 * l'onglet Avancé > Classes CSS des widgets / sections.
 */

body {
	--phx-pink: var(--e-global-color-primary, #E6005A);
	--phx-blue: var(--e-global-color-secondary, #0A84E0);
	--phx-text: var(--e-global-color-text, #4A4F5C);
	--phx-orange: var(--e-global-color-accent, #F7841F);
	--phx-dark: var(--e-global-color-phxdark, #14182B);
	--phx-yellow: var(--e-global-color-phxyellow, #FFC20E);
	--phx-green: var(--e-global-color-phxgreen, #93C414);
	--phx-lime: var(--e-global-color-phxlime, #D6E893);
	--phx-lightblue: var(--e-global-color-phxlightblue, #E8F4FD);
	--phx-lightpink: var(--e-global-color-phxlightpink, #FDEDF3);
	--phx-lightorange: #FFF1E3;
	--phx-accent: var(--phx-pink);
	--phx-accent-soft: var(--phx-lightpink);
	--phx-radius: 22px;
	--phx-shadow: 0 10px 30px rgba(20, 24, 43, .07);
	--phx-font: var(--e-global-typography-primary-font-family, "Poppins"), "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;

	font-family: var(--phx-font);
	color: var(--phx-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

body .elementor h1, body .elementor h2, body .elementor h3, body .elementor h4 {
	font-family: var(--phx-font);
	color: var(--phx-dark);
}

/* Couleur d'accent par pôle -------------------------------------------- */
body .phx-accent-blue   { --phx-accent: var(--phx-blue);   --phx-accent-soft: var(--phx-lightblue); }
body .phx-accent-pink   { --phx-accent: var(--phx-pink);   --phx-accent-soft: var(--phx-lightpink); }
body .phx-accent-orange { --phx-accent: var(--phx-orange); --phx-accent-soft: var(--phx-lightorange); }

/* Sections ------------------------------------------------------------- */
body .elementor-section.phx-section { padding: 56px 20px; }
body .elementor-section.phx-section-tight { padding-bottom: 0; }
body .elementor-section.phx-page-head { padding: 56px 20px 20px; }
body .elementor-section.phx-hero,
body .elementor-section.phx-svc-hero { padding: 48px 20px 56px; }
body .elementor-section.phx-features { padding: 28px 20px 48px; }

/* Décor : pastilles colorées en arrière-plan */
body .phx-blobs { position: relative; overflow: hidden; }
body .phx-blobs > .elementor-container { position: relative; z-index: 1; }
body .phx-blobs::before,
body .phx-blobs::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}
body .phx-blobs::before {
	width: 64px; height: 56px;
	top: 96px; left: 2.5%;
	background: var(--phx-lime);
	border-radius: 50% 50% 50% 8%;
	opacity: .85;
}
body .phx-blobs::after {
	width: 420px; height: 420px;
	top: -150px; right: -190px;
	background: var(--phx-lightpink);
}
body .phx-svc-hero.phx-accent-blue::after { background: var(--phx-lightblue); }
body .phx-svc-hero.phx-accent-orange::after { background: var(--phx-lightorange); }

/* Typographie ---------------------------------------------------------- */
body .phx-display .elementor-heading-title {
	font-size: clamp(34px, 4.2vw, 50px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--phx-dark);
}
body .phx-display-xl .elementor-heading-title { font-size: clamp(38px, 5vw, 60px); }
body .phx-hl { color: var(--phx-pink); }

body .phx-eyebrow p {
	margin: 0 0 18px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--phx-dark);
}
body .phx-eyebrow span { color: var(--phx-pink); margin: 0 .35em; }

body .phx-lead p,
body .phx-subtitle p {
	font-size: 18px;
	line-height: 1.6;
	color: var(--phx-text);
	margin: 6px 0 22px;
	max-width: 620px;
}
body .phx-lead strong { color: var(--phx-dark); }
body .phx-subtitle p { margin: 8px 0 0; font-size: 17px; }
body .phx-intro p { font-size: 15.5px; line-height: 1.7; margin: 18px 0 10px; max-width: 620px; }

body .phx-section-title .elementor-heading-title {
	font-size: clamp(26px, 3vw, 34px);
	font-weight: 800;
	text-align: center;
	color: var(--phx-dark);
}
body .phx-section-title.phx-left .elementor-heading-title { text-align: left; }
body .phx-section-sub p { text-align: center; margin: 4px 0 20px; }

body .phx-prose p { font-size: 16px; line-height: 1.75; }
body .phx-prose h2 { font-size: 22px; margin: 28px 0 8px; }
body .phx-todo {
	background: #FFF8E1;
	border-left: 4px solid var(--phx-yellow);
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 14px !important;
}
body .phx-muted p { font-size: 14px; color: #7A7F8C; margin-top: 18px; }

/* Fil d'Ariane */
body .phx-crumbs { font-size: 13px; color: #7A7F8C; margin-bottom: 18px; }
body .phx-crumbs a { color: #7A7F8C; text-decoration: none; }
body .phx-crumbs a:hover { color: var(--phx-pink); }
body .phx-crumbs i { font-style: normal; margin: 0 .55em; color: #B3B7C2; }
body .phx-crumbs span { color: var(--phx-dark); }

/* Boutons -------------------------------------------------------------- */
body .phx-btn { margin: 6px 14px 6px 0; }
body .phx-btn .elementor-button {
	font-family: var(--phx-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	padding: 17px 30px;
	border-radius: 999px;
	border: 2px solid var(--phx-pink);
	background: var(--phx-pink);
	color: #fff;
	fill: #fff;
	box-shadow: 0 8px 20px rgba(230, 0, 90, .22);
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
body .phx-btn .elementor-button:hover,
body .phx-btn .elementor-button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(230, 0, 90, .3);
	color: #fff;
}
body .phx-btn .elementor-button-icon svg { width: 14px; height: 14px; }

body .phx-btn-outline .elementor-button {
	background: #fff;
	color: var(--phx-dark);
	fill: var(--phx-dark);
	border-color: var(--phx-dark);
	box-shadow: none;
}
body .phx-btn-outline .elementor-button:hover,
body .phx-btn-outline .elementor-button:focus-visible {
	background: var(--phx-dark);
	color: #fff;
	box-shadow: none;
}

body .phx-btn-blue .elementor-button {
	background: var(--phx-blue);
	border-color: var(--phx-blue);
	box-shadow: 0 8px 20px rgba(10, 132, 224, .22);
}
body .phx-btn-blue .elementor-button:hover { box-shadow: 0 12px 26px rgba(10, 132, 224, .3); }

body .phx-btn-white .elementor-button {
	background: #fff;
	border-color: #fff;
	color: var(--phx-pink);
	fill: var(--phx-pink);
	box-shadow: none;
}
body .phx-btn-white .elementor-button:hover { color: var(--phx-pink); }

body .phx-btn-ghost .elementor-button {
	background: transparent;
	border-color: rgba(255, 255, 255, .7);
	box-shadow: none;
}
body .phx-btn-ghost .elementor-button:hover { background: rgba(255, 255, 255, .12); }

body .phx-btn-sm { margin: 0; }
body .phx-btn-sm .elementor-button { padding: 12px 20px; font-size: 13.5px; }

/* En-tête ------------------------------------------------------------- */
body .elementor-section.phx-header {
	padding: 12px 20px;
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(20, 24, 43, .06);
	z-index: 99;
}
body .phx-header.elementor-sticky--effects { box-shadow: 0 6px 24px rgba(20, 24, 43, .08); }
body .phx-logo img { width: 200px; max-width: 100%; height: auto; }
body .phx-head-actions > .elementor-widget-wrap { justify-content: flex-end; align-items: center; flex-wrap: nowrap; gap: 18px; }
body .phx-head-actions > .elementor-widget-wrap > .elementor-element { flex-shrink: 0; }
body .phx-head-phone .elementor-icon-list-text { white-space: nowrap; }
body .phx-head-phone .elementor-icon-list-item a,
body .phx-head-phone .elementor-icon-list-text { font-weight: 600; font-size: 14px; color: var(--phx-dark); }
body .phx-head-phone .elementor-icon-list-icon {
	width: 30px; height: 30px;
	border: 2px solid var(--phx-pink);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
body .phx-head-phone .elementor-icon-list-icon i { color: var(--phx-pink); font-size: 12px; }
body .phx-head-phone .elementor-icon-list-icon svg { fill: var(--phx-pink); width: 12px; height: 12px; }

/* Menu (Elementor Pro > Menu de navigation) */
body .phx-nav .elementor-nav-menu--main .elementor-item {
	font-family: var(--phx-font);
	font-size: 14px;
	font-weight: 500;
	color: var(--phx-dark);
	fill: var(--phx-dark);
	padding: 14px 12px;
}
body .phx-nav .elementor-nav-menu--main .elementor-item:hover,
body .phx-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
body .phx-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { color: var(--phx-pink); }
body .phx-nav.e--pointer-underline .elementor-item::after,
body .phx-nav .e--pointer-underline .elementor-item::after { background-color: var(--phx-pink); height: 2px; }
body .phx-nav .elementor-nav-menu--dropdown { border-radius: 14px; box-shadow: var(--phx-shadow); overflow: hidden; }
body .phx-nav .elementor-nav-menu--dropdown a,
body .phx-nav .elementor-sub-item {
	font-size: 14px;
	color: var(--phx-dark);
	background: #fff;
}
body .phx-nav .elementor-nav-menu--dropdown a:hover,
body .phx-nav .elementor-nav-menu--dropdown a.elementor-item-active,
body .phx-nav .elementor-sub-item:hover { background: var(--phx-lightpink); color: var(--phx-pink); }
body .phx-nav .elementor-nav-menu--main .sub-menu { min-width: 290px; border-radius: 14px; overflow: hidden; box-shadow: var(--phx-shadow); }
body .phx-nav .elementor-menu-toggle { background: var(--phx-lightpink); color: var(--phx-pink); fill: var(--phx-pink); border-radius: 10px; }

/* Accueil : cartes des deux pôles ------------------------------------ */
body .elementor-section.phx-cats { padding-top: 0; }
body .phx-cat-card {
	border-radius: var(--phx-radius);
	background: linear-gradient(135deg, var(--phx-accent-soft) 0%, #fff 100%);
	padding: 30px 26px;
	height: 100%;
	box-shadow: var(--phx-shadow);
	overflow: hidden;
}
body .phx-cat-head .elementor-icon-box-title { margin: 6px 0 8px; }
body .phx-cat-head .elementor-icon-box-title,
body .phx-cat-head .elementor-icon-box-title a {
	color: var(--phx-accent);
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .01em;
}
body .phx-cat-head .elementor-icon-box-description { font-size: 14px; line-height: 1.6; }
body .phx-cat-img img { border-radius: 16px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }

/* Icônes rondes colorées (icon, icon-box) */
body .elementor-widget-icon-box.phx-cat-head .elementor-icon,
body .elementor-widget-icon-box.phx-group-head .elementor-icon,
body .elementor-widget-icon.phx-round-icon .elementor-icon {
	background: var(--phx-accent);
	color: #fff;
	fill: #fff;
	box-shadow: 0 10px 22px rgba(20, 24, 43, .12);
}
body .phx-cat-head .elementor-icon { font-size: 34px; padding: .6em; }
body .phx-round-icon .elementor-icon { font-size: 38px; padding: .62em; }
body .phx-icon-xl .elementor-icon { font-size: 44px; }
body .elementor-icon svg { fill: currentColor; }

/* Atouts / réassurance ------------------------------------------------ */
body .phx-feature .elementor-icon-box-wrapper { align-items: center; }
body .phx-feature .elementor-icon {
	font-size: 22px;
	padding: .75em;
	color: #fff;
	fill: #fff;
}
body .phx-feature .elementor-icon-box-icon { margin-right: 14px; }
body .phx-feature .elementor-icon-box-title { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; }
body .phx-feature .elementor-icon-box-description { margin: 2px 0 0; font-size: 13px; line-height: 1.45; color: #6A6F7C; }
body .phx-ic-pink   .elementor-icon { background: var(--phx-pink); }
body .phx-ic-orange .elementor-icon { background: var(--phx-orange); }
body .phx-ic-yellow .elementor-icon { background: var(--phx-yellow); }
body .phx-ic-green  .elementor-icon { background: var(--phx-green); }
body .phx-ic-blue   .elementor-icon { background: var(--phx-blue); }
body .phx-reassure .phx-feature .elementor-icon { background: transparent; color: var(--phx-pink); fill: var(--phx-pink); padding: .2em; font-size: 30px; }
body .elementor-section.phx-reassure > .elementor-container {
	border-top: 1px solid rgba(20, 24, 43, .07);
	padding-top: 30px;
}

/* Nos services : en-têtes de pôle + listes ---------------------------- */
body .phx-group-head .elementor-icon-box-wrapper { align-items: center; }
body .phx-group-head .elementor-icon { font-size: 40px; padding: .62em; }
body .phx-group-head .elementor-icon-box-title,
body .phx-group-head .elementor-icon-box-title a {
	margin: 0;
	color: var(--phx-accent);
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 700;
	text-transform: uppercase;
}
body .phx-group-head .elementor-icon-box-icon { margin-right: 18px; }
body .phx-group-head { margin-bottom: 18px; scroll-margin-top: 110px; }

body .phx-svc-list .elementor-icon-list-items { display: grid; gap: 12px; }
body .phx-svc-list .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
body .phx-svc-list .elementor-icon-list-item > a,
body .phx-svc-list .elementor-icon-list-item {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	text-decoration: none;
}
body .phx-svc-list .elementor-icon-list-item > a {
	background: var(--phx-accent-soft);
	border-radius: 14px;
	padding: 18px 50px 18px 22px;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
body .phx-svc-list .elementor-icon-list-item > a::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 9px; height: 9px;
	border-top: 2px solid var(--phx-accent);
	border-right: 2px solid var(--phx-accent);
	transform: translateY(-50%) rotate(45deg);
}
body .phx-svc-list .elementor-icon-list-item > a:hover {
	transform: translateX(4px);
	box-shadow: var(--phx-shadow);
	background: #fff;
}
body .phx-svc-list .elementor-icon-list-icon { width: 34px; margin-right: 18px; justify-content: center; }
body .phx-svc-list .elementor-icon-list-icon i { color: var(--phx-accent); font-size: 24px; }
body .phx-svc-list .elementor-icon-list-icon svg { fill: var(--phx-accent); width: 24px; height: 24px; }
body .phx-svc-list .elementor-icon-list-text { color: var(--phx-dark); font-weight: 600; font-size: 15px; padding: 0; }
body .phx-svc-list-grid .elementor-icon-list-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Page service : héros ------------------------------------------------ */
body .phx-svc-title { margin-bottom: 4px; }
body .phx-svc-title .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding-top: 0; padding-bottom: 0; }
body .phx-svc-icon-col > .elementor-widget-wrap { justify-content: flex-start; }

body .phx-checks .elementor-icon-list-item { padding: 5px 0 !important; }
body .phx-checks .elementor-icon-list-icon i { color: var(--phx-accent); font-size: 19px; }
body .phx-checks .elementor-icon-list-icon svg { fill: var(--phx-accent); width: 19px; height: 19px; }
body .phx-checks .elementor-icon-list-text { font-size: 15.5px; color: var(--phx-dark); padding-left: 10px; }
body .phx-checks { margin-bottom: 22px; }

body .phx-hero-media img {
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: 260px 32px 32px 260px;
	box-shadow: 0 30px 60px rgba(20, 24, 43, .14);
}
body .phx-hero-illu img { width: 100%; max-width: 560px; height: auto; }
body .phx-rounded-img img { border-radius: var(--phx-radius); box-shadow: var(--phx-shadow); width: 100%; }

/* Cartes réalisations ------------------------------------------------- */
body .phx-card .elementor-image-box-wrapper {
	background: #fff;
	border-radius: var(--phx-radius);
	box-shadow: var(--phx-shadow);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
	height: 100%;
}
body .phx-card .elementor-image-box-wrapper:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(20, 24, 43, .12); }
body .phx-card .elementor-image-box-img { margin: 0 !important; width: 100% !important; }
body .phx-card .elementor-image-box-img img { width: 100%; aspect-ratio: 9 / 7; object-fit: cover; }
body .phx-card .elementor-image-box-content { padding: 18px 22px 22px; text-align: left; }
body .phx-card .elementor-image-box-title { font-size: 17px; font-weight: 700; margin: 0 0 6px; }
body .phx-card .elementor-image-box-title a { color: var(--phx-dark); }
body .phx-card .elementor-image-box-description { font-size: 14px; margin: 0; color: #6A6F7C; }
body .elementor-section.phx-grid { padding-top: 14px; padding-bottom: 14px; }

/* Bandeau d'appel à l'action ------------------------------------------ */
body .phx-cta-band {
	border-radius: 28px;
	padding: 38px 34px;
	background: linear-gradient(120deg, var(--phx-pink) 0%, #FF4D7E 55%, var(--phx-orange) 130%);
	box-shadow: 0 20px 44px rgba(230, 0, 90, .25);
	overflow: hidden;
	position: relative;
}
body .phx-cta-band::after {
	content: "";
	position: absolute;
	width: 260px; height: 260px;
	border-radius: 50%;
	right: -80px; top: -120px;
	background: rgba(255, 255, 255, .12);
}
body .phx-cta-title .elementor-heading-title { color: #fff; font-size: clamp(24px, 2.6vw, 32px); font-weight: 800; }
body .phx-cta-text p { color: rgba(255, 255, 255, .92); margin: 8px 0 0; font-size: 16px; }
body .phx-cta-actions > .elementor-widget-wrap { justify-content: flex-end; align-items: center; }
body .phx-cta-actions .phx-btn { margin: 6px 0 6px 12px; }

/* Contact ------------------------------------------------------------- */
body .phx-contact-card > .elementor-widget-wrap,
body .phx-form-card > .elementor-widget-wrap {
	border-radius: var(--phx-radius);
	box-shadow: var(--phx-shadow);
	padding: 34px !important;
}
body .phx-contact-card > .elementor-widget-wrap { background: linear-gradient(160deg, var(--phx-lightpink), #fff 70%); }
body .phx-form-card > .elementor-widget-wrap { background: #fff; }
body .phx-card-title .elementor-heading-title { font-size: 22px; font-weight: 700; margin-bottom: 18px; }
body .phx-contact-list .elementor-icon-list-item { padding: 9px 0 !important; }
body .phx-contact-list .elementor-icon-list-icon {
	width: 40px; height: 40px;
	border-radius: 50%;
	background: #fff;
	box-shadow: var(--phx-shadow);
	justify-content: center;
}
body .phx-contact-list .elementor-icon-list-icon i { color: var(--phx-pink); font-size: 16px; }
body .phx-contact-list .elementor-icon-list-icon svg { fill: var(--phx-pink); width: 16px; height: 16px; }
body .phx-contact-list .elementor-icon-list-text { color: var(--phx-dark); font-weight: 500; padding-left: 14px; }
body .elementor-section.phx-contact { scroll-margin-top: 100px; }

body .phx-form .elementor-field-label { font-weight: 600; font-size: 14px; color: var(--phx-dark); margin-bottom: 6px; }
body .phx-form .elementor-field-group .elementor-field:not(.elementor-select-wrapper),
body .phx-form .elementor-field-group .elementor-select-wrapper select {
	border: 1.5px solid #E2E5EC;
	border-radius: 12px;
	background: #FAFBFD;
	font-family: var(--phx-font);
	font-size: 15px;
	padding: 12px 14px;
	color: var(--phx-dark);
}
body .phx-form .elementor-field-group .elementor-field:focus,
body .phx-form .elementor-select-wrapper select:focus {
	border-color: var(--phx-pink);
	box-shadow: 0 0 0 3px rgba(230, 0, 90, .12);
	outline: none;
	background: #fff;
}
body .phx-form .elementor-button {
	background: var(--phx-pink);
	border-radius: 999px;
	font-weight: 600;
	font-family: var(--phx-font);
	padding: 16px 28px;
	box-shadow: 0 8px 20px rgba(230, 0, 90, .22);
}
body .phx-form .elementor-button:hover { filter: brightness(1.05); }
body .phx-form .elementor-field-type-acceptance label { font-size: 13px; }

/* Pied de page -------------------------------------------------------- */
body .elementor-section.phx-footer {
	background: var(--phx-dark);
	padding: 60px 20px 30px;
	color: rgba(255, 255, 255, .72);
}
body .phx-foot-brand .elementor-heading-title { color: #fff; font-size: 26px; font-weight: 800; letter-spacing: .02em; }
body .phx-foot-brand span { color: var(--phx-pink); }
body .phx-foot-text p { font-size: 14px; line-height: 1.7; color: rgba(255, 255, 255, .7); }
body .phx-foot-title .elementor-heading-title { color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 14px; text-transform: uppercase; letter-spacing: .05em; }
body .phx-foot-links .elementor-icon-list-item,
body .phx-foot-contact .elementor-icon-list-item { padding: 4px 0 !important; }
body .phx-foot-links .elementor-icon-list-text,
body .phx-foot-contact .elementor-icon-list-text { color: rgba(255, 255, 255, .78); font-size: 14px; transition: color .2s; }
body .phx-foot-links a:hover .elementor-icon-list-text,
body .phx-foot-contact a:hover .elementor-icon-list-text { color: #fff; }
body .phx-foot-links .elementor-icon-list-icon i { color: var(--phx-pink); font-size: 10px; }
body .phx-foot-links .elementor-icon-list-icon svg { fill: var(--phx-pink); width: 10px; height: 10px; }
body .phx-foot-contact .elementor-icon-list-icon i { color: var(--phx-pink); font-size: 14px; }
body .phx-foot-contact .elementor-icon-list-icon svg { fill: var(--phx-pink); width: 14px; height: 14px; }
body .phx-footer .phx-btn { margin-top: 14px; }
body .elementor-section.phx-footer-bottom { background: var(--phx-dark); padding: 0 20px 26px; }
body .phx-footer-bottom > .elementor-container { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 18px; }
body .phx-foot-bottom-text p { margin: 0; font-size: 13px; color: rgba(255, 255, 255, .55); text-align: center; }
body .phx-foot-bottom-text a { color: rgba(255, 255, 255, .75); }
body .phx-foot-bottom-text a:hover { color: #fff; }

/* Tablette ------------------------------------------------------------ */
@media (max-width: 1024px) {
	body .phx-hero-media img { height: 420px; border-radius: 200px 28px 28px 200px; }
	body .phx-head-phone { display: none; }
	body .phx-cat-card { margin-bottom: 20px; }
	body .phx-cta-actions > .elementor-widget-wrap { justify-content: flex-start; }
	body .phx-cta-actions .phx-btn { margin: 14px 12px 0 0; }
}

/* Mobile -------------------------------------------------------------- */
@media (max-width: 767px) {
	body .elementor-section.phx-section { padding: 40px 16px; }
	body .elementor-section.phx-hero,
	body .elementor-section.phx-svc-hero { padding: 28px 16px 36px; }
	body .elementor-section.phx-page-head { padding: 36px 16px 8px; }
	body .elementor-section.phx-features { padding: 0 16px 28px; }
	body .phx-blobs::after { width: 240px; height: 240px; top: -110px; right: -120px; }
	body .phx-lead p { font-size: 16px; }
	body .phx-hero-illu img { max-width: 360px; margin: 18px auto 0; display: block; }
	body .phx-hero-media img { height: 260px; border-radius: 24px; margin-top: 24px; }
	body .phx-round-icon .elementor-icon { font-size: 28px; }
	body .phx-svc-list-grid .elementor-icon-list-items { grid-template-columns: 1fr; }
	body .phx-svc-groups .elementor-column + .elementor-column { margin-top: 26px; }
	body .phx-cta-band { padding: 30px 22px; border-radius: 22px; }
	body .phx-contact-card > .elementor-widget-wrap,
	body .phx-form-card > .elementor-widget-wrap { padding: 24px !important; }
	body .phx-form-card { margin-top: 20px; }
	body .phx-btn .elementor-button { padding: 15px 22px; }
	body .phx-logo img { width: 150px; }
	body .phx-footer .elementor-column + .elementor-column { margin-top: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	body .phx-btn .elementor-button,
	body .phx-svc-list .elementor-icon-list-item > a,
	body .phx-card .elementor-image-box-wrapper { transition: none; }
}
