/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Description: Theme enfant de Kadence pour ma-gastronomie.com. Transcription fidele de la maquette validee (Landing La Gastronomie de Jeremy).
Author: La Gastronomie de Jeremy
Template: kadence
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kadence-child
*/

/* ==========================================================================
   Direction : Le Potager du Chef
   Transcription de la maquette validee par le client.
   Les couleurs et les familles de police viennent de la palette globale
   Kadence (Personnaliser > Couleurs et Typographie). Ce fichier porte les
   valeurs que les blocs ne savent pas exprimer : echelles fluides, aplats
   d'attente des photos, apparitions au defilement.
   ========================================================================== */

:root {
	--gdj-bg: #FAF4E6;
	--gdj-surface: #EFE6D0;
	--gdj-ink: #2C2A20;
	--gdj-ink-muted: #4A4736;
	--gdj-ink-subtle: #6E6B57;
	--gdj-brand: #565A2E;
	--gdj-brand-deep: #3F4322;
	--gdj-accent: #BC5A34;
	--gdj-accent-hover: #A34C2A;
	--gdj-accent-soft: #E7B99E;
	--gdj-on-dark-muted: #C9C7A8;
	--gdj-hairline: rgba(86, 90, 46, 0.12);
	--gdj-hairline-strong: rgba(86, 90, 46, 0.3);
	--gdj-header-h: 92px;
}

/* --------------------------------------------------------------------------
   1. Navigation par ancres
   -------------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
}

/* L'en-tete est colle : sans cette reserve, le titre de la section visee
   se retrouve masque dessous a l'arrivee sur l'ancre. */
[id] {
	scroll-margin-top: var(--gdj-header-h);
}

/* --------------------------------------------------------------------------
   2. Echelles typographiques fluides
   La maquette fait varier les tailles avec la largeur de la fenetre plutot
   qu'a des seuils fixes : la transition est continue, sans saut.
   -------------------------------------------------------------------------- */

.gdj-h1 {
	font-size: clamp(42px, 6vw, 76px) !important;
	line-height: 1.02 !important;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.gdj-h2 {
	font-size: clamp(32px, 4vw, 46px) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.gdj-lead {
	font-size: clamp(16px, 1.5vw, 19px) !important;
	line-height: 1.7 !important;
}

/* Label de section : petit, capitales, tres interlettre. */
.gdj-eyebrow {
	font-size: 12px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
	font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   3. Emplacements photo
   Aplat raye au ratio de la photo definitive : la place est reservee des le
   premier rendu, donc la page ne saute pas quand l'image arrive.
   -------------------------------------------------------------------------- */

.gdj-slot {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 24px;
	font-size: 11px;
	letter-spacing: 0.06em;
	line-height: 1.6;
	color: #8A8265;
	background-color: #E7DEC6;
	background-image: repeating-linear-gradient(
		135deg,
		#E7DEC6 0,
		#E7DEC6 18px,
		#EFE7D2 18px,
		#EFE7D2 36px
	);
	border: 1px solid var(--gdj-hairline);
	border-radius: 8px;
}

.gdj-slot--portrait {
	aspect-ratio: 4 / 5;
	border-radius: 6px;
	border-color: rgba(86, 90, 46, 0.18);
	background-image: repeating-linear-gradient(
		135deg,
		#E7DEC6 0,
		#E7DEC6 20px,
		#EFE7D2 20px,
		#EFE7D2 40px
	);
}

.gdj-slot--card {
	aspect-ratio: 3 / 2;
	border: 0;
	border-radius: 0;
	background-image: repeating-linear-gradient(
		135deg,
		#E2D9BF 0,
		#E2D9BF 18px,
		#EAE1C8 18px,
		#EAE1C8 36px
	);
}

.gdj-slot--square {
	aspect-ratio: 1 / 1;
}

/* --------------------------------------------------------------------------
   4. Heros
   -------------------------------------------------------------------------- */

.gdj-hero {
	position: relative;
	overflow: hidden;
	background-image: repeating-linear-gradient(
		135deg,
		#403820 0,
		#403820 22px,
		#463E24 22px,
		#463E24 44px
	);
}

/* Voile progressif : dense a gauche pour porter le texte, transparent a
   droite pour laisser respirer la photo une fois posee en fond. */
.gdj-hero > .kt-row-layout-overlay {
	background-image: linear-gradient(
		90deg,
		rgba(38, 34, 20, 0.86) 0%,
		rgba(38, 34, 20, 0.62) 48%,
		rgba(38, 34, 20, 0.32) 100%
	) !important;
}

.gdj-hero-content {
	margin-inline-end: auto;
	/* Le texte n'occupe que la moitie gauche : la photo de fond reste visible a
	   droite. (Le max-width porte par le bloc colonne n'est pas rendu par Kadence.) */
	max-width: 560px;
}

/* Le bloc bouton du hero ne rend pas sa marge : on la pose ici pour aerer le
   CTA du texte au-dessus. */
.gdj-hero-content .wp-block-kadence-advancedbtn {
	margin-top: 40px;
}

/* --------------------------------------------------------------------------
   5. Etiquettes de la section A propos
   -------------------------------------------------------------------------- */

.gdj-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.gdj-tag {
	padding: 8px 16px;
	border: 1px solid var(--gdj-hairline-strong);
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--gdj-brand);
}

/* --------------------------------------------------------------------------
   6. Coordonnees
   Intitule de largeur fixe pour que les valeurs s'alignent verticalement.
   -------------------------------------------------------------------------- */

.gdj-contact-line {
	display: flex;
	align-items: baseline;
	gap: 14px;
}

.gdj-contact-line + .gdj-contact-line {
	margin-top: 18px;
}

.gdj-contact-label {
	flex: none;
	width: 96px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 15px;
	color: var(--gdj-accent);
}

.gdj-contact-value {
	font-size: 16px;
	color: var(--gdj-ink);
	word-break: break-word;
}

/* --------------------------------------------------------------------------
   7. Apparition au defilement
   Les blocs montent de 18px en se revelant, une seule fois. L'etat de
   depart n'est applique que si le script a pu prendre la main : sans lui,
   le contenu reste visible au lieu de disparaitre.
   -------------------------------------------------------------------------- */

.gdj-reveal-ready .gdj-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.gdj-reveal-ready .gdj-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Cascade : chaque element d'une meme rangee part legerement apres le
   precedent, ce qui donne le sens de lecture. */
.gdj-reveal-ready .gdj-reveal[data-delay="1"] { transition-delay: 0.07s; }
.gdj-reveal-ready .gdj-reveal[data-delay="2"] { transition-delay: 0.14s; }
.gdj-reveal-ready .gdj-reveal[data-delay="3"] { transition-delay: 0.21s; }

@keyframes gdjHeroUp {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: none; }
}

.gdj-hero-content {
	animation: gdjHeroUp 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

/* L'utilisateur qui a demande moins d'animations dans son systeme obtient
   une page entierement statique, sans exception. */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}

	.gdj-reveal-ready .gdj-reveal {
		opacity: 1;
		transform: none;
	}
}

/* --------------------------------------------------------------------------
   8. En-tete colle
   -------------------------------------------------------------------------- */

#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start),
.mobile-header-wrap .kadence-sticky-header.item-is-fixed:not(.item-at-start) {
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

/* Logo typographique : le nom en olive, la signature en italique terre cuite. */
.gdj-logo {
	display: inline-block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 600;
	font-size: 23px;
	line-height: 1.05;
	letter-spacing: 0.01em;
	white-space: nowrap;
	color: var(--gdj-brand);
}

.gdj-logo em {
	font-style: italic;
	color: var(--gdj-accent);
}

/* --------------------------------------------------------------------------
   9. Grilles de section
   La maquette laisse les colonnes se replier d'elles-memes en fonction de la
   place disponible, sans palier fixe : chaque colonne reclame une largeur
   minimale, et la grille retire une colonne des qu'elle ne tient plus.
   -------------------------------------------------------------------------- */

.gdj-grid > .kt-row-column-wrap {
	display: grid !important;
	gap: 28px;
}

.gdj-grid--split > .kt-row-column-wrap {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
	gap: clamp(40px, 6vw, 88px);
	align-items: center;
}

.gdj-grid--cards > .kt-row-column-wrap {
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
}

.gdj-grid--figures > .kt-row-column-wrap {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

.gdj-grid--quotes > .kt-row-column-wrap {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 40px;
}

.gdj-grid--contact > .kt-row-column-wrap {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
	gap: clamp(40px, 6vw, 72px);
}

/* En-tete de section centre, largeur de lecture limitee. */
.gdj-section-head {
	max-width: 640px;
	margin: 0 auto 64px;
	text-align: center;
}

/* Carte de prestation : image en haut, texte dessous, aucun relief. */
.gdj-card > .kt-inside-inner-col {
	padding: 0 !important;
	background: var(--gdj-bg);
	border: 1px solid var(--gdj-hairline);
	border-radius: 8px;
	overflow: hidden;
}

.gdj-card-body {
	padding: 30px;
}

/* Citation : italique de la meme famille que les titres. */
.gdj-quote {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 23px !important;
	line-height: 1.5 !important;
	color: var(--gdj-bg);
}

.gdj-quote-author {
	margin-top: 20px;
	font-size: 14px;
	letter-spacing: 0.04em;
	color: var(--gdj-on-dark-muted);
}

/* Legende sous une signature. */
.gdj-figcaption {
	margin-top: 18px;
}

/* --------------------------------------------------------------------------
   10. Rythme vertical des sections
   Respiration proportionnelle a la largeur de la fenetre, comme la maquette.
   -------------------------------------------------------------------------- */

.gdj-section > .kt-row-column-wrap {
	padding-top: clamp(72px, 10vw, 128px) !important;
	padding-bottom: clamp(72px, 10vw, 128px) !important;
}

.gdj-section--quotes > .kt-row-column-wrap {
	padding-top: clamp(72px, 10vw, 120px) !important;
	padding-bottom: clamp(72px, 10vw, 120px) !important;
	max-width: 1080px !important;
}

.gdj-section--contact > .kt-row-column-wrap {
	max-width: 1080px !important;
}

.gdj-hero > .kt-row-column-wrap {
	min-height: clamp(560px, 88vh, 860px) !important;
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

/* --------------------------------------------------------------------------
   11. Details de composition
   -------------------------------------------------------------------------- */

/* En-tete de section centre dans une largeur de lecture. */
.gdj-head {
	max-width: 640px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Carte de prestation : l'image touche les bords, le texte est en retrait. */
.gdj-card-title {
	padding: 30px 30px 0 !important;
}

.gdj-card-text {
	padding: 14px 30px 30px !important;
}

/* Colonne de carte : le fond et le filet portent sur la colonne entiere. */
.gdj-card > .kt-inside-inner-col {
	padding: 0 !important;
}

/* --------------------------------------------------------------------------
   12. Pied de page
   Reprise du logo typographique, deux colonnes de liens, filet puis mentions.
   -------------------------------------------------------------------------- */

.gdj-footer-brand {
	margin: 0;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.1;
	color: var(--gdj-bg);
}

.gdj-footer-brand em {
	font-style: italic;
	color: var(--gdj-accent-soft);
}

/* Logo du footer : meme marque que l'en-tete, en creme sur le fond olive. */
.gdj-footer-brandlogo {
	margin: 0 0 4px;
}

.gdj-footer-logo {
	display: block;
	width: 210px;
	max-width: 100%;
}

/* Imagify enveloppe l'image dans <picture> : l'img interne doit remplir. */
.gdj-footer-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.gdj-footer-tagline {
	margin: 12px 0 0;
	max-width: 280px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gdj-on-dark-muted);
}

.gdj-footer-heading {
	margin: 0 0 12px;
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #9A9A72;
}

.gdj-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gdj-footer-links a {
	font-size: 15px;
	color: var(--gdj-bg);
	text-decoration: none;
}

.gdj-footer-links a:hover,
.gdj-footer-links a:focus {
	color: var(--gdj-accent-soft);
}

/* Filet de separation avant la ligne de mentions. */
.site-bottom-footer-wrap {
	border-top: 1px solid rgba(250, 244, 230, 0.14);
}

/* --------------------------------------------------------------------------
   14. Blocs image des emplacements photo
   Les huit emplacements sont desormais de vrais blocs image Kadence, prets a
   recevoir une photo depuis l'editeur. Une fois remplie, l'image occupe tout
   l'emplacement au bon cadrage.
   -------------------------------------------------------------------------- */

/* Le bloc image vide de Kadence contient un <img> sans src : on le masque pour
   eviter l'icone d'image cassee. Il reapparait des qu'une photo lui donne un src. */
.wp-block-kadence-image img.kb-img:not([src]),
.wp-block-kadence-image img.kb-img[src=''] {
	display: none;
}

figure.wp-block-kadence-image {
	padding: 0;
	margin: 0;
}

/* Photo posee : elle occupe tout l'emplacement, au ratio du slot, sans
   deformation. Le cadrage est porte par la colonne (la className gdj-slot
   n'est pas rendue sur la figure vide de Kadence). */
.kadence-columngdjaproposcol1 .wp-block-kadence-image,
.kadence-columngdjcard1 .wp-block-kadence-image,
.kadence-columngdjcard2 .wp-block-kadence-image,
.kadence-columngdjcard3 .wp-block-kadence-image,
.kadence-columngdjfig1 .wp-block-kadence-image,
.kadence-columngdjfig2 .wp-block-kadence-image,
.kadence-columngdjfig3 .wp-block-kadence-image,
.kadence-columngdjfig4 .wp-block-kadence-image {
	display: block;
	overflow: hidden;
}

.kadence-columngdjaproposcol1 .wp-block-kadence-image:has(img[src]) {
	aspect-ratio: 4 / 5;
	border-radius: 6px;
}

.kadence-columngdjcard1 .wp-block-kadence-image:has(img[src]),
.kadence-columngdjcard2 .wp-block-kadence-image:has(img[src]),
.kadence-columngdjcard3 .wp-block-kadence-image:has(img[src]) {
	aspect-ratio: 3 / 2;
}

.kadence-columngdjfig1 .wp-block-kadence-image:has(img[src]),
.kadence-columngdjfig2 .wp-block-kadence-image:has(img[src]),
.kadence-columngdjfig3 .wp-block-kadence-image:has(img[src]),
.kadence-columngdjfig4 .wp-block-kadence-image:has(img[src]) {
	aspect-ratio: 1 / 1;
	border-radius: 8px;
}

.wp-block-kadence-image img.kb-img[src] {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Tant qu'aucune photo n'est posee, on garde l'aplat raye d'attente au bon
   ratio, porte par la colonne. Il s'efface des qu'une photo a un src. */
.kadence-columngdjaproposcol1 > .kt-inside-inner-col::before,
.kadence-columngdjcard1 > .kt-inside-inner-col::before,
.kadence-columngdjcard2 > .kt-inside-inner-col::before,
.kadence-columngdjcard3 > .kt-inside-inner-col::before,
.kadence-columngdjfig1 > .kt-inside-inner-col::before,
.kadence-columngdjfig2 > .kt-inside-inner-col::before,
.kadence-columngdjfig3 > .kt-inside-inner-col::before,
.kadence-columngdjfig4 > .kt-inside-inner-col::before {
	content: 'Emplacement photo';
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 11px;
	letter-spacing: 0.06em;
	color: #8A8265;
	background-color: #E7DEC6;
	background-image: repeating-linear-gradient(135deg, #E7DEC6 0, #E7DEC6 18px, #EFE7D2 18px, #EFE7D2 36px);
}

.kadence-columngdjaproposcol1 > .kt-inside-inner-col::before {
	aspect-ratio: 4 / 5;
	border: 1px solid rgba(86, 90, 46, 0.18);
	border-radius: 6px;
}

.kadence-columngdjcard1 > .kt-inside-inner-col::before,
.kadence-columngdjcard2 > .kt-inside-inner-col::before,
.kadence-columngdjcard3 > .kt-inside-inner-col::before {
	aspect-ratio: 3 / 2;
}

.kadence-columngdjfig1 > .kt-inside-inner-col::before,
.kadence-columngdjfig2 > .kt-inside-inner-col::before,
.kadence-columngdjfig3 > .kt-inside-inner-col::before,
.kadence-columngdjfig4 > .kt-inside-inner-col::before {
	aspect-ratio: 1 / 1;
	border: 1px solid var(--gdj-hairline);
	border-radius: 8px;
}

/* Une photo posee (image dotee d'un src) fait disparaitre l'aplat d'attente.
   Le test porte sur img[src] car le bloc vide contient deja un <img> sans src. */
.wp-block-kadence-column:has(.wp-block-kadence-image img[src]) > .kt-inside-inner-col::before,
.wp-block-kadence-column:has(.wp-block-image img[src]) > .kt-inside-inner-col::before {
	display: none;
}

/* --------------------------------------------------------------------------
   13. Reperes de section sur mobile
   La page n'a pas de pages filles : ses quatre reperes sont des ancres vers
   des sections situees plus bas. Un panneau deroulant imposerait deux gestes
   pour un simple defilement, alors on pose la rangee directement sous le
   logo. Elle defile avec la page ; seule la ligne logo + bouton reste collee.
   -------------------------------------------------------------------------- */

/* La rangee reprend le creme de la page : sans fond explicite, elle laisse
   voir le blanc casse du conteneur de contenu et coupe l'en-tete en deux. */
#mobile-header .site-bottom-header-wrap .site-header-row-container-inner {
	background-color: var(--gdj-bg);
	border-bottom: 1px solid var(--gdj-hairline);
}

#mobile-header .site-header-item-mobile-navigation,
#mobile-header .mobile-navigation,
#mobile-header .mobile-menu-container {
	width: 100%;
}

/* La rangee deborde plutot que de se replier : sur un ecran etroit, quatre
   reperes tronques valent mieux que deux lignes qui poussent le contenu. */
#mobile-header .mobile-navigation ul.menu {
	display: flex;
	/* Kadence empile les entrees pour son tiroir : il faut le dire deux fois. */
	flex-wrap: nowrap !important;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 13px 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

/* Logo centre sur mobile : Kadence aligne la marque a gauche par defaut. */
#mobile-header .site-header-main-section-center .site-branding {
	margin-inline: auto;
}

#mobile-header .mobile-navigation ul.menu::-webkit-scrollbar {
	display: none;
}

#mobile-header .mobile-navigation ul.menu > li {
	flex: none;
	margin: 0;
	border: 0;
}

/* Meme etiquette que les mots-cles de la section A propos : la page ne
   fabrique pas un deuxieme vocabulaire de forme pour sa navigation. */
#mobile-header .mobile-navigation ul.menu > li > a {
	display: block;
	padding: 8px 16px;
	border: 1px solid var(--gdj-hairline-strong);
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--gdj-brand);
	text-decoration: none;
	white-space: nowrap;
}

#mobile-header .mobile-navigation ul.menu > li > a:hover,
#mobile-header .mobile-navigation ul.menu > li > a:focus-visible {
	border-color: var(--gdj-accent);
	color: var(--gdj-accent);
}

/* Sous 480px, les quatre etiquettes se resserrent pour tenir d'un seul tenant :
   mesure faite sur un ecran de 390px, ou la version large reclamait 391px pour
   390 disponibles et coupait "Contact" au bord. */
@media (max-width: 480px) {
	#mobile-header .mobile-navigation ul.menu {
		gap: 7px;
	}

	#mobile-header .mobile-navigation ul.menu > li > a {
		padding: 7px 12px;
		font-size: 12px;
	}
}

/* Le heros ouvre la page : il se cale sous l'en-tete, sans la reserve que le
   theme menage au-dessus d'un contenu ordinaire (marge du contenu + padding
   de l'enveloppe d'article). */
body.home #primary.content-area {
	margin-top: 0;
}

body.home .entry-content-wrap {
	padding-top: 0;
}

/* Un peu d'air a gauche du logo, qui touchait le bord de l'ecran. */
@media (max-width: 1024px) {
	#mobile-header .site-header-main-section-left {
		padding-left: 4px;
	}
}

/* L'en-tete colle est plus court sur mobile : sans cet ajustement, l'ancre
   arrive trop bas et le titre de section reste cache dessous. */
@media (max-width: 1024px) {
	:root {
		--gdj-header-h: 112px;
	}
}

/* --------------------------------------------------------------------------
   15. Photo « A propos » calee sur la hauteur du texte
   La colonne de gauche porte un bloc image WordPress standard (core/image),
   que le dimensionnement Kadence des autres emplacements n'atteint pas :
   livree a elle-meme, la photo s'affiche pleine largeur et ecrase le texte.
   Des que les deux colonnes sont cote a cote, on cale la photo sur la hauteur
   exacte de la colonne texte. La photo est sortie du flux (position absolue) :
   elle ne dicte plus la hauteur de la rangee, c'est le texte qui la fixe, et
   elle remplit l'emplacement en cover, sans deformation. Sous ce seuil les
   colonnes s'empilent : la regle ne s'applique pas et la photo reprend un
   affichage normal, comme voulu.
   -------------------------------------------------------------------------- */

@media (min-width: 768px) {
	.gdj-grid--split .kadence-columngdjaproposcol1 {
		align-self: stretch;
	}

	.kadence-columngdjaproposcol1 > .kt-inside-inner-col {
		position: relative;
		height: 100%;
	}

	.kadence-columngdjaproposcol1 .wp-block-image {
		position: absolute;
		inset: 0;
		margin: 0;
		border-radius: 6px;
		overflow: hidden;
	}

	.kadence-columngdjaproposcol1 .wp-block-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}

/* --------------------------------------------------------------------------
   16. Bouton « Voir tous nos avis Google » (section Temoignages)
   Pose sous les trois citations, sur le fond olive. Style aligne sur le CTA
   du hero (pilule, capitales, interlettre), en contour creme qui se remplit
   de terre cuite au survol.
   -------------------------------------------------------------------------- */

.gdj-reviews-cta {
	margin-top: 56px;
	text-align: center;
}

.gdj-reviews-btn {
	display: inline-block;
	padding: 15px 34px;
	border: 1px solid rgba(250, 244, 230, 0.4);
	border-radius: 999px;
	color: #FAF4E6;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.gdj-reviews-btn:hover,
.gdj-reviews-btn:focus-visible {
	background-color: #BC5A34;
	border-color: #BC5A34;
	color: #FAF4E6;
}