 
/* ==========================================================================
   BLOC 1 — FOUNDATION
   ========================================================================== */

/* --------------------------------------------------------------------------
   1.1 — @font-face  (woff2 + woff, font-display: swap obligatoire)
   -------------------------------------------------------------------------- */

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/CormorantGaramond-Bold.woff2') format('woff2'),
       url('../fonts/CormorantGaramond-Bold.woff')  format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/CormorantGaramond-BoldItalic.woff2') format('woff2'),
       url('../fonts/CormorantGaramond-BoldItalic.woff')  format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Urbanist';
  src: url('../fonts/Urbanist-Regular.woff2') format('woff2'),
       url('../fonts/Urbanist-Regular.woff')  format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Urbanist';
  src: url('../fonts/Urbanist-Italic.woff2') format('woff2'),
       url('../fonts/Urbanist-Italic.woff')  format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Urbanist';
  src: url('../fonts/Urbanist-Medium.woff2') format('woff2'),
       url('../fonts/Urbanist-Medium.woff')  format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Urbanist';
  src: url('../fonts/Urbanist-SemiBoldItalic.woff2') format('woff2'),
       url('../fonts/Urbanist-SemiBoldItalic.woff')  format('woff');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Urbanist';
  src: url('../fonts/Urbanist-Bold.woff2') format('woff2'),
       url('../fonts/Urbanist-Bold.woff')  format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Mr De Haviland';
  src: url('../fonts/MrDeHaviland-Regular.woff2') format('woff2'),
       url('../fonts/MrDeHaviland-Regular.woff')  format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


/* --------------------------------------------------------------------------
   1.2 — :root  (tokens Figma + override Bootstrap 5)
   -------------------------------------------------------------------------- */

:root {

  /* === COULEURS FIGMA === */
  --pc-pink:          #CF006F;  /* secondary-color — CTA, accents, encart 2 */
  --pc-pink-dark:     #A80059;  /* dérivée hover (assombrissement 15 %) */
  --pc-grey:          #646A6C;  /* primary-color — nav, encart 1, formulaire */
  --pc-grey-nav:      #626A6C;  /* pilule de navigation (valeur Figma exacte) */
  --pc-grey-2:        #565656;  /* tertiary-color — texte courant, carte 2 */
  --pc-dark:          #31352D;  /* dark-color — titres H1/H2 */
  --pc-black:         #0A0A0A;  /* nom auteur avis */
  --pc-cream:         #FFF4EC;  /* texte nav, bordures boutons */
  --pc-beige:         #E5E1CD;  /* primary-bg secondaire */
  --pc-border:        #E9E0D7;  /* bordures cartes */
  --pc-white:         #FFFFFF;

  /* === COULEURS DÉRIVÉES / OVERLAYS === */
  --pc-hero-overlay:  rgba(0, 0, 0, .5);
  --pc-news-overlay:  rgba(19, 45, 34, .26);
  --pc-form-border:   rgba(110, 110, 110, .2);
  --pc-rule:          rgba(49, 53, 45, .07);
  --pc-shadow-card:   4px 4px 5px rgba(0, 0, 0, .08);
  --pc-shadow-hover:  8px 10px 22px rgba(0, 0, 0, .16);

  /* === TYPOGRAPHIE === */
  --pc-font-title:    'Cormorant Garamond', 'Times New Roman', serif;
  --pc-font-body:     'Urbanist', 'Helvetica Neue', Arial, sans-serif;
  --pc-font-script:   'Mr De Haviland', 'Brush Script MT', cursive;

  --pc-fs-h1:         55px;
  --pc-fs-h2:         45px;
  --pc-fs-h3:         40px;
  --pc-fs-h4:         22px;
  --pc-fs-h5:         48px;
  --pc-fs-script:     45px;
  --pc-fs-body:       15px;
  --pc-fs-nav:        18px;
  --pc-fs-btn:        16px;

  --pc-lh-body:       1.65;
  --pc-ls-nav:        1.8px;
  --pc-ls-btn:        1.6px;

  /* === ESPACEMENTS === */
  --pc-space-xs:      10px;
  --pc-space-sm:      20px;
  --pc-space-md:      24px;
  --pc-space-lg:      40px;
  --pc-space-xl:      80px;
  --pc-space-2xl:     120px;

  /* === RAYONS === */
  --pc-radius:        10px;
  --pc-radius-sm:     6px;
  --pc-radius-pill:   100px;

  /* === DIVERS === */
  --pc-container:     1440px;
  --pc-transition:    .3s cubic-bezier(.4, 0, .2, 1);
  --pc-nav-h:         90px;

  /* === OVERRIDE BOOTSTRAP 5 === */
  --bs-body-bg:            var(--pc-white);
  --bs-body-color:         var(--pc-grey-2);
  --bs-body-font-family:   var(--pc-font-body);
  --bs-body-font-size:     var(--pc-fs-body);
  --bs-body-line-height:   var(--pc-lh-body);
  --bs-primary:            var(--pc-grey);
  --bs-primary-rgb:        100, 106, 108;
  --bs-secondary:          var(--pc-pink);
  --bs-secondary-rgb:      207, 0, 111;
  --bs-secondary-color:    var(--pc-grey-2);
  --bs-secondary-bg:       #F3F1EC;
  --bs-border-color:       var(--pc-border);
  --bs-border-radius:      var(--pc-radius);
  --bs-link-color:         var(--pc-pink);
  --bs-link-hover-color:   var(--pc-pink-dark);
  --bs-heading-color:      var(--pc-dark);
  --bs-emphasis-color:     var(--pc-dark);
  --light-color:           var(--pc-white);
  --primary-color:         var(--pc-pink);
  --secondary-color:       var(--pc-pink-dark);
}



.btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: #CF006F;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #A80059;
	--bs-btn-focus-shadow-rgb: 49,132,253;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #A80059;
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #A80059;
	--bs-btn-disabled-border-color: #000;
	border-radius: 10px;
	border: none;
}
.btn-primary:active, .btn-primary:hover, .btn-primary:focus {
    color: var(--light-color); 
}

.btn {
    --bs-btn-padding-x: 1.75rem;
    --bs-btn-padding-y: 0.675rem;
}
.box-light.light2 {
    background: #f2f2f2;
}
.box-light, .box-border-left, .box-border-right {
padding: 20px;
	margin: 0 0 20px;
	background: none;
 border-radius: 20px;
    border:1px solid var(--secondary-color);
}
.box-border-left {
    border-left: 7px solid var(--secondary-color);
}
.box-border-right {
    border-right: 7px solid var(--secondary-color);
}
.box-dark {
	padding: 20px;
	margin: 0 0 20px;
      border-radius: 10px;
    color: var(--pc-white);
	background: var(--pc-dark);
} 
.box-dark a {
    color: var(--pc-white) !important;
}
.box-dark h1, .box-dark h2, .box-dark h3, .box-dark h4, .box-dark h6, .box-dark .h1, .box-dark .h2, .box-dark .h3, .box-dark .h4, .box-dark .h6{
	color: var(--pc-white);
}
.alert-success {
    border-radius: 5px!important;
}
.container {
	max-width: 1170px;
} 
.btn-cookies-pos {
	z-index: 99;
}
.modal-header .nav-link {
	color: var(--bs-body-color) !important;
}

 a.btn-cookies-link { 
    background-color: #fff!important;
       box-shadow: 0 0 3px rgba(0 0 0 / 50%);
}
.modal-header .btn-close {
    background-color: #fff;
}


/* --------------------------------------------------------------------------
   1.3 — Resets
   -------------------------------------------------------------------------- */

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--pc-font-body);
  font-size: var(--pc-fs-body);
  font-weight: 400;
  line-height: var(--pc-lh-body);
  color: var(--pc-grey-2);
  background-color: var(--pc-white);
  overflow-x: hidden;
}

/* Empêche tout débordement latéral quel que soit le viewport (Règle 6) */
.fullsite { overflow-x: hidden; width: 100%; }

img,
svg,
video { max-width: 100%; height: auto; display: block; }

a {
  color: var(--pc-pink);
  text-decoration: none;
  transition: color var(--pc-transition);
}

a:hover,
a:focus-visible { color: var(--pc-pink-dark); }

button { font-family: inherit; }

ul,
ol { margin: 0; padding: 0; }

figure { margin: 0; }

:focus-visible {
  outline: 2px solid var(--pc-pink);
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 15px;
  z-index: 2000;
  padding: 10px 18px;
  background: var(--pc-pink);
  color: var(--pc-white);
  border-radius: 0 0 var(--pc-radius) var(--pc-radius);
  font-weight: 700;
  transition: top var(--pc-transition);
}

.skip-link:focus {
  top: 0;
  color: var(--pc-white);
}




/* --------------------------------------------------------------------------
   1.4 — FontAwesome  (taille explicite — jamais d'override de font-family)
   -------------------------------------------------------------------------- */

.fa-solid,
.fa-regular,
.fa-brands,
.fas,
.far,
.fab {
  font-size: 1em;
  display: inline-block;
  line-height: 1;
}

.footer-icon .fa-solid,
.footer-icon .fas { font-size: 14px; }

.footer-social a .fa-brands,
.footer-social a .fab { font-size: 18px; }

.gb-entry-score .fa-solid,
.gb-entry-score .fa-regular,
.gb-entry-score .fas,
.gb-entry-score .far { font-size: 18px; }


/* ==========================================================================
   BLOC 2 — COMPONENTS
   ========================================================================== */

 

.p-absolute {
position: absolute !important;
}
.p-fixed {
position: fixed !important;
}
.txt-white {
--bs-text-opacity: 1;
color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
/* Lenis smooth scroll integration */
html.lenis,
html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }
.container {
    max-width: 1140px; 
} 


/* Variante étroite — citation et actualités (1140 px dans le Figma) */
.container.container-narrow { max-width: 1170px; }

/* Variante large — section cartes (1728 px dans le Figma) */
.container.container-wide { max-width: 1758px; }


/* --------------------------------------------------------------------------
   2.2 — Typographie
   -------------------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5 {
  font-family: var(--pc-font-title);
  font-weight: 700;
  color: var(--pc-dark);
  margin: 0 0 var(--pc-space-sm);
  text-transform: none; /*uppercase;*/
  letter-spacing: 0;
}

h1, .h1 { font-size: clamp(2rem, 3.4vw, var(--pc-fs-h1)); line-height: 1.1; }
h2, .h2 { font-size: clamp(1.75rem, 2.8vw, var(--pc-fs-h2)); line-height: 1.15; }
h3, .h3 { font-size: clamp(1.5rem, 2.4vw, var(--pc-fs-h3)); line-height: .875; }
h4, .h4 { font-size: clamp(1.15rem, 1.5vw, var(--pc-fs-h4)); line-height: 1.2; }
h5, .h5 { font-size: clamp(1.6rem, 3vw, var(--pc-fs-h5)); line-height: 1; }

p {
  margin: 0 0 1rem;
  font-size: var(--pc-fs-body);
  line-height: var(--pc-lh-body);
}

p:last-child { margin-bottom: 0; }

strong, b { font-weight: 700; }
em, i     { font-style: italic; }

/* Sur-titre script — « Le Château de Pont Chevron », « Nos » */
.title-script {
  display: block;
  font-family: var(--pc-font-script);
  font-weight: 400;
  font-size: clamp(2rem, 3vw, var(--pc-fs-script));
  line-height: 1.4;
  color: var(--pc-pink);
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
}

/* Bloc titre composé : script + titre principal, centré */
.bloctitel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pc-space-xs);
  text-align: center;
  width: 100%;
}

.bloctitel .title-main { margin: 0; }


/* --------------------------------------------------------------------------
   2.3 — Boutons
   -------------------------------------------------------------------------- */

.btn-pc,
.btn-pc-outline,
.btn-pc-dashed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pc-space-xs);
  padding: 16px 24px;
  border-radius: var(--pc-radius);
  font-family: var(--pc-font-body);
  font-weight: 500;
  font-size: var(--pc-fs-btn);
  line-height: 24px;
  letter-spacing: var(--pc-ls-btn);
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--pc-transition),
              border-color var(--pc-transition),
              color var(--pc-transition),
              transform var(--pc-transition);
}

/* Flèche en pseudo-élément CSS — Règle 19, aucun <img> décoratif en HTML */
.btn-pc::after,
.btn-pc-outline::after,
.btn-pc-dashed::after {
  content: '';
  flex: 0 0 18px;
  width: 18px;
  height: 13px;
  background: url('/smarty/wireframe30/media/images/flch.svg') no-repeat center / contain;
  transition: transform var(--pc-transition);
}

.btn-pc:hover::after,
.btn-pc-outline:hover::after,
.btn-pc-dashed:hover::after { transform: translateX(4px); }

/* Bouton plein rose — Réservation, Laisser un avis, Envoyer */
.btn-pc {
  background-color: var(--pc-pink);
  border: 1px solid var(--pc-pink);
  color: var(--pc-white);
}

.btn-pc:hover,
.btn-pc:focus-visible {
  background-color: var(--pc-pink-dark);
  border-color: var(--pc-pink-dark);
  color: var(--pc-white);
  transform: translateY(-2px);
}

/* Bouton contour crème — Lire plus sur fond coloré */
.btn-pc-outline {
  background-color: transparent;
  border: 1px solid var(--pc-cream);
  color: var(--pc-cream);
}

.btn-pc-outline::after { background-image: url('/smarty/wireframe30/media/images/flch.svg'); }

.btn-pc-outline:hover,
.btn-pc-outline:focus-visible {
  background-color: var(--pc-cream);
  color: var(--pc-dark);
  transform: translateY(-2px);
}

.btn-pc-outline:hover::after { filter: brightness(0) saturate(100%); }

/* Variante bordure blanche pure — cartes 2, 3 et 4 du Figma */
.btn-pc-outline.is-white {
  border-color: var(--pc-white);
  color: var(--pc-white);
}

.btn-pc-outline.is-white::after { background-image: url('/smarty/wireframe30/media/images/arrow-white.svg'); }

.btn-pc-outline.is-white:hover {
  background-color: var(--pc-white);
  color: var(--pc-dark);
}

/* Bouton contour pointillé — Lire plus des actualités (Figma : 2px dashed) */
.btn-pc-dashed {
  background-color: transparent;
  border: 2px dashed var(--pc-white);
  color: var(--pc-white);
}

.btn-pc-dashed:hover,
.btn-pc-dashed:focus-visible {
  background-color: var(--pc-white);
  border-style: solid;
  color: var(--pc-pink);
  transform: translateY(-2px);
}

.btn-pc-dashed:hover::after { filter: brightness(0) saturate(100%); }

/* Bouton retour — détail article */
.btn-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 30px;
  padding: 14px 22px;
  border: 1px solid var(--pc-grey);
  border-radius: var(--pc-radius);
  color: var(--pc-grey);
  font-weight: 500;
  font-size: var(--pc-fs-btn);
  letter-spacing: var(--pc-ls-btn);
  text-transform: uppercase;
}

.btn-back:hover {
  background-color: var(--pc-grey);
  color: var(--pc-white);
}

 
/* ==========================================================================
   BLOC 3 — LAYOUT
   ========================================================================== */

/* --------------------------------------------------------------------------
   3.1 — Header / Navigation
   Figma : logo centré 407×69 puis pilule de nav #626A6C, radius 10,
           backdrop-blur 40px, padding 20px 70px, gap 40px
   -------------------------------------------------------------------------- */


.bx-head {
    padding: 32px 0;
   text-align: center; 
} 
  a.logo-block {
    margin: auto;
    display: table;
}
header nav.navbar { 
    position: relative; 
  z-index: 1;
  border-radius: 10px;
background: var(--pc-grey-nav);
backdrop-filter: blur(40px);
  padding: 19px 70px;
     display: table;
    margin: 30px auto 0;
}    
  header .navbar-nav .nav-link {
  display: inline-block;
  font-family: var(--pc-font-title); /*var(--pc-font-body);*/
  font-weight: 700;
  font-size: var(--pc-fs-nav);
  line-height: 1.2;
  letter-spacing: var(--pc-ls-nav);
  text-transform: uppercase;
  color: var(--pc-cream);
  white-space: nowrap;
  padding: 0!important;
  border-bottom: 2px solid transparent;
  transition: color var(--pc-transition), border-color var(--pc-transition);
}  
header .navbar-nav .nav-item.selected>.nav-link, header .navbar-nav li>.nav-link:hover, header .navbar-nav li> .nav-link:active, header .navbar-nav li>.nav-link:focus{ 
    color: var(--pc-white);
  border-bottom-color: var(--pc-pink);
} 
 @keyframes glow {
  0% {
    text-shadow: 0 0 5px #fff;
  }
  50% {
    text-shadow: 0 0 20px #fff, 0 0 30px #9C6622, 0 0 40px #9C6622;
  }
  100% {
    text-shadow: 0 0 5px #fff;
  }
}
header .navbar-nav li {
    position: relative;
}
header .navbar-nav li:not(:first-child):before {
 /*content: ""; */
    position: absolute; 
    left: -33px;
    top:50%; 
    transform: translate(0,-50%); 
border:1px solid var(--tertiary-color) ;
width: 8px;
height: 8px;
    transition: all .4s;
      border-radius: 50%;
}  

header .navbar-nav .dropdown-menu li::before {
  	display: none;
}
 .navbar-toggler {
	position: relative;
	border: none;
	padding: 0;
	box-shadow: none !important;
}
  header .navbar-nav {
     margin: 0 auto ;
        gap: 40px;
}
button.navbar-toggler:before {
	top: 0;
	transform: rotate(-32deg);
	transform-origin: right;
}
button.navbar-toggler:after {
	bottom: 0;
	transform: rotate(32deg);
	transform-origin: right;
}
button.navbar-toggler:after, button.navbar-toggler:before {
	content: '';
	width: 1.5em;
	background:var(--light-color);
	position: absolute;
	left: 0;
	height: 2px;
	transition: .3s;
}
button.navbar-toggler .navbar-toggler-icon {
	display: block;
	height: 2px;
	background-image: none;
	background-color: var(--light-color);
	transition: .1s;
	opacity: 1;
	margin: 8px 0;
}
.navbar-nav .dropdown-toggle:after {
    margin: -3px auto 0 !important;
    display: table;
    content: "\f107";
    font-family: "Font Awesome 6 Sharp" !important;
    border: none;
    font-weight: 900;
    font-size: 15px;
    color: var(--light-color); 
}
.navbar-nav .nav-item:hover .dropdown-toggle:after {
	content: "\f106";
}
.dropdown-menu {
    background: var(--bs-primary-color);
    border: none;
    border-radius: 10px;
      left: 50%;
    transform: translate(-50%);
    min-width: 200px; 
  padding: 10px 0;
}
.dropdown-toggle {
    white-space: nowrap;
    position: absolute;
    right: 16px;
    transform: translatey(-50%);
    top: 50%;
      margin-top: 2px;
}
header nav.navbar.sticky-top .level-0 li:first-child .dropdown-toggle {
    right: 50px;
}
.navbar-nav .dropdown-menu .nav-item .nav-link {
    padding: 4px 10px !important;
    text-align: center; 
    font-size: 15px;
    font-weight:700;
   color: var(--light-color);
}
.navbar-nav .dropdown-menu .nav-item:not(:last-child) .nav-link {
  border-bottom:1px solid  rgba(255, 255, 255, 0.20);
}  
.navbar-nav .dropdown-menu .nav-item .nav-link:before {
  display: none;
}
.navbar.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 15px 0;
    z-index: 999;
    border-radius: 0;
    background: rgb(0 0 0 / 80%);
    backdrop-filter: blur(10px);
    margin: 0;
      max-width: 100%;
}
 .navbar.is-sticky .navbar-brand {
	display: none;
}
 header .navbar.is-sticky:before, header .navbar.is-sticky:after {
   display: none;
}

 
/* ---------- HERO BANNER BIG (homepage) ---------- */
.banner.big {
    position: relative;
    height: 900px;
    padding: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.banner-slideshow {
    z-index: 0;
    overflow: hidden;
}
.banner-slideshow img { width: 100%; height: 100%; object-fit: cover; }


/* BS5 .fade fix — Rule 3 */
.banner .fade,
.banner .carousel-item,
#slideshow.fade,
#slideshow .carousel-item {
    opacity: 1 !important;
}
#slideshow,
#slideshow.diy-slideshow,
.banner-slideshow #slideshow,
.banner-slideshow .swiper,
.banner-slideshow .swiper-wrapper,
.banner-slideshow .swiper-slide,
.banner-slideshow .carousel,
.banner-slideshow .carousel-inner,
.banner-slideshow .carousel-item {
    width: 100%;
    height: 100%;
}
.banner-slideshow .swiper-slide img,
.banner-slideshow .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.banner-gradient {
    z-index: 1;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.50) 80%) ;
    pointer-events: none;
}
.banner-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 230px 0 0;
}
.banner-content a.btn.btn-primary {
    padding: 16px 24px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 20px;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    line-height: normal;
}
.banner-content a.btn.btn-primary::after {
    content: '';
    width: 18px;
    height: 13px;
    background: url(/smarty/wireframe30/media/images/flch.svg) no-repeat center / contain;
    transition: transform var(--pc-transition);
}


 
/* Contenu de la box DCVE Home-hero (bouton Réservation) */
.banner-content .box-hero { display: flex; justify-content: center; }

.banner-content .box-hero p { margin: 0; }

.banner-content .box-hero a {
  display: inline-flex;
  align-items: center;
  gap: var(--pc-space-xs);
  padding: 16px 24px;
  border-radius: var(--pc-radius);
  background-color: var(--pc-pink);
  color: var(--pc-white);
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: background-color var(--pc-transition), transform var(--pc-transition);
}

.banner-content .box-hero a::after {
  content: '';
  width: 18px;
  height: 13px;
  background: url('/smarty/wireframe30/media/images/arrow-white.svg') no-repeat center / contain;
  transition: transform var(--pc-transition);
}

.banner-content .box-hero a:hover {
  background-color: var(--pc-pink-dark);
  transform: translateY(-2px);
}

.banner-content .box-hero a:hover::after { transform: translateX(4px); }

/* ---------- HERO BANNER SMALL (internal pages) ---------- */
.banner.small {
    position: relative;
    min-height: 400px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.banner-small-bg {
    z-index: 0; 
}
section.banner .carousel-control-next, section.banner .carousel-control-prev {
	display: none;
}  
.banner.small .banner-content {
    padding: 160px 0 60px;
    z-index: 2;
}


/* --------------------------------------------------------------------------
   3.3 — Section 2 : citation  (.sec-citation)
   Figma : bloc rose radius 10, cadre interne bordure 3px blanche,
           guillemets SVG décoratifs en absolu
   -------------------------------------------------------------------------- */

.sec-citation {
  position: relative;
  padding: var(--pc-space-xl) 0;
  background-color: var(--pc-white);
}

.sec-citation .container { padding: 0 15px; }

.citation-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pc-space-md);
  padding: var(--pc-space-lg);
  border-radius: var(--pc-radius);
  background-color: var(--pc-pink);
}

/* Guillemet ouvrant — Règle 19, pseudo-élément */
.citation-box::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 173px;
    width: 50px;
    height: 50px;
    background: var(--pc-pink) url(/smarty/wireframe30/media/images/icon1-box.svg) no-repeat center;
    pointer-events: none;
    z-index: 2;
}

/* Guillemet fermant — rotation 180° comme dans le Figma */
.citation-box::after {
  content: '';
  position: absolute;
  bottom: -12px;
  right: 248px;
  width: 50px;
  height: 50px;
  background: url('/smarty/wireframe30/media/images/icon2-box.svg') no-repeat center; 
  pointer-events: none;
  z-index: 2;
}

.citation-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pc-space-sm);
  width: 100%;
  padding: var(--pc-space-lg) 100px;
  border: 3px solid var(--pc-white);
  border-radius: var(--pc-radius);
  text-align: center;
}

.citation-inner blockquote {
    margin-bottom: 20px;
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-style: italic;
  font-size: clamp(1.25rem, 2vw, 30px);
  line-height: 1.2;
  color: var(--pc-white);
  text-transform: none;
}

.citation-inner cite {
  font-family: var(--pc-font-body);
  font-weight: 600;
  font-style: italic;
  font-size: 20px;
  line-height: 24px;
  color: var(--pc-cream);
}

/* Contenu injecté par la box DCVE citation */
.citation-inner .box-citation p:first-child {
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-style: italic;
  font-size: clamp(1.25rem, 2vw, 30px);
  line-height: 1.2;
  color: var(--pc-white);
}

.citation-inner .box-citation p:last-child {
  font-family: var(--pc-font-body);
  font-weight: 600;
  font-style: italic;
  font-size: 20px;
  line-height: 24px;
  color: var(--pc-cream);
  margin-bottom: 0;
}


/* --------------------------------------------------------------------------
   3.4 — Section 3 : deux encarts  (.sec-boxes)
   Figma : fond photo château + texture luminosity 20 %, 2 encarts gap 24px
   -------------------------------------------------------------------------- */

.sec-boxes {
  position: relative;
  padding: 153px 0;
  background: url('/smarty/wireframe30/media/images/bg-box1.webp') no-repeat center / cover fixed;
  isolation: isolate; 
/*background-blend-mode: normal, luminosity, normal;*/
}

/* Texture papier en mode luminosity, opacité 20 % (valeur Figma) */
/*.sec-boxes::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('/smarty/wireframe30/media/images/texture-paper.webp') no-repeat center / cover;
  mix-blend-mode: luminosity;
  opacity: .2;
  pointer-events: none;
}*/

.sec-boxes .container-fluid {
    max-width: 1644px;
}

.boxes-grid {
  display: flex;
  gap: var(--pc-space-md);
  align-items: stretch;
  width: 100%;
}

/* Encart — structure attendue dans la box DCVE Home-boxes1 */
.bx-home {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--pc-space-md);
  padding: 100px 40px;
  border-radius: var(--pc-radius);
  overflow: hidden;
  background-color: var(--pc-grey);
  text-align: center;
  transition: transform var(--pc-transition), box-shadow var(--pc-transition);
      transform: none !important;
}

/* Second encart rose — Figma : Séminaires d'entreprises */
.boxes-grid .bx-home:nth-child(2),
.bx-home.is-pink { 
border-radius: 10px;
background: linear-gradient(0deg, #CF006F 0%, #CF006F 100%), url('/smarty/wireframe30/media/images/bg-pink.webp') lightgray 50% / cover no-repeat ;
}

.bx-home:hover {
  transform: translateY(-6px);
  box-shadow: var(--pc-shadow-hover);
}

.bx-home h2,
.bx-home h3,
.bx-home .bx-title {
  margin: 0;
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-size: clamp(1.75rem, 3vw, var(--pc-fs-h5));
  line-height: 1;
  color: var(--pc-white);
  text-transform: none; /*uppercase;*/
}

.bx-home p { color: var(--pc-white); margin: 0; }

/* Lien du contenu CMS stylé en bouton contour crème */
.bx-home a:not(.btn-pc):not(.btn-pc-outline) {
  display: inline-flex;
  align-items: center;
  gap: var(--pc-space-xs);
  padding: 16px 24px;
  border: 1px solid var(--pc-cream);
  border-radius: var(--pc-radius);
  color: var(--pc-cream);
  font-weight: 500;
  font-size: var(--pc-fs-btn);
  line-height: 24px;
  letter-spacing: var(--pc-ls-btn);
  text-transform: uppercase;
  transition: background-color var(--pc-transition), color var(--pc-transition);
}

.bx-home a:not(.btn-pc):not(.btn-pc-outline)::after {
  content: '';
  width: 18px;
  height: 13px;
  background: url('/smarty/wireframe30/media/images/flch.svg') no-repeat center / contain;
  transition: transform var(--pc-transition);
}

.bx-home a:not(.btn-pc):not(.btn-pc-outline):hover {
  background-color: var(--pc-black);
  color: var(--pc-cream);
}

.bx-home a:not(.btn-pc):not(.btn-pc-outline):hover::after { transform: translateX(4px); }


	/*--------------------------------------------------
# language
--------------------------------------------------*/
.flagLang {
    position: absolute;
    right: 10vw;
    top: 50px;
}
#btnTranslate {
    display: flex;
    gap: 5px;
    align-items: start;
    justify-content: start;
    cursor: pointer;
    overflow: hidden;
}

#btnTranslate div {
    text-indent: initial !important;
    text-align: left;
    font-size: 0;
    overflow: initial !important;
    vertical-align: top;
    background-position: center;
    background-repeat: no-repeat;
    height: 21px;
    width: 34px;
    display: block;
  	background-size: contain;
	background-color: var(--light-color);
}
#btnTranslate .selected {
	position: relative;
}

#btnTranslate .fr {
    background-image: url(../images/fr.webp);
}
#btnTranslate .en {
    background-image: url(../images/en.webp);
}

#btnTranslate:hover {
    height: auto;
    overflow: visible;
    z-index: 101;
    color: var(--bs-body-bg);
    line-height: 5px;
    border-radius: 0;
}
#btnTranslate:hover a.selected {
    position: relative;
    padding: 0;
}
#btnTranslate:hover a {
    color: var(--bs-body-bg);
}
#btnTranslate:hover a:not(.selected) {
    opacity: 1;
}
#btnTranslate a:hover {
    color: var(--bs-body-bg);
}
.skiptranslate {
    display: none !important;
}
body {
    top: 0 !important;
}
/* --------------------------------------------------------------------------
   3.5 — Section 4 : présentation  (.sec-presentation)
   Figma : split photo 876px / texte, 4 filets verticaux #31352D opacity 7 %
   -------------------------------------------------------------------------- */

.sec-presentation {
  position: relative;
  padding: var(--pc-space-xl) 0;
  background-color: var(--pc-white);
  overflow: hidden;
}

/* Grille de 4 filets verticaux — décor Figma, reproduit en dégradé répété */
.sec-presentation::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1140px;
  max-width: 100%;
  height: 100%;
  background-image:
    linear-gradient(to right, var(--pc-rule) 1px, transparent 1px);
  background-size: calc(1140px / 3) 100%;
  background-repeat: repeat-x;
  pointer-events: none;
  z-index: 0;
}
.sec-presentation .container-fluid {
    max-width: 1708px;
}
/* Quatrième filet — bord droit de la grille */
.sec-presentation::after {
  content: '';
  position: absolute;
  top: 0;
  left: calc(50% + 569px);
  width: 1px;
  height: 100%;
  background-color: var(--pc-rule);
  pointer-events: none;
  z-index: 0;
}
 
.presentation-grid {
  display: flex; 
  gap: var(--pc-space-xl);
  width: 100%;
}

.presentation-media {
  flex: 0 0 52%;
  max-width: 876px;
  align-self: stretch; 
  border-top-right-radius: var(--pc-radius);
  overflow: hidden;
}

/* Image de présentation issue de la box DCVE Home-presentation */
.presentation-media img,
.presentation-media .box-presentation img {
  width: 100%;
  height: 100%; 
  object-fit: cover;
  border-top-right-radius: var(--pc-radius);
  position: absolute;
}

.presentation-media .box-presentation,
.presentation-media .box-presentation p { height: 100%; margin: 0; }

.presentation-text {
  flex: 1 1 0;
  min-width: 0; 
  text-align: center ;padding: 130px 0;
}

.presentation-text .bloctitel { margin-bottom: 30px; }

.presentation-text h1,
.presentation-text .title-main {
  font-size: clamp(1.9rem, 3.4vw, var(--pc-fs-h1));
  line-height: 1.1;
  color: var(--pc-dark);
    margin-bottom: 40px;
}

.presentation-body {
  display: flex;
  flex-direction: column;
  gap: var(--pc-space-xs);
  color: var(--pc-grey-2);
  font-size: var(--pc-fs-body);
  line-height: var(--pc-lh-body);
  text-align: center;
}

.presentation-body p { margin: 0 0 var(--pc-space-xs); }

.presentation-body h2,
.presentation-body h3 { text-align: center; }

.presentation-body ul,
.presentation-body ol {
  padding-left: 20px;
  text-align: left;
  margin: 0 auto var(--pc-space-xs);
  max-width: 640px;
}

.presentation-body li { margin-bottom: 6px; }


/* --------------------------------------------------------------------------
   3.6 — Section 5 : quatre cartes  (.sec-cards)
   Figma : texture luminosity 35 %, 4 cartes p 8px, image 311px, radius 10
   -------------------------------------------------------------------------- */

.sec-cards {
  position: relative;
  padding: var(--pc-space-2xl) 0; 
}

.sec-cards::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('/smarty/wireframe30/media/images/texture-paper.webp') no-repeat center / cover;
  mix-blend-mode: luminosity;
  opacity: .35;
  pointer-events: none;
}

.sec-cards .container { padding: 0 15px; }

.cards-grid {
  display: flex;
  gap: var(--pc-space-md);
  align-items: stretch;
  justify-content: center;
  width: 100%;
}

/* Carte — structure attendue dans la box DCVE Home-services */
.bx-card {
  position: relative;
  flex: 1 1 0;
  min-width: 0; 
  padding: 8px;
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  background-color: var(--pc-grey);
  box-shadow: var(--pc-shadow-card);
  overflow: hidden;
  transition: transform var(--pc-transition), box-shadow var(--pc-transition);
      transform: none !important;
}

.bx-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--pc-shadow-hover);
}

/* Alternance de couleurs — ordre exact du Figma : rose / gris / rose / gris */
.cards-swiper .swiper-slide:nth-child(odd) .bx-card{ background-color: var(--pc-pink);   border-color: var(--pc-pink); }
.cards-swiper .swiper-slide:nth-child(even) .bx-card{ background-color: var(--pc-grey-2); border-color: var(--pc-border); } 

.bx-card-img {
  position: relative;
  width: 100%;
  height: 311px;
  border-radius: var(--pc-radius);
  overflow: hidden;
}

.bx-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--pc-radius);
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}
.bx-card-body h3,
.bx-card-body .btn {
  flex-shrink: 0; /* titre et bouton ne se compressent jamais */
}
.bx-card:hover .bx-card-img img { transform: scale(1.06); }

.bx-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start; /* évite le centrage qui compresse le contenu */
  gap: var(--pc-space-xs);
  width: 100%;
  padding: var(--pc-space-md);    color: white;
}

.bx-card-body h2,
.bx-card-body h3,
.bx-card-body .bx-card-title {
  margin: 0;
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-size: clamp(1.5rem, 2.2vw, var(--pc-fs-h3));
  line-height: .875;
  color: var(--pc-white);
  text-transform: none; /*uppercase;*/
      display: inline-block;
    width: 100%;
}
.bx-card-body p {
  flex-shrink: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;    color: white;
}

/* Lien du contenu CMS stylé en bouton contour blanc */
.bx-card-body .btn.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: var(--pc-space-xs);
  padding: 16px 24px;
  border: 1px solid var(--pc-white);
  border-radius: var(--pc-radius);
  color: var(--pc-white);
  font-weight: 500;
  font-size: var(--pc-fs-btn);
  line-height: 24px;
  letter-spacing: var(--pc-ls-btn);
  text-transform: uppercase;
  transition: background-color var(--pc-transition), color var(--pc-transition);
  background: none;
}

.bx-card-body .btn.btn-primary::after {
  content: '';
  width: 18px;
  height: 13px;
  background: url('/smarty/wireframe30/media/images/flch.svg') no-repeat center / contain;
  transition: transform var(--pc-transition);
}

.bx-card:hover .bx-card-body .btn.btn-primary {
  background-color: var(--pc-dark); 
} 

/* Première carte : bouton en crème (valeur Figma) */
.cards-grid .bx-card:nth-child(1) .bx-card-body a:not(.btn-pc):not(.btn-pc-outline) {
  border-color: var(--pc-cream);
  color: var(--pc-cream);
}

.cards-grid .bx-card:nth-child(1) .bx-card-body a:not(.btn-pc):not(.btn-pc-outline)::after {
  background-image: url('/smarty/wireframe30/media/images/arrow-cream.svg');
}

a.link {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0;
}

/* ---------- SEC-ACTUALITÉS (news_b + Swiper A4) ---------- */
.sec-actualites {
  position: relative;
  padding: 100px 0;
  background-color: var(--pc-pink);
}

.sec-actualites .container { padding: 0 15px; }

.sec-actualites .actus-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: var(--pc-space-lg);
}

.sec-actualites .actus-head h2 {
  margin: 0;
  font-size: clamp(1.75rem, 2.8vw, var(--pc-fs-h2));
  color: var(--pc-white);
  text-align: center;
}
.sec-actualites .section-header { margin-bottom: 40px; }

.sec-actualites #AllNews {
    position: relative;
    padding: 0  ;
}
/* Zone A block A4 will wrap items in .swiper-wrapper */
.sec-actualites #AllNews.swiper,
.sec-actualites #AllNews {
    overflow: hidden;
}
.sec-actualites .swiper-wrapper {
    display: flex;
    align-items: stretch;  
    height: auto;
}
.sec-actualites .news-col,
.sec-actualites .swiper-slide {
    background: transparent;
    height: auto; 
}
 

/* News card design (Figma) */
.sec-actualites .news-object,
.news-object {
    background: transparent;
    display: flex;
    flex-direction: column;
    text-align: center;
    transition: transform 0.3s ease;
    border-radius: 10px;
      background: var(--pc-pink); 
    padding: 30px 15px;
}
.sec-actualites .news-object .news-body-desc {
    background: rgba(19, 45, 34, 0.26);
    backdrop-filter: blur(3px);
    padding: 40px 100px;
}
 
.sec-actualites .news-object .nophoto, .sec-actualites .news-object .photo { 
    display: none!important;
}
.sec-actualites .news-object .news-photo img,
.sec-actualites .news-object .photo img,
.news-object img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
} 
.news-object .news-body-desc,
.news-object .news-desc {
    padding: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.news-object .news-body-desc .date,
.news-object .date {
    display: block;
    margin-bottom: 8px;
    font-family:var(--font-serif);
    font-weight: 700;
    font-size:18px;
    line-height: 24px;
    color: var(--light-color);
    text-transform: none; 
  letter-spacing: 1.8px;
      order: 2;
}
.news-object h3,
.news-object .news-title {
    font-family: var(--pc-font-body);
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    color: var(--light-color);
    text-transform: none;
    margin: 0 0;
        display: flex;
    flex-direction: column;
}
.news-object h3 a { color: inherit; }
.news-object h3 a:hover { color: var(--primary-color); }
.news-object .news-body-desc ,
.news-object   {
    font-family: var(--pc-font-body);
    font-weight: 400;
    font-size: 15px;
    line-height: 22px;
    color: var(--light-color);
    margin: 0 0 16px;    height: 100%;
}
.news-object .read-more a { 
    font-family: var(--pc-font-body);
    font-weight: 500;
    font-size: 16px;
    color: var(--light-color);
    text-transform: uppercase; 
  letter-spacing: 1.6px;
  border-radius: 10px;
border: 2px dashed var(--light-color, #FFF);
    text-decoration: none; 
    margin-top: auto;
    background: none;
 display: inline-flex;
padding: 16px 24px;
justify-content: center;
align-items: center;
gap: 10px;
}
.news-object .read-more a::after {
    content: '';
    flex: 0 0 18px;
    width: 18px;
    height: 13px;
    background: url(/smarty/wireframe30/media/images/flch.svg) no-repeat center / contain;
    transition: transform var(--pc-transition);
}
.news-object .read-more a:hover {
    background: var(--pc-black); 
}
.news-object .news-body-desc { 
    gap: 20px;
}


/* News nophoto fallback (Rule 23) */
.news-col .news-object .nophoto,
.news-object .nophoto {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--tertiary-color);
    min-height: 240px;
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 20px;
}
.news-col .news-object .nophoto img,
.news-object .nophoto img {
    object-fit: scale-down;
    padding: 10px;
    max-width: 60%;
    max-height: 80%;
    opacity: 0.6;
    width: auto;
    height: auto;
}
.news-object .nophoto .fa-duotone.fa-image,
.news-object .nophoto .fa-solid.fa-image,
.news-object .nophoto i[class*="fa-image"] {
    display: none;
}

/* Swiper pagination — actus */
.swiper-pagination-actus { 
   
}
.swiper-pagination-actus .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: none;
  border:1px solid #E5E1CD;
    opacity: 1;
    border-radius: 50%;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.swiper-pagination-actus .swiper-pagination-bullet-active {
    background: #E5E1CD;
    transform: scale(1);
}



/* --------------------------------------------------------------------------
   3.7 — Section 6 : avis clients  (.avis-clients)  — contrat bloc A5/A6
   Figma : split bloc avis / photo 745×527, carte bordée, 5 étoiles
   -------------------------------------------------------------------------- */
/*--------------------------------------------------
# Section: avis-clients (Zone A5 — Guestbook Swiper)
--------------------------------------------------*/
.avis-clients {
   position: relative;
  padding: var(--pc-space-2xl) 0;
  background-color: var(--pc-white);
} 
 .avis-clients .container-fluid {
    max-width: 1708px;
}

.avis-grid {
  display: flex; 
  gap: var(--pc-space-xl);
  width: 100%;
      align-items: center;
}

.avis-col {
    align-items: center; 
    max-width: 859px;
}

.avis-media { 
  max-width: 745px; 
      width: 100%;
    position: relative;  
      height: 527px;
}
.avis-media img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
  border-radius: 0 10px 0 0;
}

.avis-col .bloctitel { margin-bottom: 0;gap: 0; }

.avis-col .title-main { margin: 0; font-size: clamp(1.75rem, 2.8vw, var(--pc-fs-h2)); }


/* Hide submission form on homepage — only show on dedicated /avis-clients page */
.avis-clients .gb-section .guestbook-form,
.avis-clients .gb-section .contactForm,
.avis-clients .gb-section #contactv2-confirm-1 {
    display: none !important;
}

h3.contact-field {
    display: none;
}
/* CMS structure: .gb-section > .guestbook-container > #Guestbook > #numberPagesGuesbook > .review-messages > .gb-entry */
.avis-clients .gb-section,
.avis-clients .guestbook-container,
.avis-clients #Guestbook,
.avis-clients .messages-container { background: transparent; }
.avis-clients .count-messages { display: none; }

.avis-clients .average-score {
    text-align: center;
    margin-bottom: 30px;
}
.avis-clients .gb-entry-score .fa-star {
    color: var(--primary-color)!important; 
}
.avis-clients .gb-entry:hover .gb-entry-score .fa-star {
  color: var(--primary-color)!important; 
}
.avis-clients .average-review {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.avis-clients .item-review {
    font-family: 'Goldman', sans-serif;
    font-size: 16px;
    color: var(--quaternary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.avis-clients .score-review {
    font-family: var(--bs-titles-font-family);
    font-size: 32px;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.avis-clients .review-number {
    font-family: var(--bs-body-font-family);
    font-size: 13px;
    color: var(--quaternary-color);
}

.avis-clients .swiper-container2 { overflow: hidden; }
.avis-clients .gb-entry {    
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px; 
      transition: all .4s;
      margin: 2px 0; 
      padding: 48px 24px;
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  background-color: var(--pc-white);
  text-align: center;
  box-sizing: border-box;
}
.avis-clients .gb-entry:hover { 
      transform: scale(.97); 
} 
.avis-clients .gb-entry .headerReview {
  margin-top: auto; /* pousse nom/date/étoiles en bas de la carte */
}
.avis-clients .gb-entry:before {
    content: "";
    position: relative;
    width: 22px;
    height: 19px;
    background: url(/smarty/wireframe30/media/images/icon-avis.svg) no-repeat center / contain;
    pointer-events: none;
    margin: auto;
}
.avis-clients .gb-entry > div {
    display: flex;
    flex-direction: column; 
    gap: 12px;
}
.avis-clients .gb-entry .headerReview {
    justify-content: center !important;
    text-align: center;
      order: 3;
}
.avis-clients .gb-entry-score {
    display: inline-block;
    color: var(--primary-color);
    font-size: 14px;
    letter-spacing: 4px;
      order: 5;
} 
.avis-clients .gb-entry .message {
  order: 1;
  margin: 0;
  font-family: var(--pc-font-body);
  font-weight: 400;
  font-size: var(--pc-fs-body);
  line-height: var(--pc-lh-body);
  color: var(--pc-grey);
} 
.avis-clients .gb-entry .review-user {
  order: 2;
  margin: 0;
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-size: var(--pc-fs-h4);
  line-height: 1.2;
  color: var(--pc-black);
  text-transform: uppercase;
}
.avis-clients .gb-entry .review-date {
   font-family: var(--font-serif);
    font-weight: 400;
    font-size: 20px;
    color: var(--primary-color);
    display: block; 
    order: 4;
      display: none;
}  
.avis-clients .gb-entry .review-hour {
    font-size: 13px;
    opacity: .8;
  display: none;
        width: 100%;    width: 100%;;
}
.avis-clients .gb-entry .link {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 3;
}

/* Swiper pagination — avis */
.avis-clients .swiper-pagination.avis-pagination,
.avis-clients .avis-pagination {
    position: absolute;
    inset: 0;
    margin-top: 0;
    z-index: 5;
    bottom: -36px;
    top: inherit;
}
.avis-clients .avis-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0;
  border: 1px solid var(--pc-pink);
  border-radius: 50%;
  background-color: transparent;
  opacity: 1;
  transition: background-color var(--pc-transition);
}
.avis-clients .avis-pagination .swiper-pagination-bullet-active {
   background-color: var(--pc-pink);
}
 
/* --------------------------------------------------------------------------
   3.9 — Section 8 : contact accueil  (.sec-contact-home)
   Figma : texture luminosity 35 %, photo gauche, formulaire gris droite
   -------------------------------------------------------------------------- */
 

/* ---------- SEC-CONTACT-HOME ---------- */
.sec-contact-home {
    padding: 120px 0;
    position: relative;
    overflow: hidden; 
}
.sec-contact-home::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: url(/smarty/wireframe30/media/images/texture-paper.webp) no-repeat center / cover;
    mix-blend-mode: luminosity;
    opacity: .35;
    pointer-events: none;
} 
.contact-home-grid {
    display: flex; 
  gap:50px;
}
.form-media {
    position: relative;
    width: 50%;
}
.form-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
      position: absolute;
}
.contact-home-form { 
    position: relative;
  padding: 80px 40px;
    color: var(--light-color); 
  border-radius: 10px;
border: 1px solid rgba(110, 110, 110, 0.20);
background: #646A6C ;
      order: 2;
    width: 50%;
}  
.contact-home-form .section-title {
    text-align: left;
    margin-bottom: 24px;  
    color: var(--light-color); 
}
.contact-home-form .eyebrow-icon {
    display: inline-block; 
    margin: 0 10px 0 0;
}
 
.contact-home-form .contact-submit {
    position: relative;
      display: table;
}
 
.contact-home-form .contact-submit::after {
    content: ''; 
      position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 24px;
    z-index: 1;
    pointer-events: none;
    width: 18px;
    height: 13px;
    background: url(/smarty/wireframe30/media/images/flch.svg) no-repeat center / contain;
    transition: transform var(--pc-transition);
}
.contact-home-form .contact-submit .btn-primary {
    padding: 16px 52px 16px 24px; 
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 24px; /* 150% */
letter-spacing: 1.6px;
text-transform: uppercase;
  
}

 
/* --------------------------------------------------------------------------
   3.10 — Page contact dédiée  (4.tpl)
   -------------------------------------------------------------------------- */
 

.contact-page-form {
  flex: 1 1 60%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--pc-space-md);
  padding: var(--pc-space-lg);
  border: 1px solid var(--pc-form-border);
  border-radius: var(--pc-radius);
  background-color: var(--pc-grey);
}

.contact-page-form h1,
.contact-page-form h2 { color: var(--pc-white); margin: 0; }

.contact-page-aside {
  flex: 1 1 40%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--pc-space-md);
}
  
.contact-infos {
  display: flex;
  flex-direction: column;
  gap: var(--pc-space-sm);
  padding: var(--pc-space-md);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
}

.contact-infos .info-row {
  display: flex;
  align-items: center;
  gap: var(--pc-space-sm);
}

.contact-infos .info-row .footer-icon { flex: 0 0 50px; }

 
  
/* --------------------------------------------------------------------------
   3.15 — Footer
   Figma : fond blanc, 3 colonnes, logo + réseaux / coordonnées / carte
   -------------------------------------------------------------------------- */

.site-footer {
  position: relative;
  padding:50px 0  ; 
}
 

.footer-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
   
.site-footer .networks_linking {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px; 
}

.footer-social a,
.footer-social .social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--pc-grey-2);
  transition: color var(--pc-transition), transform var(--pc-transition);
}
 
.footer-social a:hover,
.footer-social .social-link:hover {
  color: var(--pc-pink); 
}

.footer-contact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--pc-space-sm);
}

.footer-contact .info-row {
  display: flex;
  align-items: center;
  gap: var(--pc-space-sm);
}

.footer-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  padding: 10px;
  border-radius: var(--pc-radius-pill);
  background-color: var(--pc-grey);
  color: var(--pc-white);
}

.footer-icon.is-pink { background-color: var(--pc-pink); }

.footer-contact .info-text,
.footer-contact address {
  margin: 0;
  font-style: normal;
  font-size: var(--pc-fs-body);
  line-height: var(--pc-lh-body);
  color: var(--pc-grey-2);
}

.footer-contact a.info-tel {
  font-weight: 500;
  font-size: var(--pc-fs-btn);
  line-height: 24px;
  letter-spacing: var(--pc-ls-btn);
  text-transform: uppercase;
  color: var(--pc-grey-2);
}

.footer-contact a.info-tel:hover { color: var(--pc-pink); }

.footer-map .box_googlemapsv2{ 
width: 481px;
height: 311px; 
    overflow: hidden; 
}
.footer-map iframe {
    width: 100% !important;
    height:100% !important;
    border: 0;
    display: block;
     filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
}
.fa-facebook::before {
    content: "\f39e" !important;
} 
 a.networks.networks_google {
    order: 3; 
}
 
/* Sub-footer (Mentions + Proximedia) */
.sub-footer {
    padding: 14px 0;
    background: var(--pc-cream);  
}
.sub-footer small { font-size: 14px; }
.sub-footer a { 
    text-decoration: none;
    transition: color 0.3s ease;
} 
.footer-b {
    display: none;
}

.page-content.bg-patten::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: url('/smarty/wireframe30/media/images/texture-paper.webp') no-repeat center / cover fixed;
    mix-blend-mode: luminosity;
    opacity: .35;
    pointer-events: none;
}
.page-content.bg-patten .box-light.light2 {
    background: #ffffff;
    border: none !important;
    border-radius: 10px;
    box-shadow: 0px 12px 18px -6px rgba(0, 0, 0, 0.3);
    padding: 35px;
}

a.brand-skin {
    font-size: inherit !important;
    display: inline-block !important;
    padding: 0 !important;
}
/* ==========================================================================
   BLOC 4 — FINISHING (animations, prefers-reduced-motion, responsive)
   ========================================================================== */

/* -- Prefers reduced motion -- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}




/* Form inputs — dark theme (homepage) */
.sec-contact  input[type="text"],
.sec-contact  input[type="email"],
.sec-contact  input[type="tel"],
.sec-contact  textarea,
.sec-contact  select ,
.sec-contact  .form-control, .sec-contact  .form-select{
    background: var(--light-color); 
    padding: 10px 20px;
    color: var(--pc-grey-2);
    width: 100%;
    font-family: var(--bs-body-font-family);
    font-weight: 400;
    font-size: 15px;
      height: 45px;
    transition: border-color .25s ease;
  border-radius: 0; 
}
.sec-contact  input::placeholder,
.sec-contact  textarea::placeholder { color: var(--hp-light-70); }
.sec-contact  input:focus,
.sec-contact  textarea:focus,
.sec-contact  select:focus {
    outline: none;
    border-color:  var(--gray-color);
}
.sec-contact .contactForm textarea.form-control {
    height: 111px;
} 
.contactForm .contact-field-item {
	margin: 0 0 20px  !important;
	position: relative;
	display: block;
	padding: 0;
	width:50%;
	float: left;
	clear: none !important;
}
 .contactForm .contact-field-item:nth-child(even) {
padding-right: 10px;
}
.contactForm .contact-field-item:nth-child(odd) {
	padding-left: 10px;
} 
.contactForm .contact-field-item.fullwidth {
	width: 100%;
	padding: 0 !important;
	float: none;
	clear: both !important;
} 
.contactForm textarea.form-control {
height: 150px; 
}
.contact-field-type_checkboxes .form-check {
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
}
.sec-contact label a:hover {
    color: var(--primary-color);
}
.gdpr.form-check {
    margin: 0 0 20px;
    display: inline-block;
}
.sec-contact  label { color: var(--light-color); font-size: 15px;    margin: 0; }
.sec-contact  label a { color: var(--light-color); }
.sec-contact  label a:hover {
    color: var(--light-color);
  text-decoration: underline;
}
.form-check .form-check-input {
    margin-top: 4px; 
}
/*--------------------------------------------------
# Internal pages
--------------------------------------------------*/
.page-content {
    padding: 60px 0; 
}
.page-content .article {
    background: var(--light-color);
}
.page-content h1 {  ;
    margin-bottom: 30px;
    color: var(--secondary-color);
}
.page-content h1 .sub-title {
    display: block;
    font-family: 'Goldman', sans-serif;
    font-size: 22px;
    color: var(--primary-color);
    margin-top: 5px;
    text-transform: uppercase;
}  
.page-content img { 
    max-width: 100%;
    height: auto;
} 
 
/*--------------------------------------------------
# News article detail
--------------------------------------------------*/
.img-news {
    max-width: 400px;
    border-radius: var(--radius-photo);
}
.btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: var(--primary-color);
    font-family: var(--bs-body-font-family);
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
    font-size: 14px;
}
 
/*--------------------------------------------------
# Networks default styling
--------------------------------------------------*/
.social a {
    transition: opacity .3s ease, transform .3s ease;
}
.social a:hover { transform: translateY(-2px); }

/*--------------------------------------------------
# Maps container (4.tpl + footer)
--------------------------------------------------*/


   .slide-from-left {
            opacity: 0;
            transform: translateX(-100px);
        }

        .slide-from-right {
            opacity: 0;
            transform: translateX(100px);
        }
 
section.content .row.bx-grid {
    margin-bottom: 30px;
}
section.content .row.bx-grid .img-page {
    position: relative;
    height: 100%;
    min-height: 240px;
}
section.content .row.bx-grid .img-page img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
     border-radius: 50px;  
} 
section.content .row.bx-grid .text-page {
    padding: 30px 0;
}
 nav.breadcrumb-gallery {
    display: none;
}

/* Nophoto fallback */
.news-object .nophoto,
.news-col .nophoto {
    display: flex;
    align-items: center;
    justify-content: center;
    background:  var(--dark-color);
}
.news-object .nophoto img {
    object-fit: scale-down;
    padding: 10px; 
}
.news-object .nophoto .fa-image,
.news-object .nophoto i.fa,
.news-object .nophoto i.fas { display: none; }
.news-col .nophoto + img,
.news-col img + .nophoto { display: none; }
.news-col .news-thumb img[alt]:not([src]),
.news-col [class*="thumb"] img:not([src]),
.news-col img[src=""],
img[alt]:not([src]) {
    color: transparent;
    font-size: 0;
    display: none;
}

/***************************************************
					avis CSS
***************************************************/


section.content .guestbook-messages {
	margin-top: 0;
	padding-top: 20px;
	clear: both;
}
section.content .guestbook-messages .gb-content .gb-entry .gb-message {
    padding-top: 5px;
}
section.content .guestbook-score .gb-rating :checked ~ label::after {
    color: var(--secondary-color);
}
.content .guestbook-score .gb-rating label {
    position: relative;
    display: inline-block;
    float: right;
    cursor: pointer;
    margin: 0 5px 0 0;
    font-size: 0;
}
section.content .fa-star-o:before{
  	content: "\f006" !important;
	color: var(--secondary-color);
	font-size: 16px;
	top: 0;
	position: relative;
}
section.content article div#Guestbook .gb-entry-score .emptyStar .fa-star-o:before {
    color: var(--secondary-color);
    font-weight: 400;
}
.content .guestbook-score .gb-rating label:after{
    color: var(--secondary-color);
}
.guestbook-score .gb-rating :checked ~ label::after {
    content: '\f005'!important;
  	font-weight: 700;
}
.guestbook-score .gb-rating label::after {
    content: '\f005'!important;
    font-size: 23px !important;
    transition: color .4s; 
    font-weight: 400;
  	font-family: "Font Awesome 6 Sharp" !important;
}
.guestbook-score .gb-rating{
    vertical-align: middle;
}
section.content.content-page .guestbook-messages .gb-content .gb-entry {
    margin: 15px 0 15px 0;
    padding: 15px; 
  	border-bottom: 2px solid var(--primary-color) !important;
}
.content-page .gdpr_policy {
    margin-bottom: 10px;
}
#scoreBlock .contact-field-label {
	line-height: 35px;
}
article div#Guestbook .gb-entry-score .fullStar, article div#Guestbook .gb-entry-score .emptyStar {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0px 16px 0 0 !important;
    padding: 0;
}

.fa-star:before {
    content: "\f005";
}
section.content.page-content.content-page div#Guestbook {
    clear: both;
}
section.content.page-content.content-page .star-rating label:has(~ :checked) i,section.content.page-content.content-page .star-rating label:is(:hover,:has(~ :hover)) i{
	color : var(--primary-color) !important;
}
section.content.page-content.content-page .fa-star:before{
	color : var(--primary-color) !important;
}
section.content.page-content.content-page .average-review {
    float: left;
  margin : 20px 0;
}

section.content.page-content.content-page span.count-messages {
    float: right;
    margin: 20px 0;
    display: none;
}
section.content.page-content.content-page .gb-entry {
    clear: both;
    margin: 20px 0;
    padding: 10px 15px; 
    border: 1px solid var(--primary-color);
    border-radius: 10px;
}
/*
section.content.page-content.content-page .gb-entry span.review-date{
    float: right;
}*/
section.content.page-content.content-page .gb-entry span.review-date {
    float: none;
}
section.content.page-content.content-page .gb-entry span.review-user {
    font-weight: 700;
    font-family: var(--bs-body-font-family);
    font-size: 20px;
    text-transform: uppercase;
    color: var(--primary-color);
}
section.content .star-rating label .fa-star:before {
    content: "\f005";
    font-weight: 400 !important;
}
section.content .star-rating label:has(~ :checked) .fa-star:before {
    font-weight: 900 !important;
}
section.galerie-home .nav-gallery {
    display: none;
}
 
.animation-page {
    animation: left-in 1s linear;
}
@keyframes left-in {
  from {
    opacity: 0;
  	transform: translate3d(-100%,0,0);
  }
  to {
    opacity: 1;
 	transform: translateZ(0);
  }
}
 
.bg-danger { 
    background-color:  var(--light-color) !important;
}
.bg-success { 
    background-color:  var(--light-color) !important;
}





/* --- */ 
section.content.page-content.content-page .grid-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    justify-content: center;
    margin-top: 5px;
}
section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
	display: block;
	width: 23.5%;
	background-size: cover;
	background-position: center;
	height: 300px;
	cursor: zoom-in;
      border-radius: 10px;
	position: relative;
	transition: transform .4s,box-shadow .4s;
	margin-bottom: 13px;
	background-repeat: no-repeat;
}
section.content.page-content.content-page .bigphoto a.link-picture, section.content.page-content.content-page .bigphoto a.link-subgallery{
  	width: 32.5%;
}
section.content.page-content.content-page .link-subgallery:hover, section.content.page-content.content-page .link-picture:hover {
	filter: grayscale(1);
}
section.content.page-content.content-page .pagination {
    margin-top: 20px;
    justify-content: center;
    flex-wrap: wrap;z-index: 1;
}
section.content.page-content.content-page .pagination li {
	background-image: none !important;
	margin: 0 !important;
	padding: 0;
}
section.content.page-content.content-page .pagination .page-link{
  color: var(--secondary-color) !important ;
      height: 100%;
    display: flex;
    align-items: center;
}
section.content.page-content.content-page li.page-item.disabled  a {
    color:var(--light-color) !important;
      background: var(--secondary-color);
}
section.content.page-content.content-page .pagination .active > .page-link, section.content.page-content.content-page .pagination .page-link.active {
	color: var(--light-color) !important;
	background: var(--primary-color) !important;
	border-color: var(--primary-color);
}
section.content.page-content.content-page .pagination #fslight-prev.disabled .page-link, section.content.page-content.content-page .pagination #fslight-next.disabled .page-link {
	background: var(--bs-pagination-disabled-border-color);
}
section.content.page-content.content-page span.title-subgallery{
  position : absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding : 10px;
  color : var(--light-color);
  text-align : center;
  background : rgba(0,0,0,0.7);    pointer-events: none;
}
section.content.page-content.content-page .title-picture {
	display: none;
}
nav.breadcrumb-gallery li {
    background: none;
    padding: 0;
}


.galerie-page {
    align-items: center;
}
.img-responsive {
	max-width: 100%;
}
section.content ul {
	padding: 0;
  margin-bottom: 1rem;list-style: none !important;
}
section.content li {
	background: url(../images/bullet.webp) no-repeat left 6px;
	padding-left: 20px;
    list-style-type : none;
} 
section.content li::marker{
	content: "" !important;
}
h3.contact-field {
    display: none;
}

 
/* --------------------------------------------------------------------------
   4.1 — Swiper génériques (encarts et cartes de l'accueil)
   -------------------------------------------------------------------------- */

.boxes-swiper,
.cards-swiper {
  width: 100%;
  overflow: hidden;
}

.boxes-swiper .swiper-wrapper,
.cards-swiper .swiper-wrapper {
    height: auto;
    display: flex;
    align-items: stretch;
}

.boxes-swiper .swiper-slide,
.cards-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.boxes-swiper .swiper-slide > *,
.cards-swiper .swiper-slide > * { width: 100%; }

.boxes-pagination,
.cards-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
    position: relative !important;
    margin-top: 30px;
}

.boxes-pagination .swiper-pagination-bullet,
.cards-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0;
  border: 1px solid var(--pc-pink);
  border-radius: 50%;
  background-color: transparent;
  opacity: 1;
  cursor: pointer;
  transition: background-color var(--pc-transition);
}

.boxes-pagination .swiper-pagination-bullet-active,
.cards-pagination .swiper-pagination-bullet-active { background-color: var(--pc-pink); }

/* Pagination masquée tant que le carrousel n'est pas actif (desktop = grille) */
.swiper-pagination-lock { display: none; }


/* --------------------------------------------------------------------------
   4.2 — Animations
   Aucun opacity:0 en CSS — GSAP gère ses états initiaux (css-js-depth)
   -------------------------------------------------------------------------- */

.banner-content,
.citation-box,
.bx-home,
.bx-card,
.presentation-media,
.presentation-text,
.avis-col,
.contact-panel { will-change: transform; }

@keyframes pcFadeUp {
  from { transform: translateY(24px); }
  to   { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;  /* a11y override — reduced motion */
    animation-iteration-count: 1 !important; /* a11y override — reduced motion */
    transition-duration: .001ms !important;  /* a11y override — reduced motion */
    scroll-behavior: auto !important;        /* a11y override — reduced motion */
  }

  html { scroll-behavior: auto; }
}


/* News listing (page-11/12) */
 
.news-listing .news-row{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
      margin: 0;
}
.news-listing .news-col {
    width: 100%;
    padding: 0; 
}
.news-listing .news-object .photo,
.news-listing .news-object .nophoto {
    width: 100%;
    height: 240px;
     background: #000;
    margin-bottom: 30px;
}
.news-listing .news-object .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
} 
 
/* News article detail */
.news-detail .news-hero-img {
    margin: 0 0 15px 15px;
    border-radius: var(--radius-card);
    overflow: hidden;
    border: 1px solid rgba(193, 166, 104, 0.3); max-width: 250px;
    float: right; 
}
article.news-detail {
    display: inline-block;
    width: 100%;
}
.news-detail .news-hero-img img { width: 100%; height: auto;   }
.news-detail h1 { color: var(--dark-color); margin: 0 0 12px; }
.news-detail .date {
    color: var(--primary-color);
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 20px;
}
.news-detail .news-body { color: var(--gray-color); line-height: 1.8; }

.fslightboxci h2 {
    font-family: var(--bs-body-font-family);
    font-size: 17px;
    color: var(--bs-white);
    text-transform: none;
      -webkit-text-fill-color: inherit;
}

/*--------------------------------------------------
# Scrolltop
--------------------------------------------------*/
.scrollTop,
#scrollTop {
    background: var(--gradient-primary) !important;
    border-radius: 50%;
    color: var(--light-color);
}

a.btn-cookies-link i {
    padding-right: 2px;
    width: 22px;
}

.chapo-center {
    text-align: center;
    margin-bottom: 50px;
}

 
.form-control:disabled {
    background-color: var(--primary-color);
}
.resto-field-label {
    color: var(--light-color)!important;
}



/* --------------------------------------------------------------------------
   3.16 — Salles de réceptions — grille 3 colonnes + CTA
   -------------------------------------------------------------------------- */
.sec-salles {
    padding: 0 0 35px;
    text-align: center;
    background: #f7f7f7b5;
    box-shadow: 0px 12px 18px -6px rgba(0, 0, 0, 0.3);
    position: relative;
    margin-top: 45px;
}
.sec-salles a.btn.btn-primary {
    margin: 20px auto;
}
.salles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--pc-space-xl);
  align-items: start;
  width: 100%;    padding-top: 35px;
}

.salle-item {
  display: flex;
  flex-direction: column;
  gap: var(--pc-space-md);
  min-width: 0;
}

.salle-title {
  margin: 0;
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-size: clamp(1.35rem, 1.7vw, 1.75rem);
  line-height: 1.2;                   /* jamais < 1 : débordement de glyphes */
  color: var(--pc-pink);
  text-align: center;
  text-transform: none;               /* la capture est en casse normale */
  text-wrap: balance;
  min-height: 2.4em;                  /* réserve 2 lignes → images alignées */
  display: flex;
  align-items: center;
  justify-content: center;
}

.salle-media {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: var(--pc-radius);
  overflow: hidden;
  background-color: var(--bs-secondary-bg);
}

.salle-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.salle-item:hover .salle-media img { transform: scale(1.05); }

.salles-cta {
  display: flex;
  justify-content: center;
  margin-top: var(--pc-space-xl);
}
 

.content a.btn.btn-primary {
    padding: 16px 24px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 20px;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    line-height: normal;
      margin-bottom: 15px;
}

.content a.btn.btn-primary::after {
    content: '';
    width: 18px;
    height: 13px;
    background: url(/smarty/wireframe30/media/images/flch.svg) no-repeat center / contain;
    transition: transform var(--pc-transition);
}
.bloc-ved {
    text-align: center;
    margin: 15px auto 30px;
}
.bx-flex-ved {
    display: flex;
    gap: 20px;
  justify-content: center;
}
video.video {
    max-width: 500px;
    margin: 15px auto;
      width: 100%;
}

.salle-media-c {
    height: 400px;
    position: relative;
    margin-bottom: 30px;
}
.salle-media-c img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.salle-media-c h3 {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    text-shadow:0 0 5px BLACK, 0 0 5px BLACK;
}
.sec-salles .container-fluid {
    max-width: 1708px;
}

.btn-back-sub-gallery {
    display: block !important;
}
/* --------------------------------------------------------------------------
   3.17 — Équipement — titre centré + 5 colonnes de listes + lien de téléchargement
   -------------------------------------------------------------------------- */
.sec-equipement {
    padding: 35px 0;
    background: white;
}

.sec-equipement .container-fluid {
    max-width: 1708px;
}


.equipement-title {
  margin: 0 0 50px; 
  text-align: center; 
}

.equipement-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px;
  align-items: start;
  width: 100%;
}

.equipement-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.equipement-cat {
  margin: 0 0 var(--pc-space-md);
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-size: clamp(1.15rem, 1.4vw, var(--pc-fs-h4));
  line-height: 1.2;                   /* jamais < 1 : débordement de glyphes */
  color: var(--pc-pink);
  text-transform: none; 
}

.equipement-list {
  margin: 0;
  padding: 0;
  list-style: none;                   /* aucune puce dans la maquette */
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.equipement-list li {
  font-family: var(--pc-font-body);
  font-size: var(--pc-fs-body);
  line-height: var(--pc-lh-body);
  color: var(--pc-grey-2);
}

.equipement-cta {
  margin: var(--pc-space-2xl) 0 0;
  text-align: center;
}
 section.content ul.equipement-list li {
    background: none;
    padding: 0;
    margin: 0;
}
 

/* --------------------------------------------------------------------------
   3.18 — Animations et formations — carrousel 6 items + CTA + note
   -------------------------------------------------------------------------- */

.sec-animations {
    margin-top: 45px;
    padding: 35px 0;
    background: white;
    margin-bottom: 45px;
}
.sec-animations .container { padding: 0 15px; }

.animations-title { 
  text-align: center; 
}
.anim-swiper {
    margin-top: 40px;
}
/* Conteneur du carrousel — mêmes règles que les carrousels de l'accueil */
.anim-swiper {
  width: 100%;
  overflow: hidden;
  padding: 4px 0 8px;
}

.anim-swiper .swiper-wrapper {
  height: auto;                       /* neutralise le height:100% de Swiper */
  display: flex;
  align-items: stretch;
}

.anim-swiper .swiper-slide {
  height: auto;
  display: flex;
  align-items: stretch;
}

.anim-swiper .swiper-slide > * { width: 100%; }

/* Repli sans JS : grille équivalente avant transformation */
.anim-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--pc-space-md);
  align-items: start;
  width: 100%;
}

.anim-item {
  display: flex;
  flex-direction: column;
  gap: var(--pc-space-md);
  min-width: 0;
  height: 100%;
}

.anim-cat {
  margin: 0;
  font-family: var(--pc-font-title);
  font-weight: 700;
  font-size: clamp(1.05rem, 1.15vw, 1.25rem);
  line-height: 1.2;                   /* jamais < 1 : débordement de glyphes */
  color: var(--pc-pink);
  text-align: center;
  text-transform: none;
  text-wrap: balance;
  min-height: 2.4em;                  /* réserve 2 lignes → images alignées */
  display: flex;
  align-items: center;
  justify-content: center;
}

.anim-media {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: var(--pc-radius);
  overflow: hidden;
  background-color: var(--bs-secondary-bg);
}

.anim-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}

.anim-item:hover .anim-media img { transform: scale(1.06); }

.anim-desc {
  margin: 0;
  font-family: var(--pc-font-body);
  font-size: var(--pc-fs-body);
  line-height: var(--pc-lh-body);
  color: var(--pc-grey-2);
  text-align: center;
  text-wrap: pretty;
}

/* Puces du carrousel */
.anim-pagination { 
  margin-top: var(--pc-space-md);
      position: relative !important;
}

.anim-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0;
  border: 1px solid var(--pc-pink);
  border-radius: 50%;
  background-color: transparent;
  opacity: 1;
  cursor: pointer;
  transition: background-color var(--pc-transition);
}

.anim-pagination .swiper-pagination-bullet-active { background-color: var(--pc-pink); }

/* CTA et note */
.animations-cta {
  margin: 30px 0 0;
  text-align: center;
}

.animations-cta .btn-pc-ghost {
  max-width: 100%;
  text-transform: none;               /* phrase longue : pas de capitales */
  letter-spacing: 0;
}

.animations-note {
  max-width: 900px;
  margin: var(--pc-space-lg) auto 0;
  font-family: var(--pc-font-body);
  font-size: var(--pc-fs-body);
  line-height: var(--pc-lh-body);
  color: var(--pc-grey-2);
  text-align: center;
  text-wrap: pretty;
}

 
span.tooltip {
    display: none;
}

/*--------------------------------------------------
# Contact page (4.tpl)
--------------------------------------------------*/
.box-contact-info {
    background: var(--pc-cream);
    padding: 30px;
    border-radius: 10px;
}
.box-contact-info h5 {
    font-family: var(--bs-titles-font-family);
    font-size: 18px;
    color: var(--secondary-color);
    margin-bottom: 10px;
    text-transform: uppercase;
}
.box-contact-info .info-block {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-soft);
}
.box-contact-info .info-block:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}
.box-contact-info a { color: var(--secondary-color); }
.box-contact-info a:hover { color: var(--primary-color); }
.box-contact-info .social {
    display: flex;
    gap: 8px;
}
.box-contact-info .social a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--gradient-primary);
    color: var(--white-color);
      margin: 0 5px 0 0;
}
.box-contact-info .social a:hover { background: var(--gradient-secondary); color: var(--white-color);text-decoration:none; }


.sectionBas::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: url(/smarty/wireframe30/media/images/texture-paper.webp) no-repeat center / cover;
    mix-blend-mode: luminosity;
    opacity: .35;
    pointer-events: none;
}
.sectionBas {
    position: relative;
    padding: 50px 0;
}
/* --------------------------------------------------------------------------
   4.3 — Responsive 
   -------------------------------------------------------------------------- */

@media (max-width: 1799px) {

   header nav.navbar { 
    padding: 19px 35px;
  }
  
}
 
@media (max-width: 1599px) {

   header .navbar-nav { 
    gap: 20px;
}
  header .navbar-nav .nav-link { 
    font-size: 17px;
  }
  .sec-boxes { 
    padding: 100px 0;
  }
  .presentation-text { 
    padding: 100px 0;
}
  .avis-col { 
    max-width: 50%;
}
  .avis-grid { 
    gap: 24px;
  }
  
  
  
}
@media (max-width: 1399px) {

  header nav.navbar { 
    padding: 19px 15px;
  }
  header .navbar-nav .nav-link { 
    font-size: 15px;
  }
  header .navbar-nav { 
    gap: 15px;
}
  .banner.big { 
    height: 700px;
  }
  
  .sec-boxes , .sec-cards, .avis-clients, .sec-actualites, .sec-contact-home{
        padding: 70px 0;
    }
  .presentation-media {
    flex: 0 0 45%;
  }
  .presentation-grid { 
    gap: 24px;
  }
      .presentation-text {
        padding: 70px 0;
    }
  .contact-home-form { 
    padding: 40px 15px;
  }
  
  .salles-grid { 
    gap: 24px;
  }
  
  
}


/* --------------------------------------------------------------------------
   4.5 — Responsive —   (bascule burger)
   -------------------------------------------------------------------------- */

@media (max-width: 1199px) {

 
   header .navbar-nav .dropdown-menu {
		transform: none;
		display: table;
		margin: 0 auto;
		min-width: inherit;
		left: 0;
	}
  	button.navbar-toggler[aria-expanded="false"]:after, button.navbar-toggler[aria-expanded="false"]:before {
        transform: none;
    }
  	button.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
        opacity: 0;
    }
    nav.navbar.sticky-top:not(.is-sticky) .navbar-collapse#navbarNav li#menu_1, nav.navbar.sticky-top:not(.is-sticky) .navbar-collapse#navbarNav li#menu_2 {
        display: block;
    } 
    nav.navbar.sticky-top .navbar-collapse {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
        background: var(--pc-black); 
        padding: 10px 0;
        text-align: center;
        z-index: 100;
        clear: both;
        box-shadow: 0 0 3px rgba(0 0 0 / 30%);
	}
	header nav.navbar.sticky-top .navbar-toggler {
		margin: 5px auto 10px;
	} 
  header .navbar-nav .nav-link { 
        display: table;
        margin: 0 auto;
    } 
  .dropdown-toggle, header li a.nav-link:after , header .navbar-nav li:not(:first-child) a.nav-link:before, header .navbar-nav li:not(:first-child):before{
    display: none;
} 
      header li.nav-item.dropdown a.nav-link {
        padding: 6px 12px !important;
    }
  header nav.navbar {
    padding: 0; 
    background: none;
    backdrop-filter: inherit;        order: 3;
  }
    .navbar-nav {
        gap: 10px;
    }
  header nav.navbar:before , header nav.navbar:after{
        display: none;
  }
  
    .banner.big {
        height: 600px;
    }
  .citation-box::before { 
    left: 70px;
  }
  .citation-box::after { 
    right: 70px;
  }
  .bx-home { 
    padding: 50px 15px;
  }
  .bx-card-body { 
    padding: 15px 10px;
}
  
.avis-clients .gb-entry { 
    padding: 20px 15px;
  }
  .contact-home-grid { 
    gap: 24px;
}
  .footer-map .box_googlemapsv2 {
    width: 380px;
    height: 300px;
  }
  
   .equipement-grid { grid-template-columns: repeat(3, minmax(0, 1fr));   }
  .equipement-title {
  margin: 0 0 24px;
  }
  section.content.page-content.content-page .bigphoto a.link-picture, section.content.page-content.content-page .bigphoto a.link-subgallery {
	width: 32%;
}
  .flagLang {
  position: absolute;
  right: 10px;
  top: 50px;
}
  .page-content.bg-patten .box-light.light2 {
    padding: 25px;
}
  .salles-grid {
    padding-top: 25px;
}
  .salle-media-c {
    margin-bottom: 25px;
}
}
 
@media (max-width: 991px) {

  :root {
    --pc-space-xl: 56px;
    --pc-space-2xl: 72px;
  }
     .banner.big {
        height: 500px;
    }
  
  .citation-box { 
    padding: 20px;
  }
  .citation-box::before {
        left: 50px;
        top: 5px;
    }
      .citation-box::after {
        right: 50px;
    }
  .bx-home { 
    flex: 0 0 100%;
            max-width: 480px;
        margin: auto;
  }
  .boxes-grid { 
    flex-wrap: wrap;
}
  
      .presentation-grid { 
        display: block;
    }
  .presentation-media { 
        height: 300px;
        max-width: 500px;
        margin: 0 auto 30px;
        width: 100%;
    }
      .presentation-text {
        padding: 0;
    }
      .avis-grid {
        display: block;
    }
      .avis-col {
        max-width: 100%;
    }
  .avis-media {
    max-width: 500px; 
    height: 300px;
    margin:55px auto 0;
}
      .contact-home-grid { 
        display: block;
    }
  .contact-home-form { 
    width: 100%;
}
  .form-media { 
    width: 100%;
    height: 400px;
    margin: 15px auto 0;
    max-width: 350px;
}
  .footer-contact .info-row { 
    gap: 10px;
    flex-direction: column;
}
 .avis-clients .swiper-wrapper { 
    height: auto;
  }
  
  /* Footer en colonne — aucune donnée utile masquée (Règle 13) */
  .footer-grid {
    flex-direction: column;
    align-items: center;
    gap: var(--pc-space-lg);
    text-align: center;
  }

  .footer-contact { align-items: center; }

  

  .footer-nav .sf-menu-footer { justify-content: center; }
  
    .news-listing .news-row {
        grid-template-columns: repeat(2, 1fr); 
    } 
  
    
    .box-light {
        height: auto !important;
    }
	 section.content .row.bx-grid .img-page { 
    min-height: inherit;
    max-width: 370px;
    height: 400px;
    margin: 0 auto;
} 
    section.content.page-content.content-page .text-page {
        padding-bottom: 0 !important;
    } 
     section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
        width: 32%;
    }
    .news-detail .news-hero-img { 
    float: none;
    margin: 15px auto;
}
  
    .salles-grid { gap: 15px; }
  .salle-title { min-height: 0; }
  
  .bx-flex-ved {
    display: block;
  }
  .box-border-left .col-lg-4:not(:last-child) ul {
    margin-bottom: 0;
}
  
}
 
@media (max-width: 767px) {
.flagLang {
	position: relative;
	right: 0;
	top: 0;
	display: table;
	margin: 10px auto;
}
  :root {
    --pc-space-xl: 44px;
    --pc-space-2xl: 56px;
  }

  body { font-size: 15px; }
 
      .banner.big {
        height: 400px;
    }
  .citation-inner { 
    padding: var(--pc-space-lg) 30px;
  }
  
    
   /* --- */
  	.contactForm .contact-field-item {
        width: 100%;
        float: none;
        clear: both!important;
    }
    .contactForm .contact-field-item:nth-child(even) {
        padding: 0 !important;
    }
    .contactForm .contact-field-item:nth-child(odd) {
        padding: 0 !important;
    }
  
      section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
        width: 48.5%;
    }
  
      .news-listing .news-row {
        grid-template-columns: repeat(1, 1fr); 
    }
   
  .news-listing .news-object h3 { 
    height: auto !important;
}
  
  .sec-actualites .news-object, .news-object { 
    padding: 40px 15px;
}
  
  
    .equipement-grid {      
      text-align: center;
        display: block;
  }  
    .salles-grid { grid-template-columns: 1fr; gap: var(--pc-space-lg); }
  .salles-cta { margin-top: var(--pc-space-lg); } 
  
  .salle-media-c {
    height: 300px;
  }
  
   .content a.btn.btn-primary { 
    font-size: 15px;
  }
  
  
    .page-content.bg-patten .box-light.light2 {
    padding: 20px 15px;
}
  .salles-grid {
    padding-top: 20px;
}
  .salle-media-c {
    margin-bottom: 20px;
}
} 

@media (max-width: 480px) {

  :root {
    --pc-space-lg: 28px;
    --pc-space-xl: 36px;
    --pc-space-2xl: 44px;
  }
  
      .citation-box {
        padding: 10px;
    }
  .citation-inner { 
    padding: var(--pc-space-lg) 15px;
  }
  .citation-box::before { 
    width: 30px;
    height: 30px;
    background: var(--pc-pink) url(/smarty/wireframe30/media/images/icon1-box.svg) no-repeat center; 
    background-size: contain;
}
  .citation-box::after {
    width: 30px;
    height: 30px;
    background: url(/smarty/wireframe30/media/images/icon2-box.svg) no-repeat center;
    background-size: contain;
}
  .bx-card-img { 
    height: 270px;
  }
    .sec-actualites .news-object, .news-object { 
    padding: 30px 15px;
}
  .contact-home-form .section-title { 
    font-size: 23px;
}
      .form-media { 
        height: 300px;
  }
  
  
.avis-clients .gb-entry { 
    padding: 15px;
  }
  .sec-contact label { 
    font-size: 13px;
  }
      .footer-map .box_googlemapsv2 {
        width: 250px;
    }
      .news-object h3, .news-object .news-title, .avis-clients .gb-entry .review-user {
        font-size: 18px;
        line-height: normal;
    }
.sec-actualites .news-object .photo, .sec-actualites .news-object .nophoto {
    height: 270px;
  }
    
     section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
        width: 100%;
    }
  .news-listing .news-object h3 {
    font-size: 17px;
  } 

  .btn-pc,
  .btn-pc-outline,
  .btn-pc-dashed {
    padding: 13px 18px;
    font-size: 15px;
    letter-spacing: 1.2px;
  }
  
    .equipement-grid { grid-template-columns: 1fr;  }
  .equipement-cat { min-height: 0; } 
  

  
}

/* --- */
#scrollTopBtn {
	bottom: 65px !important;
	right: auto !important;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
      border: 1px solid var(--light-color)!important;
}
.grecaptcha-badge {
	z-index: 9999;
}
 
/* --------------------------------------------------------------------------
   4.11 — Impression
   -------------------------------------------------------------------------- */

@media print {

  .site-header,
  .banner,
  .burger-overlay,
  .footer-map,
  .sec-actualites .swiper-pagination-actus { display: none; }

  body { color: #000; background: #fff; }

  .int-card { border: none; box-shadow: none; padding: 0; }
}
