/*
Theme Name: 1pro1site
Author: 1pro1site
Version: 1.0
Text Domain: 1pro1site
*/

/* ========== Base ========== */
:root{
	--bg: #f4efe6;           /* beige */
	--text: #0f172a;
	--blue: #0b2a57;
	--card: rgba(255,255,255,0.62);
	--border: rgba(11,42,87,0.18);
	--shadow: 0 10px 30px rgba(0,0,0,0.08);
}

*{ box-sizing: border-box; }

html, body{
	height: 100%;
}

body{
	margin: 0;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	background: var(--bg);
	color: var(--text);
}

/* ========== Header layout ========== */
.site-header{
	padding: 22px 18px 10px;
}

.header-inner{
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 34px; /* <-- espace pour éviter “collé” au logo */
}

.header-card{
	background: var(--card);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 16px;
	box-shadow: var(--shadow);
	padding: 14px 16px;
	backdrop-filter: blur(6px);
}

.header-card__title{
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 800;
	color: var(--text);
}

.header-list{
	margin: 0;
	padding: 0 0 0 18px;
	font-size: 12px;
	line-height: 1.5;
}

.header-brand{
	text-align: center;
	max-width: 520px;
}

.header-logo .custom-logo-link{
	display: inline-block;
	line-height: 0;
}

.header-logo .custom-logo{
	width: min(360px, 70vw);
	height: auto;
	max-height: 220px;
	object-fit: contain;
}

.header-tagline{
	margin: 12px 0 0;
	font-weight: 900;
	font-size: clamp(18px, 2.1vw, 30px);
	line-height: 1.15;
	color: var(--blue);
	letter-spacing: -0.02em;
}

/* Compte */
.header-account-links{
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.header-account-links a{
	font-size: 12px;
	font-weight: 700;
	color: var(--blue);
	text-decoration: none;
}

.header-account-links a:hover{
	text-decoration: underline;
}

/* ========== Subnav (hors home) ========== */
.subnav{
	margin: 14px auto 0;
	max-width: 1200px;
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.pill{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 800;
	font-size: 13px;
	background: rgba(255,255,255,0.55);
	border: 1px solid var(--border);
	color: var(--blue);
	box-shadow: 0 6px 16px rgba(0,0,0,0.06);
}

.pill:hover{
	background: rgba(255,255,255,0.80);
}

/* ========== Home content ========== */
.site-main{
	min-height: calc(100vh - 220px);
}

.home-content{
	padding: 22px 18px 70px;
}

.home-wrap{
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.home-cta{
	margin: 8px 0 26px;
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

/* Buttons */
.btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 18px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 900;
	line-height: 1;
	transition: transform .08s ease, background-color .15s ease, border-color .15s ease;
}

.btn:focus{
	outline: 2px solid var(--blue);
	outline-offset: 3px;
}

.btn:hover{
	transform: translateY(-1px);
}

.btn-primary{
	background: var(--blue);
	color: #fff;
	border: 1px solid var(--blue);
}

.btn-primary:hover{
	background: #082145;
	border-color: #082145;
}

.btn-secondary{
	background: rgba(255,255,255,0.62);
	color: var(--blue);
	border: 1px solid rgba(11,42,87,0.28);
	backdrop-filter: blur(6px);
}

.btn-secondary:hover{
	background: rgba(255,255,255,0.82);
}

.home-text{
	max-width: 860px;
	margin: 0 auto;
	font-size: clamp(16px, 1.25vw, 20px);
	line-height: 1.8;
}

.home-text p{
	margin: 0 0 16px;
}

.home-lead{
	font-weight: 800;
}

/* ========== Footer (toujours bas + centré) ========== */
.site-footer{
	padding: 24px 18px 34px;
}

.footer-links{
	display: flex;
	justify-content: center;   /* centré par rapport à la longueur */
	gap: 12px;
	flex-wrap: wrap;
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
}

.footer-links a{
	font-size: 12px;
	font-weight: 700;
	color: var(--blue);
	text-decoration: none;
}

.footer-links a:hover{
	text-decoration: underline;
}

/* ========== Responsive ========== */
@media (max-width: 980px){
	.header-inner{
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 16px;
	}
	.header-card{
		width: min(520px, 92vw);
	}
	.header-brand{
		max-width: 92vw;
	}
}

@media (max-width: 520px){
	.btn{ width: 100%; max-width: 360px; }
}
/* =========================================================
   HOME — layout 2 colonnes : menu gauche + contenu centre
   ========================================================= */

.home-grid{
	max-width: 1200px;
	display: grid;
	grid-template-columns: 360px 1fr;
	gap: 22px;
	align-items: start;
}

/* Colonne gauche */
.home-side{
	display: grid;
	gap: 14px;
}

/* Tous les cadres même taille */
.side-card{
	background: var(--card);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 16px;
	box-shadow: var(--shadow);
	padding: 14px 14px;
	backdrop-filter: blur(6px);
	min-height: 98px;           /* <-- taille identique */
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.side-btn{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 12px 14px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 900;
	color: #fff;
	background: var(--blue);
	border: 1px solid var(--blue);
}

.side-btn:hover{
	background: #082145;
	border-color: #082145;
}

.side-title{
	font-weight: 900;
	color: var(--blue);
	margin-bottom: 6px;
}

.side-sub{
	margin: 2px 0 0;
	font-size: 12px;
	line-height: 1.35;
	opacity: 0.9;
}

.side-price{
	margin: 8px 0 0;
	font-weight: 900;
	color: var(--text);
}

.side-note{
	margin: 6px 0 0;
	font-size: 12px;
	opacity: 0.85;
}

.side-link{
	margin-top: 10px;
	font-weight: 900;
	color: var(--blue);
	text-decoration: none;
}

.side-link:hover{
	text-decoration: underline;
}

/* Colonne droite */
.home-main{
	text-align: center;
}

.home-text{
	max-width: 860px;
	margin: 0 auto;
}

/* Responsive */
@media (max-width: 980px){
	.home-grid{
		grid-template-columns: 1fr;
	}
	.side-card{
		min-height: auto; /* sur mobile on laisse respirer */
	}
}
/* =========================================================
   PAGE MINISITE
   ========================================================= */

.offer-page{
	padding: 32px 20px 70px;
}

.offer-page__inner{
	max-width: 1100px;
	margin: 0 auto;
}

.offer-page__header{
	text-align: center;
	margin-bottom: 24px;
}

.offer-page__title{
	margin: 0 0 10px;
	font-size: clamp(30px, 3.2vw, 52px);
	line-height: 1.08;
	font-weight: 900;
	color: var(--blue);
	letter-spacing: -0.02em;
}

.offer-page__subtitle{
	margin: 0;
	font-size: clamp(18px, 1.6vw, 24px);
	font-weight: 700;
	color: var(--text);
}

.offer-columns{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 20px;
}

.offer-card{
	background: var(--card);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 20px;
	box-shadow: var(--shadow);
	margin-bottom: 20px;
	backdrop-filter: blur(6px);
}

.offer-card__content{
	padding: 22px 22px;
}

.offer-card__title{
	margin: 0 0 14px;
	font-size: clamp(20px, 1.6vw, 28px);
	line-height: 1.2;
	font-weight: 900;
	color: var(--blue);
}

.offer-price{
	margin: 0 0 14px;
	font-size: clamp(24px, 2vw, 34px);
	font-weight: 900;
	color: var(--blue);
}

.offer-list{
	margin: 0;
	padding-left: 20px;
	line-height: 1.7;
}

.offer-option-name{
	margin: 0 0 8px;
	font-weight: 800;
	color: var(--blue);
}

.offer-option-price{
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 900;
	color: var(--text);
}

.offer-quote{
	margin: 16px 0;
	padding: 14px 16px;
	border-left: 4px solid var(--blue);
	background: rgba(255,255,255,0.45);
	border-radius: 12px;
	font-style: italic;
}

.offer-note{
	margin-top: 16px;
	font-size: 14px;
	line-height: 1.65;
}

.offer-email-box{
	margin-top: 16px;
	padding: 16px;
	border-radius: 16px;
	background: rgba(255,255,255,0.45);
	border: 1px solid rgba(11,42,87,0.12);
}

.offer-actions{
	margin: 18px 0 0;
	text-align: center;
}

@media (max-width: 800px){
	.offer-columns{
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   HOME 3 COLONNES — SERVICES / CENTRE / OFFRES
   ========================================================= */

.home-layout{
	max-width: 1500px;
	margin: 0 auto;
	padding: 28px 24px 70px;
	display: grid;
	grid-template-columns: 320px minmax(520px, 1fr) 320px;
	gap: 28px;
	align-items: start;
}

.home-col{
	min-width: 0;
}

.home-col--left,
.home-col--right{
	display: grid;
	gap: 14px;
}

/* Colonne centre */
.home-col--center{
	text-align: center;
}

.home-cta{
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.home-text{
	max-width: 760px;
	margin: 0 auto;
	font-size: clamp(17px, 1.15vw, 21px);
	line-height: 1.8;
	color: var(--text);
}

.home-text p{
	margin: 0 0 18px;
}

.home-lead{
	font-weight: 800;
}

/* Boutons principaux */
.btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 18px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 900;
	line-height: 1;
	transition: transform .08s ease, background-color .15s ease, border-color .15s ease;
}

.btn:hover{
	transform: translateY(-1px);
}

.btn-primary{
	background: var(--blue);
	color: #fff;
	border: 1px solid var(--blue);
}

.btn-secondary{
	background: rgba(255,255,255,0.62);
	color: var(--blue);
	border: 1px solid rgba(11,42,87,0.28);
}

/* Cartes services */
.service-card{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	min-height: 108px;
	padding: 14px;
	background: var(--card);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 18px;
	box-shadow: var(--shadow);
	text-decoration: none;
	backdrop-filter: blur(6px);
}

.service-card__button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 12px 14px;
	border-radius: 999px;
	background: var(--blue);
	color: #fff;
	font-weight: 900;
	text-align: center;
}

.service-card__meta{
	font-size: 12px;
	color: var(--text);
	text-align: center;
	opacity: 0.8;
}

/* Cartes offres */
.offer-card-home{
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 132px;
	padding: 18px 16px;
	background: var(--card);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 18px;
	box-shadow: var(--shadow);
	text-decoration: none;
	color: var(--text);
	backdrop-filter: blur(6px);
	transition: transform .08s ease, border-color .15s ease, background-color .15s ease;
}

.offer-card-home:hover{
	transform: translateY(-1px);
	border-color: rgba(11,42,87,0.18);
	background: rgba(255,255,255,0.72);
}

.offer-card-home__title{
	margin: 0 0 8px;
	font-size: 24px;
	line-height: 1.15;
	font-weight: 900;
	color: var(--blue);
	text-align: center;
}

.offer-card-home__text{
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}

.offer-card-home__price{
	margin: 4px 0 0;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.3;
	text-align: center;
	color: var(--text);
}

.offer-card-home__note{
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.3;
	text-align: center;
	color: var(--blue);
	font-weight: 700;
}

/* Responsive */
@media (max-width: 1250px){
	.home-layout{
		grid-template-columns: 1fr;
		max-width: 920px;
	}
}
/* =========================================================
   PAGE MINISITE
   ========================================================= */

.offer-page{
	padding: 32px 20px 70px;
}

.offer-page__inner{
	max-width: 1100px;
	margin: 0 auto;
}

.offer-page__header{
	text-align: center;
	margin-bottom: 24px;
}

.offer-page__title{
	margin: 0 0 10px;
	font-size: clamp(34px, 3.2vw, 58px);
	line-height: 1.08;
	font-weight: 900;
	color: var(--blue);
	letter-spacing: -0.02em;
}

.offer-page__subtitle{
	margin: 0;
	font-size: clamp(20px, 1.6vw, 26px);
	font-weight: 700;
	color: var(--text);
}

.offer-columns{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 20px;
}

.offer-card{
	background: var(--card);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 20px;
	box-shadow: var(--shadow);
	margin-bottom: 20px;
	backdrop-filter: blur(6px);
}

.offer-card__content{
	padding: 22px 22px;
}

.offer-card__title{
	margin: 0 0 14px;
	font-size: clamp(20px, 1.6vw, 28px);
	line-height: 1.2;
	font-weight: 900;
	color: var(--blue);
}

.offer-price{
	margin: 0 0 14px;
	font-size: clamp(24px, 2vw, 34px);
	font-weight: 900;
	color: var(--blue);
}

.offer-list{
	margin: 0;
	padding-left: 20px;
	line-height: 1.7;
}

.offer-option-name{
	margin: 0 0 8px;
	font-weight: 800;
	color: var(--blue);
}

.offer-option-price{
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 900;
	color: var(--text);
}

.offer-quote{
	margin: 16px 0;
	padding: 14px 16px;
	border-left: 4px solid var(--blue);
	background: rgba(255,255,255,0.45);
	border-radius: 12px;
	font-style: italic;
}

.offer-note{
	margin-top: 16px;
	font-size: 14px;
	line-height: 1.65;
}

.offer-email-box{
	margin-top: 16px;
	padding: 16px;
	border-radius: 16px;
	background: rgba(255,255,255,0.45);
	border: 1px solid rgba(11,42,87,0.12);
}

.offer-actions{
	margin: 18px 0 0;
	text-align: center;
}

@media (max-width: 800px){
	.offer-columns{
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   PAGE FORMULAIRE MINI-SITE
   ========================================================= */

.offer-card--inner{
	margin-top: 24px;
	margin-bottom: 24px;
}

.mini-form{
	display: block;
}

.mini-form__grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 18px;
}

.mini-form__field{
	margin-bottom: 18px;
}

.mini-form__field label{
	display: block;
	margin-bottom: 8px;
	font-weight: 800;
	color: var(--blue);
}

.mini-form__field input[type="text"],
.mini-form__field input[type="email"],
.mini-form__field textarea{
	width: 100%;
	padding: 14px 14px;
	border: 1px solid rgba(11,42,87,0.18);
	border-radius: 14px;
	background: rgba(255,255,255,0.72);
	color: var(--text);
	font: inherit;
}

.mini-form__field textarea{
	resize: vertical;
	min-height: 120px;
}

.mini-form__field input:focus,
.mini-form__field textarea:focus{
	outline: 2px solid rgba(11,42,87,0.18);
	border-color: var(--blue);
}

.mini-form__options{
	display: grid;
	gap: 16px;
}

.mini-form__option{
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto auto;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(11,42,87,0.08);
}

.mini-form__option:last-child{
	border-bottom: 0;
	padding-bottom: 0;
}

.mini-form__option-label{
	margin: 0;
	font-weight: 700;
	color: var(--text);
}

.mini-form__option label{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: var(--blue);
}

.mini-form__actions{
	margin-top: 28px;
	text-align: center;
}

.form-success{
	margin: 0;
	padding: 16px 18px;
	border-radius: 14px;
	background: rgba(44, 133, 64, 0.12);
	border: 1px solid rgba(44, 133, 64, 0.25);
	font-weight: 800;
	color: #1f5a2c;
}

.form-errors{
	padding: 16px 18px;
	border-radius: 14px;
	background: rgba(180, 31, 31, 0.08);
	border: 1px solid rgba(180, 31, 31, 0.2);
	color: #7f1d1d;
}

.form-errors ul{
	margin: 0;
	padding-left: 18px;
}

.mini-form__honeypot{
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 800px){
	.mini-form__grid{
		grid-template-columns: 1fr;
	}

	.mini-form__option{
		grid-template-columns: 1fr;
		gap: 10px;
	}
}
/* FORMULAIRE PROJET */

.formulaire-projet{
    padding:60px 20px;
}

.formulaire-container{
    max-width:900px;
    margin:0 auto;
    background:#ffffff;
    padding:40px;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.formulaire-site h2{
    margin-top:30px;
    font-size:20px;
}

.formulaire-site label{
    display:inline-block;
    margin-right:15px;
    margin-bottom:8px;
}

.formulaire-site input,
.formulaire-site select,
.formulaire-site textarea{
    width:100%;
    padding:10px;
    margin-top:8px;
    margin-bottom:15px;
    border:1px solid #ccc;
    border-radius:6px;
}

.formulaire-site button{
    background:#123b6d;
    color:white;
    padding:12px 20px;
    border:none;
    border-radius:6px;
    cursor:pointer;
}

.formulaire-site button:hover{
    opacity:0.9;
}
.formulaire-site h2{
margin-top:40px;
padding-bottom:8px;
border-bottom:1px solid #eee;
}

.formulaire-site label{
display:block;
margin-bottom:6px;
font-size:15px;
}

.formulaire-site select{
margin-top:10px;
}

.formulaire-site button{
margin-top:30px;
font-size:16px;
}
/* FORMULAIRE PROJET */

.formulaire-projet{
    padding:60px 20px;
}

.formulaire-container{
    max-width:900px;
    margin:0 auto;
    background:#ffffff;
    padding:40px;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.formulaire-container h1{
    margin-bottom:10px;
}

.formulaire-container p{
    margin-bottom:20px;
}

.formulaire-site h2{
    margin-top:40px;
    padding-bottom:8px;
    border-bottom:1px solid #eee;
    font-size:20px;
}

.formulaire-site label{
    display:block;
    margin-bottom:8px;
    font-size:15px;
}

.formulaire-site input,
.formulaire-site select,
.formulaire-site textarea{
    width:100%;
    padding:10px;
    margin-top:8px;
    margin-bottom:15px;
    border:1px solid #ccc;
    border-radius:6px;
    box-sizing:border-box;
}

.formulaire-site input[type="checkbox"],
.formulaire-site input[type="radio"]{
    width:auto;
    margin-right:8px;
}

.formulaire-site button{
    background:#123b6d;
    color:#ffffff;
    padding:12px 20px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    margin-top:30px;
    font-size:16px;
}

.formulaire-site button:hover{
    opacity:0.9;
}
/* FORMULAIRE PROJET */

.formulaire-projet{
    padding:60px 20px;
}

.formulaire-container{
    max-width:900px;
    margin:0 auto;
    background:#ffffff;
    padding:40px;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.formulaire-container h1{
    margin-bottom:10px;
}

.formulaire-intro{
    margin-bottom:24px;
}

.form-status{
    padding:15px;
    border-radius:8px;
    margin-bottom:20px;
}

.form-status-sent{
    background:#e6f7ea;
    color:#1f5132;
}

.form-status-error{
    background:#fde8e8;
    color:#842029;
}

.formulaire-site{
    display:block;
}

.form-block{
    margin-top:28px;
    padding-top:8px;
}

.formulaire-site h2{
    margin-top:0;
    margin-bottom:16px;
    padding-bottom:8px;
    border-bottom:1px solid #eee;
    font-size:20px;
}

.formulaire-site label{
    display:block;
    margin-bottom:10px;
    font-size:15px;
    line-height:1.5;
}

.formulaire-site input,
.formulaire-site select,
.formulaire-site textarea{
    width:100%;
    padding:10px;
    margin-top:8px;
    margin-bottom:15px;
    border:1px solid #ccc;
    border-radius:6px;
    box-sizing:border-box;
}

.formulaire-site input[type="checkbox"],
.formulaire-site input[type="radio"]{
    width:auto;
    margin-right:8px;
    margin-top:0;
    margin-bottom:0;
    padding:0;
}

.formulaire-site textarea{
    min-height:140px;
    resize:vertical;
}

.formulaire-site button{
    background:#123b6d;
    color:#ffffff;
    padding:12px 20px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    margin-top:30px;
    font-size:16px;
}

.formulaire-site button:hover{
    opacity:0.9;
}

.form-honeypot{
    position:absolute;
    left:-9999px;
    opacity:0;
    pointer-events:none;
}

@media (max-width: 768px){
    .formulaire-container{
        padding:24px 20px;
    }
}
.form-progress{
font-size:14px;
font-weight:600;
color:#555;
margin-bottom:10px;
}
/* FORMULAIRE PROJET */

.formulaire-projet{
    padding:60px 20px;
}

.formulaire-container{
    max-width:900px;
    margin:0 auto;
    background:#ffffff;
    padding:40px;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.formulaire-container h1{
    margin-bottom:10px;
}

.formulaire-intro{
    margin-bottom:24px;
}

.form-progress{
    font-size:14px;
    font-weight:600;
    color:#555;
    margin-bottom:10px;
}

.form-status{
    padding:15px;
    border-radius:8px;
    margin-bottom:20px;
}

.form-status-sent{
    background:#e6f7ea;
    color:#1f5132;
}

.form-status-error{
    background:#fde8e8;
    color:#842029;
}

.formulaire-site{
    display:block;
}

.form-block{
    margin-top:28px;
    padding-top:8px;
}

.formulaire-site h2{
    margin-top:0;
    margin-bottom:16px;
    padding-bottom:8px;
    border-bottom:1px solid #eee;
    font-size:20px;
}

.formulaire-site label{
    display:block;
    margin-bottom:10px;
    font-size:15px;
    line-height:1.5;
}

.formulaire-site input,
.formulaire-site select,
.formulaire-site textarea{
    width:100%;
    padding:10px;
    margin-top:8px;
    margin-bottom:15px;
    border:1px solid #ccc;
    border-radius:6px;
    box-sizing:border-box;
}

.formulaire-site input[type="checkbox"],
.formulaire-site input[type="radio"]{
    width:auto;
    margin-right:8px;
    margin-top:0;
    margin-bottom:0;
    padding:0;
}

.formulaire-site textarea{
    min-height:140px;
    resize:vertical;
}

.formulaire-site button{
    background:#123b6d;
    color:#ffffff;
    padding:12px 20px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    margin-top:30px;
    font-size:16px;
}

.formulaire-site button:hover{
    opacity:0.9;
}

.form-honeypot{
    position:absolute;
    left:-9999px;
    opacity:0;
    pointer-events:none;
}

.form-step{
    display:none;
}

.form-step.active{
    display:block;
}

.form-navigation{
    display:flex;
    gap:12px;
    margin-top:30px;
    flex-wrap:wrap;
}

.form-prev,
.form-next,
.form-submit{
    background:#123b6d;
    color:#ffffff;
    padding:12px 20px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-size:16px;
}

.form-prev{
    background:#6c757d;
}

.form-submit{
    display:none;
}

@media (max-width: 768px){
    .formulaire-container{
        padding:24px 20px;
    }
}