/* =============================================================
   STUDIO ORIGIN — template.css
   Genesis v35 / Wireframe 32 / Project 293924
   Figma fidelity: Studio Origin Pilates Reformer
   ============================================================= */

/* -------------------------------------------------------------
   1. FOUNDATION — @font-face, :root, base resets
   ------------------------------------------------------------- */

@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-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-SemiBold.woff2') format('woff2'),
       url('../fonts/Urbanist-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  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: 'Urbanist';
  src: url('../fonts/Urbanist-Light.woff2') format('woff2'),
       url('../fonts/Urbanist-Light.woff') format('woff');
  font-weight: 300;
  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: 'Elsie';
  src: url('../fonts/Elsie-Regular.woff2') format('woff2'),
       url('../fonts/Elsie-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Jost';
  src: url('../fonts/Jost-Regular.woff2') format('woff2'),
       url('../fonts/Jost-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

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

:root {
  --primary-bg: #F5EAD9;
  --secondary-bg: #FDF2E3;
  --light: #FFFFFF;
   --marron: #8f6948;
  --dark: #342917;
  --quaternary: #2B2B2B;
  --tertiary: #C1B096;
  --body-color: rgba(43, 43, 43, 0.7);
  --field-border: rgba(93, 92, 93, 0.14);

  --bs-primary: #C1B096;
  --bs-primary-rgb: 193, 176, 150;
  --bs-body-font-family: 'Urbanist', system-ui, sans-serif;
  --bs-body-font-size: 15px;
  --bs-body-line-height: 1.6;
  --bs-body-color: var(--body-color);
  --bs-body-bg: var(--light);
  --bs-link-color: var(--tertiary);
  --bs-link-hover-color: var(--dark);

  --font-display: 'Ubuntu', serif;
  --font-sub: 'Jost', sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--bs-body-font-family);
  font-size: 15px;
  line-height: 24px;
  color: var(--body-color);
  background: var(--primary-bg);
  overflow-x: hidden;
}
.box-dark {
     background: #c1b096;
      padding: 20px 40px;
    margin: 0 0 20px;
    border: 1px solid var(--tertiary);
    color: #fff;
    text-align: center;
    display: table;
    font-size: 18px;
    margin: 0 auto;
    border-radius: 50px;
}
.box-dark p {
    margin: 0;
}
img { max-width: 100%; height: auto; display: block; }

a { color: #9f8968; text-decoration: underline; transition: color .25s ease; }
a:hover { color: var(--dark);  }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--dark);
  margin: 0 0 .4em;
  line-height: 1.05;
      text-transform: uppercase;
}
h1 { font-size: 50px; line-height: 1; }
h2 { font-size: 45px; }
h3 { font-size: 30px; }
h4 { font-size: 27px; }
h5 { font-size: 22px; }
h6 { font-size: 18px; }

p { margin: 0 0 16px; }

::selection { background: var(--tertiary); color: var(--light); }

/* -------------------------------------------------------------
   2. COMPONENTS — containers, buttons, titles, forms, cards
   ------------------------------------------------------------- */

.container {max-width: 1170px;padding: 0 15px;margin: 0 auto;}
.container-narrow { max-width: 1140px; padding: 0 15px; margin: 0 auto; }

.section { padding: 120px 0; position: relative; }
.section-light { background: var(--light); }
.section-cream { background: var(--secondary-bg); }
.section-sand { background: var(--primary-bg); }

/* Section title block: icon-bird + subtitle Jost + h2 Elsie */
.section-title-wrap { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.section-title-wrap.center { align-items: center; text-align: center; }

.section-icon {width: 75px;height: 58px;background: url('/smarty/wireframe20/media/images/icon-bird.svg') center/contain no-repeat;/* flex-shrink: 0; */}

.section-subtitle {
  font-family: var(--font-sub);
  font-size: 18px;
  line-height: 18px;
  letter-spacing: 3.6px;
  text-transform: uppercase;
 /* color: var(--body-color);*/
  color: var(--secondary-bg);
  margin: 0;
}

.section-title { font-size: 45px; color: var(--secondary-bg); margin: 0; }
.section-title.lg { font-size: 50px; line-height: 50px; }
.section-title.sm { font-size: 30px; }

/* Buttons */
.btn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 53px;
  font-family: var(--bs-body-font-family);
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 3.6px;
  color: var(--light);
  background: rgba(5, 5, 5, 0.1);
  border: 1px solid var(--tertiary);
  border-radius: 100px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-decoration: none;
  transition: background .3s ease, color .3s ease, transform .3s ease;
  cursor: pointer;
}
.btn-pill:hover { background: var(--tertiary); color: var(--light); transform: translateY(-2px); }
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #c1b096;
    --bs-btn-border-color: #c1b096;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--dark);
    --bs-btn-hover-border-color: var(--dark);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #87775f;
    --bs-btn-active-border-color: #87775f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #94908b;
    --bs-btn-disabled-border-color: #94908b;
}
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  font-family: var(--bs-body-font-family);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--light);
  background: var(--tertiary);
  border: 1px solid var(--tertiary);
  border-radius: 100px;
  text-decoration: none;
  cursor: pointer;
  transition: background .3s ease, transform .3s ease;
}
.btn-primary:hover { background: var(--dark); color: var(--light); border-color: var(--dark); }

/* Form fields */
.form-control,
.contact-field-item input,
.contact-field-item textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  width: 100%;
  padding: 12px 20px;
  font-family: var(--bs-body-font-family);
  font-size: 15px;
  line-height: 24px;
  color: var(--body-color);
  background: var(--light);
  border: 1px solid var(--field-border);
  border-radius: 40px;
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease;
}
textarea, .form-control[rows] {
  border-radius: 20px;
  min-height: 110px;
  resize: vertical;
  padding: 14px 20px;
}
.form-control:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--tertiary);
  box-shadow: 0 0 0 3px rgba(193, 176, 150, 0.15);
}
::placeholder { color: var(--body-color); opacity: 1; }

input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--tertiary);
  vertical-align: middle;
  margin-right: 8px;
}
header.header.small {
    font-size: 100%;
}
/* -------------------------------------------------------------
   3. LAYOUT — header, hero, sections, decoratives, footer
   ------------------------------------------------------------- */

.fullsite { position: relative; overflow-x: hidden; }

/* HEADER + NAV — Studio Origin (new structure header-top.p-absolute over banner) */
header.header { position: relative; width: 100%; }
header.header.small .banner {
    max-height: inherit;
    min-height: inherit;
    height: 450px;
}
.header-top {
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1030;
  padding: 20px 0 10px;
  /* transition: background .35s ease, padding .35s ease, top .35s ease;
  background: rgba(0, 0, 0, 0.20);
  backdrop-filter: blur(10px); */
}
.header-top:before {
  content : "";
  position : absolute;
  inset: 0;
  transition: background .35s ease, padding .35s ease, top .35s ease;
 /* background: rgba(0, 0, 0, 0.20);
  backdrop-filter: blur(10px);*/
}
.header-top .nav-inner { width: 100%; }

.header-top .container-fluid {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 3vw, 60px);
  flex-wrap: nowrap;
  /* padding: 0 !important; */
  margin: 0 auto;
  max-width: 1550px;
}

.nav-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
/* .nav-logo img { width: 220px; height: auto; max-height: 80px; } */

.nav-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  flex: 0 1 auto;
  min-width: 0;
}

.nav-top-row {display: flex;align-items: center;gap: 56px;flex-wrap: wrap;justify-content: flex-end;}
.nav-address {display: flex;align-items: center;gap: 20px;color: var(--light);font-size: 15px;line-height: 24px;}
.nav-address .nav-icon-circle { background: rgba(5, 5, 5, 0.1); border: 1px solid var(--primary-bg); }
.nav-address span { color: var(--light); }

/* nav.navbar inside .nav-bottom-row — transparent, becomes sticky on .is-sticky */
.header-top nav.navbar {
  background: transparent;
  padding: 0;
  flex: 0 0 auto;
}
.header-top nav.navbar .lang-nav {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

/* Sticky state — JS adds .is-sticky to nav.navbar at scrollTop > 240 */
/* header.header:has(nav.navbar.is-sticky) .header-top { */
header.header nav.navbar.is-sticky{
  position: fixed !important;
  left: 0;
  right: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding-top: 12px;
  padding-bottom: 12px;
  box-shadow: 0 2px 18px rgba(0,0,0,.25);
  animation: slideDown .35s ease;
  justify-content: center !important;
}
/* header.header:has(nav.navbar.is-sticky) .header-top .nav-top-row { display: none; }
header.header:has(nav.navbar.is-sticky) .nav-logo img { max-height: 56px; width: 160px; }
 */
@keyframes slideDown {
  from { transform: translateY(-100%); opacity: 0; }
  to   { transform: translateY(0);     opacity: 1; }
}

.nav-icon-circle {
  width: 50px; height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  color: var(--light);
  font-size: 15px;
  flex-shrink: 0;
}

.nav-cta-tel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: rgba(5, 5, 5, 0.1);
  border: 1px solid var(--primary-bg);
  border-radius: 100px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-weight: 500;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--light);
  text-decoration: none;
  white-space: nowrap;
  transition: background .3s ease;
}
.nav-cta-tel:hover { background: rgba(193, 176, 150, 0.4); color: var(--light); }
.nav-cta-tel .cta-label { color: var(--primary-bg); }

.nav-bottom-row {display: flex;align-items: center;gap: 80px;}

/* Main menu — sf-menu rendered by {menu_b} */
.navbar-collapse { flex-grow: 0; }
.navbar-collapse .sf-menu,
.navbar-collapse > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 24px;
}
.navbar-collapse .sf-menu > li:first-child{
  padding-left : 0;
}
.navbar-collapse .sf-menu > li:last-child{
  padding-right : 0;
}
.navbar-collapse .sf-menu > li {position: relative;padding: 0 52px;}
.navbar-collapse .sf-menu > li + li::before {
  content: '';
  position: absolute;
  left: -16px;
  top: 50%;
  width: 8px;
  height: 8px;
  background: var(--primary-bg);
  transform: translateY(-50%);
  pointer-events: none;
}
.navbar-collapse .sf-menu > li > a {
  display: inline-block;
  font-family: var(--bs-body-font-family);
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1.92px;
  text-transform: uppercase;
  color: var(--light);
  text-decoration: none;
  padding: 4px 0;
  position: relative;
  transition: color .25s ease;
}
.navbar-collapse .sf-menu > li > a:hover,
.navbar-collapse .sf-menu > li.selected > a,
.navbar-collapse .sf-menu > li.active > a {
  color: var(--tertiary);
}
/* .navbar-collapse .sf-menu > li.selected > a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 2px;
  background: var(--tertiary);
} */

.nav-social .networks_linking { display: flex; align-items: center; gap: 30px; }
.nav-social .networks_linking a.networks_google{
	order :3;
}
.nav-social a { color: var(--light); font-size: 18px; transition: color .25s ease, transform .25s ease; }
.nav-social a:hover { color: var(--tertiary); transform: translateY(-2px); }

/* Burger toggler */
/*.navbar-toggler {
  display: none;
  background: transparent;
  border: 0;
  padding: 8px;
  width: 44px;
  height: 44px;
  color: var(--light);
  cursor: pointer;
}
.navbar-toggler-icon {
  display: inline-block;
  width: 28px;
  height: 2px;
  background: var(--light);
  position: relative;
  transition: background .3s ease;
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
  content: '';
  position: absolute;
  left: 0;
  width: 28px;
  height: 2px;
  background: var(--light);
  transition: transform .3s ease, top .3s ease;
}
.navbar-toggler-icon::before { top: -9px; }
.navbar-toggler-icon::after { top: 9px; }
.navbar-toggler.open .navbar-toggler-icon { background: transparent; }
.navbar-toggler.open .navbar-toggler-icon::before { top: 0; transform: rotate(45deg); }
.navbar-toggler.open .navbar-toggler-icon::after { top: 0; transform: rotate(-45deg); }

.nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1020;
}
.nav-overlay.open { display: block; }
*/

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);
	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);
	transition: .1s;
	opacity: 1;
	margin: 8px 0;
}
/* HERO BANNER (homepage) */
.banner {
  position: relative;
  /* margin-top: -114px; */ /* slot under sticky nav */
  width: 100%;
  max-height: 900px;
  height: 100vh;
  min-height: 670px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--dark);
}
.banner.small { min-height: 420px; }
.banner-slideshow,
.banner .frog-gallery,
.banner [id^="slideshow"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.banner-slideshow img,
.banner [id^="slideshow"] img,
.banner .carousel,
.banner .carousel-inner,
.banner .carousel-item {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner-bg {
  position: absolute;
  inset: 0;
  background: url('../images/hero-bg.webp') center/cover no-repeat;
  z-index: 0;
}
.banner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
section.banner .carousel-control-next, section.banner .carousel-control-prev {
    display: none;
}
.banner-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 50px;
  padding: 60px 15px;
  width: 100%;
  text-align: center;
  margin-top: 78px;
}
.banner-logo {/* width: min(660px, 80vw); height: auto;*/

    width: auto !important;
    height: auto !important;
}
.banner-logo img { width: 100%; height: auto; }

/* BS5 carousel fade fix for banner */
.banner .carousel-item { opacity: 1; transition: opacity 1s ease; }
.banner .carousel-item.fade { opacity: 1; }

/* INNER BANNER (non-home pages) */
.banner-interne {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url('../images/hero-bg.webp') center/cover no-repeat;
 /* margin-top: -114px;
  padding: 160px 15px 60px;*/
}
.banner-interne::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.banner-interne h1 {
  position: relative;
  z-index: 2;
  color: var(--light);
  font-size: 50px;
  text-align: center;
  margin: 0;
}
/*********/
section.content ul {
    
  list-style-type : none !important;
}
section.content ul li{
	background: url(../images/bullet.webp)no-repeat left 6px;
	padding-left: 20px;
	margin-left: -20px;
}
/* SEC PRESENTATION (Figma section 2 — DCVE box 1) */
.sec-presentation {
  position: relative;
  padding: 120px 0;
   background: var(--marron); 
  color:var(--secondary-bg);
}
.sec-presentation .section-title, .sec-presentation .presentation-title .section-subtitle {
     color:var(--secondary-bg);
}


.sec-presentation .container {/* max-width: 1140px; */}
.sec-presentation .presentation-row {
  display: flex;
  gap: 180px;
  align-items: center;
  justify-content: center;
}
.sec-presentation .presentation-title { flex: 0 0 auto; max-width: 424px; }
.sec-presentation .presentation-title .section-icon {margin-bottom: 0;}
.sec-presentation .presentation-title .section-subtitle { margin-bottom: 10px; }
.sec-presentation .presentation-title .section-title.lg {
  /*font-size: 50px;
  line-height: 50px;*/
  white-space: normal;
}
.sec-presentation .presentation-body { flex: 1 1 0; max-width: 536px; }
.sec-presentation .presentation-body p {  color:var(--secondary-bg); line-height: 24px; margin: 0 0 10px; }
.sec-presentation .presentation-body h3 { margin: 14px 0 14px; }
.sec-presentation .presentation-body > div + div { margin-top: 10px; }

.sec-presentation .deco-yoga-left {
  position: absolute;
  left: 20px;
  bottom: 21px;
  width: 308px;
  height: 340px;
  background: url('/smarty/wireframe20/media/images/after-content.svg') center/contain no-repeat;
  pointer-events: none;
  z-index: 0;
  
}
.sec-presentation .deco-badge-right {
  position: absolute;
  right: 85px;
  bottom: -85px;
  width: 190px;
  height: 190px;
  background: url('/smarty/wireframe20/media/images/badge-origin.svg') center/contain no-repeat;
  pointer-events: none;
  animation: spin 20s linear infinite;
  z-index: 1;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* SEC ABOUT (Figma section 3 — DCVE box 2 + box 3 image) */
.sec-about {
  position: relative;
  padding: 120px 0;
  background: var(--secondary-bg);
}
.sec-about .container-fluid { max-width: 1630px; }
.sec-about .about-card {
  position: relative;
/*  background: var(--light);*/
      background: var(--marron);
    color: var(--secondary-bg);
  border-radius: 60px;
  padding: 100px;
  display: flex;
  align-items: center;
  gap: 100px;
  overflow: visible;
}
.sec-about .about-card:not(:last-child){
	margin-bottom: 20px;
}
/* .sec-about .about-card .deco-yoga-top {
  position: absolute;
  left: 50%;
  top: 53px;
  transform: translateX(-50%);
  width: 163px;
  height: 184px;
  background: url('/smarty/wireframe20/media/images/decorator-yoga-1.svg') center/contain no-repeat;
  pointer-events: none;
  opacity: .15;
  z-index: 0;
} */
.sec-about .about-text { flex: 1 1 0; min-width: 0; position: relative; z-index: 1; }
.sec-about .about-text h2{
	margin-bottom: 28px;
   color: var(--secondary-bg);
}
.sec-about .about-text h1{
	 color: var(--secondary-bg);
}
.sec-about .about-text .section-icon { margin-bottom: 24px;     color: var(--secondary-bg);}
.sec-about .about-text .section-title { font-size: 45px; line-height: 1; }
.sec-about .about-text p {color: var(--secondary-bg);/* margin: 28px 0 10px; *//* line-height: 24px; */}

.sec-about .about-text a{
  
  color: var(--secondary-bg) !important;
}

.sec-about .about-image {
  flex: 0 0 auto;
  /*width: 642px;*/
  width: auto;
  /*height: 488px;*/
  height: auto;
  border-radius: 40px;
  /* overflow: hidden; */
  background: var(--primary-bg) center/cover no-repeat;
  position: relative;
  z-index: 1;
}
.sec-about .about-card.card-reverse .about-image {
	order : -1;
}
.sec-about .about-image img {/*width: 100%; height: 100%; object-fit: cover; */ 
    width: auto;
    height: auto;
    object-fit: contain;border-radius: 40px;}
/*.sec-about .about-image:before {
	content : "";
	position : absolute;
	top : -47px;
	left: -126px;
	width: 163px;
	height: 184px;
	background : url(/smarty/wireframe20/media/images/decorator-yoga-1.svg)no-repeat left top;
	background-size : contain;
	transform : scaleX(-1);
}*/
.sec-about .about-card.card-reverse .about-image:before {
	left: unset;
	right : -86px;
}
/* SEC GALERIE — Swiper 4 items (hover = overlay + arrow) */
.sec-galerie {
  position: relative;
  padding: 120px 0;
      background: var(--marron);
    color: var(--secondary-bg);
  /* background: var(--light); */
}

.sec-galerie .container-fluid { max-width: 1630px; }
.sec-galerie .section-title-wrap { margin-bottom: 40px; align-items: center; text-align: center; }
.sec-galerie .section-title-wrap .section-subtitle {margin-bottom: 5px;}

.sec-galerie .deco-badge-left {
  position: absolute;
  left: 75px;
  top: 240px;
  width: 168px;
  height: 168px;
  background: url('/smarty/wireframe20/media/images/badge-origin.svg') center/contain no-repeat;
  pointer-events: none;
  animation: spin 20s linear infinite;
  z-index: 2;
}

.sec-galerie .grid-gallery { overflow: hidden;  }
.sec-galerie .swiper-wrapper .swiper-wrapper { align-items: center; }
.sec-galerie .swiper-wrapper .swiper-slide {
  height: 532px;
  border-radius: 40px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  transition: all .4s ease;
	font-size: 0;
	margin-top : 36px;
	margin-bottom : 36px;
}
/* .sec-galerie .swiper-wrapper .swiper-slide:nth-child(odd) {height: 532px;} */
.sec-galerie .swiper-wrapper .swiper-slide.tall,
/* .sec-galerie .swiper-wrapper .swiper-slide:nth-child(2) { height: 604px; } */

.sec-galerie .swiper-wrapper .swiper-slide img,
.sec-galerie .swiper-wrapper .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 40px;  transition: all .4s ease;
}
.sec-galerie .swiper-wrapper .swiper-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 40px;
  background: rgba(0, 0, 0, 0.46);
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.sec-galerie .swiper-wrapper .swiper-slide::before {
  content: ''; /* fa arrow-right */
  
  font-weight: 900;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70px;
  height: 70px;
  border-radius: 100px;
  background: var(--tertiary) url(/smarty/wireframe20/media/images/icon-zoom.svg)no-repeat center;
  color: var(--light);
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.6);
  transition: opacity .35s ease, transform .35s ease;
  z-index: 2;
  pointer-events: none;
}
.sec-galerie .swiper-wrapper .swiper-slide:hover::after,
.sec-galerie .swiper-wrapper .swiper-slide:hover::before {
  opacity: 1;
}
.sec-galerie .swiper-wrapper .swiper-slide:hover::before {
  transform: translate(-50%, -50%) scale(1);
}
.sec-galerie .swiper-wrapper .swiper-slide:hover{
	margin-top: 0;
	margin-bottom: 0;
	height : 604px;
	transition: transform .4s all ease;
}
.sec-galerie .swiper-pagination-gal {
    position: absolute !important;
    bottom: -50px !important;
    text-align: center;
    margin: 0;
}
.sec-galerie .swiper-pagination-gal .swiper-pagination-bullet {
  width: 10px; height: 10px;
  background: var(--tertiary);
  opacity: .35;
  margin: 0 5px !important;
  transition: opacity .25s ease, transform .25s ease;
}
.sec-galerie .swiper-pagination-gal .swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.4);
}

/* SEC CONTACT HOME */
.sec-contact {
  position: relative;
  padding: 120px 0;
  background: var(--secondary-bg);
}
.sec-contact .container-fluid { max-width: 1630px; }
.sec-contact .contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: stretch;
  justify-content: center;
}
.sec-contact .contact-card {
  position: relative;
  /* flex: 1 1 0; */
 /* background: var(--light);*/
      background: var(--marron);
    color: var(--secondary-bg);
  border-radius: 40px;
  padding: 80px 40px;
  overflow: visible;
  transform: none !important;
}
.sec-contact .contact-card .section-title {
    color: var(--secondary-bg);
}


.sec-contact .contact-card .deco-yoga-top {
  position: absolute;
  right: -24px;
  top: 48px;
  width: 298px;
  height: 123px;
  background: url('/smarty/wireframe20/media/images/decorator-yoga-2.svg') center/contain no-repeat;
  pointer-events: none;
  z-index: 0;
}
.sec-contact .contact-card .section-subtitle{
	margin-bottom: 6px;
}
.sec-contact .contact-image {
  /* flex: 1 1 0; */
  border-radius: 40px;
  overflow: hidden;
  background: var(--primary-bg) center/cover no-repeat;
  min-height: 715px;
  box-shadow: 5px 5px 25px 0 rgba(23, 32, 40, 0.15);
}
.sec-contact .contact-image img { width: 100%; height: 100%; object-fit: cover; }

.sec-contact .section-title-wrap { position: relative; z-index: 1; margin-bottom: 24px; }
.sec-contact form,
.sec-contact .form-contact { position: relative; z-index: 1; }
.sec-contact .contact-card form.contactForm {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}
.sec-contact .contact-card form .contact-field {
    display: none; /* CMS heading inside form */
}
.sec-contact .contact-card form .contact-field-item {
    flex: 0 0 calc(50% - 10px);
    min-width: 0;
}
.sec-contact .contact-card form .contact-field-item.fullwidth,
.sec-contact .contact-card form .contact-field-item.contact-field-type_paragraph,
.sec-contact .contact-card form .contact-field-item[class*="_paragraph"] {
    flex: 0 0 100%;
}
.sec-contact .contact-card form textarea{
	height : 111px;
}
.sec-contact .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.sec-contact .contact-card form .form-check {
    flex: 0 0 100%;
    color: var(--secondary-bg);
    font-size: 15px;
    background: transparent;
	margin : 10px 0;
}

.sec-contact .contact-card form .form-check a {
   color: var(--secondary-bg);
}

.sec-contact .contact-card form .form-check a{
	text-decoration : none;
}
.sec-contact .contact-card form .contact-submit {
    flex: 0 0 100%;
    margin-top: -30px;
}
.sec-contact .form-grid .full { grid-column: 1 / -1; }
.sec-contact .form-check-line {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  color: var(--body-color);
}
.sec-contact .form-check-line a { color: var(--tertiary); text-decoration: underline; }
.sec-contact .form-submit-line { grid-column: 1 / -1; }

/* contact_b styles applied to module-injected form */
.sec-contact .cms-contact-form .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sec-contact .cms-contact-form label {/* display: none; */}
.sec-contact .cms-contact-form .form-group { margin: 0; }
.sec-contact .cms-contact-form .form-group.full,
.sec-contact .cms-contact-form .form-group:has(textarea) { grid-column: 1 / -1; }

/* FOOTER */
footer.bottom {
  background: var(--primary-bg);
  padding: 90px 0;
  position: relative;
}
footer.bottom.footer-interne {
    border-top: 3px solid var(--tertiary);
}
footer.bottom .container { max-width: 1140px; padding: 0 15px; }
footer.bottom .footer-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
footer.bottom .footer-brand { flex: 0 0 auto; }
footer.bottom .footer-logo img { width: 410px; max-width: 100%; height: auto; }

footer.bottom .footer-contact-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
}
footer.bottom .footer-info-item {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}
footer.bottom .footer-info-item .footer-icon-circle {
  width: 50px;
  height: 50px;
  background: var(--tertiary);
  color: var(--light);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  font-size: 14px;
  flex-shrink: 0;
}
footer.bottom .footer-info-item a,
footer.bottom .footer-info-item .adr,
footer.bottom .footer-info-item span {
  color: var(--body-color);
  font-size: 15px;
  line-height: 24px;
  font-family: var(--bs-body-font-family);
  text-decoration: none;
}
footer.bottom .footer-info-item a:hover { color: var(--tertiary); }

footer.bottom .footer-social-block {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 0;
}
footer.bottom .footer-social-block .footer-title {
  font-family: var(--font-display);
  font-size: 27px;
  color: var(--dark);
  margin: 0;
}
footer.bottom .footer-social-block .social {
  display: flex;
  align-items: center;
  gap: 30px;
}
footer.bottom .footer-social-block .social a {
  color: var(--dark);
  font-size: 18px;
  transition: color .25s ease, transform .25s ease;
}
footer.bottom .footer-social-block .social a.networks_google{
	order : 3;
}
footer.bottom .footer-social-block .social a:hover {
  color: var(--tertiary);
  transform: translateY(-2px);
}

footer.bottom .footer-map {
  flex: 0 0 auto;
  width: 430px;
  height: 311px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 5px 5px 25px 0 rgba(23, 32, 40, 0.15);
  background: var(--dark);
  	filter: grayscale(1);
}
footer.bottom .footer-map iframe,
footer.bottom .footer-map > div,
footer.bottom .footer-map img {
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
}

.footer-nav { background:var(--marron); color: var(--light); padding: 14px 0; }
.footer-nav a { color: var(--light); text-decoration: underline; }
.footer-nav a:hover { color: var(--tertiary); }

/* INTERNAL PAGE LAYOUT */
.content.page-content,
.content-page {
  padding: 50px 0;
  /*background: var(--light);*/
}
.content-page h1 { color: var(--dark); margin-bottom: 24px; }
.content-page h2, .content-page h3, .content-page h4 { color: var(--dark); }
.content-page .text-resize p { color: var(--body-color); line-height: 1.7; }

/*.int-card {
  background: var(--secondary-bg);
  border-radius: 40px;
  padding: 60px clamp(20px, 4vw, 60px);
}*/

.box-contact-info {
  background: var(--secondary-bg);
  border-radius: 40px;
  padding: 32px;
}
.box-contact-info .info-block { margin-bottom: 24px; }
.box-contact-info h5 { font-size: 18px; color: var(--dark); margin-bottom: 8px; }
.box-contact-info .social a { color: var(--dark); margin-right: 18px; font-size: 18px; }
.box-contact-info .social a:hover { color: var(--tertiary); }

/* NEWS LIST page-4.tpl */
/* .actu-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 32px; } */
.actu-list .Item,
.actu-list .news-item{
  background: var(--secondary-bg);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding : 10px;
}
.actu-list img { width: 100%; height: 220px; object-fit: cover; display: block;     border-radius: 20px;}
.actu-list .nophoto {
  width: 100%;
  height: 220px;
  background: var(--primary-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
      border-radius: 20px;
}
.actu-list .nophoto img {
  width: 60%;
  height: 60%;
  object-fit: scale-down;
  padding: 10px;
  opacity: 0.6;
}
.actu-list .nophoto .fa-image { display: none; }
.actu-list h3 { padding: 14px 0px 4px; font-size: 22px; color: var(--dark); }
.actu-list h3 span { display: block; }
.actu-list .date {
  padding: 16px  0;
  font-family: var(--font-sub);
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--tertiary);
  font-weight: 500;
}
.actu-list .resume, .actu-list p { padding: 0 24px 16px; color: var(--body-color); font-size: 14px; }
.actu-list .more, .actu-list a.more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 24px 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--tertiary);
  text-decoration: none;
}
.actu-list .more:hover { color: var(--dark); }
/* News listing page */
.actu-list #AllNews {
	margin : 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.actu-list #AllNews .news-col{
	width : 100%;
	padding: 0;
}

/* NEWS DETAIL news_b.tpl */
.news-detail .img-news {
  border-radius: 24px;
  margin-bottom: 24px;
  max-width: 480px;
  height: auto;
}
.news-detail .btn-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 32px;
  padding: 12px 24px;
  background: var(--tertiary);
  color: var(--light) !important;
  border-radius: 100px;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 1.2px;
}
.news-detail .btn-back:hover { background: var(--dark); }

/* GUESTBOOK (off but stubbed) */
.avis-clients { display: none; }

/* -------------------------------------------------------------
   3-bis. MANDATORY UTILITIES (Nénuphar baseline)
   ------------------------------------------------------------- */

.fa-facebook::before { content: "\f39e" !important; }

.footer-b { display: none; }

html, body {
  height: auto !important;
  min-height: 100%;
  overflow: visible !important;
  scroll-behavior: auto !important;
}

.p-absolute { position: absolute !important; }

.txt-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.grecaptcha-badge { z-index: 99; }

a#non-cliquable {
  pointer-events: none;
  display: inline-block;
}

a.btn-cookies-link i { width: 20px !important; }
a.btn-cookies-link { color: var(--dark) !important; }

input { outline: none !important; }

a#scrollTopBtn {
  right: 50%;
  bottom: 44px;
  transform: translateX(50%);
  border: 1px solid var(--bs-body-color);
}

/* -------------------------------------------------------------
   3-ter. CMS REAL-DOM ADAPTATIONS (Pass 2)
   ------------------------------------------------------------- */

/* menu_b yields <ul class="navbar-nav me-auto sf-menu"> with <li class="nav-item selected"> */
.navbar-collapse .navbar-nav,
.navbar-collapse .sf-menu {
  margin: 0 !important;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 0;
  flex-wrap: nowrap;
}
.navbar-collapse .me-auto { margin-right: 0 !important; }
.navbar-collapse .nav-item { padding: 0; position: relative; }
.navbar-collapse .nav-item + .nav-item::before {
  content: '';
  position: absolute;
  left: -4px;
  top: 50%;
  width: 8px;
  height: 8px;
  background: var(--primary-bg);
  transform: translateY(-50%);
  pointer-events: none;
  border-radius: 50%;
}
.navbar-collapse .nav-item .nav-link {
  font-family: var(--bs-body-font-family);
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1.92px;
  text-transform: uppercase;
  color: var(--light);
  padding: 8px 0;
  transition: color .25s ease;
  white-space: nowrap;
}
.navbar-collapse .nav-item .nav-link:hover,
.navbar-collapse .nav-item.selected .nav-link,
.navbar-collapse .nav-item.active .nav-link {
  color: var(--tertiary);
}
/* .navbar-collapse .nav-item.selected .nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--tertiary);
} */

/* networks_linking — real DOM from {networks type="linking_b"} */
.networks_linking {
  display: flex;
  align-items: center;
  gap: 30px;
}
.networks_linking .networks {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--light);
  font-size: 18px;
  text-decoration: none;
  transition: color .25s ease, transform .25s ease;
}
.networks_linking .networks:hover { color: var(--tertiary); transform: translateY(-2px); }
footer.bottom .networks_linking .networks { color: var(--dark); }
footer.bottom .networks_linking .networks:hover { color: var(--tertiary); }

/* contact_b real DOM — wrap labels above floating inputs */
.cms-contact-form .row,
.cms-contact-form form .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.cms-contact-form .form-group { margin: 0; }
.cms-contact-form .form-group:has(textarea),
.cms-contact-form .row > div:has(textarea),
.cms-contact-form .form-group.message,
.cms-contact-form .col-12 { grid-column: 1 / -1; }
.cms-contact-form label {/* display: none; */}
.cms-contact-form input[type="text"],
.cms-contact-form input[type="email"],
.cms-contact-form input[type="tel"],
.cms-contact-form textarea {
  width: 100%;
  border-radius: 40px;
  border: 1px solid var(--field-border);
  padding: 12px 20px;
  background: var(--light);
  color: var(--body-color);
}
.cms-contact-form textarea { border-radius: 20px; min-height: 130px; }
.cms-contact-form .btn,
.cms-contact-form button[type="submit"],
.cms-contact-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 31px;
  font-family: var(--bs-body-font-family);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--light);
  background: var(--tertiary);
  border: 1px solid var(--tertiary);
  border-radius: 100px;
  cursor: pointer;
  transition: background .3s ease;
}
.cms-contact-form .btn:hover,
.cms-contact-form button[type="submit"]:hover { background: var(--dark); border-color: var(--dark); }

/* hero/banner — banner-slideshow renders BS5 carousel */
.banner .carousel,
.banner .carousel-inner,
.banner .carousel-item,
.banner .carousel-item.active {
  height: 100%;
  width: 100%;
  position: absolute !important;
  inset: 0;
}
.banner .carousel-item img,
.banner .carousel-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* sec-about fallback image (DCVE box 3 may be empty) */
.sec-about .about-image:empty,
.sec-about .about-image:not(:has(img)) {
  background-image: url('../images/section1-image.webp');
}

/* sec-galerie — robust DOM transform target */
.sec-galerie .sec-galerie .swiper-wrapper:not(.swiper-initialized) .swiper-wrapper:empty + .galerie-source {
  display: block;
}
.galerie-fallback {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.galerie-fallback img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 40px;
  display: block;
}

/* footer-wrapper — fix the 3-column wrap issue */
/*footer.bottom .container { max-width: 1280px; padding: 0 30px; }*/
footer.bottom .footer-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: nowrap;
}
footer.bottom .footer-brand,
footer.bottom .footer-contact-col,
footer.bottom .footer-map {
  flex: 0 1 auto;
}
/* footer.bottom .footer-brand .footer-logo img { width: 320px; max-width: 100%; height: auto; } */
footer.bottom .footer-contact-col {/* min-width: 240px; */}
footer.bottom .footer-map { width: 430px; height: 311px; }

/* Hide empty tel link gracefully */
footer.bottom .footer-info-item a[href="tel:"],
footer.bottom .footer-info-item a:empty { display: none; }
footer.bottom .footer-info-item:has(a:empty),
footer.bottom .footer-info-item:has(a[href="tel:"]) { display: none; }

/* nav-address icon visible */
.nav-address .nav-icon-circle {
  background: rgba(5, 5, 5, 0.1);
  border: 1px solid var(--primary-bg);
  color: var(--light);
}
.nav-address .nav-icon-circle i { color: var(--light); }

/* Section icon — ensure visible regardless of SVG var */
.section-icon {width: 74px;height: 58px;/* opacity: .9; */}
/**************************************************************************/
section.content.page-content.content-page .grid-gallery {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 2%;
    justify-content: center;
}
section.content.page-content.content-page .grid-img .grid-gallery{
	display: block;
	width: 400px;
	
}
section.content.page-content.content-page .grid-gallery a {
    
}

section.content.page-content.content-page .grid-img .link-picture {
	height: 320px;
}
section.content.page-content.content-page a.link-picture, section.content.page-content.content-page a.link-subgallery {
    width: 23.5%;
    background-size: cover;
    background-position: center;
    height: 300px;
    cursor: zoom-in;
    position: relative;
    /* display: block; */
    /* box-shadow: 0 0 0 rgba(33,46,83,.6); */
    transition: transform .4s,box-shadow .4s;
    border-radius: 15px;
    margin-bottom: 20px;
}
section.content.page-content.content-page .link-subgallery:hover, section.content.page-content.content-page .link-picture:hover {
	transform: scale(.95) !important;
}
section.content.page-content.content-page .pagination {
    margin-top: 20px;
    justify-content: center;
  flex-wrap: wrap;
}
section.content.page-content.content-page .pagination li{
  background-image : none !important;
}
section.content.page-content.content-page .pagination .page-link{
  color: var(--gold-from) !important ;
}
section.content.page-content.content-page .pagination .active>.page-link, section.content.page-content.content-page .pagination .page-link.active, 
section.content.page-content.content-page .pagination .page-link:hover{
  color: var(--bs-white) !important ;
  background: var(--gold-to) !important ;
}
section.content.page-content.content-page span.title-subgallery{
	position : absolute;
  bottom: 0;
  left: 0 ;
  right: 0;
  padding : 10px;
  color : var(--bs-body-bg) ;
  text-align : center;
  background : rgba(0,0,0,0.7);
}
section.content.page-content.content-page .title-picture {
	display: none;
}

.fslightboxci h2 {
 
    color: var(--bs-white);
    background: transparent;
    background-clip: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: var(--bs-white);
    font-size: 17px;
    font-weight: 400;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
/******************/
.content-page form .contact-field-item{
	 margin-bottom: 16px;
}
section.content article .NewsMasonry .NewsItem img.img-news-list, img.img-news{
    max-width:180px!important;
    height: 170px!important;
}

.actu-list .Item .read-more {
    margin-top: 20px;
}


[data-animate] { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s ease; }
[data-animate].is-visible { opacity: 1; transform: translateY(0); }

.vc {
  width: min(95vw, 900px) !important;
  max-width: 100%;
  padding: 24px;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0,0,0,.15);
}

.vc-header__content { font-size: 1.6rem; font-weight: 700; }
.vc-arrow { width: 48px; height: 48px; }

.vc-week__day { font-size: 1.1rem; padding: 12px 0; }

.vc-dates { gap: 6px; }
.vc-date__btn {
  height: 72px;
  font-size: 1.3rem;
  border-radius: 12px;
}

.vc-date:not([data-vc-date-disabled]) .vc-date__btn {
  background: #e8f7ec;
  color: #14692e;
  font-weight: 700;
  border: 2px solid #2e9e55;
  cursor: pointer;
}
.vc-date:not([data-vc-date-disabled]) .vc-date__btn:hover {
  background: #2e9e55;
  color: #fff;
}

.vc-date[data-vc-date-disabled] .vc-date__btn {
  opacity: .3;
  text-decoration: line-through;
  cursor: not-allowed;
}

.cart-service-item > .row.g-2.mt-2 {
  display: none !important;
}

.Step1-price.promoPrice {
    text-decoration: line-through;
    opacity: 0.7;
    margin-left: 8px; 
}

@media (max-width: 600px) {
  .vc { padding: 12px; }
  .vc-date__btn { height: 48px; font-size: 1rem; }
}


@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .deco-badge-right, .deco-badge-left { animation: none !important; }
}
/*********************************/

/* ── Section ── */
.tarifs-section {

  width: 100%;
}

.tarifs-title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 40px;
  letter-spacing: -0.5px;
}

/* ── Grid ── */
.tarifs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: start;
}

@media (max-width: 900px) {
  .tarifs-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .tarifs-grid { grid-template-columns: 1fr; }
}

/* ── Card ── */
.card {
  background: var(--secondary-bg);
  border-radius: 18px;
  padding: 28px 22px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  border: 2px solid transparent;
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
  justify-content: end;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.12);
}

/* Popular card highlight */
.card--popular {
  border-color: var(--tertiary);
  box-shadow: 0 4px 24px rgba(74,144,217,0.18);
}

/* ── Badge ── */
.badge {
  display: inline-block;
     background:  var(--tertiary);
    color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 20px;
  padding: 4px 12px;
  margin-bottom: 10px;
  letter-spacing: 0.3px;
}

/* ── Card name ── */
.card-name {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.3;
}

/* ── Price ── */
.card-price {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -1px;
  color: #1d1d1f;
}

.currency {
  font-size: 1.6rem;
  font-weight: 700;
  vertical-align: super;
}

/* ── Unit ── */
.card-unit {
  font-size: 0.82rem;
  color: #6e6e73;
  margin-top: 4px;
  margin-bottom: 20px;
}

/* ── Details list ── */
.card-details {
  list-style: none;
  border-top: 1px solid #e8e8ed;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.card-details li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 0.88rem;
  gap: 8px;
}

.label {
  color: #6e6e73;
  white-space: nowrap;
}

.value {
  text-align: right;
  color: #1d1d1f;
}

.value.bold {
  font-weight: 600;
}

/***************************/
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease;
}

.popup-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.popup-box {
  position: relative;
  background: var(--primary-bg);
  max-width: 600px;
  width: 90%;
  padding: 50px 40px;
  text-align: center;
  border: 1px solid #cdbfa6;
  transform: translateY(20px);
  transition: transform 0.4s ease;
}

.popup-overlay.is-visible .popup-box {
  transform: translateY(0);
}

.popup-eyebrow {
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 12px;
  color: #8a7a5c;
  margin-bottom: 18px;
}

.popup-title {
  font-size: 28px;

  text-transform: uppercase;
  margin: 0 0 20px;
}

.popup-text {
  font-size: 20px;
  line-height: 1.6;
  margin: 0 0 12px;
}

.popup-text--small {
  font-size: 16px;

}

.popup-close {
  position: absolute;
    top: 14px;
    right: 16px;
    background: var(--marron);
    border: none;
    font-size: 26px;
    line-height: 19px;
    cursor: pointer;
    color: #fff;
    border-radius: 50px;
    width: 35px;
    height: 35px;
}

.popup-close:hover {
  background: var(--tertiary);
}






/*******************************/

/* RESPONSIVE — 1200 / 992 / 768 / 480 */
@media (max-width: 1810px) {
  .sec-presentation .deco-yoga-left {
      left: 10px;
      width: 138px;
      height: 150px;
  }
  .sec-about .about-image:before {
      left: -76px;
  }
}
@media (max-width: 1399px) {
  /*header-top { padding-left: 40px; padding-right: 40px; }*/
  
  .banner {
    min-height: 550px;
  }
  .navbar-collapse .sf-menu > li {
      position: relative;
      padding: 0 22px;
  }
  .banner-logo {
    max-width: 450px;
  }
  .sec-presentation .deco-yoga-left {
      opacity: 0.3;
  }
  /*.sec-about .container,
  .sec-galerie .container,
  .sec-contact .container { max-width: 1140px; padding: 0 30px; }*/
  .sec-about .about-card { padding: 30px 10px; gap: 60px; }
  /*.sec-about .about-image { width: 480px; height: 380px; }*/
  .sec-about .about-image:before {
      left: -36px;
  }
  .sec-about .about-card.card-reverse .about-image:before {
      right: -36px;
  }
  h1, .section-title.lg { font-size: 42px; }
  h2, .section-title { font-size: 38px; }
}

@media (max-width: 1199px) {
  .nav-top-row { gap: 24px; }
  .nav-bottom-row { gap: 32px; }
 /* .navbar-collapse .sf-menu { gap: 18px; }*/
  .navbar-collapse .sf-menu > li {
      padding: 0 12px;
  }
  .sec-presentation {
      padding: 60px 0;
  }
  .navbar-collapse .sf-menu > li + li::before { left: -12px; }
  .sec-presentation .presentation-row { gap: 80px; }
  .sec-presentation .deco-yoga-left { width: 220px; opacity: .35; }
   .sec-about {
    padding: 60px 0;
  }
 /* .sec-about .about-card { flex-direction: column; padding: 60px; gap: 40px; }*/
  .sec-about .about-image {/* width: 100%;*/ /*height: 400px; */}
  
  .sec-galerie {
    	padding: 60px 0;
  }
  
  .sec-contact {
    padding: 60px 0;
  }
  .sec-contact .contact-card .deco-yoga-top {
      width: 198px;
      height: 73px;
  }
  .sec-contact .contact-row { gap: 32px; }
  .sec-contact .contact-image { min-height: 600px; }
  .sec-contact .contact-card { padding: 40px 15px; }
  
  footer.bottom {
    padding: 40px 0;
  }
  footer.bottom .footer-logo img {
      width: 300px;
  }
  footer.bottom .footer-map {
      width: 350px;
      height: 300px;
  }
}

@media (max-width: 991px) {
  .actu-list #AllNews {
    grid-template-columns: repeat(2, 1fr);
  }
  /*.header-top { padding: 14px 20px; background: rgba(0, 0, 0, 0.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }*/
  .navbar-toggler { display: inline-flex; align-items: center; justify-content: center; order: 3; }
  .header-top .container-fluid { flex-wrap: wrap; }
   header nav.navbar.sticky-top:not(.is-sticky) .lang-nav {	

	background: none;
	backdrop-filter: inherit;
}
    .head-top .container, .container, .max-container {
        max-width: 768px !important;
    }
  	header .navbar-nav .dropdown-menu {
        transform: none;
    }
   
    header nav.navbar.sticky-top:not(.is-sticky) .lang-nav {
        width: auto;
        
        flex-direction: column;
   
    }
  	button.navbar-toggler::after, button.navbar-toggler::before {
        background: var(--light);
    }
  	button.navbar-toggler[aria-expanded="false"]:after, button.navbar-toggler[aria-expanded="false"]:before {
        transform: none;
    }
  	button.navbar-toggler .navbar-toggler-icon {
        background-color: var(--light);
    }
  	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;
    }
  	header .navbar-nav>.nav-item:not(:first-child):before{
      display: none;
  	}
  header .nav-item {
	padding: 5px 0;
    text-align: center;
}
    nav.navbar.sticky-top .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        background: var(--primary-bg);
        padding: 10px 0;
        text-align: left;
        z-index: 100;
    }
  .navbar-collapse .nav-item .nav-link {
    color: var(--dark)!important;

}
  
  .navbar-collapse .nav-item .nav-link:hover, .navbar-collapse .nav-item.selected .nav-link, .navbar-collapse .nav-item.active .nav-link {
    color: var(--tertiary)!important;
}
  
  	header a.nav-link {
        font-size: 16px;
        display: table;
        margin: 0 auto;
    }
    .head-top .navbar:not(.is-sticky) #navbarNav {
        margin-top: 0;
    }
  header nav.navbar.sticky-top {
     
      justify-content: center;
  }
  .navbar-collapse .navbar-nav, .navbar-collapse .sf-menu {
      flex-direction: column!important;
  }
  .navbar-collapse .sf-menu > li {
      padding: 0 ;
  }
/*  .nav-logo img { width: 160px; max-height: 56px; }*/
 /* .nav-right {
    position: fixed;
    top: 0;
    right: -100%;
    width: min(360px, 86vw);
    height: 100vh;
    padding: 80px 24px 24px;
    background: var(--dark);
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    overflow-y: auto;
    transition: right .35s ease;
    z-index: 1029;
  }
  .nav-right.open { right: 0; }
  .nav-top-row,
  .nav-bottom-row { flex-direction: column; align-items: flex-start; gap: 16px; width: 100%; }
  .header-top nav.navbar .lang-nav { flex-direction: column; align-items: flex-start; width: 100%; }
  .navbar-collapse { display: block !important; width: 100%; }
  .navbar-collapse .sf-menu,
  .navbar-collapse .navbar-nav,
  .navbar-collapse > ul {
    flex-direction: column !important;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
  }
 
  .navbar-collapse .sf-menu > li + li::before,
  .navbar-collapse .nav-item + .nav-item::before { display: none; }
  .navbar-collapse .sf-menu > li > a,
  .navbar-collapse .nav-item .nav-link { padding: 8px 0; font-size: 15px; }
  */
  .header-top {
      padding: 10px 0;
  }
  /*.nav-bottom-row {
      gap: 10px;
      flex-direction: column;
  }*/
  .nav-top-row {
      gap: 10px;
  }
  .nav-right {
    align-items: center;
  }
  .header-top .nav-inner {
    flex-direction: column;
}
      .nav-bottom-row {
        width: 100%;
                margin-top: 15px;
        justify-content: space-between;
    }
  .nav-right {
        justify-content: space-between;
        width: 100%;
    }
 /* .header-top .nav-inner {
      flex-direction: column;
      gap: 5px;
  }*/
 /* .nav-social { gap: 22px; margin-top: 18px;}*/

  /*header.header:has(nav.navbar.is-sticky) .header-top .nav-top-row { display: none; }*/
    header nav.navbar.sticky-top {
       
        position: static;
    }
  /*.banner { min-height: 640px; }*/
  .banner-logo { width: min(370px, 70vw); }
	.banner-content {
      gap: 20px;
      margin-top: 188px;
  }
  
  /*.sec-presentation { padding: 80px 0; }*/
  .sec-presentation .presentation-row { flex-direction: column; gap: 32px; }
  .sec-presentation .presentation-title { max-width: 100%; }
  .sec-presentation .deco-yoga-left,
  .sec-presentation .deco-badge-right { display: none; }
  .sec-presentation .presentation-body {
      max-width: 100%;
  }
	
  .sec-about { padding: 80px 0; }
  .sec-about .about-card { padding: 40px; border-radius: 40px; }
  .sec-about .about-image { /*height: 320px;*/ border-radius: 30px; }
  .sec-about .about-image img {
      border-radius: 30px;
  }
   .sec-about .about-card { flex-direction: column; padding: 30px 10px; gap: 40px; }
  .sec-about .about-card.card-reverse .about-image {
      order: 0;
  }

 /* .sec-galerie { padding: 80px 0; }*/
  .sec-galerie .deco-badge-left { width: 100px; height: 100px; left: 16px; top: 110px; }

  /*.sec-contact { padding: 80px 0; }*/
  .sec-contact .contact-row {
    display: block;
  }
  .sec-contact .contact-card .deco-yoga-top {
      right: 0;
  }
  .sec-contact .contact-row { flex-direction: column; }
  .sec-contact .contact-card { width: 100%; padding: 40px 24px; margin-bottom : 20px;}
  .sec-contact .contact-image { width: 100%; height: 400px;         min-height: unset;}

  footer.bottom { padding: 60px 0; }
  footer.bottom .footer-wrapper { flex-direction: column; align-items: center; gap: 32px; }
  footer.bottom .footer-logo img { width: 280px; }
  footer.bottom .footer-map { width: 100%; max-width: 480px; }
  footer.bottom .footer-info-item {
      gap: 0;
      flex-direction: column;
      text-align: center;
  }
  
  footer.bottom .footer-wrapper {
      gap: 15px;
  }
  footer.bottom .footer-social-block .social {
      justify-content: center;
  }
	footer.bottom .footer-contact-col {
      align-items: center;
  }
  .actu-list { grid-template-columns: repeat(2, 1fr); }
  header.header.small .banner{
    display:none;
  }
  header.header.small .header-top {
    position: relative !important;
    background: #C1B096;
}
}

#presentation .cta-mobile-group { display: none; }



@media (max-width: 767px) {
  .popup-box {
    padding: 50px 15px 15px;
  }
  .popup-text {
    font-size: 17px;

}
  .popup-title {
    font-size: 27px;
  }
  #presentation .cta-mobile-group {
  display: flex;
        justify-content: center;
        gap: 20px;
}

 /* Contenu caché par défaut sur mobile */
  #contentExtra {
    display: none !important;
  }
  /* Contenu visible après clic */
  #contentExtra.visible {
    display: block !important;
  }
  /* Bouton visible sur mobile */
  #btnLirePlus {
    display: inline-flex !important;
  }
  
#contentExtra {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.6s ease, opacity 0.5s ease;
  }

  /* Contenu visible après clic */
  #contentExtra.visible {
    max-height: 5000px; /* valeur large pour englober tout le contenu */
    opacity: 1;
    transition: max-height 0.8s ease, opacity 0.6s ease 0.1s;
  }

  
  
  
  
  
  
  .box-dark {

    padding: 20px 10px;
    font-size: 16px;
   
}
  section.content article .NewsMasonry .NewsItem img.img-news-list, img.img-news {
      margin: 0 auto !important;
      float: none !important;
  }
  .actu-list #AllNews {
    grid-template-columns: repeat(1, 1fr);
  }
  h1, .section-title.lg { font-size: 34px; line-height: 1.1; }
  h2, .section-title { font-size: 30px; }
  h3 { font-size: 24px; }
  .nav-cta-tel {
      padding: 4px 18px;
  }
  .nav-top-row {
      gap: 10px;
      flex-direction: column;
  }
  .nav-address {
       flex-direction: column;
      gap: 0;
    text-align: center;
  }
  .nav-icon-circle {
    width: 30px;
    height: 30px;
  }
  .nav-logo {
      width: 200px;
    justify-content: center;
  }
  .section { padding: 50px 0; }
  .banner { min-height: 560px; padding-top: 80px; }
  .banner-logo { width: min(320px, 80vw); }
  .btn-pill { padding: 14px 36px; font-size: 15px; letter-spacing: 2.4px; }
  .sec-about .about-card { padding: 28px; }
  .sec-about .about-image {
      width: 100%;
      border-radius: 30px;
  }
  .sec-about .about-image:before {
    top: -37px;
    left: -10px;
    width: 103px;
    height: 104px;
  }
  .sec-about .about-card.card-reverse .about-image:before {
      right: -10px;
  }
  
  .sec-contact .contact-card form .contact-field-item {
      flex: 100%;
  }
  .sec-contact .contact-card form.contactForm {
      gap: 10px;
  }
  .sec-contact .form-grid { grid-template-columns: 1fr; }
  .sec-contact .cms-contact-form .row { grid-template-columns: 1fr; }
  .actu-list { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  
      .popup-title {
        font-size: 25px;
    }
      .popup-text {
        font-size: 15px;
    }
  
  #presentation .cta-mobile-group {
        display: flex;
        justify-content: center;
        gap: 10px;
        flex-direction: column;
    }
  .header-top { padding: 12px 0; }
  .nav-logo img { width: 140px; max-height: 48px; }
  .banner {
    min-height: 520px;
  }
  .banner-content { gap: 28px; }
  .banner-logo { width: 230px; }
  .sec-galerie .deco-badge-left {
      left: 0;
      top: 60px;
  }
  .btn-pill { padding: 12px 28px; font-size: 13px; letter-spacing: 1.8px; }
  .sec-presentation, .sec-about, .sec-galerie, .sec-contact { padding: 56px 0; }
  .sec-about .about-card { padding: 20px 10px; border-radius: 28px; }
 /*.sec-about .about-image { height: 240px; }*/
  .section-icon { width: 60px; height: 48px; }
  .section-subtitle { font-size: 14px; letter-spacing: 2.4px; }
  .sec-contact .contact-card {
      padding: 40px 10px;
  }
  .sec-contact .contact-card .deco-yoga-top {
      width: 128px;
      height: 53px;
  }
  .contactForm label.form-label {
      display: inline;
  }
  footer.bottom .footer-map {
      height: 250px;
  }
  footer.bottom { padding: 48px 0; }
  footer.bottom .footer-logo img { width: 220px; }
}