/* Le Clos Masure Simon : styles complémentaires (les couleurs et polices sont dans theme.json) */

/* ---------- En-tête ---------- */
.site-entete {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--wp--preset--color--bordure);
}
body.admin-bar .site-entete { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-entete { top: 46px; } }
.site-entete .logo-entete img { display: block; height: 46px; width: auto; }
@media (max-width: 600px) {
	.site-entete .logo-entete img { height: 34px; }
	.site-entete .bouton-entete { display: none; }
}
.site-entete .wp-block-navigation a { color: var(--wp--preset--color--encre); text-decoration: none; }
.site-entete .wp-block-navigation a:hover { color: var(--wp--preset--color--brique); }
.site-entete .wp-block-button__link { padding: .75rem 1.4rem; font-size: 1rem; }

/* ---------- Sections ---------- */
.section { padding-top: clamp(4rem, 9vw, 7.5rem); padding-bottom: clamp(4rem, 9vw, 7.5rem); }
.section-serree { padding-top: clamp(2.5rem, 5vw, 3.5rem); padding-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.surtitre {
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brique);
	margin-bottom: .25rem;
}
.section-sombre .surtitre, .hero .surtitre { color: var(--wp--preset--color--rose); }
.texte-doux { color: #3E3B33; font-size: 1.125rem; }
.citation-maison {
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: italic;
	font-size: 1.6rem;
	line-height: 1.35;
}

/* Sections sombres */
.section-sombre, .section-sombre h1, .section-sombre h2, .section-sombre h3 { color: var(--wp--preset--color--creme); }
.section-sombre p, .section-sombre li { color: #DDD5C5; }
.section-sombre a:not(.wp-block-button__link) { color: var(--wp--preset--color--rose); }
.section-sombre .wp-block-button__link { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--foret); }
.section-sombre .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--foret); }

/* ---------- Bannière d'accueil (bloc Couverture) ---------- */
.hero h1, .hero h2, .hero p { color: var(--wp--preset--color--creme); }
.hero p { color: #EDE6D8; max-width: 38rem; }
.hero .wp-block-cover__inner-container { max-width: 52rem; margin-left: 0; }
.hero.wp-block-cover { padding-bottom: clamp(3rem, 7vw, 6rem); }
.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--encre);
}
.hero .is-style-outline .wp-block-button__link,
.section-sombre .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--creme); background: transparent; }

/* ---------- Chiffres clés ---------- */
.chiffre {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: clamp(2.5rem, 4vw, 3.25rem);
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--brique);
	margin-bottom: .35rem;
}
.chiffre + p { margin-top: 0; color: var(--wp--preset--color--pierre); }

/* ---------- Cartes ---------- */
.carte {
	background: var(--wp--preset--color--creme);
	border: 1px solid var(--wp--preset--color--bordure);
	border-radius: 14px;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}
.carte h3 { margin-top: 0; }
.wp-block-image img, .wp-block-cover:not(.alignfull) { border-radius: 14px; }

/* Emplacements photo en attente : visibles tant qu'aucune image n'est choisie */
.photo-a-ajouter:has(img:not([src])),
.photo-a-ajouter:has(img[src=""]) {
	background: #D8CDB9;
	border-radius: 14px;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: flex-end;
	padding: 1rem;
	box-sizing: border-box;
}
.photo-a-ajouter:has(img:not([src])) img,
.photo-a-ajouter:has(img[src=""]) img { display: none; }
.photo-a-ajouter:has(img:not([src])) figcaption,
.photo-a-ajouter:has(img[src=""]) figcaption {
	margin: 0;
	background: rgba(255, 253, 248, .85);
	padding: .35rem .7rem;
	border-radius: 6px;
	font-size: .85rem;
	color: #4A463D;
}
.photo-haute.photo-a-ajouter { aspect-ratio: 4 / 5; }
.wp-block-gallery .photo-a-ajouter { aspect-ratio: 1; }

/* ---------- Listes ---------- */
.liste-equipements { padding-left: 1.1rem; }
.liste-equipements li { margin-bottom: .45rem; }

/* ---------- Carte Google ---------- */
.carte-acces iframe { width: 100%; height: 360px; border: 0; border-radius: 14px; display: block; }

/* ---------- Formulaire de contact ---------- */
.clos-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; background: var(--wp--preset--color--creme); border-radius: 18px; padding: clamp(1.25rem, 4vw, 3rem); }
.clos-form .champ { display: flex; flex-direction: column; gap: .45rem; font-size: .95rem; font-weight: 500; }
.clos-form .champ-large, .clos-form .consentement, .clos-form .actions, .clos-form .message-retour { grid-column: 1 / -1; }
.clos-form input[type="text"], .clos-form input[type="email"], .clos-form input[type="tel"], .clos-form select, .clos-form textarea {
	font: inherit;
	font-size: 1rem;
	padding: .85rem 1rem;
	border: 1px solid #CFC4B0;
	border-radius: 10px;
	background: #FFFDF8;
	color: var(--wp--preset--color--encre);
	min-height: 50px;
	box-sizing: border-box;
	width: 100%;
}
.clos-form textarea { min-height: 140px; resize: vertical; }
.clos-form input:focus, .clos-form select:focus, .clos-form textarea:focus { outline: 2px solid var(--wp--preset--color--brique); outline-offset: 1px; }
.clos-form .consentement { display: flex; gap: .75rem; align-items: flex-start; font-size: .9rem; font-weight: 400; line-height: 1.5; }
.clos-form .consentement input { width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--wp--preset--color--brique); }
.clos-form button {
	width: 100%;
	min-height: 56px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--brique);
	color: var(--wp--preset--color--creme);
	font: inherit;
	font-weight: 700;
	font-size: 1.0625rem;
	cursor: pointer;
}
.clos-form button:hover { background: var(--wp--preset--color--brique-fonce); }
.clos-form .petit { text-align: center; font-size: .875rem; color: var(--wp--preset--color--pierre); margin: .5rem 0 0; }
.clos-form .piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.message-retour { padding: 1rem 1.25rem; border-radius: 10px; font-weight: 500; }
.message-retour.ok { background: #E4EADB; color: #2F3D22; }
.message-retour.erreur { background: #F4DDD3; color: #6E2F19; }
@media (max-width: 700px) { .clos-form { grid-template-columns: 1fr; } }

/* ---------- Pied de page ---------- */
.site-pied a { color: #DDD5C5; text-decoration: none; }
.site-pied a:hover { color: #fff; text-decoration: underline; }
.site-pied p { color: #DDD5C5; margin: 0; }
.site-pied .logo-pied img { height: 120px; width: auto; display: block; }

/* Lien d'évitement pour l'accessibilité */
.skip-link:focus { background: #fff; color: #000; }

/* Une fois la photo choisie, l'indication disparaît */
.photo-a-ajouter:has(img[src]:not([src=""])) figcaption { display: none; }

/* Pas d'espace entre en-tête, contenu et pied de page */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull:first-child { margin-block-start: 0; }
.wp-block-post-content > .alignfull:last-child { margin-block-end: 0; }

/* Menu « burger » jusqu'à 1024 px (au lieu de 600 px par défaut) */
@media (max-width: 1023px) {
	.site-entete .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.site-entete .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.site-entete .bouton-entete { display: none; }
	.site-entete .logo-entete img { height: 38px; }
}
.site-entete .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; }
.site-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; font-size: 1.35rem; }
@media (min-width: 1024px) { .site-entete .lien-contact-mobile { display: none; } }
.site-pied .surtitre { color: var(--wp--preset--color--rose); }

/* Visionneuse photo */
.wp-block-post-content .wp-block-image img[role="button"] { cursor: zoom-in; transition: opacity .2s; }
.wp-block-post-content .wp-block-image img[role="button"]:hover { opacity: .9; }
.wp-block-post-content .wp-block-image img[role="button"]:focus-visible { outline: 3px solid var(--wp--preset--color--brique); outline-offset: 3px; }
html.cv-ouverte { overflow: hidden; }
.clos-visionneuse { position: fixed; inset: 0; z-index: 100000; background: rgba(30, 31, 26, .96); display: flex; align-items: center; justify-content: center; }
.clos-visionneuse[hidden] { display: none; }
.clos-visionneuse figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: .75rem; max-width: calc(100vw - 9rem); }
.clos-visionneuse img { max-width: 100%; max-height: calc(100vh - 6rem); object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,.4); }
.clos-visionneuse figcaption { color: #DDD5C5; font-size: .9rem; letter-spacing: .08em; }
.clos-visionneuse button { position: absolute; background: rgba(255, 253, 248, .12); color: #FFFDF8; border: 0; border-radius: 999px; width: 52px; height: 52px; font-size: 2.2rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 0 4px; }
.clos-visionneuse button:hover, .clos-visionneuse button:focus-visible { background: rgba(255, 253, 248, .28); outline: none; }
.clos-visionneuse button[hidden] { display: none; }
.clos-visionneuse .cv-fermer { top: 1rem; right: 1rem; font-size: 2rem; }
.clos-visionneuse .cv-prec { left: 1rem; top: 50%; transform: translateY(-50%); }
.clos-visionneuse .cv-suiv { right: 1rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 700px) {
	.clos-visionneuse figure { max-width: 100vw; }
	.clos-visionneuse img { border-radius: 0; }
	.clos-visionneuse .cv-prec, .clos-visionneuse .cv-suiv { top: auto; bottom: 1rem; transform: none; }
}

/* Logo principal sur ordinateur, logo horizontal sur tablette et mobile */
.site-entete .logos-entete { gap: 0; }
.site-entete .logos-entete figure { margin: 0; }
.site-entete .logo-entete.logo-ordi img { height: 84px; transition: height .25s ease; }
.site-entete .logo-entete.logo-mobile { display: none; }
html.entete-reduite .site-entete .logo-entete.logo-ordi img { height: 54px; }
@media (max-width: 1023px) {
	.site-entete .logo-entete.logo-ordi { display: none; }
	.site-entete .logo-entete.logo-mobile { display: block; }
}
