/* Adaptation WordPress — aucune logique métier dans cette feuille. */

:root {
	--ldg-paper: #fffaf6;
	--ldg-ink: #38272f;
	--ldg-plum: #744e70;
	--ldg-line: rgba(77, 50, 66, 0.16);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body.admin-bar .site-header { top: 32px; }

.static-arrow { font-size: 18px; line-height: 1; }

.site-footer-static {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 38px;
	min-height: 190px;
	padding: 28px 5vw;
	background: linear-gradient(120deg, #2f232a, #4b3040);
	color: rgba(255, 250, 246, .82);
	align-items: center;
}
.site-footer-static .footer-brand { width: 100px; height: 78px; object-fit: contain; }
.site-footer-static .footer-identity { align-items: flex-start; text-align: left; }
.site-footer-static .footer-actions { display: flex; align-items: center; gap: 28px; }
.site-footer-static .footer-signature img { width: 105px; height: auto; }

/* Les univers restent centrés, carrés et sans recadrage des photographies. */
#universe-gallery {
	max-width: 1200px !important;
	margin: 0 auto !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: 18px !important;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
}
#universe-gallery figure {
	flex: 0 1 calc((100% - 36px) / 3) !important;
	width: calc((100% - 36px) / 3) !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	grid-column: auto !important;
	grid-row: auto !important;
	margin: 0 !important;
	background: linear-gradient(145deg, #eee5e5, #ded0d7) !important;
}
#universe-gallery figure img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
	filter: none !important;
}
#universe-gallery > p { flex: 0 0 100% !important; width: 100% !important; }
#universe-gallery.single-photo-gallery figure {
	flex-basis: 560px !important;
	width: min(100%, 560px) !important;
	max-width: 560px !important;
}
#universe-gallery.family-gallery,
#universe-gallery.nature-gallery { max-width: 820px !important; }
#universe-gallery.family-gallery figure,
#universe-gallery.nature-gallery figure {
	flex-basis: calc((100% - 18px) / 2) !important;
	width: calc((100% - 18px) / 2) !important;
}

/* Formulaire Contact Form 7 intégré au dessin existant. */
.contact-card .wpcf7 { margin-top: 26px; }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form-grid .contact-wide { grid-column: 1 / -1; }
.contact-form-grid label {
	display: grid;
	gap: 7px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ldg-plum);
}
.contact-form-grid .contact-field { min-width: 0; }
.contact-form-grid .contact-field p,
.contact-form-grid > .contact-wide > p { margin: 0; }
.contact-form-grid input,
.contact-form-grid textarea {
	width: 100%;
	border: 1px solid var(--ldg-line);
	background: rgba(255, 255, 255, .72);
	color: var(--ldg-ink);
	font: inherit;
	font-size: 14px;
	line-height: 1.5;
	padding: 12px 14px;
	border-radius: 0;
}
.contact-form-grid textarea { min-height: 132px; resize: vertical; }
.contact-form-grid input:focus,
.contact-form-grid textarea:focus { outline: 2px solid rgba(116, 78, 112, .23); border-color: var(--ldg-plum); }
.contact-card .wpcf7-submit { border: 0; cursor: pointer; }
.contact-card .wpcf7-spinner { vertical-align: middle; }
.contact-card .wpcf7-response-output { margin: 18px 0 0 !important; padding: 12px 14px !important; font-size: 13px; }
.contact-card .wpcf7-not-valid-tip { font-size: 12px; text-transform: none; letter-spacing: 0; }
.contact-fallback { margin-top: 24px; }

/* Pages WordPress et pages Sunshine : enveloppe visuelle du site, moteur intact. */
.wp-content-page { min-height: 70vh; padding: 86px 7vw 100px; background: #f7efed; }
.wp-document { max-width: 1180px; margin: 0 auto; }
.wp-document-header { margin-bottom: 42px; }
.wp-document-header h1 { max-width: 850px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(48px, 8vw, 92px); font-weight: 400; line-height: .93; color: var(--ldg-ink); }
.wp-document-content { min-height: 160px; }
.wp-document-content a { color: var(--ldg-plum); }
.wp-document-content img { max-width: 100%; height: auto; }
.wp-document-content input,
.wp-document-content select,
.wp-document-content textarea { max-width: 100%; }

/* Sunshine reste maître de ses composants. On harmonise seulement la surface. */
#sunshine, .sunshine-main, .sunshine-content { color: var(--ldg-ink); }
#sunshine button, #sunshine input[type='submit'], #sunshine .button {
	border-radius: 0;
	font-family: inherit;
}

@media (max-width: 900px) {
	body.admin-bar .site-header { top: 46px; }
	.site-footer-static { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.site-footer-static .footer-identity { align-items: center; text-align: center; }
	.site-footer-static .footer-actions { flex-direction: column; }
	#universe-gallery figure { flex-basis: calc((100% - 18px) / 2) !important; width: calc((100% - 18px) / 2) !important; }
}

@media (max-width: 600px) {
	.contact-form-grid { grid-template-columns: 1fr; }
	.contact-form-grid .contact-wide { grid-column: auto; }
	#universe-gallery figure,
	#universe-gallery.family-gallery figure,
	#universe-gallery.nature-gallery figure,
	#universe-gallery.single-photo-gallery figure {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 520px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
