/* ==========================================================
   Page d'accueil La Parenthèse : style « bento » tons naturels
   Chargée uniquement sur la page d'accueil (et dans l'éditeur).
   Tout est rangé sous .lp-home pour ne toucher aucune autre page.
   ========================================================== */

.lp-home {
	--lp-bg: #f3eee4;
	--lp-cream: #fbf8f2;
	--lp-sand: #e7dfcf;
	--lp-white: #ffffff;
	--lp-olive: #4e5941;
	--lp-olive-clair: #6b7757;
	--lp-lime: #d6d98c;
	--lp-rose: #efd9d5;
	--lp-ink: #232a36;
	--lp-texte: #3b404a;
	--lp-doux: #6a6f78;
	--lp-ligne: rgba(35, 42, 54, 0.12);
	--lp-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--lp-rayon: 28px;
	--lp-largeur: 1180px;

	background: var(--lp-bg);
	color: var(--lp-texte);
	font-size: 17px;
	line-height: 1.6;
	padding: 24px 0 64px;
	margin: 0;
}

/* --- GeneratePress : pas de marges autour de la page d'accueil --- */
.lp-accueil .site-content,
.lp-accueil .inside-article,
.lp-accueil .entry-content {
	padding: 0 !important;
	margin: 0 !important;
}
.lp-accueil.separate-containers .site-main {
	margin: 0;
}
.lp-accueil .site-content > .content-area {
	width: 100%;
}
.lp-accueil .site.grid-container,
.lp-accueil .site-content.grid-container {
	max-width: none;
}
.lp-accueil .inside-article {
	background: transparent;
}

/* --- Sections --- */
.lp-home .lp-section {
	max-width: var(--lp-largeur);
	margin: 0 auto;
	padding: 48px 16px;
	scroll-margin-top: 24px;
}
.lp-home .lp-section > * + * {
	margin-top: 0;
}

/* --- Neutralise les styles globaux h2/h3 du thème --- */
.lp-home h1,
.lp-home h2,
.lp-home h3 {
	margin: 0 0 16px;
	padding: 0;
	color: var(--lp-ink);
	letter-spacing: -0.01em;
}
.lp-home h2::after {
	content: none;
	display: none;
}
.lp-home p {
	margin: 0 0 12px;
}
.lp-home p:last-child {
	margin-bottom: 0;
}
.lp-home a {
	color: inherit;
}

/* --- Typographie --- */
.lp-home .lp-eyebrow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lp-doux);
	margin-bottom: 14px;
}
.lp-home .lp-display {
	font-family: var(--lp-serif);
	font-weight: 300;
	font-size: clamp(2.3rem, 5.2vw, 4.2rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin-bottom: 20px;
}
.lp-home .lp-titre {
	font-family: var(--lp-serif);
	font-weight: 300;
	font-size: clamp(1.9rem, 3.6vw, 2.9rem);
	line-height: 1.1;
	margin-bottom: 28px;
	max-width: 22ch;
}
.lp-home .lp-mois {
	font-family: var(--lp-serif);
	font-weight: 400;
	font-size: 1.5rem;
	margin: 32px 0 14px;
}
.lp-home .lp-lead {
	font-size: 1.15rem;
	line-height: 1.55;
	max-width: 46ch;
}
.lp-home .lp-note {
	font-size: 0.9rem;
	color: var(--lp-doux);
}
.lp-home .lp-centre {
	text-align: center;
	margin-top: 28px;
}
.lp-home .lp-bignum {
	font-family: var(--lp-serif);
	font-weight: 300;
	font-size: clamp(3rem, 6vw, 4.6rem);
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--lp-ink);
	margin: 6px 0 16px;
}
.lp-home .lp-icone {
	font-size: 1.8rem;
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	border: 1px solid var(--lp-ligne);
	border-radius: 50%;
	margin-bottom: 18px;
}
.lp-home .lp-inclus h3 {
	font-size: 1.15rem;
	font-weight: 600;
	margin-bottom: 8px;
}
.lp-home .lp-signature {
	font-family: var(--lp-serif);
	font-style: italic;
	font-size: 1.4rem;
	text-align: right;
}

/* --- Grilles bento --- */
.lp-home .lp-bento.wp-block-columns {
	gap: 16px;
	margin: 0 0 16px;
	align-items: stretch;
}
.lp-home .lp-bento.are-vertically-aligned-center {
	align-items: center;
}
.lp-home .lp-card {
	border-radius: var(--lp-rayon);
	padding: 32px;
	margin: 0;
}
.lp-home .lp-card--cream { background: var(--lp-cream); }
.lp-home .lp-card--sand  { background: var(--lp-sand); }
.lp-home .lp-card--white { background: var(--lp-white); }
.lp-home .lp-card--rose  { background: var(--lp-rose); }
.lp-home .lp-card--olive,
.lp-home .lp-card--ink {
	background: var(--lp-olive);
	color: #eef0e6;
}
.lp-home .lp-card--ink {
	background: var(--lp-ink);
	padding: 40px;
}
.lp-home .lp-card--olive h1,
.lp-home .lp-card--olive h2,
.lp-home .lp-card--olive h3,
.lp-home .lp-card--olive .lp-bignum,
.lp-home .lp-card--ink h2 {
	color: var(--lp-cream);
}
.lp-home .lp-card--olive .lp-eyebrow,
.lp-home .lp-card--ink .lp-eyebrow {
	color: var(--lp-lime);
}

/* --- Hero --- */
.lp-home .lp-hero {
	padding-top: 16px;
}
.lp-home .lp-hero__texte {
	padding: 48px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.lp-home .lp-hero__cote {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.lp-home .lp-card--photo {
	padding: 0;
	overflow: hidden;
	flex: 1 1 auto;
	min-height: 260px;
}
.lp-home .lp-card--photo img,
.lp-home .lp-galerie img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.lp-home .lp-prochaine__date {
	font-family: var(--lp-serif);
	font-weight: 300;
	font-size: 2rem;
	line-height: 1.1;
	color: var(--lp-cream);
	margin-bottom: 6px;
}

/* --- Boutons --- */
.lp-home .lp-actions {
	gap: 10px;
	margin-top: 24px;
}
.lp-home .lp-btn .wp-block-button__link,
.lp-home .lp-session__bouton {
	display: inline-block;
	background: var(--lp-ink);
	color: var(--lp-cream);
	border: 1px solid var(--lp-ink);
	border-radius: 999px;
	padding: 14px 26px;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 0.15s ease, background-color 0.15s ease;
}
.lp-home .lp-btn .wp-block-button__link:hover,
.lp-home .lp-session__bouton:hover {
	transform: translateY(-1px);
	background: #000;
	color: #fff;
}
.lp-home .lp-btn--ghost .wp-block-button__link {
	background: transparent;
	color: var(--lp-ink);
}
.lp-home .lp-btn--ghost .wp-block-button__link:hover {
	background: var(--lp-ink);
	color: var(--lp-cream);
}
.lp-home .lp-btn--light .wp-block-button__link {
	background: var(--lp-cream);
	color: var(--lp-olive);
	border-color: var(--lp-cream);
}
.lp-home .lp-btn--ghost-light .wp-block-button__link {
	background: transparent;
	color: var(--lp-cream);
	border-color: rgba(251, 248, 242, 0.6);
}
.lp-home .lp-btn--light .wp-block-button__link:hover,
.lp-home .lp-btn--ghost-light .wp-block-button__link:hover {
	background: var(--lp-lime);
	border-color: var(--lp-lime);
	color: var(--lp-ink);
}

/* --- Grille des journées --- */
.lp-home .lp-grille-dates {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 12px;
	margin-bottom: 8px;
}
.lp-home .lp-jour {
	display: flex;
	flex-direction: column;
	padding: 22px;
	border-radius: 22px;
}
.lp-home .lp-jour .lp-eyebrow {
	margin-bottom: 4px;
}
.lp-home .lp-jour .lp-session {
	padding-top: 14px;
}
.lp-home .lp-jour .lp-session__bouton {
	padding: 11px 18px;
}

/* --- Sessions et places restantes --- */
.lp-home .lp-sessions .lp-card {
	display: flex;
	flex-direction: column;
}
.lp-home .lp-session__date {
	font-family: var(--lp-serif);
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.15;
	color: var(--lp-ink);
	margin-bottom: 4px;
}
.lp-home .lp-card--olive .lp-session__date {
	color: var(--lp-cream);
}
.lp-home .lp-session__detail {
	font-size: 0.95rem;
	opacity: 0.8;
}
.lp-home .lp-session {
	margin-top: auto;
	padding-top: 20px;
}
.lp-home .lp-places {
	display: block;
	margin-bottom: 16px;
}
.lp-home .lp-places__barre {
	display: block;
	height: 8px;
	border-radius: 999px;
	background: rgba(35, 42, 54, 0.1);
	overflow: hidden;
	margin-bottom: 8px;
}
.lp-home .lp-places__barre > span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: var(--lp-olive-clair);
}
.lp-home .lp-places__texte {
	font-size: 0.9rem;
	font-weight: 600;
}
.lp-home .lp-card--olive .lp-places__barre {
	background: rgba(255, 255, 255, 0.18);
}
.lp-home .lp-card--olive .lp-places__barre > span {
	background: var(--lp-lime);
}
.lp-home .lp-card--olive .lp-session__bouton {
	background: var(--lp-cream);
	color: var(--lp-olive);
	border-color: var(--lp-cream);
}
.lp-home .lp-card--olive .lp-session__bouton:hover {
	background: var(--lp-lime);
	border-color: var(--lp-lime);
	color: var(--lp-ink);
}
.lp-home .lp-session__bouton {
	width: 100%;
	text-align: center;
}
.lp-home .lp-session__bouton.is-disabled {
	opacity: 0.45;
	pointer-events: none;
}
.lp-home .lp-session__alerte {
	background: #fff3cd;
	color: #664d03;
	border-radius: 12px;
	padding: 10px 14px;
	font-size: 0.85rem;
}

/* --- Vidéo et carte --- */
.lp-home .lp-card--video,
.lp-home .lp-card--carte {
	padding: 0;
	overflow: hidden;
	background: var(--lp-ink);
}
.lp-home .lp-card--video .vs-video {
	position: relative;
	aspect-ratio: 16 / 9;
}
.lp-home .lp-card--video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.lp-home .lp-carte {
	height: 380px;
	width: 100%;
}

/* --- Galerie du gîte --- */
.lp-home .lp-galerie {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 220px;
	gap: 16px;
	margin-bottom: 16px;
}
.lp-home .lp-galerie > .wp-block-image {
	position: relative;
	margin: 0;
	border-radius: var(--lp-rayon);
	overflow: hidden;
	height: 100%;
}
.lp-home .lp-galerie > .lp-galerie__grande {
	grid-column: span 2;
	grid-row: span 2;
}
.lp-home .lp-galerie figcaption {
	position: absolute;
	left: 12px;
	bottom: 12px;
	margin: 0;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(251, 248, 242, 0.92);
	color: var(--lp-ink);
	font-size: 0.85rem;
}

/* --- Listes --- */
.lp-home .lp-liste {
	list-style: none;
	margin: 0;
	padding: 0;
}
.lp-home .lp-liste li {
	padding: 12px 0;
	border-bottom: 1px solid var(--lp-ligne);
}
.lp-home .lp-liste li:last-child {
	border-bottom: 0;
}
.lp-home .lp-chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.lp-home .lp-chips li {
	margin: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--lp-bg);
	font-size: 0.95rem;
}

/* --- Portrait Sandrine --- */
.lp-home .lp-portrait img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	max-width: 320px;
	display: block;
	margin: 0 auto;
}
.lp-home .lp-card--ink p {
	color: #dfe2e8;
}

/* --- FAQ --- */
.lp-home .lp-faq .wp-block-details {
	background: var(--lp-white);
	border-radius: 20px;
	padding: 20px 24px;
	margin: 0 0 10px;
}
.lp-home .lp-faq summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--lp-ink);
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.lp-home .lp-faq summary::-webkit-details-marker {
	display: none;
}
.lp-home .lp-faq summary::after {
	content: "+";
	font-size: 1.4rem;
	line-height: 1;
	color: var(--lp-olive-clair);
}
.lp-home .lp-faq details[open] summary::after {
	content: "–";
}
.lp-home .lp-faq details p {
	margin-top: 12px;
}

/* --- Appel final --- */
.lp-home .lp-final {
	text-align: center;
	padding: 64px 32px;
}
.lp-home .lp-final .lp-lead {
	margin: 0 auto;
}
.lp-home .lp-final .lp-actions {
	justify-content: center;
}
.lp-home .lp-reseaux {
	margin-top: 28px;
	font-size: 0.9rem;
	opacity: 0.85;
}

/* --- Tablette --- */
@media (max-width: 1024px) {
	.lp-home .lp-galerie {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 200px;
	}
}

/* --- Mobile (arrivée depuis Instagram) --- */
@media (max-width: 781px) {
	.lp-home {
		font-size: 16px;
		padding-top: 8px;
	}
	.lp-home .lp-section {
		padding: 32px 16px;
	}
	.lp-home .lp-card,
	.lp-home .lp-hero__texte,
	.lp-home .lp-card--ink {
		padding: 26px 22px;
	}
	.lp-home .lp-card--photo,
	.lp-home .lp-card--video,
	.lp-home .lp-card--carte {
		padding: 0;
	}
	.lp-home .lp-bento.wp-block-columns {
		gap: 12px;
	}
	.lp-home .lp-actions .wp-block-button {
		width: 100%;
	}
	.lp-home .lp-actions .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
	.lp-home .lp-card--photo {
		min-height: 220px;
		max-height: 300px;
	}
	.lp-home .lp-grille-dates {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.lp-home .lp-jour {
		padding: 16px;
	}
	.lp-home .lp-jour .lp-session__date {
		font-size: 1.35rem;
	}
	.lp-home .lp-galerie {
		grid-auto-rows: 160px;
		gap: 12px;
	}
	.lp-home .lp-carte {
		height: 300px;
	}
	.lp-home .lp-final {
		padding: 44px 22px;
	}
}

/* --- Horaires (texte modifiable dans l'éditeur) --- */
.lp-home .lp-horaires {
	display: inline-block;
	margin-top: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.55);
	font-size: 0.9rem;
	font-weight: 600;
}

/* ==========================================================
   Contraste : sur les cartes sombres, tout le texte est clair.
   (le thème impose une couleur sombre aux p, li, a de .entry-content)
   ========================================================== */
.lp-home .lp-card--olive,
.lp-home .lp-card--ink,
.lp-home .lp-card--olive :is(p, li, span, strong, em, h1, h2, h3, h4),
.lp-home .lp-card--ink :is(p, li, span, strong, em, h1, h2, h3, h4) {
	color: #ffffff;
}
.lp-home .lp-card--olive a:not(.wp-block-button__link):not(.lp-session__bouton),
.lp-home .lp-card--ink a:not(.wp-block-button__link):not(.lp-session__bouton) {
	color: #ffffff;
	text-decoration-color: rgba(255, 255, 255, 0.5);
}
.lp-home .lp-card--olive .lp-eyebrow,
.lp-home .lp-card--ink .lp-eyebrow {
	color: var(--lp-lime);
}
.lp-home .lp-card--olive .lp-btn--light .wp-block-button__link {
	color: var(--lp-olive);
}

/* ==========================================================
   Listes de la page : on retire le style « conseils » du thème
   (fond, bordure, puces rondes) et on repart de zéro.
   ========================================================== */
.lp-home ul.wp-block-list {
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
	list-style: none;
}
.lp-home ul.wp-block-list li {
	line-height: 1.4;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--lp-texte);
}
.lp-home ul.wp-block-list li::before,
.lp-home ul.wp-block-list li::marker {
	content: none;
	display: none;
}

/* Points forts du gîte : tuiles blanches, 2 par ligne */
.lp-home ul.wp-block-list.lp-liste {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
.lp-home ul.wp-block-list.lp-liste li {
	background: rgba(255, 255, 255, 0.7);
	border-radius: 18px;
	padding: 16px 18px;
	font-size: 1rem;
	font-weight: 500;
	color: var(--lp-ink);
}

/* Équipements : pastilles */
.lp-home ul.wp-block-list.lp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.lp-home ul.wp-block-list.lp-chips li {
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--lp-bg);
	border: 1px solid var(--lp-ligne);
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--lp-ink);
	white-space: nowrap;
}

@media (max-width: 781px) {
	.lp-home ul.wp-block-list.lp-liste {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================
   Galerie : photo agrandie au clic
   ========================================================== */
.lp-home .lp-galerie img {
	cursor: zoom-in;
	transition: transform 0.3s ease;
}
.lp-home .lp-galerie figure:hover img {
	transform: scale(1.03);
}
.lp-zoom {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 24px;
	background: rgba(20, 22, 18, 0.92);
	cursor: zoom-out;
	animation: lp-zoom-apparait 0.2s ease;
}
.lp-zoom img {
	max-width: 100%;
	max-height: 85vh;
	border-radius: 18px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.lp-zoom p {
	margin: 0;
	color: #ffffff;
	font-size: 1rem;
}
@keyframes lp-zoom-apparait {
	from { opacity: 0; }
	to { opacity: 1; }
}
