/*!
Theme Name: Champagne Lancelot Royer
Theme URI: http://underscores.me/
Author: Agence 11bis
Author URI: https://11-bis.com
Description: Champagne Lancelot-Royer
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: champplr
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Champagne Lancelot Royer is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

:root {
  --beige: #F7F5F3;
  --noir: #0C0C0C;
  --blanc: #fff;
  --corps: #696969;
}

/* Conteneur avec overflow hidden */
.split-anim .line-parent {
    overflow: hidden;
}

/* Ligne individuelle */
.split-anim .line {
    display: block;
}

::selection {
  background-color: #C4D6EE; /* Couleur de fond de la sélection */
  color: white; /* Couleur du texte sélectionné */
}

/* Pour Firefox (optionnel, de moins en moins nécessaire) */
::-moz-selection {
  background-color: #C4D6EE;
  color: white;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	overflow: hidden; /* Lenis override sur desktop, scroll natif sur mobile */
}

@media (hover: none) and (pointer: coarse) {
	body {
		overflow: auto;
	}
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin: 0;
	font-weight: 300;
}

p {
	margin-bottom: 1.5em;
}

.label {
	text-decoration: none;
	font-family: Geist;
    font-size: 11px;
    font-weight: 500;
	letter-spacing: 1.4px;
	text-transform: uppercase;
    transition: opacity 0.3s ease;
    display: block;
}

a {
	color: var(--noir);
}

a.simple,
span.simple {
	position: relative;
	text-decoration: none;
    font-family: Geist;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    transition: opacity 0.3s ease;
    display: inline-block;
	color: var(--noir);
}

a.simple:before,
span.simple:before {
	content:'';
	position: absolute;
	right:0;
	bottom: -3px;
	width: 100%;
	height: 1px;
	background: var(--noir);
	transition: all ease-in-out .15s;
	pointer-events: none;
}

a.simple:hover:before,
span.simple:hover:before,
.cuvees-wrapper a:hover span.simple:before {
	width: 0%;
	transition: all ease-in-out .25s;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	font-family: Cormorant Garamond;
	font-weight: 400;
	background: var(--beige);
	color: var(--noir);
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus,
a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/


/* ========================================
   AGE GATE
   ======================================== */

.age-gate__wrapper .age-gate {
	padding: 60px;
	background: var(--blanc);
	max-width: 600px;
}

.age-gate__wrapper .age-gate__heading img {
	max-width: 100px;
}

.age-gate-headline, .age-gate__headline {
	margin: 10px 0 40px 0;
    font-family: Geist;
    font-size: 13px;
    font-weight: 300;
	letter-spacing: .35px;
	line-height: 1.55;
    display: block;
	color: #9c9c98;
}

.age-gate__wrapper .age-gate__fields {
	text-decoration: none;
	font-family: Geist;
    font-size: 11px;
    font-weight: 500;
	letter-spacing: 1.4px;
	text-transform: uppercase;
    display: block;
	margin-bottom: 30px;
}

.age-gate-additional-information, .age-gate__additional-information {
    margin-top: 0;
    text-decoration: none;
	font-family: Geist;
    font-size: 10px;
    font-weight: 400;
	letter-spacing: .5px;
	line-height: 1.4;
    display: block;
	opacity: .4;
}

.age-gate-additional-information p, .age-gate__additional-information p {
	margin: 0;
}

.age-gate-form-elements, .age-gate__form-elements {
    display: grid;
    gap: 0 !important;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
    margin: var(--ag-input-margin, 0);
    padding: 0;
}

.age-gate__wrapper .age-gate__select {
    display: inline-block !important;
    padding: 30px 40px !important;
    font-family: Geist !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
	text-align: center !important;
    -webkit-text-align-last: center !important;
    text-align-last: center !important;
    color: var(--noir) !important;
    text-decoration: none !important;
    border: solid .5px #e4dcd3 !important;
    border-radius: 0 !important;
    transition: all .15s ease-in-out !important;
}

.age-gate__wrapper select {
   -o-appearance: none;
   -ms-appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}

.age-gate__wrapper select:focus {
	outline: none;
}

/* Style du label */
.age-gate__remember {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    position: relative;
    padding-left: 28px;
    font-size: 14px;
    color: #333;
    line-height: 1.5;
}

/* Cacher la checkbox native */
.age-gate__remember input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    width: 0;
    height: 0;
}

/* Box de la checkbox (::before) */
.age-gate__remember::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border: 1px solid #EFE8E1;
    background: #fff;
    transition: all 0.25s ease;
}

/* Checkmark - la coche (::after) */
.age-gate__remember::after {
    content: '';
    position: absolute;
    left: 8px;
    top: 40%;
    transform: translateY(-50%) scale(0) rotate(45deg);
    width: 6px;
    height: 12px;
    border: solid var(--noir);
    border-width: 0 1.5px 1.5px 0;
    transition: all 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    opacity: 0;
}

/* État checked - IMPORTANT: input est DANS le label */
.age-gate__remember input[type="checkbox"]:checked ~ .age-gate__remember::before,
.age-gate__remember:has(input[type="checkbox"]:checked)::before {
    background: var(--blanc);
    border-color: var(--noir);
}

.age-gate__remember input[type="checkbox"]:checked ~ .age-gate__remember::after,
.age-gate__remember:has(input[type="checkbox"]:checked)::after {
    transform: translateY(-50%) scale(1) rotate(45deg);
    opacity: 1;
}

/* État disabled */
.age-gate__remember:has(input[type="checkbox"]:disabled) {
    opacity: 0.5;
    cursor: not-allowed;
}

.age-gate__remember:has(input[type="checkbox"]:disabled)::before {
    background: #f3f4f6;
    border-color: #e5e7eb;
}

/* Style du texte */
.age-gate__remember-text {
    font-family: Geist;
    font-size: 11px;
    font-weight: 400;
	letter-spacing: .3px;
	line-height: 1.4;
	opacity: .4;
}

.age-gate-remember, .age-gate__remember {
    text-decoration: none;
	font-family: Geist;
    font-size: 10px;
    font-weight: 300;
	letter-spacing: .8px;
	line-height: 1.4;
}



.age-gate-background, .age-gate-background-color, .age-gate__background, .age-gate__background-color {
    opacity: .2;
}

.age-gate-submit, .age-gate__submit {
    width: 100%;
}


button.age-gate-button, button.age-gate-submit-no, button.age-gate-submit-yes, button.age-gate__button, button.age-gate__submit--no, button.age-gate__submit--yes {
    background-color: var(--noir);
    border: var(--ag-button-border, 0);
    border-radius: 0px;
    color: var(--blanc);
	font-family: Geist;
    font-size: 12px !important;
    font-weight: 300 !important;
	letter-spacing: 1.6px !important;
	text-transform: uppercase;
	padding: 18px 34px;
	width: 100%;
	transition: all .15s ease-in-out !important;
}

@media (max-width: 768px) {
	.age-gate__wrapper .age-gate {
		padding: 50px 20px 20px 20px;
	}

	.age-gate__wrapper .age-gate__select {
		padding: 30px 24px !important;
		text-align: center !important;
		-webkit-text-align-last: center !important;
		text-align-last: center !important;
	}
}

/* Navigation
--------------------------------------------- */
/* ========================================
   HEADER STYLES
   ======================================== */

#masthead {
	position: absolute;
}

.site-header {
    width: 100%;
    background: transparent;
    z-index: 1000;
    transition: all 0.3s ease;
    position: relative;
}

/* Overlay gradient pour le header blanc */
.site-header .header-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 400px;
    /*background: linear-gradient(0deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);*/
    pointer-events: none;
    z-index: -1;
}

.site-header .container {
    margin: 0 auto;
    padding: 40px;
}

.site-header .header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo */
.site-header .logo {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
    z-index: 1001;
}

.site-header .logo-image {
    height: 45px;
    width: auto;
    display: block;
    transition: all 0.3s ease;
}

/* Logo homepage plus grand */
.site-header.header-homepage .logo-image {
	margin-top: 80px;
    height: 120px; /* Ajustez selon vos besoins */
}

/* Navigation */
.main-navigation {
    display: flex;
    align-items: center;
}

.nav-menu {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 40px;
}

.nav-menu li {
    margin: 0;
}

.nav-menu a,
.nav-menu .language-link {
    text-decoration: none;
	font-family: Geist;
    font-size: 11px;
    font-weight: 400;
	letter-spacing: 1.4px;
	text-transform: uppercase;
    transition: opacity 0.3s ease;
    display: block;
}

.nav-menu a:hover {
    opacity: 0.7;
}

/* Couleurs de texte */
.site-header.text-black .nav-menu a,
.site-header.text-black .nav-menu .language-link,
.site-header.text-black .nav-menu .menu-item-language {
    color: #000000;
}

.site-header.text-white .nav-menu a,
.site-header.text-white .nav-menu .language-link,
.site-header.text-white .nav-menu .menu-item-language {
    color: #ffffff;
}


/* Styles spécifiques par type de header */
.site-header.header-homepage {
    /* Styles personnalisés pour le header homepage si nécessaire */
}

.site-header.header-classic-black {
    /* Styles personnalisés pour le header classique noir si nécessaire */
}

.site-header.header-classic-white {
    /* Styles personnalisés pour le header classique blanc si nécessaire */
}


/* ====================================
   HEADER FIXE AU SCROLL
   ==================================== */

/* Header fixe caché par défaut */
#header-scrolled {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #ffffff;
    z-index: 1001;
    
    /* Animation de transition */
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

/* Header fixe visible après scroll */
#header-scrolled.visible {
    transform: translateY(0);
}

/* Logo plus petit dans le header fixe */
#header-scrolled .logo-image {
    height: 45px;
    transition: max-height 0.3s ease;
}

/* Navigation dans le header fixe */
#header-scrolled .nav-menu {
    display: flex;
    align-items: center;
    gap: 2rem;
}

#header-scrolled .nav-menu a,
#header-scrolled .nav-menu .language-link,
#header-scrolled .nav-menu .menu-item-language {
    color: #000;
    text-decoration: none;
    transition: color 0.3s ease;
}

#header-scrolled .nav-menu a:hover {
    color: #666;
}


/* ====================================
   EMPÊCHER LE SCROLL LORS DE LA MODALE
   ==================================== */

/* Quand la modale est ouverte, empêcher le scroll du body */
body.modal-open {
    overflow: hidden !important;
    /* NE PAS utiliser position: fixed ici - ça casse le positionnement */
}

/* S'assurer que la modale et ses éléments sont au-dessus de tout */
.modal-overlay.active {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
}

.modal.active {
    position: fixed;
    z-index: 9999;
}

.modal-close.active {
    position: fixed;
    z-index: 10000;
}

/* Overlay */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s cubic-bezier(0.16, 1.08, 0.38, 0.98) 0s,
                visibility 1.3s cubic-bezier(0.16, 1.08, 0.38, 0.98);
	transition-delay: 600ms;
    z-index: 1001;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
	transition-delay: 0ms;
}

/* Modale - IMPORTANT: utiliser position: fixed au lieu de absolute */
.modal {
    position: fixed; /* MODIFIÉ: fixed au lieu de absolute */
    top: 0;
    left: -50%;
    width: 50%;
    height: 100vh;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    /* overflow-y: auto déplacé sur .modal-navigation pour corriger Safari */
    transition: left 1.1s cubic-bezier(0.77,0,0.18,1) 0s;
    transition-delay: 300ms;
	z-index: 1002;
}

.modal.active {
    left: 0;
	transition: left 1.3s cubic-bezier(0.16, 1.08, 0.38, 0.98) 0s;
	transition-delay: 0s;
}

/* Bouton de fermeture - Fixe en haut à gauche avec fade */
.modal-close {
    position: fixed;
    top: 40px;
    left: 40px;
    z-index: 1003;
	background: none;
    color: var(--noir);
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: none;
	font-family: Geist;
    font-size: 11px;
    font-weight: 400;
	letter-spacing: 1.4px;
	text-transform: uppercase;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.9s ease, visibility 0.5s ease;
	transition-delay: 600ms;
}

.modal-close.active {
    opacity: 1;
    visibility: visible;
	transition-delay: 400ms;
}

/* Contenu de la modale */
.modal-navigation {
	flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch; /* Pour iOS */
	height: auto;
    padding: 20px 40px 40px 40px;
	text-align: center;
}


.modal-logo {
    margin-bottom: 30px;
}

.modal-logo img {
    max-width: 150px;
    height: auto;
}

.modal .social {
	position: sticky;  /* Au lieu de absolute */
    top: 37px;
	text-align: right;
    width: 100%;
	padding-right: 40px;
    z-index: 10;  /* Pour qu'il reste au-dessus du contenu qui scroll */
}

.modal .social a {
	color: var(--noir)
}

.modal .modal-main-nav .nav-menu-modal {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: fit-content;
}

.modal .modal-main-nav .nav-menu-modal li {
	padding: 12px 0;
	transition: opacity 0.3s ease;
	width: fit-content;
}

.modal .modal-main-nav .nav-menu-modal a {
	font-family: 'Cormorant Garamond';
    font-size: 28px;
    font-weight: 100;
    font-style: italic;
    letter-spacing: 1.3px;
    color: var(--noir);
    text-decoration: none;
}

/* Au survol du ul, tous les li passent à 0.5 d'opacité */
.modal .modal-main-nav .nav-menu-modal:hover li {
    opacity: 0.4;
}

/* Le li actuellement survolé revient à 100% d'opacité */
.modal .modal-main-nav .nav-menu-modal li:hover {
    opacity: 1;
}

.modal .modal-footer {
	/* Remplace position: fixed (cassé dans Safari avec overflow parent) */
	flex-shrink: 0;
	display: flex;
	justify-content: space-between;
	padding: 40px;
	border-top: solid .5px #EFE8E1;
	background: var(--blanc);
}

.modal .modal-footer a {
	color: var(--noir)
}

/* Responsive */
@media (max-width: 999px) {

    .main-navigation.nav-right #right-menu li:not(:last-child),
	.main-navigation.nav-right #right-menu-scrolled li:not(:last-child) {
        display: none;
    }

    .modal {
        width: 100%;
        left: -100%;
    }

    .modal .modal-footer {
        width: 100%;
    }
}


/* ========================================
   RESPONSIVE
   ======================================== */

/* Posts and pages
--------------------------------------------- */

.page-page-content {
	border-bottom: solid 1px var(--beige);
}

.page-vierge-content {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 80px;
}

.page-vierge-content h2 {
	font-size: 28px;
	margin: 40px 0 20px 0;
}

.page-vierge-content p {
	font-size: 18px;
    font-weight: 100;
    line-height: 1.4;
    color: #8b8b8b;
}

/* ================================================
   MODIFICATIONS POUR LE PARALLAX HERO THUMBNAIL
   ================================================
   
   Ajoutez ces modifications à votre fichier style.css
   en remplaçant la section "Hero Thumbnail" existante
*/

/* Hero Thumbnail avec Parallax */
.hero-thumbnail {
    position: relative;
    width: 100%;
    height: 633px;
    min-height: 400px;
    overflow: hidden; /* Important pour cacher le débordement du parallax */
    background-color: var(--beige);
}

.hero-thumbnail.homepage {
	height: 900px;
}

.hero-thumbnail.maison {
	height: 978px;
}

.hero-thumbnail__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%; /* Plus grand que le conteneur pour permettre le mouvement parallax */
    object-fit: cover;
    object-position: center;
    z-index: 1;
    will-change: transform; /* Optimisation pour les performances */
}

.hero-thumbnail__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Plus grand que le conteneur pour permettre le mouvement parallax */
    object-fit: cover;
    object-position: center;
    will-change: transform; /* Optimisation pour les performances */
	opacity: 0;
}

@media (max-width: 768px) {
    .hero-thumbnail {
        height: 50vh;
        min-height: 300px;
    }
    
    .hero-thumbnail__content {
        padding: 1rem;
    }
    
    /* Réduire l'effet parallax sur mobile pour de meilleures performances */
    .hero-thumbnail__video,
    .hero-thumbnail__image {
        height: 115%;
    }
}

/* Homepage */

.intro-biographie {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 20px;
	margin: 60px 40px 200px 40px;
}

.intro-biographie .location {
	text-align: center;
}

.intro-biographie .biographie-homepage {
	max-width: 65%;
	padding: 0 20px;
	font-size: 28px;
	text-align: center;
}

@media (max-width: 768px) {

	.hero-thumbnail.homepage {
		height: 800px;
	}

	.intro-biographie {
		align-items: flex-start;
		margin: 60px 0px 140px 0px;
	}


	.intro-biographie .biographie-homepage {
		max-width: 100%;
		padding: 0 20px;
		font-size: 28px;
		text-align: left;
	}

	.intro-biographie .location {
		padding-left: 20px;
	}

	.site-header.header-homepage .logo {
		margin-top: 20px;
		width: 85% !important;
	}

	.main-navigation {
		z-index: 9999;
	}

	#header-scrolled .logo-image {
		height: 36px;
	}

	.site-header .logo-image {
		height: 36px;
	}

	.site-header .container {
    margin: 0 auto;
    padding: 30px 20px;
}

}

.nos-champagnes {
	padding: 40px;
	padding-bottom: 110px;
	background: var(--blanc);
	overflow: hidden;
}

.titre-home-bloc {
	max-width: 1512px;
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.titre-home-bloc a {
	color: var(--noir)
}

.nos-champagnes .cuvees-wrapper {
	max-width: 1512px;
	margin: 0 auto;
	padding: 110px 40px 0 40px;
	text-align: center;
	overflow: visible;
}

/* Desktop: grille 4 colonnes */
.nos-champagnes .cuvees-wrapper .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	justify-items: center;
}

.nos-champagnes .cuvees-wrapper .cuvee {
	width: 100%;
	max-width: 290px;
}

.nos-champagnes .cuvees-wrapper .cuvee .cuvee-thumbnail {
	width: 100%;
	height: 350px;
	margin-bottom: 20px;
}

.nos-champagnes .cuvees-wrapper .cuvee h3 {
	margin-top: 30px;
}

.nos-champagnes .cuvees-wrapper a.cuvee {
	margin-bottom: 10px;
	font-family: Cormorant Garamond;
	font-weight: 400;
	font-size: 22px;
	text-decoration: none;
	color: var(--noir);
}

/* Carousel activé */
@media (max-width: 1280px) {
	.nos-champagnes .cuvees-wrapper .swiper-wrapper {
		display: flex;
	}

	.nos-champagnes .cuvees-wrapper .cuvee {
		width: 290px;
		flex-shrink: 0;
	}

	/* Navigation arrows */
	.cuvees-swiper-prev,
	.cuvees-swiper-next {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 10;
	}

	.cuvees-swiper-prev {
		left: 2px;
	}

	.cuvees-swiper-next {
		right: 2px;
	}

	.cuvees-swiper-prev::after,
	.cuvees-swiper-next::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 12px;
		height: 12px;
		border-top: 2px solid var(--noir);
		border-right: 2px solid var(--noir);
	}

	.cuvees-swiper-prev::after {
		transform: translate(-25%, -50%) rotate(-135deg);
	}

	.cuvees-swiper-next::after {
		transform: translate(-75%, -50%) rotate(45deg);
	}

	.cuvees-swiper-prev.swiper-button-disabled,
	.cuvees-swiper-next.swiper-button-disabled {
		opacity: 0.3;
		cursor: default;
	}
}

@media (max-width: 768px) {
	.nos-champagnes {
		padding: 40px 20px;
	}

	.nos-champagnes .cuvees-wrapper {
		padding-left: 20px;
		padding-right: 20px;
	}

	.nos-champagnes .cuvees-wrapper .cuvee {
		width: 240px;
	}

	.nos-champagnes .cuvees-wrapper .cuvee .cuvee-thumbnail {
		height: 290px;
	}
}

.maison-discover {
	position: relative;
	display: flex;
	align-items: end;
	height: 1008px;
	padding: 40px;
	overflow: hidden;
	color: var(--blanc);
}

.maison-discover__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 115%;
	will-change: transform;
}

.maison-discover__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.maison-discover:before {
	content:'';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.5) 100%);
	z-index: 1;
}

.maison-discover a,
.histoire-home a,
.experiences-home a {
	color: var(--blanc);
	z-index: 2;
} 

.maison-discover a:before,
.experiences-home a:before {
	background: var(--blanc)
} 

.maison-discover h2 {
	position: absolute;
	left: 50%;
	bottom: 100px;
	transform: translateX(-50%);
	font-family: Cormorant Garamond;
	font-weight: 400;
	font-size: 70px;
	text-align: center;
	z-index: 2;
}

.maison-discover .titre-home-bloc h3 {
	z-index: 2;
}

.split-screen-home {
	display: flex;
	height: 850px;
}

.split-screen-home .experiences-home {
    display: flex;
    align-items: end;
    width: 50%;
    height: 100%;
    padding: 40px;
	color: var(--blanc);
    position: relative; /* Important pour le positionnement de la vidéo */
    overflow: hidden; /* Pour éviter les débordements */
}

.experiences-home .video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    z-index: 1;
}

.experiences-home-content {
    position: relative;
    z-index: 1; /* Pour que le contenu soit au-dessus de la vidéo */
    width: 100%;
}

/* Optionnel : ajouter un overlay sombre pour améliorer la lisibilité */
.experiences-home::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3); /* Ajustez l'opacité selon vos besoins */
    z-index: 0;
}

.split-screen-home .histoire-home {
	position: relative;
	display: flex;
	align-items: end;
	width: 50%;
	height: 100%;
	padding: 40px;
	background: var(--beige);
	color: var(--noir);
}

.split-screen-home .histoire-home .image-overlay-1 {
	position: absolute;
	top: 90px;
	left: 0px;
	width: 40vw; /* S'adapte au viewport */
	max-width: 400px;
	aspect-ratio: 373 / 476;
	transform: rotate(4.27deg);
	border: solid 8px var(--beige);
	overflow: hidden;
	z-index: 1;
}

.split-screen-home .histoire-home .image-overlay-2 {
	position: absolute;
	right: 50px;
	bottom: 90px;
	width: 40vw; /* S'adapte au viewport */
	max-width: 400px;
	aspect-ratio: 383 / 281;
	transform: rotate(-0.37deg);
	border: solid 8px var(--beige);
	overflow: hidden;
	z-index: 2;
}

.split-screen-home .histoire-home .image-overlay-1 img,
.split-screen-home .histoire-home .image-overlay-2 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

@media (max-width: 768px) {

	.maison-discover {
		height: 808px;
		padding: 20px;
	}

	.maison-discover h2 {
		font-size: 50px;
	}

	.split-screen-home {
		display: block;
		height: auto;
	}

	.split-screen-home .experiences-home {
		width: 100%;
		height: 400px;
		padding: 20px;
	}

	.split-screen-home .histoire-home {
		width: 100%;
		height: 400px;
		padding: 20px;
		overflow: hidden;
	}

	.split-screen-home .histoire-home .image-overlay-2 {
		right: -43px;
		bottom: 70px;
		width: 70vw;
		transform: rotate(-4.37deg);
	}

	.split-screen-home .histoire-home .image-overlay-1 {
		top: -21px;
		left: -30px;
		width: 60vw;
	}
}



/* Pages */

.page-page-content {
	padding: 80px 40px;
	background: var(--blanc);
}

@media (max-width: 768px) {
	.page-page-content {
		padding: 80px 24px;
	}
}

@media (max-width: 480px) {
	.page-page-content {
		padding: 80px 16px;
	}
}

.page-header {
	display: flex;
	flex-direction: column;
	row-gap: 30px;
	align-items: flex-start;
}

.page-header.white {
	padding: 80px 40px;
	background: var(--blanc);
}

@media (max-width: 768px) {
	.page-header.white {
		padding: 80px 24px;
	}
}

@media (max-width: 480px) {
	.page-header.white {
		padding: 80px 16px;
	}
}

.page-header .page-title {
	font-size: 56px;
	font-weight: 400;
	letter-spacing: 2.6px;
}

.page-header h2 {
	max-width: 850px;
	margin-bottom: 30px;
	font-size: 22px;
	font-weight: 100;
	line-height: 1.3;
	color: var(--corps)
}

a.classic {
    display: inline-block;
    width: auto;
	padding: 20px 40px;
	font-family: Geist;
    font-size: 10px;
    font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--noir);
	text-decoration: none;
	border: solid .5px #e4dcd3;
	transition: all .15s ease-in-out;
}

a.classic:hover {
	border: solid .5px var(--noir);
	transition: all .25s ease-in-out;
}

/*. Page Cuvée */

.page-cuvee-content {
	background: var(--beige);
}

.container-cuvee {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 100vh;
}

/* Left Panel */
.container-cuvee .left-panel {
	display: flex;
	align-items: center;
	padding: 80px 60px;
	flex-direction: column;
}

.container-cuvee .left-panel .fiche {
    margin-top: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: sticky;
    top: 100px; /* Distance depuis le haut de l'écran */
}

.container-cuvee .left-panel .fiche .main-infos {
	max-width: 500px;
}

.container-cuvee .product-title {
	font-size: 48px;
	font-weight: 400;
	letter-spacing: 2px;
	margin-bottom: 20px;
	color: #2c2c2c;
	text-align: center;
}

.container-cuvee .product-meta {
	font-family: Geist;
    font-size: 11px;
    font-weight: 400;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-align: center;
	text-transform: uppercase;
	color: var(--noir);
	margin-bottom: 50px;
	opacity: .5;
}

.container-cuvee .product-meta span {
	margin: 0 10px;
}

.container-cuvee .product-description {
	font-size: 18px;
	font-weight: 100;
	line-height: 1.4;
	color: #8b8b8b;
}

.container-cuvee p {
	margin-top: 0;
}

.container-cuvee .cta-section {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 80px;
	margin-bottom: 60px;
}

.container-cuvee .btn-primary {
	background-color: var(--noir);
	color: var(--blanc);
	padding: 20px 0;
	font-family: Geist;
    font-size: 10px;
    font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-align: center;
	text-transform: uppercase;
	border: solid .5px var(--noir);
	cursor: pointer;
	transition: all 0.3s ease;
	width: 100%;
	max-width: 376px;
	border-radius: 0;
}

.container-cuvee .btn-primary:hover {
	background: var(--beige);
	border: solid .5px var(--noir);
	color: var(--noir);
}

.container-cuvee .contact-link {
	text-align: center;
	font-family: Geist;
	font-size: 9px;
	font-weight: 300;
	letter-spacing: 1px;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--noir);
	margin-top: 14px;
	opacity: .5;
}

.accordion {
	width: 100%;
	margin-top: 2rem;
}

.accordion-item:not(:first-child) {
	border-top: solid .5px #EFE8E1;
}

.accordion-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 0;
	cursor: pointer;
	user-select: none;
}

.accordion-icon {
	width: 10px;
	height: 10px;
	position: relative;
	flex-shrink: 0;
}

.accordion-icon::before,
.accordion-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: .5px;
	background: var(--noir);
	transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.accordion-icon::before {
	transform: translate(-50%, -50%);
}

.accordion-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.accordion-item.active .accordion-icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.accordion-content .accordion-content-inner.medailles {
	display: flex;
	column-gap: 30px;
	overflow-x: auto;
	overflow-y: hidden;
	position: relative;
}

.accordion-content .accordion-content-inner.medailles::after {
	content: '';
	position: sticky;
	right: -1px;
	flex-shrink: 0;
	width: 60px;
	margin-left: -60px;
	background: linear-gradient(to right, transparent, var(--beige));
	pointer-events: none;
}

.accordion-content-inner {
	max-width: 450px;
	padding: 10px 0 48px 0;
	color: var(--text-secondary);
	font-family: Geist;
    font-size: 13px !important;
    font-weight: 300;
    letter-spacing: .35px;
    line-height: 1.55;
    display: block;
    color: #000000;
}

.accordion-content-inner p {
	opacity: .6;
}

.accordion-content .medaille {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	column-gap: 28px;
	padding: 28px 34px;
	font-family: Geist;
    font-size: 11px;
    font-weight: 400;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	background: var(--blanc);
	color: #B6B6B6;
}

@media (max-width: 768px) {

	.accordion-header {
		padding: 28px 0;
	}

	.accordion-content-inner {
		padding: 0 0 36px 0;
		font-size: 1rem;
	}
}

/* Right Panel */
.container-cuvee .right-panel {
	background-color: #e8e3dc;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

/* Desktop : right-panel sticky, left-panel scroll */
@media (min-width: 1025px) {
	.container-cuvee .right-panel {
		order: 2;
		position: sticky;
		top: 0;
		height: 100vh;
		align-self: flex-start;
	}
	.container-cuvee .left-panel {
		order: 1;
	}

	.right-panel .cuvee-images-swiper {
		width: 100%;
		height: 100vh;
	}

	.right-panel .cuvee-images-swiper .swiper-slide {
		height: 100%;
	}

	.right-panel .cuvee-images-swiper .swiper-slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	/* Pagination bullets desktop */
	.right-panel .cuvee-images-swiper .swiper-pagination {
		bottom: 16px;
	}

	.right-panel .cuvee-images-swiper .swiper-pagination-bullet {
		width: 6px;
		height: 6px;
		background: var(--noir);
		opacity: 0.25;
		border-radius: 50%;
	}

	.right-panel .cuvee-images-swiper .swiper-pagination-bullet-active {
		opacity: 1;
	}
}

/* Responsive */
@media (max-width: 1024px) {
	.container-cuvee {
		grid-template-columns: 1fr;
	}

	.container-cuvee .left-panel {
		padding: 60px 40px;
	}

	.container-cuvee .right-panel {
		min-height: 520px;
	}

	/* Mobile : carousel Swiper */
	.right-panel .cuvee-images-swiper {
		width: 100%;
		height: 520px;
	}

	.right-panel .cuvee-images-swiper .swiper-slide {
		height: 100%;
	}

	.right-panel .cuvee-images-swiper .swiper-slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	/* Arrows style identique au carousel front-page */
	.right-panel .cuvee-images-swiper .swiper-button-prev,
	.right-panel .cuvee-images-swiper .swiper-button-next {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 10;
	}

	.right-panel .cuvee-images-swiper .swiper-button-prev {
		left: 0px;
	}

	.right-panel .cuvee-images-swiper .swiper-button-next {
		right: 0px;
	}

	.right-panel .cuvee-images-swiper .swiper-button-prev::after,
	.right-panel .cuvee-images-swiper .swiper-button-next::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 12px;
		height: 12px;
		border-top: 2px solid var(--noir);
		border-right: 2px solid var(--noir);
	}

	.right-panel .cuvee-images-swiper .swiper-button-prev::after {
		transform: translate(-25%, -50%) rotate(-135deg);
	}

	.right-panel .cuvee-images-swiper .swiper-button-next::after {
		transform: translate(-75%, -50%) rotate(45deg);
	}

	.right-panel .cuvee-images-swiper .swiper-button-disabled {
		opacity: 0.3;
		cursor: default;
	}

	/* Pagination bullets */
	.right-panel .cuvee-images-swiper .swiper-pagination {
		bottom: 16px;
	}

	.right-panel .cuvee-images-swiper .swiper-pagination-bullet {
		width: 6px;
		height: 6px;
		background: var(--noir);
		opacity: 0.25;
		border-radius: 50%;
	}

	.right-panel .cuvee-images-swiper .swiper-pagination-bullet-active {
		opacity: 1;
	}
}

@media (max-width: 768px) {
	.container-cuvee .product-title {
		font-size: 36px;
	}

	.container-cuvee .left-panel {
		padding: 40px 20px;
	}

	.container-cuvee .image-top, 
	.container-cuvee .image-bottom {
		padding: 40px;
	}

	.container-cuvee .left-panel .fiche {
		margin-top: 0px;
	}
}

section.champagne-section {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: 1fr;
	align-items: center;
	justify-items: center;
	padding: 110px 0px;
	background: var(--blanc);
	border-bottom: solid 1px var(--beige);
}

.champagne-section .section-title {
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.5px;
    text-align: left;
    min-width: 280px;
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    color: #2c2c2c;
    margin: 0;
	text-align: center;
}

.champagne-section .products-container {
    display: flex;
    gap: 80px;
    flex: 1;
    justify-content: center;
    align-items: flex-start;
}

.champagne-section .product-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    max-width: 250px;
    text-decoration: none;
	text-align: center;
    color: inherit;
    transition: all .15s ease-in-out;
}

.champagne-section .bottle-image {
    width: 100%;
    aspect-ratio: 328 / 395;
    overflow: hidden;
    position: relative;
}

.champagne-section .bottle-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.champagne-section .product-title {
    font-size: 22px;
    font-weight: 400;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.5px;
    margin: 20px 0 0 0;
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    color: #2c2c2c;
}

.champagne-section span {
	position: relative;
	text-decoration: none;
    font-family: Geist;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    transition: opacity 0.3s ease;
    display: inline-block;
	color: var(--noir);
}

.champagne-section span:before {
	content:'';
	position: absolute;
	right: 0;
	bottom: -3px;
	width: 100%;
	height: 1px;
	background: var(--noir);
	transition: all .15s ease-in-out;
}

.champagne-section .product-card:hover span:before {
    width: 0%;
	transition: all .25s ease-in-out;
}

/* Nos champagnes */

/* Container principal */
.champagnes-detail {
    width: 100%;
}

.champagnes-detail__container {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

/* Card de cuvée */
.cuvee-card {
    display: flex;
    flex-direction: column;
}

.cuvee-card__media {
    width: 100%;
    height: 780px;
}

.cuvee-card__image {
    width: 100%;
    height: 100%; /* Remplit la hauteur du conteneur */
    object-fit: cover; /* Recadre l'image pour remplir sans déformation */
    display: block;
}

.cuvee-card__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    align-items: center; /* Centre horizontalement tous les éléments enfants */
    padding: 40px;
    text-align: center;
}

.cuvee-card__title {
	margin-bottom: 10px;
	max-width: 436px;
    font-size: 42px;
	font-weight: 300;
}

.cuvee-card__description {
    font-size: 1rem;
    line-height: 1.6;
    color: #666;
}

/* Desktop - 50/50 avec alternance */
@media (min-width: 768px) {
    .cuvee-card {
        flex-direction: row;
        align-items: center;
    }

    .cuvee-card__media,
    .cuvee-card__content {
        width: 50%;
    }

    /* Items impairs (1, 3, 5...) - Image à gauche */
    .cuvee-card:nth-child(odd) {
        flex-direction: row;
    }

    /* Items pairs (2, 4, 6...) - Image à droite */
    .cuvee-card:nth-child(even) {
        flex-direction: row-reverse;
    }
}

/* Mobile - Alternance image/meta et meta/image */
@media (max-width: 767px) {
    /* Items impairs (1, 3, 5...) - Image puis meta */
    .cuvee-card:nth-child(odd) {
        flex-direction: column;
    }

    /* Items pairs (2, 4, 6...) - Meta puis image */
    .cuvee-card:nth-child(even) {
        flex-direction: column;
    }

	.cuvee-card__content {
		margin-bottom: 60px;
	}

	.cuvee-card__title {
		max-width: 100%;
		font-size: 30px;
	}

	.cuvee-card__media {
		height: 480px;
	}
}

/* Expériences */

.experiences-list {
	padding: 80px;
	background: var(--beige);
}

@media (max-width: 1024px) {
	.experiences-list {
		padding: 60px 40px;
	}
}

@media (max-width: 768px) {
	.experiences-list {
		padding: 40px 24px;
	}
}

@media (max-width: 480px) {
	.experiences-list {
		padding: 32px 16px;
	}
}

.xp-result {
	padding: 0 40px 40px 40px;
	font-family: Geist;
	font-size: 12px;
	font-weight: 300;
	letter-spacing: .6px;
	background: var(--blanc);
}

@media (max-width: 768px) {
	.xp-result {
		padding: 0 24px 40px 24px;
	}
}

@media (max-width: 480px) {
	.xp-result {
		padding: 0 16px 40px 16px;
	}
}

.xp-result-meta {
	display: flex;
	justify-content: space-between;
	align-items: end;
}

@media (max-width: 768px) {
	.xp-result-meta {
		display: block;
	}
}

.xp-result .separator {
	width: 100%;
	height: .5px;
	margin-top: 20px;
	background: #EFE8E1;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .champagne-section {
        gap: 60px;
    }
    
    .champagne-section .products-container {
        gap: 50px;
    }
}

@media (max-width: 992px) {
    .champagne-section {
        flex-direction: column;
        gap: 60px;
    }
    
    .champagne-section .section-title {
        text-align: center;
    }
    
    .champagne-section .products-container {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .champagne-section .section-title {
        font-size: 36px;
    }
    
    .champagne-section .products-container {
        gap: 40px;
    }
    
    .champagne-section .bottle-image {
       width: 100%;
    	aspect-ratio: 328 / 395;
    }
    
    .champagne-section .product-title {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .champagne-section .products-container {
        flex-direction: column;
        align-items: center;
    }
}

/* === Section "Les dessous de la cuvée" - page cuvée === */

.dessous-cuvee-section {
	padding: 80px 0;
	background: var(--blanc);
}

.dessous-cuvee-inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 40px;
}

.dessous-cuvee-title {
	margin-bottom: 40px;
}

.dessous-cuvee-table {
	width: 100%;
	border-collapse: collapse;
}

.dessous-cuvee-table tr {
	border-top: solid .5px #EFE8E1;
}

.dessous-cuvee-table tr:last-child {
	border-bottom: solid .5px #EFE8E1;
}

.dessous-cuvee-table td {
	padding: 16px 0;
	vertical-align: top;
	font-family: Geist;
	font-size: 13px !important;
	font-weight: 300;
	letter-spacing: .35px;
	line-height: 1.55;
	opacity: .6;
}

.dessous-cuvee-table .dessous-label {
	width: 180px;
	font-weight: 500;
	color: var(--noir);
	white-space: nowrap;
}

@media (max-width: 600px) {
	.dessous-cuvee-section {
		padding: 60px 0;
	}

	.dessous-cuvee-inner {
		padding: 0 24px;
	}

	.dessous-cuvee-table .dessous-label {
		width: 120px;
		font-size: 0.8rem;
	}

	.dessous-cuvee-table td {
		font-size: 0.85rem;
		padding: 12px 10px;
	}
}

/* === Section "À découvrir également" - page cuvée === */

section.champagne-section.autres-cuvees-section {
    display: block;
}

.autres-cuvees-swiper {
    width: 100%;
}

/* Layout statique desktop (swiper non initialisé, ≥ 1280px) */
.autres-cuvees-swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    gap: 30px;
    flex-wrap: nowrap;
    transform: none !important;
}

.autres-cuvees-swiper:not(.swiper-initialized) .swiper-slide {
    flex: 1;
}

.autres-cuvees-swiper:not(.swiper-initialized) .product-card {
    max-width: none;
}

.autres-cuvees-swiper .swiper-wrapper {
	align-items: center;
	padding-bottom: 5px;
}

/* Slide titre */
.autres-cuvees-swiper .title-slide {
    align-items: center;
    justify-content: center;
}

.arrow-indic {
	margin-top: 40px;
	position: relative;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 12px;
	height: 12px;
	border-top: 1px solid var(--noir);
	border-right: 1px solid var(--noir);
}

.autres-cuvees-swiper .title-slide .section-title {
    text-align: center;
}

/* Swiper actif : padding latéral pour laisser entrevoir le slide suivant */
.autres-cuvees-swiper.swiper-initialized {
    overflow: hidden;
    padding: 0 40px;
    box-sizing: border-box;
}

.autres-cuvees-swiper.swiper-initialized .product-card {
    width: 100%;
    max-width: none;
}


@media (max-width: 480px) {
    .autres-cuvees-swiper.swiper-initialized {
        padding: 0 20px;
    }
}

.footer-help {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 80px 40px;
	text-align: center;
	border-top: solid 1px #EFE8E1;
}

.footer-help .baseline {
	margin: 6px 0 40px 0;
	font-family: Geist;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: .35px;
    line-height: 1.55;
    display: block;
    color: var(--noir);
}

.footer-help a.classic {
	border-color: var(--noir);
}

.footer-help a.classic:hover {
	border-color: #9d9388;
}

/* Page La Maison */

.page-maison-content .page-header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	row-gap: 30px;
}

.page-maison-content .page-header.white {
	padding: 120px 40px;
}

.page-maison-content .page-header .page-title {
	font-size: 56px;
	font-weight: 400;
	letter-spacing: 2.6px;
}

.page-maison-content .page-header h2 {
	max-width: 850px;
	margin-bottom: 30px;
	font-size: 22px;
	font-weight: 100;
	line-height: 1.3;
	color: var(--corps)
}

.video-player-block {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.video-player-block__cover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.video-player-block__overlay {
	position: absolute;
	inset: 0;
	background: black;
	opacity: 0;
	transition: opacity 1.2s ease;
	pointer-events: none;
}

.video-player-block:has(.video-player-block__btn:hover) .video-player-block__overlay {
	opacity: 0.3;
}

.video-player-block__btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.video-player-block__circle {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
}

.video-player-block__circle::before {
	content: '';
	position: absolute;
	inset: 0;
	border: solid 1px var(--blanc);
	border-radius: 50%;
	transition: transform 0.3s ease;
}

.video-player-block__circle svg {
	position: relative;
	z-index: 1;
	width: 38px;
	height: 38px;
	margin-left: 1px;
}

.video-player-block__btn:hover .video-player-block__circle::before {
	transform: scale(1.10);
}

/* Lightbox vidéo */
.video-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0s 0.35s;
}

.video-lightbox.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transition: opacity 0.35s ease, visibility 0s;
}

.video-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.88);
}

.video-lightbox__inner {
	position: relative;
	width: 90vw;
	max-width: 1200px;
	z-index: 1;
}

.video-lightbox__close {
	position: fixed;
	top: 24px;
	right: 24px;
	z-index: 2;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	transition: opacity 0.2s ease;
}

.video-lightbox__close:hover {
	opacity: .7;
}

.video-lightbox__close svg {
	width: 28px;
	height: 28px;
}

.video-lightbox__iframe-wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
	width: 100%;
	background: black;
}

.video-lightbox__iframe-wrapper.is-vertical {
	aspect-ratio: 9 / 16;
	width: auto;
	height: 85vh;
	margin: 0 auto;
}

.video-lightbox__iframe-wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.maison-stats {
	display: flex;
	justify-content: center;
	gap: 130px;
	padding: 120px 0;
	background: var(--blanc);
}

.maison-stats.border {
	border-top: solid .5px #EFE8E1;
}

.maison-stats .maison-stats__item {
	display: flex;
	flex-direction: column;
	text-align: center;
}

.maison-stats .maison-stats__item > *:first-child {
	margin-bottom: 10px;
}

.maison-stats .maison-stats__number  {
	font-size: 56px;
}

.maison-stats .maison-stats__label  {
	max-width: 190px;
	text-decoration: none;
	font-family: Geist;
    font-size: 11px;
    font-weight: 400;
	letter-spacing: 1.4px;
	line-height: 1.6;
	text-transform: uppercase;
	opacity: .6;
}

.vignes-couverture {
	padding: 0 0 100px 0;
	background: var(--blanc);
}

.vignes-couverture .img-wrapper {
	max-width: 1200px;
	height: 695px;
	margin: 0 auto;
	background: var(--blanc);
	overflow: hidden;
}

.vignes-couverture .img-wrapper img {
	object-fit: cover;
	object-position: center;
}

.maison-narrative {
	padding: 0 40px 120px 40px;
	background: var(--blanc);
}

.maison-narrative .title {
	margin-bottom: 40px;
	font-size: 56px;
	font-weight: 400;
	letter-spacing: 2.6px;
	text-align: center;
}

.maison-narrative .description {
	max-width: 850px;
	margin: 0 auto;
	font-size: 22px;
	line-height: 1.3;
	text-align: center;
	color: #696969;
}
.paragraph-break {
    display: block;
    height: 20px; /* Hauteur exacte de votre saut */
}


@media (max-width: 768px) {
	.hero-thumbnail.maison {
		height: 300px !important;
	}

	.video-player-block {
		aspect-ratio: 7 / 9;
	}

	.maison-stats {
		flex-direction: column;
		gap: 60px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.maison-stats .maison-stats__number {
    font-size: 38px;
}

	.caves-swiper .swiper-scrollbar {
		width: calc(100% - 150px) !important;
	}

	.vignes-couverture {
		padding-left: 20px;
		padding-right: 20px;
	}

	.vignes-couverture .img-wrapper {
		max-width: 1200px;
		height: auto;
		margin: 0 auto;
		background: var(--blanc);
		overflow: hidden;
	}
}

/* Caves Carousel Swiper
--------------------------------------------- */
.caves-carousel-wrapper {
	padding-bottom: 80px;
	background: var(--blanc);
}

.caves-swiper {
	width: 100%;
	overflow: visible;
	padding-bottom: 75px !important;
}

.caves-swiper .swiper-slide {
	width: 400px;
	height: 500px;
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.caves-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Padding sur la dernière slide */
.caves-swiper .swiper-slide:last-child {
	padding-right: 40px;
}

/* Scrollbar */
.caves-swiper .swiper-scrollbar {
	bottom: 0 !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: calc(100% - 300px) !important;
	max-width: 950px !important;
	height: 1.5px !important;
	background: rgba(0, 0, 0, 0.1);
}

.caves-swiper .swiper-scrollbar-drag {
	background: var(--noir);
	border-radius: 0;
}

/* Responsive */
@media (max-width: 768px) {
	.caves-carousel-wrapper {
		padding-bottom: 60px;
	}

	.caves-swiper .swiper-slide {
		width: 300px;
		height: 375px;
	}
}

@media (max-width: 480px) {
	.caves-swiper .swiper-slide {
		width: 260px;
		height: 325px;
	}
}

/* More Pages Section
---------------------------------------------- */

h2.partners {
	font-size: 46px;
	text-align: center;
	padding: 80px 20px;
	background: var(--blanc);
}

.more-pages {
	display: flex;
	background: var(--beige);
}

.more-pages__image {
	width: 50%;
	height: 520px;
	overflow: hidden;
	position: relative;
}

.more-pages__image img {
	position: absolute;
	top: -10%;
	left: 0;
	width: 100%;
	height: 120%;
	object-fit: cover;
	will-change: transform;
}

.more-pages__content {
	width: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
}

.more-pages__content h2 {
	margin-bottom: 10px;
	font-size: 26px;
	font-weight: 400;
	letter-spacing: 1.6px;
	text-align: center;
}

.more-pages__content p {
	max-width: 80%;
    font-family: Geist;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: .35px;
    line-height: 1.55;
    color: #9c9c98;
	text-align: center;
}

.more-pages__content a {
    margin-top: 30px;
}

.more-pages--reverse {
	flex-direction: row-reverse;
}

@media (max-width: 768px) {
	.more-pages {
		flex-direction: column;
	}

	.more-pages__image,
	.more-pages__content {
		width: 100%;
	}

	.more-pages__image {
		height: 400px;
	}

	.more-pages__image img {
		top: -7.5%;
		height: 115%;
	}

	.more-pages__content {
		padding: 60px 40px;
	}

	.more-pages__content h2 {
		font-size: 36px;
	}
}

/* Instagram section */

.instagram-section {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 180px 0;
	position: relative;
	overflow: hidden;
}

.instagram-section .instagram-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr 2fr 1.2fr 0.8fr;
	align-items: center;
	gap: 0 28px;
	max-width: 1600px;
	width: 100%;
	position: relative;
}

.instagram-section .grid-item {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
}

.instagram-section .grid-item.large {
	height: 85%;
}

.instagram-section .grid-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.instagram-section .grid-item:hover img {
	transform: scale(1.05);
}

/* Centre element with text */
.instagram-section .center-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
	text-align: center;
}

.instagram-section .logo {
	width: 70px;
	height: 70px;
	border-radius: 100px;
	overflow: hidden;
	margin-bottom: 20px;
}

.instagram-section h2 {
	font-size: 32px;
	font-weight: 300;
	margin-bottom: 6px;
	letter-spacing: 1px;
}

.instagram-section a.label {
	transition: all 0.3s ease;
}

.instagram-section a.label:hover {
	color: var(--noir);
	opacity: .6;
	transition: all 0.3s ease;
}

@media (max-width: 768px) {

	.instagram-section {
		padding: 0;
	}

	.instagram-section .instagram-grid {
    	display: block;
	}

	.instagram-grid .large,
	.instagram-grid .low {
		display: none;
	}

	.instagram-section .center-content {
		width: 100%;
	}

	.instagram-section .center-content h2 {
		margin-bottom: 20px;
	}
}

/* Footer */

.legal {
	padding: 30px;
	background: #fff;
	text-align: center;
}

.legal img {
	margin-bottom: 10px;
}

.legal-titre {
	margin-bottom: 10px;
	font-family: Geist;
    font-size: 10px;
    font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
    transition: opacity 0.3s ease;
    display: block;
}

.legal-desc p {
	margin: 0;
	font-family: Geist;
    font-size: 11px;
    font-weight: 300;
	letter-spacing: 1px;
	line-height: 1.35;
    transition: opacity 0.3s ease;
    display: block;
}

/* Footer Id */

footer .id-card {
	padding: 110px 0 40px 0;
	text-align: center;
	background: var(--noir);
	color: var(--blanc);
}

footer .id-card .logo {
	margin-bottom: 50px;
}

.address {
    margin-bottom: 16px;
}

.address p {
	margin: 0;
    line-height: 1.6;
}

.social {
    margin-bottom: 60px;
    animation: fadeIn 1.6s ease-out 0.7s both;
}

.instagram-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
	font-size: 18px;
    color: var(--blanc);
    text-decoration: none;
    transition: all 0.3s ease;
}

.instagram-icon:hover {
    color: var(--blanc);
    opacity: .6;
}

.badges {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
	margin-top: 50px;
}

.badge {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #ffffff;
	transition: all .20s ease-in-out;
}

.badge img {
    width: 40px;
    height: 40px;
    object-fit: cover;
}

.badge:hover {
	opacity: .6;
}

/* Footer Navigation */
.footer-nav {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 40px;
	border-top: solid 1px #242424;
	background: var(--noir);
	color: var(--blanc);
}

.footer-nav .copyright,
.footer-nav .langue {
	font-family: Geist;
    font-size: 11px;
    font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
    color: var(--blanc);
}

.footer-navigation {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	opacity: .6;
}

.nav-footer {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 40px;
}

.nav-footer li {
	margin: 0;
}

.nav-footer a {
	text-decoration: none;
	font-family: Geist;
    font-size: 10px;
    font-weight: 300;
	letter-spacing: 1.2px;
	text-transform: uppercase;
    transition: opacity 0.3s ease;
    display: block;
	color: var(--beige);
}

.nav-footer a:hover {
	opacity: 0.7;
}

/* Responsive Footer */
@media (max-width: 768px) {

	.legal-titre {
		line-height: 1.6;
	}

	.legal-titre p {
		line-height: 1.6;
	}

	footer .id-card {
		padding: 60px 20px 40px 20px;
	}

	footer .id-card .logo img {
		max-width: 260px;
		height: auto;
	}

	.footer-nav {
		flex-direction: column;
		gap: 20px;
		text-align: center;
		padding: 30px 20px;
	}

	.footer-navigation {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}

	.nav-footer {
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}
}

/* Contact */

.page-page-content.contact .page-header {
	margin: 60px 0 100px 0;
}

.contact-wrapper {
    display: flex;
    gap: 0;
    align-items: stretch;
}

.contact-infos {
    flex: 0 0 380px;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    text-align: center;
    border-right: 1px solid var(--beige);
    padding-right: 4rem;
	padding-top: 16px;
}

.contact-info-block {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.contact-info-label {
    font-family: Geist;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--noir);
    opacity: .6;
}

.contact-info-block p {
	font-size: 18px;
}

.contact-content {
    flex: 1;
    padding-left: 4rem;
}

.wpcf7 p label {
	font-family: Geist;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--noir);
    opacity: .6;
}

.wpcf7 .form-row p {
    display: flex;
    gap: 1rem;
}

.wpcf7 .form-row p label {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.wpcf7 .form-row p br {
    display: none;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
    background-color: #f5f3f0;
    border: none;
	margin-top: 10px;
    padding: 1.2rem 1.5rem;
    font-size: 1.1rem;
    width: 100%;
    box-sizing: border-box;
    outline: none;
    font-family: Cormorant Garamond;
    color: inherit;
	border-radius: 0;
	transition: all .15s ease-in-out;
}

.wpcf7 select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 3rem;
    cursor: pointer;
}

.wpcf7 .wpcf7-form-control-wrap:has(select) {
    position: relative;
    display: block;
}

.wpcf7 .wpcf7-form-control-wrap:has(select)::after {
    content: '';
    position: absolute;
    right: 1.5rem;
    top: calc(50% + 5px);
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    background-color: #eeece8;
	transition: all .25s ease-in-out;
}

.wpcf7 textarea {
    min-height: 200px;
    resize: vertical;
}

.wpcf7 input[type="submit"] {
    background: var(--noir);
	border: solid .5px var(--noir);
	border-radius: 0 !important;
	min-width: 180px;
    padding: 20px 40px;
	font-family: Geist;
    font-size: 10px;
    font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--blanc);
    cursor: pointer;
    float: right;
	transition: all .15s ease-in-out;
}

.wpcf7 input[type="submit"]:hover {
	background: var(--blanc);
	color: var(--noir);
    border: solid .5px var(--noir);
	transition: all .25s ease-in-out;
}

.wpcf7 .wpcf7-not-valid-tip {
	padding-top: 10px;
}

/* Base commune */
.wpcf7 .wpcf7-response-output {
    border: none !important;
	margin-top: 60px !important;
    padding: 1.2rem 1.5rem !important;
    font-family: Geist;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--noir);
    opacity: .6;
    margin-top: 1rem;
}

/* Erreur */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    background-color: #fdf0ec;
}

/* Succès */
.wpcf7 form.sent .wpcf7-response-output {
    background-color: #edf5f0;
}

/* Spam */
.wpcf7 form.spam .wpcf7-response-output {
    background-color: #f5f3f0;
}

.page-page-content .page-header.contact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	row-gap: 30px;
	padding-top: 100px;
}

.page-page-content .page-header.contact .page-title {
	font-size: 56px;
	font-weight: 400;
	letter-spacing: 2.6px;
}

.page-page-content .page-header.contact h2 {
	max-width: 850px;
	margin-bottom: 30px;
	font-size: 22px;
	font-weight: 100;
	line-height: 1.3;
	color: var(--corps)
}

@media (max-width: 768px) {
    .contact-wrapper {
        flex-direction: column;
        gap: 2rem;
    }

    .contact-infos {
        flex: none;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
        padding: 67px 0 40px 0;
        border: none;
		background: #F9F8F7;
    }

	.contact-content {
		padding-left: 0;
	}

	.wpcf7 input[type="submit"] {
		min-width: 100%;
	}

    .contact-info-block {
        flex: 0 0 calc(50% - 1rem);
    }
}

@media (max-width: 480px) {
    .contact-info-block {
        flex: 0 0 100%;
    }
}

/* 404 */

.error-404.not-found {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 210px 40px 210px 40px;
}

.error-404 .page-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	row-gap: 40px;
	padding-bottom: 30px;
}

.error-404 h1 {
	font-family: Cormorant Garamond;
	font-size: 40px;
	font-weight: 300;
}

.error-404 p {
	font-family: Geist;
    font-size: 14px;
    font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
    transition: opacity 0.3s ease;
    display: block;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Reveal Footer
--------------------------------------------------------------*/

/* Le footer se révèle en dessous du contenu au scroll */
#page {
	position: relative;
	z-index: 1;
	background: var(--beige);
	background-clip: content-box; /* Le padding-bottom sera transparent, laissant voir le footer */
	pointer-events: none; /* Le container ne bloque pas les clics sur le footer révélé */
}

#page * {
	pointer-events: auto; /* Tout le contenu à l'intérieur reste cliquable */
}

.site-footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 0;
	overflow: hidden; /* Clip le contenu pendant le parallax */
}

.site-footer > * {
	will-change: transform;
}


/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# WPML Language Switcher
--------------------------------------------------------------*/

/* Container du sélecteur de langue dans le menu */
.menu-item.wpml-ls-menu-item {
	position: relative;
}

.menu-item.wpml-ls-menu-item > a {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

/* Indicateur de dropdown */
.menu-item.wpml-ls-menu-item.menu-item-has-children > a::after {
	content: '';
	width: 5px;
	height: 5px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	margin-left: 4px;
	margin-bottom: 2px;
	transition: transform 0.3s ease;
}

.menu-item.wpml-ls-menu-item.menu-item-has-children.wpml-ls-open > a::after {
	transform: rotate(-135deg);
}

/* Box blanche qui englobe tout (li parent + dropdown) */
.menu-item.wpml-ls-menu-item.menu-item-has-children.wpml-ls-open {
	background: var(--blanc);
	padding: 16px 24px;
	margin: -16px -24px;
}

/* Texte devient noir quand ouvert */
.menu-item.wpml-ls-menu-item.menu-item-has-children.wpml-ls-open > a {
	color: var(--noir) !important;
}

/* Dropdown des langues - caché par défaut */
.menu-item.wpml-ls-menu-item > .sub-menu {
	position: static;
	padding: 0;
	margin: 0;
	background: transparent;
	list-style: none;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
}

/* Dropdown visible au clic */
.menu-item.wpml-ls-menu-item.wpml-ls-open > .sub-menu {
	max-height: 200px;
	padding-top: 12px;
}

/* Items du dropdown */
.menu-item.wpml-ls-menu-item > .sub-menu > li {
	margin: 0;
}

.menu-item.wpml-ls-menu-item > .sub-menu > li > a {
	display: block;
	padding: 10px 0;
	font-family: Geist;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--noir);
	text-decoration: none;
	text-align: left;
	transition: opacity 0.2s ease;
}

.menu-item.wpml-ls-menu-item > .sub-menu > li > a:hover {
	opacity: 0.6;
}

/* Langue active dans le dropdown */
.menu-item.wpml-ls-menu-item > .sub-menu > li.wpml-ls-current-language > a {
	opacity: 0.4;
	pointer-events: none;
}

/* Langue active dans le sélecteur FR / EN */
.nav-menu .language-link {
	display: inline;
}

.language-separator {
	margin: 0 4px;
}

.nav-menu .menu-item-language {
	display: flex;
	align-items: center;
}

.language-active {
	font-weight: 300;
}

.nav-menu .menu-item-language a.language-link {
	opacity: 0.5;
	transition: opacity 0.15s ease-in-out;
}

.nav-menu .menu-item-language a.language-link:hover {
	opacity: 0.8;
}

/* Modal menu - sélecteur de langue */
.modal .langue .wpml-ls-menu-item,
.modal-footer .langue {
	display: flex;
	align-items: center;
	gap: 15px;
}

.modal .langue a,
.modal-footer .langue a {
	font-family: Geist;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--noir);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.modal .langue a:hover,
.modal-footer .langue a:hover {
	opacity: 0.6;
}

/* Langue active dans la modale */
.modal .langue .wpml-ls-current-language a,
.modal-footer .langue .wpml-ls-current-language a {
	opacity: 0.4;
}

/* Footer - sélecteur de langue */
.footer-nav .langue .wpml-ls-menu-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.footer-nav .langue a {
	font-family: Geist;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--blanc);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.footer-nav .langue a:hover {
	opacity: 0.6;
}

.footer-nav .langue .wpml-ls-current-language a {
	opacity: 0.4;
}

/* Séparateur entre les langues (optionnel) */
.footer-nav .langue .wpml-ls-item:not(:last-child)::after {
	content: '/';
	margin-left: 12px;
	opacity: 0.3;
}

/* Style alternatif : sélecteur inline horizontal */
.wpml-ls-inline {
	display: flex;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wpml-ls-inline li {
	margin: 0;
}

.wpml-ls-inline a {
	font-family: Geist;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.wpml-ls-inline .wpml-ls-current-language a {
	opacity: 0.4;
	pointer-events: none;
}

.wpml-ls-inline li:not(:last-child)::after {
	content: '|';
	margin-left: 8px;
	opacity: 0.3;
}

/* Responsive */
@media (max-width: 768px) {
	.menu-item.wpml-ls-menu-item.menu-item-has-children.wpml-ls-open {
		padding: 12px 20px;
		margin: -12px -20px;
	}

	.menu-item.wpml-ls-menu-item > .sub-menu > li > a {
		padding: 8px 0;
	}
}

/* ================================================
   PARALLAX — PLUGIN LANCELOT ROYER EXPERIENCES
   ================================================ */

.lr-experience-image img {
	top: -10%; /* Centre l'image : 10% de débordement en haut et en bas */
	height: 120%;
	transition: none; /* Désactivé pour laisser le parallax JS gérer le transform */
	will-change: transform;
}

@media (max-width: 768px) {
	.lr-experience-image img {
		top: -7.5%;
		height: 115%;
	}
}

/* ====== COOKIE BANNER ====== */

#wpconsent-root::part(wpconsent-banner-body) {
    max-height: 100vh;
}



/* ================================================
   SF LA VIGNE
   ================================================ */

.sf-la-vigne {
	display: grid;
	grid-template-columns: 55fr 45fr;
	align-items: end;
	padding: 80px 40px;
	gap: 60px;
	background: var(--blanc);
}

.sf-la-vigne__image {
	aspect-ratio: 750 / 500;
	overflow: hidden;
}

.sf-la-vigne__image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.sf-la-vigne__texte h3 {
	font-family: Geist, sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--noir);
	margin: 0 0 28px;
}

.sf-la-vigne__texte p {
	font-family: Cormorant Garamond;
	font-size: 18px;
    font-weight: 100;
    line-height: 1.4;
    color: var(--noir);
	opacity: .75;
	margin: 0 0 16px;
}

.sf-la-vigne__texte p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.sf-la-vigne {
		grid-template-columns: 1fr;
		padding: 48px 24px;
		gap: 40px;
	}
}



/* ================================================
   BANNIERE PARALLAX
   ================================================ */

.banniere-parallax {
	position: relative;
	width: 100%;
	height: 970px;
	overflow: hidden;
}

.banniere-parallax__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	object-fit: cover;
	object-position: center;
	will-change: transform;
}

@media (max-width: 768px) {
	.banniere-parallax {
		height: 90vh;
		min-height: 300px;
	}

	.banniere-parallax__image {
		height: 115%;
	}
}

/* ================================================
   SAVOIR-FAIRE TROIS GRID
   ================================================ */

.sf-trois-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 80px 40px;
	background: var(--blanc);
}

.sf-trois-grid__item {
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.sf-trois-grid__item img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

@media (max-width: 768px) {
	.sf-trois-grid {
		grid-template-columns: 1fr;
	}
}

/* ================================================
   SAVOIR-FAIRE CTA
   ================================================ */

.sf-cta {
	padding: 120px 40px;
	text-align: center;
	background: var(--blanc);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

.sf-cta__title {
	font-family: Cormorant Garamond, serif;
	font-size: clamp(36px, 5vw, 64px);
	font-weight: 300;
	color: var(--noir);
	margin: 0;
	line-height: 1.1;
}

.sf-cta__text {
	font-family: Cormorant Garamond, serif;
	font-size: 22px;
    font-weight: 100;
    line-height: 1.3;
	color: var(--noir);
	opacity: 0.65;
	max-width: 850px;
	margin: 0;
}

.sf-cta__buttons {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
}

@media (max-width: 768px) {
	.sf-cta {
		padding: 80px 24px;
	}

	.sf-cta__buttons {
		flex-direction: column;
		align-items: center;
	}
}

/* ================================================
   SAVOIR-FAIRE CAROUSEL
   ================================================ */

.savoir-faire-carousel-section {
	background: var(--blanc);
	overflow: hidden;
	height: 100vh;
	display: flex;
	flex-direction: column;
}

/* Layout deux colonnes — occupe l'espace restant */
.sf-carousel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	padding: 40px;
	align-items: center;
	flex: 1;
	min-height: 0;
	position: relative;
}

/* Colonne gauche : images empilées */
.sf-images {
	display: grid;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	width: 100%;
	max-height: 100%;
	align-self: center;
}

.sf-image {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.sf-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Colonne droite */
.sf-right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	height: 100%;
}

/* Textes empilés */
.sf-texts {
	display: grid;
	justify-content: center;
	align-items: center;
}

.sf-text-slide {
	max-width: 450px;
	grid-column: 1;
	grid-row: 1;
}

.sf-title {
	font-family: Geist, sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--noir);
	margin: 0 0 28px;
}

.sf-text {
	font-family: Cormorant Garamond;
	font-size: 18px;
    font-weight: 100;
    line-height: 1.4;
    color: var(--noir);
	opacity: .75;
	margin: 0;
}

/* Navigation */
.sf-navigation {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 24px;
	z-index: 10;
}

.sf-prev,
.sf-next {
	background: none;
	border: none;
	padding: 0;
	font-family: Geist, sans-serif;
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--noir);
	cursor: pointer;
	transition: opacity 0.2s ease;
	flex-shrink: 0;
}

.sf-prev:hover,
.sf-next:hover {
	opacity: 0.5;
}

.sf-prev.is-disabled,
.sf-next.is-disabled {
	opacity: 0.25;
	pointer-events: none;
}

.sf-counter {
	font-family: Geist, sans-serif;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--noir);
	display: flex;
	align-items: center;
	gap: 6px;
}

.sf-separator {
	opacity: 0.35;
}

.sf-total {
	opacity: 0.35;
}

/* Step bar */
.sf-steps {
	flex-shrink: 0;
	display: flex;
	gap: 40px;
	align-items: stretch;
	border-bottom: solid 1px var(--beige);
	overflow: hidden;
	padding: 20px 0px 0px 40px;
}

.sf-steps-header {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding-right: 0;
	padding-bottom: 16px;
}

.sf-steps-eyebrow {
	font-family: Geist, sans-serif;
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--noir);
	white-space: nowrap;
}

.sf-steps-scroll {
	display: flex;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding-right: 40px;
}

.sf-steps-scroll::-webkit-scrollbar {
	display: none;
}

.sf-steps-scroll {
	cursor: grab;
}

.sf-steps-scroll:active {
	cursor: grabbing;
}

.sf-step-tab {
	flex-shrink: 0;
	background: none;
	border: none;
	border-bottom: 1.5px solid transparent;
	border-radius: 0;
	padding: 20px 20px 34px 20px;
	font-family: Geist, sans-serif;
	font-size: 10px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(12, 12, 12, 0.35);
	cursor: pointer;
	transition: color 0.25s ease, border-color 0.25s ease;
	white-space: nowrap;
}

.sf-step-tab:hover {
	color: var(--noir);
}

.sf-step-tab.is-active {
	color: var(--noir);
	border-bottom-color: var(--noir);
}

/* Responsive tablette */
@media (max-width: 1024px) {
	.sf-carousel {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 60px 80px 40px;
	}

	.sf-right {
		align-items: center;
		text-align: center;
		padding-top: 10px;
	}

	.sf-title,
	.sf-text {
		text-align: left;
	}

	.sf-texts {
		padding-top: 40px;
	}
}

/* Responsive mobile */
@media (max-width: 768px) {
	.savoir-faire-carousel-section {
		height: auto;
	}

	.sf-carousel {
		padding: 50px 24px 32px;
		gap: 24px;
	}

	.sf-images {
		aspect-ratio: 750 / 500;
	}

	.sf-right {
		height: auto;
	}

	.sf-navigation {
		position: static;
		transform: none;
		left: auto;
		bottom: auto;
	}

	.sf-text-slide:not(.is-active) {
		display: none;
	}
}

.otgs-development-site-front-end {
	display: none;
}

.grecaptcha-badge {
	visibility: hidden !important;
}

.maison-discover .titre-home-bloc h3,
.split-screen-home .titre-home-bloc h3,
.maison-discover .titre-home-bloc a ,
.split-screen-home .titre-home-bloc a {
	z-index: 2;
	font-size: 13px;
	font-weight: 300;
}

.caves-carousel-wrapper .swiper-button-prev {
	color: black;
	left: 50px;
	background: white;
	width: 50px;
	height: 50px;
	border-radius: 100px;
	transition: all .15s ease-in-out;
}

.caves-carousel-wrapper .swiper-button-prev:after {
	font-size: 18px;
	margin-left: -2px;
}

.caves-carousel-wrapper .swiper-button-next {
	color: black;
	right: 50px;
	background: white;
	width: 50px;
	height: 50px;
	border-radius: 100px;
	transition: all .15s ease-in-out;
}

.caves-carousel-wrapper .swiper-button-next:after {
	font-size: 18px;
	margin-left: 2px;
}

.caves-carousel-wrapper .swiper-button-disabled {
    opacity: 0 !important;
	transition: all .15s ease-in-out;
}

.split-screen-home .histoire-home .titre-home-bloc a,
.histoire-home a:before {
	color: #000 !important;
}