/*
 * Pages de services (Impression, puis Lettrage, Graphisme, Vêtements…)
 * Thème enfant argenta-child — chargé uniquement sur les pages qui utilisent les classes « pgs- ».
 * Les sections sont construites dans WPBakery ; ce fichier ne gère que la présentation.
 *
 * Couleurs du site : rouge #ed3124, beige #a28e7c, noir #111, gris clair #f3f3f3.
 */

/* ------------------------------------------------------------------
   Base commune
------------------------------------------------------------------ */
.pgs-section {
	padding-top: 70px;
	padding-bottom: 70px;
}

.pgs-section-head {
	margin-bottom: 34px;
	text-align: center;
}

.pgs-section-head h2,
.pgs-hero h1,
.pgs-duo-card h3,
.pgs-cta-band h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-weight: 700;
	letter-spacing: -.01em;
	color: #111;
}

.pgs-section-head h2 {
	margin: 0 0 8px;
	font-size: 34px;
	line-height: 1.2;
}

.pgs-section-head p {
	margin: 0;
	color: #666;
	font-size: 15px;
}

/* Boutons Argenta rouges « pilule » de ces pages */
.pgs-btn .btn {
	border-radius: 999px;
	padding-right: 30px;
	padding-left: 30px;
	letter-spacing: .02em;
}

/* ------------------------------------------------------------------
   1. Bandeau d'en-tête
------------------------------------------------------------------ */
.vc_row.pgs-hero {
	position: relative;
	min-height: 510px;
	display: flex;
	align-items: center;
	padding-top: 150px; /* 90px d'en-tête du thème (position absolue) + 60px */
	padding-bottom: 60px;
	background-color: #1a1a1a;
}

/* Voile sombre à gauche pour la lisibilité du texte */
.vc_row.pgs-hero:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	background: linear-gradient(90deg, rgba(17, 17, 17, .95) 0%, rgba(17, 17, 17, .85) 32%, rgba(17, 17, 17, .15) 65%, rgba(17, 17, 17, 0) 100%);
	pointer-events: none;
}

/* Variante image calée à droite (background-size: auto 100%) : fondu sur le bord gauche de l'image.
   Sur 510px de haut, l'image occupe environ les 890px de droite : dégradé mesuré depuis la droite. */
.vc_row.pgs-hero-right:before {
	background: linear-gradient(to left, rgba(26, 26, 26, 0) 0, rgba(26, 26, 26, 0) 420px, rgba(26, 26, 26, .8) 740px, #1a1a1a 880px);
}

/* Variante image large (~2:1, ex. page Vêtements) : l'image occupe ~990px, fondu court sur son bord gauche */
.vc_row.pgs-hero-right.pgs-hero-wide:before {
	background: linear-gradient(to left, rgba(26, 26, 26, 0) 0, rgba(26, 26, 26, 0) 800px, rgba(26, 26, 26, .85) 930px, #1a1a1a 990px);
}

.vc_row.pgs-hero > .vc_column_container {
	position: relative;
	z-index: 1;
}

.pgs-hero h1 {
	margin: 0 0 18px;
	color: #fff;
	font-size: 58px;
	line-height: 1.1;
}

.pgs-hero p {
	max-width: 440px;
	margin: 0 0 26px;
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
}

/* ------------------------------------------------------------------
   2. Grille de produits
------------------------------------------------------------------ */
.pgs-products .vc_row.vc_inner {
	margin-bottom: 10px;
}

.pgs-card-img {
	margin-bottom: 12px !important; /* WPBakery ajoute 35px !important sur .wpb_single_image */
}

.pgs-card-img img,
.pgs-work img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 205 / 146;
	object-fit: cover;
	border-radius: 4px;
	-webkit-transition: transform .3s ease, box-shadow .3s ease;
	transition: transform .3s ease, box-shadow .3s ease;
}

.pgs-card-img .vc_single_image-wrapper,
.pgs-card-img figure,
.pgs-work .vc_single_image-wrapper,
.pgs-work figure {
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 4px;
}

.pgs-card-img a:hover img {
	transform: scale(1.03);
}

.pgs-card-title {
	margin-bottom: 30px !important;
}

.pgs-card-title a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #111;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

/* Flèche → à droite du titre */
.pgs-card-title a:after {
	content: '\2192';
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #111;
	-webkit-transition: transform .2s ease, color .2s ease;
	transition: transform .2s ease, color .2s ease;
}

.pgs-card-title a:hover,
.pgs-card-title a:hover:after {
	color: #ed3124;
}

.pgs-card-title a:hover:after {
	transform: translateX(4px);
}

/* ------------------------------------------------------------------
   3. Étapes « Bien plus que de l'impression »
------------------------------------------------------------------ */
.vc_row.pgs-steps {
	background-color: #f3f1ee;
}

.pgs-step {
	height: 100%;
	margin-bottom: 0 !important;
	padding-right: 20px;
	border-right: 1px solid #d9d3cc;
}

.pgs-steps .vc_column_container:last-child .pgs-step {
	border-right: 0;
}

.pgs-step .pgs-step-num {
	display: block;
	margin-bottom: 10px;
	color: #a28e7c;
	font-family: 'Montserrat', sans-serif;
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
}

.pgs-step h3 {
	margin: 0 0 10px;
	color: #111;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 700;
}

.pgs-step p {
	margin: 0;
	color: #555;
	font-size: 14px;
	line-height: 1.6;
}

/* ------------------------------------------------------------------
   4. Deux cartes « fichier » / « graphiste »
------------------------------------------------------------------ */
.pgs-duo {
	padding-bottom: 20px;
}

.pgs-duo-card > .vc_column-inner > .wpb_wrapper {
	display: grid;
	grid-template-columns: 47% 1fr;
	grid-template-rows: auto 1fr;
	column-gap: 22px;
	height: 100%;
	padding-right: 20px;
	background: #f7f7f7;
	border-radius: 6px;
	overflow: hidden;
}

.pgs-duo-card .wpb_single_image {
	grid-row: 1 / span 2;
	margin: 0 !important;
}

.pgs-duo-card .wpb_single_image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 170px;
	object-fit: cover;
}

.pgs-duo-card .wpb_single_image figure,
.pgs-duo-card .wpb_single_image .vc_single_image-wrapper {
	display: block;
	height: 100%;
}

.pgs-duo-card .wpb_text_column {
	margin: 20px 0 12px !important;
}

.pgs-duo-card h3 {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.3;
}

.pgs-duo-card p {
	margin: 0;
	color: #555;
	font-size: 14px;
	line-height: 1.55;
}

.pgs-duo-card .pgs-btn {
	align-self: start;
	margin-bottom: 20px;
}

/* ------------------------------------------------------------------
   5. Réalisations
------------------------------------------------------------------ */
.pgs-works {
	padding-top: 30px;
}

.pgs-work {
	margin-bottom: 20px !important;
}

.pgs-work img {
	aspect-ratio: 206 / 129;
}

/* Variante à 5 réalisations (colonnes 1/5 dans WPBakery) : images un peu plus hautes */
.pgs-works-5 .pgs-work img {
	aspect-ratio: 177 / 128;
}

/* Variante « réalisations presque carrées » (ex. page Graphisme) */
.pgs-works-tall .pgs-work img {
	aspect-ratio: 17 / 16;
}

/* La feuille WPBakery chargée ne donne pas de largeur à vc_col-sm-1/5 : on la fixe ici */
@media screen and (min-width: 769px) {
	.pgs-works-5 .vc_row.vc_inner > .vc_column_container {
		width: 20%;
	}
}

/* ------------------------------------------------------------------
   6. Bandeau d'appel à l'action
------------------------------------------------------------------ */
.vc_row.pgs-cta-band {
	position: relative;
	display: flex;
	align-items: center;
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #161616;
}

.vc_row.pgs-cta-band:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	background: rgba(17, 17, 17, .82);
	pointer-events: none;
}

.vc_row.pgs-cta-band > .vc_column_container {
	position: relative;
	z-index: 1;
}

.pgs-cta-band .wpb_text_column {
	margin-bottom: 0 !important;
}

.pgs-cta-band h2 {
	margin: 0 0 6px;
	color: #fff;
	font-size: 28px;
	line-height: 1.25;
}

.pgs-cta-band p {
	margin: 0;
	color: #e6e6e6;
	font-size: 15px;
}

.pgs-cta-band .pgs-btn {
	text-align: right;
}

/* Variante photo visible à droite (ex. page Soumission) */
.vc_row.pgs-cta-photo {
	min-height: 300px;
	padding-top: 70px;
	padding-bottom: 70px;
}

.vc_row.pgs-cta-photo:before {
	background: linear-gradient(to left, rgba(17, 17, 17, .1) 0, rgba(17, 17, 17, .35) 500px, #111 780px);
}

.pgs-cta-photo h2 {
	font-size: 34px;
}

.pgs-cta-photo p {
	max-width: 440px;
	margin-top: 22px;
	font-size: 17px;
	line-height: 1.55;
}

/* ------------------------------------------------------------------
   7. Page d'accueil des soumissions (/soumission/)
------------------------------------------------------------------ */

/* Titres sans empattement, comme la maquette de cette page */
.pgs-sans h1,
.pgs-sans h2,
.pgs-sans h3,
.pgs-sans.pgs-section-head h2,
.pgs-sans .pgs-section-head h2 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: -.01em;
}

/* Petit filet rouge sous le titre */
.pgs-rule h1:after,
.pgs-rule h2:not(.pgs-hero-lead):after {
	content: '';
	display: block;
	width: 54px;
	height: 4px;
	margin-top: 22px;
	background: #ed3124;
}

.pgs-hero .pgs-hero-lead {
	margin: 26px 0 8px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 22px;
	font-weight: 700;
}

.pgs-hero.pgs-sans h1 {
	font-size: 60px;
	line-height: 1.05;
}

/* Cartes de choix : carte entièrement cliquable (lien « étiré ») */
.pgs-choice > .vc_column-inner > .wpb_wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 360px;
	margin-bottom: 30px;
	background: #111;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
	-webkit-transition: transform .25s ease, box-shadow .25s ease;
	transition: transform .25s ease, box-shadow .25s ease;
}

.pgs-choice > .vc_column-inner > .wpb_wrapper:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .2);
}

.pgs-choice .wpb_single_image {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 62%;
	margin: 0 !important;
}

.pgs-choice .wpb_single_image figure,
.pgs-choice .wpb_single_image .vc_single_image-wrapper {
	display: block;
	width: 100%;
	height: 100%;
}

.pgs-choice .wpb_single_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: transform .4s ease;
	transition: transform .4s ease;
}

.pgs-choice > .vc_column-inner > .wpb_wrapper:hover .wpb_single_image img {
	transform: scale(1.04);
}

/* Fondu de la photo vers le noir de la carte */
.pgs-choice .wpb_single_image:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 35%, #111 100%);
}

.pgs-choice .wpb_text_column {
	position: relative;
	margin: 0 !important;
	padding: 0 20px 22px;
}

.pgs-choice h3 {
	margin: 0 0 10px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	font-weight: 700;
}

.pgs-choice p {
	min-height: 66px;
	margin: 0 0 16px;
	color: #e6e6e6;
	font-size: 13.5px;
	line-height: 1.55;
}

/* Rond rouge avec flèche ; le texte du lien reste lisible par les lecteurs d'écran */
.pgs-choice .pgs-choice-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #ed3124;
	color: #fff;
	font-size: 0;
	text-decoration: none;
	-webkit-transition: background-color .2s ease;
	transition: background-color .2s ease;
}

.pgs-choice .pgs-choice-link:before {
	content: '\2192';
	font-family: 'Open Sans', sans-serif;
	font-size: 17px;
	line-height: 1;
}

/* Le lien couvre toute la carte */
.pgs-choice .pgs-choice-link:after {
	content: '';
	position: absolute;
	top: -2000px;
	right: -2000px;
	bottom: -2000px;
	left: -2000px;
	z-index: 2;
}

.pgs-choice .wpb_wrapper:hover .pgs-choice-link {
	background: #fff;
	color: #ed3124;
}

.pgs-choice .pgs-choice-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* Section équipe */
.vc_row.pgs-team {
	background-color: #f3f1ee;
}

.pgs-team-photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.pgs-team-photo {
	margin-bottom: 0 !important;
}

.pgs-team-text {
	margin-bottom: 24px !important;
	padding-left: 20px;
}

.pgs-team-text h2 {
	margin: 0 0 22px;
	color: #111;
	font-size: 32px;
	line-height: 1.2;
}

.pgs-team-text p {
	max-width: 520px;
	margin: 0;
	color: #444;
	font-size: 15px;
	line-height: 1.6;
}

.pgs-values {
	padding-left: 20px;
}

.pgs-values .vc_column_container {
	border-right: 1px solid #d9d3cc;
}

.pgs-values .vc_column_container:last-child {
	border-right: 0;
}

.pgs-values .icon-box,
.pgs-values [class*="icon-box"] {
	margin-bottom: 0;
	text-align: center;
}

/* ------------------------------------------------------------------
   8. Page Demande d'information
------------------------------------------------------------------ */

/* Cartes « Comment souhaitez-vous nous joindre ? » */
.pgs-contact-card {
	height: 100%;
	margin-bottom: 30px !important;
	padding: 28px 20px 26px;
	background: #f6f5f3;
	border-radius: 6px;
	text-align: center;
}

.pgs-contact-card .pgs-contact-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: #ebe6e1;
	color: #ed3124;
	font-size: 30px;
	line-height: 1;
}

.pgs-contact-card h3 {
	margin: 0 0 8px;
	color: #111;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 19px;
	font-weight: 700;
}

.pgs-contact-card .pgs-contact-who {
	margin: 0 0 2px;
	color: #111;
	font-weight: 600;
}

.pgs-contact-card .pgs-contact-main {
	margin: 0 0 14px;
	color: #ed3124;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.45;
}

.pgs-contact-card .pgs-contact-main a {
	color: #ed3124;
	text-decoration: none;
	word-break: break-word;
}

.pgs-contact-card .pgs-contact-main a:hover {
	text-decoration: underline;
}

.pgs-contact-card .pgs-contact-hours {
	color: #111;
	font-weight: 400;
}

.pgs-contact-card p:last-child {
	margin: 0;
	color: #555;
	font-size: 13.5px;
	line-height: 1.55;
}

/* Bloc personne-ressource */
.vc_row.pgs-person {
	padding-top: 0;
	padding-bottom: 0;
}

.pgs-person-photo {
	margin: 0 !important;
}

.pgs-person-photo figure,
.pgs-person-photo .vc_single_image-wrapper {
	display: block;
	width: 100%;
}

/* Cartes de contact de même hauteur */
.pgs-contact .vc_column_container > .vc_column-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.pgs-contact .vc_column_container > .vc_column-inner > .wpb_wrapper {
	flex: 1;
}

.pgs-person-photo img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
	object-position: center 22%;
}

.pgs-person-text {
	margin: 0 !important;
	padding: 34px 20px 34px 30px;
}

.pgs-person-text h2 {
	margin: 0 0 4px;
	color: #111;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.15;
}

.pgs-person-text .pgs-person-role {
	margin: 0 0 22px;
	color: #666;
	font-size: 18px;
}

.pgs-person-text ul {
	margin: 0 0 22px;
	padding: 0 0 22px;
	list-style: none;
	border-bottom: 1px solid #e3e3e3;
}

.pgs-person-text li {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 10px;
	color: #444;
	font-size: 17px;
}

.pgs-person-text li .icon {
	width: 26px;
	color: #ed3124;
	font-size: 26px;
	text-align: center;
}

.pgs-person-text li a {
	color: #ed3124;
	font-weight: 700;
	text-decoration: none;
}

.pgs-person-text li a:hover {
	text-decoration: underline;
}

.pgs-person-text p {
	max-width: 540px;
	margin: 0;
	color: #555;
	font-size: 15px;
	line-height: 1.6;
}

/* ------------------------------------------------------------------
   Responsive
------------------------------------------------------------------ */
@media screen and (max-width: 991px) {
	.pgs-hero h1 {
		font-size: 46px;
	}

	.pgs-step {
		margin-bottom: 30px !important;
		border-right: 0;
	}

	.pgs-duo-card {
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 768px) {
	.pgs-section {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.pgs-section-head h2 {
		font-size: 27px;
	}

	.vc_row.pgs-hero {
		min-height: 0;
		padding-top: 130px; /* 80px d'en-tête mobile + 50px */
		padding-bottom: 50px;
		background-position: 70% center !important;
	}

	.vc_row.pgs-hero:before {
		background: rgba(17, 17, 17, .72);
	}

	.pgs-hero h1 {
		font-size: 40px;
	}

	.pgs-duo-card > .vc_column-inner > .wpb_wrapper {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		padding: 0 0 4px;
	}

	.pgs-duo-card .wpb_single_image {
		grid-row: auto;
	}

	.pgs-duo-card .wpb_single_image img {
		height: 200px;
	}

	.pgs-duo-card .wpb_text_column,
	.pgs-duo-card .pgs-btn {
		margin-right: 20px !important;
		margin-left: 20px !important;
	}

	/* Grilles 2 colonnes : flex pour éviter le décalage des colonnes flottantes de hauteurs différentes */
	.pgs-products .vc_row.vc_inner,
	.pgs-works .vc_row.vc_inner {
		display: flex;
		flex-wrap: wrap;
	}

	.pgs-card-title a {
		font-size: 14px;
	}

	/* Page Soumission */
	.pgs-hero.pgs-sans h1 {
		font-size: 40px;
	}

	.pgs-choice > .vc_column-inner > .wpb_wrapper {
		min-height: 320px;
	}

	.pgs-choice h3 {
		font-size: 20px;
	}

	.pgs-choice p {
		min-height: 0;
	}

	.pgs-team-text,
	.pgs-values {
		padding-left: 0;
	}

	.pgs-team-photo {
		margin-bottom: 30px !important;
	}

	.pgs-values .vc_column_container:nth-child(2n) {
		border-right: 0;
	}

	.pgs-cta-photo.pgs-rule h2:after {
		margin-right: auto;
		margin-left: auto;
	}

	/* 5 réalisations : 2 colonnes sur mobile, la dernière sur toute la largeur */
	.pgs-works-5 .vc_row.vc_inner > .vc_column_container {
		width: 50%;
	}

	.pgs-works-5 .vc_row.vc_inner > .vc_column_container:last-child {
		width: 100%;
	}

	.vc_row.pgs-cta-band {
		display: block;
		text-align: center;
	}

	/* Page Demande d'information */
	.pgs-person-photo img {
		height: 320px;
	}

	.pgs-person-text {
		padding: 30px 20px;
	}

	.pgs-person-text h2 {
		font-size: 28px;
	}

	.pgs-person-text li {
		flex-wrap: wrap;
		font-size: 15px;
	}

	/* Cartes de choix : une par ligne sur téléphone */
	.pgs-choices .vc_row.vc_inner > .pgs-choice {
		width: 100%;
	}

	.pgs-cta-band .pgs-btn {
		margin-top: 20px;
		text-align: center;
	}
}
