/*
Theme Name: La Ferme de Chardonnet
Author: Gemini Partner
Description: ThÃ¨me Ã©lÃ©gant pour Ã©picerie fine avec WooCommerce.
Version: 1.0
Text Domain: fermechardonnet
*/

/* DÃ©cale le menu fixe vers le bas uniquement si l'admin bar est prÃ©sente */
.admin-bar .sticky-nav {
    top: 32px;
}

/* Ajustement pour les petits Ã©crans (l'admin bar passe Ã  46px sur mobile) */
@media screen and (max-width: 782px) {
    .admin-bar .sticky-nav {
        top: 46px;
    }
}

:root {
	--primary: #3a4d31;
	--gold-accent: #cfa05e;
	--wood-brown: #8c7056;
	--bg-light: #f9f7f2;
	--dark-wood: #1a1613;
	
	--radius:8px;
}

@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('/wp-content/themes/fermechardonnet/assets/font/BeVietnamPro-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/themes/fermechardonnet/assets/font/PlayfairDisplay-BoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/themes/fermechardonnet/assets/font/PlayfairDisplay-SemiBoldItalic.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/themes/fermechardonnet/assets/font/PlayfairDisplay-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/themes/fermechardonnet/assets/font/PlayfairDisplay-Italic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/themes/fermechardonnet/assets/font/PlayfairDisplay-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/themes/fermechardonnet/assets/font/PlayfairDisplay-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}



body {
	font-family: "Be Vietnam Pro", sans-serif;
	background-color: var(--bg-light);
	color: #333;
}

.headline{
	color: var(--wood-brown);
	letter-spacing: 0.2em;
}
h2{
	font-size:26px;
}
a.link-primary{
	color:var(--wood-brown) !important;
}

h1, h2, h3, .font-serif {
	font-family: "Playfair Display", serif;
}

@media (min-width: 992px) {
	.home-hero-content {
		margin-top:170px;
	}
}

/* Hero Section Custom */
.hero-section {
	height: 100vh;
	background: linear-gradient(rgba(26, 22, 19, 0.4), rgba(26, 22, 19, 0.6)), 
		url('/wp-content/themes/fermechardonnet/assets/image/bg-4.jpg') center/cover;
	display: flex;
	flex-direction: column;
	color: white;
    width: 100%;
	
	.btn-luxury {
		padding: 15px 40px;
		font-size: 0.75rem;
		font-weight: bold;
		text-transform: uppercase;
		letter-spacing: 0.2em;
		border: none;
		transition: 0.3s;
	}

	.btn-luxury:hover {
		background-color: var(--gold-accent);
		color: white;
	}
}

.navbar-nav li a {
    color: white !important;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin: 0 15px;
    transition: color 0.3s;
    text-decoration: none;
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
}

.navbar-nav li a:hover {
    color: var(--gold-accent) !important;
}

/* Style pour la page active */
.navbar-nav li.current-menu-item a {
    color: var(--gold-accent) !important;
    font-weight: 500;
}

header {

	@media(max-width:991px) {
		&.sticky-nav.scrolled {
			padding-top:12px !important;
			padding-bottom:12px !important;
		}
		> div {
			display:flex;
			justify-content:center;
			padding:0 16px;
			.ecommerce-links {
				order:1;
				position:static;
				flex-direction:column;
				height:auto;
				padding: 2px 4px;
				border:none;
				margin-top:0;
				align-items: start;
				margin:0 !important;
				width:10vw;
				span {
					display:none;
				}
			}
			> a {
				order:2;
				img {
					height:23vw !important;
				}
			}
			.navbar-container {
				order:3;
				width:10vw;
				margin:0 !important;
				display:flex;
				.navbar-toggler {
					padding:0;
					border:none;
					svg {
						fill:#fff;
						height:30px;
					}
				}
			}
		}
		
		.navbar-nav .menu-item a{
			font-size:1rem;
		}
	}
	
	
	@media (min-width: 992px) {
		.navbar-toggler {
			display:none;
		}
		.offcanvas.offcanvas-start {
			position: static;
			visibility: visible;
			transform: none;
			background-color: transparent !important;
			display: block;
			width: auto;
			height: auto;
			border:none;
		}
		.offcanvas-header { display: none; }
		.offcanvas-body {
			display:flex;
			justify-content:center;
			align-items:center;
			padding:0;
			flex-grow:0;
			gap:30px;
		}
		.navbar-nav{
			display:flex;
			justify-content:center;
			flex-direction:row;
		}
	}
	@media (max-width: 992px) {
		.offcanvas {
			position: fixed !important;
			top: 0 !important;
			bottom: 0 !important;
			height: 100vh !important;
			z-index: 1060; /* Doit être supérieur au z-index du header sticky */
			background-color:var(--dark-wood) !important;
		}
		.offcanvas-backdrop {
			z-index: 1050;
		}
	}

	.social-links{
		display:flex;
		gap:10px;
		svg {
			height:20px;
			&:hover {
				path {
					fill:var(--gold-accent) !important;
				}
			}
		}
	}
	@media (max-width: 992px) {
		.social-links{
			gap:30px;
			svg {
				height:30px;
			}
		}
	}
	
	.ecommerce-links{
		position:absolute;
		top:0;
		right:30px;
		display:flex;
		justify-content:center;
		gap:12px;
		border:1px solid #514d49;
		padding:4px 6px;
		height:40px;
		border-radius:20px;
		a {
			color:#fff;
			text-decoration:none;
			font-size:12px;
			display:block;
		}
		svg, svg path {
			fill:#fff !important;	
			height:24px;
		}
		a:hover {
			color:var(--gold-accent);
			svg, svg path {
				fill:var(--gold-accent) !important;	
			}
			.count{
				background-color:var(--gold-accent);
			}
		}
		.account-link{
			display:flex;
			align-items: center;
		}
		.account-link svg {
			margin-right:2px;
		}
		.cart-link-container{
			display:flex;
			align-items:center;
		}
		.cart-link{
			display:inline-block;
			position:relative;
			padding-right:10px;
		}
		.count{
			position:absolute;
			top:0;
			right:0;
			display:block;
			background-color:#fff;
			color:#000;
			width:16px;
			height:16px;
			border-radius:50%;
			font-size:12px;
		}
	}
}

main {
	a {
		color:var(--dark-wood);
	}
}

/* --- STRUCTURE DE BASE --- */
.wp-block-group {
	max-width: var(--wp--style--global--content-size);
    margin-left: auto;
    margin-right: auto;

	&.alignwide {
		max-width: var(--wp--style--global--wide-size);
	}
	&.alignfull {
		max-width: none;
	}
}
@media(max-width:767px) {
	.wp-block-group {
		margin-left:10px;
		margin-right:10px;
		&.alignfull {
			margin-left:0;
			margin-right:0;
		}
	}
}

.feature-icon svg {
	fill:var(--gold-accent);
	height:30px;
	margin-bottom:10px;
}

.product-card img {
	transition: transform 0.8s ease;
}

.product-card:hover img {
	transform: scale(1.05);
}

.section-title-underline {
	width: 80px;
	height: 1px;
	background-color: var(--wood-brown);
	margin: 20px auto;
}

.wp-block-heading,
.woocommerce .related.products h2 {
	font-family: "Playfair Display", serif;
	&:after {
	  content: "";
	  display: block;
	  width: 150px;
	  height: 2px;
	  background: var(--gold-accent);
	  margin-top:20px;
	  margin-bottom:30px;
	  border-radius: 2px;
	}
	&.has-text-align-center:after{
		margin-left:auto;
		margin-right:auto;
	}
	&.has-text-align-right:after{
		margin-left:auto;
	}
}
h1.wp-block-heading,
.woocommerce .related.products h2{
	text-align:center;
}
h1.wp-block-heading:after{
	margin-left:auto;
	margin-right:auto;
	margin-bottom:40px;
}
h2.wp-block-heading{
	font-size:26px;
}
.woocommerce .related.products h2:after{
	margin-left:auto;
	margin-right:auto;
}

.btn,
.wp-block-button__link {
	border:none;
	background-color:var(--dark-wood);
    color: white;
	border-radius:var(--radius);
	padding:10px 20px;
	transition: background-color 0.2s ease-in-out;
	&:hover{
		background-color:var(--gold-accent) !important;
	}
}

/*
h2{
}
h1, h2, h3, .font-serif {
}
h1.wp-block-heading{
	text-align:center;
}
h1.wp-block-heading,
h2.wp-block-heading,
.woocommerce .related.products h2{
	margin-bottom:40px;
	position: relative;
}
h1.wp-block-heading:after,
h2.wp-block-heading:after,
.woocommerce .related.products h2:after {
  content: "";
  display: block;
  width: 150px;
  height: 2px;
  background: var(--gold-accent);
  margin-top:20px;
  border-radius: 2px;
}
.wp-block-heading.has-text-align-center:after{
  margin-left: auto;
  margin-right: auto;
}
.wp-block-heading.has-text-align-right:after{
	margin-left:auto;
}
h1.wp-block-heading.text-start:after,
h2.wp-block-heading.text-start:after {
  margin: 20px 0 0;
}
*/


/*----------------------------------------------
 * PARTENAIRES
----------------------------------------------*/ 
.partner-img-wrapper {
	background-color: #ffffff;
	border-radius: var(--radius); /* Coins arrondis pour le côté moderne */
	padding: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 300px; /* Hauteur fixe pour l'uniformité */
	transition: transform 0.3s ease;
}

.partner-img-wrapper img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain; /* L'image ne sera jamais déformée et restera dans le cadre */
}

/*----------------------------------------------
 * FOOTER
----------------------------------------------*/ 
.footer {
	background-color: var(--dark-wood);
	color: #aaa;
	padding: 80px 0 40px;
	a {
		color: #aaa;
		text-decoration:none;
		&:hover{
			color:#fff;
		}
	}
}

.sticky-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10500;
    transition: all 0.4s ease-in-out;
    background-color: transparent;
}

/* Style au scroll */
.scrolled-default{
	position: sticky;
}
.sticky-nav.scrolled {
    background-color: rgba(26, 22, 19, 0.98) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--gold-accent);
}

/* Animation du logo (image) au scroll */
.sticky-nav img {
    transition: height 0.4s ease-in-out;
}

.sticky-nav.scrolled img,
.scrolled-default img {
    height: 60px !important; /* Le logo rÃ©trÃ©cit au scroll */
}

/* On s'assure que le carousel prend tout l'Ã©cran */
#heroCarousel {
    top: 0;
    left: 0;
}

/* Gestion des z-index */
.z-0 { z-index: 0; }
.z-1 { z-index: 1; }

/* Transition plus douce pour le fondu (facultatif) */
.carousel-fade .carousel-item {
    transition-duration: 1.5s; /* Ralentit l'effet de fondu */
}

/* Animation de zoom lÃ©ger sur les images (effet Ken Burns discret) */
.carousel-item active div {
    animation: zoomEffect 10s infinite alternate;
}

@keyframes zoomEffect {
    from { transform: scale(1); }
    to { transform: scale(1.1); }
}

.woocommerce-page .woocommerce {
	max-width: var(--wp--style--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

.woocommerce {

	ul.products:before{
		display:none;
	}
	ul.products {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 20px;
		li.product {
			width:100% !important;
			margin:0 !important;
			border-radius:var(--radius);
			padding-bottom:20px;
			text-align:center;
			margin-bottom: 10px;
			img {
				border-radius:var(--radius);
			}
			.woocommerce-loop-product__title {
				text-align:center;
				margin: 0 0 6px 0;
				padding:0 10px;
				font-weight: 500;
				line-height: 1.2;
				color: #333;
				font-family: "Playfair Display", serif;
				font-size: 1.25rem;
			}
			.price {
				text-align:center;
				.woocommerce-Price-amount{
					font-family: "Be Vietnam Pro", sans-serif;
					font-size: 14px;
					color:rgba(33, 37, 41, 0.75);
				}
			}
			.button {
			    margin-top: 0;
				font-size:12px;
			}
		}
	}
}
@media(max-width:639px) {
	.woocommerce {
		ul.products {
			grid-template-columns: repeat(2, 1fr);
		}
	}
}

/* Style de base des cartes d'univers */
.category-card {
    position: relative;
    height: 500px;
    display: block;
    overflow: hidden;
    text-decoration: none;
    z-index: 0;
}

/* Image de fond avec zoom */
.category-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 1.5s ease-out;
    z-index: -2;
}
/*
.category-card:hover .category-img {
    transform: scale(1.1);
}
*/
/* Dégradé sombre */
.category-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.8) 100%);
    z-index: -1;
}

/* Contenu positionné en bas */
.category-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}

/* Label animé (glisse vers le haut) */
.category-label {
    font-size: 0.65rem;
    opacity: 0;
    transform: translateY(-15px);
    transition: all 0.5s ease-out 0.1s;
}

.category-card:hover .category-label {
    opacity: 1;
    transform: translateY(0);
}

.category-card h3 {
    transition: color 0.3s ease;
}

.category-card:hover h3 {
    color: var(--gold-accent) !important;
}

/* Bordure fine interne qui apparaît */
.category-border {
    position: absolute;
    inset: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    opacity: 0;
    transform: scale(0.95);
    transition: all 0.5s ease;
    pointer-events: none;
}

.category-card:hover .category-border {
    opacity: 1;
    transform: scale(1);
}

@media(max-width:767px) {
	.category-card {
		height: 300px;
	}
}

/* Animation de la flèche dans le lien */
.link-hover-gold:hover {
    color: var(--gold-accent) !important;
}

.link-hover-gold:hover svg {
    transform: translateX(5px);
}

.link-hover-gold svg {
    transition: transform 0.3s ease;
}


/* Configuration du scroll horizontal */
.event-scroll-container {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    padding-left: 1rem;
    margin-left: -1rem;
}

.event-scroll-container::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* Style de la carte d'événement */
.event-card {
    min-width: 85vw; /* Mobile : presque toute la largeur */
    background-color: #211d19;
    border: 1px solid rgba(255, 255, 255, 0.05);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s ease;
}

@media (min-width: 576px) {
    .event-card { min-width: 400px; }
}

@media (min-width: 768px) {
    .event-card { min-width: 350px; }
    .event-scroll-container {
        padding-left: 0;
        margin-left: 0;
    }
}

.event-card:hover {
    border-color: rgba(207, 160, 94, 0.3);
}

/* Zoom Image sur Hover */
.event-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.7s ease;
}

.event-card:hover .event-img {
    transform: scale(1.05);
}

/* Hover sur le titre */
.event-card:hover .event-title-hover {
    color: var(--gold-accent) !important;
}

.date-badge {
    min-width: 60px;
}

/* Animation Zoom Image */
.group-product:hover .product-img-zoom {
    transform: scale(1.05);
}

/* Affichage Bouton Ajout au Panier */
.product-action-overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.4), transparent);
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.group-product:hover .product-action-overlay {
    opacity: 1 !important;
    transform: translateY(0);
}

/* Customisation du bouton WooCommerce pour ressembler au design */
.group-product .add_to_cart_button, 
.group-product .product_type_variable {
    background: white !important;
    color: #333 !important;
    border-radius: 50px !important;
    font-size: 11px !important;
    font-weight: bold !important;
    text-transform: uppercase;
    padding: 10px 20px !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    display: block;
    width: fit-content;
    margin: 0 auto;
}

.group-product .add_to_cart_button:hover {
    background: #cfa05e !important;
    color: white !important;
}

/* Grille et catégories */
.shop-categories a {
    display: block;
    padding: 8px 12px;
    color: #666;
    text-decoration: none;
    font-size: 0.9rem;
    border-left: 2px solid transparent;
    transition: all 0.2s;
}

.shop-categories .current-cat a {
    color: #cfa05e;
    font-weight: bold;
    background: rgba(207, 160, 94, 0.05);
    border-left-color: #cfa05e;
}

.object-fit-cover { object-fit: cover; }
.transition-transform { transition: transform 0.7s ease-out; }


.glide__arrow {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 2px solid #333;
  background-color: white;
  
  /* Paramètres du background */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px; /* Contrôle la taille de la flèche */
  
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Flèche Gauche */
.glide__arrow--left {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E");
}

/* Flèche Droite */
.glide__arrow--right {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
}

/* Effet au survol : on change la couleur du fond et de la bordure */
.glide__arrow:hover {
  border-color: #333;
}