/* Bloc « Contenu en colonnes », style « photos » : cartes avec photo en tête (accueil : vos besoins).
   Rendu : inc/colonnes-photos.php. Chargée avec la feuille commune du bloc (style.css). */
.pc-site .pc-col--photos .pc-col__titre .pc-accent,
.editor-styles-wrapper .pc-col--photos .pc-col__titre .pc-accent { font-weight: 900; }

.pc-colp__grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 16px; }

.pc-colp__carte { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--pc-line); border-radius: 16px; overflow: hidden; color: var(--pc-ink); text-decoration: none; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.pc-site a.pc-colp__carte,
.pc-site a.pc-colp__carte:hover,
.pc-site a.pc-colp__carte:focus-visible { color: var(--pc-ink); }
a.pc-colp__carte:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(20, 20, 20, 0.12); }

.pc-colp__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pc-dark-card); }
.pc-colp__media .ed-media { position: absolute; inset: 0; }
.pc-colp__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
a.pc-colp__carte:hover .pc-colp__img { transform: scale(1.06); }
.pc-colp__n { position: absolute; top: 14px; left: 14px; z-index: 1; padding: 6px 10px; border-radius: 8px; background: var(--pc-red); color: #fff; font-family: var(--global-heading-font-family); font-weight: 800; font-size: 13px; line-height: 1; }

.pc-colp__corps { display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 24px; flex: 1; }
.pc-site .pc-colp__titre,
.editor-styles-wrapper .pc-colp__titre { font-family: var(--pc-sans); font-size: 18px; font-weight: 650; line-height: 1.3; letter-spacing: 0; margin: 0; color: var(--pc-ink); }
.pc-colp__x { margin: 0; flex: 1; font-size: 15px; line-height: 1.55; color: #5E5E5E; }
.pc-colp__lien { display: inline-flex; align-items: center; gap: 6px; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--pc-red); transition: gap 0.2s ease; }
a.pc-colp__carte:hover .pc-colp__lien { gap: 10px; }

/* Carte finale : photo assombrie, titre et bouton */
.pc-colp__fin { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; min-width: 0; min-height: 380px; padding: 28px 24px; box-sizing: border-box; border-radius: 16px; overflow: hidden; color: #fff; text-decoration: none; background-color: var(--pc-dark-card); background-image: linear-gradient(180deg, rgba(20, 20, 20, 0.55) 0%, rgba(20, 20, 20, 0.92) 70%), var(--pc-colp-fond, none); background-size: cover; background-position: center; transition: transform 0.25s ease; }
.pc-site a.pc-colp__fin,
.pc-site a.pc-colp__fin:hover,
.pc-site a.pc-colp__fin:focus-visible { color: #fff; }
a.pc-colp__fin:hover { transform: translateY(-4px); }
.pc-site .pc-colp__fin-titre,
.editor-styles-wrapper .pc-colp__fin-titre { font-family: var(--global-heading-font-family); font-weight: 800; font-size: 28px; line-height: 1.12; letter-spacing: -0.01em; margin: 0; color: #fff; }
.pc-colp__fin-titre .pc-accent { display: block; font-weight: 900; color: var(--pc-red-light); }
.pc-colp__fin-x { margin: 0; font-size: 15px; line-height: 1.55; color: #E6E6E6; }
.pc-colp__fin-btn { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 12px 18px; border-radius: 8px; background: var(--pc-red); font-size: 14px; font-weight: 600; color: #fff; transition: background-color 0.15s ease; }
a.pc-colp__fin:hover .pc-colp__fin-btn { background: var(--pc-red-dark); }

@media (max-width: 1100px) {
	.pc-colp__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.pc-colp__grille { grid-template-columns: minmax(0, 1fr); }
	.pc-colp__fin { min-height: 300px; }
}
@media (prefers-reduced-motion: reduce) {
	.pc-colp__carte, .pc-colp__img, .pc-colp__fin, .pc-colp__lien { transition: none; }
	a.pc-colp__carte:hover, a.pc-colp__fin:hover, a.pc-colp__carte:hover .pc-colp__img { transform: none; }
}
