/*
Theme Name: Plumco Child
Theme URI: http://themeforest.net/user/wpoceans/portfolio/
Author: wpoceans
Author URI: http://themeforest.net/user/wpoceans
Description: Plumco - Plumber WordPress Theme
Template:	plumco
Version: 1.0
Text Domain: plumco-child
*/

@media (min-width: 992px) {
	body.home .wpo-hero-section-1 > .container > .row > .col {
		width: auto;
	}
}

.page-wrap.padding-default {
	padding-top: 0 !important;
}

body.home .wpo-hero-section-text {
	margin-top: 100px;
	padding: 40px;
	background: #ffffff9e;
	border-radius: 30px;
}

.theme-btn, .theme-btn-s3, .theme-btn-s4 {
    text-transform: none !important;
}

.theme-btn {
	border: 2px solid #FFF !important;
}

.theme-btn:hover {
	border: 2px solid #0052da !important;
	color: #0052da !important;
	background: #FFF !important;
}

.about-section .about-thumnail img {
	border-radius: 30px;	
}

.about-section .wpo-about-text {
	margin-top: 80px;
}

.wpo-page-title {
	min-height: 300px !important;
}

.wpo-page-title:before {
	background: #253041 !important;
	opacity: 1 !important;
}

.coords i {
    color: #FFF;
}

.coords a {
	color: #d7d7d7;
}

.footer-logo img {
    padding: 10px;
    /*background: #FFF;*/
    max-height: 220px;
    width: auto;
    content: url('/wp-content/uploads/2026/06/logo-SVG-6cm-complet.png');
}

.services-list .wpo-service-img img {
    /*max-height: 260px;*/
}

.wpo-service-section .wpo-service-item {
    display: flex;
    flex-direction: column;
    height: 95%;
}

.wpo-service-section .wpo-service-item .wpo-service-text {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.wpo-service-section .wpo-service-item .wpo-service-text .readmore {
	margin-top: auto;
}







.service-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var( --e-global-color-primary ), #4F91FF);
    border-radius: 20px;
    display: flex;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3);
}

.service-icon p {
	font-size: 40px;
}

.urgence-plomberie p {
	color: #FFF;
}

/* UPDATES 11/02/2026 */

@media (min-width: 992px) {
	.wpo-site-header .navigation {
		background-color: transparent !important;
		box-shadow: 0 -15px 15px #086ad84a !important;
	}

	.wpo-site-header .navigation.sticky-on {
		background-color: #FFF !important;
	}

	.wpo-site-header .navigation ul>li>a {
		color: #FFF !important;
	}

	.wpo-site-header .navigation.sticky-on ul>li>a {
		color: inherit !important;
	}

	.wpo-site-header .navigation.sticky-on ul>li>a:hover {
		color: #FFF !important;
	}

	.wpo-site-header #navbar>ul>li .sub-menu a {
		color: #253041 !important;
	}

	/* Page CGV : menu sombre sur fond blanc */
	.page-id-1769 .wpo-site-header .navigation ul>li>a {
		color: #253041 !important;
	}
	.page-id-1769 .wpo-site-header .navigation ul>li>a:hover,
	.page-id-1769 .wpo-site-header .navigation ul>li>a.active {
		color: #FFF !important;
	}
	.page-id-1769 .wpo-site-header .navigation {
		background-color: #FFF;
	}
	.page-id-1769 .topbar {
		background-color: #253041;
	}

	.topbar {
		position: relative;
		z-index: 1;
	}

	.wpo-hero-slider .slide-inner .slide-content {
		padding-top: 190px;
	}

	/*.navbar-header {
		background: #FFF;
	}*/
}

/* Hover animation sur les services */
.wpo-service-img {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.wpo-service-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: filter 0.4s ease;
}

.wpo-service-item:hover .wpo-service-img img {
	filter: brightness(0.6);
}

.wpo-service-img .service-svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 200px;
	height: 200px;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
	z-index: 10;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

.wpo-service-item:hover .service-svg {
	opacity: 1;
}

/* Vidéo hover sur les services */
.wpo-service-img .service-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
	z-index: 5;
}

.wpo-service-item:hover .service-video {
	opacity: 1;
}

/* Version 1 : Flux continu */
.water-stream {
	animation: streamFlow 2s ease-in-out infinite;
}

@keyframes streamFlow {
	0%, 100% {
		opacity: 0.3;
		stroke-width: 3;
	}
	50% {
		opacity: 0.9;
		stroke-width: 6;
	}
}

.splash {
	animation: splashBounce 1.5s ease-out infinite;
}

@keyframes splashBounce {
	0%, 100% {
		transform: scale(0);
		opacity: 0;
	}
	50% {
		transform: scale(1.5);
		opacity: 0.8;
	}
}

/* Version 2 : Grosses gouttes */
.big-drop {
	animation: bigDropFall 2.1s ease-in infinite;
	transform-origin: center;
}

@keyframes bigDropFall {
	0% {
		opacity: 0;
		transform: translateY(0) scaleY(0.5);
	}
	10% {
		opacity: 1;
		transform: translateY(5px) scaleY(1);
	}
	80% {
		opacity: 1;
		transform: translateY(35px) scaleY(1.2);
	}
	100% {
		opacity: 0;
		transform: translateY(45px) scaleY(0.3);
	}
}

/* Version 3 : Jet puissant */
.water-jet {
	animation: jetPulse 1.5s ease-in-out infinite;
}

@keyframes jetPulse {
	0%, 100% {
		opacity: 0.6;
		transform: scaleY(0.95);
	}
	50% {
		opacity: 1;
		transform: scaleY(1.05);
	}
}

.bubble {
	animation: bubbleRise 2s ease-out infinite;
}

@keyframes bubbleRise {
	0% {
		transform: translateY(0);
		opacity: 0;
	}
	50% {
		opacity: 0.8;
	}
	100% {
		transform: translateY(-30px);
		opacity: 0;
	}
}

.puddle {
	animation: puddleGrow 2s ease-in-out infinite;
}

@keyframes puddleGrow {
	0%, 100% {
		transform: scaleX(0.9);
		opacity: 0.2;
	}
	50% {
		transform: scaleX(1.1);
		opacity: 0.4;
	}
}

/* Animation Flammes (Tubage/Ramonage) */
.flame {
	animation: flameFlicker 0.8s ease-in-out infinite alternate;
	transform-origin: bottom center;
}

@keyframes flameFlicker {
	0% {
		transform: scaleY(1) scaleX(1);
		opacity: 0.9;
	}
	50% {
		transform: scaleY(1.1) scaleX(0.95);
		opacity: 1;
	}
	100% {
		transform: scaleY(0.95) scaleX(1.05);
		opacity: 0.85;
	}
}

.ember {
	animation: emberFloat 2s ease-in-out infinite;
}

@keyframes emberFloat {
	0% {
		transform: translateY(0) scale(1);
		opacity: 1;
	}
	50% {
		transform: translateY(-10px) scale(0.8);
		opacity: 0.6;
	}
	100% {
		transform: translateY(-20px) scale(0.5);
		opacity: 0;
	}
}

/* Animation Extincteur (Prévention incendie) */
.spray {
	animation: sprayBurst 1.5s ease-out infinite;
}

@keyframes sprayBurst {
	0% {
		transform: translate(0, 0) scale(0.5);
		opacity: 0;
	}
	30% {
		opacity: 0.8;
	}
	100% {
		transform: translate(15px, -10px) scale(1.5);
		opacity: 0;
	}
}

/* Animation Flamme de gaz */
.gas-flame {
	animation: gasFlameWave 1s ease-in-out infinite alternate;
	transform-origin: bottom center;
}

.gas-flame-inner {
	animation: gasFlameWave 0.8s ease-in-out infinite alternate;
	transform-origin: bottom center;
}

@keyframes gasFlameWave {
	0% {
		transform: scaleY(1) skewX(0deg);
	}
	50% {
		transform: scaleY(1.05) skewX(2deg);
	}
	100% {
		transform: scaleY(0.98) skewX(-2deg);
	}
}

/* Animation Gouttes d'eau (Traitement des eaux) */
.water-drop {
	animation: waterDropBounce 2s ease-in-out infinite;
	transform-origin: top center;
}

@keyframes waterDropBounce {
	0%, 100% {
		transform: translateY(0) scaleY(1);
	}
	30% {
		transform: translateY(5px) scaleY(0.95);
	}
	50% {
		transform: translateY(0) scaleY(1.02);
	}
	70% {
		transform: translateY(3px) scaleY(0.98);
	}
}

.sparkle {
	animation: sparkleShine 1.5s ease-in-out infinite;
}

@keyframes sparkleShine {
	0%, 100% {
		transform: scale(1);
		opacity: 0.8;
	}
	50% {
		transform: scale(1.5);
		opacity: 1;
	}
}

/* Animation Débouchage */
.bubble-plunge {
	animation: bubblePlungeRise 1.8s ease-out infinite;
}

@keyframes bubblePlungeRise {
	0% {
		transform: translateY(0) scale(1);
		opacity: 0;
	}
	20% {
		opacity: 0.8;
	}
	100% {
		transform: translateY(-30px) scale(0.5);
		opacity: 0;
	}
}

.plunge-action {
	animation: plungeMove 0.8s ease-in-out infinite;
}

@keyframes plungeMove {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(5px);
	}
}

/* Animation Chauffage (ondes de chaleur) */
.heat-wave {
	animation: heatWaveRise 2s ease-in-out infinite;
	transform-origin: bottom center;
}

@keyframes heatWaveRise {
	0% {
		transform: translateY(0) scaleY(0.8);
		opacity: 0;
	}
	30% {
		opacity: 0.8;
	}
	100% {
		transform: translateY(-15px) scaleY(1.2);
		opacity: 0;
	}
}

/* =============================================
   Widget Elementor : Réalisation en vedette
   ============================================= */

.featured-realisation-wrapper {
	--fr-height: 400px;
	--fr-radius: 8px;
	--fr-glow-color: #0052da;
	--fr-glow-intensity: 20px;
	--fr-frame-color: #0052da;
	--fr-frame-width: 4px;
	--fr-overlay-color: rgba(0, 82, 218, 0.85);
	--fr-badge-color: #0052da;

	position: relative;
	overflow: hidden;
	border-radius: var(--fr-radius);
	height: var(--fr-height);
}

.featured-realisation-wrapper.larger-size {
	grid-column: span 2;
}

.featured-realisation-link {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.featured-realisation-image {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.featured-realisation-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease, filter 0.4s ease;
}

.featured-realisation-wrapper:hover .featured-realisation-image img {
	transform: scale(1.1);
	filter: brightness(0.7);
}

/* Cadre coloré */
.featured-realisation-wrapper.has-frame {
	border: var(--fr-frame-width) solid var(--fr-frame-color);
}

/* Effet Glow */
.featured-realisation-wrapper.has-glow {
	animation: glowPulse 2s ease-in-out infinite;
}

@keyframes glowPulse {
	0%, 100% {
		box-shadow: 0 0 var(--fr-glow-intensity) var(--fr-glow-color);
	}
	50% {
		box-shadow: 0 0 calc(var(--fr-glow-intensity) * 2) var(--fr-glow-color);
	}
}

/* Badge */
.featured-realisation-badge {
	position: absolute;
	background-color: var(--fr-badge-color);
	color: #fff;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	z-index: 10;
	padding: 8px 15px;
}

/* Positions du badge */
.badge-top-left {
	top: 15px;
	left: 15px;
}

.badge-top-right {
	top: 15px;
	right: 15px;
}

.badge-bottom-left {
	bottom: 15px;
	left: 15px;
}

.badge-bottom-right {
	bottom: 15px;
	right: 15px;
}

/* Styles du badge */
.badge-rectangle {
	border-radius: 4px;
}

.badge-circle {
	border-radius: 50%;
	width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 10px;
	line-height: 1.2;
}

.badge-ribbon {
	padding: 8px 20px 8px 15px;
	clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%);
}

.badge-ribbon.badge-top-right,
.badge-ribbon.badge-bottom-right {
	clip-path: polygon(10% 0, 100% 0, 100% 100%, 10% 100%, 0 50%);
	padding: 8px 15px 8px 20px;
}

/* Overlay */
.featured-realisation-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--fr-overlay-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.4s ease;
	text-align: center;
	padding: 20px;
}

.featured-realisation-wrapper:hover .featured-realisation-overlay {
	opacity: 1;
}

.featured-realisation-overlay .overlay-title {
	color: #fff;
	font-size: 22px;
	margin: 0 0 10px 0;
	transform: translateY(20px);
	transition: transform 0.4s ease;
}

.featured-realisation-wrapper:hover .overlay-title {
	transform: translateY(0);
}

.featured-realisation-overlay .overlay-description {
	color: #fff;
	font-size: 14px;
	margin: 0 0 15px 0;
	opacity: 0.9;
	transform: translateY(20px);
	transition: transform 0.4s ease 0.05s;
}

.featured-realisation-wrapper:hover .overlay-description {
	transform: translateY(0);
}

.featured-realisation-overlay .overlay-text {
	color: #fff;
	font-size: 14px;
	padding: 10px 25px;
	border: 2px solid #fff;
	border-radius: 30px;
	transform: translateY(20px);
	transition: transform 0.4s ease 0.1s, background-color 0.3s ease, color 0.3s ease;
}

.featured-realisation-wrapper:hover .overlay-text {
	transform: translateY(0);
}

.featured-realisation-overlay .overlay-text:hover {
	background-color: #fff;
	color: var(--fr-overlay-color);
}

/* =============================================
   Widget Elementor : Carousel Réalisations
   ============================================= */

.realisations-carousel-wrapper {
	--rc-height: 350px;
	--rc-radius: 8px;
	--rc-nav-color: #0052da;
	--rc-badge-color: #0052da;
	--rc-overlay-color: rgba(0, 82, 218, 0.85);
	--rc-glow-color: #0052da;
	--rc-glow-intensity: 20px;
	--rc-frame-color: #0052da;
	--rc-frame-width: 4px;

	position: relative;
	padding: 20px;
	margin: -20px;
	overflow: hidden;
}

.realisations-carousel-wrapper .swiper {
	overflow: visible;
	padding: 0;
}

.realisations-carousel-wrapper .swiper-wrapper {
	align-items: stretch !important;
}

.realisations-carousel-wrapper .swiper-slide.realisation-slide {
	height: var(--rc-height) !important;
	min-height: var(--rc-height) !important;
	max-height: var(--rc-height) !important;
	border-radius: var(--rc-radius);
	overflow: hidden;
	position: relative;
}

.realisation-slide.has-frame {
	border: var(--rc-frame-width) solid var(--rc-frame-color);
}

.realisation-slide.has-glow {
	animation: carouselGlowPulse 2s ease-in-out infinite;
}

@keyframes carouselGlowPulse {
	0%, 100% {
		box-shadow: 0 0 var(--rc-glow-intensity) var(--rc-glow-color);
	}
	50% {
		box-shadow: 0 0 calc(var(--rc-glow-intensity) * 2) var(--rc-glow-color);
	}
}

.realisation-slide-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

.realisation-slide-image {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
}

.realisation-slide-image img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	transition: transform 0.5s ease, filter 0.4s ease;
}

.realisation-slide:hover .realisation-slide-image img {
	transform: scale(1.1);
	filter: brightness(0.7);
}

/* Badge Carousel */
.realisation-badge {
	position: absolute;
	background-color: var(--rc-badge-color);
	color: #fff;
	font-weight: 600;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	z-index: 10;
	padding: 6px 12px;
}

/* Overlay Carousel */
.realisation-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--rc-overlay-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.4s ease;
	text-align: center;
	padding: 20px;
}

.realisation-slide:hover .realisation-overlay {
	opacity: 1;
}

.realisation-overlay .overlay-title {
	color: #fff;
	font-size: 20px;
	margin: 0 0 8px 0;
	transform: translateY(20px);
	transition: transform 0.4s ease;
}

.realisation-slide:hover .overlay-title {
	transform: translateY(0);
}

.realisation-overlay .overlay-description {
	color: #fff;
	font-size: 13px;
	margin: 0 0 12px 0;
	opacity: 0.9;
	transform: translateY(20px);
	transition: transform 0.4s ease 0.05s;
}

.realisation-slide:hover .overlay-description {
	transform: translateY(0);
}

.realisation-overlay .overlay-button {
	color: #fff;
	font-size: 13px;
	padding: 8px 20px;
	border: 2px solid #fff;
	border-radius: 30px;
	transform: translateY(20px);
	transition: transform 0.4s ease 0.1s, background-color 0.3s ease, color 0.3s ease;
}

.realisation-slide:hover .overlay-button {
	transform: translateY(0);
}

.realisation-overlay .overlay-button:hover {
	background-color: #fff;
	color: var(--rc-overlay-color);
}

/* Navigation Carousel */
.realisations-carousel-wrapper .swiper-button-prev,
.realisations-carousel-wrapper .swiper-button-next {
	color: var(--rc-nav-color);
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0,0,0,0.15);
	transition: all 0.3s ease;
}

.realisations-carousel-wrapper .swiper-button-prev:hover,
.realisations-carousel-wrapper .swiper-button-next:hover {
	background: var(--rc-nav-color);
	color: #fff;
}

.realisations-carousel-wrapper .swiper-button-prev::after,
.realisations-carousel-wrapper .swiper-button-next::after {
	font-size: 18px;
	font-weight: bold;
}

.realisations-carousel-wrapper .swiper-button-prev {
	left: 10px;
}

.realisations-carousel-wrapper .swiper-button-next {
	right: 10px;
}

/* Mode pleine largeur service */
.service-single-section.service-fullwidth {
	padding: 0;
}

/* ===========================================
   Shortcode : Page Sanitaire [svgs_sanitaire]
   =========================================== */

/* --- Hero --- */
.svgs-san-hero {
	position: relative;
	min-height: 420px;
	background-size: cover;
	background-position: center;
	background-color: #253041;
	display: flex;
	align-items: center;
}

/* Hero variante vidéo */
.svgs-san-hero--video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.svgs-san-hero--video .svgs-san-hero-overlay {
	z-index: 1;
}

.svgs-san-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(37,48,65,0.82) 0%, rgba(0,82,218,0.55) 100%);
	display: flex;
	align-items: center;
	width: 100%;
}

.svgs-san-hero-content {
	padding: 80px 15px;
	color: #fff;
	max-width: 640px;
}

.svgs-san-eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.7);
	margin-bottom: 12px;
}

.svgs-san-hero-content h1 {
	font-size: 52px;
	color: #fff;
	margin-bottom: 0;
	line-height: 1.1;
}

.svgs-san-hero-divider {
	width: 60px;
	height: 3px;
	background: #0052da;
	margin: 20px 0;
}

.svgs-san-hero-content p {
	font-size: 17px;
	color: rgba(255,255,255,0.88);
	margin-bottom: 32px;
	line-height: 1.7;
}

/* --- Sections alternées --- */
.svgs-san-section {
	padding: 80px 0;
}

.svgs-san-section--alt {
	background: #f4f7fb;
}

.svgs-san-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.svgs-san-row--reverse {
	direction: rtl;
}

.svgs-san-row--reverse > * {
	direction: ltr;
}

@media (max-width: 900px) {
	.svgs-san-row,
	.svgs-san-row--reverse { grid-template-columns: 1fr; direction: ltr; }
	.svgs-san-hero-content h1 { font-size: 36px; }
}

/* --- Texte --- */
.svgs-san-text h2 {
	font-size: 34px;
	color: #253041;
	margin-bottom: 16px;
	position: relative;
	padding-bottom: 16px;
}

.svgs-san-text h2::after {
	content: '';
	display: block;
	width: 48px;
	height: 3px;
	background: #0052da;
	position: absolute;
	bottom: 0;
	left: 0;
}

.svgs-san-text p {
	color: #555;
	line-height: 1.8;
	margin-bottom: 20px;
}

/* --- Liste services --- */
.svgs-san-list {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 20px;
}

.svgs-san-list li {
	font-size: 14px;
	color: #444;
	display: flex;
	align-items: center;
	gap: 8px;
}

.svgs-san-list li .fa {
	color: #0052da;
	font-size: 12px;
	flex-shrink: 0;
}

.svgs-san-list--single {
	grid-template-columns: 1fr;
}

.svgs-san-brands {
	font-size: 14px;
	color: #666;
	padding: 16px;
	background: #f4f7fb;
	border-left: 3px solid #0052da;
	border-radius: 0 8px 8px 0;
}

/* --- Badge Cerga --- */
.svgs-san-cerga {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	background: #f4f7fb;
	border-left: 3px solid #0052da;
	border-radius: 0 8px 8px 0;
	margin-top: 8px;
}

.svgs-san-cerga-logo {
	height: 56px;
	width: auto;
	flex-shrink: 0;
	object-fit: contain;
}

.svgs-san-cerga div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.svgs-san-cerga strong {
	font-size: 15px;
	color: #1e293b;
}

.svgs-san-cerga span {
	font-size: 13px;
	color: #666;
}

/* --- Téléphone --- */
.svgs-san-cta-phone {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 24px 0;
	padding: 18px 24px;
	background: #253041;
	border-radius: 10px;
	width: fit-content;
}

.svgs-san-cta-phone .fa {
	font-size: 22px;
	color: #0052da;
}

.svgs-san-cta-phone a {
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	letter-spacing: 1px;
}

/* --- Pills --- */
.svgs-san-pills {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 16px 0 20px;
}

.svgs-san-pills span {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #0052da;
	background: rgba(0,82,218,0.08);
	padding: 6px 14px;
	border-radius: 20px;
}

/* --- Lien --- */
.svgs-san-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	padding: 14px 32px;
	background: #0052da;
	color: #fff !important;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	border-radius: 4px;
	border: 2px solid #0052da;
	transition: background 0.2s ease, color 0.2s ease, gap 0.2s ease;
}

.svgs-san-link:hover {
	background: #fff;
	color: #0052da !important;
	gap: 14px;
}

/* --- Media (image) --- */
.svgs-san-media {
	border-radius: 14px;
	overflow: hidden;
}

.svgs-san-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 14px;
	max-height: 460px;
}

/* --- Détecteurs : layout pleine largeur --- */
.svgs-san-detectors {
	max-width: 780px;
	margin: 0 auto;
}

.svgs-san-detectors h2 {
	text-align: center;
	margin-bottom: 14px;
}

.svgs-san-detectors > p {
	margin-bottom: 24px;
}

.svgs-san-detectors__note {
	font-size: 14px;
	color: #666;
	margin-top: 8px;
}

/* --- Placeholder --- */
.svgs-placeholder {
	background: #eef2f7;
	border: 2px dashed #c0cfe0;
	border-radius: 14px;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: #90a4be;
}

.svgs-placeholder .fa { font-size: 40px; }
.svgs-placeholder span { font-size: 13px; text-align: center; line-height: 1.6; }

/* --- Mini slider (Recherche de fuite) --- */
.svgs-san-slider {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	background: #000;
}

.svgs-san-slider-track {
	display: flex;
	transition: transform 0.45s ease;
}

.svgs-san-slider-slide {
	flex: 0 0 100%;
}

.svgs-san-slider-slide img {
	width: 100%;
	height: 380px;
	object-fit: cover;
	display: block;
}

.svgs-san-slider-prev,
.svgs-san-slider-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,0.9);
	border: none;
	border-radius: 50%;
	width: 42px;
	height: 42px;
	font-size: 26px;
	cursor: pointer;
	z-index: 10;
	color: #253041;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
	transition: background 0.3s, color 0.3s;
}

.svgs-san-slider-prev { left: 12px; }
.svgs-san-slider-next { right: 12px; }

.svgs-san-slider-prev:hover,
.svgs-san-slider-next:hover {
	background: #0052da;
	color: #fff;
}

.svgs-san-slider-dots {
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
}

.svgs-san-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255,255,255,0.5);
	border: none;
	cursor: pointer;
	padding: 0;
	transition: background 0.3s, transform 0.3s;
}

.svgs-san-dot.active {
	background: #fff;
	transform: scale(1.3);
}

/* --- Blocs avantage (icône + titre + texte) --- */
.svgs-san-avantages {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 20px 0 24px;
}

.svgs-san-avantage {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: #f4f7fb;
	border-left: 3px solid #0052da;
	border-radius: 6px;
	padding: 14px 16px;
}

.svgs-san-avantage > i {
	color: #0052da;
	font-size: 18px;
	margin-top: 2px;
	flex-shrink: 0;
}

.svgs-san-avantage > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.svgs-san-avantage strong {
	font-size: 15px;
	color: #1e293b;
}

.svgs-san-avantage span {
	font-size: 14px;
	color: #555;
	line-height: 1.5;
}

/* --- CTA Banner --- */
.svgs-san-cta-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: stretch;
}

.svgs-san-cta-banner > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.svgs-san-cta-banner h2 {
	margin: 0 0 1.25rem;
}

.svgs-san-cta-banner p {
	margin: 0;
	color: #555;
	font-size: 1rem;
	line-height: 1.7;
}

.svgs-san-cta-buttons {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	align-items: center;
}

.svgs-san-cta-buttons .theme-btn--dark {
	display: inline-block;
	padding: 18px 40px;
	background: #1e293b;
	color: #fff !important;
	font-weight: 600;
	font-size: 16px;
	font-family: "Manrope", sans-serif;
	border-radius: 8px;
	text-decoration: none;
	letter-spacing: 1px;
	transition: background .2s;
}

.svgs-san-cta-buttons .theme-btn--dark:hover {
	background: #0f172a;
}

@media (max-width: 900px) {
	.svgs-san-cta-banner {
		grid-template-columns: 1fr;
	}
}

/* Pages Service & Contact : header forcé en bleu foncé */
body.single-service .wpo-site-header .navigation,
body.page-id-19 .wpo-site-header .navigation,
body.page-id-1653 .wpo-site-header .navigation,
body.page-id-1645 .wpo-site-header .navigation {
    background-color: #253041 !important;
    border-bottom: 2px solid #FFF !important;
    box-shadow: 0 -15px 15px #086ad84a !important;
}

body.single-service .wpo-site-header .navigation.sticky-on,
body.page-id-19 .wpo-site-header .navigation.sticky-on,
body.page-id-1653 .wpo-site-header .navigation.sticky-on,
body.page-id-1645 .wpo-site-header .navigation.sticky-on {
    background-color: #253041 !important;
}

body.single-service .wpo-site-header .navigation.sticky-on ul > li > a,
body.page-id-19 .wpo-site-header .navigation.sticky-on ul > li > a,
body.page-id-1653 .wpo-site-header .navigation.sticky-on ul > li > a,
body.page-id-1645 .wpo-site-header .navigation.sticky-on ul > li > a {
    color: #FFF !important;
}

/* Pagination Carousel */
.realisations-carousel-wrapper .swiper-pagination {
	position: relative;
	margin-top: 20px;
}

.realisations-carousel-wrapper .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #ccc;
	opacity: 1;
	transition: all 0.3s ease;
}

.realisations-carousel-wrapper .swiper-pagination-bullet-active {
	background: var(--rc-nav-color);
	transform: scale(1.2);
}

/* Responsive */
@media (max-width: 768px) {
	.realisations-carousel-wrapper {
		padding: 0 10px;
	}

	.realisations-carousel-wrapper .swiper-button-prev,
	.realisations-carousel-wrapper .swiper-button-next {
		display: none;
	}
}

/* ── Sélecteur de langue topbar ─────────────────────── */
.topbar > .container-fluid > .row > .col.col-md-5 {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.svgs-lang-switcher {
	display: inline-flex;
	align-items: center;
	margin-right: 10px;
}
.svgs-lang-switcher ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}
.svgs-lang-switcher ul li {
	display: inline-block;
}
.svgs-lang-switcher ul li a {
	display: block;
	opacity: 0.5;
	transition: opacity 0.2s;
	text-decoration: none;
	color: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
}
.svgs-lang-switcher ul li.current-lang a {
	opacity: 1;
}
.svgs-lang-switcher ul li a:hover {
	opacity: 1;
}
