@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&family=Allura&display=swap');

:root {
	/* Palette maquettes cliente (marine + doré) */
	--beige: #FAF7F2;
	--sable: #F0EBE3;
	--sable-alt: #E8E0D5;
	--marine: #1E2D4A;
	--terra: #B87568;
	--dore: #C9A96E;
	--dore-wash: #EEE4D3;
	--terra-wash: #E7D9CE;
	--text: #1E2D4A;
	--text-m: #6B7280;

	/* Alias legacy pour compat (existant utilise --primary-color, --global-text-color, --global-background-color) */
	--primary-color: var(--terra);
	--secondary-color: var(--dore);
	--global-text-color: var(--text);
	--global-background-color: var(--sable-alt);
	--global-primary-font: 'Cormorant Garamond', 'PT Serif', serif;
	--global-secondary-font: 'Jost', 'Futura', 'Arial', sans-serif;
	--global-script-font: 'Allura', 'Brush Script MT', cursive;
}

/**********
 * Global *
 *********/

.pure-g [class*="pure-u"] {
	font-family: var(--global-secondary-font);
}

.mid_height {
	min-height: 50vh;
}

html {
	color: var(--global-text-color);
	font-family: var(--global-secondary-font);
	font-size: 14px;
	line-height: 1.2;
	background: var(--beige);
}

body {
	margin: 0;
	background: var(--beige);
	font-family: var(--global-secondary-font);
	font-weight: 400;
	font-size: 14px;
	color: var(--text);
	position: relative;
	overflow-x: hidden;
}

body, body * {
	box-sizing: border-box;
}

/* Le main : contraint à 1200px centré */
main {
	max-width: 1200px;
	margin: 0 auto;
	background: var(--beige);
}

/* Le header (nav) : bg 100% viewport, contenu 1200px max centré (comme le footer) */
header {
	width: 100%;
	background: var(--beige);
	border-bottom: 1px solid var(--sable-alt);
}

/* Le footer prend 100% de la largeur écran, mais son contenu est contraint à 1200px */
footer,
footer .reg_contentBot {
	width: 100%;
	max-width: none;
}

/* Bandes marine du footer : bg full-width (viewport), padding sur les côtés */
.part2 {
	background-color: var(--marine);
}

.part3 {
	background-color: #0F1829;
}

/* Contenu interne des bandes : max 1200px centré (breakout du body 1200) */
.part2 > .pure-g,
.part3 > .reg_info {
	max-width: 1200px;
	margin: 0 auto;
}

img {
	max-width: 100%;
}

p {
	margin: 0;
}

a {
	text-decoration: none;
}

:focus {
	outline: none;
}

::-moz-focus-inner {
	border: 0;
}

::-moz-selection {
	color: #fff;
	background: var(--primary-color);
}

::selection {
	color: #fff;
	background: var(--primary-color);
}

::-webkit-input-placeholder {
	/* WebKit, Blink, Edge */
	color: #515151;
}

:-moz-placeholder {
	/* Mozilla Firefox 4 to 18 */
	color: #515151;
	opacity: 1;
}

::-moz-placeholder {
	/* Mozilla Firefox 19+ */
	color: #515151;
	opacity: 1;
}

:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #515151;
}

:placeholder-shown {
	color: #515151;
}

.alc {
	text-align: center !important;
}

.alr {
	text-align: right !important;
}

.prel {
	position: relative;
}

.absolute {
	position: absolute;
}

.ovhid {
	overflow: hidden;
}

.dib {
	display: block;
}

.dit {
	display: table;
}

.is-hidden {
	display: none;
}

.fin {
	clear: both;
	line-height: 0;
	height: 0;
	font-size: 14px;
}

/* SWAL2 */
#strErreur,
#strInfo,
#strValide,
#strLink {
	display: none;
}

#map-canvas {
	width: 100%;
	height: 250px;
}

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.flex.sb {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex.sa {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.flex.start {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.flex.end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.flex.jcc {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.flex.ac {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.flex.col {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.acc {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.ac {
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
}

.wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.bold {
	font-weight: 700;
}

.content_max_width {
	max-width: 100%;
	margin: 0 auto;
}

.container_max_width {
	max-width: 960px;
	margin: 0 auto;
}

/*************
**** BODY ****
**************/

/* Required */
.hidden {
	opacity: 0;
}

.visible {
	opacity: 1;
}

/***/

/* Custom file input */
.inputfile {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.inputfile+label {
	font-size: 1.25em;
	font-weight: 700;
	color: white;
	background-color: black;
	display: inline-block;
}

.inputfile:focus+label,
.inputfile+label:hover {
	background-color: red;
}

.inputfile+label {
	cursor: pointer;
	/* "hand" cursor */
}

.inputfile:focus+label {
	outline: 1px dotted #000;
	outline: -webkit-focus-ring-color auto 5px;
}

.inputfile+label span {
	font-family: var(--global-secondary-font);
	font-weight: 700;
	text-transform: uppercase;
}

.inputfile+label svg {
	margin-right: 5px;
	vertical-align: text-top;
}

.js .inputfile {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.no-js .inputfile+label {
	display: none;
}

.inputfile:focus+label,
.inputfile.has-focus+label {
	outline: 1px dotted #000;
	outline: -webkit-focus-ring-color auto 5px;
}

/***/

.m0auto {
	margin: 0 auto;
}

.pt25 {
	padding-top: 25px;
}

.pt50 {
	padding-top: 50px;
}

.pb25 {
	padding-bottom: 25px;
}

.pb50 {
	padding-bottom: 50px;
}

.ptb25 {
	padding: 25px 0;
}

.ptb50 {
	padding: 50px 0;
}

.pad15 {
	padding: 15px;
}

.pad25 {
	padding: 25px;
}

.pad50 {
	padding: 50px;
}

.lSSlideOuter .lSPager.lSpg > li.active a, .lSSlideOuter .lSPager.lSpg > li:hover a {
	background-color: var(--primary-color) !important;
}

/* PAGINATOR */
.paginator .nav span {
	font-size: 1.8em;
}

.paginator {
	width: 60%;
	margin: 0 auto;
}

.paginator td {
	padding: 15px 0;
}

.paginator a,
.paginator i {
	font-size: 22px;
	color: #2d3436;
	padding: 50px 5px;
	line-height: 100%;
}

.paginator .encours {
	color: #95A5A6;
}

/* GLOBAL PAGE TITLE */
.global_page_title {
	text-transform: uppercase;
	margin: 0;
	font-weight: 700;
	font-size: 2.5em;
	line-height: 130%;
	color: var(--primary-color);
	font-family: var(--global-primary-font);
}

.global_page_title.alc {
	-webkit-box-shadow: 25px -5px 9px -8px rgba(0, 0, 0, 0.27);
	box-shadow: 25px -5px 9px -8px rgba(0, 0, 0, 0.27);
}

.global_page_title strong {
	display: block;
	font-family: var(--global-primary-font);
}

.global_page_title.white {
	color: #fff;
}

.global_page_title strong.red {
	color: var(--primary-color);
}

/*.global_page_title.sep:after {
	content: '';
	display: block;
	width: 270px;
	height: 3px;
	margin: 20px 0;
	background: -webkit-linear-gradient(90deg, rgba(3,93,162,1) 33%, rgba(0, 0, 0, 0) 33%), -webkit-linear-gradient(90deg, rgba(230,230,230,1) 66%, rgba(241,93,95,1) 66%);
  background: -o-linear-gradient(90deg, rgba(3,93,162,1) 33%, rgba(0, 0, 0, 0) 33%), -o-linear-gradient(90deg, rgba(230,230,230,1) 66%, rgba(241,93,95,1) 66%);
  background: -moz-linear-gradient(90deg, rgba(3,93,162,1) 33%, rgba(0, 0, 0, 0) 33%), -moz-linear-gradient(90deg, rgba(230,230,230,1) 66%, rgba(241,93,95,1) 66%);
  background: linear-gradient(90deg, rgba(3,93,162,1) 33%, rgba(0, 0, 0, 0) 33%), linear-gradient(90deg, rgba(230,230,230,1) 66%, rgba(241,93,95,1) 66%);
	background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MDAgNjAwIj4NCjxwYXRoIGZpbGw9IiNlZDI5MzkiIGQ9Im0wLDBoOTAwdjYwMGgtOTAweiIvPg0KPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAsMGg2MDB2NjAwaC02MDB6Ii8+DQo8cGF0aCBmaWxsPSIjMDAyMzk1IiBkPSJtMCwwaDMwMHY2MDBoLTMwMHoiLz4NCjwvc3ZnPg0K');
}*/

/*.global_page_title.sep.min:after {
	width: 180px;
	margin: 10px 0;
}*/

.global_page_title.m0auto {
	text-align: center;
}

.global_page_title.m0auto.sep:after {
	margin-left: auto;
	margin-right: auto
}

.global_page_title.spe {
	color: #313439;
	font-family: var(--global-secondary-font);
	font-weight: 700;
	font-size: 1.8em;
}

.global_page_title.spe:after {
	content: '';
	display: block;
	width: 250px;
	height: 3px;
	margin: 5px 0;
	background-color: var(--primary-color);
}


/* GLOBAL PAGE TITLE */
.global_section_title {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 1.5em;
	line-height: 1.3;
	font-weight: 600;
	font-family: var(--global-primary-font);
	margin: 0;
}

.global_section_title strong {
	display: block;
	font-weight: 900;
}

.global_section_title.white {
	color: #fff;
}

.global_section_title.m0auto {
	text-align: center;
}


/* GLOBAL FORM */
.global_form legend {
	font-family: var(--global-secondary-font);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1.4em;
	letter-spacing: 0.5px;
	padding-bottom: 15px;
	padding-right: 25px;
	border-bottom: 2px solid var(--primary-color);
	margin-bottom: 15px;
}

.global_form fieldset {
	padding: 0;
	border: 0;
	padding: 15px 0;
}

.global_form .input_pad {
	padding: 15px 25px;
}

.global_form input,
.global_form textarea,
.global_form input.inputfile+label,
.global_form .select select {
	border: 1px solid var(--global-background-color);
	font-size: 1.2em;
	display: block;
	box-shadow: 1px 1px 1px rgba(0,0,0,0.35);
	padding: 15px 25px;
	margin: 0;
	letter-spacing: 1px;
	text-transform: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	box-sizing: border-box;
}

.global_form .select select {
	background-color: transparent;
	background-image: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.global_form .select {
	position: relative;
}

.global_form .select::after {
	font-family: "Font Awesome 5 Free";
	content: "\f078";
	font-weight: 900;
	border-radius: 30px;
	color: #fff;
	width: 75px;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: absolute;
	z-index: -1;
	right: 0;
	top: 0;
	line-height: 100%;
	font-size: 2em;
	background-color: var(--heading-color);
}

.global_form .select select:focus {
	outline: none;
	border: 2px solid var(--heading-color);
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	-o-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}

.global_form .select select option {
	height: 100%;
}

.global_form input.inputfile+label {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	border-width: 4px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.global_form input.inputfile+label:hover {
	background-color: var(--heading-color);
	border-color: var(--heading-color);
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.global_form textarea {
	min-height: 250px;
	padding-top: 25px;
	resize: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	font-size: 1.2em;
}

.global_form cite,
.global_form cite a {
	color: var(--primary-color);
	display: block;
	margin-left: auto;
	text-align: right;
	padding-right: 10px;
}

.global_form cite a:hover {
	color: #313439;
}

.global_form button {
	margin: 20px 0 20px 0;
	padding: 15px 50px 13px 50px;
}

.global_form button img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	width: 23px;
	margin-right: 10px;
	vertical-align: bottom;
}

.global_form .mid {
	margin-left: auto;
	margin-right: auto;
}

.global_form .right {
	margin-left: auto;
	text-align: right;
}

.full {
	width: 100%;
}

/*hr.sep_top {
	border: none;
	margin: 0;
  height: 50px;
  width: 100%;
 	background: -webkit-gradient(radial, 50% 100%, 10, 50% 100%, 40, from(var(--primary-color)), color-stop(0.49, var(--primary-color)), color-stop(0.51, transparent), to(transparent));
	-webkit-background-size: 49px 100%;
	background-size: 49px 100%;
}

hr.sep_bottom {
	border: none;
	margin: 0;
  height: 50px;
  width: 100%;
 	background: -webkit-gradient(radial, 50% 0, 10, 50% 0, 40, from(var(--primary-color)), color-stop(0.49, var(--primary-color)), color-stop(0.51, transparent), to(transparent));
	-webkit-background-size: 49px 100%;
	background-size: 49px 100%;
}*/

hr.sep_top {
	border: none;
	margin: 0;
	width:100%;
  height:50px;
  left:0px;
  background: -webkit-gradient(linear, right top, left bottom, color-stop(49%, transparent), color-stop(50%, var(--global-text-color))); 
  background: -o-linear-gradient(right top, transparent 49%, var(--global-text-color) 50%); 
  background: linear-gradient(to left bottom, transparent 49%, var(--global-text-color) 50%);
}

hr.sep_bottom {
	border: none;
	margin: 0;
	width:100%;
  height:50px;
  left:0px;
  background: -o-linear-gradient(left top, var(--global-text-color) 49%, transparent 50%), -o-linear-gradient(140deg, transparent 16px, transparent 0);
  background: linear-gradient(to right bottom, var(--global-text-color) 49%, transparent 50%), linear-gradient(-50deg, transparent 16px, transparent 0);
}

hr.sep {
	border: 0;
	height: 1px;
	width: 44px;
	position: relative;
	margin: 12px 0;
	background: var(--dore);
	opacity: 0.6;
}

hr.sep:before {
	content: none;
}

/* Utilitaire : trait doré fin façon maquettes (44×1px) */
.gold-line {
	width: 44px;
	height: 1px;
	background: var(--dore);
	opacity: 0.6;
	margin: 12px 0;
	border: 0;
}

.gold-line.center {
	margin-left: auto;
	margin-right: auto;
}

/*.animated_bubbles .bubble {
	position: absolute;
	display: block;
}

.animated_bubbles .bubble.bubble_1 {
	top: 25vh;
	left: 15vh;
	width: 150px;
	border-radius: 75px;
	height: 150px;
	background-color: var(--primary-color);
	z-index: 10;
}*/

.socials_network_list {
	position: absolute;
	bottom: 15px;
	right: 15px;
}

.socials_network_list a {
	font-size: 24px;
	color: #fff;
}

.socials_network_list a:not(:last-child) {
	margin-right: 15px;
}

.socials_network_list a img {
	width: 24px;
	vertical-align: top;
}

/********
*  TOP  *
*********/

.reg_contentMenu {
	padding: 0 20px;
	position: relative;
	z-index: 1000;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
	background: var(--beige);
	border-bottom: 1px solid var(--sable-alt);
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

/* Menu centré entre logo (gauche) et CTA (droite) */
.reg_topGauche,
.reg_topDroite {
	flex-shrink: 0;
}

.reg_topCenter {
	flex: 1;
	display: flex;
	justify-content: center;
}

.reg_topCenter .global_menu {
	display: flex;
	align-items: center;
}

.reg_topCenter .contentMenuTop,
.reg_topCenter .menuTab,
.reg_topCenter nav {
	display: flex;
	align-items: center;
	gap: 32px;
}

/* Retire les .menuCell margin-right qui déséquilibrent */
.reg_topCenter .menuCell {
	margin: 0;
	padding: 0;
	float: none;
}

/* Responsive : menu items cachés < 900px, hamburger visible */
@media screen and (max-width: 900px) {
	.reg_topCenter .contentMenuTop {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--beige);
		border-bottom: 1px solid var(--sable-alt);
		box-shadow: 0 4px 12px rgba(30, 45, 74, 0.06);
		padding: 20px 24px;
		z-index: 999;
	}

	.mobile_menu_button.open + .contentMenuTop {
		display: block;
	}

	.reg_topCenter .contentMenuTop nav {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}

	.reg_topCenter .contentMenuTop .menuCell {
		text-align: center;
	}

	.reg_topCenter .contentMenuTop .menuCell a.none {
		padding: 12px 8px;
		font-size: 14px;
	}
}

/* Hamburger visible seulement en mobile */
.reg_topCenter .mobile_menu_button {
	display: none;
}

/* Par défaut (desktop) : texte complet, "RDV" caché */
.reg_topDroite .cta-full { display: inline; }
.reg_topDroite .cta-short { display: none; }

@media screen and (max-width: 900px) {
	.reg_topCenter {
		flex: 1;
		justify-content: flex-end;
		margin-right: 12px;
	}
	.reg_topCenter .mobile_menu_button {
		display: block;
	}
	.reg_contentMenu { padding: 0 12px; }
	.logoTopText_name { font-size: 20px; font-weight: 700; }
	.logoTopText_baseline { font-size: 9px; letter-spacing: 0.08em; opacity: 0.6; }
	.reg_topDroite .btnStd {
		padding: 8px 14px;
		font-size: 14px;
		letter-spacing: 1px;
	}
	/* Sur mobile : bouton compact "RDV" au lieu de "Contact / RDV" */
	.reg_topDroite .cta-full { display: none !important; }
	.reg_topDroite .cta-short { display: inline !important; }
}

.fixed_cta-call {
	position: fixed;
	z-index: 100;
	bottom: 100px;
	right: 0;
	padding: 10px 25px 10px 20px;
	background-color: var(--primary-color);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.25);
	-webkit-transition: background-color 0.2s ease-in-out;
	-moz-transition: background-color 0.2s ease-in-out;
	-o-transition: background-color 0.2s ease-in-out;
	transition: background-color 0.2s ease-in-out;
}

.fixed_cta-call:hover {
	background-color: var(--global-text-color);
	-webkit-transition: background-color 0.2s ease-in-out;
	-moz-transition: background-color 0.2s ease-in-out;
	-o-transition: background-color 0.2s ease-in-out;
	transition: background-color 0.2s ease-in-out;
}

.fixed_cta-call img {
	width: 28px;
	margin-right: 15px;
}

.reg_topGauche a {
	display: block;
}

.logoTop img {
	width: 200px;
	height: auto;
	margin: 0 auto;
	display: block;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	-o-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}

.menuTab .menuRow .menuCell.resp {
	display: none;
}

.menuCell a.none {
	display: block;
	font-family: var(--global-secondary-font);
	font-size: 14px;
	margin: 0px auto;
	text-align: center;
	padding: 8px 5px;
	width: 100%;
	font-weight: 500;
	line-height: 100%;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	text-decoration: none;
	color: var(--marine);
	opacity: 0.8;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.menuCell a.none:hover,
.menuCell a.sel {
	color: var(--marine);
	opacity: 1;
	background-color: transparent;
	font-weight: 600;
}

.menuCell .btnStd {
	padding: 10px 20px;
	line-height: 100%;
	font-size: 14px;
	letter-spacing: 1.5px;
}

.menuCell {
	display: block;
	text-align: left;
	float: left;
	padding: 10px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.menuCell:hover {
	border-radius: 0 0 0 8px;
	transition: all 0.5s ease-in-out;
}

.miniBar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	background: var(--beige);
	border-bottom: 1px solid var(--sable-alt);
	box-shadow: 0 2px 8px rgba(30, 45, 74, 0.06);
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.miniBar .reg_contentMenu {
	background: transparent;
	border-bottom: none;
	box-shadow: none;
	padding: 4px 40px;
	height: 56px;
	max-width: 1200px;
	margin: 0 auto;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.miniBar a.none {
	padding: 5px;
	font-size: 14px;
	color: #6b5a48;
}

.miniBar a.logoTop {
	padding: 0;
	width: 55px;
	max-width: 55px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.miniBar .logoTop img {
	width: 55px;
	padding-top: 0;
	margin: 0;
}

.miniBar .btnStd {
	background-color: var(--global-text-color);
	border-color: var(--global-text-color);
}

.miniBar .reg_topGauche span {
	display: none;
}

.miniBar .reg_topGauche.flol {
	width: 10%;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.miniBar .reg_topDroite.flor {
	width: 90%;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

/*************
*** BOTTOM ***
**************/

/* Footer */


/* Footer - Copyright */

/** PART 1 ***/
.part1 {
	padding: 0 0 50px 0;
}

.botCell strong {
	color: #ddd;
	font-size: 18px;
	font-weight: normal;
	padding: 40px 0;
	text-align: center;
	text-transform: uppercase;
}

/** PART 2 ***/

.part2 {
	background-color: var(--marine);
	border-top: none;
}

.part2.footer {
	padding: 44px 0;
}

.part2.footer > .pure-g {
	padding: 0 56px;
}

.bottom_menu>div:first-child {
	padding-right: 35px;
}

.contentBotLien {
	display: block;
	margin: 0;
}

.contentBotLien strong {
	font-size: 14px;
	letter-spacing: 0.12em;
	padding: 0;
	color: var(--dore);
	opacity: 0.9;
	text-transform: uppercase;
	display: block;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	margin-bottom: 12px;
}

.contentBotLien strong:after {
	display: none;
}

/* Brand block */
.footer_logo {
	display: block;
	height: 70px;
	width: auto;
	margin: 0 0 10px 0;
}

.footer_brand_name {
	display: block;
	font-family: var(--global-primary-font);
	font-size: 21px;
	font-weight: 600;
	color: var(--beige);
	margin-bottom: 6px;
	letter-spacing: 0.02em;
}

.footer_brand_baseline {
	display: block;
	font-family: var(--global-secondary-font);
	font-size: 14px;
	color: var(--beige);
	opacity: 0.7;
	margin-bottom: 12px;
	letter-spacing: 0.02em;
}

.footer_location {
	color: var(--dore) !important;
	opacity: 0.9;
	font-size: 14px !important;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
}

.footer_location i {
	font-size: 14px;
	color: var(--dore);
	padding: 0 !important;
}

.contentBotLien>span {
	display: block;
}

.contentBotLien span span {
	display: block;
	font-size: 14px;
	padding: 10px 0;
	color: #FFF;
	text-align: center;
	font-size: 1em;
}

.contentBotLien .tel,
.contentBotLien .email_line {
	font-weight: 600;
}

.contentBotLien .email_line {
	margin-top: 18px;
}

.contentBotLien .email_line .email {
	vertical-align: middle;
}

.contentBotLien .tel span {
	vertical-align: middle;
}

.contentBotLien a {
	display: block;
	font-size: 14px;
	padding: 3.5px 0;
	color: var(--beige);
	opacity: 0.75;
	font-family: var(--global-secondary-font);
	font-weight: 400;
	text-decoration: none;
}

.contentBotLien a:hover {
	opacity: 1;
	color: var(--beige);
}

.contentBotLien cite {
	font-size: 16px;
	color: #FFFFFF;
}

.contentBotLien p {
	font-size: 14px;
	color: var(--beige);
	opacity: 0.85;
	font-weight: 400;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.contentBotLien i {
	font-size: 14px;
	padding-right: 0;
	text-align: center;
	vertical-align: middle;
	color: var(--dore);
}

.contentBotLien.contact p {
	text-align: left;
	display: inline-block;
	margin: 0 auto;
}

.contentBotLien.contact p img {
	vertical-align: middle;
	margin-right: 15px;
}

.contentBotLien.contact p span {
	display: inline-block;
	line-height: 150%;
	vertical-align: middle;
}


/** PART 3 ***/

.footer_copyright_menu a {
	padding: 0 10px;
	color: var(--beige);
	opacity: 0.55;
	text-decoration: none;
}

.footer_copyright_menu a:hover {
	opacity: 1;
	color: var(--beige);
}

.part3 {
	padding: 14px 0;
	background: #0F1829;
}

.part3 > .reg_info {
	padding: 0 56px;
}

.part3 a,
.part3 span {
	font-size: 14px;
	color: var(--beige);
	opacity: 0.55;
	letter-spacing: 0.02em;
}

.footer_copyright_text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.footer_realisation {
	opacity: 0.45;
	font-size: 14px;
}

.footer_realisation a {
	color: var(--dore);
	opacity: 0.9;
	text-decoration: none;
	transition: opacity 0.2s;
}

.footer_realisation a:hover {
	opacity: 1;
	text-decoration: underline;
}

/********************
**** BACK TO TOP ****
********************/

#returnOnTop {
	background: url('/imgs/picto.backtotop.png') no-repeat;
	bottom: 1%;
	cursor: pointer;
	display: none;
	filter: alpha(opacity=100);
	/* IE < 8 */
	height: 50px;
	opacity: 1;
	position: fixed;
	right: 1%;
	width: 50px;
}

#returnOnTop:hover {
	filter: alpha(opacity=100);
	/* IE < 8 */
	opacity: 1;
}

#loading {
	width: 0%;
	height: 3px;
	background: var(--primary-color);
	position: fixed;
}


/* Arrow clic to bottom */
.arrow-container{
  width: 100px;
  height: 100px;
  margin: 0 auto;
  cursor: pointer;
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
}

.arrow-1{
  width: 100px;
  height: 100px;
  background: var(--secondary-color);
  opacity: 0.5;
  border-radius: 50%;
  position: absolute;
}

.arrow-2{
  width: 60px;
  height: 60px;
  background: var(--secondary-color);
  border-radius: 50%;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
  display: table;
}

.arrow-2:before{
  width: 52px;
  height: 52px;
  content: "";
  border: 2px solid var(--secondary-color);
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
}

.arrow-2 img{
  width: 32px;
  height: 32px;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

/* Custom Animate.css */

.animated.hinge {
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.4, .4, .4);
            transform: scale3d(.4, .4, .4);
  }

  50% {
    opacity: 0.5;
  }
  
  100% {
    opacity: 0;
  }
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.4, .4, .4);
            transform: scale3d(.4, .4, .4);
  }

  50% {
    opacity: 0.5;
  }
  
  100% {
    opacity: 0;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
          animation-name: zoomIn;
}


/**************
*** ACCUEIL ***
***************/
.home header {
	position: relative;
}

/* HERO SLIDER — maquette (custom translateX + progress + dots + prev/next) */
.home .hero,
.hero {
	position: relative;
	height: 520px;
	overflow: hidden;
	margin-top: 64px; /* passe sous la nav absolute 64px */
}

.hero .slides {
	display: flex;
	height: 100%;
	transition: transform 0.9s cubic-bezier(0.77, 0, 0.18, 1);
	width: 100%;
}

.hero .slide {
	min-width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: flex-end;
}

.hero .slide-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.hero .slide-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
		rgba(30, 45, 74, 0.75) 0%,
		rgba(30, 45, 74, 0.20) 50%,
		transparent 100%);
}

.hero .hero-fixed-content {
	position: absolute;
	z-index: 3;
	left: 56px;
	bottom: 48px;
	pointer-events: none;
	text-align: center;
	/* width auto = shrink-wrap sur la largeur du logo, l'eyebrow centre en dessous */
}

.hero .slide-eyebrow {
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dore);
	opacity: 1;
	font-weight: 500;
	margin-bottom: 8px;
	display: block;
}

.hero .hero-title {
	font-family: var(--global-primary-font);
	font-size: 42px;
	font-weight: 400;
	line-height: 1.15;
	color: var(--dore);
	margin: 0;
	max-width: 720px;
	letter-spacing: 0.01em;
}

.hero .hero-title em {
	font-style: italic;
	font-weight: 300;
}

/* Barre de progression dorée */
.hero .slide-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: rgba(201, 169, 110, 0.15);
	z-index: 4;
}

.hero .slide-progress {
	height: 100%;
	background: var(--dore);
	opacity: 0.7;
	width: 0;
	transition: width 3s linear;
}

/* Dots en bas à droite */
.hero .slide-dots {
	position: absolute;
	bottom: 20px;
	right: 56px;
	display: flex;
	gap: 7px;
	z-index: 5;
}

.hero .sdot {
	width: 26px;
	height: 2px;
	background: var(--beige);
	opacity: 0.35;
	border-radius: 2px;
	cursor: pointer;
	transition: all 0.3s;
}

.hero .sdot.on {
	opacity: 0.9;
	width: 36px;
	background: var(--dore);
}

/* Prev / Next round */
.hero .slide-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	cursor: pointer;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(201, 169, 110, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--beige);
	background: rgba(0, 0, 0, 0.1);
	transition: background 0.2s, border-color 0.2s;
	user-select: none;
}

.hero .slide-nav:hover {
	background: rgba(0, 0, 0, 0.25);
	border-color: var(--dore);
}

.hero .slide-nav.prev { left: 20px; }
.hero .slide-nav.next { right: 20px; }

/* Socials */
.hero .hero-socials {
	position: absolute;
	right: 24px;
	top: 24px;
	z-index: 5;
	display: flex;
	gap: 12px;
}

.hero .hero-socials a {
	color: var(--beige);
	opacity: 0.9;
	font-size: 14px;
	transition: opacity 0.2s;
}

.hero .hero-socials a:hover { opacity: 1; }

.hero .hero-socials img { width: 16px; height: auto; opacity: 0.9; }

@media screen and (max-width: 768px) {
	.hero, .home .hero { height: 420px; }
	.hero .hero-fixed-content { left: 24px; bottom: 32px; }
	.hero .hero-title { font-size: 28px; }
	.hero .slide-eyebrow { font-size: 14px; }
	.hero .slide-dots { right: 24px; }
}

/* Anciens styles LightSlider hero — retirés, home utilise maintenant le slider custom .hero > .slides */

/* Anciens styles (compat au cas où) */
.home header .slider_overlay {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 5;
}

.home header .slider_overlay > div {
	pointer-events: auto;
}

.home header .global_page_title {
	font-family: var(--global-primary-font);
	font-weight: 400;
	font-size: 5em;
	line-height: 1;
	color: var(--dore);
	text-transform: none;
	letter-spacing: 0;
}

.home header .sep {
	height: 2px;
	margin: 25px auto;
	width: 250px;
}

.home header .sep:before {
	width: 16px;
	height: 16px;
	top: -9px;
}

/*.home header .global_page_title:after {
	content: '';
	display: block;
	width: 200px;
	height: 5px;
	margin: 15px auto;
	background-color: var(--primary-color);
	transform: skewX(-45deg);
}*/

.home header h2 {
	font-family: var(--global-primary-font);
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1.3;
	text-align: center;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--primary-color);
}

.home section {
	margin: 0;
}

.home .parcours {
	background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.25)) repeat scroll 0% 0%, rgba(0, 0, 0, 0) url('/imgs/contenu/frame-natural-cosmetics.jpg') no-repeat scroll center center / cover;
	color: #fff;
	margin: 0;
}

.home .container_max_width {
	background: url('/imgs/quote-line.png') no-repeat center / 100%;
	/*background: url('/imgs/picto/quotes.png') no-repeat 100% 25% / 64px;*/
	min-height: 530px;
}

.home .parcours p {
	font-weight: 300;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.15);
}

/* Gages / Ma démarche (maquette : 4 cercles bord terracotta) */
.home .gage_assurrance,
.gage_assurrance {
	background-color: var(--beige);
	padding: 40px 56px;
	margin: 0;
	border-bottom: 1px solid var(--sable-alt);
}

.gage_head {
	text-align: center;
	margin-bottom: 22px;
}

.gage_head_title {
	font-family: var(--global-primary-font);
	font-size: 26px;
	font-weight: 400;
	color: var(--marine);
	line-height: 1.3;
	margin: 0;
}

/* Petit filet horizontal marine au-dessus de l'eyebrow */
.gage_head .section_eyebrow {
	margin-bottom: 10px;
}

.gage_head .section_eyebrow:before {
	content: '';
	display: block;
	width: 24px;
	height: 2px;
	background: var(--marine);
	border-radius: 2px;
	margin: 0 auto 10px;
}

.gage_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 22px;
}

.gage_item {
	text-align: center;
	padding: 14px 8px;
}

.gage_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border: 1.5px solid var(--terra);
	border-radius: 50%;
	color: var(--terra);
	font-size: 22px;
	margin: 0 auto 14px auto;
	background: transparent;
}

.gage_title {
	text-align: center;
	font-family: var(--global-secondary-font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--terra);
	opacity: 0.9;
	margin: 0;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	.gage_assurrance { padding: 32px 24px; }
	.gage_grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.gage_icon { width: 56px; height: 56px; font-size: 20px; }
	.gage_title { font-size: 14px; }
	.gage_head_title { font-size: 22px; }
}

/* Trois axes d'intervention (accueil — bloc image + texte avec filet marine) */
.home .home_axes {
	background: var(--beige);
	padding: 48px 56px;
	border-bottom: 1px solid var(--sable-alt);
	position: relative;
	margin: 0;
}

.home .home_axes:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--dore);
}

.home_axes_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: start;
}

.home_axes_title {
	font-family: var(--global-primary-font);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--marine);
	margin: 0;
}

.home_axes_text {
	font-size: 14px;
	line-height: 1.9;
	color: var(--text);
	opacity: 0.85;
	margin-top: 18px;
	margin-bottom: 22px;
}

.home_axes_text p {
	margin: 0 0 10px 0;
}

.home_axes_text p:has(> br:only-child),
.home_axes_text p:empty {
	display: none;
}

.home_axes_text strong {
	font-weight: 500;
	color: var(--marine);
}

.home_axes_cta {
	margin-top: 12px;
}

.home_axes_media {
	position: relative;
}

.home_axes_img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 14px;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.home .home_axes { padding: 32px 24px; }
	.home_axes_grid { grid-template-columns: 1fr; gap: 24px; }
	.home_axes_title { font-size: 22px; }
}

/* Bandeau Planity (maquette) */
.planity_band {
	background: var(--beige);
	border-top: 1px solid var(--dore);
	padding: 20px 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.planity_band_text {
	font-family: var(--global-primary-font);
	font-size: 17px;
	font-style: italic;
	color: var(--marine);
	opacity: 0.85;
	line-height: 1.4;
}

.planity_band_text span {
	font-size: 14px;
	font-family: var(--global-secondary-font);
	font-style: normal;
	display: block;
	margin-top: 4px;
	opacity: 0.6;
	letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
	.planity_band { flex-direction: column; text-align: center; padding: 24px; gap: 14px; }
	.planity_band_text { font-size: 15px; }
}

/* Prestation */
.duree_prestation {
	line-height: 25px;
}

.duree_prestation:before,
.duree_prestation:after {
	content: "";
	display: inline-block;
	height: 2px;
	width: 80px;
	position: relative;
	top: -3px;
	background-color: var(--primary-color);
}

.duree_prestation:before {
	margin-right: 15px;
}

.duree_prestation:after {
	margin-left: 15px;
}

/*************************
**** CONNEXION CLIENT ****
*************************/

.login_page {
	background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.65)) repeat scroll 0% 0%,
		rgba(0, 0, 0, 0) url("/imgs/rubriques/30/agyplus-user-connexion-background.jpg") no-repeat scroll left center / cover;
	height: calc(100vh - 108px);
	max-height: 100vh;
}

.login_page .content_max_width {
	max-width: 768px;
}

.login_page h1 {
	color: #fff;
}

.login_page h2 {
	color: #fff;
}

.login_page legend,
.login_page h2 {
	font-size: 20px;
}

.login_page fieldset input {
	text-indent: 40px;
	font-size: 1.5em;
}

.login_page fieldset input:not(:last-child) {
	margin-bottom: 30px;
}

.login_page fieldset input.login {
	background: var(--global-background-color) url('/imgs/picto/usermail.png') no-repeat 15px center / 30px;
}

.login_page fieldset input.password {
	background: var(--global-background-color) url('/imgs/picto/password.png') no-repeat 15px center / 30px;
}

.login_page span {
	font-family: var(--global-secondary-font);
	font-weight: 400;
	color: #fff;
	font-size: 16px;
	display: inline-block;
	padding-bottom: 10px;
}

.login_page cite {
	padding: 15px 0 0 0;
}

.login_page cite a {
	font-family: var(--global-secondary-font);
	font-weight: 500;
	padding: 0;
}

.login_page cite a:hover {
	color: #fff;
}


/****************************
**** MOT DE PASSE OUBLIÉ ****
*****************************/


/************************
**** CRÉATION COMPTE ****
************************/

.creation_compte fieldset {
	margin: 20px 0;
}


/************************
**** QUI SOMMES-NOUS ****
************************/

.qui-sommes-nous img {
	border-radius: 50%;
}

/* Galerie cabinet (bas de page Parcours) */
.cabinet_section .image_cabinet {
	display: block;
}

.cabinet_section .image_cabinet img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
	transition: transform 0.3s ease;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.cabinet_section .image_cabinet img:hover {
	transform: scale(1.02);
	box-shadow: 0 4px 14px rgba(0,0,0,0.14);
}

@media screen and (max-width: 768px) {
	.cabinet_section .image_cabinet img {
		height: 160px;
	}
}

.qui-sommes-nous .parcours .parcours_infos_flex {
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

.qui-sommes-nous .parcours .parcours_img_col {
	flex: 0 0 220px;
}

.qui-sommes-nous .parcours .parcours_img_circle {
	width: 220px;
	height: 220px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}

.qui-sommes-nous .parcours .parcours_text_col {
	flex: 1;
	min-width: 0;
}

.qui-sommes-nous .parcours .parcours_text_col .global_section_title {
	margin-top: 0;
}

.qui-sommes-nous .parcours .parcours_text_col hr.sep {
	margin: 15px 0 20px;
}

@media screen and (max-width: 768px) {
	.qui-sommes-nous .parcours .parcours_infos_flex {
		flex-direction: column;
		align-items: center;
	}
	.qui-sommes-nous .parcours .parcours_img_col {
		flex: 0 0 auto;
	}
	.qui-sommes-nous .parcours .parcours_img_circle {
		width: 200px;
		height: 200px;
	}
	.qui-sommes-nous .parcours .parcours_text_col {
		text-align: center;
	}
	.qui-sommes-nous .parcours .parcours_text_col hr.sep {
		margin: 15px auto 20px;
	}
}

.qui-sommes-nous .parcours .parcours_infos {
	position: relative;
	background-color: #fff;
	box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.25);
	width: 100%;
	max-width: 100%;
	text-align: justify;
	line-height: 150%;
	box-sizing: border-box;
	overflow: hidden;
}

.qui-sommes-nous .parcours .parcours_infos .text {
	font-size: 14px;
}

.qui-sommes-nous .devouement p {
	line-height: 150%;
}

.qui-sommes-nous .part-2 img {
	box-shadow: 10px -5px var(--heading-color);
}

/* Produit - Ribbon - Global */
.ribbon {
	width: 150px;
	height: 150px;
	overflow: hidden;
	position: absolute;
}

.ribbon::before,
.ribbon::after {
	position: absolute;
	z-index: -1;
	content: '';
	display: block;
	border: 5px solid #2980b9;
}

.ribbon span {
	position: absolute;
	display: block;
	width: 225px;
	padding: 10px 0;
	background-color: var(--primary-color);
	box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
	color: #fff;
	font: 700 18px/1 'Lato', sans-serif;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
	text-transform: uppercase;
	text-align: center;
}

/* Ribbon - Top left*/
.ribbon-top-left {
	top: -10px;
	left: -10px;
}

.ribbon-top-left::before,
.ribbon-top-left::after {
	border-top-color: transparent;
	border-left-color: transparent;
}

.ribbon-top-left::before {
	top: 0;
	right: 0;
}

.ribbon-top-left::after {
	bottom: 0;
	left: 0;
}

.ribbon-top-left span {
	right: -25px;
	top: 42px;
	transform: rotate(-45deg);
}

/*****************************
**** PRESTATIONS / TARIFS ****
*****************************/
.component_liste_prestation .prestation_container {
	padding: 20px;
}

.component_liste_prestation h2 {
	font-family: var(--global-primary-font);
}

.component_liste_prestation .btnStd {
	display: block;
}


/***********************
**** DETAIL PRODUIT ****
***********************/

/* Détail produit  - Header */
.detail_produit_header {
	background: url('/imgs/contenu/bg-some.jpg') no-repeat bottom center / cover;
	min-height: 35vh;
}

.detail_produit .global_page_title {
	font-weight: 900;
}

.detail_produit .global_page_title strong {
	color: #000;
	font-family: var(--global-primary-font);
}

.detail_produit .product_label {
	font-size: 20px;
}

.detail_produit .product_price,
.detail_produit .product_duration {
	font-size: 20px;
	display: inline-block;
	padding-bottom: 20px;
	font-style: italic;
}

/* Détail produit - Image */
.detail_produit .product_category {
	padding: 12px 0 8px 0;
	background-color: var(--primary-color);
	color: #fff;
	font-size: 2.5em;
	text-transform: uppercase;
	letter-spacing: 3px;
	line-height: 100%;
	display: block;
	width: 100%;
	margin-bottom: 35px;
	text-align: center;
}

.detail_produit .lslide {
	min-height: 270px;
}

/* Détail produit - Infos */
.detail_produit .product_infos .product_infos_title {
	font-size: 2em;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 3px;
	font-family: var(--global-primary-font);
	display: block;
	margin: 0;
}

.detail_produit .product_infos .product_resume {
	font-size: 1em;
	line-height: 1.5em;
	padding: 0 0 25px 0;
}

.detail_produit .product_infos .product_detail_item img {
	max-width: 60px;
	padding: 10px;
	background-color: var(--primary-color);
	margin-right: 15px;
}

.detail_produit .product_infos .product_detail .product_detail_item {
	margin: 25px 0;
}

.detail_produit .product_infos .product_detail strong {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 2em;
	font-weight: 500;
	display: block;
}

.detail_produit .product_infos .product_detail span {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 2em;
	font-weight: 500;
	display: block;
	font-style: italic;
	color: grey;
}

.detail_produit .product_infos .product_detail span .no_result {
	font-size: 0.65em;
}

.detail_produit footer a {
	margin: 15px 0;
}

.detail_produit .product_description p {
	font-size: 16px;
	line-height: 1.5;
}

/* Détail produit - Tabs */
.ui-widget-content a.btnStd {
	color: #fff;
}

.product_tabs .ui-widget-content a.btnStd {
	margin-top: 5em;
}

.product_tabs .ui-widget.ui-widget-content {
	border: none;
}

.product_tabs .ui-tabs .ui-tabs-nav {
	background: none;
	padding: 0;
	font-family: var(--global-secondary-font);
	font-size: 1.35em;
	border: none;
}

.product_tabs .ui-tabs .ui-tabs-nav li {
	margin: 0;
	border: none;
	background-color: #e1e1e1;
	border-radius: 0;
}

.ui-state-active a,
.ui-state-active a:link {
	background-color: var(--primary-color);
	color: #313131;
	border: none;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.product_tabs .ui-tabs .ui-tabs-panel {
	padding: 0;
}

span.nothing {
	padding: 15px 0;
	display: inline-block;
	font-size: 1.2em;
}

/* Détail produit - Tabs - Avis */
#avis article .container {}

#avis .avis_note {
	font-size: 1.2em;
	display: block;
	padding: 10px 15px;
}

#avis .avis_note i {
	color: var(--heading-color);
}

#avis h2 {
	padding: 12px 0 8px 0;
	font-size: 1.2em;
}

#avis .avis_date {
	padding-left: 10px;
}

#avis article img {
	display: block;
	margin: 0 auto 8px auto;
}

#avis article aside {
	text-align: center;
}

#avis .global_form textarea {
	width: 100%;
}

/* Rating system */
.rating-css {
	padding: 20px;
}

.rating-css div {
	color: var(--heading-color);
	font-family: sans-serif;
}

.rating-css input {
	display: none;
}

.rating-css input+label {
	font-size: 25px;
	/*text-shadow: 1px 1px 0 #ffe400;*/
	cursor: pointer;
}

.rating-css input:checked+label~label {
	color: #e1e1e1;
}

.rating-css label:active {
	transform: scale(0.6);
	transition: 0.3s ease;
}


/* Détail produit - Tabs - Questions */
#questions article {
	margin: 2em 0;
	font-size: 1em;
}

#questions .question {
	margin-right: 5em;
}

#questions .question .container {
	background-color: #f1f1f1;
}

#questions .reponse {
	margin-left: 5em;
}

#questions .reponse .container {
	background-color: #e1e1e1;
}

#questions article h2 {
	font-size: 14px;
	font-weight: 400;
	font-style: italic;
	padding: 15px;
}

#questions article img {
	display: block;
	margin: 0 auto 8px auto;
}

#questions article aside {
	text-align: center;
}

#questions article footer {
	padding-top: 15px;
	text-align: right;
}

#questions .global_form textarea {
	width: 100%;
}

.detail_produit .product_logged_infos {
	padding: 25px 0 25px 25px;
	align-self: flex-end;
}

.detail_produit .product_quantity .quantity_switcher {
	padding: 0 0 0 15px;
}

.detail_produit .product_cta {
	margin-left: auto;
}

.detail_produit a.add_to_cart {
	padding: 12px 20px 10px 20px;
}

.add_to_cart img {
	max-width: 26px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
}

.detail_produit .product_infos .sep {
	border-bottom: 1px solid var(--global-background-color);
	margin-bottom: 25px;
}

/* TABS SYSTEM */
.infos-produit ul.tabs-infos-produit {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

.infos-produit ul.tabs-infos-produit li {
	background: none;
	color: #313131;
	display: inline-block;
	padding: 15px 25px 10px 25px;
	cursor: pointer;
	font-size: 18px;
}

.infos-produit ul.tabs-infos-produit li.current {
	background: #ededed;
	color: var(--primary-color);
	/* #ffd32a */
}

.infos-produit .tab-content {
	display: none;
	background: #ededed;
	color: #313131;
	padding: 25px;
	font-size: 15px;
	margin-bottom: 25px;
	letter-spacing: 0.5px;
}

.infos-produit .tab-content.current {
	display: inherit;
}

/* Mes produit */
.produits_marques_logos img {
	max-width: 100px;
	width: 100%;
}

.fnse img {
	margin-left: 15px;
}

/************************
*** DÉTAIL PRODUIT  ***
************************/
.detail_produit {
	padding-top: 50px;
}

.detail_produit .detail_produit_main {
	margin-bottom: 50px;
	align-items: flex-start;
}

.detail_produit .product_image {
	padding: 25px;
}

.detail_produit .product_image .lSGallery img {
	max-height: 60px;
	width: auto;
}

.detail_produit .product_infos {
	padding: 25px 0;
}

.detail_produit .product_meta {
	list-style: none;
	padding: 0;
	margin: 25px 0 0;
}

.detail_produit .product_meta li {
	padding: 10px 0;
	border-bottom: 1px solid #f1ece5;
	font-size: 16px;
}

.detail_produit .product_meta li:last-child {
	border-bottom: none;
}

.detail_produit .product_meta .product_label {
	display: inline-block;
	min-width: 80px;
	color: #888;
	font-weight: 400;
}

.detail_produit .product_meta strong {
	color: var(--heading-color, #322A43);
	font-weight: 600;
}

.detail_produit .product_description {
	max-width: 900px;
	margin: 0 auto 40px;
	padding: 30px 25px;
	background: #fdfaf6;
	border-radius: 4px;
}

.detail_produit .product_description .global_section_title {
	text-align: center;
	display: block;
}

.detail_produit .product_description hr.sep {
	margin: 15px auto 25px;
}

.detail_produit .product_description_content {
	line-height: 1.7;
	white-space: pre-line;
	color: #444;
}

.detail_produit .detail_produit_cta {
	gap: 15px;
	padding: 25px 0;
}

@media screen and (max-width: 768px) {
	.detail_produit .product_image #lightSlider img {
		max-height: 280px;
	}
	.detail_produit .product_infos {
		padding-top: 0;
	}
	.detail_produit .product_description {
		padding: 20px 15px;
	}
}

/****************
*** TARIFS    ***
****************/

/* Nouveau layout grille de cards */
.tarifs_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	max-width: 1200px;
	margin: 0 auto;
}

.tarif_card {
	display: flex;
	flex-direction: column;
	padding: 25px 25px 20px;
	background: #fff;
	border: 1px solid #f0e8dc;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tarif_card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

.tarif_card_head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 8px;
}

.tarif_card_title {
	margin: 0;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-weight: 600;
	color: var(--heading-color, #322A43);
	line-height: 1.3;
	flex: 1;
}

.tarif_card_title a {
	color: inherit;
	text-decoration: none;
}

.tarif_card_title a:hover {
	color: var(--primary-color);
}

.tarif_card_price {
	white-space: nowrap;
	text-align: right;
	flex-shrink: 0;
}

.tarif_card_price strong {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: var(--heading-color, #322A43);
}

.tarif_card_price_label {
	display: block;
	font-size: 14px;
	font-style: italic;
	color: #888;
	margin-bottom: 2px;
}

.tarif_card_duree {
	margin: 4px 0 12px;
	font-size: 14px;
	color: #888;
	font-style: italic;
}

.tarif_card_duree i {
	margin-right: 5px;
}

.tarif_card_desc {
	flex: 1;
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.55;
	color: #555;
}

.tarif_card_actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	padding-top: 15px;
	border-top: 1px solid #f5efe5;
}

.tarif_card_link {
	font-size: 14px;
	color: #777;
	text-decoration: none;
	letter-spacing: 0.5px;
	transition: color 0.2s ease;
}

.tarif_card_link i {
	margin-right: 5px;
}

.tarif_card_link:hover {
	color: var(--heading-color, #322A43);
}

.tarif_card_cta {
	padding: 8px 16px;
	font-size: 14px;
	letter-spacing: 1px;
}

@media screen and (max-width: 1024px) {
	.tarifs_grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 600px) {
	.tarifs_grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.tarif_card {
		padding: 20px;
	}
	.tarif_card_actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}
	.tarif_card_cta {
		text-align: center;
	}
	.tarif_card_link {
		text-align: center;
	}
}

/* Ancien layout (conservé au cas où) */
.tarifs_categorie {
	max-width: 900px;
	margin: 0 auto 50px;
}

.tarifs_categorie_title {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 1.5em;
	font-weight: 600;
	color: var(--heading-color, #322A43);
	margin: 0 0 5px;
	text-align: center;
}

.tarifs_categorie hr.sep {
	margin: 15px auto 25px;
}

.tarifs_table {
	width: 100%;
	border-collapse: collapse;
}

.tarifs_table tr {
	vertical-align: baseline;
}

.tarifs_table td {
	padding: 12px 0;
}

.tarifs_table .tarifs_nom {
	font-size: 16px;
	color: var(--heading-color, #322A43);
	white-space: nowrap;
	padding-right: 8px;
}

.tarifs_table .tarifs_nom a {
	color: inherit;
	text-decoration: none;
	font-weight: 500;
}

.tarifs_table .tarifs_nom a:hover {
	color: var(--primary-color);
}

.tarifs_table .tarifs_duree {
	display: inline-block;
	margin-left: 10px;
	color: #888;
	font-size: 14px;
	font-style: italic;
}

.tarifs_table .tarifs_dots {
	width: 100%;
	border-bottom: 2px dotted #ccc;
	transform: translateY(-4px);
}

.tarifs_table .tarifs_prix {
	white-space: nowrap;
	padding-left: 8px;
	font-size: 16px;
	color: var(--heading-color, #322A43);
}

.tarifs_table .tarifs_prix_inner {
	display: inline-flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 8px;
	width: 140px;
}

.tarifs_table .tarifs_partir {
	color: #888;
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	white-space: nowrap;
}

.tarifs_table .tarifs_prix_value {
	font-weight: 700;
	font-size: 17px;
	min-width: 60px;
	text-align: right;
}

.tarifs_table .tarifs_cta {
	padding-left: 20px;
	text-align: right;
	white-space: nowrap;
}

.tarifs_table .tarifs_cta .btnStd {
	padding: 6px 16px;
	font-size: 14px;
	letter-spacing: 1px;
}

@media screen and (max-width: 768px) {
	.tarifs_categorie_title {
		font-size: 1.25em;
	}
	.tarifs_table .tarifs_nom,
	.tarifs_table .tarifs_prix {
		font-size: 14px;
		white-space: normal;
	}
	.tarifs_table .tarifs_duree {
		display: block;
		margin-left: 0;
	}
	.tarifs_table .tarifs_partir {
		display: block;
		margin-right: 0;
	}
	.tarifs_table .tarifs_dots {
		display: none;
	}
	.tarifs_table td {
		padding: 8px 0;
	}
}

/**********************
*** MON ACTIVITÉ    ***
**********************/
.mon_activite .ma_section {
	padding: 60px 25px;
}

.mon_activite .ma_section_light {
	background-color: #fff;
}

.mon_activite .ma_section_alt {
	background-color: #fdfaf6;
}

.mon_activite .ma_card {
	max-width: 720px;
	margin: 0 auto;
	padding: 35px 30px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	border-radius: 4px;
	box-sizing: border-box;
}

.mon_activite .ma_card_wide {
	max-width: 1000px;
}

.mon_activite .ma_card_right {
	margin: 0 0 0 auto;
}

@media screen and (max-width: 1100px) {
	.mon_activite .ma_card_wide {
		max-width: 90%;
	}
	.mon_activite .ma_card_right {
		margin: 0 auto;
	}
}

/* Layout éditorial : numéro décoratif + contenu */
.mon_activite .ma_editorial {
	padding: 80px 40px;
	overflow: hidden;
}

.mon_activite .ma_editorial_inner {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 50px;
	max-width: 1100px;
	margin: 0 auto;
	align-items: start;
}

.mon_activite .ma_editorial_reverse .ma_editorial_inner {
	grid-template-columns: 1fr 220px;
}

.mon_activite .ma_editorial_reverse .ma_editorial_aside {
	order: 2;
	text-align: right;
}

.mon_activite .ma_editorial_aside {
	position: sticky;
	top: 120px;
	padding-top: 10px;
}

.mon_activite .ma_editorial_num {
	display: block;
	font-family: var(--global-primary-font);
	font-size: 8em;
	font-weight: 700;
	line-height: 1;
	color: var(--primary-color);
	opacity: 0.5;
	letter-spacing: -4px;
}

.mon_activite .ma_editorial_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	background: var(--primary-color);
	color: #fff;
	font-size: 4.5em;
	box-shadow: 0 8px 24px rgba(255, 216, 184, 0.45);
}

.mon_activite .ma_editorial_icon i {
	line-height: 1;
}

.mon_activite .ma_editorial_content {
	min-width: 0;
}

.mon_activite .ma_editorial_content .ma_section_title {
	margin-bottom: 5px;
}

.mon_activite .ma_editorial_content hr.sep {
	margin: 15px 0 25px;
}

.mon_activite .ma_editorial_content .ma_text {
	font-size: 16px;
	line-height: 1.75;
}

@media screen and (max-width: 768px) {
	.mon_activite .ma_editorial {
		padding: 50px 20px;
	}
	.mon_activite .ma_editorial_inner,
	.mon_activite .ma_editorial_reverse .ma_editorial_inner {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	.mon_activite .ma_editorial_aside,
	.mon_activite .ma_editorial_reverse .ma_editorial_aside {
		position: static;
		order: 0;
		text-align: left;
	}
	.mon_activite .ma_editorial_num {
		font-size: 4em;
	}
	.mon_activite .ma_editorial_icon {
		width: 90px;
		height: 90px;
		font-size: 2.5em;
	}
}

.mon_activite .ma_section_alt .ma_card {
	background: #fff;
}

.mon_activite .ma_section_title {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 1.5em;
	line-height: 1.3;
	font-weight: 600;
	font-family: var(--global-primary-font);
	margin: 0 0 5px;
	color: var(--heading-color, #322A43);
}

.mon_activite .ma_text {
	line-height: 1.7;
	color: #444;
	font-size: 15px;
	text-align: justify;
}

.mon_activite .ma_text p {
	margin: 0 0 15px;
}

.mon_activite .ma_text p:last-child {
	margin-bottom: 0;
}

.mon_activite .ma_ateliers_img {
	max-width: 100%;
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(60, 40, 25, 0.08);
}

.mon_activite .produits_marques_logos a {
	max-width: 22%;
}

.mon_activite .produits_marques_logos img {
	max-width: 100%;
	height: auto;
}

.mon_activite .ma_produits_slider img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	.mon_activite .ma_section {
		padding: 35px 15px;
	}
	.mon_activite .ma_card {
		padding: 25px 20px;
	}
	.mon_activite .ma_section_title {
		font-size: 1.25em;
	}
}

/*******************
*** AVIS SLIDER  ***
*******************/
.home .avis_section,
.avis_section {
	background-color: var(--marine);
	padding: 40px 56px;
	margin: 0;
	border-bottom: 1px solid var(--sable-alt);
}

.avis_eyebrow {
	text-align: center;
	margin: 0 auto 22px auto;
	font-size: 14px;
	letter-spacing: 0.2em;
	color: var(--dore);
	opacity: 0.9;
	font-family: var(--global-primary-font);
	font-weight: 500;
	font-size: 24px;
	text-transform: none;
	line-height: 1.2;
	display: block;
}

/* Petit filet horizontal doré au-dessus de "Témoignages" */
.avis_eyebrow:before {
	content: '';
	display: block;
	width: 24px;
	height: 2px;
	background: var(--dore);
	border-radius: 2px;
	margin: 0 auto 10px;
	opacity: 0.9;
}

/* Carousel témoignages — mini-slider custom */
.avis_carousel {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	padding: 0 70px;
	box-sizing: border-box;
}

.avis_slider {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-areas: 'stack';
}

.avis_slider .avis_item {
	grid-area: stack;
	opacity: 0;
	visibility: hidden;
	transform: translateX(25px);
	transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0.5s;
	pointer-events: none;
}

.avis_slider .avis_item.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0s;
	pointer-events: auto;
}

.avis_slider .avis_quote {
	background: var(--beige);
	border: 0.5px solid var(--sable-alt);
	border-top: 2px solid var(--dore);
	border-radius: 5px;
	padding: 40px 48px;
	position: relative;
	text-align: left;
	margin: 0;
}

.avis_slider .avis_quote:before {
	content: '\201C';
	font-family: var(--global-primary-font);
	font-style: normal;
	font-size: 36px;
	color: var(--dore);
	opacity: 0.3;
	position: absolute;
	top: 20px;
	left: 40px;
	line-height: 1;
}

.avis_slider .avis_text {
	font-family: var(--global-primary-font);
	font-size: 16px;
	line-height: 1.7;
	font-style: italic;
	color: var(--marine);
	margin: 20px 0 12px 0;
}

.avis_slider .avis_author {
	font-family: var(--global-secondary-font);
	font-weight: 500;
	font-size: 14px;
	color: var(--terra);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Contrôles carousel — dots + flèches sur fond marine (maquette) */
.avis_carousel_btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: transparent;
	border: 1px solid rgba(201, 169, 110, 0.4);
	color: var(--beige);
	font-size: 14px;
	line-height: 1;
	font-family: var(--global-secondary-font);
	cursor: pointer;
	padding: 0;
	transition: all 0.2s ease;
	z-index: 2;
}

.avis_carousel_btn:hover {
	background: rgba(201, 169, 110, 0.15);
	border-color: var(--dore);
	transform: translateY(-50%);
}

.avis_carousel_prev { left: 0; }
.avis_carousel_next { right: 0; }

/* Dots */
.avis_carousel_dots {
	list-style: none;
	text-align: center;
	margin: 18px 0 0;
	padding: 0;
}

.avis_carousel_dots li {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(201, 169, 110, 0.3);
	margin: 0 5px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.avis_carousel_dots li.is-active {
	background: var(--dore);
	width: 18px;
	border-radius: 3px;
}

@media screen and (max-width: 768px) {
	.avis_section { padding: 32px 24px; }
	.avis_carousel { padding: 0 40px; max-width: 100%; }
	.avis_slider .avis_text { font-size: 14px; }
	.avis_slider .avis_quote { padding: 28px 22px 22px 22px; }
	.avis_slider .avis_quote:before { left: 18px; top: 12px; font-size: 28px; }
}

/********************
*** HEADER SIMPLE ***
********************/
.page_header_simple {
	padding: 180px 0 35px 0;
	background: transparent;
	text-align: center;
}

.page_header_simple .global_page_title {
	font-size: 2em;
	font-weight: 600;
	color: var(--heading-color, #322A43);
	margin: 0 auto;
}

.page_header_simple .socials_network_list {
	position: static;
	display: inline-flex;
	gap: 15px;
	justify-content: center;
	margin-top: 15px;
}

.page_header_simple .socials_network_list a {
	color: var(--heading-color, #322A43);
	font-size: 20px;
}

.page_header_simple .socials_network_list a img {
	width: 20px;
}

@media screen and (max-width: 768px) {
	.page_header_simple {
		padding: 130px 0 20px 0;
	}
	.page_header_simple .global_page_title {
		font-size: 1.5em;
	}
}

/**************
*** CONTACT ***
**************/
.contact h2 {
	font-size: 20px;
	line-height: 150%;
	font-weight: 500;
}

.contact .contact_selector {
	text-align: center;
	margin: 25px auto 60px;
	max-width: 500px;
}

.contact iframe {
	margin-top: 60px;
	display: block;
}

.contact .contact_selector_label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 14px;
}

.contact .contact_selector_input {
	width: 100%;
	padding: 12px 15px;
	font-size: 16px;
	border: 1px solid #ddd;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
	box-sizing: border-box;
}

.contact .contact_bloc {
	background: #fff;
	box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.10);
	margin: 25px auto;
	padding: 35px 40px;
	max-width: 1100px;
	box-sizing: border-box;
}

.contact .contact_bloc .global_section_title {
	margin-bottom: 0;
}

.contact #planity {
	min-height: 600px;
}

.contact .planity_branding {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 15px 20px;
	margin-bottom: 25px;
	background: #fdfaf6;
	border-left: 4px solid var(--primary-color);
	border-radius: 4px;
}

.contact .planity_branding img {
	width: 70px;
	height: auto;
	flex-shrink: 0;
}

.contact .planity_branding p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}

@media screen and (max-width: 568px) {
	.contact .planity_branding {
		flex-direction: column;
		align-items: flex-start;
		text-align: center;
	}
	.contact .planity_branding img {
		margin: 0 auto;
	}
}

/*************
*** BOUTON ***
**************/
.btnStd {
	font-family: var(--global-secondary-font);
	font-weight: 500;
	display: table;
	padding: 12px 24px;
	font-size: 14px;
	text-align: center;
	text-transform: uppercase;
	border: 1px solid var(--terra);
	letter-spacing: 0.1em;
	color: var(--beige);
	cursor: pointer;
	background: var(--terra);
	border-radius: 3px;
	text-decoration: none;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}

.btnStd:hover {
	background: transparent;
	color: var(--terra);
	border-color: var(--terra);
}

.btnStd.spe {
	background-color: var(--marine);
	border-color: var(--marine);
	color: var(--beige);
}

.btnStd.spe:hover {
	background-color: transparent;
	color: var(--marine);
	border-color: var(--marine);
}

/* Variante outline (transparent + bord) */
.btnStd.btnStd_outline,
.btnOutline {
	background: transparent;
	color: var(--terra);
	border: 1px solid var(--terra);
}

.btnStd.btnStd_outline:hover,
.btnOutline:hover {
	background: var(--terra);
	color: var(--beige);
	border-color: var(--terra);
}

/* Variante dorée (sur fond marine) */
.btnStd.btnStd_gold,
.btnGold {
	background: transparent;
	color: var(--dore);
	border: 1px solid var(--dore);
}

.btnStd.btnStd_gold:hover,
.btnGold:hover {
	background: var(--dore);
	color: var(--marine);
}

/**************
*** CONTACT ***
***************/

/*Checkboxes styles*/
input[type="checkbox"] {
	display: none;
}

input[type="checkbox"]+label {
	display: block;
	position: relative;
	padding: 0 0 0 20px;
	margin: 25px 0;
	color: #aaa;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	font-size: 14px;
	line-height: 20px;
	color: #292b2c;
}

/*input[type="checkbox"] + label:last-child { margin-bottom: 0; }*/
input[type="checkbox"]+label:before {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	border: 1px solid var(--primary-color);
	position: absolute;
	left: 0;
	top: 0;
	opacity: .6;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
	margin-left: 2px;
}

input[type="checkbox"]:checked+label:before {
	width: 10px;
	top: -5px;
	left: 5px;
	border-radius: 0;
	opacity: 1;
	border-top-color: transparent;
	border-left-color: transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/***********
*** RGPD ***
************/

.plc {
	color: #000;
	font-size: 15px;
}

.rgpd {
	margin: 0;
	font-size: 1em;
}

.rgpd h1.titre {
	text-align: center;
	font-size: 26px;
	padding: 20px 0;
	color: var(--primary-color);
	text-transform: uppercase;
}

.rgpd .sousTitre {
	font-size: 18px;
	padding: 15px;
	margin: 0px;
	text-align: center;
	color: #7d7d7d;
	padding: 20px 50px;
}

.rgpd h1 {
	color: #313131;
}

.rgpd b {
	margin-bottom: 25px;
	display: block;
	font-size: 1.3em;
	color: var(--primary-color);
}

.rgpd ul {
	list-style-type: none;
	margin: 15px 0;
}

.rgpd>ul li {
	padding: 0 0 0 30px;
}

.rgpd>ul li a {
	color: var(--primary-color);
}

.rgpd ul li ul li:before {
	content: '•';
	margin-right: 8px;
}

.rgpd hr {
	margin: 30px 0;
}


.mobile_menu_button {
	display: none;
}


/***************
*** MENTIONS ***
****************/

.mentionsCont {
	width: 100%;
	margin: 15px auto;
	max-width: 1024px;
}

.mentionsLeg {
	padding: 25px 0;
}

.mentionsLeg > div {
	flex-basis: 30%;
}

.mentionsLeg h2 {
	color: #000000;
	display: block;
	font-weight: 600;
	font-size: 18px;
	text-transform: uppercase;
	font-family: var(--global-secondary-font);
	margin-bottom: 5px;
	font-weight: 700;
}

.mentionsLeg h3 {
	color: #676666;
	display: block;
	font-size: 16px;
	line-height: 20px;
	text-transform: uppercase;
	font-family: var(--global-secondary-font);
	font-weight: 700;
	padding-bottom: 15px;
}

.mentionsLeg p {
	flex-basis: 70%;
	padding: 0 25px;
}


/* --- 404 --- */
.page-404 {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 80px calc(50vw - 50% + 56px) 96px;
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: var(--marine);
	border-top: 1px solid var(--dore);
	border-bottom: 1px solid var(--dore);
}

.page-404 .p404-inner {
	max-width: 620px;
}

.page-404 .p404-code {
	font-family: var(--global-primary-font);
	font-size: 160px;
	font-weight: 300;
	line-height: 1;
	color: var(--dore);
	opacity: 0.55;
	letter-spacing: 0.04em;
	margin-bottom: 8px;
}

.page-404 .p404-ey {
	font-family: var(--global-secondary-font);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dore);
	margin-bottom: 6px;
}

.page-404 .p404-title {
	font-family: var(--global-primary-font);
	font-size: 48px;
	font-weight: 300;
	line-height: 1.2;
	color: var(--beige);
	margin: 0;
}

.page-404 .gold-line {
	margin: 18px auto;
}

.page-404 .p404-text {
	font-family: var(--global-secondary-font);
	font-size: 16px;
	line-height: 1.85;
	color: var(--beige);
	opacity: 0.85;
	margin: 0 0 32px;
}

.page-404 .p404-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

.page-404 .p404-actions .btnStd {
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.page-404 {
		padding: 56px 24px 64px;
		min-height: 60vh;
	}

	.page-404 .p404-code {
		font-size: 104px;
	}

	.page-404 .p404-title {
		font-size: 36px;
	}
}

/* Préstation / Tarifs */
.prestation_image  {
	padding-right: 25px;
}


/***********
 * ECRAN 13 POUCES
 */

@media screen and (max-width: 1366px) {
	.menuCell a.none {
		font-size: 14px;
	}

	.menuCell {
		padding: 10px 5px;
	}
}

@media screen and (max-width: 1280px) {

	/* Qui sommes-nous */
	.qui-sommes-nous .part-2 .pure-g {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}

	/* Détail produit */
	.produit .pure-u-1 {
		margin: 25px 0;
	}

	.product_tabs .pad50 {
		padding: 25px;
	}

	/* Création compte */
	.global_form .mid {
		width: 100%;
	}

}


/***********
 * TABLETTE PAYSAGE
 */
@media screen and (max-width: 1024px) {

	/* Footer */
	.newsletter_form,
	.social_links_col {
		padding: 25px 15px;
	}

	/* Mentions légales */
	.mentionsLeg {
		flex-wrap: wrap;
	}

	.mentionsLeg h3,
	.mentionsLeg>div {
		flex-basis: 100%;
	}

	.mentionsLeg p {
		padding: 15px 0;
	}

	/* Détails produit */
	.detail_produit .product_logged_infos {
		padding: 0;
	}

	.produit .pure-u-1 {
		margin: 10px 0;
	}
}

/***********
 * PETITE TABLETTE PAYSAGE
 */

@media screen and (max-width: 960px) {
	.contentMenuTop {
		padding: 10px;
	}

	.contentMenuTop .menuTab .menuRow .menuCell {
		float: none;
		display: block;
		width: 100%;
		margin: 0;
	}

	.contentMenuTop .menuTab .menuRow .menuCell a.home {
		display: table;
	}

	.contentMenuTop .menuTab .menuRow .menuCell a.none {
		margin: 0;
		display: block;
		padding: 2px 0;
	}

	.reg_topDroite.flor {
		width: 30%;
	}

	.reg_topGauche.flol {
		width: 70%;
	}

	.menuTab .menuRow .menuCell .rs {
		display: none;
	}

	.menuCell {
		margin: 0 0 5px 0;
		padding: 15px 0;
	}

	.menuTab:nth-child(2) {
		display: block;
		height: 31px;
		overflow: hidden;
		text-align: center;
	}

	a.logoTop {
		padding: 0px;
	}

	.pad50 {
		padding: 25px;
	}

	.pad25 {
		padding: 15px;
	}

	.ptb50 {
		padding: 25px 0;
	}

	.btnStd {
		font-size: 14px;
		padding: 12px 20px 10px 20px;
	}

	/* Responsive transition menu */
	.menuRow {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	.contentMenuTop{ 
		padding: 10px 0;
		position: fixed;
		z-index: 1000;
		width: 300px;
		right: -305px;
		top: 0;
		box-shadow: 3px 0 0 0 #515151;
		background-color: #fff;
		height: 100vh;
		-webkit-box-shadow: -3px 0px 5px -2px rgba(0,0,0,0.3); 
		box-shadow: -3px 0px 5px -2px rgba(0,0,0,0.3);
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		-webkit-transition: right 0.4s ease;
		-o-transition: right 0.4s ease;
		transition: right 0.4s ease;
	}
	.menuTab.bloc2 {
		margin-top: 100px;
	}
	.miniBar a:not(.sel):not(.btnStd) {
		color: var(--global-text-color);
	}
	.miniBar a.none:hover {
		color: #fff;
	}
	.mobile_menu_button.open + .contentMenuTop { 
		right: 0;
		-webkit-transform: translate(100, 0);
		-ms-transform: translate(100, 0);
		transform: translate(100, 0);
	}
	.mobile_menu_button {
	  display: block;
	  margin-left: auto;
	  cursor: pointer;
	  position: relative;
	  z-index: 1100;
	  padding: 8px 0;
	  width: 26px;
	}
	[class^="bar"] {
	  display: block;
	  width: 26px;
	  height: 2px;
	  background-color: var(--marine);
	  margin: 5px 0;
	  border-radius: 1px;
	  transform-origin: center center;
	  transition: transform 0.3s ease, opacity 0.2s ease;
	}
	.miniBar [class^="bar"],
	.container.mobile_menu_button.open [class^="bar"] {
		background-color: var(--marine);
	}
	.transparent_header [class^="bar"] {
		background-color: var(--marine);
	}
	.mobile_menu_button.open .bar1 { transform: translateY(7px) rotate(45deg); }
	.mobile_menu_button.open .bar2 { opacity: 0; }
	.mobile_menu_button.open .bar3 { transform: translateY(-7px) rotate(-45deg); }
	.navbar a:hover, .subnav:hover {
		background: none;
	}
	.contentMenuTop .menuTab .menuRow .menuCell a:hover {
		background-color: #350d42;
	}
	.contentMenuTop .menuTab .menuRow .menuCell a.sel i {
		color: #fff;
	}
	.mobile_menu_button.open .bar1 {
	  -webkit-transform: rotate(-45deg) translate(-7px, 6px);
	  -ms-transform: rotate(-45deg) translate(-7px, 6px);
	  transform: rotate(-45deg) translate(-7px, 6px);
	}
	.mobile_menu_button.open .bar2 {opacity: 0;}
	.mobile_menu_button.open .bar3 {
	  -webkit-transform: rotate(45deg) translate(-9px, -9px);
	  -ms-transform: rotate(45deg) translate(-9px, -9px);
	  transform: rotate(45deg) translate(-9px, -9px);
	}
	.mobile_menu_button.open + .contentMenuTop .subnav-content.open {
		padding: 10px;
		display: flex;
		flex-wrap: wrap;
		background: none;
		position: static;
	}
	.subnav-content a {
		padding: 10px 5px;
		flex-basis: 50%;
		color: #350d42;
		font-size: 14px;
		text-align: center;
	}
	.subnav-content a:hover {
		color: #fff;
	}
	.reg_topGauche {
		flex-basis: 30%;
	}
	.reg_topDroite {
		flex-basis: 70%;
	}
	.menuTab > .flex {
		flex-wrap: wrap;
	}

	.menuTab > .flex > * {
		flex: 1 1 100%;
	}

	.menuCell a.none {
		font-size: 18px;
		padding: 10px 0;
		margin: 0 15px;
		width: calc(100% - 30px);
	}

	.menuTab > .flex .btnStd { 
		margin: 0 auto;
		width: calc(100% - 30px);
		padding: 15px 0;
		background-color: var(--primary-color);
		border-color: var(--primary-color);
	}

	.menuTab > .flex .btnStd:hover {
		color: #fff;
		opacity: 0.8;
	}

	/*****/

	/* Détails produit */
	.detail_produit .product_category {
		font-size: 2em;
	}

	/* Détails catégorie */
	.detail_categorie_header {
		/*background-image: url('/imgs//contenu/tablette_agyplus-categorie-background.jpg');
		background-position: bottom center;*/
		background: none;
		min-height: auto;
	}

	.detail_categorie_header .global_page_title {
		font-size: 3.5em;
		width: 100%;
		padding: 50px 15px;
	}

	.detail_categorie_header h1 {
		min-width: auto;
	}

	.part2.footer {
		padding: 15px;
	}

	#header {
		background: var(--beige);
	}

	.search {
		display: none;
	}

	.sub-menu {
		padding: 0;
	}

	/* Boutique	*/
	.component_liste_prestation .btnStd {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 30%;
		flex: 1 1 30%;
	}

}


/***********
 * TABLETTE PORTRAIT
 */

@media screen and (max-width: 768px) {

	.home .container_max_width {
		background: none;
	}

	.contentBotLien cite {
		font-size: 14px;
	}

	.contentMenuTop .menuTab .menuRow .menuCell {
		padding: 0;
	}

	.reg_topDroite.flor {
		width: 40%
	}

	.reg_topGauche.flol {
		width: 60%
	}

	.contentMenuTop .menuTab .menuRow .menuCell a.none {
		padding: 5px 0;
	}

	.logoTop img {
		width: 100%;
		padding-top: 15px;
		margin: 0;
	}

	a.logoTop {
		max-width: 150px;
	}

	.global_page_title {
		font-size: 2.5em;
	}

	.nav {
		width: 60vw;
	}

	/* Footer */
	footer .pure-u-1 {
		padding: 25px 0;
	}

	.contentBotLien {
		display: block;
		text-align: center;
	}

	.contentBotLien strong {
		margin: 0 auto 15px auto;
	}

	.part3 {
		padding: 15px;
	}

	footer .bottom_menu {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	/* Détails produits */
	.detail_produit footer.flex.sa {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.detail_produit .product_infos>.pad25 {
		padding: 0;
	}

	.detail_produit a.fds {
		padding-left: 0;
	}

	.detail_produit .product_cta {
		margin-left: auto;
	}

	.detail_produit .product_infos .product_description {
		padding-bottom: 0px;
	}

	/* Parcours	*/
	.devouement img {
		display: none;
	}

	.devouement .btnStd {
		margin: 0 auto;
	}

	.qui-sommes-nous .parcours .parcours_img_float {
		float: none;
		display: block;
		width: 200px;
		height: 200px;
		margin: 0 auto 25px;
		shape-outside: none;
	}

	.qui-sommes-nous .parcours .parcours_infos {
		position: static;
		box-shadow: none;
		background: transparent;
		margin-top: 25px;
		text-align: center;
	}

	main {
		background-size: 100%;
	}
}


/***********
 * PETITE TABLETTE PORTRAIT
 */
@media screen and (max-width: 568px) {

	/* Top */
	.header .sub-menu {
		display: none;
	}

	.reg_topGauche {
		flex-basis: 50%;
	}

	.reg_topDroite {
		flex-basis: 50%;
	}

	a.logoTop {
		margin: 0;
		max-width: 200px;
	}

	/* Accueil */

	/* Préstation / Tarifs */
	.prestation_image img {
		margin: 0 auto;
		display: block;
	}


	/* Footer */
	.footer_copyright_menu {
		width: 100%;
	}

	.footer_copyright_menu a {
		display: block;
		text-align: center;
		padding: 10px;
	}

	.part3.copyright {
		text-align: center !important;
	}

	.part3.copyright span {
		padding: 10px;
	}

	/***/

	.socials_network_list a img {
		vertical-align: sub;
	}

	.contact .global_form .input_pad {
		padding: 20px 0;
	}

	.contact .global_form fieldset {
		padding: 0;
	}

	.contact .global_form .pad50 {
		padding: 15px;
	}

	.contact .global_form .btnStd {
		display: block;
		width: 100%;
		text-align: center;
		margin: 25px 0;
	}

	/* Boutique	*/
	.component_liste_prestation .btnStd {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
	}

	.component_liste_prestation .prestation_container {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}

}

/***********
 * MOBILE PAYSAGE
 */

@media screen and (max-width: 480px) {
	a.logoTop {
		max-width: 140px;
	}
	a.logoTop img {
		padding-top: 0;
	}
	.btnStd {
		font-size: 14px;
	}

	.global_form textarea {
		min-height: 180px;
	}

	.global_page_title {
		font-size: 1.7em;
	}

	.global_section_title {
		font-size: 1.5em;
		letter-spacing: 2px;
	}

	.socials_network_list {
		right: 50%;
		transform: translateX(50%);
	}

	.socials_network_list a {
		font-size: 30px;
	}

	.socials_network_list a img {
		width: 30px;
	}

	/* Home	*/
	.home header .global_page_title {
		font-size: 3em;
	}

	.home header h2 {
		font-size: 1em;
		line-height: 1.4;
		letter-spacing: 2px;
	}

	.home .slider_item {
		height: 50vh !important;
	}

	.fixed_cta-call p {
		font-size: 14px;
	}

	.fixed_cta-call img {
		width: 20px;
	}

	/* Détail produit */
	#avis input {
		width: 100%;
	}

	/* Détails produit */
	.detail_produit .product_infos .product_detail_item img {
		max-width: 45px;
	}

	.detail_produit .product_infos .product_detail strong,
	.product_quantity span {
		font-size: 1.5em;
	}

	.detail_produit .product_infos .product_detail span {
		font-size: 1.35em;
	}

	.detail_produit a.fds {
		font-size: 1.45em;
		text-align: left;
	}

	/* Liste Produits */
	.liste_produits .produit h3 {
		font-size: 1.15em;
	}

	.liste_produits .produit h2 {
		font-size: 1.5em;
	}

	.prestation .pad50 {
		padding: 50px 0;
	}

	/* Contact */
	.contact h2 {
		font-size: 16px;
		line-height: 130%;
	}

	/***/

	.parcours > .flex {
		padding: 0;
	}

	.devouement .pure-u-1 > .pad25 {
		padding: 0;
	}

	/* Produits / Comment je travaille */
	.produits > .pad50 {
		padding: 0;
	}

	.global_text {
		padding: 0;
	}

	.global_text .pure-u-1 .pad25 {
		padding: 0;
	}

	.global_text img {
		margin-bottom: 25px;
	}

	.produits header > div.prel {
		height: 40vh !important;
	}

	.produits_marques_logos {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.produits_marques_logos img {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 50%;
		flex: 1 1 50%;
	}
}

/***********
 * MOBILE PORTRAIT
 */

@media screen and (max-width: 320px) 
{
	.qui-sommes-nous .pad50 {
		padding: 50px 0;
	}

	.pad50 {
		padding: 15px;
	}

	.produits .text > .pad25 {
		padding: 0;
	}
}


/*****************************
 * REFRESH 2026 — Inspiré des maquettes Laura
 *****************************/

/* Logo top en texte (Laura Martins + baseline) */
a.logoTop.logoTopText {
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	max-width: none;
	padding: 5px 0;
	float: none;
}

.logoTopText_name {
	font-family: var(--global-primary-font);
	font-size: 22px;
	font-weight: 600;
	color: var(--marine);
	letter-spacing: 0.06em;
	display: block;
	line-height: 1.1;
}

.logoTopText_baseline {
	font-family: var(--global-secondary-font);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--terra);
	opacity: 0.85;
	font-weight: 500;
	margin-top: 3px;
	display: block;
}

/* miniBar : version compacte */
.miniBar a.logoTop.logoTopText {
	width: auto;
	max-width: none;
	padding: 0;
}

.miniBar .logoTopText_name {
	font-size: 18px;
	color: var(--marine);
}
/* .logoTopText_baseline est déjà masqué par .miniBar .reg_topGauche span { display: none; } */

/* Accueil : phrase signature (maquette — Cormorant italic + gold-line) */
.home_phrase {
	background: var(--beige);
	padding: 40px 80px;
	text-align: center;
	border-bottom: 1px solid var(--dore);
}

.home_phrase_inner {
	max-width: 700px;
	margin: 0 auto;
}

.home_phrase_text {
	font-family: var(--global-primary-font);
	font-size: 20px;
	font-style: italic;
	color: var(--marine);
	line-height: 1.8;
	margin: 0;
}

.home_phrase_text strong {
	font-weight: 600;
	font-style: normal;
}

.home_phrase .gold-line {
	margin: 14px auto 0;
}

@media screen and (max-width: 768px) {
	.home_phrase { padding: 30px 24px; }
	.home_phrase_text { font-size: 17px; line-height: 1.7; }
}

/* Override miniBar : garder terracotta plein sur fond crème du scroll bar */
.miniBar .btnStd {
	background-color: var(--terra);
	border-color: var(--terra);
	color: var(--beige);
}

.miniBar .btnStd:hover {
	background: transparent;
	color: var(--terra);
	border-color: var(--terra);
}

/* Eyebrow label (façon maquettes : terracotta pour blocs clairs, doré pour blocs marine) */
.section_eyebrow {
	display: block;
	font-family: var(--global-secondary-font);
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--terra);
	font-weight: 500;
	margin-bottom: 12px;
}

.section_eyebrow.on_marine {
	color: var(--dore);
	opacity: 0.9;
}

/* Nav est maintenant en flux normal — plus besoin de padding-top de compensation */
.qui-sommes-nous,
.mon_activite,
section.prestation {
	padding-top: 40px;
}

/* Détail produit — CTA "Prendre RDV particulier / pro" sous le tarif */
.product_infos_cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}

.product_infos_cta .btnStd {
	margin: 0;
}

@media screen and (max-width: 568px) {
	.product_infos_cta { flex-direction: column; }
	.product_infos_cta .btnStd { width: 100%; text-align: center; }
}

/* CTA bas de page (mon-activite et autres) */
.bottom_cta {
	background-color: #594b3a;
	padding: 70px 0;
	text-align: center;
}

.bottom_cta_title {
	font-family: var(--global-primary-font);
	font-size: 32px;
	font-weight: 500;
	color: #f5ede0;
	margin: 0 0 18px 0;
	letter-spacing: 0.3px;
	line-height: 1.3;
}

.bottom_cta_subtitle {
	font-family: var(--global-secondary-font);
	font-size: 14px;
	color: #d8c8b0;
	margin: 0 0 35px 0;
}

.bottom_cta_actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.bottom_cta_actions .btnStd {
	margin: 0;
}

/* Bouton outline dans le bloc bottom_cta (fond marine) : bord + texte dorés */
.bottom_cta .btnStd.btnStd_outline {
	background: transparent;
	border-color: var(--dore);
	color: var(--dore);
}

.bottom_cta .btnStd.btnStd_outline:hover {
	background: var(--dore);
	border-color: var(--dore);
	color: var(--marine);
}

@media screen and (max-width: 568px) {
	.bottom_cta { padding: 50px 0; }
	.bottom_cta_title { font-size: 24px; }
	.bottom_cta_actions { flex-direction: column; gap: 12px; }
}

/* Accessibilité — masque visuel mais accessible aux lecteurs d'écran et SEO */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Bloc parcours "Mon approche / La Socio-Esthétique" — réutilise le style home */
.qui-sommes-nous .parcours_about {
	background-color: #faf7f3;
	padding: 50px 0;
	margin: 0 0 40px 0 !important;
}

.qui-sommes-nous .parcours_about .presentation_img {
	border-radius: 12px;
	max-width: 360px;
	width: 100%;
	margin: 0 auto;
	display: block;
}

/* Bloc "À propos de moi" — accueil (maquette : image ronde + filet marine) */
.home_apropos {
	background: var(--beige);
	padding: 52px 56px;
	border-bottom: 1px solid var(--sable-alt);
}

.home_apropos_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.home_apropos_img_col {
	display: flex;
	justify-content: flex-end;
}

.home_apropos_img {
	width: 340px;
	height: 340px;
	border-radius: 50%;
	border: 2px solid var(--dore);
	object-fit: cover;
	display: block;
}

/* Filet marine vertical à côté du titre */
.sec_filet_wrap {
	display: flex;
	gap: 16px;
	align-items: stretch;
	margin-bottom: 16px;
}

.sec_filet {
	width: 4px;
	background: var(--marine);
	border-radius: 2px;
	flex-shrink: 0;
	align-self: center;
	min-height: 65px;
}

.home_apropos_title {
	font-family: var(--global-primary-font);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--marine);
	text-transform: none;
	letter-spacing: 0;
	margin: 0;
}

.home_apropos_text {
	font-family: var(--global-secondary-font);
	font-size: 14px;
	line-height: 1.9;
	color: var(--text);
	opacity: 0.9;
	margin-bottom: 16px;
}

.home_apropos_text p {
	margin: 0 0 10px 0;
}

.home_apropos_text p:has(> br:only-child),
.home_apropos_text p:empty {
	display: none;
}

.home_apropos_text strong {
	font-weight: 500;
	color: var(--marine);
}

/* Legacy .presentation_* → alias vers home_apropos_* pour compat pages autres (parcours) */
.presentation_img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
	border: 2px solid var(--dore);
}

.presentation_title {
	font-family: var(--global-primary-font);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--marine);
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 20px 0;
}

.presentation_text {
	font-family: var(--global-secondary-font);
	font-size: 14px;
	line-height: 1.9;
	color: var(--text);
	opacity: 0.9;
}

.presentation_text p {
	margin: 0 0 10px 0;
}

.presentation_text p:has(> br:only-child),
.presentation_text p:empty {
	display: none;
}

.presentation_text strong {
	font-weight: 500;
	color: var(--marine);
}

@media screen and (max-width: 768px) {
	.home_apropos { padding: 32px 24px; }
	.home_apropos_grid { grid-template-columns: 1fr; gap: 30px; }
	.home_apropos_img_col { justify-content: center; }
	.home_apropos_img { width: 240px; height: 240px; }
	.home_apropos_title { font-size: 22px; }
	.presentation_title { font-size: 22px; }
	.presentation_text { font-size: 14px; }
}

/* Responsive */
@media screen and (max-width: 768px) {
	a.logoTop.logoTopText { max-width: none; }
	.logoTopText_name { font-size: 22px; }
	.logoTopText_baseline { font-size: 9px; letter-spacing: 1.5px; }
	.home_baseline_logo { width: 100%; max-width: 400px; }
}

@media screen and (max-width: 480px) {
	a.logoTop.logoTopText { max-width: none; }
	.logoTopText_name { font-size: 22px; font-weight: 700; }
	.logoTopText_baseline { font-size: 8px; letter-spacing: 0.06em; opacity: 0.55; }
	.home_baseline_logo { width: 100%; max-width: 400px; }
}


/*========================================================
 * REFONTE MAQUETTE (accueil) — classes issues des mocks
 *========================================================*/

/* HERO SLIDER */
.home .hero {
	position: relative;
	height: 520px;
	overflow: hidden;
	margin-top: 0;
}

.home .slides {
	display: flex;
	height: 100%;
	transition: transform 0.9s cubic-bezier(0.77, 0, 0.18, 1);
	width: 100%;
}

.home .slide {
	min-width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: flex-end;
}

.home .slide-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Dernière slide : illustration entière visible sur fond sable */
.home .slide-bg.slide-bg-contain {
	background-size: contain;
	background-color: var(--sable);
}

/* Logo doré visible sur TOUTES les slides (demande cliente) */


.home .slide-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
		rgba(30, 45, 74, 0.75) 0%,
		rgba(30, 45, 74, 0.20) 50%,
		transparent 100%);
}

.home .slide-content {
	position: relative;
	z-index: 2;
	padding: 0 56px 48px;
	width: 100%;
}

.home .slide-logo-full {
	height: 210px;
	width: auto;
	display: block;
	margin: 0 auto 6px auto;
}

.home .hero-fixed-content {
	position: absolute;
	z-index: 3;
	left: 56px;
	bottom: 48px;
	pointer-events: none;
	text-align: center;
}

.home .slide-eyebrow {
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dore);
	opacity: 1;
	font-weight: 500;
	margin-top: 10px;
	display: block;
	font-family: var(--global-secondary-font);
	line-height: 1.4;
}

.home .slide-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: rgba(201, 169, 110, 0.15);
	z-index: 4;
}

.home .slide-progress {
	height: 100%;
	background: var(--dore);
	opacity: 0.7;
	width: 0;
	transition: width 3s linear;
}

.home .slide-dots {
	position: absolute;
	bottom: 20px;
	right: 56px;
	display: flex;
	gap: 7px;
	z-index: 5;
}

.home .sdot {
	width: 26px;
	height: 2px;
	background: var(--beige);
	opacity: 0.35;
	border-radius: 2px;
	cursor: pointer;
	transition: all 0.3s;
}

.home .sdot.on {
	opacity: 0.9;
	width: 36px;
	background: var(--dore);
}

.home .slide-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	cursor: pointer;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(201, 169, 110, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--beige);
	background: rgba(0, 0, 0, 0.1);
	user-select: none;
	transition: background 0.2s, border-color 0.2s;
}

.home .slide-nav:hover {
	background: rgba(0, 0, 0, 0.25);
	border-color: var(--dore);
}

.home .slide-nav.prev { left: 20px; }
.home .slide-nav.next { right: 20px; }

/* PHRASE SIGNATURE */
.home .phrase {
	background: var(--beige);
	padding: 40px 80px;
	text-align: center;
	border-bottom: 1px solid var(--dore);
}

.home .phrase-text {
	font-family: var(--global-primary-font);
	font-size: 20px;
	font-style: italic;
	color: var(--marine);
	line-height: 1.8;
	max-width: 700px;
	margin: 0 auto;
}

.home .phrase-text strong {
	font-weight: 600;
	font-style: normal;
}

.home .phrase .gold-line {
	width: 50px;
	height: 1px;
	background: var(--dore);
	margin: 14px auto 0;
	opacity: 0.7;
}

/* À PROPOS */
.home .apropos {
	background: var(--beige);
	padding: 52px 56px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	border-bottom: 1px solid var(--sable-alt);
}

.home .apropos-img {
	border-radius: 50%;
	width: 340px;
	height: 340px;
	justify-self: end;
	margin-right: 60px;
	border: 2px solid var(--dore);
	background-size: cover;
	background-position: center;
}

.home .apropos .eyebrow {
	font-size: 14px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 8px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.home .apropos .sec-filet-wrap {
	display: flex;
	gap: 16px;
	align-items: stretch;
}

.home .apropos .sec-filet {
	width: 4px;
	height: 65px;
	background: var(--marine);
	border-radius: 2px;
	flex-shrink: 0;
	align-self: center;
}

.home .apropos .sh {
	font-family: var(--global-primary-font);
	font-size: 32px;
	font-weight: 400;
	color: var(--marine);
	line-height: 1.25;
	margin-bottom: 18px;
	letter-spacing: 0.01em;
}

.home .apropos .bt {
	font-family: var(--global-secondary-font);
	font-size: 15px;
	line-height: 1.85;
	color: var(--text);
	font-weight: 400;
	margin-bottom: 10px;
}

.home .apropos .bt strong {
	font-weight: 600;
	color: var(--marine);
}

.home .apropos .bt.italic {
	font-style: italic;
	margin-top: 18px;
}

.home .btn-terra {
	display: inline-block;
	background: var(--terra);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 11px 22px;
	border-radius: 3px;
	margin-top: 16px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: opacity 0.2s;
}

.home .btn-terra:hover { opacity: 0.9; }

.home .btn-marine {
	display: inline-block;
	background: var(--marine);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 11px 22px;
	border-radius: 3px;
	margin-top: 16px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

/* VOUS ÊTES */
.home .ve-section {
	background: var(--beige);
	padding: 22px 56px;
	text-align: center;
	border-bottom: 0.5px solid var(--sable-alt);
}

.home .ve-inline {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

.home .ve-inline-label {
	font-size: 14px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--marine);
	opacity: 0.45;
	font-family: var(--global-secondary-font);
}

.home .ve-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--marine);
	text-decoration: none;
	border: 1.5px solid var(--terra);
	border-radius: 24px;
	padding: 10px 22px;
	transition: all 0.2s ease;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	cursor: pointer;
	background: transparent;
}

.home .ve-pill:hover {
	background: var(--terra);
	color: var(--beige);
	border-color: var(--terra);
}

.home .ve-pill:hover svg {
	stroke: var(--beige);
}

.home .ve-pill svg {
	pointer-events: none;
}

/* TÉMOIGNAGES */
.home .temo-section {
	background: var(--marine);
	padding: 40px 56px;
	border-bottom: 1px solid var(--sable-alt);
}

.home .temo-section .sec-center {
	text-align: center;
	margin-bottom: 22px;
}

.home .sec-filet-h {
	width: 24px;
	height: 2px;
	background: var(--dore);
	border-radius: 2px;
	margin: 0 auto 10px;
}

.home .temo-eyebrow {
	font-family: var(--global-primary-font);
	font-size: 32px;
	font-weight: 500;
	color: var(--dore);
	letter-spacing: 0.02em;
	margin-bottom: 20px;
	line-height: 1.25;
}

.home .temo-carousel {
	max-width: 760px;
	margin: 0 auto;
	display: grid;
	grid-template-areas: 'stack';
}

.home .temo-card {
	grid-area: stack;
	background: var(--beige);
	border-radius: 5px;
	border: 0.5px solid var(--sable-alt);
	border-top: 2px solid var(--dore);
	padding: 40px 48px;
	opacity: 0;
	visibility: hidden;
	transform: translateX(20px);
	transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0.5s;
	pointer-events: none;
}

.home .temo-card.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0s;
	pointer-events: auto;
}

.home .temo-dots {
	display: flex;
	gap: 8px;
	align-items: center;
}

.home .tarrow { cursor: pointer; transition: all 0.2s; }
.home .tarrow:hover { background: rgba(201, 169, 110, 0.15); border-color: var(--dore); }
.home .tdot { cursor: pointer; transition: all 0.2s; }

.home .temo-qmark {
	font-family: var(--global-primary-font);
	font-size: 36px;
	color: var(--dore);
	opacity: 0.3;
	line-height: 1;
	margin-bottom: -4px;
}

.home .temo-text {
	font-family: var(--global-primary-font);
	font-size: 20px;
	font-style: italic;
	color: var(--marine);
	line-height: 1.6;
	margin-bottom: 14px;
}

.home .temo-author {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--terra);
	font-family: var(--global-secondary-font);
}

.home .temo-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 18px;
}

.home .tdot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(201, 169, 110, 0.3);
}

.home .tdot.on {
	background: var(--dore);
	width: 18px;
	border-radius: 3px;
}

.home .tarrow {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid rgba(201, 169, 110, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	font-size: 14px;
	color: var(--beige);
	cursor: pointer;
	user-select: none;
}

/* MA DÉMARCHE / MA MÉTHODE */
.home .valeurs {
	background: var(--beige);
	padding: 40px 56px;
	border-bottom: 1px solid var(--sable-alt);
}

.home .valeurs .sec-center {
	text-align: center;
}

.home .valeurs .eyebrow {
	font-size: 14px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 8px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.home .valeurs .eyebrow.terra { color: var(--terra); }

.home .valeurs .sh {
	font-family: var(--global-primary-font);
	font-size: 32px;
	font-weight: 400;
	color: var(--marine);
	line-height: 1.25;
	margin-bottom: 18px;
	letter-spacing: 0.01em;
}

.home .valeurs .sh.no-mb { margin-bottom: 0; }

.home .valeurs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 22px;
}

.home .val {
	text-align: center;
	padding: 14px 8px;
}

.home .val-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 1.5px solid var(--terra);
	margin: 0 auto 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.home .val-label {
	font-size: 14px;
	color: var(--terra);
	line-height: 1.6;
	opacity: 0.9;
	font-family: var(--global-secondary-font);
}

/* TROIS AXES + GALERIE */
.home .axes {
	background: var(--beige);
	padding: 48px 56px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: start;
	border-bottom: 1px solid var(--sable-alt);
	position: relative;
}

.home .axes:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--dore);
}

.home .axes .eyebrow {
	font-size: 14px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 8px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.home .axes .sec-filet-wrap {
	display: flex;
	gap: 16px;
	align-items: stretch;
}

.home .axes .sec-filet {
	width: 4px;
	height: 65px;
	background: var(--marine);
	border-radius: 2px;
	flex-shrink: 0;
	align-self: center;
}

.home .axes .sh {
	font-family: var(--global-primary-font);
	font-size: 32px;
	font-weight: 400;
	color: var(--marine);
	line-height: 1.25;
	margin-bottom: 18px;
	letter-spacing: 0.01em;
}

.home .axes-list {
	list-style: none;
	margin-bottom: 16px;
	padding: 0;
}

.home .axes-list li {
	padding: 10px 0;
	font-family: var(--global-secondary-font);
	font-size: 15px;
	line-height: 1.85;
	color: var(--text);
	font-weight: 400;
	border-bottom: 0.5px solid var(--sable-alt);
}

.home .axes-list li:last-child { border-bottom: none; }

.home .axes-list li strong {
	font-weight: 600;
	color: var(--marine);
}

.home .axes-quote {
	font-size: 14px;
	font-style: italic;
	color: var(--text);
	opacity: 0.8;
	margin-top: 26px;
	line-height: 1.9;
	margin-bottom: 22px;
}

.home .axes-quote strong {
	font-weight: 500;
	font-style: normal;
	color: var(--marine);
}

.home .axes-cta { margin-top: 12px; }

/* MINI-GALERIE cabinet */
.home .mini-gallery { width: 100%; }

.home .mini-gallery-main {
	border-radius: 14px;
	height: 380px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.home .mg-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(250, 247, 242, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 18px;
	color: var(--marine);
	user-select: none;
}

.home .mg-prev { left: 10px; }
.home .mg-next { right: 10px; }

.home .mini-gallery-thumbs {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

.home .mg-thumb {
	flex: 1;
	height: 56px;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	cursor: pointer;
	opacity: 0.5;
	border: 2px solid transparent;
	transition: opacity 0.2s, border-color 0.2s;
}

.home .mg-thumb.active {
	opacity: 1;
	border-color: var(--dore);
}

/* BANDEAU PLANITY */
.home .planity-band {
	background: var(--beige);
	border-top: 1px solid var(--dore);
	padding: 20px 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.home .planity-band-text {
	font-family: var(--global-primary-font);
	font-size: 17px;
	font-style: italic;
	color: var(--marine);
	opacity: 0.8;
	line-height: 1.4;
}

.home .planity-band-text span {
	font-size: 14px;
	font-family: var(--global-secondary-font);
	font-style: normal;
	display: block;
	margin-top: 4px;
	opacity: 0.5;
	letter-spacing: 0.04em;
}

.home .btn-planity {
	display: inline-block;
	background: var(--terra);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 22px;
	border-radius: 3px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: opacity 0.2s;
}

.home .btn-planity:hover { opacity: 0.9; }

/* Responsive */
@media screen and (max-width: 768px) {
	.home .hero { height: 420px; }
	.home .hero-fixed-content { left: 24px; bottom: 32px; }
	.home .slide-eyebrow { font-size: 14px; }
	.home .slide-dots { right: 24px; }
	.home .slide-logo-full { height: 130px; }
	.home .slide-content { padding: 0 24px 48px; }

	.home .phrase { padding: 30px 24px; }
	.home .phrase-text { font-size: 17px; line-height: 1.7; }

	.home .apropos { grid-template-columns: 1fr; gap: 30px; padding: 32px 24px; }
	.home .apropos-img { width: 240px; height: 240px; justify-self: center; margin-right: 0; }
	.home .apropos .sh { font-size: 22px; }

	.home .ve-section { padding: 20px 24px; }
	.home .ve-inline { gap: 10px; }

	.home .temo-section { padding: 32px 24px; }
	.home .temo-card { padding: 28px 22px; }
	.home .temo-text { font-size: 14px; }

	.home .valeurs { padding: 32px 24px; }
	.home .valeurs-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.home .val-icon { width: 56px; height: 56px; }
	.home .val-label { font-size: 14px; }

	.home .axes { grid-template-columns: 1fr; gap: 30px; padding: 32px 24px; }
	.home .axes .sh { font-size: 22px; }
	.home .mini-gallery-main { height: 260px; }

	.home .planity-band { flex-direction: column; text-align: center; padding: 24px; gap: 14px; }
	.home .planity-band-text { font-size: 15px; }
}


/*========================================================
 * REFONTE MAQUETTE — Page "La Socio-Esthétique" (parcours.tpl)
 *========================================================*/

/* Neutralise le padding-top top de compensation (nav est dans le flux) */
.qui-sommes-nous,
.socio-page {
	padding-top: 0;
}

/* HERO — bandeau marine, bg 100% viewport / contenu 1200px centré */
.socio-page .socio-hero {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-top: 30px;
	padding-bottom: 26px;
	padding-left: calc(50vw - 50% + 56px);
	padding-right: calc(50vw - 50% + 56px);
	text-align: center;
	border-top: 1px solid var(--dore);
	border-bottom: 1px solid var(--dore);
	background: var(--marine);
}

.socio-page .socio-hero-ey {
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dore);
	margin-bottom: 6px;
	opacity: 0.9;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.socio-page .socio-hero-title {
	font-family: var(--global-primary-font);
	font-size: 48px;
	font-weight: 300;
	color: var(--dore);
	line-height: 1.2;
	margin: 0 0 6px 0;
	letter-spacing: 0.01em;
}

.socio-page .socio-hero-sub {
	font-size: 18px;
	color: var(--dore);
	opacity: 1;
	font-style: italic;
	font-family: var(--global-primary-font);
	margin: 0;
	line-height: 1.4;
}

.socio-page .socio-hero .gold-line {
	width: 44px;
	height: 1px;
	background: var(--dore);
	margin: 14px auto 0;
	opacity: 0.7;
}

/* TITRE alterné (filet marine + titre + eyebrow + gold-line) */
.socio-page .title-alt {
	padding: 36px 56px 0;
	display: flex;
	align-items: stretch;
	gap: 24px;
}

.socio-page .title-alt.center {
	text-align: center;
	flex-direction: column;
	align-items: center;
}

.socio-page .title-alt-filet {
	width: 4px;
	height: 65px;
	background: var(--marine);
	border-radius: 2px;
	flex-shrink: 0;
	align-self: center;
}

.socio-page .title-alt-filet-h {
	width: 50px;
	height: 4px;
	background: var(--marine);
	border-radius: 2px;
	margin: 0 auto 14px;
}

.socio-page .title-alt-content {
	flex: 1;
}

.socio-page .title-alt-ti {
	font-family: var(--global-primary-font);
	font-size: 36px;
	font-weight: 400;
	color: var(--marine);
	line-height: 1.2;
	margin: 0 0 6px 0;
	letter-spacing: 0.01em;
}

.socio-page .title-alt-ey {
	font-size: 14px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--terra);
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.socio-page .title-alt-line {
	width: 40px;
	height: 1px;
	background: var(--dore);
	margin-top: 10px;
	opacity: 0.7;
}

.socio-page .title-alt.center .title-alt-line {
	margin-left: auto;
	margin-right: auto;
}

/* SECTION DÉFINITION — image + CTAs à gauche, texte poétique à droite */
.socio-page .def-section {
	background: var(--beige);
	padding: 32px 56px 52px;
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 40px;
	align-items: start;
	border-bottom: 1px solid var(--dore);
}

.socio-page .def-img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	border-radius: 50%;
	border: 2px solid var(--dore);
}

.socio-page .def-ctas {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.socio-page .def-cta {
	text-align: center;
}

.socio-page .def-cta-label {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--terra);
	opacity: 0.9;
	margin-bottom: 5px;
	font-family: var(--global-secondary-font);
}

.socio-page .def-cta-label.def-cta-label-marine {
	color: var(--marine);
	opacity: 0.7;
}

.socio-page .btn-marine-outline {
	display: inline-block;
	border: 1px solid var(--marine);
	color: var(--marine);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 20px;
	border-radius: 3px;
	background: none;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: all 0.2s;
}

.socio-page .btn-marine-outline:hover {
	background: var(--marine);
	color: var(--beige);
}

.socio-page .sh {
	font-family: var(--global-primary-font);
	font-size: 32px;
	font-weight: 400;
	color: var(--marine);
	line-height: 1.25;
	margin: 0 0 18px 0;
	letter-spacing: 0.01em;
}

/* Paragraphe DÉFINITION : Jost, pas d'italique, pas de bordure */
.socio-page .def-definition {
	font-family: var(--global-secondary-font);
	font-size: 15px;
	line-height: 1.85;
	color: var(--text);
	margin: 16px 0 0 0;
	font-weight: 400;
}

.socio-page .def-definition strong {
	font-weight: 600;
	color: var(--marine);
}

/* Bloc MON HISTOIRE : label + paragraphes italic */
.socio-page .def-my-history {
	margin-top: 32px;
}

.socio-page .def-my-history-label {
	display: block;
	font-size: 14px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 12px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

/* Paragraphes MON HISTOIRE : Cormorant italic + filet doré à gauche */
.socio-page .def-poetic {
	font-family: var(--global-primary-font);
	font-size: 17px;
	font-style: italic;
	color: var(--marine);
	line-height: 1.9;
	padding-left: 18px;
	border-left: 2px solid var(--dore);
	opacity: 0.9;
}

@media screen and (max-width: 768px) {
	.socio-page .def-definition { font-size: 15px; line-height: 1.75; }
	.socio-page .def-poetic { font-size: 18px; line-height: 1.85; padding-left: 14px; }
}

.socio-page .def-poetic p {
	margin: 0 0 14px 0;
}

.socio-page .def-poetic p:last-child {
	margin-bottom: 0;
}

.socio-page .def-poetic strong {
	font-weight: 700;
	font-style: normal;
	color: var(--marine);
}

/* MA SIGNATURE — 4 cards numérotées avec top arrondi */
.socio-page .sig-section {
	background: var(--beige);
	padding: 30px 56px;
	border-bottom: 1px solid var(--dore);
}

.socio-page .sig-section .title-alt {
	padding-top: 0;
}

.socio-page .cards4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 20px;
}

.socio-page .card {
	background: var(--beige);
	border-radius: 8px;
	border: 1.5px solid var(--dore);
	padding: 28px 22px 26px;
	text-align: center;
}

.socio-page .card-title {
	font-family: var(--global-primary-font);
	font-size: 22px;
	font-weight: 700;
	color: var(--marine);
	margin: 0 0 14px 0;
	line-height: 1.3;
}

.socio-page .card-text {
	font-family: var(--global-secondary-font);
	font-size: 15px;
	line-height: 1.85;
	color: var(--text);
	font-weight: 400;
	margin: 0;
}

/* PROFESSIONNELS */
.socio-page .pro-section {
	background: var(--beige);
	padding: 32px 56px 44px;
	border-bottom: 1px solid var(--dore);
}

.socio-page .pro-intro {
	font-family: var(--global-secondary-font);
	font-size: 15px;
	line-height: 1.85;
	color: var(--text);
	font-weight: 400;
	margin: 6px 0 22px 0;
}

.socio-page .bt {
	font-family: var(--global-secondary-font);
	font-size: 15px;
	line-height: 1.85;
	color: var(--text);
	font-weight: 400;
	margin: 0 0 10px 0;
}

.socio-page .bt strong {
	font-weight: 600;
	color: var(--marine);
}

.socio-page .pro-bt {
	margin: 16px 0 8px;
}

.socio-page .pro-cta-row {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 24px;
	flex-wrap: wrap;
}

.socio-page .pro-cta-quote {
	margin: 0;
	flex: 1;
	font-style: italic;
	opacity: 0.8;
	min-width: 240px;
}

.socio-page .btn-terra {
	display: inline-block;
	background: var(--terra);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 20px;
	border-radius: 3px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: opacity 0.2s;
	flex-shrink: 0;
}

.socio-page .btn-terra:hover { opacity: 0.9; }

/* MOSAIQUE PHOTOS — carousel de groupes de 3 photos */
.socio-page .mosaic-section {
	padding: 0;
	border-bottom: 1px solid var(--dore);
}

.socio-page .mosaic-wrap {
	overflow: hidden;
	position: relative;
	min-height: 200px;
}

.socio-page .mosaic-track {
	display: flex;
	transition: transform 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}

.socio-page .mosaic-group {
	min-width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 4px;
}

.socio-page .mosaic-photo {
	aspect-ratio: 1 / 1;
	background-size: cover;
	background-position: center;
	border-radius: 12px;
}

.socio-page .mosaic-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 18px 0;
	background: var(--beige);
}

.socio-page .mosaic-arrow-flat {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--sable-alt);
	background: none;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: var(--marine);
	cursor: pointer;
	user-select: none;
	transition: background 0.2s;
}

.socio-page .mosaic-arrow-flat:hover {
	background: var(--sable);
}

.socio-page .mosaic-dots {
	display: flex;
	gap: 6px;
	justify-content: center;
}

.socio-page .mosaic-dot {
	width: 18px;
	height: 2px;
	background: var(--sable-alt);
	border-radius: 2px;
	cursor: pointer;
	transition: all 0.3s;
}

.socio-page .mosaic-dot.on {
	background: var(--dore);
	width: 24px;
}

/* BANDEAU PLANITY (spécifique à la page socio) */
.socio-page .planity-band {
	background: var(--beige);
	border-top: 1px solid var(--dore);
	padding: 20px 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.socio-page .planity-band-text {
	font-family: var(--global-primary-font);
	font-size: 17px;
	font-style: italic;
	color: var(--marine);
	opacity: 0.8;
	line-height: 1.4;
}

.socio-page .planity-band-text span {
	font-size: 14px;
	font-family: var(--global-secondary-font);
	font-style: normal;
	display: block;
	margin-top: 4px;
	opacity: 0.5;
	letter-spacing: 0.04em;
}

.socio-page .btn-planity {
	display: inline-block;
	background: var(--terra);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 22px;
	border-radius: 3px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: opacity 0.2s;
}

.socio-page .btn-planity:hover { opacity: 0.9; }

/* Responsive */
@media screen and (max-width: 768px) {
	.socio-page .socio-hero { padding: 24px 24px 20px; }
	.socio-page .socio-hero-title { font-size: 28px; }
	.socio-page .socio-hero-sub { font-size: 14px; }

	.socio-page .title-alt { padding: 28px 24px 0; }
	.socio-page .title-alt-ti { font-size: 22px; }

	.socio-page .def-section {
		grid-template-columns: 1fr;
		padding: 24px 24px 32px;
		gap: 24px;
	}

	.socio-page .sig-section { padding: 24px 24px; }
	.socio-page .cards4 { grid-template-columns: repeat(2, 1fr); }

	.socio-page .pro-section { padding: 24px 24px 32px; }
	.socio-page .pro-cta-row { flex-direction: column; align-items: stretch; }

	.socio-page .planity-band { flex-direction: column; text-align: center; padding: 24px; gap: 14px; }
}

@media screen and (max-width: 480px) {
	.socio-page .cards4 { grid-template-columns: 1fr; }
}


/*========================================================
 * REFONTE MAQUETTE — Page "Prestations" (produit.tpl)
 *========================================================*/

.prestations-page {
	padding-top: 0;
}

/* Reset margin-top pour cette page (nav dans le flux) */
.mon_activite,
.prestations-page {
	padding-top: 0;
}

/* HERO — bandeau marine, bg 100% viewport / contenu 1200px centré */
.prestations-page .prest-hero {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-top: 30px;
	padding-bottom: 26px;
	padding-left: calc(50vw - 50% + 56px);
	padding-right: calc(50vw - 50% + 56px);
	text-align: center;
	border-top: 1px solid var(--dore);
	border-bottom: 1px solid var(--dore);
	background: var(--marine);
}

.prestations-page .prest-hero-ey {
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dore);
	margin-bottom: 8px;
	opacity: 0.9;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.prestations-page .prest-hero-title {
	font-family: var(--global-primary-font);
	font-size: 52px;
	font-weight: 300;
	color: var(--dore);
	line-height: 1.2;
	margin: 0 0 8px 0;
	letter-spacing: 0.01em;
}

.prestations-page .prest-hero-sub {
	font-size: 18px;
	color: var(--dore);
	opacity: 1;
	font-style: italic;
	font-family: var(--global-primary-font);
	margin: 0;
	line-height: 1.4;
}

.prestations-page .prest-hero .gold-line {
	width: 44px;
	height: 1px;
	background: var(--dore);
	margin: 16px auto 0;
	opacity: 0.6;
}

/* Sections .ts alternées */
.prestations-page .ts {
	padding: 48px 56px;
	border-bottom: 1px solid var(--dore);
	background: var(--beige);
}

/* Titre + filet + eyebrow (aligné gauche ou droite selon .right) */
.prestations-page .ts-title-block {
	display: flex;
	align-items: stretch;
	gap: 18px;
	margin-bottom: 28px;
}

.prestations-page .ts-title-block.right {
	flex-direction: row-reverse;
	text-align: right;
}

.prestations-page .ts-filet {
	width: 4px;
	background: var(--marine);
	border-radius: 2px;
	flex-shrink: 0;
}

.prestations-page .ts-title {
	font-family: var(--global-primary-font);
	font-size: 36px;
	font-weight: 300;
	color: var(--marine);
	line-height: 1.2;
	margin: 0 0 6px 0;
}

.prestations-page .ts-ey {
	font-size: 14px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--terra);
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

/* Grille 2 colonnes (image + texte) */
.prestations-page .two-col {
	display: grid;
	grid-template-columns: 45% 55%;
	gap: 40px;
	align-items: center;
}

/* Mini-galerie interactive : image principale + thumbs */
.prestations-page .mini-gallery {
	width: 100%;
}

.prestations-page .mini-gallery-main {
	border-radius: 16px;
	height: 270px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.prestations-page .mg-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(250, 247, 242, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 18px;
	color: var(--marine);
	user-select: none;
	transition: background 0.2s;
}

.prestations-page .mg-arrow:hover {
	background: var(--beige);
}

.prestations-page .mg-prev { left: 10px; }
.prestations-page .mg-next { right: 10px; }

.prestations-page .mini-gallery-thumbs {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

.prestations-page .mg-thumb {
	flex: 1;
	height: 56px;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	cursor: pointer;
	opacity: 0.5;
	border: 2px solid transparent;
	transition: opacity 0.2s, border-color 0.2s;
}

.prestations-page .mg-thumb.active {
	opacity: 1;
	border-color: var(--dore);
}

/* Hook italic Cormorant */
.prestations-page .hook {
	font-family: var(--global-primary-font);
	font-size: 20px;
	font-style: italic;
	color: var(--marine);
	line-height: 1.5;
	margin-bottom: 24px;
}

/* Body text (partagé) — style de reference : .def-definition */
.prestations-page .bt {
	font-family: var(--global-secondary-font);
	font-size: 15px;
	line-height: 1.85;
	color: var(--text);
	font-weight: 400;
	margin: 0 0 10px 0;
}

.prestations-page .bt strong {
	font-weight: 600;
	color: var(--marine);
}

.prestations-page .bt strong.terra {
	color: var(--terra);
}

.prestations-page .bt.bt-intro {
	margin: 18px 0 20px;
	font-style: italic;
	opacity: 0.8;
}

.prestations-page .bt.bt-item {
	margin-top: 16px;
}

.prestations-page .bt.bt-quote {
	margin-top: 16px;
	font-style: italic;
	opacity: 0.8;
}


/*========================================================
 * REFONTE MAQUETTE — Page "Tarifs" (la-boutique.tpl)
 *========================================================*/

.tarifs-page {
	padding-top: 0;
}

section.prestation,
.tarifs-page {
	padding-top: 0;
}

/* HERO — bandeau marine, bg 100% viewport / contenu 1200px centré */
.tarifs-page .tarifs-hero {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-top: 20px;
	padding-bottom: 18px;
	padding-left: calc(50vw - 50% + 56px);
	padding-right: calc(50vw - 50% + 56px);
	text-align: center;
	border-top: 1px solid var(--dore);
	border-bottom: 1px solid var(--dore);
	background: var(--marine);
}

.tarifs-page .tarifs-hero-ey {
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dore);
	opacity: 0.9;
	margin-bottom: 6px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.tarifs-page .tarifs-hero-title {
	font-family: var(--global-primary-font);
	font-size: 48px;
	font-weight: 400;
	color: var(--dore);
	line-height: 1.2;
	margin: 0 0 6px 0;
}

.tarifs-page .tarifs-hero-sub {
	font-size: 18px;
	color: var(--dore);
	opacity: 1;
	font-style: italic;
	font-family: var(--global-primary-font);
	margin: 0;
	line-height: 1.4;
}

.tarifs-page .tarifs-hero .gold-line {
	width: 44px;
	height: 1px;
	background: var(--dore);
	margin: 12px auto 0;
	opacity: 0.6;
}

/* Cards info du hero (Planity + SMS) */
.tarifs-page .tarifs-hero-infos {
	margin-top: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	flex-wrap: wrap;
}

.tarifs-page .tarifs-info-card {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--sable);
	border-radius: 5px;
	padding: 10px 18px;
	border: 0.5px solid var(--sable-alt);
	text-decoration: none;
	transition: all 0.2s;
	cursor: pointer;
}

.tarifs-page .tarifs-info-card:hover {
	border-color: var(--dore);
	background: var(--beige);
	transform: translateY(-1px);
}

.tarifs-page .tarifs-info-icon {
	font-size: 16px;
}

.tarifs-page .tarifs-info-ey {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 2px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.tarifs-page .tarifs-info-txt {
	font-family: var(--global-primary-font);
	font-size: 14px;
	color: var(--marine);
}

/* PHRASE SIGNATURE */
.tarifs-page .tarifs-phrase {
	background: var(--beige);
	padding: 28px 56px;
	text-align: center;
	border-bottom: 1px solid var(--dore);
}

.tarifs-page .tarifs-phrase-line {
	width: 36px;
	height: 1px;
	background: var(--dore);
	margin: 0 auto 14px;
	opacity: 0.6;
}

.tarifs-page .tarifs-phrase-line:last-child {
	margin: 14px auto 0;
}

.tarifs-page .tarifs-phrase-text {
	font-family: var(--global-primary-font);
	font-size: 20px;
	font-style: italic;
	color: var(--marine);
	opacity: 0.75;
	line-height: 1.6;
	margin: 0;
}

.tarifs-page .tarifs-phrase-text strong {
	font-weight: 600;
	font-style: normal;
}

/* BLOCS (sections tarifaires) */
.tarifs-page .bloc {
	padding: 32px 56px;
	border-bottom: 1px solid var(--dore);
}

.tarifs-page .bloc.beige,
.tarifs-page .bloc.sable {
	background: var(--beige);
}

/* Bandeau marine en haut de chaque bloc */
.tarifs-page .bloc-banner {
	background: var(--marine);
	margin: -32px -56px 20px;
	padding: 9px 56px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid var(--dore);
	border-bottom: 1px solid var(--dore);
	gap: 20px;
	flex-wrap: wrap;
}

.tarifs-page .bloc-banner-title {
	display: flex;
	align-items: center;
	gap: 0;
}

.tarifs-page .band-sep {
	width: 1px;
	height: 16px;
	background: rgba(201, 169, 110, 0.3);
	margin: 0 14px;
}

.tarifs-page .bloc-ey {
	font-size: 14px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dore);
	opacity: 0.9;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.tarifs-page .bloc-title {
	font-family: var(--global-primary-font);
	font-size: 24px;
	font-weight: 500;
	color: var(--dore);
	margin: 0;
	line-height: 1.2;
}

.tarifs-page .bloc-btns {
	display: flex;
	gap: 10px;
}

/* Boutons du banner */
.tarifs-page .btn-more {
	display: inline-block;
	border: 1px solid rgba(201, 169, 110, 0.5);
	color: var(--dore);
	opacity: 0.85;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 7px 13px;
	border-radius: 3px;
	background: none;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: all 0.2s;
}

.tarifs-page .btn-more:hover {
	opacity: 1;
	background: rgba(201, 169, 110, 0.1);
}

.tarifs-page .btn-rdv {
	display: inline-block;
	background: var(--terra);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: 3px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: opacity 0.2s;
}

.tarifs-page .btn-rdv:hover { opacity: 0.9; }

/* Ligne de prix (nom · durée · dotted line · prix) */
.tarifs-page .pl {
	display: flex;
	align-items: baseline;
	padding: 5px 0;
	font-size: 14px;
}

.tarifs-page .pl-n {
	flex-shrink: 0;
	color: var(--text);
	font-family: var(--global-secondary-font);
}

.tarifs-page .pl-dots {
	flex: 1;
	border-bottom: 1px dotted rgba(92, 74, 56, 0.25);
	margin: 0 8px;
	position: relative;
	top: -4px;
}

.tarifs-page .pl-p {
	font-size: 15px;
	color: var(--terra);
	font-weight: 500;
	flex-shrink: 0;
	font-family: var(--global-secondary-font);
}

.tarifs-page .pl-p-alt {
	font-size: 14px;
	color: var(--text-m);
	font-weight: 400;
	margin-left: 4px;
}

.tarifs-page .pl-p-devis {
	color: var(--text-m);
	font-weight: 400;
	font-size: 14px;
}

/* Label de catégorie (Corps, Visage) */
.tarifs-page .pl-label {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dore);
	display: block;
	margin-bottom: 8px;
	margin-top: 14px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.tarifs-page .pl-label:first-of-type {
	margin-top: 0;
}

/* Grille 2 colonnes pour Épilations */
.tarifs-page .epil-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

/* Encart massage optionnel */
.tarifs-page .massage-encart {
	margin-top: 18px;
	padding: 14px 16px;
	background: var(--beige);
	border-radius: 5px;
	border: 0.5px solid var(--sable-alt);
	border-left: 2px solid var(--dore);
}

.tarifs-page .massage-label {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dore);
	margin-bottom: 6px;
	display: block;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.tarifs-page .massage-title {
	font-family: var(--global-primary-font);
	font-size: 15px;
	font-weight: 500;
	color: var(--marine);
	margin: 0 0 8px 0;
	line-height: 1.3;
}

.tarifs-page .massage-prices {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.tarifs-page .massage-price {
	font-size: 14px;
	color: var(--text);
	font-family: var(--global-secondary-font);
}

.tarifs-page .massage-price strong {
	color: var(--terra);
	font-weight: 500;
}

/* Spray : header de colonnes Non-abo/Abo */
.tarifs-page .spray-cols-header {
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dore);
	margin-bottom: 8px;
	text-align: right;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

/* Note abonnement (spray) */
.tarifs-page .abo-note {
	font-size: 14px;
	color: var(--text-m);
	font-style: italic;
	margin-top: 10px;
	font-family: var(--global-secondary-font);
}

.tarifs-page .abo-note strong {
	color: var(--terra);
	font-style: normal;
}

/* Note devis (ateliers) */
.tarifs-page .tarifs-note-devis {
	margin-top: 10px;
	font-size: 14px;
	color: var(--text-m);
	font-style: italic;
	font-family: var(--global-secondary-font);
}

/* Responsive */
@media screen and (max-width: 768px) {
	.tarifs-page .tarifs-hero { padding: 20px 20px 18px; }
	.tarifs-page .tarifs-hero-title { font-size: 26px; }

	.tarifs-page .tarifs-phrase { padding: 24px 20px; }
	.tarifs-page .tarifs-phrase-text { font-size: 16px; }

	.tarifs-page .bloc { padding: 28px 20px; }
	.tarifs-page .bloc-banner {
		margin: -28px -20px 18px;
		padding: 10px 20px;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.tarifs-page .bloc-title { font-size: 16px; }

	.tarifs-page .epil-grid { grid-template-columns: 1fr; gap: 24px; }

	.tarifs-page .pl {
		flex-wrap: wrap;
		row-gap: 2px;
	}

	.tarifs-page .tarifs-hero-infos { flex-direction: column; align-items: stretch; }
}

/* Boutons */
.prestations-page .btns {
	display: flex;
	gap: 12px;
	margin-top: 24px;
	flex-wrap: wrap;
}

.prestations-page .btn-tarifs {
	display: inline-block;
	border: 1px solid var(--dore);
	color: var(--marine);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: 3px;
	background: none;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: all 0.2s;
}

.prestations-page .btn-tarifs:hover {
	background: var(--dore);
	color: var(--beige);
}

.prestations-page .btn-rdv {
	display: inline-block;
	background: var(--terra);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 9px 18px;
	border-radius: 3px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: opacity 0.2s;
}

.prestations-page .btn-rdv:hover { opacity: 0.9; }

/* Épilations layout (55% / 45%) — text à gauche, cards + gallery */
.prestations-page .epil-layout {
	display: grid;
	grid-template-columns: 55% 45%;
	gap: 40px;
	align-items: start;
}

.prestations-page .epil-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 20px;
}

.prestations-page .epil-card {
	background: var(--beige);
	border-radius: 5px;
	border: 0.5px solid var(--sable-alt);
	padding: 20px;
}

.prestations-page .epil-card-title {
	font-family: var(--global-primary-font);
	font-size: 17px;
	font-weight: 500;
	color: var(--marine);
	margin: 0 0 8px 0;
	line-height: 1.3;
}

.prestations-page .epil-card-desc {
	font-size: 14px;
	color: var(--text-m);
	line-height: 1.75;
	font-family: var(--global-secondary-font);
	margin: 0;
}

/* Responsive */
@media screen and (max-width: 768px) {
	.prestations-page .prest-hero { padding: 24px 24px 20px; }
	.prestations-page .prest-hero-title { font-size: 30px; }
	.prestations-page .prest-hero-sub { font-size: 14px; }

	.prestations-page .ts { padding: 32px 24px; }
	.prestations-page .ts-title { font-size: 24px; }

	.prestations-page .two-col,
	.prestations-page .epil-layout {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.prestations-page .epil-cards { grid-template-columns: 1fr; }

	.prestations-page .mini-gallery-main { height: 220px; }

	.prestations-page .hook { font-size: 17px; }
}


/*========================================================
 * REFONTE MAQUETTE — Page "Contact" (contact.tpl)
 *========================================================*/

.contact-page {
	padding-top: 0;
}

.contact,
.contact-page {
	padding-top: 0;
}

/* HERO — bandeau marine, bg 100% viewport / contenu 1200px centré */
.contact-page .contact-hero {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-top: 20px;
	padding-bottom: 18px;
	padding-left: calc(50vw - 50% + 56px);
	padding-right: calc(50vw - 50% + 56px);
	text-align: center;
	border-top: 1px solid var(--dore);
	border-bottom: 1px solid var(--dore);
	background: var(--marine);
}

.contact-page .contact-hero-ey {
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--dore);
	opacity: 0.9;
	margin-bottom: 6px;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.contact-page .contact-hero-title {
	font-family: var(--global-primary-font);
	font-size: 48px;
	font-weight: 300;
	color: var(--dore);
	line-height: 1.2;
	margin: 0 0 6px 0;
}

.contact-page .contact-hero-sub {
	font-size: 18px;
	color: var(--dore);
	opacity: 1;
	font-style: italic;
	font-family: var(--global-primary-font);
	margin: 0;
	line-height: 1.4;
}

.contact-page .contact-hero .gold-line {
	width: 44px;
	height: 1px;
	background: var(--dore);
	margin: 12px auto 0;
	opacity: 0.6;
}

/* CHOIX section */
.contact-page .choix-section {
	padding: 44px 56px;
	background: var(--beige);
	text-align: center;
	border-bottom: 1px solid var(--dore);
}

.contact-page .choix-label {
	font-size: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--marine);
	opacity: 0.5;
	margin-bottom: 22px;
	display: block;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.contact-page .choix-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	max-width: 720px;
	margin: 0 auto;
}

.contact-page .choix-card {
	border-radius: 6px;
	border: 1.5px solid var(--sable-alt);
	padding: 24px 22px;
	cursor: pointer;
	transition: all 0.2s;
	background: var(--beige);
	text-align: left;
}

.contact-page .choix-card:hover {
	border-color: var(--dore);
}

.contact-page .choix-card.active {
	border-color: var(--marine);
	background: var(--marine);
}

.contact-page .choix-card.active .choix-title { color: var(--beige); }
.contact-page .choix-card.active .choix-desc { color: var(--beige); opacity: 0.55; }
.contact-page .choix-card.active .choix-card-note { color: var(--dore); }
.contact-page .choix-card.active .choix-card-note a { color: var(--dore); }
.contact-page .choix-card.active .choix-card-extra { border-top-color: rgba(201, 169, 110, 0.3); }

.contact-page .choix-icon {
	font-size: 22px;
	margin-bottom: 10px;
	opacity: 0.5;
}

.contact-page .choix-card.active .choix-icon { opacity: 1; }

.contact-page .choix-title {
	font-family: var(--global-primary-font);
	font-size: 18px;
	font-weight: 500;
	color: var(--marine);
	margin-bottom: 5px;
	line-height: 1.3;
}

.contact-page .choix-desc {
	font-size: 14px;
	color: var(--text-m);
	line-height: 1.6;
	font-family: var(--global-secondary-font);
}

.contact-page .choix-card-extra {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(201, 169, 110, 0.3);
}

.contact-page .choix-card-note {
	font-family: var(--global-primary-font);
	font-size: 14px;
	color: var(--terra);
	font-style: italic;
}

.contact-page .choix-card-note a {
	color: var(--terra);
	text-decoration: underline;
	font-weight: 500;
}

/* PANELS */
.contact-page .panel {
	display: none;
	border-top: 1px solid var(--dore);
}

.contact-page .panel.active { display: block; }

/* PANEL PARTICULIER */
.contact-page .panel-part {
	padding: 44px 56px;
	background: var(--beige);
	text-align: center;
}

.contact-page .panel-part .planity-branding {
	max-width: 560px;
	margin: 0 auto 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

.contact-page .panel-part .planity-branding img {
	max-height: 30px;
	width: auto;
}

.contact-page .panel-part .planity-text {
	font-size: 14px;
	color: var(--text-m);
	line-height: 1.8;
	font-family: var(--global-secondary-font);
	margin: 0;
	max-width: 420px;
	text-align: left;
}

.contact-page .panel-part .planity-text strong {
	color: var(--marine);
	font-weight: 500;
}

.contact-page #planity {
	max-width: 780px;
	margin: 0 auto;
	text-align: left;
}

.contact-page .btn-planity {
	display: inline-block;
	background: var(--terra);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 13px 28px;
	border-radius: 4px;
	text-decoration: none;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	margin-top: 24px;
	transition: opacity 0.2s;
}

.contact-page .btn-planity:hover { opacity: 0.9; }

/* PANEL PRO */
.contact-page .panel-pro {
	padding: 44px 56px;
	background: var(--beige);
}

.contact-page .pro-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 28px;
}

.contact-page .pro-tel-block {
	background: var(--marine);
	border-radius: 6px;
	padding: 22px 24px;
}

.contact-page .pro-tel-label {
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dore);
	opacity: 0.8;
	margin-bottom: 8px;
	display: block;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.contact-page .pro-tel-num {
	font-family: var(--global-primary-font);
	font-size: 24px;
	font-weight: 500;
	color: var(--beige);
	margin-bottom: 6px;
}

.contact-page .pro-tel-num a {
	color: var(--beige);
	text-decoration: none;
	transition: color 0.2s;
}

.contact-page .pro-tel-num a:hover { color: var(--dore); }

.contact-page .pro-tel-note {
	font-size: 14px;
	color: var(--beige);
	opacity: 0.6;
	line-height: 1.7;
	font-style: italic;
	font-family: var(--global-primary-font);
}

.contact-page .pro-tarif-block {
	background: var(--beige);
	border-radius: 6px;
	border: 0.5px solid var(--sable-alt);
	border-left: 3px solid var(--dore);
	padding: 22px 24px;
}

.contact-page .pro-tarif-label {
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dore);
	margin-bottom: 8px;
	display: block;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.contact-page .pro-tarif-text {
	font-size: 14px;
	color: var(--text-m);
	line-height: 1.8;
	font-family: var(--global-secondary-font);
}

/* Séparateur "Ou remplissez le formulaire" */
.contact-page .form-sep {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 22px;
}

.contact-page .form-sep-line {
	flex: 1;
	height: 0.5px;
	background: var(--sable-alt);
}

.contact-page .form-sep-text {
	font-size: 14px;
	color: var(--text-m);
	opacity: 0.5;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

/* Formulaire pro */
.contact-page .form-section-title {
	font-size: 14px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dore);
	margin-bottom: 10px;
	margin-top: 18px;
	display: block;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.contact-page .form-section-title:first-of-type {
	margin-top: 0;
}

.contact-page .form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 10px;
}

.contact-page .form-grid.c1 {
	grid-template-columns: 1fr;
}

.contact-page .field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.contact-page .field label {
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--marine);
	opacity: 0.55;
	font-family: var(--global-secondary-font);
	font-weight: 500;
}

.contact-page .field input,
.contact-page .field textarea {
	background: var(--beige);
	border: 0.5px solid var(--sable-alt);
	border-radius: 4px;
	padding: 9px 12px;
	font-family: var(--global-secondary-font);
	font-weight: 400;
	font-size: 14px;
	color: var(--marine);
	outline: none;
	width: 100%;
	transition: border-color 0.2s;
}

.contact-page .field input:focus,
.contact-page .field textarea:focus {
	border-color: var(--dore);
}

.contact-page .field textarea {
	min-height: 90px;
	resize: vertical;
}

.contact-page .form-recaptcha {
	margin-top: 18px;
	display: flex;
	justify-content: center;
}

.contact-page .btn-submit {
	background: var(--marine);
	color: var(--beige);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 13px 24px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	margin-top: 14px;
	width: 100%;
	font-family: var(--global-secondary-font);
	font-weight: 500;
	transition: opacity 0.2s;
}

.contact-page .btn-submit:hover { opacity: 0.9; }

/* CARTE Google Maps */
.contact-page .contact-carte {
	border-top: 1px solid var(--dore);
	background: var(--sable-alt);
	line-height: 0;
}

.contact-page .contact-carte iframe {
	display: block;
	width: 100%;
	border: 0;
}

/* Responsive */
@media screen and (max-width: 768px) {
	.contact-page .contact-hero { padding: 20px 20px 18px; }
	.contact-page .contact-hero-title { font-size: 26px; }

	.contact-page .choix-section { padding: 32px 20px; }
	.contact-page .choix-grid { grid-template-columns: 1fr; }

	.contact-page .panel-part,
	.contact-page .panel-pro { padding: 32px 20px; }

	.contact-page .pro-top { grid-template-columns: 1fr; }

	.contact-page .form-grid { grid-template-columns: 1fr; }
}
