/* ==========================================================================
   Guimond Studio — œuvres, séries, fiche produit
   ========================================================================== */

:root {
	--gm-noir: #000;
	--gm-texte: #1d1d1b;
	--gm-gris: #f4f3f0;          /* fond gris pâle des sections (rgba(237,236,231,.62) sur blanc) */
	--gm-bouton: #ebebeb;
	--gm-beige: #c3b7a6;         /* guillemets « » */
	--gm-ligne: #d8d4cc;
	--gm-f-regular: "Avenir Regular", Helvetica, Arial, Lucida, sans-serif;
	--gm-f-heavy: "Avenir Heavy", Helvetica, Arial, Lucida, sans-serif;
	--gm-f-script: "QEDSFont", Helvetica, Arial, Lucida, sans-serif;
	--gm-wrap: 1280px;
	--gm-gap-x: clamp(24px, 4vw, 64px);
	--gm-gap-y: clamp(40px, 5vw, 80px);
	--gm-sep: url("/wp-content/uploads/2026/02/lignes.png");
}

.gm-wrap {
	width: 86%;
	max-width: var(--gm-wrap);
	margin-left: auto;
	margin-right: auto;
}
.gm-wrap--narrow { max-width: 900px; }

/* Séparateur ondulé (image du site) */
.gm-sep {
	height: clamp(50px, 7vw, 120px);
	background: var(--gm-sep) center / 100% 100% no-repeat;
	margin: clamp(20px, 3vw, 40px) 0;
}
.gm-sep--top { margin-top: 0; }

/* Lien fléché — « DÉCOUVRIR LA SÉRIE ↗ » */
.gm-link,
a.gm-link,
button.gm-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--gm-f-heavy);
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--gm-noir);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	transition: opacity .2s;
}
.gm-link:hover { opacity: .6; color: var(--gm-noir); }
.gm-link__arrow {
	width: 11px;
	height: 11px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10 10 2M4 2h6v6' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10 10 2M4 2h6v6' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Titres */
.gm-script-title,
.et_pb_text .gm-script-title,
h1.gm-surtitre--script,
.gm-surtitre--script {
	font-family: var(--gm-f-script) !important;
}
.gm-script-title {
	font-size: clamp(38px, 4vw, 60px);
	line-height: 1.1;
	font-weight: 400;
	color: var(--gm-noir);
	padding: 0;
}
.gm-surtitre {
	font-family: var(--gm-f-regular);
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #6b6b6b;
	padding: 0;
	margin: 0 0 6px;
}
.gm-surtitre--script {
	font-family: var(--gm-f-script);
	text-transform: none;
	letter-spacing: 0;
	font-size: clamp(22px, 2vw, 30px);
	color: var(--gm-beige);
	margin-bottom: 18px;
}

/* Citation « … » */
.gm-quote {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(12px, 2vw, 28px);
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--gm-f-regular);
	font-style: italic;
	font-size: clamp(24px, 2.6vw, 40px);
	line-height: 1.3;
	text-align: center;
	color: var(--gm-texte);
}
.gm-quote__mark {
	font-style: normal;
	font-size: 1.5em;
	color: var(--gm-beige);
	flex: none;
}
.gm-quote--small {
	display: block;
	font-size: 20px;
	text-align: left;
	margin: 16px 0 22px;
}

/* ==========================================================================
   Grilles (séries et œuvres) — motif de la maquette : demi, demi, pleine…
   ========================================================================== */

.gm-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gm-gap-y) var(--gm-gap-x);
	align-items: start;
}
.gm-card--full { grid-column: 1 / -1; }
.gm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.gm-card { margin: 0; }
.gm-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--gm-gris);
}
.gm-card__img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .6s ease, filter .4s ease;
}
.gm-card--grid .gm-card__img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
.gm-card__media:hover .gm-card__img { transform: scale(1.02); }

.gm-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding-top: 12px;
}
.gm-card__info p,
.gm-card__meta p {
	margin: 0;
	padding: 0;
	font-family: var(--gm-f-regular);
	font-size: 13px;
	line-height: 1.45;
	color: var(--gm-texte);
}
.gm-card__title {
	margin: 0 0 2px;
	padding: 0;
	font-family: var(--gm-f-regular);
	font-size: 13px;
	line-height: 1.4;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.gm-card__title a { color: var(--gm-noir); }
.gm-card__title--serie { text-transform: none; letter-spacing: 0; font-size: 14px; }
.gm-card__title--serie em { font-style: italic; }
.gm-card__count { color: #6b6b6b !important; }
.gm-card__excerpt { max-width: 38ch; margin-top: 6px !important; }
.gm-card__statut {
	margin-top: 8px !important;
	font-family: var(--gm-f-heavy) !important;
}
.gm-card__actions .gm-link {
	font-family: var(--gm-f-regular);
	font-size: 13px;
	letter-spacing: .03em;
}
.gm-card__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	text-align: right;
	flex: none;
}

/* Survol des séries : flou + titre */
.gm-card__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 8% 8%;
	color: #fff;
	background: rgba(0, 0, 0, .25);
	opacity: 0;
	transition: opacity .35s ease;
}
.gm-card__overlay-title {
	font-family: var(--gm-f-heavy);
	font-size: clamp(14px, 1.2vw, 18px);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.gm-card__overlay-count { font-family: var(--gm-f-regular); font-size: 14px; }
.gm-card--serie .gm-card__media:hover .gm-card__img,
.gm-card--serie .gm-card__media:focus-visible .gm-card__img { filter: blur(6px); transform: scale(1.06); }
.gm-card--serie .gm-card__media:hover .gm-card__overlay,
.gm-card--serie .gm-card__media:focus-visible .gm-card__overlay { opacity: 1; }

/* Chargement au défilement */
.gm-loadmore {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: var(--gm-gap-y);
}
.gm-loadmore__sentinel { display: block; width: 1px; height: 1px; }
.gm-oeuvres.is-loading .gm-grid { opacity: .85; }
.gm-empty { text-align: center; font-family: var(--gm-f-regular); }

/* ==========================================================================
   Sections Divi « Peintures par série » / « Toutes les peintures »
   (section Divi avec la classe gm-bande-grise)
   Bande grise avec ligne ondulée en haut, qui s'arrête à mi-hauteur
   de la première rangée d'images — comme la maquette.
   ========================================================================== */

.et_pb_section.gm-bande-grise {
	position: relative;
	overflow: visible;
	background: linear-gradient(to bottom,
		var(--gm-gris) 0,
		var(--gm-gris) clamp(520px, 44vw, 800px),
		#fff clamp(520px, 44vw, 800px)) !important;
	padding-top: clamp(70px, 7vw, 130px) !important;
	margin-top: clamp(30px, 4vw, 70px);
}
.et_pb_section.gm-bande-grise::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: clamp(-70px, -4vw, -35px);
	height: clamp(70px, 8vw, 140px);
	background: var(--gm-sep) center / 100% 100% no-repeat;
	pointer-events: none;
}
.gm-row-titre {
	display: flex;
	align-items: flex-start;
	padding-bottom: clamp(30px, 4vw, 60px) !important;
}
.gm-row-titre > .et_pb_column_1_3 {
	width: auto !important;
	margin-right: clamp(24px, 3vw, 44px) !important;
	padding-left: 6%;
}
.gm-row-titre > .et_pb_column_2_3 { width: auto !important; flex: 1; }
.gm-row-titre .gm-script-title {
	font-size: clamp(40px, 4vw, 64px);
	line-height: 1;
}
.gm-row-titre p { padding-bottom: 0; }
.gm-intro {
	max-width: 44ch;
	font-family: var(--gm-f-regular);
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: var(--gm-texte);
	margin-bottom: 14px !important;
}

/* ==========================================================================
   Page d'une série
   ========================================================================== */

.gm-serie-page { background: #fff; }
.gm-serie-hero {
	background: var(--gm-gris);
	padding: clamp(50px, 6vw, 100px) 0 clamp(40px, 5vw, 80px);
	text-align: center;
}
.gm-serie-hero .gm-sep { margin: clamp(20px, 3vw, 40px) 0; }
.gm-serie-hero__intro {
	max-width: 620px;
	text-align: left;
	font-family: var(--gm-f-regular);
	font-size: 15px;
	line-height: 1.6;
	color: var(--gm-texte);
}
.gm-serie-hero__intro p { padding-bottom: 1em; }
.gm-serie-hero__intro .gm-link { margin-top: 6px; }

/* La bande grise se prolonge derrière le haut de la première rangée */
.gm-serie-grid {
	background: linear-gradient(to bottom, var(--gm-gris) 0, var(--gm-gris) clamp(120px, 14vw, 260px), #fff clamp(120px, 14vw, 260px));
	padding-bottom: clamp(60px, 8vw, 120px);
}

/* ==========================================================================
   Fiche d'une œuvre
   ========================================================================== */

.gm-single { background: #fff; padding-bottom: clamp(60px, 7vw, 110px); }
.gm-single .woocommerce-notices-wrapper { width: 86%; max-width: var(--gm-wrap); margin: 20px auto 0; }

.gm-single__top {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(30px, 5vw, 90px);
	align-items: start;
}

/* Galerie WooCommerce */
.gm-single__gallery .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: relative;
}
.gm-single__gallery .woocommerce-product-gallery__image img { width: 100%; height: auto; }
.gm-single__gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}
.gm-single__gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.gm-single__gallery .flex-control-thumbs img { opacity: .55; transition: opacity .2s; cursor: pointer; aspect-ratio: 1; object-fit: cover; }
.gm-single__gallery .flex-control-thumbs img.flex-active,
.gm-single__gallery .flex-control-thumbs img:hover { opacity: 1; }
.gm-single__gallery .woocommerce-product-gallery__trigger { position: absolute; top: 12px; right: 12px; z-index: 5; }

.gm-single__desc { margin-top: clamp(30px, 4vw, 60px); }
.gm-single__desc-title {
	font-family: var(--gm-f-regular);
	font-size: clamp(22px, 2vw, 30px);
	line-height: 1.3;
	font-weight: 400;
	padding: 0 0 14px;
}
.gm-single__desc-title a { color: var(--gm-noir); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.gm-single__desc-sep { color: var(--gm-beige); margin: 0 .25em; }
.gm-single__content { font-family: var(--gm-f-regular); font-size: 16px; line-height: 1.7; color: var(--gm-texte); }

.gm-single__summary { position: sticky; top: 120px; }
.gm-single__kind { font-family: var(--gm-f-regular); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: #6b6b6b; padding: 0; margin: 0 0 8px; }
.gm-single__title {
	font-family: var(--gm-f-regular);
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.15;
	font-weight: 400;
	padding: 0 0 8px;
	color: var(--gm-noir);
}
.gm-single__sub { font-family: var(--gm-f-regular); font-size: 15px; color: #555; padding: 0; margin: 0 0 20px; }
.gm-single__price {
	font-family: var(--gm-f-heavy);
	font-size: clamp(22px, 2vw, 28px);
	color: var(--gm-noir);
	padding: 0;
	margin: 0 0 6px;
}
.gm-single__price-label { font-family: var(--gm-f-regular); }
.gm-single__price .amount { color: var(--gm-noir); }
.gm-single__statut { font-family: var(--gm-f-heavy); font-size: 14px; padding: 0; margin: 0 0 20px; }
.gm-single__statut.gm-statut--vendue { color: #8a2b2b; }

.gm-single__cart { margin: 10px 0 26px; }
.gm-single__cart form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0; }
.gm-single__cart form.cart .quantity { display: none; } /* pièce unique ou quantité 1 par défaut */
.gm-single--reproduction .gm-single__cart form.cart .quantity { display: block; }
.gm-single__cart .single_add_to_cart_button,
.gm-single .gm-single__cart .button {
	font-family: var(--gm-f-heavy) !important;
	font-size: 16px !important;
	text-transform: uppercase;
	color: var(--gm-noir) !important;
	background: #fff !important;
	border: 2px solid var(--gm-noir) !important;
	border-radius: 3px !important;
	padding: 12px 34px !important;
	line-height: 1.2 !important;
	transition: background .2s, color .2s;
}
.gm-single__cart .single_add_to_cart_button:hover { background: var(--gm-noir) !important; color: #fff !important; }
.gm-single__cart .single_add_to_cart_button::after { display: none !important; }
.gm-single__cart .variations { margin-bottom: 10px; }
.gm-single__unavailable { font-family: var(--gm-f-regular); font-size: 15px; line-height: 1.5; padding: 0; }
.gm-single__unavailable a { color: var(--gm-noir); text-decoration: underline; }

.gm-single__linked {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 16px;
	padding: 16px 18px;
	margin-bottom: 28px;
	background: var(--gm-gris);
	font-family: var(--gm-f-regular);
	font-size: 14px;
}

/* Accordéons + / − */
.gm-accordions { border-top: 1px solid var(--gm-ligne); }
.gm-acc { border-bottom: 1px solid var(--gm-ligne); }
.gm-acc summary {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0;
	font-family: var(--gm-f-heavy);
	font-size: 15px;
	color: var(--gm-noir);
	cursor: pointer;
}
.gm-acc summary::-webkit-details-marker { display: none; }
.gm-acc summary::after {
	content: "+";
	font-family: var(--gm-f-regular);
	font-size: 24px;
	line-height: 1;
	transition: transform .2s;
}
.gm-acc[open] summary::after { content: "−"; }
.gm-acc summary:focus-visible { outline: 2px solid var(--gm-noir); outline-offset: 2px; }
.gm-acc__body,
.gm-acc__list { font-family: var(--gm-f-regular); font-size: 15px; line-height: 1.6; color: var(--gm-texte); padding: 0 0 18px !important; margin: 0; }
.gm-acc__body p { padding-bottom: .6em; }
.gm-acc__list { list-style: none; }
.gm-acc__list li { padding: 2px 0; }

/* Bloc série (rectangle gris) */
.gm-single__serie { background: var(--gm-gris); padding: clamp(40px, 5vw, 80px) 0; }
.gm-single__serie-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: clamp(30px, 5vw, 80px);
	align-items: center;
}
.gm-single__serie-media img { display: block; width: 100%; height: auto; }
.gm-single__serie-text { font-family: var(--gm-f-regular); font-size: 16px; line-height: 1.6; }
.gm-single__serie-text .gm-script-title { padding-bottom: 4px; }
.gm-single__serie-text p { padding-bottom: 1em; }

/* Vous aimerez aussi */
.gm-single__related { margin-top: clamp(60px, 7vw, 110px); }
.gm-single__related-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.gm-single__related .gm-card__actions .gm-link { font-size: 12px; }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 980px) {
	.gm-single__top { grid-template-columns: 1fr; }
	.gm-single__summary { position: static; }
	.gm-single__left { display: contents; }
	.gm-single__gallery { order: 1; }
	.gm-single__summary { order: 2; }
	.gm-single__desc { order: 3; margin-top: 10px; }
	.gm-single__serie-inner { grid-template-columns: 1fr; }
	.gm-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
	.gm-row-titre { flex-direction: column; }
	.gm-row-titre > .et_pb_column_1_3 { padding-left: 0; margin-bottom: 16px !important; }
}

@media (max-width: 680px) {
	.gm-wrap { width: auto; margin-left: 16px; margin-right: 16px; }
	.gm-grid,
	.gm-grid--3 { grid-template-columns: 1fr; }
	.gm-card__meta { flex-direction: column; gap: 10px; }
	.gm-card__actions { align-items: flex-start; text-align: left; }
	.gm-quote { gap: 8px; }
	.gm-quote__mark { font-size: 1.1em; }
}
